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:
authorBenoit Bolsee <benoit.bolsee@online.be>2011-09-07 19:34:04 +0400
committerBenoit Bolsee <benoit.bolsee@online.be>2011-09-07 19:34:04 +0400
commitdbd6658d737b1592a633ddf6397be14e50e434d9 (patch)
tree57081721d70622a3c3141909b258f9bce8a5b1e3 /source/blender
parentb5bd86e5907c3fa98546dabeda9703dfb15862f4 (diff)
parent884fc84793be1c5fdd6643ad267331381f8e1c6b (diff)
svn merge -r 37306:39975 https://svn.blender.org/svnroot/bf-blender/trunk/blender
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/CMakeLists.txt1
-rw-r--r--source/blender/avi/AVI_avi.h9
-rw-r--r--source/blender/avi/CMakeLists.txt1
-rw-r--r--source/blender/avi/SConscript2
-rw-r--r--source/blender/avi/intern/avi.c24
-rw-r--r--source/blender/avi/intern/options.c2
-rw-r--r--source/blender/blenfont/CMakeLists.txt8
-rw-r--r--source/blender/blenfont/intern/blf.c30
-rw-r--r--source/blender/blenfont/intern/blf_font.c9
-rw-r--r--source/blender/blenkernel/BKE_DerivedMesh.h7
-rw-r--r--source/blender/blenkernel/BKE_action.h4
-rw-r--r--source/blender/blenkernel/BKE_anim.h2
-rw-r--r--source/blender/blenkernel/BKE_animsys.h10
-rw-r--r--source/blender/blenkernel/BKE_armature.h2
-rw-r--r--source/blender/blenkernel/BKE_blender.h8
-rw-r--r--source/blender/blenkernel/BKE_constraint.h3
-rw-r--r--source/blender/blenkernel/BKE_curve.h1
-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_fcurve.h2
-rw-r--r--source/blender/blenkernel/BKE_global.h7
-rw-r--r--source/blender/blenkernel/BKE_image.h2
-rw-r--r--source/blender/blenkernel/BKE_library.h3
-rw-r--r--source/blender/blenkernel/BKE_main.h1
-rw-r--r--source/blender/blenkernel/BKE_material.h2
-rw-r--r--source/blender/blenkernel/BKE_modifier.h15
-rw-r--r--source/blender/blenkernel/BKE_nla.h5
-rw-r--r--source/blender/blenkernel/BKE_node.h352
-rw-r--r--source/blender/blenkernel/BKE_particle.h5
-rw-r--r--source/blender/blenkernel/BKE_sequencer.h13
-rw-r--r--source/blender/blenkernel/BKE_sound.h51
-rw-r--r--source/blender/blenkernel/BKE_speaker.h (renamed from source/blender/blenlib/intern/BLI_callbacks.h)25
-rw-r--r--source/blender/blenkernel/CMakeLists.txt69
-rw-r--r--source/blender/blenkernel/SConscript3
-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/DerivedMesh.c13
-rw-r--r--source/blender/blenkernel/intern/action.c99
-rw-r--r--source/blender/blenkernel/intern/anim.c43
-rw-r--r--source/blender/blenkernel/intern/anim_sys.c112
-rw-r--r--source/blender/blenkernel/intern/armature.c10
-rw-r--r--source/blender/blenkernel/intern/blender.c53
-rw-r--r--source/blender/blenkernel/intern/boids.c6
-rw-r--r--source/blender/blenkernel/intern/brush.c2
-rw-r--r--source/blender/blenkernel/intern/bvhutils.c4
-rw-r--r--source/blender/blenkernel/intern/cdderivedmesh.c153
-rw-r--r--source/blender/blenkernel/intern/cloth.c2
-rw-r--r--source/blender/blenkernel/intern/collision.c6
-rw-r--r--source/blender/blenkernel/intern/constraint.c93
-rw-r--r--source/blender/blenkernel/intern/curve.c131
-rw-r--r--source/blender/blenkernel/intern/customdata.c30
-rw-r--r--source/blender/blenkernel/intern/depsgraph.c45
-rw-r--r--source/blender/blenkernel/intern/displist.c501
-rw-r--r--source/blender/blenkernel/intern/effect.c23
-rw-r--r--source/blender/blenkernel/intern/fcurve.c142
-rw-r--r--source/blender/blenkernel/intern/fmodifier.c94
-rw-r--r--source/blender/blenkernel/intern/gpencil.c2
-rw-r--r--source/blender/blenkernel/intern/idcode.c3
-rw-r--r--source/blender/blenkernel/intern/image.c23
-rw-r--r--source/blender/blenkernel/intern/ipo.c26
-rw-r--r--source/blender/blenkernel/intern/key.c33
-rw-r--r--source/blender/blenkernel/intern/library.c51
-rw-r--r--source/blender/blenkernel/intern/material.c102
-rw-r--r--source/blender/blenkernel/intern/mesh.c4
-rw-r--r--source/blender/blenkernel/intern/mesh_validate.c52
-rw-r--r--source/blender/blenkernel/intern/modifier.c12
-rw-r--r--source/blender/blenkernel/intern/multires.c21
-rw-r--r--source/blender/blenkernel/intern/nla.c88
-rw-r--r--source/blender/blenkernel/intern/node.c3317
-rw-r--r--source/blender/blenkernel/intern/object.c17
-rw-r--r--source/blender/blenkernel/intern/paint.c14
-rw-r--r--source/blender/blenkernel/intern/particle.c86
-rw-r--r--source/blender/blenkernel/intern/particle_system.c146
-rw-r--r--source/blender/blenkernel/intern/pointcache.c38
-rw-r--r--source/blender/blenkernel/intern/report.c6
-rw-r--r--source/blender/blenkernel/intern/sca.c1
-rw-r--r--source/blender/blenkernel/intern/scene.c26
-rw-r--r--source/blender/blenkernel/intern/seqeffects.c15
-rw-r--r--source/blender/blenkernel/intern/sequencer.c418
-rw-r--r--source/blender/blenkernel/intern/smoke.c17
-rw-r--r--source/blender/blenkernel/intern/softbody.c82
-rw-r--r--source/blender/blenkernel/intern/sound.c514
-rw-r--r--source/blender/blenkernel/intern/speaker.c139
-rw-r--r--source/blender/blenkernel/intern/subsurf_ccg.c16
-rw-r--r--source/blender/blenkernel/intern/text.c10
-rw-r--r--source/blender/blenkernel/intern/texture.c40
-rw-r--r--source/blender/blenkernel/intern/unit.c13
-rw-r--r--source/blender/blenkernel/intern/writeavi.c7
-rw-r--r--source/blender/blenkernel/intern/writeffmpeg.c55
-rw-r--r--source/blender/blenkernel/intern/writeframeserver.c2
-rw-r--r--source/blender/blenlib/BLI_callbacks.h73
-rw-r--r--source/blender/blenlib/BLI_ghash.h141
-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.h5
-rw-r--r--source/blender/blenlib/BLI_math_inline.h2
-rw-r--r--source/blender/blenlib/BLI_math_matrix.h3
-rw-r--r--source/blender/blenlib/BLI_math_rotation.h3
-rw-r--r--source/blender/blenlib/BLI_math_vector.h5
-rw-r--r--source/blender/blenlib/BLI_string.h2
-rw-r--r--source/blender/blenlib/BLI_utildefines.h10
-rw-r--r--source/blender/blenlib/BLI_winstuff.h9
-rw-r--r--source/blender/blenlib/CMakeLists.txt9
-rw-r--r--source/blender/blenlib/intern/BLI_args.c6
-rw-r--r--source/blender/blenlib/intern/BLI_ghash.c94
-rw-r--r--source/blender/blenlib/intern/BLI_kdopbvh.c8
-rw-r--r--source/blender/blenlib/intern/BLI_kdtree.c4
-rw-r--r--source/blender/blenlib/intern/callbacks.c70
-rw-r--r--source/blender/blenlib/intern/fileops.c6
-rw-r--r--source/blender/blenlib/intern/graph.c2
-rw-r--r--source/blender/blenlib/intern/jitter.c74
-rw-r--r--source/blender/blenlib/intern/math_base_inline.c2
-rw-r--r--source/blender/blenlib/intern/math_color.c5
-rw-r--r--source/blender/blenlib/intern/math_geom.c145
-rw-r--r--source/blender/blenlib/intern/math_matrix.c20
-rw-r--r--source/blender/blenlib/intern/math_rotation.c28
-rw-r--r--source/blender/blenlib/intern/math_vector.c8
-rw-r--r--source/blender/blenlib/intern/math_vector_inline.c56
-rw-r--r--source/blender/blenlib/intern/noise.c150
-rw-r--r--source/blender/blenlib/intern/path_util.c37
-rw-r--r--source/blender/blenlib/intern/pbvh.c88
-rw-r--r--source/blender/blenlib/intern/rct.c8
-rw-r--r--source/blender/blenlib/intern/scanfill.c16
-rw-r--r--source/blender/blenlib/intern/storage.c4
-rw-r--r--source/blender/blenlib/intern/string.c45
-rw-r--r--source/blender/blenlib/intern/uvproject.c12
-rw-r--r--source/blender/blenloader/BLO_readfile.h16
-rw-r--r--source/blender/blenloader/BLO_sys_types.h11
-rw-r--r--source/blender/blenloader/CMakeLists.txt5
-rw-r--r--source/blender/blenloader/SConscript2
-rw-r--r--source/blender/blenloader/intern/readblenentry.c2
-rw-r--r--source/blender/blenloader/intern/readfile.c738
-rw-r--r--source/blender/blenloader/intern/writefile.c95
-rw-r--r--source/blender/blenpluginapi/CMakeLists.txt6
-rw-r--r--source/blender/blenpluginapi/SConscript2
-rw-r--r--source/blender/blenpluginapi/iff.h5
-rw-r--r--source/blender/collada/AnimationExporter.cpp1300
-rw-r--r--source/blender/collada/AnimationExporter.h163
-rw-r--r--source/blender/collada/AnimationImporter.cpp930
-rw-r--r--source/blender/collada/AnimationImporter.h84
-rw-r--r--source/blender/collada/ArmatureExporter.cpp32
-rw-r--r--source/blender/collada/ArmatureExporter.h4
-rw-r--r--source/blender/collada/ArmatureImporter.cpp253
-rw-r--r--source/blender/collada/ArmatureImporter.h22
-rw-r--r--source/blender/collada/CMakeLists.txt32
-rw-r--r--source/blender/collada/CameraExporter.cpp25
-rw-r--r--source/blender/collada/CameraExporter.h2
-rw-r--r--source/blender/collada/DocumentExporter.cpp673
-rw-r--r--source/blender/collada/DocumentExporter.h2
-rw-r--r--source/blender/collada/DocumentImporter.cpp104
-rw-r--r--source/blender/collada/DocumentImporter.h9
-rw-r--r--source/blender/collada/EffectExporter.cpp36
-rw-r--r--source/blender/collada/EffectExporter.h2
-rw-r--r--source/blender/collada/ErrorHandler.cpp90
-rw-r--r--source/blender/collada/ErrorHandler.h58
-rw-r--r--source/blender/collada/ExtraHandler.cpp6
-rw-r--r--source/blender/collada/ExtraHandler.h5
-rw-r--r--source/blender/collada/ExtraTags.cpp12
-rw-r--r--source/blender/collada/GeometryExporter.cpp4
-rw-r--r--source/blender/collada/GeometryExporter.h8
-rw-r--r--source/blender/collada/ImageExporter.cpp4
-rw-r--r--source/blender/collada/ImageExporter.h2
-rw-r--r--source/blender/collada/LightExporter.cpp56
-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.cpp85
-rw-r--r--source/blender/collada/MeshImporter.h2
-rw-r--r--source/blender/collada/SConscript2
-rw-r--r--source/blender/collada/SkinInfo.cpp16
-rw-r--r--source/blender/collada/TransformReader.cpp36
-rw-r--r--source/blender/collada/TransformWriter.cpp18
-rw-r--r--source/blender/collada/collada.cpp8
-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.txt2
-rw-r--r--source/blender/editors/animation/anim_channels_defines.c612
-rw-r--r--source/blender/editors/animation/anim_channels_edit.c349
-rw-r--r--source/blender/editors/animation/anim_deps.c4
-rw-r--r--source/blender/editors/animation/anim_draw.c20
-rw-r--r--source/blender/editors/animation/anim_filter.c1998
-rw-r--r--source/blender/editors/animation/anim_intern.h2
-rw-r--r--source/blender/editors/animation/anim_ipo_utils.c12
-rw-r--r--source/blender/editors/animation/anim_markers.c25
-rw-r--r--source/blender/editors/animation/anim_ops.c10
-rw-r--r--source/blender/editors/animation/drivers.c11
-rw-r--r--source/blender/editors/animation/fmodifier_ui.c48
-rw-r--r--source/blender/editors/animation/keyframes_draw.c194
-rw-r--r--source/blender/editors/animation/keyframes_edit.c297
-rw-r--r--source/blender/editors/animation/keyframes_general.c6
-rw-r--r--source/blender/editors/animation/keyframing.c100
-rw-r--r--source/blender/editors/animation/keyingsets.c80
-rw-r--r--source/blender/editors/armature/CMakeLists.txt2
-rw-r--r--source/blender/editors/armature/SConscript2
-rw-r--r--source/blender/editors/armature/armature_intern.h11
-rw-r--r--source/blender/editors/armature/armature_ops.c33
-rw-r--r--source/blender/editors/armature/editarmature.c207
-rw-r--r--source/blender/editors/armature/poseSlide.c47
-rw-r--r--source/blender/editors/armature/poseUtils.c13
-rw-r--r--source/blender/editors/armature/poselib.c63
-rw-r--r--source/blender/editors/armature/poseobject.c687
-rw-r--r--source/blender/editors/curve/CMakeLists.txt2
-rw-r--r--source/blender/editors/curve/editcurve.c21
-rw-r--r--source/blender/editors/curve/editfont.c6
-rw-r--r--source/blender/editors/datafiles/CMakeLists.txt85
-rw-r--r--source/blender/editors/datafiles/blenderbuttons.c13308
-rw-r--r--source/blender/editors/datafiles/preview.blend.c28554
-rw-r--r--source/blender/editors/datafiles/splash.png.c14806
-rw-r--r--source/blender/editors/datafiles/startup.blend.c13311
-rw-r--r--source/blender/editors/gpencil/CMakeLists.txt3
-rw-r--r--source/blender/editors/gpencil/drawgpencil.c4
-rw-r--r--source/blender/editors/gpencil/editaction_gpencil.c89
-rw-r--r--source/blender/editors/gpencil/gpencil_buttons.c2
-rw-r--r--source/blender/editors/gpencil/gpencil_edit.c6
-rw-r--r--source/blender/editors/gpencil/gpencil_intern.h9
-rw-r--r--source/blender/editors/gpencil/gpencil_ops.c5
-rw-r--r--source/blender/editors/gpencil/gpencil_paint.c265
-rw-r--r--source/blender/editors/gpencil/gpencil_undo.c168
-rw-r--r--source/blender/editors/include/BIF_glutil.h2
-rw-r--r--source/blender/editors/include/ED_anim_api.h120
-rw-r--r--source/blender/editors/include/ED_curve.h1
-rw-r--r--source/blender/editors/include/ED_gpencil.h6
-rw-r--r--source/blender/editors/include/ED_keyframes_draw.h2
-rw-r--r--source/blender/editors/include/ED_keyframes_edit.h7
-rw-r--r--source/blender/editors/include/ED_keyframing.h12
-rw-r--r--source/blender/editors/include/ED_markers.h6
-rw-r--r--source/blender/editors/include/ED_node.h12
-rw-r--r--source/blender/editors/include/ED_object.h2
-rw-r--r--source/blender/editors/include/ED_sequencer.h4
-rw-r--r--source/blender/editors/include/ED_transform.h1
-rw-r--r--source/blender/editors/include/ED_view3d.h5
-rw-r--r--source/blender/editors/include/UI_icons.h21
-rw-r--r--source/blender/editors/include/UI_interface.h10
-rw-r--r--source/blender/editors/include/UI_resources.h8
-rw-r--r--source/blender/editors/interface/CMakeLists.txt2
-rw-r--r--source/blender/editors/interface/interface.c611
-rw-r--r--source/blender/editors/interface/interface_anim.c101
-rw-r--r--source/blender/editors/interface/interface_draw.c90
-rw-r--r--source/blender/editors/interface/interface_handlers.c87
-rw-r--r--source/blender/editors/interface/interface_icons.c6
-rw-r--r--source/blender/editors/interface/interface_intern.h10
-rw-r--r--source/blender/editors/interface/interface_layout.c149
-rw-r--r--source/blender/editors/interface/interface_panel.c4
-rw-r--r--source/blender/editors/interface/interface_regions.c69
-rw-r--r--source/blender/editors/interface/interface_style.c12
-rw-r--r--source/blender/editors/interface/interface_templates.c175
-rw-r--r--source/blender/editors/interface/interface_utils.c45
-rw-r--r--source/blender/editors/interface/interface_widgets.c88
-rw-r--r--source/blender/editors/interface/resources.c74
-rw-r--r--source/blender/editors/interface/view2d.c2
-rw-r--r--source/blender/editors/mesh/CMakeLists.txt4
-rw-r--r--source/blender/editors/mesh/SConscript2
-rw-r--r--source/blender/editors/mesh/editmesh.c7
-rw-r--r--source/blender/editors/mesh/editmesh_lib.c9
-rw-r--r--source/blender/editors/mesh/editmesh_loop.c9
-rw-r--r--source/blender/editors/mesh/editmesh_mods.c6
-rw-r--r--source/blender/editors/mesh/editmesh_tools.c4
-rw-r--r--source/blender/editors/mesh/mesh_data.c5
-rw-r--r--source/blender/editors/metaball/CMakeLists.txt2
-rw-r--r--source/blender/editors/object/CMakeLists.txt4
-rw-r--r--source/blender/editors/object/SConscript2
-rw-r--r--source/blender/editors/object/object_add.c109
-rw-r--r--source/blender/editors/object/object_bake.c46
-rw-r--r--source/blender/editors/object/object_constraint.c12
-rw-r--r--source/blender/editors/object/object_edit.c137
-rw-r--r--source/blender/editors/object/object_hook.c30
-rw-r--r--source/blender/editors/object/object_intern.h1
-rw-r--r--source/blender/editors/object/object_modifier.c48
-rw-r--r--source/blender/editors/object/object_ops.c1
-rw-r--r--source/blender/editors/object/object_relations.c43
-rw-r--r--source/blender/editors/object/object_select.c40
-rw-r--r--source/blender/editors/object/object_transform.c15
-rw-r--r--source/blender/editors/physics/CMakeLists.txt2
-rw-r--r--source/blender/editors/physics/SConscript2
-rw-r--r--source/blender/editors/physics/particle_edit.c240
-rw-r--r--source/blender/editors/physics/physics_fluid.c87
-rw-r--r--source/blender/editors/physics/physics_pointcache.c1
-rw-r--r--source/blender/editors/render/CMakeLists.txt12
-rw-r--r--source/blender/editors/render/SConscript2
-rw-r--r--source/blender/editors/render/render_internal.c26
-rw-r--r--source/blender/editors/render/render_opengl.c26
-rw-r--r--source/blender/editors/render/render_preview.c3
-rw-r--r--source/blender/editors/render/render_shading.c81
-rw-r--r--source/blender/editors/render/render_update.c15
-rw-r--r--source/blender/editors/screen/CMakeLists.txt2
-rw-r--r--source/blender/editors/screen/SConscript2
-rw-r--r--source/blender/editors/screen/area.c226
-rw-r--r--source/blender/editors/screen/glutil.c38
-rw-r--r--source/blender/editors/screen/screen_edit.c5
-rw-r--r--source/blender/editors/screen/screen_ops.c60
-rw-r--r--source/blender/editors/sculpt_paint/CMakeLists.txt6
-rw-r--r--source/blender/editors/sculpt_paint/SConscript2
-rw-r--r--source/blender/editors/sculpt_paint/paint_image.c58
-rw-r--r--source/blender/editors/sculpt_paint/paint_stroke.c7
-rw-r--r--source/blender/editors/sculpt_paint/sculpt.c20
-rw-r--r--source/blender/editors/sound/CMakeLists.txt18
-rw-r--r--source/blender/editors/sound/sound_ops.c467
-rw-r--r--source/blender/editors/space_action/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_action/action_draw.c18
-rw-r--r--source/blender/editors/space_action/action_edit.c98
-rw-r--r--source/blender/editors/space_action/action_intern.h2
-rw-r--r--source/blender/editors/space_action/action_ops.c8
-rw-r--r--source/blender/editors/space_action/action_select.c51
-rw-r--r--source/blender/editors/space_action/space_action.c11
-rw-r--r--source/blender/editors/space_api/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_buttons/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_buttons/buttons_context.c18
-rw-r--r--source/blender/editors/space_buttons/buttons_header.c52
-rw-r--r--source/blender/editors/space_buttons/buttons_intern.h1
-rw-r--r--source/blender/editors/space_buttons/buttons_ops.c24
-rw-r--r--source/blender/editors/space_buttons/space_buttons.c2
-rw-r--r--source/blender/editors/space_console/console_draw.c2
-rw-r--r--source/blender/editors/space_console/console_ops.c9
-rw-r--r--source/blender/editors/space_console/space_console.c7
-rw-r--r--source/blender/editors/space_file/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_file/SConscript2
-rw-r--r--source/blender/editors/space_file/file_draw.c24
-rw-r--r--source/blender/editors/space_file/file_ops.c83
-rw-r--r--source/blender/editors/space_file/filelist.c27
-rw-r--r--source/blender/editors/space_file/filesel.c22
-rw-r--r--source/blender/editors/space_file/fsmenu.c2
-rw-r--r--source/blender/editors/space_graph/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_graph/graph_buttons.c100
-rw-r--r--source/blender/editors/space_graph/graph_draw.c39
-rw-r--r--source/blender/editors/space_graph/graph_edit.c127
-rw-r--r--source/blender/editors/space_graph/graph_ops.c10
-rw-r--r--source/blender/editors/space_graph/graph_select.c32
-rw-r--r--source/blender/editors/space_graph/graph_utils.c27
-rw-r--r--source/blender/editors/space_graph/space_graph.c18
-rw-r--r--source/blender/editors/space_image/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_image/image_buttons.c35
-rw-r--r--source/blender/editors/space_image/image_intern.h1
-rw-r--r--source/blender/editors/space_image/image_ops.c309
-rw-r--r--source/blender/editors/space_image/space_image.c4
-rw-r--r--source/blender/editors/space_info/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_info/info_ops.c2
-rw-r--r--source/blender/editors/space_info/info_stats.c5
-rw-r--r--source/blender/editors/space_logic/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_logic/logic_ops.c6
-rw-r--r--source/blender/editors/space_logic/logic_window.c60
-rw-r--r--source/blender/editors/space_nla/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_nla/nla_buttons.c86
-rw-r--r--source/blender/editors/space_nla/nla_channels.c18
-rw-r--r--source/blender/editors/space_nla/nla_draw.c287
-rw-r--r--source/blender/editors/space_nla/nla_edit.c289
-rw-r--r--source/blender/editors/space_nla/nla_intern.h6
-rw-r--r--source/blender/editors/space_nla/nla_ops.c17
-rw-r--r--source/blender/editors/space_nla/nla_select.c19
-rw-r--r--source/blender/editors/space_nla/space_nla.c2
-rw-r--r--source/blender/editors/space_node/CMakeLists.txt4
-rw-r--r--source/blender/editors/space_node/SConscript2
-rw-r--r--source/blender/editors/space_node/drawnode.c803
-rw-r--r--source/blender/editors/space_node/node_buttons.c6
-rw-r--r--source/blender/editors/space_node/node_draw.c692
-rw-r--r--source/blender/editors/space_node/node_edit.c1117
-rw-r--r--source/blender/editors/space_node/node_header.c196
-rw-r--r--source/blender/editors/space_node/node_intern.h22
-rw-r--r--source/blender/editors/space_node/node_ops.c19
-rw-r--r--source/blender/editors/space_node/node_select.c33
-rw-r--r--source/blender/editors/space_node/node_state.c34
-rw-r--r--source/blender/editors/space_node/space_node.c32
-rw-r--r--source/blender/editors/space_outliner/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_outliner/outliner.c5787
-rw-r--r--source/blender/editors/space_outliner/outliner_draw.c1651
-rw-r--r--source/blender/editors/space_outliner/outliner_edit.c1426
-rw-r--r--source/blender/editors/space_outliner/outliner_intern.h94
-rw-r--r--source/blender/editors/space_outliner/outliner_ops.c8
-rw-r--r--source/blender/editors/space_outliner/outliner_select.c873
-rw-r--r--source/blender/editors/space_outliner/outliner_tools.c1227
-rw-r--r--source/blender/editors/space_outliner/outliner_tree.c1577
-rw-r--r--source/blender/editors/space_outliner/space_outliner.c9
-rw-r--r--source/blender/editors/space_script/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_sequencer/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_sequencer/SConscript3
-rw-r--r--source/blender/editors/space_sequencer/sequencer_add.c97
-rw-r--r--source/blender/editors/space_sequencer/sequencer_draw.c110
-rw-r--r--source/blender/editors/space_sequencer/sequencer_edit.c692
-rw-r--r--source/blender/editors/space_sequencer/sequencer_intern.h9
-rw-r--r--source/blender/editors/space_sequencer/sequencer_ops.c10
-rw-r--r--source/blender/editors/space_sequencer/sequencer_select.c4
-rw-r--r--source/blender/editors/space_sequencer/space_sequencer.c140
-rw-r--r--source/blender/editors/space_sound/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_text/CMakeLists.txt10
-rw-r--r--source/blender/editors/space_text/space_text.c7
-rw-r--r--source/blender/editors/space_text/text_draw.c28
-rw-r--r--source/blender/editors/space_text/text_intern.h1
-rw-r--r--source/blender/editors/space_text/text_ops.c24
-rw-r--r--source/blender/editors/space_text/text_python.c5
-rw-r--r--source/blender/editors/space_time/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_time/space_time.c43
-rw-r--r--source/blender/editors/space_time/time_intern.h2
-rw-r--r--source/blender/editors/space_time/time_ops.c2
-rw-r--r--source/blender/editors/space_userpref/CMakeLists.txt2
-rw-r--r--source/blender/editors/space_view3d/CMakeLists.txt8
-rw-r--r--source/blender/editors/space_view3d/drawanimviz.c14
-rw-r--r--source/blender/editors/space_view3d/drawarmature.c149
-rw-r--r--source/blender/editors/space_view3d/drawmesh.c143
-rw-r--r--source/blender/editors/space_view3d/drawobject.c289
-rw-r--r--source/blender/editors/space_view3d/space_view3d.c11
-rw-r--r--source/blender/editors/space_view3d/view3d_buttons.c8
-rw-r--r--source/blender/editors/space_view3d/view3d_draw.c149
-rw-r--r--source/blender/editors/space_view3d/view3d_edit.c672
-rw-r--r--source/blender/editors/space_view3d/view3d_fly.c480
-rw-r--r--source/blender/editors/space_view3d/view3d_header.c66
-rw-r--r--source/blender/editors/space_view3d/view3d_intern.h17
-rw-r--r--source/blender/editors/space_view3d/view3d_ops.c34
-rw-r--r--source/blender/editors/space_view3d/view3d_select.c67
-rw-r--r--source/blender/editors/space_view3d/view3d_toolbar.c11
-rw-r--r--source/blender/editors/space_view3d/view3d_view.c31
-rw-r--r--source/blender/editors/transform/CMakeLists.txt3
-rw-r--r--source/blender/editors/transform/transform.c199
-rw-r--r--source/blender/editors/transform/transform.h29
-rw-r--r--source/blender/editors/transform/transform_constraints.c8
-rw-r--r--source/blender/editors/transform/transform_conversions.c122
-rw-r--r--source/blender/editors/transform/transform_generics.c932
-rw-r--r--source/blender/editors/transform/transform_manipulator.c63
-rw-r--r--source/blender/editors/transform/transform_ndofinput.c162
-rw-r--r--source/blender/editors/transform/transform_ops.c20
-rw-r--r--source/blender/editors/transform/transform_snap.c32
-rw-r--r--source/blender/editors/util/CMakeLists.txt2
-rw-r--r--source/blender/editors/util/ed_util.c25
-rw-r--r--source/blender/editors/util/undo.c18
-rw-r--r--source/blender/editors/uvedit/CMakeLists.txt2
-rw-r--r--source/blender/editors/uvedit/uvedit_draw.c2
-rw-r--r--source/blender/editors/uvedit/uvedit_ops.c133
-rw-r--r--source/blender/editors/uvedit/uvedit_unwrap_ops.c101
-rw-r--r--source/blender/gpu/CMakeLists.txt6
-rw-r--r--source/blender/gpu/GPU_buffers.h141
-rw-r--r--source/blender/gpu/GPU_draw.h5
-rw-r--r--source/blender/gpu/GPU_extensions.h1
-rw-r--r--source/blender/gpu/SConscript4
-rw-r--r--source/blender/gpu/intern/gpu_buffers.c2215
-rw-r--r--source/blender/gpu/intern/gpu_codegen.c119
-rw-r--r--source/blender/gpu/intern/gpu_draw.c31
-rw-r--r--source/blender/gpu/intern/gpu_extensions.c2
-rw-r--r--source/blender/gpu/intern/gpu_material.c45
-rw-r--r--source/blender/gpu/intern/gpu_shader_material.glsl16
-rw-r--r--source/blender/gpu/intern/gpu_shader_material.glsl.c1650
-rw-r--r--source/blender/ikplugin/CMakeLists.txt4
-rw-r--r--source/blender/imbuf/CMakeLists.txt35
-rw-r--r--source/blender/imbuf/IMB_imbuf.h77
-rw-r--r--source/blender/imbuf/intern/IMB_anim.h24
-rw-r--r--source/blender/imbuf/intern/IMB_indexer.h133
-rw-r--r--source/blender/imbuf/intern/allocimbuf.c13
-rw-r--r--source/blender/imbuf/intern/anim_movie.c568
-rw-r--r--source/blender/imbuf/intern/cineon/CMakeLists.txt2
-rw-r--r--source/blender/imbuf/intern/cineon/cineonlib.c5
-rw-r--r--source/blender/imbuf/intern/cineon/logImageCore.h4
-rw-r--r--source/blender/imbuf/intern/dds/CMakeLists.txt3
-rw-r--r--source/blender/imbuf/intern/dds/DirectDrawSurface.cpp16
-rw-r--r--source/blender/imbuf/intern/divers.c20
-rw-r--r--source/blender/imbuf/intern/filter.c225
-rw-r--r--source/blender/imbuf/intern/indexer.c1142
-rw-r--r--source/blender/imbuf/intern/indexer_dv.c392
-rw-r--r--source/blender/imbuf/intern/openexr/CMakeLists.txt7
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_api.cpp39
-rw-r--r--source/blender/imbuf/intern/openexr/openexr_multi.h4
-rw-r--r--source/blender/imbuf/intern/rectop.c27
-rw-r--r--source/blender/imbuf/intern/thumbs.c4
-rw-r--r--source/blender/imbuf/intern/tiff.c2
-rw-r--r--source/blender/imbuf/intern/util.c11
-rw-r--r--source/blender/imbuf/intern/writeimage.c1
-rw-r--r--source/blender/makesdna/DNA_ID.h1
-rw-r--r--source/blender/makesdna/DNA_action_types.h13
-rw-r--r--source/blender/makesdna/DNA_actuator_types.h6
-rw-r--r--source/blender/makesdna/DNA_anim_types.h34
-rw-r--r--source/blender/makesdna/DNA_armature_types.h15
-rw-r--r--source/blender/makesdna/DNA_constraint_types.h7
-rw-r--r--source/blender/makesdna/DNA_curve_types.h2
-rw-r--r--source/blender/makesdna/DNA_gpencil_types.h2
-rw-r--r--source/blender/makesdna/DNA_image_types.h6
-rw-r--r--source/blender/makesdna/DNA_ipo_types.h2
-rw-r--r--source/blender/makesdna/DNA_material_types.h2
-rw-r--r--source/blender/makesdna/DNA_modifier_types.h5
-rw-r--r--source/blender/makesdna/DNA_nla_types.h2
-rw-r--r--source/blender/makesdna/DNA_node_types.h171
-rw-r--r--source/blender/makesdna/DNA_object_fluidsim.h5
-rw-r--r--source/blender/makesdna/DNA_object_force.h2
-rw-r--r--source/blender/makesdna/DNA_object_types.h11
-rw-r--r--source/blender/makesdna/DNA_particle_types.h5
-rw-r--r--source/blender/makesdna/DNA_scene_types.h44
-rw-r--r--source/blender/makesdna/DNA_sdna_types.h5
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h48
-rw-r--r--source/blender/makesdna/DNA_sound_types.h9
-rw-r--r--source/blender/makesdna/DNA_space_types.h30
-rw-r--r--source/blender/makesdna/DNA_speaker_types.h69
-rw-r--r--source/blender/makesdna/DNA_texture_types.h1
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h51
-rw-r--r--source/blender/makesdna/DNA_view3d_types.h14
-rw-r--r--source/blender/makesdna/DNA_windowmanager_types.h42
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt26
-rw-r--r--source/blender/makesdna/intern/SConscript1
-rw-r--r--source/blender/makesdna/intern/dna_genfile.c42
-rw-r--r--source/blender/makesdna/intern/makesdna.c48
-rw-r--r--source/blender/makesrna/RNA_access.h18
-rw-r--r--source/blender/makesrna/RNA_enum_types.h6
-rw-r--r--source/blender/makesrna/RNA_types.h7
-rw-r--r--source/blender/makesrna/SConscript3
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt21
-rw-r--r--source/blender/makesrna/intern/SConscript8
-rw-r--r--source/blender/makesrna/intern/makesrna.c79
-rw-r--r--source/blender/makesrna/intern/rna_ID.c13
-rw-r--r--source/blender/makesrna/intern/rna_access.c278
-rw-r--r--source/blender/makesrna/intern/rna_action.c21
-rw-r--r--source/blender/makesrna/intern/rna_actuator.c149
-rw-r--r--source/blender/makesrna/intern/rna_animation.c35
-rw-r--r--source/blender/makesrna/intern/rna_animation_api.c35
-rw-r--r--source/blender/makesrna/intern/rna_animviz.c2
-rw-r--r--source/blender/makesrna/intern/rna_armature.c16
-rw-r--r--source/blender/makesrna/intern/rna_camera.c2
-rw-r--r--source/blender/makesrna/intern/rna_cloth.c2
-rw-r--r--source/blender/makesrna/intern/rna_constraint.c37
-rw-r--r--source/blender/makesrna/intern/rna_controller.c15
-rw-r--r--source/blender/makesrna/intern/rna_curve.c24
-rw-r--r--source/blender/makesrna/intern/rna_define.c2
-rw-r--r--source/blender/makesrna/intern/rna_fcurve.c115
-rw-r--r--source/blender/makesrna/intern/rna_fluidsim.c14
-rw-r--r--source/blender/makesrna/intern/rna_gpencil.c2
-rw-r--r--source/blender/makesrna/intern/rna_group.c2
-rw-r--r--source/blender/makesrna/intern/rna_image.c5
-rw-r--r--source/blender/makesrna/intern/rna_internal.h7
-rw-r--r--source/blender/makesrna/intern/rna_internal_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_main.c7
-rw-r--r--source/blender/makesrna/intern/rna_main_api.c58
-rw-r--r--source/blender/makesrna/intern/rna_material.c7
-rw-r--r--source/blender/makesrna/intern/rna_mesh.c24
-rw-r--r--source/blender/makesrna/intern/rna_modifier.c61
-rw-r--r--source/blender/makesrna/intern/rna_nla.c27
-rw-r--r--source/blender/makesrna/intern/rna_nodetree.c444
-rw-r--r--source/blender/makesrna/intern/rna_nodetree_types.h10
-rw-r--r--source/blender/makesrna/intern/rna_object.c55
-rw-r--r--source/blender/makesrna/intern/rna_object_api.c61
-rw-r--r--source/blender/makesrna/intern/rna_object_force.c25
-rw-r--r--source/blender/makesrna/intern/rna_particle.c30
-rw-r--r--source/blender/makesrna/intern/rna_pose.c56
-rw-r--r--source/blender/makesrna/intern/rna_render.c8
-rw-r--r--source/blender/makesrna/intern/rna_rna.c38
-rw-r--r--source/blender/makesrna/intern/rna_scene.c147
-rw-r--r--source/blender/makesrna/intern/rna_scene_api.c7
-rw-r--r--source/blender/makesrna/intern/rna_screen.c5
-rw-r--r--source/blender/makesrna/intern/rna_sensor.c2
-rw-r--r--source/blender/makesrna/intern/rna_sequencer.c178
-rw-r--r--source/blender/makesrna/intern/rna_smoke.c11
-rw-r--r--source/blender/makesrna/intern/rna_sound.c20
-rw-r--r--source/blender/makesrna/intern/rna_space.c82
-rw-r--r--source/blender/makesrna/intern/rna_speaker.c172
-rw-r--r--source/blender/makesrna/intern/rna_texture.c17
-rw-r--r--source/blender/makesrna/intern/rna_texture_api.c126
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c135
-rw-r--r--source/blender/makesrna/intern/rna_wm.c357
-rw-r--r--source/blender/makesrna/intern/rna_wm_api.c185
-rw-r--r--source/blender/makesrna/intern/rna_world.c2
-rw-r--r--source/blender/modifiers/CMakeLists.txt14
-rw-r--r--source/blender/modifiers/SConscript2
-rw-r--r--source/blender/modifiers/intern/MOD_armature.c1
-rw-r--r--source/blender/modifiers/intern/MOD_array.c1
-rw-r--r--source/blender/modifiers/intern/MOD_bevel.c1
-rw-r--r--source/blender/modifiers/intern/MOD_boolean.c1
-rw-r--r--source/blender/modifiers/intern/MOD_build.c3
-rw-r--r--source/blender/modifiers/intern/MOD_cast.c11
-rw-r--r--source/blender/modifiers/intern/MOD_cloth.c16
-rw-r--r--source/blender/modifiers/intern/MOD_collision.c1
-rw-r--r--source/blender/modifiers/intern/MOD_curve.c1
-rw-r--r--source/blender/modifiers/intern/MOD_decimate.c1
-rw-r--r--source/blender/modifiers/intern/MOD_displace.c28
-rw-r--r--source/blender/modifiers/intern/MOD_edgesplit.c1
-rw-r--r--source/blender/modifiers/intern/MOD_explode.c27
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim.c1
-rw-r--r--source/blender/modifiers/intern/MOD_fluidsim_util.c10
-rw-r--r--source/blender/modifiers/intern/MOD_hook.c23
-rw-r--r--source/blender/modifiers/intern/MOD_lattice.c1
-rw-r--r--source/blender/modifiers/intern/MOD_mask.c93
-rw-r--r--source/blender/modifiers/intern/MOD_meshdeform.c8
-rw-r--r--source/blender/modifiers/intern/MOD_mirror.c1
-rw-r--r--source/blender/modifiers/intern/MOD_multires.c1
-rw-r--r--source/blender/modifiers/intern/MOD_none.c1
-rw-r--r--source/blender/modifiers/intern/MOD_particleinstance.c1
-rw-r--r--source/blender/modifiers/intern/MOD_particlesystem.c1
-rw-r--r--source/blender/modifiers/intern/MOD_screw.c5
-rw-r--r--source/blender/modifiers/intern/MOD_shapekey.c3
-rw-r--r--source/blender/modifiers/intern/MOD_shrinkwrap.c1
-rw-r--r--source/blender/modifiers/intern/MOD_simpledeform.c17
-rw-r--r--source/blender/modifiers/intern/MOD_smoke.c6
-rw-r--r--source/blender/modifiers/intern/MOD_smooth.c6
-rw-r--r--source/blender/modifiers/intern/MOD_softbody.c1
-rw-r--r--source/blender/modifiers/intern/MOD_solidify.c37
-rw-r--r--source/blender/modifiers/intern/MOD_subsurf.c2
-rw-r--r--source/blender/modifiers/intern/MOD_surface.c1
-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.c3
-rw-r--r--source/blender/modifiers/intern/MOD_warp.c20
-rw-r--r--source/blender/modifiers/intern/MOD_wave.c15
-rw-r--r--source/blender/nodes/CMakeLists.txt238
-rw-r--r--source/blender/nodes/NOD_composite.h (renamed from source/blender/nodes/CMP_node.h)12
-rw-r--r--source/blender/nodes/NOD_shader.h (renamed from source/blender/nodes/SHD_node.h)12
-rw-r--r--source/blender/nodes/NOD_socket.h90
-rw-r--r--source/blender/nodes/NOD_texture.h (renamed from source/blender/nodes/TEX_node.h)12
-rw-r--r--source/blender/nodes/SConscript10
-rw-r--r--source/blender/nodes/composite/node_composite_tree.c828
-rw-r--r--source/blender/nodes/composite/node_composite_util.c (renamed from source/blender/nodes/intern/CMP_util.c)16
-rw-r--r--source/blender/nodes/composite/node_composite_util.h (renamed from source/blender/nodes/intern/CMP_util.h)7
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_alphaOver.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_bilateralblur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_blur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_blur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_brightness.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_brightness.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_channelMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_chromaMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorSpill.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_colorbalance.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_common.c373
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_composite.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_composite.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_crop.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_crop.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_curves.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_curves.c)48
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_defocus.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_defocus.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_diffMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_dilate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_dilate.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_directionalblur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_displace.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_displace.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_distanceMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_filter.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_filter.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_flip.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_flip.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_gamma.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_gamma.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_glare.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_glare.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_hueSatVal.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_huecorrect.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_idMask.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_idMask.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_image.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_image.c)33
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_invert.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_invert.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lensdist.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c)23
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_levels.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_levels.c)35
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_lummaMatte.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapUV.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mapValue.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_math.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_math.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_mixrgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normal.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_normal.c)34
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_normalize.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_normalize.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_outputFile.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_premulkey.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_rgb.c)27
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_rotate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_rotate.c)21
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_scale.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_scale.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c)40
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_setalpha.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c)18
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_splitViewer.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c)16
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_texture.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_texture.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_tonemap.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c)19
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_translate.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_translate.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_valToRgb.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c)30
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_value.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_value.c)24
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_vecBlur.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c)22
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_viewer.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_viewer.c)20
-rw-r--r--source/blender/nodes/composite/nodes/node_composite_zcombine.c (renamed from source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c)24
-rw-r--r--source/blender/nodes/intern/SHD_util.c214
-rw-r--r--source/blender/nodes/intern/node_common.c983
-rw-r--r--source/blender/nodes/intern/node_common.h66
-rw-r--r--source/blender/nodes/intern/node_exec.c309
-rw-r--r--source/blender/nodes/intern/node_exec.h90
-rw-r--r--source/blender/nodes/intern/node_socket.c433
-rw-r--r--source/blender/nodes/intern/node_util.c18
-rw-r--r--source/blender/nodes/intern/node_util.h13
-rw-r--r--source/blender/nodes/shader/node_shader_tree.c226
-rw-r--r--source/blender/nodes/shader/node_shader_util.c287
-rw-r--r--source/blender/nodes/shader/node_shader_util.h (renamed from source/blender/nodes/intern/SHD_util.h)13
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_camera.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_camera.c)16
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_common.c327
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_curves.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_curves.c)36
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_dynamic.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c)8
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_geom.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_geom.c)28
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_hueSatVal.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c)26
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_invert.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_invert.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mapping.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_mapping.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_material.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_material.c)113
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_math.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_math.c)18
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_mixRgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c)22
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_normal.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_normal.c)34
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_output.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_output.c)16
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_rgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_rgb.c)30
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c)38
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_squeeze.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c)26
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_texture.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_texture.c)20
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_valToRgb.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c)32
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_value.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_value.c)27
-rw-r--r--source/blender/nodes/shader/nodes/node_shader_vectMath.c (renamed from source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c)20
-rw-r--r--source/blender/nodes/texture/node_texture_tree.c251
-rw-r--r--source/blender/nodes/texture/node_texture_util.c (renamed from source/blender/nodes/intern/TEX_util.c)53
-rw-r--r--source/blender/nodes/texture/node_texture_util.h (renamed from source/blender/nodes/intern/TEX_util.h)10
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_at.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_at.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_bricks.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_bricks.c)34
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_checker.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_checker.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_common.c271
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_compose.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_compose.c)25
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_coord.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_coord.c)15
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_curves.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_curves.c)31
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_decompose.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_decompose.c)25
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_distance.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_distance.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_hueSatVal.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c)27
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_image.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_image.c)16
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_invert.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_invert.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_math.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_math.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_mixRgb.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_output.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_output.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_proc.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_proc.c)88
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_rotate.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_rotate.c)23
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_scale.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_scale.c)19
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_texture.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_texture.c)35
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_translate.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_translate.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_valToNor.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c)21
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_valToRgb.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c)30
-rw-r--r--source/blender/nodes/texture/nodes/node_texture_viewer.c (renamed from source/blender/nodes/intern/TEX_nodes/TEX_viewer.c)17
-rw-r--r--source/blender/python/BPY_extern.h2
-rw-r--r--source/blender/python/CMakeLists.txt1
-rw-r--r--source/blender/python/SConscript11
-rw-r--r--source/blender/python/generic/CMakeLists.txt18
-rw-r--r--source/blender/python/generic/IDProp.c327
-rw-r--r--source/blender/python/generic/IDProp.h5
-rw-r--r--source/blender/python/generic/bgl.c521
-rw-r--r--source/blender/python/generic/noise_py_api.c20
-rw-r--r--source/blender/python/generic/py_capi_utils.c149
-rw-r--r--source/blender/python/generic/py_capi_utils.h4
-rw-r--r--source/blender/python/intern/CMakeLists.txt15
-rw-r--r--source/blender/python/intern/bpy.c6
-rw-r--r--source/blender/python/intern/bpy_app.c6
-rw-r--r--source/blender/python/intern/bpy_app_handlers.c171
-rw-r--r--source/blender/python/intern/bpy_app_handlers.h35
-rw-r--r--source/blender/python/intern/bpy_driver.c22
-rw-r--r--source/blender/python/intern/bpy_interface.c61
-rw-r--r--source/blender/python/intern/bpy_intern_string.c58
-rw-r--r--source/blender/python/intern/bpy_intern_string.h37
-rw-r--r--source/blender/python/intern/bpy_library.c3
-rw-r--r--source/blender/python/intern/bpy_operator.c40
-rw-r--r--source/blender/python/intern/bpy_props.c36
-rw-r--r--source/blender/python/intern/bpy_rna.c728
-rw-r--r--source/blender/python/intern/bpy_rna.h18
-rw-r--r--source/blender/python/intern/bpy_rna_anim.c2
-rw-r--r--source/blender/python/intern/bpy_rna_array.c160
-rw-r--r--source/blender/python/intern/bpy_traceback.c11
-rw-r--r--source/blender/python/intern/bpy_util.c60
-rw-r--r--source/blender/python/intern/bpy_util.h1
-rw-r--r--source/blender/python/mathutils/CMakeLists.txt52
-rw-r--r--source/blender/python/mathutils/mathutils.c (renamed from source/blender/python/generic/mathutils.c)69
-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)87
-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)54
-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)316
-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)87
-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)292
-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)763
-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.txt22
-rw-r--r--source/blender/quicktime/apple/qtkit_export.m4
-rw-r--r--source/blender/render/CMakeLists.txt24
-rw-r--r--source/blender/render/SConscript4
-rw-r--r--source/blender/render/extern/include/RE_pipeline.h21
-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/source/convertblender.c177
-rw-r--r--source/blender/render/intern/source/envmap.c25
-rw-r--r--source/blender/render/intern/source/gammaCorrectionTables.c2
-rw-r--r--source/blender/render/intern/source/imagetexture.c37
-rw-r--r--source/blender/render/intern/source/initrender.c52
-rw-r--r--source/blender/render/intern/source/occlusion.c2
-rw-r--r--source/blender/render/intern/source/pipeline.c344
-rw-r--r--source/blender/render/intern/source/pixelblending.c24
-rw-r--r--source/blender/render/intern/source/pixelshading.c97
-rw-r--r--source/blender/render/intern/source/pointdensity.c2
-rw-r--r--source/blender/render/intern/source/rayshade.c122
-rw-r--r--source/blender/render/intern/source/render_texture.c415
-rw-r--r--source/blender/render/intern/source/rendercore.c150
-rw-r--r--source/blender/render/intern/source/renderdatabase.c74
-rw-r--r--source/blender/render/intern/source/shadbuf.c49
-rw-r--r--source/blender/render/intern/source/shadeinput.c22
-rw-r--r--source/blender/render/intern/source/shadeoutput.c32
-rw-r--r--source/blender/render/intern/source/sss.c52
-rw-r--r--source/blender/render/intern/source/strand.c14
-rw-r--r--source/blender/render/intern/source/sunsky.c116
-rw-r--r--source/blender/render/intern/source/volume_precache.c5
-rw-r--r--source/blender/render/intern/source/volumetric.c19
-rw-r--r--source/blender/render/intern/source/voxeldata.c15
-rw-r--r--source/blender/render/intern/source/zbuf.c101
-rw-r--r--source/blender/windowmanager/CMakeLists.txt38
-rw-r--r--source/blender/windowmanager/SConscript4
-rw-r--r--source/blender/windowmanager/WM_api.h51
-rw-r--r--source/blender/windowmanager/WM_keymap.h104
-rw-r--r--source/blender/windowmanager/WM_types.h28
-rw-r--r--source/blender/windowmanager/intern/wm.c68
-rw-r--r--source/blender/windowmanager/intern/wm_event_system.c150
-rw-r--r--source/blender/windowmanager/intern/wm_files.c47
-rw-r--r--source/blender/windowmanager/intern/wm_init_exit.c22
-rw-r--r--source/blender/windowmanager/intern/wm_jobs.c14
-rw-r--r--source/blender/windowmanager/intern/wm_keymap.c725
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c304
-rw-r--r--source/blender/windowmanager/intern/wm_subwindow.c3
-rw-r--r--source/blender/windowmanager/intern/wm_window.c25
-rw-r--r--source/blender/windowmanager/wm_event_types.h56
808 files changed, 78006 insertions, 64753 deletions
diff --git a/source/blender/CMakeLists.txt b/source/blender/CMakeLists.txt
index a073f5083e5..b332cd35402 100644
--- a/source/blender/CMakeLists.txt
+++ b/source/blender/CMakeLists.txt
@@ -73,6 +73,7 @@ set(SRC_DNA_INC
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_smoke_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_sound_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_space_types.h
+ ${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_speaker_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_text_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_texture_types.h
${CMAKE_CURRENT_SOURCE_DIR}/makesdna/DNA_userdef_types.h
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 b62e0cc5afd..0fd6435ec4e 100644
--- a/source/blender/avi/CMakeLists.txt
+++ b/source/blender/avi/CMakeLists.txt
@@ -26,6 +26,7 @@
set(INC
.
+ ../blenlib
../../../intern/guardedalloc
)
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..8ad751a5b40 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"
@@ -84,17 +87,17 @@ unsigned int GET_TCC (FILE *fp) {
}
char *fcc_to_char (unsigned int fcc) {
- DEBUG_FCC[0]= (fcc)&0177;
- DEBUG_FCC[1]= (fcc>>8)&0177;
- DEBUG_FCC[2]= (fcc>>16)&0177;
- DEBUG_FCC[3]= (fcc>>24)&0177;
+ DEBUG_FCC[0]= (fcc)&127;
+ DEBUG_FCC[1]= (fcc>>8)&127;
+ DEBUG_FCC[2]= (fcc>>16)&127;
+ DEBUG_FCC[3]= (fcc>>24)&127;
return DEBUG_FCC;
}
char *tcc_to_char (unsigned int tcc) {
- DEBUG_FCC[0]= (tcc)&0177;
- DEBUG_FCC[1]= (tcc>>8)&0177;
+ DEBUG_FCC[0]= (tcc)&127;
+ DEBUG_FCC[1]= (tcc>>8)&127;
DEBUG_FCC[2]= 0;
DEBUG_FCC[3]= 0;
@@ -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 b915764c1bb..82099d4f125 100644
--- a/source/blender/blenfont/CMakeLists.txt
+++ b/source/blender/blenfont/CMakeLists.txt
@@ -24,10 +24,10 @@
set(INC
.
+ ../blenkernel
../blenlib
- ../makesdna
../editors/include
- ../blenkernel
+ ../makesdna
../../../intern/guardedalloc
)
@@ -50,7 +50,9 @@ set(SRC
)
if(WITH_INTERNATIONAL)
- list(APPEND INC_SYS ${GETTEXT_INC})
+ list(APPEND INC_SYS
+ ${GETTEXT_INC}
+ )
add_definitions(-DINTERNATIONAL)
endif()
diff --git a/source/blender/blenfont/intern/blf.c b/source/blender/blenfont/intern/blf.c
index c0e62b1c0c7..fc812d652b3 100644
--- a/source/blender/blenfont/intern/blf.c
+++ b/source/blender/blenfont/intern/blf.c
@@ -369,28 +369,28 @@ void BLF_position(int fontid, float x, float y, float z)
za= 1.0f;
}
- remainder= x - floor(x);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- x -= 0.1 * xa;
+ remainder= x - floorf(x);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ x -= 0.1f * xa;
else
- x += 0.1 * xa;
+ x += 0.1f * xa;
}
- remainder= y - floor(y);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- y -= 0.1 * ya;
+ remainder= y - floorf(y);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ y -= 0.1f * ya;
else
- y += 0.1 * ya;
+ y += 0.1f * ya;
}
- remainder= z - floor(z);
- if (remainder > 0.4 && remainder < 0.6) {
- if (remainder < 0.5)
- z -= 0.1 * za;
+ remainder= z - floorf(z);
+ if (remainder > 0.4f && remainder < 0.6f) {
+ if (remainder < 0.5f)
+ z -= 0.1f * za;
else
- z += 0.1 * za;
+ z += 0.1f * za;
}
font->pos[0]= x;
diff --git a/source/blender/blenfont/intern/blf_font.c b/source/blender/blenfont/intern/blf_font.c
index 708b3708ab7..fb6505fe935 100644
--- a/source/blender/blenfont/intern/blf_font.c
+++ b/source/blender/blenfont/intern/blf_font.c
@@ -213,7 +213,7 @@ void blf_font_buffer(FontBLF *font, const char *str)
{
unsigned char *cbuf;
unsigned int c;
- unsigned char b_col_char[3];
+ unsigned char b_col_char[4];
GlyphBLF *g, *g_prev;
FT_Vector delta;
FT_UInt glyph_index;
@@ -232,6 +232,7 @@ void blf_font_buffer(FontBLF *font, const char *str)
b_col_char[0]= font->b_col[0] * 255;
b_col_char[1]= font->b_col[1] * 255;
b_col_char[2]= font->b_col[2] * 255;
+ b_col_char[3]= font->b_col[3] * 255;
while (str[i]) {
int pen_y;
@@ -296,16 +297,19 @@ void blf_font_buffer(FontBLF *font, const char *str)
a= *(g->bitmap + x + (yb * g->pitch)) / 255.0f;
if(a > 0.0f) {
+ float alphatest;
fbuf= font->b_fbuf + font->bch * ((chx + x) + ((pen_y + y)*font->bw));
if (a >= 1.0f) {
fbuf[0]= font->b_col[0];
fbuf[1]= font->b_col[1];
fbuf[2]= font->b_col[2];
+ fbuf[3]= (alphatest= (fbuf[3] + (font->b_col[3]))) < 1.0f ? alphatest : 1.0f;
}
else {
fbuf[0]= (font->b_col[0]*a) + (fbuf[0] * (1-a));
fbuf[1]= (font->b_col[1]*a) + (fbuf[1] * (1-a));
fbuf[2]= (font->b_col[2]*a) + (fbuf[2] * (1-a));
+ fbuf[3]= (alphatest= (fbuf[3] + (font->b_col[3]*a))) < 1.0f ? alphatest : 1.0f;
}
}
}
@@ -324,16 +328,19 @@ void blf_font_buffer(FontBLF *font, const char *str)
a= *(g->bitmap + x + (yb * g->pitch)) / 255.0f;
if(a > 0.0f) {
+ int alphatest;
cbuf= font->b_cbuf + font->bch * ((chx + x) + ((pen_y + y)*font->bw));
if (a >= 1.0f) {
cbuf[0]= b_col_char[0];
cbuf[1]= b_col_char[1];
cbuf[2]= b_col_char[2];
+ cbuf[3]= (alphatest= ((int)cbuf[3] + (int)b_col_char[3])) < 255 ? alphatest : 255;
}
else {
cbuf[0]= (b_col_char[0]*a) + (cbuf[0] * (1-a));
cbuf[1]= (b_col_char[1]*a) + (cbuf[1] * (1-a));
cbuf[2]= (b_col_char[2]*a) + (cbuf[2] * (1-a));
+ cbuf[3]= (alphatest= ((int)cbuf[3] + (int)((font->b_col[3]*a)*255.0f))) < 255 ? alphatest : 255;
}
}
}
diff --git a/source/blender/blenkernel/BKE_DerivedMesh.h b/source/blender/blenkernel/BKE_DerivedMesh.h
index 55ade5fe5d9..6e17b056685 100644
--- a/source/blender/blenkernel/BKE_DerivedMesh.h
+++ b/source/blender/blenkernel/BKE_DerivedMesh.h
@@ -283,7 +283,8 @@ struct DerivedMesh {
int (*setDrawOptions)(void *userData, int index,
int *drawSmooth_r),
void *userData, int useColors,
- int (*setMaterial)(int, void *attribs));
+ int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index));
/* Draw mapped faces using MTFace
* o Drawing options too complicated to enumerate, look at code.
@@ -526,7 +527,7 @@ void weight_to_rgb(float input, float *fr, float *fg, float *fb);
typedef struct DMVertexAttribs {
struct {
struct MTFace *array;
- int emOffset, glIndex;
+ int emOffset, glIndex, glTexco;
} tface[MAX_MTFACE];
struct {
@@ -541,7 +542,7 @@ typedef struct DMVertexAttribs {
struct {
float (*array)[3];
- int emOffset, glIndex;
+ int emOffset, glIndex, glTexco;
} orco;
int tottface, totmcol, tottang, totorco;
diff --git a/source/blender/blenkernel/BKE_action.h b/source/blender/blenkernel/BKE_action.h
index 698f0f0fecf..67efb7752ea 100644
--- a/source/blender/blenkernel/BKE_action.h
+++ b/source/blender/blenkernel/BKE_action.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -216,7 +214,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_anim.h b/source/blender/blenkernel/BKE_anim.h
index 25165eeaee7..44aebdf6205 100644
--- a/source/blender/blenkernel/BKE_anim.h
+++ b/source/blender/blenkernel/BKE_anim.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/BKE_animsys.h b/source/blender/blenkernel/BKE_animsys.h
index 348b967f9c4..98f9ee14c7e 100644
--- a/source/blender/blenkernel/BKE_animsys.h
+++ b/source/blender/blenkernel/BKE_animsys.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,6 +39,7 @@ struct KeyingSet;
struct KS_Path;
struct PointerRNA;
+struct ReportList;
struct bAction;
struct bActionGroup;
struct AnimMapper;
@@ -57,6 +56,9 @@ struct AnimData *BKE_animdata_from_id(struct ID *id);
/* Add AnimData to the given ID-block */
struct AnimData *BKE_id_add_animdata(struct ID *id);
+/* Set active action used by AnimData from the given ID-block */
+short BKE_animdata_set_action(struct ReportList *reports, struct ID *id, struct bAction *act);
+
/* Free AnimData */
void BKE_free_animdata(struct ID *id);
@@ -136,10 +138,10 @@ void BKE_animdata_main_cb(struct Main *main, ID_AnimData_Edit_Callback func, voi
/* In general, these ones should be called to do all animation evaluation */
/* Evaluation loop for evaluating animation data */
-void BKE_animsys_evaluate_animdata(struct ID *id, struct AnimData *adt, float ctime, short recalc);
+void BKE_animsys_evaluate_animdata(struct Scene *scene, struct ID *id, struct AnimData *adt, float ctime, short recalc);
/* Evaluation of all ID-blocks with Animation Data blocks - Animation Data Only */
-void BKE_animsys_evaluate_all_animation(struct Main *main, float ctime);
+void BKE_animsys_evaluate_all_animation(struct Main *main, struct Scene *scene, float ctime);
/* ------------ Specialised API --------------- */
diff --git a/source/blender/blenkernel/BKE_armature.h b/source/blender/blenkernel/BKE_armature.h
index efa87532859..7d60c00156d 100644
--- a/source/blender/blenkernel/BKE_armature.h
+++ b/source/blender/blenkernel/BKE_armature.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/BKE_blender.h b/source/blender/blenkernel/BKE_blender.h
index 07f0885372a..742240d53b5 100644
--- a/source/blender/blenkernel/BKE_blender.h
+++ b/source/blender/blenkernel/BKE_blender.h
@@ -43,17 +43,17 @@ extern "C" {
/* these lines are grep'd, watch out for our not-so-awesome regex
* and keep comment above the defines.
* Use STRINGIFY() rather than defining with quotes */
-#define BLENDER_VERSION 257
-#define BLENDER_SUBVERSION 1
+#define BLENDER_VERSION 259
+#define BLENDER_SUBVERSION 2
#define BLENDER_MINVERSION 250
#define BLENDER_MINSUBVERSION 0
/* used by packaging tools */
/* can be left blank, otherwise a,b,c... etc with no quotes */
-#define BLENDER_VERSION_CHAR b
+#define BLENDER_VERSION_CHAR
/* alpha/beta/rc/release, docs use this */
-#define BLENDER_VERSION_CYCLE beta
+#define BLENDER_VERSION_CYCLE alpha
struct ListBase;
struct MemFile;
diff --git a/source/blender/blenkernel/BKE_constraint.h b/source/blender/blenkernel/BKE_constraint.h
index 7c0e7050a9f..925d1180dbd 100644
--- a/source/blender/blenkernel/BKE_constraint.h
+++ b/source/blender/blenkernel/BKE_constraint.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -154,6 +152,7 @@ void constraints_clear_evalob(struct bConstraintOb *cob);
void constraint_mat_convertspace(struct Object *ob, struct bPoseChannel *pchan, float mat[][4], short from, short to);
void get_constraint_target_matrix(struct Scene *scene, struct bConstraint *con, int n, short ownertype, void *ownerdata, float mat[][4], float ctime);
+void get_constraint_targets_for_solving(struct bConstraint *con, struct bConstraintOb *ob, struct ListBase *targets, float ctime);
void solve_constraints(struct ListBase *conlist, struct bConstraintOb *cob, float ctime);
#ifdef __cplusplus
diff --git a/source/blender/blenkernel/BKE_curve.h b/source/blender/blenkernel/BKE_curve.h
index 0491116d199..557ce417b14 100644
--- a/source/blender/blenkernel/BKE_curve.h
+++ b/source/blender/blenkernel/BKE_curve.h
@@ -115,5 +115,6 @@ int minmax_curve(struct Curve *cu, float min[3], float max[3]);
int curve_center_median(struct Curve *cu, float cent[3]);
int curve_center_bounds(struct Curve *cu, float cent[3]);
void curve_translate(struct Curve *cu, float offset[3], int do_keys);
+void curve_delete_material_index(struct Curve *cu, int index);
#endif
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_fcurve.h b/source/blender/blenkernel/BKE_fcurve.h
index b791e29a38e..244fda33a52 100644
--- a/source/blender/blenkernel/BKE_fcurve.h
+++ b/source/blender/blenkernel/BKE_fcurve.h
@@ -199,7 +199,7 @@ struct FCurve *list_find_fcurve(ListBase *list, const char rna_path[], const int
struct FCurve *iter_step_fcurve (struct FCurve *fcu_iter, const char rna_path[]);
/* high level function to get an fcurve from C without having the rna */
-struct FCurve *id_data_find_fcurve(ID *id, void *data, struct StructRNA *type, const char *prop_name, int index);
+struct FCurve *id_data_find_fcurve(ID *id, void *data, struct StructRNA *type, const char *prop_name, int index, char *driven);
/* Get list of LinkData's containing pointers to the F-Curves which control the types of data indicated
* e.g. numMatches = list_find_data_fcurves(matches, &act->curves, "pose.bones[", "MyFancyBone");
diff --git a/source/blender/blenkernel/BKE_global.h b/source/blender/blenkernel/BKE_global.h
index d21b0428d76..0e48673f1b1 100644
--- a/source/blender/blenkernel/BKE_global.h
+++ b/source/blender/blenkernel/BKE_global.h
@@ -92,9 +92,6 @@ typedef struct Global {
/* save the allowed windowstate of blender when using -W or -w */
int windowstate;
-
- /* ndof device found ? */
- int ndofdevice;
} Global;
/* **************** GLOBAL ********************* */
@@ -114,7 +111,7 @@ typedef struct Global {
#define G_SCRIPT_OVERRIDE_PREF (1 << 14) /* when this flag is set ignore the userprefs */
/* #define G_NOFROZEN (1 << 17) also removed */
-#define G_GREASEPENCIL (1 << 17)
+/* #define G_GREASEPENCIL (1 << 17) also removed */
/* #define G_AUTOMATKEYS (1 << 30) also removed */
@@ -174,5 +171,3 @@ extern Global G;
#endif
#endif
-
-
diff --git a/source/blender/blenkernel/BKE_image.h b/source/blender/blenkernel/BKE_image.h
index 10910493ec9..0c31083a266 100644
--- a/source/blender/blenkernel/BKE_image.h
+++ b/source/blender/blenkernel/BKE_image.h
@@ -60,7 +60,7 @@ int BKE_ftype_to_imtype(int ftype);
int BKE_imtype_to_ftype(int imtype);
int BKE_imtype_is_movie(int imtype);
-struct anim *openanim(char * name, int flags);
+struct anim *openanim(char * name, int flags, int streamindex);
void image_de_interlace(struct Image *ima, int odd);
diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h
index 871a78bbab3..0d6d41109b4 100644
--- a/source/blender/blenkernel/BKE_library.h
+++ b/source/blender/blenkernel/BKE_library.h
@@ -44,6 +44,8 @@ struct Main;
struct Library;
struct wmWindowManager;
struct bContext;
+struct PointerRNA;
+struct PropertyRNA;
void *alloc_libblock(struct ListBase *lb, short type, const char *name);
void *copy_libblock(void *rt);
@@ -53,6 +55,7 @@ void id_lib_extern(struct ID *id);
void id_us_plus(struct ID *id);
void id_us_min(struct ID *id);
int id_make_local(struct ID *id, int test);
+int id_single_user(struct bContext *C, struct ID *id, struct PointerRNA *ptr, struct PropertyRNA *prop);
int id_copy(struct ID *id, struct ID **newid, int test);
int id_unlink(struct ID *id, int test);
diff --git a/source/blender/blenkernel/BKE_main.h b/source/blender/blenkernel/BKE_main.h
index df6a304f0b3..c25882d1dd6 100644
--- a/source/blender/blenkernel/BKE_main.h
+++ b/source/blender/blenkernel/BKE_main.h
@@ -77,6 +77,7 @@ typedef struct Main {
ListBase script;
ListBase vfont;
ListBase text;
+ ListBase speaker;
ListBase sound;
ListBase group;
ListBase armature;
diff --git a/source/blender/blenkernel/BKE_material.h b/source/blender/blenkernel/BKE_material.h
index c445408609c..88965d12e4a 100644
--- a/source/blender/blenkernel/BKE_material.h
+++ b/source/blender/blenkernel/BKE_material.h
@@ -78,7 +78,7 @@ int object_remove_material_slot(struct Object *ob);
/* rna api */
void material_append_id(struct ID *id, struct Material *ma);
-struct Material *material_pop_id(struct ID *id, int index);
+struct Material *material_pop_id(struct ID *id, int index, int remove_material_slot);
/* rendering */
diff --git a/source/blender/blenkernel/BKE_modifier.h b/source/blender/blenkernel/BKE_modifier.h
index 648e67cad8a..28950e4b2eb 100644
--- a/source/blender/blenkernel/BKE_modifier.h
+++ b/source/blender/blenkernel/BKE_modifier.h
@@ -101,6 +101,7 @@ typedef enum {
typedef void (*ObjectWalkFunc)(void *userData, struct Object *ob, struct Object **obpoin);
typedef void (*IDWalkFunc)(void *userData, struct Object *ob, struct ID **idpoin);
+typedef void (*TexWalkFunc)(void *userData, struct Object *ob, struct ModifierData *md, const char *propname);
typedef struct ModifierTypeInfo {
/* The user visible name for this modifier */
@@ -284,6 +285,16 @@ typedef struct ModifierTypeInfo {
*/
void (*foreachIDLink)(struct ModifierData *md, struct Object *ob,
IDWalkFunc walk, void *userData);
+
+ /* Should call the given walk function for each texture that the
+ * modifier data stores. This is used for finding all textures in
+ * the context for the UI.
+ *
+ * This function is optional. If it is not present, it will be
+ * assumed the modifier has no textures.
+ */
+ void (*foreachTexLink)(struct ModifierData *md, struct Object *ob,
+ TexWalkFunc walk, void *userData);
} ModifierTypeInfo;
ModifierTypeInfo *modifierType_getInfo (ModifierType type);
@@ -315,6 +326,10 @@ void modifiers_foreachObjectLink(struct Object *ob,
void modifiers_foreachIDLink(struct Object *ob,
IDWalkFunc walk,
void *userData);
+void modifiers_foreachTexLink(struct Object *ob,
+ TexWalkFunc walk,
+ void *userData);
+
struct ModifierData *modifiers_findByType(struct Object *ob, ModifierType type);
struct ModifierData *modifiers_findByName(struct Object *ob, const char *name);
void modifiers_clearErrors(struct Object *ob);
diff --git a/source/blender/blenkernel/BKE_nla.h b/source/blender/blenkernel/BKE_nla.h
index 0206756a1ad..773c5ced1cb 100644
--- a/source/blender/blenkernel/BKE_nla.h
+++ b/source/blender/blenkernel/BKE_nla.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -39,6 +37,8 @@ struct AnimData;
struct NlaStrip;
struct NlaTrack;
struct bAction;
+struct Scene;
+struct Speaker;
/* ----------------------------- */
/* Data Management */
@@ -54,6 +54,7 @@ void copy_nladata(ListBase *dst, ListBase *src);
struct NlaTrack *add_nlatrack(struct AnimData *adt, struct NlaTrack *prev);
struct NlaStrip *add_nlastrip(struct bAction *act);
struct NlaStrip *add_nlastrip_to_stack(struct AnimData *adt, struct bAction *act);
+struct NlaStrip *add_nla_soundstrip(struct Scene *scene, struct Speaker *spk);
/* ----------------------------- */
/* API */
diff --git a/source/blender/blenkernel/BKE_node.h b/source/blender/blenkernel/BKE_node.h
index a126f405d09..1de3c295f4d 100644
--- a/source/blender/blenkernel/BKE_node.h
+++ b/source/blender/blenkernel/BKE_node.h
@@ -37,6 +37,10 @@
* \ingroup bke
*/
+#include "DNA_listBase.h"
+
+#include "RNA_types.h"
+
/* not very important, but the stack solver likes to know a maximum */
#define MAX_SOCKET 64
@@ -46,62 +50,151 @@ struct bNodeLink;
struct bNodeSocket;
struct bNodeStack;
struct bNodeTree;
+struct bNodeTreeExec;
struct GPUMaterial;
struct GPUNode;
struct GPUNodeStack;
struct ID;
struct ListBase;
struct Main;
+struct uiBlock;
+struct uiLayout;
struct MTex;
struct PointerRNA;
struct rctf;
struct RenderData;
struct Scene;
struct Tex;
-struct uiLayout;
-
+struct SpaceNode;
+struct ARegion;
+struct Object;
/* ************** NODE TYPE DEFINITIONS ***** */
-typedef struct bNodeSocketType {
+/** Compact definition of a node socket.
+ * Can be used to quickly define a list of static sockets for a node,
+ * which are added to each new node of that type.
+ *
+ * \deprecated New nodes should add default sockets in the initialization
+ * function instead. This struct is mostly kept for old nodes and should
+ * be removed some time.
+ */
+typedef struct bNodeSocketTemplate {
int type, limit;
- const char *name;
- float val1, val2, val3, val4; /* default alloc value for inputs */
- float min, max; /* default range for inputs */
+ char name[32];
+ float val1, val2, val3, val4; /* default alloc value for inputs */
+ float min, max;
+ PropertySubType subtype;
/* after this line is used internal only */
- struct bNodeSocket *sock; /* used during verify_types */
+ struct bNodeSocket *sock; /* used to hold verified socket */
+} bNodeSocketTemplate;
+
+typedef void (*NodeSocketButtonFunction)(const struct bContext *C, struct uiBlock *block,
+ struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock,
+ const char *name, int x, int y, int width);
+
+/** Defines a socket type.
+ * Defines the appearance and behavior of a socket in the UI.
+ */
+typedef struct bNodeSocketType {
+ int type;
+ char ui_name[32];
+ char ui_description[128];
+ int ui_icon;
+ char ui_color[4];
+
+ const char *value_structname;
+ int value_structsize;
+
+ NodeSocketButtonFunction buttonfunc;
} bNodeSocketType;
+/** Template for creating a node.
+ * Stored required parameters to make a new node of a specific type.
+ */
+typedef struct bNodeTemplate {
+ int type;
+
+ /* group tree */
+ struct bNodeTree *ngroup;
+} bNodeTemplate;
+
+/** Defines a node type.
+ * Initial attributes and constants for a node as well as callback functions
+ * implementing the node behavior.
+ */
typedef struct bNodeType {
void *next,*prev;
+ short needs_free; /* set for allocated types that need to be freed */
+
int type;
- const char *name; /* can be allocated too */
+ char name[32];
float width, minwidth, maxwidth;
+ float height, minheight, maxheight;
short nclass, flag;
- bNodeSocketType *inputs, *outputs;
+ /* templates for static sockets */
+ bNodeSocketTemplate *inputs, *outputs;
char storagename[64]; /* struct name for DNA */
- void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
-
- /* this line is set on startup of blender */
+ /// Main draw function for the node.
+ void (*drawfunc)(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node);
+ /// Updates the node geometry attributes according to internal state before actual drawing.
+ void (*drawupdatefunc)(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);
+ /// Draw the option buttons on the node.
void (*uifunc)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
+ /// Additional parameters in the side panel.
+ void (*uifuncbut)(struct uiLayout *, struct bContext *C, struct PointerRNA *ptr);
+ /// Optional custom label function for the node header.
const char *(*labelfunc)(struct bNode *);
-
- void (*initfunc)(struct bNode *);
- void (*freestoragefunc)(struct bNode *);
- void (*copystoragefunc)(struct bNode *, struct bNode *);
+ /// Optional custom resize handle polling.
+ int (*resize_area_func)(struct bNode *node, int x, int y);
- /* for use with dynamic typedefs */
- ID *id;
- void *pynode; /* holds pointer to python script */
- void *pydict; /* holds pointer to python script dictionary (scope)*/
-
+ /// Called when the node is updated in the editor.
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node);
+ /// Check and update if internal ID data has changed.
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
+
+ /// Initialize a new node instance of this type after creation.
+ void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+ /// Free the custom storage data.
+ void (*freestoragefunc)(struct bNode *node);
+ /// Make a copy of the custom storage data.
+ void (*copystoragefunc)(struct bNode *node, struct bNode *target);
+
+ /// Create a template from an existing node.
+ struct bNodeTemplate (*templatefunc)(struct bNode *);
+ /** If a node can be made from the template in the given node tree.
+ * \example Node groups can not be created inside their own node tree.
+ */
+ int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+
+ /// Initialize a node tree associated to this node type.
+ void (*inittreefunc)(struct bNodeTree *ntree);
+ /// Update a node tree associated to this node type.
+ void (*updatetreefunc)(struct bNodeTree *ntree);
+
+ /* group edit callbacks for operators */
+ /* XXX this is going to be changed as required by the UI */
+ struct bNodeTree *(*group_edit_get)(struct bNode *node);
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit);
+ void (*group_edit_clear)(struct bNode *node);
+
+
+ /* **** execution callbacks **** */
+ void *(*initexecfunc)(struct bNode *node);
+ void (*freeexecfunc)(struct bNode *node, void *nodedata);
+ void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
+ /* XXX this alternative exec function has been added to avoid changing all node types.
+ * when a final generic version of execution code is defined, this will be changed anyway
+ */
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **);
/* gpu */
int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out);
-
+ /* extended gpu function */
+ int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out);
} bNodeType;
/* node->exec, now in use for composites (#define for break is same as ready yes) */
@@ -112,72 +205,124 @@ typedef struct bNodeType {
#define NODE_FREEBUFS 8
#define NODE_SKIPPED 16
+/* sim_exec return value */
+#define NODE_EXEC_FINISHED 0
+#define NODE_EXEC_SUSPEND 1
+
/* nodetype->nclass, for add-menu and themes */
-#define NODE_CLASS_INPUT 0
-#define NODE_CLASS_OUTPUT 1
-#define NODE_CLASS_OP_COLOR 3
-#define NODE_CLASS_OP_VECTOR 4
-#define NODE_CLASS_OP_FILTER 5
-#define NODE_CLASS_GROUP 6
-#define NODE_CLASS_FILE 7
-#define NODE_CLASS_CONVERTOR 8
-#define NODE_CLASS_MATTE 9
-#define NODE_CLASS_DISTORT 10
-#define NODE_CLASS_OP_DYNAMIC 11
-#define NODE_CLASS_PATTERN 12
-#define NODE_CLASS_TEXTURE 13
+#define NODE_CLASS_INPUT 0
+#define NODE_CLASS_OUTPUT 1
+#define NODE_CLASS_OP_COLOR 3
+#define NODE_CLASS_OP_VECTOR 4
+#define NODE_CLASS_OP_FILTER 5
+#define NODE_CLASS_GROUP 6
+#define NODE_CLASS_FILE 7
+#define NODE_CLASS_CONVERTOR 8
+#define NODE_CLASS_MATTE 9
+#define NODE_CLASS_DISTORT 10
+#define NODE_CLASS_OP_DYNAMIC 11
+#define NODE_CLASS_PATTERN 12
+#define NODE_CLASS_TEXTURE 13
+#define NODE_CLASS_EXECUTION 14
+#define NODE_CLASS_GETDATA 15
+#define NODE_CLASS_SETDATA 16
+#define NODE_CLASS_MATH 17
+#define NODE_CLASS_MATH_VECTOR 18
+#define NODE_CLASS_MATH_ROTATION 19
+#define NODE_CLASS_PARTICLES 25
+#define NODE_CLASS_TRANSFORM 30
+#define NODE_CLASS_COMBINE 31
+#define NODE_CLASS_LAYOUT 100
/* enum values for input/output */
#define SOCK_IN 1
#define SOCK_OUT 2
+struct bNodeTreeExec;
+
+typedef void (*bNodeTreeCallback)(void *calldata, struct ID *owner_id, struct bNodeTree *ntree);
+typedef struct bNodeTreeType
+{
+ int type; /* type identifier */
+ char idname[64]; /* id name for RNA identification */
+
+ ListBase node_types; /* type definitions */
+
+ /* callbacks */
+ void (*free_cache)(struct bNodeTree *ntree);
+ void (*free_node_cache)(struct bNodeTree *ntree, struct bNode *node);
+ void (*foreach_nodetree)(struct Main *main, void *calldata, bNodeTreeCallback func); /* iteration over all node trees */
+
+ /* calls allowing threaded composite */
+ void (*localize)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+ void (*local_sync)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+ void (*local_merge)(struct bNodeTree *localtree, struct bNodeTree *ntree);
+
+ /* Tree update. Overrides nodetype->updatetreefunc! */
+ void (*update)(struct bNodeTree *ntree);
+ /* Node update. Overrides nodetype->updatefunc! */
+ void (*update_node)(struct bNodeTree *ntree, struct bNode *node);
+
+ int (*validate_link)(struct bNodeTree *ntree, struct bNodeLink *link);
+} bNodeTreeType;
+
/* ************** GENERIC API, TREES *************** */
-void ntreeVerifyTypes(struct bNodeTree *ntree);
+struct bNodeTreeType *ntreeGetType(int type);
+struct bNodeType *ntreeGetNodeType(struct bNodeTree *ntree);
+struct bNodeSocketType *ntreeGetSocketType(int type);
-struct bNodeTree *ntreeAddTree(const char *name, int type, const short is_group);
+struct bNodeTree *ntreeAddTree(const char *name, int type, int nodetype);
void ntreeInitTypes(struct bNodeTree *ntree);
-//void ntreeMakeGroupSockets(struct bNodeTree *ntree);
-void ntreeUpdateType(struct bNodeTree *ntree, struct bNodeType *ntype);
void ntreeFreeTree(struct bNodeTree *ntree);
struct bNodeTree *ntreeCopyTree(struct bNodeTree *ntree);
void ntreeSwitchID(struct bNodeTree *ntree, struct ID *sce_from, struct ID *sce_to);
void ntreeMakeLocal(struct bNodeTree *ntree);
+int ntreeHasType(struct bNodeTree *ntree, int type);
void ntreeSocketUseFlags(struct bNodeTree *ntree);
-void ntreeSolveOrder(struct bNodeTree *ntree);
+void ntreeUpdateTree(struct bNodeTree *ntree);
+/* XXX Currently each tree update call does call to ntreeVerifyNodes too.
+ * Some day this should be replaced by a decent depsgraph automatism!
+ */
+void ntreeVerifyNodes(struct Main *main, struct ID *id);
-void ntreeBeginExecTree(struct bNodeTree *ntree);
-void ntreeExecTree(struct bNodeTree *ntree, void *callerdata, int thread);
-void ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
-void ntreeEndExecTree(struct bNodeTree *ntree);
+void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes);
+/* XXX old trees handle output flags automatically based on special output node types and last active selection.
+ * new tree types have a per-output socket flag to indicate the final output to use explicitly.
+ */
+void ntreeSetOutput(struct bNodeTree *ntree);
void ntreeInitPreview(struct bNodeTree *, int xsize, int ysize);
void ntreeClearPreview(struct bNodeTree *ntree);
void ntreeFreeCache(struct bNodeTree *ntree);
-
- /* calls allowing threaded composite */
+
+int ntreeNodeExists(struct bNodeTree *ntree, struct bNode *testnode);
+int ntreeOutputExists(struct bNode *node, struct bNodeSocket *testsock);
struct bNodeTree *ntreeLocalize(struct bNodeTree *ntree);
void ntreeLocalSync(struct bNodeTree *localtree, struct bNodeTree *ntree);
void ntreeLocalMerge(struct bNodeTree *localtree, struct bNodeTree *ntree);
/* ************** GENERIC API, NODES *************** */
-void nodeVerifyType(struct bNodeTree *ntree, struct bNode *node);
+struct bNodeSocket *nodeAddSocket(struct bNodeTree *ntree, struct bNode *node, int in_out, const char *name, int type);
+struct bNodeSocket *nodeInsertSocket(struct bNodeTree *ntree, struct bNode *node, int in_out, struct bNodeSocket *next_sock, const char *name, int type);
+void nodeRemoveSocket(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocket *sock);
+void nodeRemoveAllSockets(struct bNodeTree *ntree, struct bNode *node);
void nodeAddToPreview(struct bNode *, float *, int, int, int);
+struct bNode *nodeAddNode(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
void nodeUnlinkNode(struct bNodeTree *ntree, struct bNode *node);
void nodeUniqueName(struct bNodeTree *ntree, struct bNode *node);
-void nodeAddSockets(struct bNode *node, struct bNodeType *ntype);
-struct bNode *nodeAddNodeType(struct bNodeTree *ntree, int type, struct bNodeTree *ngroup, struct ID *id);
-void nodeRegisterType(struct ListBase *typelist, const struct bNodeType *ntype) ;
-void nodeUpdateType(struct bNodeTree *ntree, struct bNode* node, struct bNodeType *ntype);
+
+void nodeRegisterType(struct ListBase *typelist, struct bNodeType *ntype) ;
void nodeMakeDynamicType(struct bNode *node);
int nodeDynamicUnlinkText(struct ID *txtid);
+
void nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
struct bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node);
@@ -185,6 +330,10 @@ struct bNodeLink *nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, s
void nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link);
void nodeRemSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock);
+void nodeSpaceCoords(struct bNode *node, float *locx, float *locy);
+void nodeAttachNode(struct bNode *node, struct bNode *parent);
+void nodeDetachNode(struct bNode *node);
+
struct bNode *nodeFindNodebyName(struct bNodeTree *ntree, const char *name);
int nodeFindNode(struct bNodeTree *ntree, struct bNodeSocket *sock, struct bNode **nodep, int *sockindex, int *in_out);
@@ -201,41 +350,71 @@ void NodeTagChanged(struct bNodeTree *ntree, struct bNode *node);
int NodeTagIDChanged(struct bNodeTree *ntree, struct ID *id);
void ntreeClearTags(struct bNodeTree *ntree);
-/* ************** Groups ****************** */
-
-struct bNode *nodeMakeGroupFromSelected(struct bNodeTree *ntree);
-int nodeGroupUnGroup(struct bNodeTree *ntree, struct bNode *gnode);
-
-void nodeGroupVerify(struct bNodeTree *ngroup);
-void nodeGroupSocketUseFlags(struct bNodeTree *ngroup);
-
-void nodeGroupCopy(struct bNode *gnode);
+void nodeFreePreview(struct bNode *node);
-struct bNodeSocket *nodeGroupAddSocket(struct bNodeTree *ngroup, const char *name, int type, int in_out);
-struct bNodeSocket *nodeGroupExposeSocket(struct bNodeTree *ngroup, struct bNodeSocket *sock, int in_out);
-void nodeGroupExposeAllSockets(struct bNodeTree *ngroup);
-void nodeGroupRemoveSocket(struct bNodeTree *ngroup, struct bNodeSocket *gsock, int in_out);
+/* ************** NODE TYPE ACCESS *************** */
-/* ************** COMMON NODES *************** */
+struct bNodeTemplate nodeMakeTemplate(struct bNode *node);
+int nodeValid(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+const char* nodeLabel(struct bNode *node);
+struct bNodeTree *nodeGroupEditGet(struct bNode *node);
+struct bNodeTree *nodeGroupEditSet(struct bNode *node, int edit);
+void nodeGroupEditClear(struct bNode *node);
/* Init a new node type struct with default values and callbacks */
-void node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag,
- struct bNodeSocketType *inputs, struct bNodeSocketType *outputs);
+void node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag);
+void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs);
void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth);
-void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNode *));
+void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp));
+void node_type_valid(struct bNodeType *ntype, int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp));
void node_type_storage(struct bNodeType *ntype,
const char *storagename,
void (*freestoragefunc)(struct bNode *),
void (*copystoragefunc)(struct bNode *, struct bNode *));
+void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *));
+void node_type_template(struct bNodeType *ntype, struct bNodeTemplate (*templatefunc)(struct bNode *));
+void node_type_update(struct bNodeType *ntype,
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node),
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id));
+void node_type_tree(struct bNodeType *ntype,
+ void (*inittreefunc)(struct bNodeTree *),
+ void (*updatetreefunc)(struct bNodeTree *));
+void node_type_group_edit(struct bNodeType *ntype,
+ struct bNodeTree *(*group_edit_get)(struct bNode *node),
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit),
+ void (*group_edit_clear)(struct bNode *node));
+
void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **));
+void node_type_exec_new(struct bNodeType *ntype,
+ void *(*initexecfunc)(struct bNode *node),
+ void (*freeexecfunc)(struct bNode *node, void *nodedata),
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **));
void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out));
-void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *));
+void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out));
+
+/* ************** COMMON NODES *************** */
#define NODE_GROUP 2
-#define NODE_GROUP_MENU 1000
-#define NODE_DYNAMIC_MENU 4000
+#define NODE_FORLOOP 3
+#define NODE_WHILELOOP 4
+#define NODE_FRAME 5
+#define NODE_GROUP_MENU 10000
+#define NODE_DYNAMIC_MENU 20000
+
+/* look up a socket on a group node by the internal group socket */
+struct bNodeSocket *node_group_find_input(struct bNode *gnode, struct bNodeSocket *gsock);
+struct bNodeSocket *node_group_find_output(struct bNode *gnode, struct bNodeSocket *gsock);
+
+struct bNodeSocket *node_group_add_socket(struct bNodeTree *ngroup, const char *name, int type, int in_out);
+struct bNodeSocket *node_group_expose_socket(struct bNodeTree *ngroup, struct bNodeSocket *sock, int in_out);
+void node_group_expose_all_sockets(struct bNodeTree *ngroup);
+void node_group_remove_socket(struct bNodeTree *ngroup, struct bNodeSocket *gsock, int in_out);
-void register_node_type_group(ListBase *lb);
+struct bNode *node_group_make_from_selected(struct bNodeTree *ntree);
+int node_group_ungroup(struct bNodeTree *ntree, struct bNode *gnode);
+
+/* in node_common.c */
+void register_node_type_frame(ListBase *lb);
/* ************** SHADER NODES *************** */
@@ -285,11 +464,10 @@ struct ShadeResult;
#define NODE_DYNAMIC_REPARSE 6 /* 64 */
#define NODE_DYNAMIC_SET 15 /* sign */
-/* the type definitions array */
-extern struct ListBase node_all_shaders;
-
/* API */
+struct bNodeTreeExec *ntreeShaderBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeShaderEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
void ntreeShaderExecTree(struct bNodeTree *ntree, struct ShadeInput *shi, struct ShadeResult *shr);
void ntreeShaderGetTexcoMode(struct bNodeTree *ntree, int osa, short *texco, int *mode);
void nodeShaderSynchronizeID(struct bNode *node, int copyto);
@@ -319,9 +497,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
@@ -413,11 +592,11 @@ void ntreeGPUMaterialNodes(struct bNodeTree *ntree, struct GPUMaterial *mat);
#define CMP_SCALE_RENDERPERCENT 3
-/* the type definitions array */
-extern struct ListBase node_all_composit;
-
/* API */
struct CompBuf;
+struct bNodeTreeExec *ntreeCompositBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeCompositEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
+void ntreeCompositExecTree(struct bNodeTree *ntree, struct RenderData *rd, int do_previews);
void ntreeCompositTagRender(struct Scene *sce);
int ntreeCompositTagAnimated(struct bNodeTree *ntree);
void ntreeCompositTagGenerators(struct bNodeTree *ntree);
@@ -457,23 +636,22 @@ struct TexResult;
#define TEX_NODE_PROC 500
#define TEX_NODE_PROC_MAX 600
-extern struct ListBase node_all_textures;
-
/* API */
int ntreeTexTagAnimated(struct bNodeTree *ntree);
void ntreeTexSetPreviewFlag(int);
-int ntreeTexExecTree(struct bNodeTree *ntree, struct TexResult *target, float *coord, float *dxt, float *dyt, int osatex, short thread, struct Tex *tex, short which_output, int cfra, int preview, struct ShadeInput *shi, struct MTex *mtex);
void ntreeTexCheckCyclics(struct bNodeTree *ntree);
char* ntreeTexOutputMenu(struct bNodeTree *ntree);
+struct bNodeTreeExec *ntreeTexBeginExecTree(struct bNodeTree *ntree, int use_tree_data);
+void ntreeTexEndExecTree(struct bNodeTreeExec *exec, int use_tree_data);
+int ntreeTexExecTree(struct bNodeTree *ntree, struct TexResult *target, float *coord, float *dxt, float *dyt, int osatex, short thread, struct Tex *tex, short which_output, int cfra, int preview, struct ShadeInput *shi, struct MTex *mtex);
+
-/**/
+/*************************************************/
void init_nodesystem(void);
void free_nodesystem(void);
-/**/
-
void clear_scene_in_nodes(struct Main *bmain, struct Scene *sce);
#endif
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_sequencer.h b/source/blender/blenkernel/BKE_sequencer.h
index bedd58876bc..cf68e5795b4 100644
--- a/source/blender/blenkernel/BKE_sequencer.h
+++ b/source/blender/blenkernel/BKE_sequencer.h
@@ -43,6 +43,7 @@ struct Scene;
struct Sequence;
struct Strip;
struct StripElem;
+struct bSound;
#define MAXSEQ 32
@@ -177,6 +178,7 @@ int seq_recursive_apply(struct Sequence *seq, int (*apply_func)(struct Sequence
/* maintainance functions, mostly for RNA */
// extern
void seq_free_sequence(struct Scene *scene, struct Sequence *seq);
+void seq_free_sequence_recurse(struct Scene *scene, struct Sequence *seq);
void seq_free_strip(struct Strip *strip);
void seq_free_editing(struct Scene *scene);
void seq_free_clipboard(void);
@@ -199,6 +201,11 @@ void update_changed_seq_and_deps(struct Scene *scene, struct Sequence *changed_s
int input_have_to_preprocess(
SeqRenderData context, struct Sequence * seq, float cfra);
+void seq_proxy_rebuild(struct Main * bmain,
+ struct Scene *scene, struct Sequence * seq,
+ short *stop, short *do_update, float *progress);
+
+
/* **********************************************************************
seqcache.c
@@ -281,8 +288,10 @@ void free_imbuf_seq(struct Scene *scene, struct ListBase * seqbasep, int check_m
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, const char **error_str);
-void seq_update_sound(struct Scene* scene, struct Sequence *seq);
-void seq_update_muting(struct Scene* scene, struct Editing *ed);
+void seq_update_sound_bounds_all(struct Scene *scene);
+void seq_update_sound_bounds(struct Scene* scene, struct Sequence *seq);
+void seq_update_muting(struct Editing *ed);
+void seq_update_sound(struct Scene *scene, struct bSound *sound);
void seqbase_sound_reload(struct Scene *scene, ListBase *seqbase);
void seqbase_unique_name_recursive(ListBase *seqbasep, struct Sequence *seq);
void seqbase_dupli_recursive(struct Scene *scene, struct Scene *scene_to, ListBase *nseqbase, ListBase *seqbase, int dupe_flag);
diff --git a/source/blender/blenkernel/BKE_sound.h b/source/blender/blenkernel/BKE_sound.h
index 04597fd666e..3728dd41089 100644
--- a/source/blender/blenkernel/BKE_sound.h
+++ b/source/blender/blenkernel/BKE_sound.h
@@ -35,17 +35,26 @@
* \author nzc
*/
+#define SOUND_WAVE_SAMPLES_PER_SECOND 250
+
struct PackedFile;
struct bSound;
-struct bContext;
struct ListBase;
struct Main;
struct Sequence;
+typedef struct SoundWaveform
+{
+ int length;
+ float *data;
+} SoundWaveform;
+
void sound_init_once(void);
void sound_init(struct Main *main);
+void sound_init_main(struct Main *bmain);
+
void sound_exit(void);
void sound_force_device(int device);
@@ -55,14 +64,16 @@ struct bSound* sound_new_file(struct Main *main, const char *filename);
// XXX unused currently
#if 0
-struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source);
+struct bSound* sound_new_buffer(struct Main *bmain, struct bSound *source);
-struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, float start, float end);
+struct bSound* sound_new_limiter(struct Main *bmain, struct bSound *source, float start, float end);
#endif
-void sound_delete(struct bContext *C, struct bSound* sound);
+void sound_delete(struct Main *bmain, struct bSound* sound);
+
+void sound_cache(struct bSound* sound);
-void sound_cache(struct bSound* sound, int ignore);
+void sound_cache_notifying(struct Main* main, struct bSound* sound);
void sound_delete_cache(struct bSound* sound);
@@ -80,28 +91,50 @@ void sound_destroy_scene(struct Scene *scene);
void sound_mute_scene(struct Scene *scene, int muted);
+void sound_update_fps(struct Scene *scene);
+
+void sound_update_scene_listener(struct Scene *scene);
+
void* sound_scene_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip);
void* sound_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip);
void sound_remove_scene_sound(struct Scene *scene, void* handle);
-void sound_mute_scene_sound(struct Scene *scene, void* handle, char mute);
+void sound_mute_scene_sound(void* handle, char mute);
void sound_move_scene_sound(struct Scene *scene, void* handle, int startframe, int endframe, int frameskip);
+void sound_update_scene_sound(void* handle, struct bSound* sound);
+
+void sound_set_cfra(int cfra);
+
+void sound_set_scene_volume(struct Scene *scene, float volume);
+
+void sound_set_scene_sound_volume(void* handle, float volume, char animated);
+
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated);
+
+void sound_set_scene_sound_pan(void* handle, float pan, char animated);
+
+void sound_update_sequencer(struct Main* main, struct bSound* sound);
+
void sound_play_scene(struct Scene *scene);
void sound_stop_scene(struct Scene *scene);
-void sound_seek_scene(struct bContext *C);
+void sound_seek_scene(struct Main *bmain, struct Scene *scene);
float sound_sync_scene(struct Scene *scene);
int sound_scene_playing(struct Scene *scene);
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end);
+void sound_free_waveform(struct bSound* sound);
+
+void sound_read_waveform(struct bSound* sound);
+
+void sound_update_scene(struct Scene* scene);
-int sound_get_channels(struct bSound* sound);
+void* sound_get_factory(void* sound);
#endif
diff --git a/source/blender/blenlib/intern/BLI_callbacks.h b/source/blender/blenkernel/BKE_speaker.h
index ad09339e61a..111bd86fdd3 100644
--- a/source/blender/blenlib/intern/BLI_callbacks.h
+++ b/source/blender/blenkernel/BKE_speaker.h
@@ -1,8 +1,4 @@
/*
- * blenlib/BLI_editVert.h mar 2001 Nzc
- *
- * These callbacks are needed in the lib
- *
* $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
@@ -26,21 +22,22 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Jörg Müller.
*
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/blenlib/intern/BLI_callbacks.h
- * \ingroup bli
- */
-
+#ifndef BKE_SPEAKER_H
+#define BKE_SPEAKER_H
-#ifndef BLI_CALLBACKS_H
-#define BLI_CALLBACKS_H
+/** \file BKE_speaker.h
+ * \ingroup bke
+ * \brief General operations for speakers.
+ */
-// This is blenlib internal only
-void callLocalErrorCallBack(const char* msg);
+void *add_speaker(const char *name);
+struct Speaker *copy_speaker(struct Speaker *spk);
+void make_local_speaker(struct Speaker *spk);
+void free_speaker(struct Speaker *spk);
#endif
-
diff --git a/source/blender/blenkernel/CMakeLists.txt b/source/blender/blenkernel/CMakeLists.txt
index 5078657588d..c1797427cc2 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,20 +43,19 @@ set(INC
../makesrna
../modifiers
../nodes
- ../editors/include
../render/extern/include
- ../../../intern/audaspace/intern
- ../../../intern/ffmpeg
- ../../../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
@@ -139,6 +140,7 @@ set(SRC
intern/smoke.c
intern/softbody.c
intern/sound.c
+ intern/speaker.c
intern/subsurf_ccg.c
intern/suggestions.c
intern/text.c
@@ -219,6 +221,7 @@ set(SRC
BKE_smoke.h
BKE_softbody.h
BKE_sound.h
+ BKE_speaker.h
BKE_subsurf.h
BKE_suggestions.h
BKE_text.h
@@ -237,13 +240,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()
@@ -267,24 +281,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)
- list(APPEND INC_SYS ${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_SYS ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -300,17 +331,25 @@ 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_SYS ../../../extern/lzo/minilzo)
+ list(APPEND INC_SYS
+ ../../../extern/lzo/minilzo
+ )
add_definitions(-DWITH_LZO)
endif()
if(WITH_LZMA)
- list(APPEND INC_SYS ../../../extern/lzma)
+ list(APPEND INC_SYS
+ ../../../extern/lzma
+ )
add_definitions(-DWITH_LZMA)
endif()
diff --git a/source/blender/blenkernel/SConscript b/source/blender/blenkernel/SConscript
index b5f845acacb..5ea42ee65ae 100644
--- a/source/blender/blenkernel/SConscript
+++ b/source/blender/blenkernel/SConscript
@@ -21,6 +21,9 @@ 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']
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/DerivedMesh.c b/source/blender/blenkernel/intern/DerivedMesh.c
index d9c98bc0200..ff7f2586767 100644
--- a/source/blender/blenkernel/intern/DerivedMesh.c
+++ b/source/blender/blenkernel/intern/DerivedMesh.c
@@ -637,7 +637,8 @@ static void emDM_foreachMappedFaceCenter(DerivedMesh *dm, void (*func)(void *use
}
/* note, material function is ignored for now. */
-static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int UNUSED(useColors), int (*setMaterial)(int, void *attribs))
+static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int UNUSED(useColors), int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index))
{
EditMeshDerivedMesh *emdm= (EditMeshDerivedMesh*) dm;
EditFace *efa;
@@ -645,6 +646,9 @@ static void emDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
(void)setMaterial; /* unused */
+ /* currently unused -- each original face is handled separately */
+ (void)compareDrawOptions;
+
if (emdm->vertexCos) {
EditVert *eve;
@@ -1050,6 +1054,7 @@ static void emDM_drawMappedFacesGLSL(DerivedMesh *dm,
glEnd();
}
}
+#undef PASSATTRIB
}
static void emDM_drawFacesGLSL(DerivedMesh *dm,
@@ -1883,7 +1888,9 @@ static void mesh_calc_modifiers(Scene *scene, Object *ob, float (*inputVertexCos
/* set the DerivedMesh to only copy needed data */
mask= (CustomDataMask)GET_INT_FROM_POINTER(curr->link);
- DM_set_only_copy(dm, mask);
+ /* needMapping check here fixes bug [#28112], otherwise its
+ * possible that it wont be copied */
+ DM_set_only_copy(dm, mask | (needMapping ? CD_MASK_ORIGINDEX : 0));
/* add cloth rest shape key if need */
if(mask & CD_MASK_CLOTH_ORCO)
@@ -2765,6 +2772,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs,
attribs->tface[a].array = tfdata->layers[layer].data;
attribs->tface[a].emOffset = tfdata->layers[layer].offset;
attribs->tface[a].glIndex = gattribs->layer[b].glindex;
+ attribs->tface[a].glTexco = gattribs->layer[b].gltexco;
}
}
else if(gattribs->layer[b].type == CD_MCOL) {
@@ -2805,6 +2813,7 @@ void DM_vertex_attributes_from_gpu(DerivedMesh *dm, GPUVertexAttribs *gattribs,
attribs->orco.array = vdata->layers[layer].data;
attribs->orco.emOffset = vdata->layers[layer].offset;
attribs->orco.glIndex = gattribs->layer[b].glindex;
+ attribs->orco.glTexco = gattribs->layer[b].gltexco;
}
}
}
diff --git a/source/blender/blenkernel/intern/action.c b/source/blender/blenkernel/intern/action.c
index 77f56058a4f..9c2467505cd 100644
--- a/source/blender/blenkernel/intern/action.c
+++ b/source/blender/blenkernel/intern/action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,66 +83,84 @@ bAction *add_empty_action(const char name[])
bAction *act;
act= alloc_libblock(&G.main->action, ID_AC, name);
- act->id.flag |= LIB_FAKEUSER; // XXX this is nasty for new users... maybe we don't want this anymore
- act->id.us++;
return act;
}
+/* .................................. */
+
+/* temp data for make_local_action */
+typedef struct tMakeLocalActionContext {
+ bAction *act; /* original action */
+ bAction *actn; /* new action */
+
+ int lib; /* some action users were libraries */
+ int local; /* some action users were not libraries */
+} tMakeLocalActionContext;
+
+/* helper function for make_local_action() - local/lib init step */
+static void make_localact_init_cb(ID *id, AnimData *adt, void *mlac_ptr)
+{
+ tMakeLocalActionContext *mlac = (tMakeLocalActionContext *)mlac_ptr;
+
+ if (adt->action == mlac->act) {
+ if (id->lib)
+ mlac->lib = 1;
+ else
+ mlac->local = 1;
+ }
+}
+
+/* helper function for make_local_action() - change references */
+static void make_localact_apply_cb(ID *id, AnimData *adt, void *mlac_ptr)
+{
+ tMakeLocalActionContext *mlac = (tMakeLocalActionContext *)mlac_ptr;
+
+ if (adt->action == mlac->act) {
+ if (id->lib==0) {
+ adt->action = mlac->actn;
+
+ id_us_plus(&mlac->actn->id);
+ id_us_min(&mlac->act->id);
+ }
+ }
+}
+
// does copy_fcurve...
void make_local_action(bAction *act)
{
- // Object *ob;
+ tMakeLocalActionContext mlac = {act, NULL, 0, 0};
Main *bmain= G.main;
- bAction *actn;
- int local=0, lib=0;
- if (act->id.lib==NULL) return;
- if (act->id.us==1) {
+ if (act->id.lib==NULL)
+ return;
+
+ // XXX: double-check this; it used to be just single-user check, but that was when fake-users were still default
+ if ((act->id.flag & LIB_FAKEUSER) && (act->id.us<=1)) {
act->id.lib= NULL;
act->id.flag= LIB_LOCAL;
new_id(&bmain->action, (ID *)act, NULL);
return;
}
-#if 0 // XXX old animation system
- ob= G.main->object.first;
- while(ob) {
- if(ob->action==act) {
- if(ob->id.lib) lib= 1;
- else local= 1;
- }
- ob= ob->id.next;
- }
-#endif
+ BKE_animdata_main_cb(bmain, make_localact_init_cb, &mlac);
- if(local && lib==0) {
+ if (mlac.local && mlac.lib==0) {
act->id.lib= NULL;
act->id.flag= LIB_LOCAL;
//make_local_action_channels(act);
new_id(&bmain->action, (ID *)act, NULL);
}
- else if(local && lib) {
- actn= copy_action(act);
- actn->id.us= 0;
+ else if (mlac.local && mlac.lib) {
+ mlac.actn= copy_action(act);
+ mlac.actn->id.us= 0;
-#if 0 // XXX old animation system
- ob= G.main->object.first;
- while(ob) {
- if(ob->action==act) {
-
- if(ob->id.lib==0) {
- ob->action = actn;
- actn->id.us++;
- act->id.us--;
- }
- }
- ob= ob->id.next;
- }
-#endif // XXX old animation system
+ BKE_animdata_main_cb(bmain, make_localact_apply_cb, &mlac);
}
}
+/* .................................. */
+
void free_action (bAction *act)
{
/* sanity check */
@@ -163,6 +179,8 @@ void free_action (bAction *act)
BLI_freelistN(&act->markers);
}
+/* .................................. */
+
bAction *copy_action (bAction *src)
{
bAction *dst = NULL;
@@ -200,9 +218,6 @@ bAction *copy_action (bAction *src)
}
}
- dst->id.flag |= LIB_FAKEUSER; // XXX this is nasty for new users... maybe we don't want this anymore
- dst->id.us++;
-
return dst;
}
@@ -1128,7 +1143,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);
@@ -1180,7 +1195,7 @@ void what_does_obaction (Scene *UNUSED(scene), Object *ob, Object *workob, bPose
adt.action= act;
/* execute effects of Action on to workob (or it's PoseChannels) */
- BKE_animsys_evaluate_animdata(&workob->id, &adt, cframe, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(NULL, &workob->id, &adt, cframe, ADT_RECALC_ANIM);
}
}
diff --git a/source/blender/blenkernel/intern/anim.c b/source/blender/blenkernel/intern/anim.c
index 1763866c000..9ca11db7fce 100644
--- a/source/blender/blenkernel/intern/anim.c
+++ b/source/blender/blenkernel/intern/anim.c
@@ -1,8 +1,4 @@
-/* anim.c
- *
- *
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -171,7 +167,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
*/
@@ -226,6 +227,7 @@ typedef struct MPathTarget {
/* get list of motion paths to be baked for the given object
* - assumes the given list is ready to be used
*/
+// TODO: it would be nice in future to be able to update objects dependant on these bones too?
void animviz_get_object_motionpaths(Object *ob, ListBase *targets)
{
MPathTarget *mpt;
@@ -714,12 +716,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);
}
@@ -789,7 +792,7 @@ static void frames_duplilist(ListBase *lb, Scene *scene, Object *ob, int level,
* and/or other objects which may affect this object's transforms are not updated either.
* However, this has always been the way that this worked (i.e. pre 2.5), so I guess that it'll be fine!
*/
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
where_is_object_time(scene, ob, (float)scene->r.cfra);
dob= new_dupli_object(lb, ob, ob->obmat, ob->lay, scene->r.cfra, OB_DUPLIFRAMES, animated);
@@ -804,7 +807,7 @@ static void frames_duplilist(ListBase *lb, Scene *scene, Object *ob, int level,
*/
scene->r.cfra= cfrao;
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, (float)scene->r.cfra, ADT_RECALC_ANIM); /* ob-eval will do drivers, so we don't need to do them */
where_is_object_time(scene, ob, (float)scene->r.cfra);
/* but, to make sure unkeyed object transforms are still sane,
@@ -1239,6 +1242,8 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
sim.ob= par;
sim.psys= psys;
sim.psmd= psys_get_modifier(par, psys);
+ /* make sure emitter imat is in global coordinates instead of render view coordinates */
+ invert_m4_m4(par->imat, par->obmat);
/* first check for loops (particle system object used as dupli object) */
if(part->ren_as == PART_DRAW_OB) {
@@ -1343,6 +1348,10 @@ static void new_particle_duplilist(ListBase *lb, ID *id, Scene *scene, Object *p
continue;
if(part->ren_as==PART_DRAW_GR) {
+ /* prevent divide by zero below [#28336] */
+ if(totgroup == 0)
+ continue;
+
/* for groups, pick the object based on settings */
if(part->draw&PART_DRAW_RAND_GR)
b= BLI_rand() % totgroup;
@@ -1390,7 +1399,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 fdc102bf779..b690c9b4a91 100644
--- a/source/blender/blenkernel/intern/anim_sys.c
+++ b/source/blender/blenkernel/intern/anim_sys.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -56,6 +54,7 @@
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_library.h"
+#include "BKE_report.h"
#include "BKE_utildefines.h"
#include "RNA_access.h"
@@ -84,6 +83,7 @@ short id_type_can_have_animdata (ID *id)
case ID_PA:
case ID_MA: case ID_TE: case ID_NT:
case ID_LA: case ID_CA: case ID_WO:
+ case ID_SPK:
case ID_SCE:
{
return 1;
@@ -144,6 +144,59 @@ AnimData *BKE_id_add_animdata (ID *id)
return NULL;
}
+/* Action Setter --------------------------------------- */
+
+/* Called when user tries to change the active action of an AnimData block (via RNA, Outliner, etc.) */
+short BKE_animdata_set_action (ReportList *reports, ID *id, bAction *act)
+{
+ AnimData *adt = BKE_animdata_from_id(id);
+ short ok = 0;
+
+ /* animdata validity check */
+ if (adt == NULL) {
+ BKE_report(reports, RPT_WARNING, "No AnimData to set action on");
+ return ok;
+ }
+
+ /* active action is only editable when it is not a tweaking strip
+ * see rna_AnimData_action_editable() in rna_animation.c
+ */
+ if ((adt->flag & ADT_NLA_EDIT_ON) || (adt->actstrip) || (adt->tmpact)) {
+ /* cannot remove, otherwise things turn to custard */
+ BKE_report(reports, RPT_ERROR, "Cannot change action, as it is still being edited in NLA");
+ return ok;
+ }
+
+ /* manage usercount for current action */
+ if (adt->action)
+ id_us_min((ID*)adt->action);
+
+ /* assume that AnimData's action can in fact be edited... */
+ if (act) {
+ /* action must have same type as owner */
+ if (ELEM(act->idroot, 0, GS(id->name))) {
+ /* can set */
+ adt->action = act;
+ id_us_plus((ID*)adt->action);
+ ok = 1;
+ }
+ else {
+ /* cannot set */
+ BKE_reportf(reports, RPT_ERROR,
+ "Couldn't set Action '%s' onto ID '%s', as it doesn't have suitably rooted paths for this purpose",
+ act->id.name+2, id->name);
+ //ok = 0;
+ }
+ }
+ else {
+ /* just clearing the action... */
+ adt->action = NULL;
+ ok = 1;
+ }
+
+ return ok;
+}
+
/* Freeing -------------------------------------------- */
/* Free AnimData used by the nominated ID-block, and clear ID-block's AnimData pointer */
@@ -234,7 +287,7 @@ int BKE_copy_animdata_id (ID *id_to, ID *id_from, const short do_action)
return 1;
}
-void BKE_copy_animdata_id_action(struct ID *id)
+void BKE_copy_animdata_id_action(ID *id)
{
AnimData *adt= BKE_animdata_from_id(id);
if (adt) {
@@ -733,7 +786,10 @@ void BKE_animdata_main_cb (Main *mainptr, ID_AnimData_Edit_Callback func, void *
/* particles */
ANIMDATA_IDS_CB(mainptr->particle.first);
-
+
+ /* speakers */
+ ANIMDATA_IDS_CB(mainptr->speaker.first);
+
/* objects */
ANIMDATA_IDS_CB(mainptr->object.first);
@@ -811,7 +867,10 @@ void BKE_all_animdata_fix_paths_rename (char *prefix, char *oldName, char *newNa
/* particles */
RENAMEFIX_ANIM_IDS(mainptr->particle.first);
-
+
+ /* speakers */
+ RENAMEFIX_ANIM_IDS(mainptr->speaker.first);
+
/* objects */
RENAMEFIX_ANIM_IDS(mainptr->object.first);
@@ -1062,7 +1121,7 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
{
int array_len= RNA_property_array_length(&new_ptr, prop);
- if(array_len && array_index >= array_len)
+ if (array_len && array_index >= array_len)
{
if (G.f & G_DEBUG) {
printf("Animato: Invalid array index. ID = '%s', '%s[%d]', array length is %d \n",
@@ -1100,6 +1159,23 @@ static short animsys_write_rna_setting (PointerRNA *ptr, char *path, int array_i
/* nothing can be done here... so it is unsuccessful? */
return 0;
}
+
+ /* buffer property update for later flushing */
+ if (RNA_property_update_check(prop)) {
+ short skip_updates_hack = 0;
+
+ /* optimisation hacks: skip property updates for those properties
+ * for we know that which the updates in RNA were really just for
+ * flushing property editing via UI/Py
+ */
+ if (new_ptr.type == &RNA_PoseBone) {
+ /* bone transforms - update pose (i.e. tag depsgraph) */
+ skip_updates_hack = 1;
+ }
+
+ if (skip_updates_hack == 0)
+ RNA_property_update_cache_add(&new_ptr, prop);
+ }
}
/* successful */
@@ -1843,6 +1919,9 @@ void nlastrip_evaluate (PointerRNA *ptr, ListBase *channels, ListBase *modifiers
case NLASTRIP_TYPE_META: /* meta */
nlastrip_evaluate_meta(ptr, channels, modifiers, nes);
break;
+
+ default: /* do nothing */
+ break;
}
/* clear temp recursion safe-check */
@@ -2078,7 +2157,7 @@ static void animsys_evaluate_overrides (PointerRNA *ptr, AnimData *adt)
* and that the flags for which parts of the anim-data settings need to be recalculated
* have been set already by the depsgraph. Now, we use the recalc
*/
-void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short recalc)
+void BKE_animsys_evaluate_animdata (Scene *scene, ID *id, AnimData *adt, float ctime, short recalc)
{
PointerRNA id_ptr;
@@ -2130,6 +2209,14 @@ void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short re
*/
animsys_evaluate_overrides(&id_ptr, adt);
+ /* execute and clear all cached property update functions */
+ if (scene)
+ {
+ Main *bmain = G.main; // xxx - to get passed in!
+ RNA_property_update_cache_flush(bmain, scene);
+ RNA_property_update_cache_free();
+ }
+
/* clear recalc flag now */
adt->recalc= 0;
}
@@ -2141,7 +2228,7 @@ void BKE_animsys_evaluate_animdata (ID *id, AnimData *adt, float ctime, short re
* 'local' (i.e. belonging in the nearest ID-block that setting is related to, not a
* standard 'root') block are overridden by a larger 'user'
*/
-void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
+void BKE_animsys_evaluate_all_animation (Main *main, Scene *scene, float ctime)
{
ID *id;
@@ -2157,7 +2244,7 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
for (id= first; id; id= id->next) { \
if (ID_REAL_USERS(id) > 0) { \
AnimData *adt= BKE_animdata_from_id(id); \
- BKE_animsys_evaluate_animdata(id, adt, ctime, aflag); \
+ BKE_animsys_evaluate_animdata(scene, id, adt, ctime, aflag); \
} \
}
/* another macro for the "embedded" nodetree cases
@@ -2173,9 +2260,9 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
NtId_Type *ntp= (NtId_Type *)id; \
if (ntp->nodetree) { \
AnimData *adt2= BKE_animdata_from_id((ID *)ntp->nodetree); \
- BKE_animsys_evaluate_animdata((ID *)ntp->nodetree, adt2, ctime, ADT_RECALC_ANIM); \
+ BKE_animsys_evaluate_animdata(scene, (ID *)ntp->nodetree, adt2, ctime, ADT_RECALC_ANIM); \
} \
- BKE_animsys_evaluate_animdata(id, adt, ctime, aflag); \
+ BKE_animsys_evaluate_animdata(scene, id, adt, ctime, aflag); \
} \
}
@@ -2230,6 +2317,9 @@ void BKE_animsys_evaluate_all_animation (Main *main, float ctime)
/* particles */
EVAL_ANIM_IDS(main->particle.first, ADT_RECALC_ANIM);
+ /* lamps */
+ EVAL_ANIM_IDS(main->speaker.first, ADT_RECALC_ANIM);
+
/* objects */
/* ADT_RECALC_ANIM doesn't need to be supplied here, since object AnimData gets
* this tagged by Depsgraph on framechange. This optimisation means that objects
diff --git a/source/blender/blenkernel/intern/armature.c b/source/blender/blenkernel/intern/armature.c
index fd25ebe266f..62ce184a2d7 100644
--- a/source/blender/blenkernel/intern/armature.c
+++ b/source/blender/blenkernel/intern/armature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -1343,8 +1341,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 20b44b3b899..5f33059e117 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"
@@ -81,6 +82,7 @@
#include "BKE_scene.h"
#include "BKE_screen.h"
#include "BKE_sequencer.h"
+#include "BKE_sound.h"
#include "BLO_undofile.h"
@@ -89,6 +91,8 @@
#include "BKE_utildefines.h"
+#include "RNA_access.h"
+
#include "WM_api.h" // XXXXX BAD, very BAD dependency (bad level call) - remove asap, elubie
Global G;
@@ -96,7 +100,7 @@ UserDef U;
/* ListBase = {NULL, NULL}; */
short ENDIAN_ORDER;
-static char versionstr[48]= "";
+char versionstr[48]= "";
/* ********** free ********** */
@@ -110,6 +114,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 +136,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 +161,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 +186,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);
}
}
@@ -237,9 +242,14 @@ static void setup_app_data(bContext *C, BlendFileData *bfd, const char *filepath
// CTX_wm_manager_set(C, NULL);
clear_global();
+ /* clear old property update cache, in case some old references are left dangling */
+ RNA_property_update_cache_free();
+
G.main= bfd->main;
CTX_data_main_set(C, G.main);
+
+ sound_init_main(G.main);
if (bfd->user) {
@@ -328,28 +338,45 @@ static int handle_subversion_warning(Main *main)
return 1;
}
+static void keymap_item_free(wmKeyMapItem *kmi)
+{
+ if(kmi->properties) {
+ IDP_FreeProperty(kmi->properties);
+ MEM_freeN(kmi->properties);
+ }
+ if(kmi->ptr)
+ MEM_freeN(kmi->ptr);
+}
+
void BKE_userdef_free(void)
{
wmKeyMap *km;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
- for(km=U.keymaps.first; km; km=km->next) {
- for(kmi=km->items.first; kmi; kmi=kmi->next) {
- if(kmi->properties) {
- IDP_FreeProperty(kmi->properties);
- MEM_freeN(kmi->properties);
+ for(km=U.user_keymaps.first; km; km=km->next) {
+ for(kmdi=km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ if(kmdi->add_item) {
+ keymap_item_free(kmdi->add_item);
+ MEM_freeN(kmdi->add_item);
+ }
+ if(kmdi->remove_item) {
+ keymap_item_free(kmdi->remove_item);
+ MEM_freeN(kmdi->remove_item);
}
- if(kmi->ptr)
- MEM_freeN(kmi->ptr);
}
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ keymap_item_free(kmi);
+
+ BLI_freelistN(&km->diff_items);
BLI_freelistN(&km->items);
}
BLI_freelistN(&U.uistyles);
BLI_freelistN(&U.uifonts);
BLI_freelistN(&U.themes);
- BLI_freelistN(&U.keymaps);
+ BLI_freelistN(&U.user_keymaps);
BLI_freelistN(&U.addons);
}
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 a4ceb62ab55..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--;
}
}
}
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..5eb97630e83 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);
}
}
}
@@ -840,7 +843,8 @@ static void cdDM_drawFacesTex(DerivedMesh *dm, int (*setDrawOptions)(MTFace *tfa
cdDM_drawFacesTex_common(dm, setDrawOptions, NULL, NULL);
}
-static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs))
+static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index))
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
MVert *mv = cddm->mvert;
@@ -935,7 +939,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 +951,18 @@ 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;
+ int flush = 0;
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];
@@ -969,11 +974,28 @@ static void cdDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *us
/* Goal is to draw as long of a contiguous triangle
array as possible, so draw when we hit either an
invisible triangle or at the end of the array */
- if(!draw || i == tottri - 1 || mf[actualFace].mat_nr != mf[next_actualFace].mat_nr) {
- if(prevstart != i)
- /* Add one to the length (via `draw')
- if we're drawing at the end of the array */
- glDrawArrays(GL_TRIANGLES,prevstart*3, (i-prevstart+draw)*3);
+
+ /* flush buffer if current triangle isn't drawable or it's last triangle... */
+ flush= !draw || i == tottri - 1;
+
+ /* ... or when material setting is dissferent */
+ flush|= mf[actualFace].mat_nr != mf[next_actualFace].mat_nr;
+
+ if(!flush && compareDrawOptions) {
+ int next_orig= (index==NULL) ? next_actualFace : index[next_actualFace];
+
+ /* also compare draw options and flush buffer if they're different
+ need for face selection highlight in edit mode */
+ flush|= compareDrawOptions(userData, orig, next_orig) == 0;
+ }
+
+ if(flush) {
+ int first= prevstart*3;
+ int count= (i-prevstart+(draw ? 1 : 0))*3; /* Add one to the length if we're drawing at the end of the array */
+
+ if(count)
+ glDrawArrays(GL_TRIANGLES, first, count);
+
prevstart = i + 1;
}
}
@@ -990,6 +1012,50 @@ static void cdDM_drawMappedFacesTex(DerivedMesh *dm, int (*setDrawOptions)(void
cdDM_drawFacesTex_common(dm, NULL, setDrawOptions, userData);
}
+static void cddm_draw_attrib_vertex(DMVertexAttribs *attribs, MVert *mvert, int a, int index, int vert, int smoothnormal)
+{
+ int b;
+
+ /* orco texture coordinates */
+ if(attribs->totorco) {
+ if(attribs->orco.glTexco)
+ glTexCoord3fv(attribs->orco.array[index]);
+ else
+ glVertexAttrib3fvARB(attribs->orco.glIndex, attribs->orco.array[index]);
+ }
+
+ /* uv texture coordinates */
+ for(b = 0; b < attribs->tottface; b++) {
+ MTFace *tf = &attribs->tface[b].array[a];
+
+ if(attribs->tface[b].glTexco)
+ glTexCoord2fv(tf->uv[vert]);
+ else
+ glVertexAttrib2fvARB(attribs->tface[b].glIndex, tf->uv[vert]);
+ }
+
+ /* vertex colors */
+ for(b = 0; b < attribs->totmcol; b++) {
+ MCol *cp = &attribs->mcol[b].array[a*4 + vert];
+ GLubyte col[4];
+ col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a;
+ glVertexAttrib4ubvARB(attribs->mcol[b].glIndex, col);
+ }
+
+ /* tangent for normal mapping */
+ if(attribs->tottang) {
+ float *tang = attribs->tang.array[a*4 + vert];
+ glVertexAttrib4fvARB(attribs->tang.glIndex, tang);
+ }
+
+ /* vertex normal */
+ if(smoothnormal)
+ glNormal3sv(mvert[index].no);
+
+ /* vertex coordinate */
+ glVertex3fv(mvert[index].co);
+}
+
static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, void *attribs), int (*setDrawOptions)(void *userData, int index), void *userData)
{
CDDerivedMesh *cddm = (CDDerivedMesh*) dm;
@@ -1080,37 +1146,14 @@ static void cdDM_drawMappedFacesGLSL(DerivedMesh *dm, int (*setMaterial)(int, vo
}
}
-#define PASSVERT(index, vert) { \
- if(attribs.totorco) \
- glVertexAttrib3fvARB(attribs.orco.glIndex, attribs.orco.array[index]); \
- for(b = 0; b < attribs.tottface; b++) { \
- MTFace *tf = &attribs.tface[b].array[a]; \
- glVertexAttrib2fvARB(attribs.tface[b].glIndex, tf->uv[vert]); \
- } \
- for(b = 0; b < attribs.totmcol; b++) { \
- MCol *cp = &attribs.mcol[b].array[a*4 + vert]; \
- GLubyte col[4]; \
- col[0]= cp->b; col[1]= cp->g; col[2]= cp->r; col[3]= cp->a; \
- glVertexAttrib4ubvARB(attribs.mcol[b].glIndex, col); \
- } \
- if(attribs.tottang) { \
- float *tang = attribs.tang.array[a*4 + vert]; \
- glVertexAttrib4fvARB(attribs.tang.glIndex, tang); \
- } \
- if(smoothnormal) \
- glNormal3sv(mvert[index].no); \
- glVertex3fv(mvert[index].co); \
- }
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v1, 0, smoothnormal);
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v2, 1, smoothnormal);
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal);
- PASSVERT(mface->v1, 0);
- PASSVERT(mface->v2, 1);
- PASSVERT(mface->v3, 2);
if(mface->v4)
- PASSVERT(mface->v4, 3)
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v4, 3, smoothnormal);
else
- PASSVERT(mface->v3, 2)
-
-#undef PASSVERT
+ cddm_draw_attrib_vertex(&attribs, mvert, a, mface->v3, 2, smoothnormal);
}
glEnd();
}
@@ -1129,9 +1172,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 +1196,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 +1236,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 +1245,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 +1327,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 +1368,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 +1386,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/cloth.c b/source/blender/blenkernel/intern/cloth.c
index ea055e90b45..3a86389dba7 100644
--- a/source/blender/blenkernel/intern/cloth.c
+++ b/source/blender/blenkernel/intern/cloth.c
@@ -923,7 +923,7 @@ static int cloth_from_object(Object *ob, ClothModifierData *clmd, DerivedMesh *d
for(i = 0; i < dm->getNumVerts(dm); i++)
{
- maxdist = MAX2(maxdist, clmd->coll_parms->selfepsilon* ( cloth->verts[i].avg_spring_len*2.0));
+ maxdist = MAX2(maxdist, clmd->coll_parms->selfepsilon* ( cloth->verts[i].avg_spring_len*2.0f));
}
clmd->clothObject->bvhselftree = bvhselftree_build_from_cloth ( clmd, maxdist );
diff --git a/source/blender/blenkernel/intern/collision.c b/source/blender/blenkernel/intern/collision.c
index e2a1b0dfb33..ed073f03270 100644
--- a/source/blender/blenkernel/intern/collision.c
+++ b/source/blender/blenkernel/intern/collision.c
@@ -1091,7 +1091,7 @@ static int cloth_collision_response_moving ( ClothModifierData *clmd, CollisionM
VECADDMUL(cloth1->verts[collpair->ap1].impulse, pimpulse, w1*2.0);
VECADDMUL(cloth1->verts[collpair->ap2].impulse, pimpulse, w2*2.0);
- VECADDMUL(cloth1->verts[collpair->ap3].impulse, pimpulse, w3*2.0);;
+ VECADDMUL(cloth1->verts[collpair->ap3].impulse, pimpulse, w3*2.0);
cloth1->verts[collpair->ap1].impulse_count++;
cloth1->verts[collpair->ap2].impulse_count++;
cloth1->verts[collpair->ap3].impulse_count++;
@@ -1487,8 +1487,8 @@ static CollPair* cloth_collision ( ModifierData *md1, ModifierData *md2,
sdis = clmd->coll_parms->distance_repel + epsilon2 + FLT_EPSILON;
- /*apply a repulsion force, to help the solver along.
- this is kindof crude, it only tests one vert of the triangle*/
+ /* apply a repulsion force, to help the solver along.
+ * this is kindof crude, it only tests one vert of the triangle */
if (isect_ray_plane_v3(cloth->verts[collpair->ap1].tx, n2, collmd->current_xnew[collpair->bp1].co,
collmd->current_xnew[collpair->bp2].co,
collmd->current_xnew[collpair->bp3].co, &l, 0))
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index d3c14a9dd12..91091d3880f 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -424,7 +422,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 +447,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 +578,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 +595,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 +675,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 +1150,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 +2037,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 +2156,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 +2207,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 +2221,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 {
@@ -2648,7 +2639,7 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
/* if inside, then move to surface */
if (dist <= data->dist) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
/* if soft-distance is enabled, start fading once owner is dist+softdist from the target */
else if (data->flag & LIMITDIST_USESOFT) {
@@ -2661,14 +2652,14 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
/* if outside, then move to surface */
if (dist >= data->dist) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
/* if soft-distance is enabled, start fading once owner is dist-soft from the target */
else if (data->flag & LIMITDIST_USESOFT) {
// FIXME: there's a problem with "jumping" when this kicks in
if (dist >= (data->dist - data->soft)) {
sfac = (float)( data->soft*(1.0f - expf(-(dist - data->dist)/data->soft)) + data->dist );
- sfac /= dist;
+ if (dist != 0.0f) sfac /= dist;
clamp_surf= 1;
}
@@ -2677,7 +2668,7 @@ static void distlimit_evaluate (bConstraint *con, bConstraintOb *cob, ListBase *
else {
if (IS_EQF(dist, data->dist)==0) {
clamp_surf= 1;
- sfac= data->dist / dist;
+ if (dist != 0.0f) sfac= data->dist / dist;
}
}
@@ -4427,6 +4418,34 @@ void get_constraint_target_matrix (struct Scene *scene, bConstraint *con, int n,
unit_m4(mat);
}
}
+
+/* Get the list of targets required for solving a constraint */
+void get_constraint_targets_for_solving (bConstraint *con, bConstraintOb *cob, ListBase *targets, float ctime)
+{
+ bConstraintTypeInfo *cti= constraint_get_typeinfo(con);
+
+ if (cti && cti->get_constraint_targets) {
+ bConstraintTarget *ct;
+
+ /* get targets
+ * - constraints should use ct->matrix, not directly accessing values
+ * - ct->matrix members have not yet been calculated here!
+ */
+ cti->get_constraint_targets(con, targets);
+
+ /* set matrices
+ * - calculate if possible, otherwise just initialise as identity matrix
+ */
+ if (cti->get_target_matrix) {
+ for (ct= targets->first; ct; ct= ct->next)
+ cti->get_target_matrix(con, cob, ct, ctime);
+ }
+ else {
+ for (ct= targets->first; ct; ct= ct->next)
+ unit_m4(ct->matrix);
+ }
+ }
+}
/* ---------- Evaluation ----------- */
@@ -4471,27 +4490,7 @@ void solve_constraints (ListBase *conlist, bConstraintOb *cob, float ctime)
constraint_mat_convertspace(cob->ob, cob->pchan, cob->matrix, CONSTRAINT_SPACE_WORLD, con->ownspace);
/* prepare targets for constraint solving */
- if (cti->get_constraint_targets) {
- bConstraintTarget *ct;
-
- /* get targets
- * - constraints should use ct->matrix, not directly accessing values
- * - ct->matrix members have not yet been calculated here!
- */
- cti->get_constraint_targets(con, &targets);
-
- /* set matrices
- * - calculate if possible, otherwise just initialise as identity matrix
- */
- if (cti->get_target_matrix) {
- for (ct= targets.first; ct; ct= ct->next)
- cti->get_target_matrix(con, cob, ct, ctime);
- }
- else {
- for (ct= targets.first; ct; ct= ct->next)
- unit_m4(ct->matrix);
- }
- }
+ get_constraint_targets_for_solving(con, cob, &targets, ctime);
/* Solve the constraint and put result in cob->matrix */
cti->evaluate_constraint(con, cob, &targets);
diff --git a/source/blender/blenkernel/intern/curve.c b/source/blender/blenkernel/intern/curve.c
index 704af73dd10..b1beb6c449a 100644
--- a/source/blender/blenkernel/intern/curve.c
+++ b/source/blender/blenkernel/intern/curve.c
@@ -580,46 +580,47 @@ void addNurbPointsBezier(Nurb *nu, int number)
/* ~~~~~~~~~~~~~~~~~~~~Non Uniform Rational B Spline calculations ~~~~~~~~~~~ */
-static void calcknots(float *knots, short aantal, short order, short type)
-/* knots: number of pnts NOT corrected for cyclic */
-/* type; 0: uniform, 1: endpoints, 2: bezier */
+static void calcknots(float *knots, const short pnts, const short order, const short flag)
{
+ /* knots: number of pnts NOT corrected for cyclic */
+ const int pnts_order= pnts + order;
float k;
- int a, t;
-
- t = aantal+order;
- if(type==0) {
+ int a;
- for(a=0;a<t;a++) {
- knots[a]= (float)a;
- }
- }
- else if(type==1) {
+ switch(flag & (CU_NURB_ENDPOINT|CU_NURB_BEZIER)) {
+ case CU_NURB_ENDPOINT:
k= 0.0;
- for(a=1;a<=t;a++) {
+ for(a=1; a <= pnts_order; a++) {
knots[a-1]= k;
- if(a>=order && a<=aantal) k+= 1.0f;
+ if(a >= order && a <= pnts) k+= 1.0f;
}
- }
- else if(type==2) {
- /* Warning, the order MUST be 2 or 4, if this is not enforced, the displist will be corrupt */
+ break;
+ case CU_NURB_BEZIER:
+ /* Warning, the order MUST be 2 or 4,
+ * if this is not enforced, the displist will be corrupt */
if(order==4) {
k= 0.34;
- for(a=0;a<t;a++) {
+ for(a=0; a < pnts_order; a++) {
knots[a]= floorf(k);
k+= (1.0f/3.0f);
}
}
else if(order==3) {
k= 0.6f;
- for(a=0;a<t;a++) {
- if(a>=order && a<=aantal) k+= 0.5f;
+ for(a=0; a < pnts_order; a++) {
+ if(a >= order && a <= pnts) k+= 0.5f;
knots[a]= floorf(k);
}
}
else {
printf("bez nurb curve order is not 3 or 4, should never happen\n");
}
+ break;
+ default:
+ for(a=0; a < pnts_order; a++) {
+ knots[a]= (float)a;
+ }
+ break;
}
}
@@ -662,7 +663,7 @@ static void makeknots(Nurb *nu, short uv)
calcknots(nu->knotsu, nu->pntsu, nu->orderu, 0); /* cyclic should be uniform */
makecyclicknots(nu->knotsu, nu->pntsu, nu->orderu);
} else {
- calcknots(nu->knotsu, nu->pntsu, nu->orderu, nu->flagu>>1);
+ calcknots(nu->knotsu, nu->pntsu, nu->orderu, nu->flagu);
}
}
else nu->knotsu= NULL;
@@ -675,7 +676,7 @@ static void makeknots(Nurb *nu, short uv)
calcknots(nu->knotsv, nu->pntsv, nu->orderv, 0); /* cyclic should be uniform */
makecyclicknots(nu->knotsv, nu->pntsv, nu->orderv);
} else {
- calcknots(nu->knotsv, nu->pntsv, nu->orderv, nu->flagv>>1);
+ calcknots(nu->knotsv, nu->pntsv, nu->orderv, nu->flagv);
}
}
else nu->knotsv= NULL;
@@ -2431,6 +2432,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;
@@ -2471,7 +2473,7 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(len2==0.0f) len2=1.0f;
- if(bezt->h1==HD_AUTO || bezt->h2==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM) || ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) { /* auto */
vx= dx1/len2 + dx/len1;
vy= dy1/len2 + dy/len1;
vz= dz1/len2 + dz/len1;
@@ -2482,13 +2484,13 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
if(len1>5.0f*len2) len1= 5.0f*len2;
if(len2>5.0f*len1) len2= 5.0f*len1;
- if(bezt->h1==HD_AUTO) {
+ if(ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM)) {
len1/=len;
*(p2-3)= *p2-vx*len1;
*(p2-2)= *(p2+1)-vy*len1;
*(p2-1)= *(p2+2)-vz*len1;
- if(mode==2 && next && prev) { // keep horizontal if extrema
+ if((bezt->h1==HD_AUTO_ANIM) && next && prev) { // keep horizontal if extrema
float ydiff1= prev->vec[1][1] - bezt->vec[1][1];
float ydiff2= next->vec[1][1] - bezt->vec[1][1];
if( (ydiff1 <= 0.0f && ydiff2 <= 0.0f) || (ydiff1 >= 0.0f && ydiff2 >= 0.0f) ) {
@@ -2510,13 +2512,13 @@ void calchandleNurb(BezTriple *bezt, BezTriple *prev, BezTriple *next, int mode)
}
}
}
- if(bezt->h2==HD_AUTO) {
+ if(ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) {
len2/=len;
*(p2+3)= *p2+vx*len2;
*(p2+4)= *(p2+1)+vy*len2;
*(p2+5)= *(p2+2)+vz*len2;
- if(mode==2 && next && prev) { // keep horizontal if extrema
+ if((bezt->h2==HD_AUTO_ANIM) && next && prev) { // keep horizontal if extrema
float ydiff1= prev->vec[1][1] - bezt->vec[1][1];
float ydiff2= next->vec[1][1] - bezt->vec[1][1];
if( (ydiff1 <= 0.0f && ydiff2 <= 0.0f) || (ydiff1 >= 0.0f && ydiff2 >= 0.0f) ) {
@@ -2587,30 +2589,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]);
+ }
}
}
}
@@ -2664,15 +2674,15 @@ void testhandlesNurb(Nurb *nu)
if(bezt->f1 & SELECT) flag++;
if(bezt->f2 & SELECT) flag += 2;
if(bezt->f3 & SELECT) flag += 4;
-
+
if( !(flag==0 || flag==7) ) {
- if(bezt->h1==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM)) { /* auto */
bezt->h1= HD_ALIGN;
}
- if(bezt->h2==HD_AUTO) { /* auto */
+ if(ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM)) { /* auto */
bezt->h2= HD_ALIGN;
}
-
+
if(bezt->h1==HD_VECT) { /* vector */
if(flag < 4) bezt->h1= 0;
}
@@ -2682,7 +2692,7 @@ void testhandlesNurb(Nurb *nu)
}
bezt++;
}
-
+
calchandlesNurb(nu);
}
@@ -3250,3 +3260,28 @@ void curve_translate(Curve *cu, float offset[3], int do_keys)
}
}
}
+
+void curve_delete_material_index(Curve *cu, int index)
+{
+ const int curvetype= curve_type(cu);
+
+ if(curvetype == OB_FONT) {
+ struct CharInfo *info= cu->strinfo;
+ int i;
+ for(i= cu->len-1; i >= 0; i--, info++) {
+ if (info->mat_nr && info->mat_nr>=index) {
+ info->mat_nr--;
+ }
+ }
+ }
+ else {
+ Nurb *nu;
+
+ for (nu= cu->nurb.first; nu; nu= nu->next) {
+ if(nu->mat_nr && nu->mat_nr>=index) {
+ nu->mat_nr--;
+ if (curvetype == OB_CURVE) nu->charidx--;
+ }
+ }
+ }
+}
diff --git a/source/blender/blenkernel/intern/customdata.c b/source/blender/blenkernel/intern/customdata.c
index 57a7c917fa3..883f67c3061 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++)
@@ -809,42 +808,67 @@ static void layerDefault_mcol(void *data, int count)
static const LayerTypeInfo LAYERTYPEINFO[CD_NUMTYPES] = {
+ /* 0: CD_MVERT */
{sizeof(MVert), "MVert", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 1: CD_MSTICKY */
{sizeof(MSticky), "MSticky", 1, NULL, NULL, NULL, layerInterp_msticky, NULL,
NULL},
+ /* 2: CD_MDEFORMVERT */
{sizeof(MDeformVert), "MDeformVert", 1, NULL, layerCopy_mdeformvert,
layerFree_mdeformvert, layerInterp_mdeformvert, NULL, NULL},
+ /* 3: CD_MEDGE */
{sizeof(MEdge), "MEdge", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 4: CD_MFACE */
{sizeof(MFace), "MFace", 1, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 5: CD_MTFACE */
{sizeof(MTFace), "MTFace", 1, "UVTex", layerCopy_tface, NULL,
layerInterp_tface, layerSwap_tface, layerDefault_tface},
+ /* 6: CD_MCOL */
/* 4 MCol structs per face */
{sizeof(MCol)*4, "MCol", 4, "Col", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
+ /* 7: CD_ORIGINDEX */
{sizeof(int), "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 8: CD_NORMAL */
/* 3 floats per normal vector */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 9: CD_FLAGS */
{sizeof(int), "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 10: CD_PROP_FLT */
{sizeof(MFloatProperty), "MFloatProperty",1,"Float",NULL,NULL,NULL,NULL},
+ /* 11: CD_PROP_INT */
{sizeof(MIntProperty), "MIntProperty",1,"Int",NULL,NULL,NULL,NULL},
+ /* 12: CD_PROP_STR */
{sizeof(MStringProperty), "MStringProperty",1,"String",NULL,NULL,NULL,NULL},
+ /* 13: CD_ORIGSPACE */
{sizeof(OrigSpaceFace), "OrigSpaceFace", 1, "UVTex", layerCopy_origspace_face, NULL,
layerInterp_origspace_face, layerSwap_origspace_face, layerDefault_origspace_face},
+ /* 14: CD_ORCO */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 15: CD_MTEXPOLY */
{sizeof(MTexPoly), "MTexPoly", 1, "Face Texture", NULL, NULL, NULL, NULL, NULL},
+ /* 16: CD_MLOOPUV */
{sizeof(MLoopUV), "MLoopUV", 1, "UV coord", NULL, NULL, layerInterp_mloopuv, NULL, NULL},
+ /* 17: CD_MLOOPCOL */
{sizeof(MLoopCol), "MLoopCol", 1, "Col", NULL, NULL, layerInterp_mloopcol, NULL, layerDefault_mloopcol},
+ /* 18: CD_TANGENT */
{sizeof(float)*4*4, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 19: CD_MDISPS */
{sizeof(MDisps), "MDisps", 1, NULL, layerCopy_mdisps,
layerFree_mdisps, layerInterp_mdisps, layerSwap_mdisps, NULL, layerRead_mdisps, layerWrite_mdisps,
layerFilesize_mdisps, layerValidate_mdisps},
+ /* 20: CD_WEIGHT_MCOL */
{sizeof(MCol)*4, "MCol", 4, "WeightCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
- {sizeof(MCol)*4, "MCol", 4, "IDCol", NULL, NULL, layerInterp_mcol,
+ /* 21: CD_ID_MCOL */
+ {sizeof(MCol)*4, "MCol", 4, "IDCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
- {sizeof(MCol)*4, "MCol", 4, "TexturedCol", NULL, NULL, layerInterp_mcol,
+ /* 22: CD_TEXTURE_MCOL */
+ {sizeof(MCol)*4, "MCol", 4, "TexturedCol", NULL, NULL, layerInterp_mcol,
layerSwap_mcol, layerDefault_mcol},
+ /* 23: CD_CLOTH_ORCO */
{sizeof(float)*3, "", 0, NULL, NULL, NULL, NULL, NULL, NULL},
+ /* 24: CD_RECAST */
{sizeof(MRecast), "MRecast", 1,"Recast",NULL,NULL,NULL,NULL}
};
diff --git a/source/blender/blenkernel/intern/depsgraph.c b/source/blender/blenkernel/intern/depsgraph.c
index 472d7d77b80..6f27a104144 100644
--- a/source/blender/blenkernel/intern/depsgraph.c
+++ b/source/blender/blenkernel/intern/depsgraph.c
@@ -301,6 +301,7 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
ChannelDriver *driver= fcu->driver;
DriverVar *dvar;
+ int isdata_fcu = isdata || (fcu->rna_path && strstr(fcu->rna_path, "modifiers["));
/* loop over variables to get the target relationships */
for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
@@ -320,14 +321,14 @@ static void dag_add_driver_relation(AnimData *adt, DagForest *dag, DagNode *node
( ((dtar->rna_path) && strstr(dtar->rna_path, "pose.bones[")) ||
((dtar->flag & DTAR_FLAG_STRUCT_REF) && (dtar->pchan_name[0])) ))
{
- dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
}
/* check if ob data */
else if (dtar->rna_path && strstr(dtar->rna_path, "data."))
- dag_add_relation(dag, node1, node, isdata?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_DATA_DATA:DAG_RL_DATA_OB, "Driver");
/* normal */
else
- dag_add_relation(dag, node1, node, isdata?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
+ dag_add_relation(dag, node1, node, isdata_fcu?DAG_RL_OB_DATA:DAG_RL_OB_OB, "Driver");
}
}
}
@@ -372,6 +373,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 +455,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 +600,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 +655,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 +733,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 */
@@ -2048,6 +2062,23 @@ static short animdata_use_time(AnimData *adt)
return 1;
}
+ /* If we have drivers, more likely than not, on a frame change
+ * they'll need updating because their owner changed
+ *
+ * This is kindof a hack to get around a whole host of problems
+ * involving drivers using non-object datablock data (which the
+ * depsgraph currently has no way of representing let alone correctly
+ * dependency sort+tagging). By doing this, at least we ensure that
+ * some commonly attempted drivers (such as scene -> current frame;
+ * see "Driver updates fail" thread on Bf-committers dated July 2)
+ * will work correctly, and that other non-object datablocks will have
+ * their drivers update at least on frame change.
+ *
+ * -- Aligorith, July 4 2011
+ */
+ if (adt->drivers.first)
+ return 1;
+
return 0;
}
@@ -2364,7 +2395,7 @@ static void dag_id_flush_update(Scene *sce, ID *id)
if(id) {
idtype= GS(id->name);
- if(ELEM7(idtype, ID_ME, ID_CU, ID_MB, ID_LA, ID_LT, ID_CA, ID_AR)) {
+ if(ELEM8(idtype, ID_ME, ID_CU, ID_MB, ID_LA, ID_LT, ID_CA, ID_AR, ID_SPK)) {
for(obt=bmain->object.first; obt; obt= obt->id.next) {
if(!(ob && obt == ob) && obt->data == id) {
obt->recalc |= OB_RECALC_DATA;
diff --git a/source/blender/blenkernel/intern/displist.c b/source/blender/blenkernel/intern/displist.c
index 9aa794aa97e..c2ed6468643 100644
--- a/source/blender/blenkernel/intern/displist.c
+++ b/source/blender/blenkernel/intern/displist.c
@@ -65,9 +65,6 @@
#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 */
@@ -286,499 +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 void fastshade_customdata(CustomData *fdata, int a, int j, Material *ma)
-{
- CustomDataLayer *layer;
- MTFace *mtface;
- int index, 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) {
- 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) {
- 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++) {
- 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) {
- 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) {
- 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)
@@ -1865,6 +1369,11 @@ void makeDispListCurveTypes(Scene *scene, Object *ob, int forOrco)
Curve *cu= ob->data;
ListBase *dispbase;
+ /* The same check for duplis as in do_makeDispListCurveTypes.
+ Happens when curve used for constraint/bevel was converted to mesh.
+ check there is still needed for render displist and orco displists. */
+ if(!ELEM3(ob->type, OB_SURF, OB_CURVE, OB_FONT)) return;
+
freedisplist(&(ob->disp));
dispbase= &(ob->disp);
freedisplist(dispbase);
diff --git a/source/blender/blenkernel/intern/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 d6a9d950015..3916d0ca701 100644
--- a/source/blender/blenkernel/intern/fcurve.c
+++ b/source/blender/blenkernel/intern/fcurve.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -42,6 +40,7 @@
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
+#include "DNA_constraint_types.h"
#include "DNA_object_types.h"
#include "BLI_blenlib.h"
@@ -52,6 +51,7 @@
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_armature.h"
+#include "BKE_constraint.h"
#include "BKE_curve.h"
#include "BKE_global.h"
#include "BKE_object.h"
@@ -172,7 +172,7 @@ void copy_fcurves (ListBase *dst, ListBase *src)
/* ----------------- Finding F-Curves -------------------------- */
/* high level function to get an fcurve from C without having the rna */
-FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *prop_name, int index)
+FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *prop_name, int index, char *driven)
{
/* anim vars */
AnimData *adt= BKE_animdata_from_id(id);
@@ -182,6 +182,9 @@ FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *pro
PointerRNA ptr;
PropertyRNA *prop;
char *path;
+
+ if(driven)
+ *driven = 0;
/* only use the current action ??? */
if (ELEM(NULL, adt, adt->action))
@@ -199,11 +202,12 @@ FCurve *id_data_find_fcurve(ID *id, void *data, StructRNA *type, const char *pro
fcu= list_find_fcurve(&adt->action->curves, path, index);
/* if not animated, check if driven */
-#if 0
if ((fcu == NULL) && (adt->drivers.first)) {
- fcu= list_find_fcurve(&adt->drivers, path, but->rnaindex);
+ fcu= list_find_fcurve(&adt->drivers, path, index);
+ if(fcu && driven)
+ *driven = 1;
+ fcu = NULL;
}
-#endif
MEM_freeN(path);
}
@@ -786,13 +790,10 @@ void calchandles_fcurve (FCurve *fcu)
if (bezt->vec[2][0] < bezt->vec[1][0]) bezt->vec[2][0]= bezt->vec[1][0];
/* calculate auto-handles */
- if (fcu->flag & FCURVE_AUTO_HANDLES)
- calchandleNurb(bezt, prev, next, 2); /* 2==special autohandle && keep extrema horizontal */
- else
- calchandleNurb(bezt, prev, next, 1); /* 1==special autohandle */
+ calchandleNurb(bezt, prev, next, 1); /* 1==special autohandle */
/* for automatic ease in and out */
- if ((bezt->h1==HD_AUTO) && (bezt->h2==HD_AUTO)) {
+ if (ELEM(bezt->h1,HD_AUTO,HD_AUTO_ANIM) && ELEM(bezt->h2,HD_AUTO,HD_AUTO_ANIM)) {
/* only do this on first or last beztriple */
if ((a == 0) || (a == fcu->totvert-1)) {
/* set both handles to have same horizontal value as keyframe */
@@ -840,9 +841,9 @@ void testhandles_fcurve (FCurve *fcu)
/* one or two handles selected only */
if (ELEM(flag, 0, 7)==0) {
/* auto handles become aligned */
- if (bezt->h1==HD_AUTO)
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM))
bezt->h1= HD_ALIGN;
- if (bezt->h2==HD_AUTO)
+ if (ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM))
bezt->h2= HD_ALIGN;
/* vector handles become 'free' when only one half selected */
@@ -1002,7 +1003,7 @@ static float dtar_get_prop_val (ChannelDriver *driver, DriverTarget *dtar)
/* get property to read from, and get value as appropriate */
if (RNA_path_resolve_full(&id_ptr, dtar->rna_path, &ptr, &prop, &index)) {
- if(RNA_property_array_check(&ptr, prop)) {
+ if(RNA_property_array_check(prop)) {
/* array */
if (index < RNA_property_array_length(&ptr, prop)) {
switch (RNA_property_type(prop)) {
@@ -1151,25 +1152,50 @@ static float dvar_eval_locDiff (ChannelDriver *driver, DriverVar *dvar)
/* check if object or bone */
if (pchan) {
/* bone */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE) == 0) {
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ float mat[4][4];
+
+ /* extract transform just like how the constraints do it! */
+ copy_m4_m4(mat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
+
+ /* ... and from that, we get our transform */
+ VECCOPY(tmp_loc, mat[3]);
+ }
+ else {
+ /* transform space (use transform values directly) */
+ VECCOPY(tmp_loc, pchan->loc);
+ }
+ }
+ else {
/* convert to worldspace */
VECCOPY(tmp_loc, pchan->pose_head);
mul_m4_v3(ob->obmat, tmp_loc);
}
- else {
- /* local (use transform values directly) */
- VECCOPY(tmp_loc, pchan->loc);
- }
}
else {
/* object */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE) == 0) {
- /* worldspace */
- VECCOPY(tmp_loc, ob->obmat[3]);
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ // XXX: this should practically be the same as transform space...
+ float mat[4][4];
+
+ /* extract transform just like how the constraints do it! */
+ copy_m4_m4(mat, ob->obmat);
+ constraint_mat_convertspace(ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
+
+ /* ... and from that, we get our transform */
+ VECCOPY(tmp_loc, mat[3]);
+ }
+ else {
+ /* transform space (use transform values directly) */
+ VECCOPY(tmp_loc, ob->loc);
+ }
}
else {
- /* local (use transform values directly) */
- VECCOPY(tmp_loc, ob->loc);
+ /* worldspace */
+ VECCOPY(tmp_loc, ob->obmat[3]);
}
}
@@ -1197,7 +1223,7 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
Object *ob= (Object *)dtar_id_ensure_proxy_from(dtar->id);
bPoseChannel *pchan;
float mat[4][4];
- float eul[3] = {0.0f,0.0f,0.0f};
+ float oldEul[3] = {0.0f,0.0f,0.0f};
short useEulers=0, rotOrder=ROT_MODE_EUL;
/* check if this target has valid data */
@@ -1210,36 +1236,62 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
/* try to get posechannel */
pchan= get_pose_channel(ob->pose, dtar->pchan_name);
- /* check if object or bone, and get transform matrix accordingly */
+ /* check if object or bone, and get transform matrix accordingly
+ * - "useEulers" code is used to prevent the problems associated with non-uniqueness
+ * of euler decomposition from matrices [#20870]
+ * - localspace is for [#21384], where parent results are not wanted
+ * but local-consts is for all the common "corrective-shapes-for-limbs" situations
+ */
if (pchan) {
/* bone */
if (pchan->rotmode > 0) {
- VECCOPY(eul, pchan->eul);
+ VECCOPY(oldEul, pchan->eul);
rotOrder= pchan->rotmode;
useEulers = 1;
}
if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
- /* specially calculate local matrix, since chan_mat is not valid
- * since it stores delta transform of pose_mat so that deforms work
- */
- pchan_to_mat4(pchan, mat);
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ /* just like how the constraints do it! */
+ copy_m4_m4(mat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, mat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
+ }
+ else {
+ /* specially calculate local matrix, since chan_mat is not valid
+ * since it stores delta transform of pose_mat so that deforms work
+ * so it cannot be used here for "transform" space
+ */
+ pchan_to_mat4(pchan, mat);
+ }
}
- else
+ else {
+ /* worldspace matrix */
mul_m4_m4m4(mat, pchan->pose_mat, ob->obmat);
+ }
}
else {
/* object */
if (ob->rotmode > 0) {
- VECCOPY(eul, ob->rot);
+ VECCOPY(oldEul, ob->rot);
rotOrder= ob->rotmode;
useEulers = 1;
}
- if (dtar->flag & DTAR_FLAG_LOCALSPACE)
- object_to_mat4(ob, mat);
- else
+ if (dtar->flag & DTAR_FLAG_LOCALSPACE) {
+ if (dtar->flag & DTAR_FLAG_LOCAL_CONSTS) {
+ /* just like how the constraints do it! */
+ copy_m4_m4(mat, ob->obmat);
+ constraint_mat_convertspace(ob, NULL, mat, CONSTRAINT_SPACE_WORLD, CONSTRAINT_SPACE_LOCAL);
+ }
+ else {
+ /* transforms to matrix */
+ object_to_mat4(ob, mat);
+ }
+ }
+ else {
+ /* worldspace matrix - just the good-old one */
copy_m4_m4(mat, ob->obmat);
+ }
}
/* check which transform */
@@ -1255,9 +1307,21 @@ static float dvar_eval_transChan (ChannelDriver *driver, DriverVar *dvar)
return scale[dtar->transChan - DTAR_TRANSCHAN_SCALEX];
}
else if (dtar->transChan >= DTAR_TRANSCHAN_ROTX) {
- /* extract euler rotation (if needed), and choose the right axis */
- if ((dtar->flag & DTAR_FLAG_LOCALSPACE)==0 || (useEulers == 0))
- mat4_to_eulO(eul, rotOrder, mat);
+ /* extract rotation as eulers (if needed)
+ * - definitely if rotation order isn't eulers already
+ * - if eulers, then we have 2 options:
+ * a) decompose transform matrix as required, then try to make eulers from
+ * there compatible with original values
+ * b) [NOT USED] directly use the original values (no decomposition)
+ * - only an option for "transform space", if quality is really bad with a)
+ */
+ float eul[3];
+
+ mat4_to_eulO(eul, rotOrder, mat);
+
+ if (useEulers) {
+ compatible_eul(eul, oldEul);
+ }
return eul[dtar->transChan - DTAR_TRANSCHAN_ROTX];
}
diff --git a/source/blender/blenkernel/intern/fmodifier.c b/source/blender/blenkernel/intern/fmodifier.c
index 844f25e6d21..95c0aa60991 100644
--- a/source/blender/blenkernel/intern/fmodifier.c
+++ b/source/blender/blenkernel/intern/fmodifier.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -606,7 +604,7 @@ static float fcm_cycles_time (FCurve *fcu, FModifier *fcm, float UNUSED(cvalue),
/* calculate the 'number' of the cycle */
cycle= ((float)side * (evaltime - ofs) / cycdx);
-
+
/* calculate the time inside the cycle */
cyct= fmod(evaltime - ofs, cycdx);
@@ -631,11 +629,11 @@ static float fcm_cycles_time (FCurve *fcu, FModifier *fcm, float UNUSED(cvalue),
cycyofs = (float)ceil((evaltime - ofs) / cycdx);
cycyofs *= cycdy;
}
-
+
/* special case for cycle start/end */
if(cyct == 0.0f) {
evaltime = (side == 1 ? lastkey[0] : prevkey[0]);
-
+
if((mode == FCM_EXTRAPOLATE_MIRROR) && ((int)cycle % 2))
evaltime = (side == 1 ? prevkey[0] : lastkey[0]);
}
@@ -1013,6 +1011,7 @@ FModifier *add_fmodifier (ListBase *modifiers, int type)
fcm= MEM_callocN(sizeof(FModifier), "F-Curve Modifier");
fcm->type = type;
fcm->flag = FMODIFIER_FLAG_EXPANDED;
+ fcm->influence = 1.0f;
BLI_addtail(modifiers, fcm);
/* tag modifier as "active" if no other modifiers exist in the stack yet */
@@ -1200,6 +1199,47 @@ short list_has_suitable_fmodifier (ListBase *modifiers, int mtype, short acttype
/* Evaluation API --------------------------- */
+/* helper function - calculate influence of FModifier */
+static float eval_fmodifier_influence (FModifier *fcm, float evaltime)
+{
+ float influence;
+
+ /* sanity check */
+ if (fcm == NULL)
+ return 0.0f;
+
+ /* should we use influence stored in modifier or not
+ * NOTE: this is really just a hack so that we don't need to version patch old files ;)
+ */
+ if (fcm->flag & FMODIFIER_FLAG_USEINFLUENCE)
+ influence = fcm->influence;
+ else
+ influence = 1.0f;
+
+ /* restricted range or full range? */
+ if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) {
+ if ((evaltime <= fcm->sfra) || (evaltime >= fcm->efra)) {
+ /* out of range */
+ return 0.0f;
+ }
+ else if ((evaltime > fcm->sfra) && (evaltime < fcm->sfra + fcm->blendin)) {
+ /* blend in range */
+ float a = fcm->sfra;
+ float b = fcm->sfra + fcm->blendin;
+ return influence * (evaltime - a) / (b - a);
+ }
+ else if ((evaltime < fcm->efra) && (evaltime > fcm->efra - fcm->blendout)) {
+ /* blend out range */
+ float a = fcm->efra;
+ float b = fcm->efra - fcm->blendout;
+ return influence * (evaltime - a) / (b - a);
+ }
+ }
+
+ /* just return the influence of the modifier */
+ return influence;
+}
+
/* evaluate time modifications imposed by some F-Curve Modifiers
* - this step acts as an optimisation to prevent the F-Curve stack being evaluated
* several times by modifiers requesting the time be modified, as the final result
@@ -1230,11 +1270,24 @@ float evaluate_time_fmodifiers (ListBase *modifiers, FCurve *fcu, float cvalue,
for (fcm= modifiers->last; fcm; fcm= fcm->prev) {
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- /* only evaluate if there's a callback for this */
- // TODO: implement the 'influence' control feature...
- if (fmi && fmi->evaluate_modifier_time) {
- if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0)
- evaltime= fmi->evaluate_modifier_time(fcu, fcm, cvalue, evaltime);
+ if (fmi == NULL)
+ continue;
+
+ /* if modifier cannot be applied on this frame (whatever scale it is on, it won't affect the results)
+ * hence we shouldn't bother seeing what it would do given the chance
+ */
+ if ((fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)==0 ||
+ ((fcm->sfra <= evaltime) && (fcm->efra >= evaltime)) )
+ {
+ /* only evaluate if there's a callback for this */
+ if (fmi->evaluate_modifier_time) {
+ if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0) {
+ float influence = eval_fmodifier_influence(fcm, evaltime);
+ float nval = fmi->evaluate_modifier_time(fcu, fcm, cvalue, evaltime);
+
+ evaltime = interpf(nval, evaltime, influence);
+ }
+ }
}
}
@@ -1257,11 +1310,22 @@ void evaluate_value_fmodifiers (ListBase *modifiers, FCurve *fcu, float *cvalue,
for (fcm= modifiers->first; fcm; fcm= fcm->next) {
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- /* only evaluate if there's a callback for this */
- // TODO: implement the 'influence' control feature...
- if (fmi && fmi->evaluate_modifier) {
- if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0)
- fmi->evaluate_modifier(fcu, fcm, cvalue, evaltime);
+ if (fmi == NULL)
+ continue;
+
+ /* only evaluate if there's a callback for this, and if F-Modifier can be evaluated on this frame */
+ if ((fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)==0 ||
+ ((fcm->sfra <= evaltime) && (fcm->efra >= evaltime)) )
+ {
+ if (fmi->evaluate_modifier) {
+ if ((fcm->flag & (FMODIFIER_FLAG_DISABLED|FMODIFIER_FLAG_MUTED)) == 0) {
+ float influence = eval_fmodifier_influence(fcm, evaltime);
+ float nval = *cvalue;
+
+ fmi->evaluate_modifier(fcu, fcm, &nval, evaltime);
+ *cvalue = interpf(nval, *cvalue, influence);
+ }
+ }
}
}
}
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index db0c9d2735f..c2e94cc97db 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/blenkernel/intern/idcode.c b/source/blender/blenkernel/intern/idcode.c
index 8c8a693e6e7..e84a2a04ded 100644
--- a/source/blender/blenkernel/intern/idcode.c
+++ b/source/blender/blenkernel/intern/idcode.c
@@ -73,7 +73,8 @@ static IDType idtypes[]= {
{ ID_SCE, "Scene", "scenes", IDTYPE_FLAGS_ISLINKABLE},
{ ID_SCR, "Screen", "screens", 0},
{ ID_SEQ, "Sequence", "sequences", 0}, /* not actually ID data */
- { ID_SO, "Sound", "sounds", IDTYPE_FLAGS_ISLINKABLE},
+ { ID_SPK, "Speaker", "speakers", IDTYPE_FLAGS_ISLINKABLE},
+ { ID_SO, "Sound", "sounds", IDTYPE_FLAGS_ISLINKABLE},
{ ID_TE, "Texture", "textures", IDTYPE_FLAGS_ISLINKABLE},
{ ID_TXT, "Text", "texts", IDTYPE_FLAGS_ISLINKABLE},
{ ID_VF, "VFont", "fonts", IDTYPE_FLAGS_ISLINKABLE},
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c
index c48497c45a1..4ce5de78895 100644
--- a/source/blender/blenkernel/intern/image.c
+++ b/source/blender/blenkernel/intern/image.c
@@ -432,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);
@@ -1370,15 +1371,15 @@ void BKE_makepicstring(char *string, const char *base, int frame, int imtype, co
}
/* used by sequencer too */
-struct anim *openanim(char *name, int flags)
+struct anim *openanim(char *name, int flags, int streamindex)
{
struct anim *anim;
struct ImBuf *ibuf;
- anim = IMB_open_anim(name, flags);
+ anim = IMB_open_anim(name, flags, streamindex);
if (anim == NULL) return NULL;
- ibuf = IMB_anim_absolute(anim, 0);
+ ibuf = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (ibuf == NULL) {
if(BLI_exists(name))
printf("not an anim: %s\n", name);
@@ -1772,20 +1773,26 @@ static ImBuf *image_load_movie_file(Image *ima, ImageUser *iuser, int frame)
else
BLI_path_abs(str, G.main->name);
- ima->anim = openanim(str, IB_rect);
+ /* FIXME: make several stream accessible in image editor, too*/
+ ima->anim = openanim(str, IB_rect, 0);
/* let's initialize this user */
if(ima->anim && iuser && iuser->frames==0)
- iuser->frames= IMB_anim_get_duration(ima->anim);
+ iuser->frames= IMB_anim_get_duration(ima->anim,
+ IMB_TC_RECORD_RUN);
}
if(ima->anim) {
- int dur = IMB_anim_get_duration(ima->anim);
+ int dur = IMB_anim_get_duration(ima->anim,
+ IMB_TC_RECORD_RUN);
int fra= frame-1;
if(fra<0) fra = 0;
if(fra>(dur-1)) fra= dur-1;
- ibuf = IMB_anim_absolute(ima->anim, fra);
+ ibuf = IMB_makeSingleUser(
+ IMB_anim_absolute(ima->anim, fra,
+ IMB_TC_RECORD_RUN,
+ IMB_PROXY_NONE));
if(ibuf) {
image_initialize_after_load(ima, ibuf);
@@ -2172,7 +2179,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/ipo.c b/source/blender/blenkernel/intern/ipo.c
index 4f921f005f4..0d3f3cc5ae4 100644
--- a/source/blender/blenkernel/intern/ipo.c
+++ b/source/blender/blenkernel/intern/ipo.c
@@ -1,7 +1,4 @@
-/* ipo.c
- *
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -518,7 +515,7 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "alpha";
case MA_REF:
- return "diffuse_reflection";
+ return "diffuse_intensity";
case MA_EMIT:
return "emit";
@@ -527,7 +524,7 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "ambient";
case MA_SPEC:
- return "specular_reflection";
+ return "specular_intensity";
case MA_HARD:
return "specular_hardness";
@@ -551,13 +548,13 @@ static const char *material_adrcodes_to_paths (int adrcode, int *array_index)
return "raytrace_mirror.fresnel";
case MA_FRESMIRI:
- return "raytrace_mirror.fresnel_fac";
+ return "raytrace_mirror.fresnel_factor";
case MA_FRESTRA:
return "raytrace_transparency.fresnel";
case MA_FRESTRAI:
- return "raytrace_transparency.fresnel_fac";
+ return "raytrace_transparency.fresnel_factor";
case MA_ADD:
return "halo.add";
@@ -1157,7 +1154,6 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
if (icu->flag & IPO_ACTIVE) fcu->flag |= FCURVE_ACTIVE;
if (icu->flag & IPO_MUTE) fcu->flag |= FCURVE_MUTED;
if (icu->flag & IPO_PROTECT) fcu->flag |= FCURVE_PROTECTED;
- if (icu->flag & IPO_AUTO_HORIZ) fcu->flag |= FCURVE_AUTO_HANDLES;
/* set extrapolation */
switch (icu->extrap) {
@@ -1242,6 +1238,12 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
/* 'hide' flag is now used for keytype - only 'keyframes' existed before */
dst->hide= BEZT_KEYTYPE_KEYFRAME;
+ /* auto-handles - per curve to per handle */
+ if (icu->flag & IPO_AUTO_HORIZ) {
+ if (dst->h1 == HD_AUTO) dst->h1 = HD_AUTO_ANIM;
+ if (dst->h2 == HD_AUTO) dst->h2 = HD_AUTO_ANIM;
+ }
+
/* correct values, by checking if the flag of interest is set */
if ( ((int)(dst->vec[1][1])) & (abp->bit) )
dst->vec[0][1]= dst->vec[1][1]= dst->vec[2][1] = 1.0f;
@@ -1292,6 +1294,12 @@ static void icu_to_fcurves (ID *id, ListBase *groups, ListBase *list, IpoCurve *
/* 'hide' flag is now used for keytype - only 'keyframes' existed before */
dst->hide= BEZT_KEYTYPE_KEYFRAME;
+
+ /* auto-handles - per curve to per handle */
+ if (icu->flag & IPO_AUTO_HORIZ) {
+ if (dst->h1 == HD_AUTO) dst->h1 = HD_AUTO_ANIM;
+ if (dst->h2 == HD_AUTO) dst->h2 = HD_AUTO_ANIM;
+ }
/* correct values for euler rotation curves
* - they were degrees/10
diff --git a/source/blender/blenkernel/intern/key.c b/source/blender/blenkernel/intern/key.c
index 4b532362cd8..2aef5b39c71 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"
@@ -473,20 +474,20 @@ static int setkeys(float fac, ListBase *lb, KeyBlock *k[], float *t, int cycl)
}
-static void flerp(int aantal, float *in, float *f0, float *f1, float *f2, float *f3, float *t)
+static void flerp(int tot, float *in, float *f0, float *f1, float *f2, float *f3, float *t)
{
int a;
- for(a=0; a<aantal; a++) {
+ for(a=0; a<tot; a++) {
in[a]= t[0]*f0[a]+t[1]*f1[a]+t[2]*f2[a]+t[3]*f3[a];
}
}
-static void rel_flerp(int aantal, float *in, float *ref, float *out, float fac)
+static void rel_flerp(int tot, float *in, float *ref, float *out, float fac)
{
int a;
- for(a=0; a<aantal; a++) {
+ for(a=0; a<tot; a++) {
in[a]-= fac*(ref[a]-out[a]);
}
}
@@ -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);
}
}
@@ -1409,7 +1400,7 @@ float *do_ob_key(Scene *scene, Object *ob)
/* do shapekey local drivers */
float ctime= (float)scene->r.cfra; // XXX this needs to be checked
- BKE_animsys_evaluate_animdata(&key->id, key->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &key->id, key->adt, ctime, ADT_RECALC_DRIVERS);
if(ob->type==OB_MESH) do_mesh_key(scene, ob, key, out, tot);
else if(ob->type==OB_LATTICE) do_latt_key(scene, ob, key, out, tot);
diff --git a/source/blender/blenkernel/intern/library.c b/source/blender/blenkernel/intern/library.c
index 0b07f40cad6..677a2922666 100644
--- a/source/blender/blenkernel/intern/library.c
+++ b/source/blender/blenkernel/intern/library.c
@@ -65,6 +65,7 @@
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_text_types.h"
#include "DNA_vfont_types.h"
@@ -108,6 +109,9 @@
#include "BKE_particle.h"
#include "BKE_gpencil.h"
#include "BKE_fcurve.h"
+#include "BKE_speaker.h"
+
+#include "RNA_access.h"
#ifdef WITH_PYTHON
#include "BPY_extern.h"
@@ -205,6 +209,9 @@ int id_make_local(ID *id, int test)
case ID_CA:
if(!test) make_local_camera((Camera*)id);
return 1;
+ case ID_SPK:
+ if(!test) make_local_speaker((Speaker*)id);
+ return 1;
case ID_IP:
return 0; /* deprecated */
case ID_KE:
@@ -287,6 +294,9 @@ int id_copy(ID *id, ID **newid, int test)
case ID_LA:
if(!test) *newid= (ID*)copy_lamp((Lamp*)id);
return 1;
+ case ID_SPK:
+ if(!test) *newid= (ID*)copy_speaker((Speaker*)id);
+ return 1;
case ID_CA:
if(!test) *newid= (ID*)copy_camera((Camera*)id);
return 1;
@@ -368,6 +378,34 @@ int id_unlink(ID *id, int test)
return 0;
}
+int id_single_user(bContext *C, ID *id, PointerRNA *ptr, PropertyRNA *prop)
+{
+ ID *newid = NULL;
+ PointerRNA idptr;
+
+ if (id) {
+ /* if property isn't editable, we're going to have an extra block hanging around until we save */
+ if (RNA_property_editable(ptr, prop)) {
+ if (id_copy(id, &newid, 0) && newid) {
+ /* copy animation actions too */
+ BKE_copy_animdata_id_action(id);
+ /* us is 1 by convention, but RNA_property_pointer_set
+ will also incremement it, so set it to zero */
+ newid->us= 0;
+
+ /* assign copy */
+ RNA_id_pointer_create(newid, &idptr);
+ RNA_property_pointer_set(ptr, prop, idptr);
+ RNA_property_update(C, ptr, prop);
+
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
ListBase *which_libbase(Main *mainlib, short type)
{
switch( type ) {
@@ -409,6 +447,8 @@ ListBase *which_libbase(Main *mainlib, short type)
return &(mainlib->text);
case ID_SCRIPT:
return &(mainlib->script);
+ case ID_SPK:
+ return &(mainlib->speaker);
case ID_SO:
return &(mainlib->sound);
case ID_GR:
@@ -493,13 +533,14 @@ int set_listbasepointers(Main *main, ListBase **lb)
lb[a++]= &(main->latt);
lb[a++]= &(main->lamp);
lb[a++]= &(main->camera);
-
+
lb[a++]= &(main->text);
lb[a++]= &(main->sound);
lb[a++]= &(main->group);
lb[a++]= &(main->brush);
lb[a++]= &(main->script);
lb[a++]= &(main->particle);
+ lb[a++]= &(main->speaker);
lb[a++]= &(main->world);
lb[a++]= &(main->screen);
@@ -585,6 +626,9 @@ static ID *alloc_libblock_notest(short type)
case ID_SCRIPT:
//XXX id= MEM_callocN(sizeof(Script), "script");
break;
+ case ID_SPK:
+ id= MEM_callocN(sizeof(Speaker), "speaker");
+ break;
case ID_SO:
id= MEM_callocN(sizeof(bSound), "sound");
break;
@@ -671,7 +715,7 @@ void *copy_libblock(void *rt)
assert(idn != NULL);
idn_len= MEM_allocN_len(idn);
- if(idn_len - sizeof(ID) > 0) {
+ if((int)idn_len - (int)sizeof(ID) > 0) { /* signed to allow neg result */
cp= (char *)id;
cpn= (char *)idn;
memcpy(cpn+sizeof(ID), cp+sizeof(ID), idn_len - sizeof(ID));
@@ -788,6 +832,9 @@ void free_libblock(ListBase *lb, void *idv)
case ID_SCRIPT:
//XXX free_script((Script *)id);
break;
+ case ID_SPK:
+ free_speaker((Speaker *)id);
+ break;
case ID_SO:
sound_free((bSound*)id);
break;
diff --git a/source/blender/blenkernel/intern/material.c b/source/blender/blenkernel/intern/material.c
index 334f018efc9..aab8e1abbea 100644
--- a/source/blender/blenkernel/intern/material.c
+++ b/source/blender/blenkernel/intern/material.c
@@ -61,7 +61,7 @@
#include "BKE_material.h"
#include "BKE_mesh.h"
#include "BKE_node.h"
-
+#include "BKE_curve.h"
#include "GPU_material.h"
@@ -515,6 +515,21 @@ short *give_totcolp_id(ID *id)
return NULL;
}
+static void data_delete_material_index_id(ID *id, int index)
+{
+ switch(GS(id->name)) {
+ case ID_ME:
+ mesh_delete_material_index((Mesh *)id, index);
+ break;
+ case ID_CU:
+ curve_delete_material_index((Curve *)id, index);
+ break;
+ case ID_MB:
+ /* meta-elems dont have materials atm */
+ break;
+ }
+}
+
void material_append_id(ID *id, Material *ma)
{
Material ***matar;
@@ -532,7 +547,7 @@ void material_append_id(ID *id, Material *ma)
}
}
-Material *material_pop_id(ID *id, int index)
+Material *material_pop_id(ID *id, int index, int remove_material_slot)
{
Material *ret= NULL;
Material ***matar;
@@ -540,27 +555,36 @@ Material *material_pop_id(ID *id, int index)
short *totcol= give_totcolp_id(id);
if(index >= 0 && index < (*totcol)) {
ret= (*matar)[index];
- id_us_min((ID *)ret);
- if(*totcol <= 1) {
- *totcol= 0;
- MEM_freeN(*matar);
- *matar= NULL;
- }
- else {
- Material **mat;
-
- if(index + 1 != (*totcol))
- memmove((*matar), (*matar) + 1, (*totcol) - (index + 1));
+ id_us_min((ID *)ret);
- (*totcol)--;
-
- mat= MEM_callocN(sizeof(void *) * (*totcol), "newmatar");
- memcpy(mat, *matar, sizeof(void *) * (*totcol));
- MEM_freeN(*matar);
+ if (remove_material_slot) {
+ if(*totcol <= 1) {
+ *totcol= 0;
+ MEM_freeN(*matar);
+ *matar= NULL;
+ }
+ else {
+ Material **mat;
+ if(index + 1 != (*totcol))
+ memmove((*matar)+index, (*matar)+(index+1), sizeof(void *) * ((*totcol) - (index + 1)));
+
+ (*totcol)--;
+
+ mat= MEM_callocN(sizeof(void *) * (*totcol), "newmatar");
+ memcpy(mat, *matar, sizeof(void *) * (*totcol));
+ MEM_freeN(*matar);
+
+ *matar= mat;
+ test_object_materials(id);
+ }
- *matar= mat;
- test_object_materials(id);
+ /* decrease mat_nr index */
+ data_delete_material_index_id(id, index);
}
+
+ /* don't remove material slot, only clear it*/
+ else
+ (*matar)[index]= NULL;
}
}
@@ -867,6 +891,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)
@@ -887,8 +915,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)
@@ -899,7 +925,8 @@ void init_render_material(Material *mat, int r_mode, float *amb)
if(mat->nodetree && mat->use_nodes) {
init_render_nodetree(mat->nodetree, mat, r_mode, amb);
- ntreeBeginExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+ if (!mat->nodetree->execdata)
+ mat->nodetree->execdata = ntreeShaderBeginExecTree(mat->nodetree, 1);
}
}
@@ -931,8 +958,10 @@ void init_render_materials(Main *bmain, int r_mode, float *amb)
/* only needed for nodes now */
void end_render_material(Material *mat)
{
- if(mat && mat->nodetree && mat->use_nodes)
- ntreeEndExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+ if(mat && mat->nodetree && mat->use_nodes) {
+ if (mat->nodetree->execdata)
+ ntreeShaderEndExecTree(mat->nodetree->execdata, 1);
+ }
}
void end_render_materials(Main *bmain)
@@ -1023,8 +1052,6 @@ int object_remove_material_slot(Object *ob)
{
Material *mao, ***matarar;
Object *obt;
- Curve *cu;
- Nurb *nu;
short *totcolp;
int a, actcol;
@@ -1084,23 +1111,8 @@ int object_remove_material_slot(Object *ob)
}
/* check indices from mesh */
-
- if(ob->type==OB_MESH) {
- Mesh *me= get_mesh(ob);
- mesh_delete_material_index(me, actcol-1);
- freedisplist(&ob->disp);
- }
- else if ELEM(ob->type, OB_CURVE, OB_SURF) {
- cu= ob->data;
- nu= cu->nurb.first;
-
- while(nu) {
- if(nu->mat_nr && nu->mat_nr>=actcol-1) {
- nu->mat_nr--;
- if (ob->type == OB_CURVE) nu->charidx--;
- }
- nu= nu->next;
- }
+ if (ELEM4(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT)) {
+ data_delete_material_index_id((ID *)ob->data, actcol-1);
freedisplist(&ob->disp);
}
@@ -1356,7 +1368,7 @@ void ramp_blend(int type, float *r, float *g, float *b, float fac, float *col)
}
/* copy/paste buffer, if we had a propper py api that would be better */
-Material matcopybuf;
+static Material matcopybuf;
static short matcopied= 0;
void clear_matcopybuf(void)
diff --git a/source/blender/blenkernel/intern/mesh.c b/source/blender/blenkernel/intern/mesh.c
index 45a60b842a7..32819226361 100644
--- a/source/blender/blenkernel/intern/mesh.c
+++ b/source/blender/blenkernel/intern/mesh.c
@@ -1254,10 +1254,10 @@ void mesh_to_curve(Scene *scene, Object *ob)
void mesh_delete_material_index(Mesh *me, int index)
{
+ MFace *mf;
int i;
- for (i=0; i<me->totface; i++) {
- MFace *mf = &((MFace*) me->mface)[i];
+ for (i=0, mf=me->mface; i<me->totface; i++, mf++) {
if (mf->mat_nr && mf->mat_nr>=index)
mf->mat_nr--;
}
diff --git a/source/blender/blenkernel/intern/mesh_validate.c b/source/blender/blenkernel/intern/mesh_validate.c
index 34618a19ae9..70398594872 100644
--- a/source/blender/blenkernel/intern/mesh_validate.c
+++ b/source/blender/blenkernel/intern/mesh_validate.c
@@ -80,7 +80,7 @@ static void edge_store_from_mface_quad(EdgeUUID es[4], MFace *mf)
edge_store_assign(es[3].verts, mf->v4, mf->v1);
}
-static void edge_store_from_mface_tri(EdgeUUID es[3], MFace *mf)
+static void edge_store_from_mface_tri(EdgeUUID es[4], MFace *mf)
{
edge_store_assign(es[0].verts, mf->v1, mf->v2);
edge_store_assign(es[1].verts, mf->v2, mf->v3);
@@ -143,30 +143,30 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
BLI_assert(!(do_fixes && me == NULL));
- PRINT("ED_mesh_validate: verts(%d), edges(%d), faces(%d)\n", totvert, totedge, totface);
+ PRINT("ED_mesh_validate: verts(%u), edges(%u), faces(%u)\n", totvert, totedge, totface);
if(totedge == 0 && totface != 0) {
- PRINT(" locical error, %d faces and 0 edges\n", totface);
+ PRINT(" locical error, %u faces and 0 edges\n", totface);
do_edge_recalc= TRUE;
}
for(i=0, med= medges; i<totedge; i++, med++) {
int remove= FALSE;
if(med->v1 == med->v2) {
- PRINT(" edge %d: has matching verts, both %d\n", i, med->v1);
+ PRINT(" edge %u: has matching verts, both %u\n", i, med->v1);
remove= do_fixes;
}
if(med->v1 >= totvert) {
- PRINT(" edge %d: v1 index out of range, %d\n", i, med->v1);
+ PRINT(" edge %u: v1 index out of range, %u\n", i, med->v1);
remove= do_fixes;
}
if(med->v2 >= totvert) {
- PRINT(" edge %d: v2 index out of range, %d\n", i, med->v2);
+ PRINT(" edge %u: v2 index out of range, %u\n", i, med->v2);
remove= do_fixes;
}
if(BLI_edgehash_haskey(edge_hash, med->v1, med->v2)) {
- PRINT(" edge %d: is a duplicate of, %d\n", i, GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, med->v1, med->v2)));
+ PRINT(" edge %u: is a duplicate of, %d\n", i, GET_INT_FROM_POINTER(BLI_edgehash_lookup(edge_hash, med->v1, med->v2)));
remove= do_fixes;
}
@@ -187,41 +187,41 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
do {
fv[fidx]= *(&(mf->v1) + fidx);
if(fv[fidx] >= totvert) {
- PRINT(" face %d: 'v%d' index out of range, %d\n", i, fidx + 1, fv[fidx]);
+ PRINT(" face %u: 'v%d' index out of range, %u\n", i, fidx + 1, fv[fidx]);
remove= do_fixes;
}
} while (fidx--);
if(remove == FALSE) {
if(mf->v4) {
- if(mf->v1 == mf->v2) { PRINT(" face %d: verts invalid, v1/v2 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v3) { PRINT(" face %d: verts invalid, v1/v3 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v4) { PRINT(" face %d: verts invalid, v1/v4 both %d\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v2) { PRINT(" face %u: verts invalid, v1/v2 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v3) { PRINT(" face %u: verts invalid, v1/v3 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v4) { PRINT(" face %u: verts invalid, v1/v4 both %u\n", i, mf->v1); remove= do_fixes; }
- if(mf->v2 == mf->v3) { PRINT(" face %d: verts invalid, v2/v3 both %d\n", i, mf->v2); remove= do_fixes; }
- if(mf->v2 == mf->v4) { PRINT(" face %d: verts invalid, v2/v4 both %d\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v3) { PRINT(" face %u: verts invalid, v2/v3 both %u\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v4) { PRINT(" face %u: verts invalid, v2/v4 both %u\n", i, mf->v2); remove= do_fixes; }
- if(mf->v3 == mf->v4) { PRINT(" face %d: verts invalid, v3/v4 both %d\n", i, mf->v3); remove= do_fixes; }
+ if(mf->v3 == mf->v4) { PRINT(" face %u: verts invalid, v3/v4 both %u\n", i, mf->v3); remove= do_fixes; }
}
else {
- if(mf->v1 == mf->v2) { PRINT(" faceT %d: verts invalid, v1/v2 both %d\n", i, mf->v1); remove= do_fixes; }
- if(mf->v1 == mf->v3) { PRINT(" faceT %d: verts invalid, v1/v3 both %d\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v2) { PRINT(" faceT %u: verts invalid, v1/v2 both %u\n", i, mf->v1); remove= do_fixes; }
+ if(mf->v1 == mf->v3) { PRINT(" faceT %u: verts invalid, v1/v3 both %u\n", i, mf->v1); remove= do_fixes; }
- if(mf->v2 == mf->v3) { PRINT(" faceT %d: verts invalid, v2/v3 both %d\n", i, mf->v2); remove= do_fixes; }
+ if(mf->v2 == mf->v3) { PRINT(" faceT %u: verts invalid, v2/v3 both %u\n", i, mf->v2); remove= do_fixes; }
}
if(remove == FALSE) {
if(totedge) {
if(mf->v4) {
- if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %d: edge v1/v2 (%d,%d) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %d: edge v2/v3 (%d,%d) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v4)) { PRINT(" face %d: edge v3/v4 (%d,%d) is missing egde data\n", i, mf->v3, mf->v4); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v4, mf->v1)) { PRINT(" face %d: edge v4/v1 (%d,%d) is missing egde data\n", i, mf->v4, mf->v1); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %u: edge v1/v2 (%u,%u) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %u: edge v2/v3 (%u,%u) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v4)) { PRINT(" face %u: edge v3/v4 (%u,%u) is missing egde data\n", i, mf->v3, mf->v4); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v4, mf->v1)) { PRINT(" face %u: edge v4/v1 (%u,%u) is missing egde data\n", i, mf->v4, mf->v1); do_edge_recalc= TRUE; }
}
else {
- if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %d: edge v1/v2 (%d,%d) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %d: edge v2/v3 (%d,%d) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
- if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v1)) { PRINT(" face %d: edge v3/v1 (%d,%d) is missing egde data\n", i, mf->v3, mf->v1); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v1, mf->v2)) { PRINT(" face %u: edge v1/v2 (%u,%u) is missing egde data\n", i, mf->v1, mf->v2); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v2, mf->v3)) { PRINT(" face %u: edge v2/v3 (%u,%u) is missing egde data\n", i, mf->v2, mf->v3); do_edge_recalc= TRUE; }
+ if(!BLI_edgehash_haskey(edge_hash, mf->v3, mf->v1)) { PRINT(" face %u: edge v3/v1 (%u,%u) is missing egde data\n", i, mf->v3, mf->v1); do_edge_recalc= TRUE; }
}
}
@@ -261,10 +261,10 @@ int BKE_mesh_validate_arrays(Mesh *me, MVert *UNUSED(mverts), unsigned int totve
if(do_verbose) {
mf_prev= mfaces + sf_prev->index;
if(mf->v4) {
- PRINT(" face %d & %d: are duplicates (%d,%d,%d,%d) (%d,%d,%d,%d)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf->v4, mf_prev->v1, mf_prev->v2, mf_prev->v3, mf_prev->v4);
+ PRINT(" face %u & %u: are duplicates (%u,%u,%u,%u) (%u,%u,%u,%u)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf->v4, mf_prev->v1, mf_prev->v2, mf_prev->v3, mf_prev->v4);
}
else {
- PRINT(" face %d & %d: are duplicates (%d,%d,%d) (%d,%d,%d)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf_prev->v1, mf_prev->v2, mf_prev->v3);
+ PRINT(" face %u & %u: are duplicates (%u,%u,%u) (%u,%u,%u)\n", sf->index, sf_prev->index, mf->v1, mf->v2, mf->v3, mf_prev->v1, mf_prev->v2, mf_prev->v3);
}
}
diff --git a/source/blender/blenkernel/intern/modifier.c b/source/blender/blenkernel/intern/modifier.c
index 51f1cd61e7c..fe26c0ccd2d 100644
--- a/source/blender/blenkernel/intern/modifier.c
+++ b/source/blender/blenkernel/intern/modifier.c
@@ -195,6 +195,18 @@ void modifiers_foreachIDLink(Object *ob, IDWalkFunc walk, void *userData)
}
}
+void modifiers_foreachTexLink(Object *ob, TexWalkFunc walk, void *userData)
+{
+ ModifierData *md = ob->modifiers.first;
+
+ for (; md; md=md->next) {
+ ModifierTypeInfo *mti = modifierType_getInfo(md->type);
+
+ if(mti->foreachTexLink)
+ mti->foreachTexLink(md, ob, walk, userData);
+ }
+}
+
void modifier_copyData(ModifierData *md, ModifierData *target)
{
ModifierTypeInfo *mti = modifierType_getInfo(md->type);
diff --git a/source/blender/blenkernel/intern/multires.c b/source/blender/blenkernel/intern/multires.c
index 5802bb2b697..e621e800520 100644
--- a/source/blender/blenkernel/intern/multires.c
+++ b/source/blender/blenkernel/intern/multires.c
@@ -465,12 +465,13 @@ 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 *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)
@@ -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];
@@ -1535,6 +1537,7 @@ void multires_load_old(Object *ob, Mesh *me)
me->mface[i].v2 = lvl->faces[i].v[1];
me->mface[i].v3 = lvl->faces[i].v[2];
me->mface[i].v4 = lvl->faces[i].v[3];
+ me->mface[i].mat_nr = lvl->faces[i].mat_nr;
}
/* Add a multires modifier to the object */
@@ -1633,7 +1636,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*/
diff --git a/source/blender/blenkernel/intern/nla.c b/source/blender/blenkernel/intern/nla.c
index c02b5dda9ce..6ce80342dd6 100644
--- a/source/blender/blenkernel/intern/nla.c
+++ b/source/blender/blenkernel/intern/nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -46,6 +44,8 @@
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
#include "BKE_action.h"
#include "BKE_fcurve.h"
@@ -53,6 +53,9 @@
#include "BKE_global.h"
#include "BKE_library.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "RNA_access.h"
#include "nla_private.h"
@@ -337,6 +340,44 @@ NlaStrip *add_nlastrip_to_stack (AnimData *adt, bAction *act)
return strip;
}
+/* Add a NLA Strip referencing the given speaker's sound */
+NlaStrip *add_nla_soundstrip (Scene *scene, Speaker *speaker)
+{
+ NlaStrip *strip = MEM_callocN(sizeof(NlaStrip), "NlaSoundStrip");
+
+ /* if speaker has a sound, set the strip length to the length of the sound,
+ * otherwise default to length of 10 frames
+ */
+#ifdef WITH_AUDASPACE
+ if (speaker->sound)
+ {
+ AUD_SoundInfo info = AUD_getInfo(speaker->sound->playback_handle);
+
+ strip->end = ceil(info.length * FPS);
+ }
+ else
+#endif
+ {
+ strip->end = 10.0f;
+ /* quiet compiler warnings */
+ (void)scene;
+ (void)speaker;
+ }
+
+ /* general settings */
+ strip->type = NLASTRIP_TYPE_SOUND;
+
+ strip->flag = NLASTRIP_FLAG_SELECT;
+ strip->extendmode = NLASTRIP_EXTEND_NOTHING; /* nothing to extend... */
+
+ /* strip should be referenced as-is */
+ strip->scale= 1.0f;
+ strip->repeat = 1.0f;
+
+ /* return this strip */
+ return strip;
+}
+
/* *************************************************** */
/* NLA Evaluation <-> Editing Stuff */
@@ -813,34 +854,35 @@ void BKE_nlameta_flush_transforms (NlaStrip *mstrip)
/* for each child-strip, calculate new start/end points based on this new info */
for (strip= mstrip->strips.first; strip; strip= strip->next) {
if (scaleChanged) {
- PointerRNA ptr;
- float p1, p2, nStart, nEnd;
+ float p1, p2;
/* compute positions of endpoints relative to old extents of strip */
p1= (strip->start - oStart) / oLen;
p2= (strip->end - oStart) / oLen;
- /* compute the new strip endpoints using the proportions */
- nStart= (p1 * nLen) + mstrip->start;
- nEnd= (p2 * nLen) + mstrip->start;
-
- /* firstly, apply the new positions manually, then apply using RNA
- * - first time is to make sure no truncation errors from one endpoint not being
- * set yet occur
- * - second time is to make sure scale is computed properly...
- */
- strip->start= nStart;
- strip->end= nEnd;
-
- RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &ptr);
- RNA_float_set(&ptr, "frame_start", nStart);
- RNA_float_set(&ptr, "frame_end", nEnd);
+ /* apply new strip endpoints using the proportions, then wait for second pass to flush scale properly */
+ strip->start= (p1 * nLen) + mstrip->start;
+ strip->end= (p2 * nLen) + mstrip->start;
}
else {
/* just apply the changes in offset to both ends of the strip */
strip->start += offset;
strip->end += offset;
}
+ }
+
+ /* apply a second pass over child strips, to finish up unfinished business */
+ for (strip= mstrip->strips.first; strip; strip= strip->next) {
+ /* only if scale changed, need to perform RNA updates */
+ if (scaleChanged) {
+ PointerRNA ptr;
+
+ /* use RNA updates to compute scale properly */
+ RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &ptr);
+
+ RNA_float_set(&ptr, "frame_start", strip->start);
+ RNA_float_set(&ptr, "frame_end", strip->end);
+ }
/* finally, make sure the strip's children (if it is a meta-itself), get updated */
BKE_nlameta_flush_transforms(strip);
@@ -1185,7 +1227,7 @@ void BKE_nlastrip_validate_fcurves (NlaStrip *strip)
BLI_addtail(&strip->fcurves, fcu);
/* set default flags */
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn("influence", 9);
@@ -1206,7 +1248,7 @@ void BKE_nlastrip_validate_fcurves (NlaStrip *strip)
BLI_addtail(&strip->fcurves, fcu);
/* set default flags */
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn("strip_time", 10);
@@ -1242,7 +1284,7 @@ void BKE_nlastrip_validate_name (AnimData *adt, NlaStrip *strip)
if (strip->name[0]==0) {
switch (strip->type) {
case NLASTRIP_TYPE_CLIP: /* act-clip */
- sprintf(strip->name, "Act: %s", (strip->act)?(strip->act->id.name+2):("<None>"));
+ sprintf(strip->name, "%s", (strip->act)?(strip->act->id.name+2):("<No Action>"));
break;
case NLASTRIP_TYPE_TRANSITION: /* transition */
sprintf(strip->name, "Transition");
@@ -1582,7 +1624,7 @@ void BKE_nla_tweakmode_exit (AnimData *adt)
/* Baking Tools ------------------------------------------- */
-static void BKE_nla_bake (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
+static void UNUSED_FUNCTION(BKE_nla_bake) (Scene *scene, ID *UNUSED(id), AnimData *adt, int UNUSED(flag))
{
/* verify that data is valid
diff --git a/source/blender/blenkernel/intern/node.c b/source/blender/blenkernel/intern/node.c
index 3a8a2ae9c09..cd1a6e61151 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"
@@ -44,84 +46,107 @@
#include <limits.h>
#include "DNA_anim_types.h"
-#include "DNA_action_types.h"
#include "DNA_node_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_action_types.h"
+#include "BLI_string.h"
+#include "BLI_math.h"
#include "BLI_listbase.h"
-
-#include "RNA_access.h"
+#include "BLI_path_util.h"
+#include "BLI_utildefines.h"
#include "BKE_animsys.h"
#include "BKE_action.h"
#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_image.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_utildefines.h"
+#include "BKE_utildefines.h"
-#include "PIL_time.h"
-
-#include "CMP_node.h"
-#include "intern/CMP_util.h" /* stupid include path... */
+#include "BLI_listbase.h"
-#include "SHD_node.h"
-#include "TEX_node.h"
-#include "intern/TEX_util.h"
+#include "RNA_access.h"
-#include "GPU_material.h"
+#include "NOD_socket.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
+#include "NOD_texture.h"
-static ListBase empty_list = {NULL, NULL};
-ListBase node_all_composit = {NULL, NULL};
-ListBase node_all_shaders = {NULL, NULL};
-ListBase node_all_textures = {NULL, NULL};
-/* ************** Type stuff ********** */
+bNodeTreeType *ntreeGetType(int type)
+{
+ static bNodeTreeType *types[NUM_NTREE_TYPES];
+ static int types_init = 1;
+ if (types_init) {
+ types[NTREE_SHADER] = &ntreeType_Shader;
+ types[NTREE_COMPOSIT] = &ntreeType_Composite;
+ types[NTREE_TEXTURE] = &ntreeType_Texture;
+ types_init = 0;
+ }
+
+ if(type >= 0 && type < NUM_NTREE_TYPES) {
+ return types[type];
+ }
+ else {
+ return NULL;
+ }
+}
-static bNodeType *node_get_type(bNodeTree *ntree, int type, ID *id)
+static bNodeType *node_get_type(bNodeTree *ntree, int type)
{
- bNodeType *ntype = ntree->alltypes.first;
+ bNodeType *ntype = ntreeGetType(ntree->type)->node_types.first;
for(; ntype; ntype= ntype->next)
- if(ntype->type==type && id==ntype->id )
+ if(ntype->type==type)
return ntype;
return NULL;
}
-void ntreeInitTypes(bNodeTree *ntree)
+bNodeType *ntreeGetNodeType(bNodeTree *ntree)
{
- bNode *node, *next;
-
- if(ntree->type==NTREE_SHADER)
- ntree->alltypes= node_all_shaders;
- else if(ntree->type==NTREE_COMPOSIT)
- ntree->alltypes= node_all_composit;
- else if(ntree->type==NTREE_TEXTURE)
- ntree->alltypes= node_all_textures;
+ return node_get_type(ntree, ntree->nodetype);
+}
+
+bNodeSocketType *ntreeGetSocketType(int type)
+{
+ static bNodeSocketType *types[NUM_SOCKET_TYPES]= {NULL};
+ static int types_init = 1;
+
+ if (types_init) {
+ node_socket_type_init(types);
+ types_init= 0;
+ }
+
+ if(type < NUM_SOCKET_TYPES) {
+ return types[type];
+ }
else {
- ntree->alltypes= empty_list;
- printf("Error: no type definitions for nodes\n");
+ return NULL;
}
+}
+
+void ntreeInitTypes(bNodeTree *ntree)
+{
+ bNode *node, *next;
for(node= ntree->nodes.first; node; node= next) {
next= node->next;
+
+ node->typeinfo= node_get_type(ntree, node->type);
+
if(node->type==NODE_DYNAMIC) {
- bNodeType *stype= NULL;
- if(node->id==NULL) { /* empty script node */
- stype= node_get_type(ntree, node->type, NULL);
- } else { /* not an empty script node */
- stype= node_get_type(ntree, node->type, node->id);
- if(!stype) {
- stype= node_get_type(ntree, node->type, NULL);
- /* needed info if the pynode script fails now: */
- if (node->id) node->storage= ntree;
- } else {
- node->custom1= 0;
- node->custom1= BSET(node->custom1,NODE_DYNAMIC_ADDEXIST);
- }
+ /* needed info if the pynode script fails now: */
+ node->storage= ntree;
+ if(node->id!=NULL) { /* not an empty script node */
+ node->custom1= 0;
+ node->custom1= BSET(node->custom1,NODE_DYNAMIC_ADDEXIST);
}
- node->typeinfo= stype;
- if(node->typeinfo)
- node->typeinfo->initfunc(node);
- } else {
- node->typeinfo= node_get_type(ntree, node->type, NULL);
+// if(node->typeinfo)
+// node->typeinfo->initfunc(node);
}
if(node->typeinfo==NULL) {
@@ -133,66 +158,51 @@ void ntreeInitTypes(bNodeTree *ntree)
ntree->init |= NTREE_TYPE_INIT;
}
-/* updates node with (modified) bNodeType.. this should be done for all trees */
-void ntreeUpdateType(bNodeTree *ntree, bNodeType *ntype)
+static bNodeSocket *make_socket(bNodeTree *UNUSED(ntree), int in_out, const char *name, int type)
{
- bNode *node;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo== ntype) {
- nodeUpdateType(ntree, node, ntype);
- }
- }
+ bNodeSocketType *stype= ntreeGetSocketType(type);
+ bNodeSocket *sock;
+
+ sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+
+ BLI_strncpy(sock->name, name, NODE_MAXSTR);
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+ sock->type= type;
+ sock->storage = NULL;
+
+ if (stype->value_structsize > 0)
+ sock->default_value = MEM_callocN(stype->value_structsize, "default socket value");
+
+ return sock;
}
-/* only used internal... we depend on type definitions! */
-static bNodeSocket *node_add_socket_type(ListBase *lb, bNodeSocketType *stype)
+bNodeSocket *nodeAddSocket(bNodeTree *ntree, bNode *node, int in_out, const char *name, int type)
{
- bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+ bNodeSocket *sock = make_socket(ntree, in_out, name, type);
+ if (in_out==SOCK_IN)
+ BLI_addtail(&node->inputs, sock);
+ else if (in_out==SOCK_OUT)
+ BLI_addtail(&node->outputs, sock);
- BLI_strncpy(sock->name, stype->name, NODE_MAXSTR);
- if(stype->limit==0) sock->limit= 0xFFF;
- else sock->limit= stype->limit;
- sock->type= stype->type;
+ ntree->update |= NTREE_UPDATE_NODES;
- sock->ns.vec[0]= stype->val1;
- sock->ns.vec[1]= stype->val2;
- sock->ns.vec[2]= stype->val3;
- sock->ns.vec[3]= stype->val4;
- sock->ns.min= stype->min;
- sock->ns.max= stype->max;
-
- if(lb)
- BLI_addtail(lb, sock);
-
return sock;
}
-static bNodeSocket *node_add_group_socket(ListBase *lb, bNodeSocket *gsock)
+bNodeSocket *nodeInsertSocket(bNodeTree *ntree, bNode *node, int in_out, bNodeSocket *next_sock, const char *name, int type)
{
- bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+ bNodeSocket *sock = make_socket(ntree, in_out, name, type);
+ if (in_out==SOCK_IN)
+ BLI_insertlinkbefore(&node->inputs, next_sock, sock);
+ else if (in_out==SOCK_OUT)
+ BLI_insertlinkbefore(&node->outputs, next_sock, sock);
- /* make a copy of the group socket */
- *sock = *gsock;
- sock->link = NULL;
- sock->next = sock->prev = NULL;
- sock->new_sock = NULL;
- sock->ns.data = NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
- sock->own_index = gsock->own_index;
- sock->groupsock = gsock;
- /* XXX hack: group socket input/output roles are inverted internally,
- * need to change the limit value when making actual node sockets from them.
- */
- sock->limit = (gsock->limit==1 ? 0xFFF : 1);
-
- if(lb)
- BLI_addtail(lb, sock);
-
return sock;
}
-static void node_rem_socket(bNodeTree *ntree, ListBase *lb, bNodeSocket *sock)
+void nodeRemoveSocket(bNodeTree *ntree, bNode *node, bNodeSocket *sock)
{
bNodeLink *link, *next;
@@ -203,428 +213,42 @@ static void node_rem_socket(bNodeTree *ntree, ListBase *lb, bNodeSocket *sock)
}
}
- BLI_remlink(lb, sock);
- MEM_freeN(sock);
-}
-
-static bNodeSocket *verify_socket(ListBase *lb, bNodeSocketType *stype)
-{
- bNodeSocket *sock;
-
- for(sock= lb->first; sock; sock= sock->next) {
- if(strncmp(sock->name, stype->name, NODE_MAXSTR)==0)
- break;
- }
- if(sock) {
- sock->type= stype->type; /* in future, read this from tydefs! */
- if(stype->limit==0) sock->limit= 0xFFF;
- else sock->limit= stype->limit;
-
- sock->ns.min= stype->min;
- sock->ns.max= stype->max;
-
- BLI_remlink(lb, sock);
-
- return sock;
- }
- else {
- return node_add_socket_type(NULL, stype);
- }
-}
-
-static bNodeSocket *verify_group_socket(ListBase *lb, bNodeSocket *gsock)
-{
- bNodeSocket *sock;
-
- for(sock= lb->first; sock; sock= sock->next) {
- if(sock->own_index==gsock->own_index)
- break;
- }
- if(sock) {
- sock->groupsock = gsock;
-
- strcpy(sock->name, gsock->name);
- sock->type= gsock->type;
-
- /* XXX hack: group socket input/output roles are inverted internally,
- * need to change the limit value when making actual node sockets from them.
- */
- sock->limit = (gsock->limit==1 ? 0xFFF : 1);
-
- sock->ns.min= gsock->ns.min;
- sock->ns.max= gsock->ns.max;
-
- BLI_remlink(lb, sock);
-
- return sock;
- }
- else {
- return node_add_group_socket(NULL, gsock);
- }
-}
-
-static void verify_socket_list(bNodeTree *ntree, ListBase *lb, bNodeSocketType *stype_first)
-{
- bNodeSocketType *stype;
+ /* this is fast, this way we don't need an in_out argument */
+ BLI_remlink(&node->inputs, sock);
+ BLI_remlink(&node->outputs, sock);
- /* no inputs anymore? */
- if(stype_first==NULL) {
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- }
- else {
- /* step by step compare */
- stype= stype_first;
- while(stype->type != -1) {
- stype->sock= verify_socket(lb, stype);
- stype++;
- }
- /* leftovers are removed */
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- /* and we put back the verified sockets */
- stype= stype_first;
- while(stype->type != -1) {
- BLI_addtail(lb, stype->sock);
- stype++;
- }
- }
-}
-
-static void verify_group_socket_list(bNodeTree *ntree, ListBase *lb, ListBase *glb)
-{
- bNodeSocket *gsock;
-
- /* step by step compare */
- for (gsock= glb->first; gsock; gsock=gsock->next) {
- /* abusing new_sock pointer for verification here! only used inside this function */
- gsock->new_sock= verify_group_socket(lb, gsock);
- }
- /* leftovers are removed */
- while(lb->first)
- node_rem_socket(ntree, lb, lb->first);
- /* and we put back the verified sockets */
- for (gsock= glb->first; gsock; gsock=gsock->next) {
- BLI_addtail(lb, gsock->new_sock);
- gsock->new_sock = NULL;
- }
-}
-
-void nodeVerifyType(bNodeTree *ntree, bNode *node)
-{
- /* node groups don't have static sock lists, but use external sockets from the tree instead */
- if (node->type==NODE_GROUP) {
- bNodeTree *ngroup= (bNodeTree*)node->id;
- if (ngroup) {
- verify_group_socket_list(ntree, &node->inputs, &ngroup->inputs);
- verify_group_socket_list(ntree, &node->outputs, &ngroup->outputs);
- }
- }
- else {
- bNodeType *ntype= node->typeinfo;
- if(ntype) {
- verify_socket_list(ntree, &node->inputs, ntype->inputs);
- verify_socket_list(ntree, &node->outputs, ntype->outputs);
- }
- }
-}
-
-void ntreeVerifyTypes(bNodeTree *ntree)
-{
- bNode *node;
-
- /* if((ntree->init & NTREE_TYPE_INIT)==0) */
- ntreeInitTypes(ntree);
-
- /* check inputs and outputs, and remove or insert them */
- for(node= ntree->nodes.first; node; node= node->next)
- nodeVerifyType(ntree, node);
-
-}
-
-/* ************** Group stuff ********** */
-
-/* XXX group typeinfo struct is used directly in ntreeMakeOwnType, needs cleanup */
-static bNodeType ntype_group;
-
-/* groups display their internal tree name as label */
-static const char *group_label(bNode *node)
-{
- return (node->id)? node->id->name+2: "Missing Datablock";
-}
-
-void register_node_type_group(ListBase *lb)
-{
- node_type_base(&ntype_group, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS, NULL, NULL);
- node_type_size(&ntype_group, 120, 60, 200);
- node_type_label(&ntype_group, group_label);
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
- nodeRegisterType(lb, &ntype_group);
-}
-
-static bNodeSocket *find_group_node_input(bNode *gnode, bNodeSocket *gsock)
-{
- bNodeSocket *sock;
- for (sock=gnode->inputs.first; sock; sock=sock->next)
- if (sock->groupsock == gsock)
- return sock;
- return NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
}
-static bNodeSocket *find_group_node_output(bNode *gnode, bNodeSocket *gsock)
+void nodeRemoveAllSockets(bNodeTree *ntree, bNode *node)
{
bNodeSocket *sock;
- for (sock=gnode->outputs.first; sock; sock=sock->next)
- if (sock->groupsock == gsock)
- return sock;
- return NULL;
-}
-
-bNode *nodeMakeGroupFromSelected(bNodeTree *ntree)
-{
- bNodeLink *link, *linkn;
- bNode *node, *gnode, *nextn;
- bNodeTree *ngroup;
- bNodeSocket *gsock;
- ListBase anim_basepaths = {NULL, NULL};
- float min[2], max[2];
- int totnode=0;
-
- INIT_MINMAX2(min, max);
-
- /* is there something to group? also do some clearing */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->flag & NODE_SELECT) {
- /* no groups in groups */
- if(node->type==NODE_GROUP)
- return NULL;
- DO_MINMAX2( (&node->locx), min, max);
- totnode++;
- }
- node->done= 0;
- }
- if(totnode==0) return NULL;
-
- /* check if all connections are OK, no unselected node has both
- inputs and outputs to a selection */
- for(link= ntree->links.first; link; link= link->next) {
- if(link->fromnode && link->tonode && link->fromnode->flag & NODE_SELECT)
- link->tonode->done |= 1;
- if(link->fromnode && link->tonode && link->tonode->flag & NODE_SELECT)
- link->fromnode->done |= 2;
- }
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if((node->flag & NODE_SELECT)==0)
- if(node->done==3)
- break;
- }
- if(node)
- return NULL;
+ bNodeLink *link, *next;
- /* OK! new nodetree */
- ngroup= ntreeAddTree("NodeGroup", ntree->type, TRUE);
-
- /* move nodes over */
- for(node= ntree->nodes.first; node; node= nextn) {
- nextn= node->next;
- if(node->flag & NODE_SELECT) {
- /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
- * if the old nodetree has animation data which potentially covers this node
- */
- if (ntree->adt) {
- PointerRNA ptr;
- char *path;
-
- RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
- path = RNA_path_from_ID_to_struct(&ptr);
-
- if (path)
- BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
- }
-
- /* change node-collection membership */
- BLI_remlink(&ntree->nodes, node);
- BLI_addtail(&ngroup->nodes, node);
-
- node->locx-= 0.5f*(min[0]+max[0]);
- node->locy-= 0.5f*(min[1]+max[1]);
- }
- }
-
- /* move animation data over */
- if (ntree->adt) {
- LinkData *ld, *ldn=NULL;
-
- BKE_animdata_separate_by_basepath(&ntree->id, &ngroup->id, &anim_basepaths);
-
- /* paths + their wrappers need to be freed */
- for (ld = anim_basepaths.first; ld; ld = ldn) {
- ldn = ld->next;
-
- MEM_freeN(ld->data);
- BLI_freelinkN(&anim_basepaths, ld);
+ for(link= ntree->links.first; link; link= next) {
+ next= link->next;
+ if(link->fromnode==node || link->tonode==node) {
+ nodeRemLink(ntree, link);
}
}
- /* make group node */
- gnode= nodeAddNodeType(ntree, NODE_GROUP, ngroup, NULL);
- gnode->locx= 0.5f*(min[0]+max[0]);
- gnode->locy= 0.5f*(min[1]+max[1]);
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ BLI_freelistN(&node->inputs);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
- /* relink external sockets */
- for(link= ntree->links.first; link; link= linkn) {
- linkn= link->next;
-
- if(link->fromnode && link->tonode && (link->fromnode->flag & link->tonode->flag & NODE_SELECT)) {
- BLI_remlink(&ntree->links, link);
- BLI_addtail(&ngroup->links, link);
- }
- else if(link->tonode && (link->tonode->flag & NODE_SELECT)) {
- gsock = nodeGroupExposeSocket(ngroup, link->tosock, SOCK_IN);
- link->tosock->link = nodeAddLink(ngroup, NULL, gsock, link->tonode, link->tosock);
- link->tosock = node_add_group_socket(&gnode->inputs, gsock);
- link->tonode = gnode;
- }
- else if(link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
- /* search for existing group node socket */
- for (gsock=ngroup->outputs.first; gsock; gsock=gsock->next)
- if (gsock->link && gsock->link->fromsock==link->fromsock)
- break;
- if (!gsock) {
- gsock = nodeGroupExposeSocket(ngroup, link->fromsock, SOCK_OUT);
- gsock->link = nodeAddLink(ngroup, link->fromnode, link->fromsock, NULL, gsock);
- link->fromsock = node_add_group_socket(&gnode->outputs, gsock);
- }
- else
- link->fromsock = find_group_node_output(gnode, gsock);
- link->fromnode = gnode;
- }
- }
-
- /* update node levels */
- ntreeSolveOrder(ntree);
-
- return gnode;
-}
-
-/* here's a nasty little one, need to check users... */
-/* should become callbackable... */
-void nodeGroupVerify(bNodeTree *ngroup)
-{
- /* group changed, so we rebuild the type definition */
-// ntreeMakeGroupSockets(ngroup);
+ BLI_freelistN(&node->outputs);
- if(ngroup->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
- for(node= ma->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(ma->nodetree, node);
- }
- }
- }
- else if(ngroup->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
- for(node= sce->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(sce->nodetree, node);
- }
- }
- }
- else if(ngroup->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
- for(node= tx->nodetree->nodes.first; node; node= node->next)
- if(node->id == (ID *)ngroup)
- nodeVerifyType(tx->nodetree, node);
- }
- }
- }
+ ntree->update |= NTREE_UPDATE_NODES;
}
-/* also to check all users of groups. Now only used in editor for hide/unhide */
-/* should become callbackable? */
-void nodeGroupSocketUseFlags(bNodeTree *ngroup)
-{
- bNode *node;
- bNodeSocket *sock;
-
- /* clear flags */
- for(node= ngroup->nodes.first; node; node= node->next) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_IN_USE;
- }
-
- /* tag all thats in use */
- if(ngroup->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id==&ngroup->id) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(ma->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
- else if(ngroup->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)ngroup) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(sce->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
- else if(ngroup->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)ngroup) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link)
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(nodeCountSocketLinks(tx->nodetree, sock))
- if(sock->groupsock)
- sock->groupsock->flag |= SOCK_IN_USE;
- }
- }
- }
- }
- }
-
-}
/* finds a node based on its name */
bNode *nodeFindNodebyName(bNodeTree *ntree, const char *name)
{
@@ -667,272 +291,26 @@ int nodeFindNode(bNodeTree *ntree, bNodeSocket *sock, bNode **nodep, int *sockin
return 0;
}
-/* returns 1 if its OK */
-int nodeGroupUnGroup(bNodeTree *ntree, bNode *gnode)
-{
- bNodeLink *link, *linkn;
- bNode *node, *nextn;
- bNodeTree *ngroup, *wgroup;
- ListBase anim_basepaths = {NULL, NULL};
-
- ngroup= (bNodeTree *)gnode->id;
- if(ngroup==NULL) return 0;
-
- /* clear new pointers, set in copytree */
- for(node= ntree->nodes.first; node; node= node->next)
- node->new_node= NULL;
-
- /* wgroup is a temporary copy of the NodeTree we're merging in
- * - all of wgroup's nodes are transferred across to their new home
- * - ngroup (i.e. the source NodeTree) is left unscathed
- */
- wgroup= ntreeCopyTree(ngroup);
-
- /* add the nodes into the ntree */
- for(node= wgroup->nodes.first; node; node= nextn) {
- nextn= node->next;
-
- /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
- * if the old nodetree has animation data which potentially covers this node
- */
- if (wgroup->adt) {
- PointerRNA ptr;
- char *path;
-
- RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr);
- path = RNA_path_from_ID_to_struct(&ptr);
-
- if (path)
- BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
- }
-
- /* migrate node */
- BLI_remlink(&wgroup->nodes, node);
- BLI_addtail(&ntree->nodes, node);
-
- node->locx+= gnode->locx;
- node->locy+= gnode->locy;
-
- node->flag |= NODE_SELECT;
- }
-
- /* restore external links to and from the gnode */
- for(link= ntree->links.first; link; link= link->next) {
- if (link->fromnode==gnode) {
- if (link->fromsock->groupsock) {
- bNodeSocket *gsock= link->fromsock->groupsock;
- if (gsock->link) {
- if (gsock->link->fromnode) {
- /* NB: using the new internal copies here! the groupsock pointer still maps to the old tree */
- link->fromnode = (gsock->link->fromnode ? gsock->link->fromnode->new_node : NULL);
- link->fromsock = gsock->link->fromsock->new_sock;
- }
- else {
- /* group output directly maps to group input */
- bNodeSocket *insock= find_group_node_input(gnode, gsock->link->fromsock);
- if (insock->link) {
- link->fromnode = insock->link->fromnode;
- link->fromsock = insock->link->fromsock;
- }
- }
- }
- else {
- /* constant group output: copy the stack value to the external socket.
- * the link is kept here until all possible external users have been fixed.
- */
- QUATCOPY(link->tosock->ns.vec, gsock->ns.vec);
- }
- }
- }
- }
- /* remove internal output links, these are not used anymore */
- for(link=wgroup->links.first; link; link= linkn) {
- linkn = link->next;
- if (!link->tonode)
- nodeRemLink(wgroup, link);
- }
- /* restore links from internal nodes */
- for(link= wgroup->links.first; link; link= link->next) {
- /* indicates link to group input */
- if (!link->fromnode) {
- /* NB: can't use find_group_node_input here,
- * because gnode sockets still point to the old tree!
- */
- bNodeSocket *insock;
- for (insock= gnode->inputs.first; insock; insock= insock->next)
- if (insock->groupsock->new_sock == link->fromsock)
- break;
- if (insock->link) {
- link->fromnode = insock->link->fromnode;
- link->fromsock = insock->link->fromsock;
- }
- else {
- /* uses group constant input. copy the input value and remove the dead link. */
- QUATCOPY(link->tosock->ns.vec, insock->ns.vec);
- nodeRemLink(wgroup, link);
- }
- }
- }
-
- /* add internal links to the ntree */
- for(link= wgroup->links.first; link; link= linkn) {
- linkn= link->next;
- BLI_remlink(&wgroup->links, link);
- BLI_addtail(&ntree->links, link);
- }
-
- /* and copy across the animation */
- if (wgroup->adt) {
- LinkData *ld, *ldn=NULL;
- bAction *waction;
-
- /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */
- waction = wgroup->adt->action = copy_action(wgroup->adt->action);
-
- /* now perform the moving */
- BKE_animdata_separate_by_basepath(&wgroup->id, &ntree->id, &anim_basepaths);
-
- /* paths + their wrappers need to be freed */
- for (ld = anim_basepaths.first; ld; ld = ldn) {
- ldn = ld->next;
-
- MEM_freeN(ld->data);
- BLI_freelinkN(&anim_basepaths, ld);
- }
-
- /* free temp action too */
- free_libblock(&G.main->action, waction);
- }
-
- /* delete the group instance. this also removes old input links! */
- nodeFreeNode(ntree, gnode);
-
- /* free the group tree (takes care of user count) */
- free_libblock(&G.main->nodetree, wgroup);
-
- /* solve order goes fine, but the level tags not... doing it twice works for now. solve this once */
- /* XXX is this still necessary with new groups? it may have been caused by non-updated sock->link pointers. lukas */
- ntreeSolveOrder(ntree);
- ntreeSolveOrder(ntree);
-
- return 1;
-}
-
-void nodeGroupCopy(bNode *gnode)
+/* ************** Add stuff ********** */
+static void node_add_sockets_from_type(bNodeTree *ntree, bNode *node, bNodeType *ntype)
{
+ bNodeSocketTemplate *sockdef;
bNodeSocket *sock;
- gnode->id->us--;
- gnode->id= (ID *)ntreeCopyTree((bNodeTree *)gnode->id);
-
- /* new_sock was set in nodeCopyNode */
- for(sock=gnode->inputs.first; sock; sock=sock->next)
- if(sock->groupsock)
- sock->groupsock= sock->groupsock->new_sock;
-
- for(sock=gnode->outputs.first; sock; sock=sock->next)
- if(sock->groupsock)
- sock->groupsock= sock->groupsock->new_sock;
-}
-
-bNodeSocket *nodeGroupAddSocket(bNodeTree *ngroup, const char *name, int type, int in_out)
-{
- bNodeSocket *gsock = MEM_callocN(sizeof(bNodeSocket), "bNodeSocket");
-
- strncpy(gsock->name, name, sizeof(gsock->name));
- gsock->type = type;
- gsock->ns.sockettype = type;
- gsock->ns.min = INT_MIN;
- gsock->ns.max = INT_MAX;
- zero_v4(gsock->ns.vec);
- gsock->ns.data = NULL;
- gsock->flag = 0;
-
- gsock->next = gsock->prev = NULL;
- gsock->new_sock = NULL;
- gsock->link = NULL;
- gsock->ns.data = NULL;
- /* assign new unique index */
- gsock->own_index = ngroup->cur_index++;
- gsock->limit = (in_out==SOCK_IN ? 0xFFF : 1);
-
- BLI_addtail(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, gsock);
-
- return gsock;
-}
-
-bNodeSocket *nodeGroupExposeSocket(bNodeTree *ngroup, bNodeSocket *sock, int in_out)
-{
- bNodeSocket *gsock= nodeGroupAddSocket(ngroup, sock->name, sock->type, in_out);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- return gsock;
-}
-
-void nodeGroupExposeAllSockets(bNodeTree *ngroup)
-{
- bNode *node;
- bNodeSocket *sock, *gsock;
-
- for (node=ngroup->nodes.first; node; node=node->next) {
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (!sock->link && !(sock->flag & SOCK_HIDDEN)) {
- gsock = nodeGroupAddSocket(ngroup, sock->name, sock->type, SOCK_IN);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- sock->link = nodeAddLink(ngroup, NULL, gsock, node, sock);
- }
- }
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (nodeCountSocketLinks(ngroup, sock)==0 && !(sock->flag & SOCK_HIDDEN)) {
- gsock = nodeGroupAddSocket(ngroup, sock->name, sock->type, SOCK_OUT);
- /* initialize the default socket value */
- QUATCOPY(gsock->ns.vec, sock->ns.vec);
- gsock->link = nodeAddLink(ngroup, node, sock, NULL, gsock);
- }
- }
- }
-}
-
-void nodeGroupRemoveSocket(bNodeTree *ngroup, bNodeSocket *gsock, int in_out)
-{
- nodeRemSocketLinks(ngroup, gsock);
- switch (in_out) {
- case SOCK_IN: BLI_remlink(&ngroup->inputs, gsock); break;
- case SOCK_OUT: BLI_remlink(&ngroup->outputs, gsock); break;
- }
- MEM_freeN(gsock);
-}
-
-/* ************** Add stuff ********** */
-void nodeAddSockets(bNode *node, bNodeType *ntype)
-{
- if (node->type==NODE_GROUP) {
- bNodeTree *ntree= (bNodeTree*)node->id;
- if (ntree) {
- bNodeSocket *gsock;
- for (gsock=ntree->inputs.first; gsock; gsock=gsock->next)
- node_add_group_socket(&node->inputs, gsock);
- for (gsock=ntree->outputs.first; gsock; gsock=gsock->next)
- node_add_group_socket(&node->outputs, gsock);
+ if(ntype->inputs) {
+ sockdef= ntype->inputs;
+ while(sockdef->type != -1) {
+ sock = node_add_input_from_template(ntree, node, sockdef);
+
+ sockdef++;
}
}
- else {
- bNodeSocketType *stype;
-
- if(ntype->inputs) {
- stype= ntype->inputs;
- while(stype->type != -1) {
- node_add_socket_type(&node->inputs, stype);
- stype++;
- }
- }
- if(ntype->outputs) {
- stype= ntype->outputs;
- while(stype->type != -1) {
- node_add_socket_type(&node->outputs, stype);
- stype++;
- }
+ if(ntype->outputs) {
+ sockdef= ntype->outputs;
+ while(sockdef->type != -1) {
+ sock = node_add_output_from_template(ntree, node, sockdef);
+
+ sockdef++;
}
}
}
@@ -943,65 +321,40 @@ void nodeUniqueName(bNodeTree *ntree, bNode *node)
BLI_uniquename(&ntree->nodes, node, "Node", '.', offsetof(bNode, name), sizeof(node->name));
}
-bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id)
+bNode *nodeAddNode(bNodeTree *ntree, struct bNodeTemplate *ntemp)
{
- bNode *node= NULL;
- bNodeType *ntype= NULL;
-
- if (ngroup && BLI_findindex(&G.main->nodetree, ngroup)==-1) {
- printf("nodeAddNodeType() error: '%s' not in main->nodetree\n", ngroup->id.name);
- return NULL;
- }
-
- if(type>=NODE_DYNAMIC_MENU) {
- int a=0, idx= type-NODE_DYNAMIC_MENU;
- ntype= ntree->alltypes.first;
- while(ntype) {
- if(ntype->type==NODE_DYNAMIC) {
- if(a==idx)
- break;
- a++;
- }
- ntype= ntype->next;
- }
- } else
- ntype= node_get_type(ntree, type, id);
-
+ bNode *node;
+ bNodeType *ntype;
+
+ ntype= node_get_type(ntree, ntemp->type);
if(ntype == NULL) {
- printf("nodeAddNodeType() error: '%d' type invalid\n", type);
+ printf("nodeAddNodeType() error: '%d' type invalid\n", ntemp->type);
return NULL;
}
-
- node= MEM_callocN(sizeof(bNode), "new node");
- BLI_addtail(&ntree->nodes, node);
- node->typeinfo= ntype;
- if(type>=NODE_DYNAMIC_MENU)
- node->custom2= type; /* for node_dynamic_init */
-
- if(ngroup)
- BLI_strncpy(node->name, ngroup->id.name+2, NODE_MAXSTR);
- else if(type>NODE_DYNAMIC_MENU) {
- BLI_strncpy(node->name, ntype->id->name+2, NODE_MAXSTR);
- }
- else
- BLI_strncpy(node->name, ntype->name, NODE_MAXSTR);
-
- nodeUniqueName(ntree, node);
+ /* validity check */
+ if (!nodeValid(ntree, ntemp))
+ return NULL;
+ node= MEM_callocN(sizeof(bNode), "new node");
node->type= ntype->type;
+ node->typeinfo= ntype;
node->flag= NODE_SELECT|ntype->flag;
node->width= ntype->width;
- node->miniwidth= 42.0f; /* small value only, allows print of first chars */
-
- if(type==NODE_GROUP)
- node->id= (ID *)ngroup;
-
- /* need init handler later? */
- /* got it-bob*/
+ node->miniwidth= 42.0f;
+ node->height= ntype->height;
+
+ node_add_sockets_from_type(ntree, node, ntype);
+
if(ntype->initfunc!=NULL)
- ntype->initfunc(node);
+ ntype->initfunc(ntree, node, ntemp);
+
+ /* initialize the node name with the node label */
+ BLI_strncpy(node->name, nodeLabel(node), NODE_MAXSTR);
+ nodeUniqueName(ntree, node);
+
+ BLI_addtail(&ntree->nodes, node);
- nodeAddSockets(node, ntype);
+ ntree->update |= NTREE_UPDATE_NODES;
return node;
}
@@ -1009,9 +362,9 @@ bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup, ID *id)
void nodeMakeDynamicType(bNode *node)
{
/* find SH_DYNAMIC_NODE ntype */
- bNodeType *ntype= node_all_shaders.first;
+ bNodeType *ntype= ntreeGetType(NTREE_SHADER)->node_types.first;
while(ntype) {
- if(ntype->type==NODE_DYNAMIC && ntype->id==NULL)
+ if(ntype->type==NODE_DYNAMIC)
break;
ntype= ntype->next;
}
@@ -1021,17 +374,11 @@ void nodeMakeDynamicType(bNode *node)
/*node->typeinfo= MEM_dupallocN(ntype);*/
bNodeType *newtype= MEM_callocN(sizeof(bNodeType), "dynamic bNodeType");
*newtype= *ntype;
- newtype->name= BLI_strdup(ntype->name);
+ strcpy(newtype->name, ntype->name);
node->typeinfo= newtype;
}
}
-void nodeUpdateType(bNodeTree *ntree, bNode* node, bNodeType *ntype)
-{
- verify_socket_list(ntree, &node->inputs, ntype->inputs);
- verify_socket_list(ntree, &node->outputs, ntype->outputs);
-}
-
/* keep socket listorder identical, for copying links */
/* ntree is the target tree */
bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
@@ -1043,19 +390,23 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
nodeUniqueName(ntree, nnode);
BLI_addtail(&ntree->nodes, nnode);
-
+
BLI_duplicatelist(&nnode->inputs, &node->inputs);
oldsock= node->inputs.first;
for(sock= nnode->inputs.first; sock; sock= sock->next, oldsock= oldsock->next) {
oldsock->new_sock= sock;
+ sock->stack_index= 0;
+
+ sock->default_value = (oldsock->default_value ? MEM_dupallocN(oldsock->default_value) : NULL);
}
BLI_duplicatelist(&nnode->outputs, &node->outputs);
oldsock= node->outputs.first;
for(sock= nnode->outputs.first; sock; sock= sock->next, oldsock= oldsock->next) {
- sock->stack_index= 0;
- sock->ns.data= NULL;
oldsock->new_sock= sock;
+ sock->stack_index= 0;
+
+ sock->default_value = (oldsock->default_value ? MEM_dupallocN(oldsock->default_value) : NULL);
}
/* don't increase node->id users, freenode doesn't decrement either */
@@ -1067,10 +418,11 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
nnode->new_node= NULL;
nnode->preview= NULL;
+ ntree->update |= NTREE_UPDATE_NODES;
+
return nnode;
}
-/* fromsock and tosock can be NULL */
/* also used via rna api, so we check for proper input output direction */
bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock, bNode *tonode, bNodeSocket *tosock)
{
@@ -1093,6 +445,21 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
from= -1; /* OK but flip */
}
}
+ else {
+ /* check tree sockets */
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ if(sock==fromsock)
+ break;
+ if(sock)
+ from= 1; /* OK */
+ else {
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ if(sock==fromsock)
+ break;
+ if(sock)
+ from= -1; /* OK but flip */
+ }
+ }
if(tonode) {
for(sock= tonode->inputs.first; sock; sock= sock->next)
if(sock==tosock)
@@ -1107,8 +474,22 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
to= -1; /* OK but flip */
}
}
+ else {
+ /* check tree sockets */
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ if(sock==tosock)
+ break;
+ if(sock)
+ to= 1; /* OK */
+ else {
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ if(sock==tosock)
+ break;
+ if(sock)
+ to= -1; /* OK but flip */
+ }
+ }
- /* this allows NULL sockets to work */
if(from >= 0 && to >= 0) {
link= MEM_callocN(sizeof(bNodeLink), "link");
BLI_addtail(&ntree->links, link);
@@ -1126,6 +507,8 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
link->tosock= fromsock;
}
+ ntree->update |= NTREE_UPDATE_LINKS;
+
return link;
}
@@ -1135,6 +518,8 @@ void nodeRemLink(bNodeTree *ntree, bNodeLink *link)
if(link->tosock)
link->tosock->link= NULL;
MEM_freeN(link);
+
+ ntree->update |= NTREE_UPDATE_LINKS;
}
void nodeRemSocketLinks(bNodeTree *ntree, bNodeSocket *sock)
@@ -1147,26 +532,73 @@ void nodeRemSocketLinks(bNodeTree *ntree, bNodeSocket *sock)
nodeRemLink(ntree, link);
}
}
+
+ ntree->update |= NTREE_UPDATE_LINKS;
}
+/* transforms node location to area coords */
+void nodeSpaceCoords(bNode *node, float *locx, float *locy)
+{
+ if (node->parent) {
+ nodeSpaceCoords(node->parent, locx, locy);
+ *locx += node->locx;
+ *locy += node->locy;
+ }
+ else {
+ *locx = node->locx;
+ *locy = node->locy;
+ }
+}
-bNodeTree *ntreeAddTree(const char *name, int type, const short is_group)
+void nodeAttachNode(bNode *node, bNode *parent)
{
- bNodeTree *ntree;
+ float parentx, parenty;
+
+ node->parent = parent;
+ /* transform to parent space */
+ nodeSpaceCoords(parent, &parentx, &parenty);
+ node->locx -= parentx;
+ node->locy -= parenty;
+}
- if (is_group)
- ntree= alloc_libblock(&G.main->nodetree, ID_NT, name);
- else {
+void nodeDetachNode(struct bNode *node)
+{
+ float parentx, parenty;
+
+ if (node->parent) {
+ /* transform to "global" (area) space */
+ nodeSpaceCoords(node->parent, &parentx, &parenty);
+ node->locx += parentx;
+ node->locy += parenty;
+ node->parent = NULL;
+ }
+}
+
+bNodeTree *ntreeAddTree(const char *name, int type, int nodetype)
+{
+ bNodeTree *ntree;
+ bNodeType *ntype;
+
+ /* trees are created as local trees if they of compositor, material or texture type,
+ * node groups and other tree types are created as library data.
+ */
+ if (ELEM3(type, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE) && nodetype==0) {
ntree= MEM_callocN(sizeof(bNodeTree), "new node tree");
*( (short *)ntree->id.name )= ID_NT; /* not "type", as that is ntree->type */
BLI_strncpy(ntree->id.name+2, name, sizeof(ntree->id.name));
}
-
+ else
+ ntree= alloc_libblock(&G.main->nodetree, ID_NT, name);
+
ntree->type= type;
- ntree->alltypes.first = NULL;
- ntree->alltypes.last = NULL;
-
+ ntree->nodetype = nodetype;
+
ntreeInitTypes(ntree);
+
+ ntype = node_get_type(ntree, ntree->nodetype);
+ if (ntype && ntype->inittreefunc)
+ ntype->inittreefunc(ntree);
+
return ntree;
}
@@ -1197,9 +629,7 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
id_us_plus((ID *)newtree->gpd);
/* in case a running nodetree is copied */
- newtree->init &= ~(NTREE_EXEC_INIT);
- newtree->threadstack= NULL;
- newtree->stack= NULL;
+ newtree->execdata= NULL;
newtree->nodes.first= newtree->nodes.last= NULL;
newtree->links.first= newtree->links.last= NULL;
@@ -1208,7 +638,10 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
for(node= ntree->nodes.first; node; node= node->next) {
node->new_node= NULL;
nnode= nodeCopyNode(newtree, node); /* sets node->new */
- if(node==last) break;
+
+ /* make sure we don't copy new nodes again! */
+ if (node==last)
+ break;
}
/* socket definition for group usage */
@@ -1216,14 +649,15 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
for(gsock= newtree->inputs.first, oldgsock= ntree->inputs.first; gsock; gsock=gsock->next, oldgsock=oldgsock->next) {
oldgsock->new_sock= gsock;
gsock->groupsock = (oldgsock->groupsock ? oldgsock->groupsock->new_sock : NULL);
+ gsock->default_value = (oldgsock->default_value ? MEM_dupallocN(oldgsock->default_value) : NULL);
}
-
BLI_duplicatelist(&newtree->outputs, &ntree->outputs);
for(gsock= newtree->outputs.first, oldgsock= ntree->outputs.first; gsock; gsock=gsock->next, oldgsock=oldgsock->next) {
oldgsock->new_sock= gsock;
gsock->groupsock = (oldgsock->groupsock ? oldgsock->groupsock->new_sock : NULL);
+ gsock->default_value = (oldgsock->default_value ? MEM_dupallocN(oldgsock->default_value) : NULL);
}
-
+
/* copy links */
BLI_duplicatelist(&newtree->links, &ntree->links);
for(link= newtree->links.first; link; link= link->next) {
@@ -1235,7 +669,13 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree)
if (link->tosock)
link->tosock->link = link;
}
-
+
+ /* update node->parent pointers */
+ for (node=newtree->nodes.first; node; node=node->next) {
+ if (node->parent)
+ node->parent = node->parent->new_node;
+ }
+
return newtree;
}
@@ -1254,7 +694,7 @@ void ntreeSwitchID(bNodeTree *ntree, ID *id_from, ID *id_to)
/* *************** preview *********** */
/* if node->preview, then we assume the rect to exist */
-static void node_free_preview(bNode *node)
+void nodeFreePreview(bNode *node)
{
if(node->preview) {
if(node->preview->rect)
@@ -1358,7 +798,6 @@ void nodeAddToPreview(bNode *node, float *col, int x, int y, int do_manage)
}
}
-
/* ************** Free stuff ********** */
/* goes over entire tree */
@@ -1393,50 +832,84 @@ void nodeUnlinkNode(bNodeTree *ntree, bNode *node)
}
}
-static void composit_free_node_cache(bNode *node)
+static void node_unlink_attached(bNodeTree *ntree, bNode *parent)
{
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->ns.data) {
- free_compbuf(sock->ns.data);
- sock->ns.data= NULL;
- }
+ bNode *node;
+ for (node=ntree->nodes.first; node; node=node->next) {
+ if (node->parent == parent)
+ nodeDetachNode(node);
}
}
void nodeFreeNode(bNodeTree *ntree, bNode *node)
{
+ bNodeTreeType *treetype= ntreeGetType(ntree->type);
+ bNodeSocket *sock, *nextsock;
+
+ /* remove all references to this node */
nodeUnlinkNode(ntree, node);
+ node_unlink_attached(ntree, node);
+
BLI_remlink(&ntree->nodes, node);
/* since it is called while free database, node->id is undefined */
- if(ntree->type==NTREE_COMPOSIT)
- composit_free_node_cache(node);
- BLI_freelistN(&node->inputs);
- BLI_freelistN(&node->outputs);
+ if (treetype->free_node_cache)
+ treetype->free_node_cache(ntree, node);
- node_free_preview(node);
+ for (sock=node->inputs.first; sock; sock = nextsock) {
+ nextsock = sock->next;
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
+ }
+ for (sock=node->outputs.first; sock; sock = nextsock) {
+ nextsock = sock->next;
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
+ MEM_freeN(sock);
+ }
+
+ nodeFreePreview(node);
if(node->typeinfo && node->typeinfo->freestoragefunc) {
node->typeinfo->freestoragefunc(node);
}
MEM_freeN(node);
+
+ ntree->update |= NTREE_UPDATE_NODES;
}
/* do not free ntree itself here, free_libblock calls this function too */
void ntreeFreeTree(bNodeTree *ntree)
{
bNode *node, *next;
+ bNodeSocket *sock;
if(ntree==NULL) return;
- ntreeEndExecTree(ntree); /* checks for if it is still initialized */
+ /* XXX hack! node trees should not store execution graphs at all.
+ * This should be removed when old tree types no longer require it.
+ * Currently the execution data for texture nodes remains in the tree
+ * after execution, until the node tree is updated or freed.
+ */
+ if (ntree->execdata) {
+ switch (ntree->type) {
+ case NTREE_COMPOSIT:
+ ntreeCompositEndExecTree(ntree->execdata, 1);
+ break;
+ case NTREE_SHADER:
+ ntreeShaderEndExecTree(ntree->execdata, 1);
+ break;
+ case NTREE_TEXTURE:
+ ntreeTexEndExecTree(ntree->execdata, 1);
+ break;
+ }
+ }
BKE_free_animdata((ID *)ntree);
-
+
id_us_min((ID *)ntree->gpd);
BLI_freelistN(&ntree->links); /* do first, then unlink_node goes fast */
@@ -1446,25 +919,120 @@ void ntreeFreeTree(bNodeTree *ntree)
nodeFreeNode(ntree, node);
}
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
BLI_freelistN(&ntree->inputs);
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ if (sock->default_value)
+ MEM_freeN(sock->default_value);
BLI_freelistN(&ntree->outputs);
}
void ntreeFreeCache(bNodeTree *ntree)
{
- bNode *node;
+ bNodeTreeType *treetype;
if(ntree==NULL) return;
+
+ treetype= ntreeGetType(ntree->type);
+ if (treetype->free_cache)
+ treetype->free_cache(ntree);
+}
- if(ntree->type==NTREE_COMPOSIT)
- for(node= ntree->nodes.first; node; node= node->next)
- composit_free_node_cache(node);
+void ntreeSetOutput(bNodeTree *ntree)
+{
+ bNode *node;
+
+ /* find the active outputs, might become tree type dependant handler */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+ bNode *tnode;
+ int output= 0;
+
+ /* we need a check for which output node should be tagged like this, below an exception */
+ if(node->type==CMP_NODE_OUTPUT_FILE)
+ continue;
+
+ /* there is more types having output class, each one is checked */
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) {
+ if(tnode->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+
+ if(ntree->type==NTREE_COMPOSIT) {
+
+ /* same type, exception for viewer */
+ if(tnode->type==node->type ||
+ (ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) &&
+ ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))) {
+ if(tnode->flag & NODE_DO_OUTPUT) {
+ output++;
+ if(output>1)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+ }
+ }
+ }
+ else {
+ /* same type */
+ if(tnode->type==node->type) {
+ if(tnode->flag & NODE_DO_OUTPUT) {
+ output++;
+ if(output>1)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+ }
+ }
+ }
+ }
+ }
+ if(output==0)
+ node->flag |= NODE_DO_OUTPUT;
+ }
+ }
+
+ /* here we could recursively set which nodes have to be done,
+ might be different for editor or for "real" use... */
+}
+
+typedef struct MakeLocalCallData {
+ ID *group_id;
+ ID *new_id;
+ int lib, local;
+} MakeLocalCallData;
+
+static void ntreeMakeLocal_CheckLocal(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ MakeLocalCallData *cd= (MakeLocalCallData*)calldata;
+ bNode *node;
+
+ /* find if group is in tree */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id == cd->group_id) {
+ if(owner_id->lib) cd->lib= 1;
+ else cd->local= 1;
+ }
+ }
+}
+static void ntreeMakeLocal_LinkNew(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ MakeLocalCallData *cd= (MakeLocalCallData*)calldata;
+ bNode *node;
+
+ /* find if group is in tree */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id == cd->group_id) {
+ if(owner_id->lib==NULL) {
+ node->id= cd->new_id;
+ cd->new_id->us++;
+ cd->group_id->us--;
+ }
+ }
+ }
}
void ntreeMakeLocal(bNodeTree *ntree)
{
- int local=0, lib=0;
+ bNodeTreeType *treetype= ntreeGetType(ntree->type);
+ MakeLocalCallData cd;
/* - only lib users: do nothing
* - only local users: set flag
@@ -1473,138 +1041,146 @@ void ntreeMakeLocal(bNodeTree *ntree)
if(ntree->id.lib==NULL) return;
if(ntree->id.us==1) {
- ntree->id.lib= NULL;
+ ntree->id.lib= 0;
ntree->id.flag= LIB_LOCAL;
- new_id(NULL, (ID *)ntree, NULL);
+ new_id(0, (ID *)ntree, 0);
return;
}
/* now check users of groups... again typedepending, callback... */
- if(ntree->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(ma->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(sce->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(tx->id.lib) lib= 1;
- else local= 1;
- }
- }
- }
- }
- }
+ cd.group_id = &ntree->id;
+ cd.new_id = NULL;
+ cd.local = 0;
+ cd.lib = 0;
+
+ treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_CheckLocal);
/* if all users are local, we simply make tree local */
- if(local && lib==0) {
+ if(cd.local && cd.lib==0) {
ntree->id.lib= NULL;
ntree->id.flag= LIB_LOCAL;
- new_id(NULL, (ID *)ntree, NULL);
+ new_id(0, (ID *)ntree, 0);
}
- else if(local && lib) {
+ else if(cd.local && cd.lib) {
/* this is the mixed case, we copy the tree and assign it to local users */
bNodeTree *newtree= ntreeCopyTree(ntree);
newtree->id.us= 0;
- if(ntree->type==NTREE_SHADER) {
- Material *ma;
- for(ma= G.main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= ma->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(ma->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_COMPOSIT) {
- Scene *sce;
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(sce->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE) {
- Tex *tx;
- for(tx= G.main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree) {
- bNode *node;
-
- /* find if group is in tree */
- for(node= tx->nodetree->nodes.first; node; node= node->next) {
- if(node->id == (ID *)ntree) {
- if(tx->id.lib==NULL) {
- node->id= &newtree->id;
- newtree->id.us++;
- ntree->id.us--;
- }
- }
- }
- }
+
+ cd.new_id = &newtree->id;
+ treetype->foreach_nodetree(G.main, &cd, &ntreeMakeLocal_LinkNew);
+ }
+}
+
+int ntreeNodeExists(bNodeTree *ntree, bNode *testnode)
+{
+ bNode *node= ntree->nodes.first;
+ for(; node; node= node->next)
+ if(node==testnode)
+ return 1;
+ return 0;
+}
+
+int ntreeOutputExists(bNode *node, bNodeSocket *testsock)
+{
+ bNodeSocket *sock= node->outputs.first;
+ for(; sock; sock= sock->next)
+ if(sock==testsock)
+ return 1;
+ return 0;
+}
+
+/* returns localized tree for execution in threads */
+bNodeTree *ntreeLocalize(bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+
+ bNodeTree *ltree;
+ bNode *node;
+
+ bAction *action_backup= NULL, *tmpact_backup= NULL;
+
+ /* Workaround for copying an action on each render!
+ * set action to NULL so animdata actions dont get copied */
+ AnimData *adt= BKE_animdata_from_id(&ntree->id);
+
+ if(adt) {
+ action_backup= adt->action;
+ tmpact_backup= adt->tmpact;
+
+ adt->action= NULL;
+ adt->tmpact= NULL;
+ }
+
+ /* node copy func */
+ ltree= ntreeCopyTree(ntree);
+
+ if(adt) {
+ AnimData *ladt= BKE_animdata_from_id(&ltree->id);
+
+ adt->action= ladt->action= action_backup;
+ adt->tmpact= ladt->tmpact= tmpact_backup;
+
+ if(action_backup) action_backup->id.us++;
+ if(tmpact_backup) tmpact_backup->id.us++;
+
+ }
+ /* end animdata uglyness */
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* store new_node pointer to original */
+ node->new_node->new_node= node;
+ }
+
+ if (ntreetype->localize)
+ ntreetype->localize(ltree, ntree);
+
+ return ltree;
+}
+
+/* sync local composite with real tree */
+/* local tree is supposed to be running, be careful moving previews! */
+/* is called by jobs manager, outside threads, so it doesnt happen during draw */
+void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+
+ if (ntreetype->local_sync)
+ ntreetype->local_sync(localtree, ntree);
+}
+
+/* merge local tree results back, and free local tree */
+/* we have to assume the editor already changed completely */
+void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
+ bNode *lnode;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ if(lnode->preview && lnode->preview->rect) {
+ nodeFreePreview(lnode->new_node);
+ lnode->new_node->preview= lnode->preview;
+ lnode->preview= NULL;
}
}
}
-}
+ if (ntreetype->local_merge)
+ ntreetype->local_merge(localtree, ntree);
+
+ ntreeFreeTree(localtree);
+ MEM_freeN(localtree);
+}
/* ************ find stuff *************** */
-static int ntreeHasType(bNodeTree *ntree, int type)
+int ntreeHasType(bNodeTree *ntree, int type)
{
bNode *node;
@@ -1768,7 +1344,7 @@ void ntreeSocketUseFlags(bNodeTree *ntree)
/* ************** dependency stuff *********** */
/* node is guaranteed to be not checked before */
-static int node_recurs_check(bNode *node, bNode ***nsort)
+static int node_get_deplist_recurs(bNode *node, bNode ***nsort)
{
bNode *fromnode;
bNodeSocket *sock;
@@ -1776,1625 +1352,361 @@ static int node_recurs_check(bNode *node, bNode ***nsort)
node->done= 1;
+ /* check linked nodes */
for(sock= node->inputs.first; sock; sock= sock->next) {
if(sock->link) {
fromnode= sock->link->fromnode;
if(fromnode) {
if (fromnode->done==0)
- fromnode->level= node_recurs_check(fromnode, nsort);
+ fromnode->level= node_get_deplist_recurs(fromnode, nsort);
if (fromnode->level <= level)
level = fromnode->level - 1;
}
}
}
- **nsort= node;
- (*nsort)++;
- return level;
-}
-
-
-static void ntreeSetOutput(bNodeTree *ntree)
-{
- bNode *node;
-
- /* find the active outputs, might become tree type dependant handler */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- bNode *tnode;
- int output= 0;
-
- /* we need a check for which output node should be tagged like this, below an exception */
- if(node->type==CMP_NODE_OUTPUT_FILE)
- continue;
-
- /* there is more types having output class, each one is checked */
- for(tnode= ntree->nodes.first; tnode; tnode= tnode->next) {
- if(tnode->typeinfo->nclass==NODE_CLASS_OUTPUT) {
-
- if(ntree->type==NTREE_COMPOSIT) {
-
- /* same type, exception for viewer */
- if(tnode->type==node->type ||
- (ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) &&
- ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))) {
- if(tnode->flag & NODE_DO_OUTPUT) {
- output++;
- if(output>1)
- tnode->flag &= ~NODE_DO_OUTPUT;
- }
- }
- }
- else {
- /* same type */
- if(tnode->type==node->type) {
- if(tnode->flag & NODE_DO_OUTPUT) {
- output++;
- if(output>1)
- tnode->flag &= ~NODE_DO_OUTPUT;
- }
- }
- }
- }
- }
- if(output==0)
- node->flag |= NODE_DO_OUTPUT;
- }
+ /* check parent node */
+ if (node->parent) {
+ if (node->parent->done==0)
+ node->parent->level= node_get_deplist_recurs(node->parent, nsort);
+ if (node->parent->level <= level)
+ level = node->parent->level - 1;
}
- /* here we could recursively set which nodes have to be done,
- might be different for editor or for "real" use... */
+ if (nsort) {
+ **nsort= node;
+ (*nsort)++;
+ }
+
+ return level;
}
-void ntreeSolveOrder(bNodeTree *ntree)
+void ntreeGetDependencyList(struct bNodeTree *ntree, struct bNode ***deplist, int *totnodes)
{
- bNode *node, **nodesort, **nsort;
- bNodeSocket *sock;
- bNodeLink *link;
- int a, totnode=0;
+ bNode *node, **nsort;
+
+ *totnodes=0;
- /* the solve-order is called on each tree change, so we should be sure no exec can be running */
- ntreeEndExecTree(ntree);
-
- /* set links pointers the input sockets, to find dependencies */
/* first clear data */
for(node= ntree->nodes.first; node; node= node->next) {
node->done= 0;
- totnode++;
- for(sock= node->inputs.first; sock; sock= sock->next)
- sock->link= NULL;
+ (*totnodes)++;
}
- /* clear group socket links */
- for(sock= ntree->outputs.first; sock; sock= sock->next)
- sock->link= NULL;
- if(totnode==0)
+ if(*totnodes==0) {
+ *deplist = NULL;
return;
-
- for(link= ntree->links.first; link; link= link->next) {
- link->tosock->link= link;
}
- nsort= nodesort= MEM_callocN(totnode*sizeof(void *), "sorted node array");
+ nsort= *deplist= MEM_callocN((*totnodes)*sizeof(bNode*), "sorted node array");
/* recursive check */
for(node= ntree->nodes.first; node; node= node->next) {
if(node->done==0) {
- node->level= node_recurs_check(node, &nsort);
+ node->level= node_get_deplist_recurs(node, &nsort);
}
}
-
- /* re-insert nodes in order, first a paranoia check */
- for(a=0; a<totnode; a++) {
- if(nodesort[a]==NULL)
- break;
- }
- if(a<totnode)
- printf("sort error in node tree");
- else {
- ntree->nodes.first= ntree->nodes.last= NULL;
- for(a=0; a<totnode; a++)
- BLI_addtail(&ntree->nodes, nodesort[a]);
- }
-
- MEM_freeN(nodesort);
-
- ntreeSetOutput(ntree);
}
-
-/* Should be callback! */
-/* Do not call execs here */
-void NodeTagChanged(bNodeTree *ntree, bNode *node)
-{
- if(ntree->type==NTREE_COMPOSIT) {
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(sock->ns.data) {
- //free_compbuf(sock->ns.data);
- //sock->ns.data= NULL;
- }
- }
- node->need_exec= 1;
- }
-}
-
-int NodeTagIDChanged(bNodeTree *ntree, ID *id)
-{
- int change = FALSE;
-
- if(ELEM(NULL, id, ntree))
- return change;
-
- if(ntree->type==NTREE_COMPOSIT) {
- bNode *node;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->id==id) {
- change= TRUE;
- NodeTagChanged(ntree, node);
- }
- }
- }
-
- return change;
-}
-
-
-
-/* ******************* executing ************* */
-
-/* for a given socket, find the actual stack entry */
-static bNodeStack *get_socket_stack(bNodeStack *stack, bNodeSocket *sock, bNodeStack **gin)
-{
- switch (sock->stack_type) {
- case SOCK_STACK_LOCAL:
- return stack + sock->stack_index;
- case SOCK_STACK_EXTERN:
- return (gin ? gin[sock->stack_index] : NULL);
- case SOCK_STACK_CONST:
- return sock->stack_ptr;
- }
- return NULL;
-}
-
-/* see notes at ntreeBeginExecTree */
-static void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out, bNodeStack **gin)
-{
- bNodeSocket *sock;
-
- /* build pointer stack */
- if (in) {
- for(sock= node->inputs.first; sock; sock= sock->next) {
- *(in++) = get_socket_stack(stack, sock, gin);
- }
- }
-
- if (out) {
- for(sock= node->outputs.first; sock; sock= sock->next) {
- *(out++) = get_socket_stack(stack, sock, gin);
- }
- }
-}
-
-static void node_group_execute(bNodeStack *stack, void *data, bNode *gnode, bNodeStack **in)
+static void ntree_update_link_pointers(bNodeTree *ntree)
{
bNode *node;
- bNodeTree *ntree= (bNodeTree *)gnode->id;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
-
- if(ntree==NULL) return;
+ bNodeSocket *sock;
+ bNodeLink *link;
- stack+= gnode->stack_index;
-
+ /* first clear data */
for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, stack, nsin, nsout, in);
-
- /* for groups, only execute outputs for edited group */
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- if(node->type==CMP_NODE_OUTPUT_FILE || (gnode->flag & NODE_GROUP_EDIT))
- node->typeinfo->execfunc(data, node, nsin, nsout);
- }
- else
- node->typeinfo->execfunc(data, node, nsin, nsout);
- }
- }
-
- /* free internal buffers */
- if (ntree->type==NTREE_COMPOSIT) {
- bNodeSocket *sock;
- bNodeStack *ns;
-
- /* clear hasoutput on all local stack data,
- * only the group output will be used from now on
- */
- for (node=ntree->nodes.first; node; node=node->next) {
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL) {
- ns= get_socket_stack(stack, sock, in);
- ns->hasoutput = 0;
- }
- }
- }
- /* use the hasoutput flag to tag external sockets */
- for (sock=ntree->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL) {
- ns= get_socket_stack(stack, sock, in);
- ns->hasoutput = 1;
- }
- }
- /* now free all stacks that are not used from outside */
- for (node=ntree->nodes.first; node; node=node->next) {
- for (sock=node->outputs.first; sock; sock=sock->next) {
- if (sock->stack_type==SOCK_STACK_LOCAL ) {
- ns= get_socket_stack(stack, sock, in);
- if (ns->hasoutput==0 && ns->data) {
- free_compbuf(ns->data);
- ns->data = NULL;
- }
- }
- }
- }
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ sock->link= NULL;
}
-}
+ /* clear socket links */
+ for(sock= ntree->outputs.first; sock; sock= sock->next)
+ sock->link= NULL;
-static int set_stack_indexes_default(bNode *node, int index)
-{
- bNodeSocket *sock;
-
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (sock->link && sock->link->fromsock) {
- sock->stack_type = sock->link->fromsock->stack_type;
- sock->stack_index = sock->link->fromsock->stack_index;
- sock->stack_ptr = sock->link->fromsock->stack_ptr;
- }
- else {
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = &sock->ns;
- }
- }
-
- for (sock=node->outputs.first; sock; sock=sock->next) {
- sock->stack_type = SOCK_STACK_LOCAL;
- sock->stack_index = index++;
- sock->stack_ptr = NULL;
+ for(link= ntree->links.first; link; link= link->next) {
+ if (link->tosock)
+ link->tosock->link= link;
}
-
- return index;
}
-static int ntree_begin_exec_tree(bNodeTree *ntree);
-static int set_stack_indexes_group(bNode *node, int index)
+void ntree_validate_links(bNodeTree *ntree)
{
- bNodeTree *ngroup= (bNodeTree*)node->id;
- bNodeSocket *sock;
-
- if(ngroup && (ngroup->init & NTREE_TYPE_INIT)==0)
- ntreeInitTypes(ngroup);
-
- node->stack_index = index;
- if(ngroup)
- index += ntree_begin_exec_tree(ngroup);
-
- for (sock=node->inputs.first; sock; sock=sock->next) {
- if (sock->link && sock->link->fromsock) {
- sock->stack_type = sock->link->fromsock->stack_type;
- sock->stack_index = sock->link->fromsock->stack_index;
- sock->stack_ptr = sock->link->fromsock->stack_ptr;
- }
- else {
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = &sock->ns;
- }
- }
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
+ bNodeLink *link;
- /* identify group node outputs from internal group sockets */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if (sock->groupsock) {
- bNodeSocket *insock, *gsock = sock->groupsock;
- switch (gsock->stack_type) {
- case SOCK_STACK_EXTERN:
- /* extern stack is resolved for this group node instance */
- insock= find_group_node_input(node, gsock->link->fromsock);
- sock->stack_type = insock->stack_type;
- sock->stack_index = insock->stack_index;
- sock->stack_ptr = insock->stack_ptr;
- break;
- case SOCK_STACK_LOCAL:
- sock->stack_type = SOCK_STACK_LOCAL;
- /* local stack index must be offset by group node instance */
- sock->stack_index = gsock->stack_index + node->stack_index;
- sock->stack_ptr = NULL;
- break;
- case SOCK_STACK_CONST:
- sock->stack_type = SOCK_STACK_CONST;
- sock->stack_index = -1;
- sock->stack_ptr = gsock->stack_ptr;
- break;
- }
- }
- else {
- sock->stack_type = SOCK_STACK_LOCAL;
- sock->stack_index = index++;
- sock->stack_ptr = NULL;
+ for (link = ntree->links.first; link; link = link->next) {
+ link->flag |= NODE_LINK_VALID;
+ if (link->fromnode && link->tonode && link->fromnode->level <= link->tonode->level)
+ link->flag &= ~NODE_LINK_VALID;
+ else if (ntreetype->validate_link) {
+ if (!ntreetype->validate_link(ntree, link))
+ link->flag &= ~NODE_LINK_VALID;
}
}
-
- return index;
}
-/* recursively called for groups */
-/* we set all trees on own local indices, but put a total counter
- in the groups, so each instance of a group has own stack */
-static int ntree_begin_exec_tree(bNodeTree *ntree)
+static void ntree_verify_nodes_cb(void *calldata, struct ID *UNUSED(owner_id), struct bNodeTree *ntree)
{
+ ID *id= (ID*)calldata;
bNode *node;
- bNodeSocket *gsock;
- int index= 0, i;
-
- if((ntree->init & NTREE_TYPE_INIT)==0)
- ntreeInitTypes(ntree);
-
- /* group inputs are numbered 0..totinputs, so external stack can easily be addressed */
- i = 0;
- for(gsock=ntree->inputs.first; gsock; gsock = gsock->next) {
- gsock->stack_type = SOCK_STACK_EXTERN;
- gsock->stack_index = i++;
- gsock->stack_ptr = NULL;
- }
-
- /* create indices for stack, check preview */
- for(node= ntree->nodes.first; node; node= node->next) {
- /* XXX can this be done by a generic one-for-all function?
- * otherwise should use node-type callback.
- */
- if(node->type==NODE_GROUP)
- index = set_stack_indexes_group(node, index);
- else
- index = set_stack_indexes_default(node, index);
- }
-
- /* group outputs */
- for(gsock=ntree->outputs.first; gsock; gsock = gsock->next) {
- if (gsock->link && gsock->link->fromsock) {
- gsock->stack_type = gsock->link->fromsock->stack_type;
- gsock->stack_index = gsock->link->fromsock->stack_index;
- gsock->stack_ptr = gsock->link->fromsock->stack_ptr;
- }
- else {
- gsock->stack_type = SOCK_STACK_CONST;
- gsock->stack_index = -1;
- gsock->stack_ptr = &gsock->ns;
- }
- }
- return index;
+ for (node=ntree->nodes.first; node; node=node->next)
+ if (node->typeinfo->verifyfunc)
+ node->typeinfo->verifyfunc(ntree, node, id);
}
-/* copy socket compbufs to stack, initialize usage of curve nodes */
-static void composit_begin_exec(bNodeTree *ntree, bNodeStack *stack)
+void ntreeVerifyNodes(struct Main *main, struct ID *id)
{
- bNode *node;
- bNodeSocket *sock;
+ bNodeTreeType *ntreetype;
+ bNodeTree *ntree;
+ int n;
- for(node= ntree->nodes.first; node; node= node->next) {
-
- /* initialize needed for groups */
- node->exec= 0;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns= get_socket_stack(stack, sock, NULL);
- if(ns && sock->ns.data) {
- ns->data= sock->ns.data;
- sock->ns.data= NULL;
- }
- }
-
- /* cannot initialize them while using in threads */
- if(ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) {
- curvemapping_initialize(node->storage);
- if(node->type==CMP_NODE_CURVE_RGB)
- curvemapping_premultiply(node->storage, 0);
- }
- if(node->type==NODE_GROUP && node->id)
- composit_begin_exec((bNodeTree *)node->id, stack + node->stack_index);
-
- }
-}
-
-/* copy stack compbufs to sockets */
-static void composit_end_exec(bNodeTree *ntree, bNodeStack *stack)
-{
- bNode *node;
- bNodeStack *ns;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(stack, sock, NULL);
- if(ns && ns->data) {
- sock->ns.data= ns->data;
- ns->data= NULL;
- }
- }
-
- if(node->type==CMP_NODE_CURVE_RGB)
- curvemapping_premultiply(node->storage, 1);
-
- if(node->type==NODE_GROUP && node->id)
- composit_end_exec((bNodeTree *)node->id, stack + node->stack_index);
-
- node->need_exec= 0;
+ for (n=0; n < NUM_NTREE_TYPES; ++n) {
+ ntreetype= ntreeGetType(n);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, id, ntree_verify_nodes_cb);
}
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next)
+ ntree_verify_nodes_cb(id, NULL, ntree);
}
-static void group_tag_used_outputs(bNode *gnode, bNodeStack *stack, bNodeStack **gin)
+void ntreeUpdateTree(bNodeTree *ntree)
{
- bNodeTree *ntree= (bNodeTree *)gnode->id;
+ bNodeTreeType *ntreetype= ntreeGetType(ntree->type);
bNode *node;
- bNodeSocket *sock;
+ bNode **deplist;
+ int totnodes, n;
- stack+= gnode->stack_index;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->execfunc) {
- for(sock= node->inputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- ns->hasoutput= 1;
- }
- }
-
- /* non-composite trees do all nodes by default */
- if (ntree->type!=NTREE_COMPOSIT)
- node->need_exec = 1;
-
- for(sock= node->inputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- if (ns) {
- ns->hasoutput = 1;
-
- /* sock type is needed to detect rgba or value or vector types */
- if(sock->link && sock->link->fromsock)
- ns->sockettype= sock->link->fromsock->type;
- else
- sock->ns.sockettype= sock->type;
- }
-
- if(sock->link) {
- bNodeLink *link= sock->link;
- /* this is the test for a cyclic case */
- if(link->fromnode && link->tonode) {
- if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF);
- else {
- node->need_exec= 0;
- }
- }
- }
- }
-
- /* set stack types (for local stack entries) */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns = get_socket_stack(stack, sock, gin);
- if (ns)
- ns->sockettype = sock->type;
- }
- }
-}
-
-/* notes below are ancient! (ton) */
-/* stack indices make sure all nodes only write in allocated data, for making it thread safe */
-/* only root tree gets the stack, to enable instances to have own stack entries */
-/* per tree (and per group) unique indices are created */
-/* the index_ext we need to be able to map from groups to the group-node own stack */
-
-typedef struct bNodeThreadStack {
- struct bNodeThreadStack *next, *prev;
- bNodeStack *stack;
- int used;
-} bNodeThreadStack;
-
-static bNodeThreadStack *ntreeGetThreadStack(bNodeTree *ntree, int thread)
-{
- ListBase *lb= &ntree->threadstack[thread];
- bNodeThreadStack *nts;
+ ntree_update_link_pointers(ntree);
- for(nts=lb->first; nts; nts=nts->next) {
- if(!nts->used) {
- nts->used= 1;
- return nts;
- }
- }
- nts= MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack");
- nts->stack= MEM_dupallocN(ntree->stack);
- nts->used= 1;
- BLI_addtail(lb, nts);
-
- return nts;
-}
-
-static void ntreeReleaseThreadStack(bNodeThreadStack *nts)
-{
- nts->used= 0;
-}
-
-/* free texture delegates */
-static void tex_end_exec(bNodeTree *ntree)
-{
- bNodeThreadStack *nts;
- bNodeStack *ns;
- int th, a;
+ /* also updates the node level! */
+ ntreeGetDependencyList(ntree, &deplist, &totnodes);
- if(ntree->threadstack) {
- for(th=0; th<BLENDER_MAX_THREADS; th++) {
- for(nts=ntree->threadstack[th].first; nts; nts=nts->next) {
- for(ns= nts->stack, a=0; a<ntree->stacksize; a++, ns++) {
- if(ns->data) {
- MEM_freeN(ns->data);
- ns->data= NULL;
- }
- }
- }
+ if (deplist) {
+ /* update individual nodes */
+ for (n=0; n < totnodes; ++n) {
+ node = deplist[n];
+ if (ntreetype->update_node)
+ ntreetype->update_node(ntree, node);
+ else if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
- }
-}
-
-void ntreeBeginExecTree(bNodeTree *ntree)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
-
- /* let's make it sure */
- if(ntree->init & NTREE_EXEC_INIT)
- return;
-
- /* allocate the thread stack listbase array */
- if(ntree->type!=NTREE_COMPOSIT)
- ntree->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
-
- /* goes recursive over all groups */
- ntree->stacksize= ntree_begin_exec_tree(ntree);
-
- if(ntree->stacksize) {
- bNode *node;
- bNodeStack *ns;
- int a;
- /* allocate the base stack */
- ns=ntree->stack= MEM_callocN(ntree->stacksize*sizeof(bNodeStack), "node stack");
+ MEM_freeN(deplist);
- /* tag inputs, the get_stack() gives own socket stackdata if not in use */
- for(a=0; a<ntree->stacksize; a++, ns++) ns->hasinput= 1;
-
- /* tag used outputs, so we know when we can skip operations */
- for(node= ntree->nodes.first; node; node= node->next) {
- bNodeSocket *sock;
-
- /* non-composite trees do all nodes by default */
- if(ntree->type!=NTREE_COMPOSIT)
- node->need_exec= 1;
-
- for(sock= node->inputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(ntree->stack, sock, NULL);
- if (ns) {
- ns->hasoutput = 1;
-
- /* sock type is needed to detect rgba or value or vector types */
- if(sock->link && sock->link->fromsock)
- ns->sockettype= sock->link->fromsock->type;
- else
- sock->ns.sockettype= sock->type;
- }
-
- if(sock->link) {
- bNodeLink *link= sock->link;
- /* this is the test for a cyclic case */
- if(link->fromnode && link->tonode) {
- if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF);
- else {
- node->need_exec= 0;
- }
- }
- }
- }
-
- /* set stack types (for local stack entries) */
- for(sock= node->outputs.first; sock; sock= sock->next) {
- ns = get_socket_stack(ntree->stack, sock, NULL);
- if (ns)
- ns->sockettype = sock->type;
- }
-
- if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, ntree->stack, nsin, NULL, NULL);
- group_tag_used_outputs(node, ntree->stack, nsin);
- }
- }
+ /* ensures only a single output node is enabled, texnode allows multiple though */
+ if(ntree->type!=NTREE_TEXTURE)
+ ntreeSetOutput(ntree);
- if(ntree->type==NTREE_COMPOSIT)
- composit_begin_exec(ntree, ntree->stack);
}
- ntree->init |= NTREE_EXEC_INIT;
-}
-
-void ntreeEndExecTree(bNodeTree *ntree)
-{
- bNodeStack *ns;
-
- if(ntree->init & NTREE_EXEC_INIT) {
- bNodeThreadStack *nts;
- int a;
-
- /* another callback candidate! */
- if(ntree->type==NTREE_COMPOSIT) {
- composit_end_exec(ntree, ntree->stack);
-
- for(ns= ntree->stack, a=0; a<ntree->stacksize; a++, ns++) {
- if(ns->data) {
- printf("freed leftover buffer from stack\n");
- free_compbuf(ns->data);
- ns->data= NULL;
- }
- }
- }
- else if(ntree->type==NTREE_TEXTURE)
- tex_end_exec(ntree);
-
- if(ntree->stack) {
- MEM_freeN(ntree->stack);
- ntree->stack= NULL;
- }
-
- if(ntree->threadstack) {
- for(a=0; a<BLENDER_MAX_THREADS; a++) {
- for(nts=ntree->threadstack[a].first; nts; nts=nts->next)
- if (nts->stack) MEM_freeN(nts->stack);
- BLI_freelistN(&ntree->threadstack[a]);
- }
-
- MEM_freeN(ntree->threadstack);
- ntree->threadstack= NULL;
- }
-
- ntree->init &= ~NTREE_EXEC_INIT;
+ /* general tree updates */
+ if (ntree->update & (NTREE_UPDATE_LINKS|NTREE_UPDATE_NODES)) {
+ ntree_validate_links(ntree);
}
-}
-
-/* nodes are presorted, so exec is in order of list */
-void ntreeExecTree(bNodeTree *ntree, void *callerdata, int thread)
-{
- bNode *node;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *stack;
- bNodeThreadStack *nts = NULL;
-
- /* only when initialized */
- if((ntree->init & NTREE_EXEC_INIT)==0)
- ntreeBeginExecTree(ntree);
- /* composite does 1 node per thread, so no multiple stacks needed */
- if(ntree->type==NTREE_COMPOSIT) {
- stack= ntree->stack;
- }
+ /* update tree */
+ if (ntreetype->update)
+ ntreetype->update(ntree);
else {
- nts= ntreeGetThreadStack(ntree, thread);
- stack= nts->stack;
+ bNodeType *ntype= node_get_type(ntree, ntree->nodetype);
+ if (ntype && ntype->updatetreefunc)
+ ntype->updatetreefunc(ntree);
}
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->need_exec) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- node->typeinfo->execfunc(callerdata, node, nsin, nsout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, stack, nsin, NULL, NULL);
- node_group_execute(stack, callerdata, node, nsin);
- }
- }
- }
-
- if(nts)
- ntreeReleaseThreadStack(nts);
-}
-
-
-/* ***************************** threaded version for execute composite nodes ************* */
-/* these are nodes without input, only giving values */
-/* or nodes with only value inputs */
-static int node_only_value(bNode *node)
-{
- bNodeSocket *sock;
-
- if(ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_VALUE, CMP_NODE_RGB))
- return 1;
+ /* XXX hack, should be done by depsgraph!! */
+ ntreeVerifyNodes(G.main, &ntree->id);
- /* doing this for all node types goes wrong. memory free errors */
- if(node->inputs.first && node->type==CMP_NODE_MAP_VALUE) {
- int retval= 1;
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link && sock->link->fromnode)
- retval &= node_only_value(sock->link->fromnode);
- }
- return retval;
- }
- return 0;
+ /* clear the update flag */
+ ntree->update = 0;
}
-
-/* not changing info, for thread callback */
-typedef struct ThreadData {
- bNodeStack *stack;
- RenderData *rd;
-} ThreadData;
-
-static void *exec_composite_node(void *node_v)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNode *node= node_v;
- ThreadData *thd= (ThreadData *)node->threaddata;
-
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
-
- if((node->flag & NODE_MUTED) && (!node_only_value(node))) {
- /* viewers we execute, for feedback to user */
- if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- else
- node_compo_pass_on(node, nsin, nsout);
- }
- else if(node->typeinfo->execfunc) {
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_group_execute(thd->stack, thd->rd, node, nsin);
- }
-
- node->exec |= NODE_READY;
- return NULL;
-}
-
-/* return total of executable nodes, for timecursor */
-/* only compositor uses it */
-static int setExecutableNodes(bNodeTree *ntree, ThreadData *thd)
-{
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- bNode *node;
- bNodeSocket *sock;
- int totnode= 0, group_edit= 0;
-
- /* note; do not add a dependency sort here, the stack was created already */
-
- /* if we are in group edit, viewer nodes get skipped when group has viewer */
- for(node= ntree->nodes.first; node; node= node->next)
- if(node->type==NODE_GROUP && (node->flag & NODE_GROUP_EDIT))
- if(ntreeHasType((bNodeTree *)node->id, CMP_NODE_VIEWER))
- group_edit= 1;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- int a;
-
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
-
- /* test the outputs */
- /* skip value-only nodes (should be in type!) */
- if(!node_only_value(node)) {
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nsout[a]->data==NULL && nsout[a]->hasoutput) {
- node->need_exec= 1;
- break;
- }
- }
- }
-
- /* test the inputs */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- /* skip viewer nodes in bg render or group edit */
- if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) && (G.background || group_edit))
- node->need_exec= 0;
- /* is sock in use? */
- else if(sock->link) {
- bNodeLink *link= sock->link;
-
- /* this is the test for a cyclic case */
- if(link->fromnode==NULL || link->tonode==NULL);
- else if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
- if(link->fromnode->need_exec) {
- node->need_exec= 1;
- break;
- }
- }
- else {
- node->need_exec= 0;
- printf("Node %s skipped, cyclic dependency\n", node->name);
- }
- }
- }
-
- if(node->need_exec) {
-
- /* free output buffers */
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nsout[a]->data) {
- free_compbuf(nsout[a]->data);
- nsout[a]->data= NULL;
- }
- }
- totnode++;
- /* printf("node needs exec %s\n", node->name); */
-
- /* tag for getExecutableNode() */
- node->exec= 0;
- }
- else {
- /* tag for getExecutableNode() */
- node->exec= NODE_READY|NODE_FINISHED|NODE_SKIPPED;
-
- }
- }
-
- /* last step: set the stack values for only-value nodes */
- /* just does all now, compared to a full buffer exec this is nothing */
- if(totnode) {
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->need_exec==0 && node_only_value(node)) {
- if(node->typeinfo->execfunc) {
- node_get_stack(node, thd->stack, nsin, nsout, NULL);
- node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
- }
- }
- }
- }
-
- return totnode;
-}
-
-/* while executing tree, free buffers from nodes that are not needed anymore */
-static void freeExecutableNode(bNodeTree *ntree)
+void NodeTagChanged(bNodeTree *ntree, bNode *node)
{
- /* node outputs can be freed when:
- - not a render result or image node
- - when node outputs go to nodes all being set NODE_FINISHED
- */
- bNode *node;
- bNodeSocket *sock;
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
- /* set exec flag for finished nodes that might need freed */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type!=CMP_NODE_R_LAYERS)
- if(node->exec & NODE_FINISHED)
- node->exec |= NODE_FREEBUFS;
- }
- /* clear this flag for input links that are not done yet */
- for(node= ntree->nodes.first; node; node= node->next) {
- if((node->exec & NODE_FINISHED)==0) {
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(sock->link && sock->link->fromnode)
- sock->link->fromnode->exec &= ~NODE_FREEBUFS;
- }
- }
- /* now we can free buffers */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec & NODE_FREEBUFS) {
- for(sock= node->outputs.first; sock; sock= sock->next) {
- bNodeStack *ns= get_socket_stack(ntree->stack, sock, NULL);
- if(ns && ns->data) {
- free_compbuf(ns->data);
- ns->data= NULL;
- // printf("freed buf node %s \n", node->name);
- }
- }
- }
- }
+ if (ntreetype->update_node)
+ ntreetype->update_node(ntree, node);
+ else if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
-static bNode *getExecutableNode(bNodeTree *ntree)
+int NodeTagIDChanged(bNodeTree *ntree, ID *id)
{
+ bNodeTreeType *ntreetype = ntreeGetType(ntree->type);
bNode *node;
- bNodeSocket *sock;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec==0) {
-
- /* input sockets should be ready */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link && sock->link->fromnode)
- if((sock->link->fromnode->exec & NODE_READY)==0)
- break;
- }
- if(sock==NULL)
- return node;
- }
- }
- return NULL;
-}
+ int change = FALSE;
-/* check if texture nodes need exec or end */
-static void ntree_composite_texnode(bNodeTree *ntree, int init)
-{
- bNode *node;
+ if(ELEM(NULL, id, ntree))
+ return change;
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==CMP_NODE_TEXTURE && node->id) {
- Tex *tex= (Tex *)node->id;
- if(tex->nodetree && tex->use_nodes) {
- /* has internal flag to detect it only does it once */
- if(init)
- ntreeBeginExecTree(tex->nodetree);
- else
- ntreeEndExecTree(tex->nodetree);
+ if (ntreetype->update_node) {
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->id==id) {
+ change = TRUE;
+ ntreetype->update_node(ntree, node);
}
}
}
-
-}
-
-/* optimized tree execute test for compositing */
-void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
-{
- bNode *node;
- ListBase threads;
- ThreadData thdata;
- int totnode, curnode, rendering= 1;
-
- if(ntree==NULL) return;
-
- if(do_preview)
- ntreeInitPreview(ntree, 0, 0);
-
- ntreeBeginExecTree(ntree);
- ntree_composite_texnode(ntree, 1);
-
- /* prevent unlucky accidents */
- if(G.background)
- rd->scemode &= ~R_COMP_CROP;
-
- /* setup callerdata for thread callback */
- thdata.rd= rd;
- thdata.stack= ntree->stack;
-
- /* 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);
-
- BLI_init_threads(&threads, exec_composite_node, rd->threads);
-
- while(rendering) {
-
- if(BLI_available_threads(&threads)) {
- node= getExecutableNode(ntree);
- if(node) {
- if(ntree->progress && totnode)
- ntree->progress(ntree->prh, (1.0f - curnode/(float)totnode));
- if(ntree->stats_draw) {
- char str[64];
- sprintf(str, "Compositing %d %s", curnode, node->name);
- ntree->stats_draw(ntree->sdh, str);
- }
- curnode--;
-
- node->threaddata = &thdata;
- node->exec= NODE_PROCESSING;
- BLI_insert_thread(&threads, node);
- }
- else
- PIL_sleep_ms(50);
- }
- else
- PIL_sleep_ms(50);
-
- rendering= 0;
- /* test for ESC */
- if(ntree->test_break && ntree->test_break(ntree->tbh)) {
- for(node= ntree->nodes.first; node; node= node->next)
- node->exec |= NODE_READY;
- }
-
- /* check for ready ones, and if we need to continue */
+ else {
for(node= ntree->nodes.first; node; node= node->next) {
- if(node->exec & NODE_READY) {
- if((node->exec & NODE_FINISHED)==0) {
- BLI_remove_thread(&threads, node); /* this waits for running thread to finish btw */
- node->exec |= NODE_FINISHED;
-
- /* freeing unused buffers */
- if(rd->scemode & R_COMP_FREE)
- freeExecutableNode(ntree);
- }
+ if(node->id==id) {
+ change = TRUE;
+ if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
}
- else rendering= 1;
}
}
- BLI_end_threads(&threads);
-
- ntreeEndExecTree(ntree);
+ return change;
}
-/* ********** copy composite tree entirely, to allow threaded exec ******************* */
-/* ***************** do NOT execute this in a thread! ****************** */
+/* ************* node type access ********** */
-/* returns localized tree for execution in threads */
-/* local tree then owns all compbufs (for composite) */
-bNodeTree *ntreeLocalize(bNodeTree *ntree)
+int nodeValid(bNodeTree *ntree, bNodeTemplate *ntemp)
{
- bNodeTree *ltree;
- bNode *node;
- bNodeSocket *sock;
-
- bAction *action_backup= NULL, *tmpact_backup= NULL;
-
- /* Workaround for copying an action on each render!
- * set action to NULL so animdata actions dont get copied */
- AnimData *adt= BKE_animdata_from_id(&ntree->id);
-
- if(adt) {
- action_backup= adt->action;
- tmpact_backup= adt->tmpact;
-
- adt->action= NULL;
- adt->tmpact= NULL;
- }
-
- /* node copy func */
- ltree= ntreeCopyTree(ntree);
-
- if(adt) {
- AnimData *ladt= BKE_animdata_from_id(&ltree->id);
-
- adt->action= ladt->action= action_backup;
- adt->tmpact= ladt->tmpact= tmpact_backup;
-
- if(action_backup) action_backup->id.us++;
- if(tmpact_backup) tmpact_backup->id.us++;
-
- }
- /* end animdata uglyness */
-
- /* ensures only a single output node is enabled */
- ntreeSetOutput(ltree);
-
- for(node= ntree->nodes.first; node; node= node->next) {
-
- /* store new_node pointer to original */
- node->new_node->new_node= node;
-
- if(ntree->type==NTREE_COMPOSIT) {
- /* ensure new user input gets handled ok, only composites (texture nodes will break, for painting since it uses no tags) */
- node->need_exec= 0;
-
- /* move over the compbufs */
- /* right after ntreeCopyTree() oldsock pointers are valid */
-
- if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(node->id) {
- if(node->flag & NODE_DO_OUTPUT)
- node->new_node->id= (ID *)copy_image((Image *)node->id);
- else
- node->new_node->id= NULL;
- }
- }
-
- for(sock= node->outputs.first; sock; sock= sock->next) {
-
- sock->new_sock->ns.data= sock->ns.data;
- compbuf_set_node(sock->new_sock->ns.data, node->new_node);
-
- sock->ns.data= NULL;
- sock->new_sock->new_sock= sock;
- }
- }
- }
-
- return ltree;
-}
-
-static int node_exists(bNodeTree *ntree, bNode *testnode)
-{
- bNode *node= ntree->nodes.first;
- for(; node; node= node->next)
- if(node==testnode)
- return 1;
- return 0;
-}
-
-static int outsocket_exists(bNode *node, bNodeSocket *testsock)
-{
- bNodeSocket *sock= node->outputs.first;
- for(; sock; sock= sock->next)
- if(sock==testsock)
+ bNodeType *ntype= node_get_type(ntree, ntemp->type);
+ if (ntype) {
+ if (ntype->validfunc)
+ return ntype->validfunc(ntree, ntemp);
+ else
return 1;
- return 0;
-}
-
-
-/* sync local composite with real tree */
-/* local composite is supposed to be running, be careful moving previews! */
-/* is called by jobs manager, outside threads, so it doesnt happen during draw */
-void ntreeLocalSync(bNodeTree *localtree, bNodeTree *ntree)
-{
- bNode *lnode;
-
- if(ntree->type==NTREE_COMPOSIT) {
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
- }
- }
- }
- }
- else if(ELEM(ntree->type, NTREE_SHADER, NTREE_TEXTURE)) {
- /* copy over contents of previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if(node_exists(ntree, lnode->new_node)) {
- bNode *node= lnode->new_node;
-
- if(node->preview && node->preview->rect) {
- if(lnode->preview && lnode->preview->rect) {
- int xsize= node->preview->xsize;
- int ysize= node->preview->ysize;
- memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
- }
- }
- }
- }
}
+ else
+ return 0;
}
-/* merge local tree results back, and free local tree */
-/* we have to assume the editor already changed completely */
-void ntreeLocalMerge(bNodeTree *localtree, bNodeTree *ntree)
+const char* nodeLabel(bNode *node)
{
- bNode *lnode;
- bNodeSocket *lsock;
-
- /* move over the compbufs and previews */
- for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
- if(node_exists(ntree, lnode->new_node)) {
-
- if(lnode->preview && lnode->preview->rect) {
- node_free_preview(lnode->new_node);
- lnode->new_node->preview= lnode->preview;
- lnode->preview= NULL;
- }
-
- if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
- if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
- /* image_merge does sanity check for pointers */
- BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
- }
- }
-
- for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
- if(outsocket_exists(lnode->new_node, lsock->new_sock)) {
- lsock->new_sock->ns.data= lsock->ns.data;
- compbuf_set_node(lsock->new_sock->ns.data, lnode->new_node);
- lsock->ns.data= NULL;
- lsock->new_sock= NULL;
- }
- }
- }
- }
- ntreeFreeTree(localtree);
- MEM_freeN(localtree);
+ if (node->label[0]!='\0')
+ return node->label;
+ else if (node->typeinfo->labelfunc)
+ return node->typeinfo->labelfunc(node);
+ else
+ return node->typeinfo->name;
}
-/* *********************************************** */
-
-/* GPU material from shader nodes */
-
-static void gpu_from_node_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+struct bNodeTree *nodeGroupEditGet(struct bNode *node)
{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
- memset(&gs[i], 0, sizeof(gs[i]));
-
- QUATCOPY(gs[i].vec, ns[i]->vec);
- gs[i].link= ns[i]->data;
-
- if (sock->type == SOCK_VALUE)
- gs[i].type= GPU_FLOAT;
- else if (sock->type == SOCK_VECTOR)
- gs[i].type= GPU_VEC3;
- else if (sock->type == SOCK_RGBA)
- gs[i].type= GPU_VEC4;
- else
- gs[i].type= GPU_NONE;
-
- gs[i].name = "";
- gs[i].hasinput= ns[i]->hasinput && ns[i]->data;
- gs[i].hasoutput= ns[i]->hasoutput && ns[i]->data;
- gs[i].sockettype= ns[i]->sockettype;
- }
-
- gs[i].type= GPU_NONE;
+ if (node->typeinfo->group_edit_get)
+ return node->typeinfo->group_edit_get(node);
+ else
+ return NULL;
}
-static void data_from_gpu_stack(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+struct bNodeTree *nodeGroupEditSet(struct bNode *node, int edit)
{
- bNodeSocket *sock;
- int i;
-
- for (sock=sockets->first, i=0; sock; sock=sock->next, i++) {
- ns[i]->data= gs[i].link;
- ns[i]->sockettype= gs[i].sockettype;
- }
+ if (node->typeinfo->group_edit_set)
+ return node->typeinfo->group_edit_set(node, edit);
+ else if (node->typeinfo->group_edit_get)
+ return node->typeinfo->group_edit_get(node);
+ else
+ return NULL;
}
-static void gpu_node_group_execute(bNodeStack *stack, GPUMaterial *mat, bNode *gnode, bNodeStack **in)
+void nodeGroupEditClear(struct bNode *node)
{
- bNode *node;
- bNodeTree *ntree= (bNodeTree *)gnode->id;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
- int doit = 0;
-
- if(ntree==NULL) return;
-
- stack+= gnode->stack_index;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->gpufunc) {
- node_get_stack(node, stack, nsin, nsout, in);
-
- doit = 0;
-
- /* for groups, only execute outputs for edited group */
- if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
- if(gnode->flag & NODE_GROUP_EDIT)
- if(node->flag & NODE_DO_OUTPUT)
- doit = 1;
- }
- else
- doit = 1;
-
- if(doit) {
- gpu_from_node_stack(&node->inputs, nsin, gpuin);
- gpu_from_node_stack(&node->outputs, nsout, gpuout);
- if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
- data_from_gpu_stack(&node->outputs, nsout, gpuout);
- }
- }
- }
+ if (node->typeinfo->group_edit_clear)
+ node->typeinfo->group_edit_clear(node);
}
-void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat)
+struct bNodeTemplate nodeMakeTemplate(struct bNode *node)
{
- bNode *node;
- bNodeStack *stack;
- bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
- bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
- GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
-
- if((ntree->init & NTREE_EXEC_INIT)==0)
- ntreeBeginExecTree(ntree);
-
- stack= ntree->stack;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->typeinfo->gpufunc) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- gpu_from_node_stack(&node->inputs, nsin, gpuin);
- gpu_from_node_stack(&node->outputs, nsout, gpuout);
- if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
- data_from_gpu_stack(&node->outputs, nsout, gpuout);
- }
- else if(node->type==NODE_GROUP && node->id) {
- node_get_stack(node, stack, nsin, nsout, NULL);
- gpu_node_group_execute(stack, mat, node, nsin);
- }
+ bNodeTemplate ntemp;
+ if (node->typeinfo->templatefunc)
+ return node->typeinfo->templatefunc(node);
+ else {
+ ntemp.type = node->type;
+ return ntemp;
}
-
- ntreeEndExecTree(ntree);
}
-/* **************** call to switch lamploop for material node ************ */
-
-void (*node_shader_lamp_loop)(struct ShadeInput *, struct ShadeResult *);
-
-void set_node_shader_lamp_loop(void (*lamp_loop_func)(ShadeInput *, ShadeResult *))
-{
- node_shader_lamp_loop= lamp_loop_func;
-}
-
-/* clumsy checking... should do dynamic outputs once */
-static void force_hidden_passes(bNode *node, int passflag)
-{
- bNodeSocket *sock;
-
- for(sock= node->outputs.first; sock; sock= sock->next)
- sock->flag &= ~SOCK_UNAVAIL;
-
- sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
- if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);
- if(!(passflag & SCE_PASS_NORMAL)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_VEC);
- if(!(passflag & SCE_PASS_VECTOR)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_UV);
- if(!(passflag & SCE_PASS_UV)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_RGBA);
- if(!(passflag & SCE_PASS_RGBA)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_DIFF);
- if(!(passflag & SCE_PASS_DIFFUSE)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_SPEC);
- if(!(passflag & SCE_PASS_SPEC)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_SHADOW);
- if(!(passflag & SCE_PASS_SHADOW)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_AO);
- if(!(passflag & SCE_PASS_AO)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_REFLECT);
- if(!(passflag & SCE_PASS_REFLECT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_REFRACT);
- if(!(passflag & SCE_PASS_REFRACT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_INDIRECT);
- 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_MIST);
- if(!(passflag & SCE_PASS_MIST)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_EMIT);
- if(!(passflag & SCE_PASS_EMIT)) sock->flag |= SOCK_UNAVAIL;
- sock= BLI_findlink(&node->outputs, RRES_OUT_ENV);
- if(!(passflag & SCE_PASS_ENVIRONMENT)) sock->flag |= SOCK_UNAVAIL;
-
-}
-
-/* based on rules, force sockets hidden always */
-void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene)
+void node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag)
{
- bNode *node;
+ memset(ntype, 0, sizeof(bNodeType));
- if(ntree==NULL) return;
+ ntype->type = type;
+ BLI_strncpy(ntype->name, name, sizeof(ntype->name));
+ ntype->nclass = nclass;
+ ntype->flag = flag;
- for(node= ntree->nodes.first; node; node= node->next) {
- if( node->type==CMP_NODE_R_LAYERS) {
- Scene *sce= node->id?(Scene *)node->id:curscene;
- SceneRenderLayer *srl= BLI_findlink(&sce->r.layers, node->custom1);
- if(srl)
- force_hidden_passes(node, srl->passflag);
- }
- else if( node->type==CMP_NODE_IMAGE) {
- Image *ima= (Image *)node->id;
- if(ima) {
- if(ima->rr) {
- ImageUser *iuser= node->storage;
- RenderLayer *rl= BLI_findlink(&ima->rr->layers, iuser->layer);
- if(rl)
- force_hidden_passes(node, rl->passflag);
- else
- force_hidden_passes(node, 0);
- }
- else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */
- force_hidden_passes(node, RRES_OUT_Z);
- }
- else
- force_hidden_passes(node, 0);
- }
- else
- force_hidden_passes(node, 0);
- }
- }
-
+ /* default size values */
+ ntype->width = 140;
+ ntype->minwidth = 100;
+ ntype->maxwidth = 320;
+ ntype->height = 100;
+ ntype->minheight = 30;
+ ntype->maxheight = FLT_MAX;
}
-/* called from render pipeline, to tag render input and output */
-/* need to do all scenes, to prevent errors when you re-render 1 scene */
-void ntreeCompositTagRender(Scene *curscene)
+void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
{
- Scene *sce;
-
- for(sce= G.main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree) {
- bNode *node;
-
- for(node= sce->nodetree->nodes.first; node; node= node->next) {
- if(node->id==(ID *)curscene || node->type==CMP_NODE_COMPOSITE)
- NodeTagChanged(sce->nodetree, node);
- else if(node->type==CMP_NODE_TEXTURE) /* uses scene sizex/sizey */
- NodeTagChanged(sce->nodetree, node);
- }
- }
- }
+ ntype->inputs = inputs;
+ ntype->outputs = outputs;
}
-static int node_animation_properties(bNodeTree *ntree, bNode *node)
+void node_type_init(struct bNodeType *ntype, void (*initfunc)(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp))
{
- bNodeSocket *sock;
- const ListBase *lb;
- Link *link;
- PointerRNA ptr;
- PropertyRNA *prop;
-
- /* check to see if any of the node's properties have fcurves */
- RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
- lb = RNA_struct_type_properties(ptr.type);
-
- for (link=lb->first; link; link=link->next) {
- int driven, len=1, index;
- prop = (PropertyRNA *)link;
-
- if (RNA_property_array_check(&ptr, prop))
- len = RNA_property_array_length(&ptr, prop);
-
- for (index=0; index<len; index++) {
- if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- }
- }
-
- /* now check node sockets */
- for (sock = node->inputs.first; sock; sock=sock->next) {
- int driven, len=1, index;
-
- RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
- prop = RNA_struct_find_property(&ptr, "default_value");
-
- if (RNA_property_array_check(&ptr, prop))
- len = RNA_property_array_length(&ptr, prop);
-
- for (index=0; index<len; index++) {
- if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- }
- }
-
- return 0;
+ ntype->initfunc = initfunc;
}
-/* tags nodes that have animation capabilities */
-int ntreeCompositTagAnimated(bNodeTree *ntree)
+void node_type_valid(struct bNodeType *ntype, int (*validfunc)(struct bNodeTree *ntree, struct bNodeTemplate *ntemp))
{
- bNode *node;
- int tagged= 0;
-
- if(ntree==NULL) return 0;
-
- for(node= ntree->nodes.first; node; node= node->next) {
-
- tagged = node_animation_properties(ntree, node);
-
- /* otherwise always tag these node types */
- if(node->type==CMP_NODE_IMAGE) {
- Image *ima= (Image *)node->id;
- if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
- NodeTagChanged(ntree, node);
- tagged= 1;
- }
- }
- else if(node->type==CMP_NODE_TIME) {
- NodeTagChanged(ntree, node);
- tagged= 1;
- }
- /* here was tag render layer, but this is called after a render, so re-composites fail */
- else if(node->type==NODE_GROUP) {
- if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
- NodeTagChanged(ntree, node);
- }
- }
- }
-
- return tagged;
+ ntype->validfunc = validfunc;
}
-
-/* called from image window preview */
-void ntreeCompositTagGenerators(bNodeTree *ntree)
+void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth)
{
- bNode *node;
-
- if(ntree==NULL) return;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
- NodeTagChanged(ntree, node);
- }
+ ntype->width = width;
+ ntype->minwidth = minwidth;
+ if (maxwidth <= minwidth)
+ ntype->maxwidth = FLT_MAX;
+ else
+ ntype->maxwidth = maxwidth;
}
-/* XXX after render animation system gets a refresh, this call allows composite to end clean */
-void ntreeClearTags(bNodeTree *ntree)
+void node_type_storage(bNodeType *ntype, const char *storagename, void (*freestoragefunc)(struct bNode *), void (*copystoragefunc)(struct bNode *, struct bNode *))
{
- bNode *node;
-
- if(ntree==NULL) return;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- node->need_exec= 0;
- if(node->type==NODE_GROUP)
- ntreeClearTags((bNodeTree *)node->id);
- }
+ if (storagename)
+ strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
+ else
+ ntype->storagename[0] = '\0';
+ ntype->copystoragefunc = copystoragefunc;
+ ntype->freestoragefunc = freestoragefunc;
}
-
-int ntreeTexTagAnimated(bNodeTree *ntree)
+void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *))
{
- bNode *node;
-
- if(ntree==NULL) return 0;
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==TEX_NODE_CURVE_TIME) {
- NodeTagChanged(ntree, node);
- return 1;
- }
- else if(node->type==NODE_GROUP) {
- if( ntreeTexTagAnimated((bNodeTree *)node->id) ) {
- return 1;
- }
- }
- }
-
- return 0;
+ ntype->labelfunc = labelfunc;
}
-/* ************* node definition init ********** */
-
-void node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag,
- struct bNodeSocketType *inputs, struct bNodeSocketType *outputs)
+void node_type_template(struct bNodeType *ntype, struct bNodeTemplate (*templatefunc)(struct bNode *))
{
- memset(ntype, 0, sizeof(bNodeType));
-
- ntype->type = type;
- ntype->name = name;
- ntype->nclass = nclass;
- ntype->flag = flag;
-
- ntype->inputs = inputs;
- ntype->outputs = outputs;
-
- /* default size values */
- ntype->width = 140;
- ntype->minwidth = 100;
- ntype->maxwidth = 320;
+ ntype->templatefunc = templatefunc;
}
-void node_type_init(bNodeType *ntype, void (*initfunc)(struct bNode *))
+void node_type_update(struct bNodeType *ntype,
+ void (*updatefunc)(struct bNodeTree *ntree, struct bNode *node),
+ void (*verifyfunc)(struct bNodeTree *ntree, struct bNode *node, struct ID *id))
{
- ntype->initfunc = initfunc;
+ ntype->updatefunc = updatefunc;
+ ntype->verifyfunc = verifyfunc;
}
-void node_type_size(struct bNodeType *ntype, int width, int minwidth, int maxwidth)
+void node_type_tree(struct bNodeType *ntype, void (*inittreefunc)(struct bNodeTree *), void (*updatetreefunc)(struct bNodeTree *))
{
- ntype->width = width;
- ntype->minwidth = minwidth;
- ntype->maxwidth = maxwidth;
+ ntype->inittreefunc = inittreefunc;
+ ntype->updatetreefunc = updatetreefunc;
}
-void node_type_storage(bNodeType *ntype, const char *storagename, void (*freestoragefunc)(struct bNode *), void (*copystoragefunc)(struct bNode *, struct bNode *))
+void node_type_group_edit(struct bNodeType *ntype,
+ struct bNodeTree *(*group_edit_get)(struct bNode *node),
+ struct bNodeTree *(*group_edit_set)(struct bNode *node, int edit),
+ void (*group_edit_clear)(struct bNode *node))
{
- if (storagename)
- strncpy(ntype->storagename, storagename, sizeof(ntype->storagename));
- else
- ntype->storagename[0] = '\0';
- ntype->copystoragefunc = copystoragefunc;
- ntype->freestoragefunc = freestoragefunc;
+ ntype->group_edit_get = group_edit_get;
+ ntype->group_edit_set = group_edit_set;
+ ntype->group_edit_clear = group_edit_clear;
}
void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **))
@@ -3402,42 +1714,53 @@ void node_type_exec(struct bNodeType *ntype, void (*execfunc)(void *data, struct
ntype->execfunc = execfunc;
}
+void node_type_exec_new(struct bNodeType *ntype,
+ void *(*initexecfunc)(struct bNode *node),
+ void (*freeexecfunc)(struct bNode *node, void *nodedata),
+ void (*newexecfunc)(void *data, int thread, struct bNode *, void *nodedata, struct bNodeStack **, struct bNodeStack **))
+{
+ ntype->initexecfunc = initexecfunc;
+ ntype->freeexecfunc = freeexecfunc;
+ ntype->newexecfunc = newexecfunc;
+}
+
void node_type_gpu(struct bNodeType *ntype, int (*gpufunc)(struct GPUMaterial *mat, struct bNode *node, struct GPUNodeStack *in, struct GPUNodeStack *out))
{
ntype->gpufunc = gpufunc;
}
-void node_type_label(struct bNodeType *ntype, const char *(*labelfunc)(struct bNode *))
+void node_type_gpu_ext(struct bNodeType *ntype, int (*gpuextfunc)(struct GPUMaterial *mat, struct bNode *node, void *nodedata, struct GPUNodeStack *in, struct GPUNodeStack *out))
{
- ntype->labelfunc = labelfunc;
+ ntype->gpuextfunc = gpuextfunc;
}
-static bNodeType *is_nodetype_registered(ListBase *typelist, int type, ID *id)
+
+static bNodeType *is_nodetype_registered(ListBase *typelist, int type)
{
bNodeType *ntype= typelist->first;
for(;ntype; ntype= ntype->next )
- if(ntype->type==type && ntype->id==id)
+ if(ntype->type==type)
return ntype;
return NULL;
}
-/* type can be from a static array, we make copy for duplicate types (like group) */
-void nodeRegisterType(ListBase *typelist, const bNodeType *ntype)
+void nodeRegisterType(ListBase *typelist, bNodeType *ntype)
{
- bNodeType *found= is_nodetype_registered(typelist, ntype->type, ntype->id);
+ bNodeType *found= is_nodetype_registered(typelist, ntype->type);
- if(found==NULL) {
- bNodeType *ntypen= MEM_callocN(sizeof(bNodeType), "node type");
- *ntypen= *ntype;
- BLI_addtail(typelist, ntypen);
- }
+ if(found==NULL)
+ BLI_addtail(typelist, ntype);
}
static void registerCompositNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_cmp_group(ntypelist);
+// register_node_type_cmp_forloop(ntypelist);
+// register_node_type_cmp_whileloop(ntypelist);
register_node_type_cmp_rlayers(ntypelist);
register_node_type_cmp_image(ntypelist);
@@ -3513,7 +1836,11 @@ static void registerCompositNodes(ListBase *ntypelist)
static void registerShaderNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_sh_group(ntypelist);
+// register_node_type_sh_forloop(ntypelist);
+// register_node_type_sh_whileloop(ntypelist);
register_node_type_sh_output(ntypelist);
register_node_type_sh_mix_rgb(ntypelist);
@@ -3542,7 +1869,11 @@ static void registerShaderNodes(ListBase *ntypelist)
static void registerTextureNodes(ListBase *ntypelist)
{
- register_node_type_group(ntypelist);
+ register_node_type_frame(ntypelist);
+
+ register_node_type_tex_group(ntypelist);
+// register_node_type_tex_forloop(ntypelist);
+// register_node_type_tex_whileloop(ntypelist);
register_node_type_tex_math(ntypelist);
register_node_type_tex_mix_rgb(ntypelist);
@@ -3583,53 +1914,47 @@ static void registerTextureNodes(ListBase *ntypelist)
register_node_type_tex_proc_distnoise(ntypelist);
}
-static void remove_dynamic_typeinfos(ListBase *list)
+static void free_dynamic_typeinfo(bNodeType *ntype)
{
- bNodeType *ntype= list->first;
- bNodeType *next= NULL;
- while(ntype) {
- next= ntype->next;
- if(ntype->type==NODE_DYNAMIC && ntype->id!=NULL) {
- BLI_remlink(list, ntype);
- if(ntype->inputs) {
- bNodeSocketType *sock= ntype->inputs;
- while(sock->type!=-1) {
- MEM_freeN((void *)sock->name);
- sock++;
- }
- MEM_freeN(ntype->inputs);
- }
- if(ntype->outputs) {
- bNodeSocketType *sock= ntype->outputs;
- while(sock->type!=-1) {
- MEM_freeN((void *)sock->name);
- sock++;
- }
- MEM_freeN(ntype->outputs);
- }
- if(ntype->name) {
- MEM_freeN((void *)ntype->name);
- }
- MEM_freeN(ntype);
+ if(ntype->type==NODE_DYNAMIC) {
+ if(ntype->inputs) {
+ MEM_freeN(ntype->inputs);
}
- ntype= next;
+ if(ntype->outputs) {
+ MEM_freeN(ntype->outputs);
+ }
+ if(ntype->name) {
+ MEM_freeN((void *)ntype->name);
+ }
+ }
+}
+
+static void free_typeinfos(ListBase *list)
+{
+ bNodeType *ntype, *next;
+ for(ntype=list->first; ntype; ntype=next) {
+ next = ntype->next;
+
+ if(ntype->type==NODE_DYNAMIC)
+ free_dynamic_typeinfo(ntype);
+
+ if(ntype->needs_free)
+ MEM_freeN(ntype);
}
}
void init_nodesystem(void)
{
- registerCompositNodes(&node_all_composit);
- registerShaderNodes(&node_all_shaders);
- registerTextureNodes(&node_all_textures);
+ registerCompositNodes(&ntreeGetType(NTREE_COMPOSIT)->node_types);
+ registerShaderNodes(&ntreeGetType(NTREE_SHADER)->node_types);
+ registerTextureNodes(&ntreeGetType(NTREE_TEXTURE)->node_types);
}
void free_nodesystem(void)
{
- /*remove_dynamic_typeinfos(&node_all_composit);*/ /* unused for now */
- BLI_freelistN(&node_all_composit);
- remove_dynamic_typeinfos(&node_all_shaders);
- BLI_freelistN(&node_all_shaders);
- BLI_freelistN(&node_all_textures);
+ free_typeinfos(&ntreeGetType(NTREE_COMPOSIT)->node_types);
+ free_typeinfos(&ntreeGetType(NTREE_SHADER)->node_types);
+ free_typeinfos(&ntreeGetType(NTREE_TEXTURE)->node_types);
}
/* called from unlink_scene, when deleting a scene goes over all scenes
diff --git a/source/blender/blenkernel/intern/object.c b/source/blender/blenkernel/intern/object.c
index 189f2735aa8..898cec7fa55 100644
--- a/source/blender/blenkernel/intern/object.c
+++ b/source/blender/blenkernel/intern/object.c
@@ -54,6 +54,7 @@
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_sequence_types.h"
+#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_view3d_types.h"
#include "DNA_world_types.h"
@@ -96,6 +97,7 @@
#include "BKE_sca.h"
#include "BKE_scene.h"
#include "BKE_sequencer.h"
+#include "BKE_speaker.h"
#include "BKE_softbody.h"
#include "BKE_material.h"
@@ -989,6 +991,7 @@ static void *add_obdata_from_type(int type)
case OB_LAMP: return add_lamp("Lamp");
case OB_LATTICE: return add_lattice("Lattice");
case OB_ARMATURE: return add_armature("Armature");
+ case OB_SPEAKER: return add_speaker("Speaker");
case OB_EMPTY: return NULL;
default:
printf("add_obdata_from_type: Internal error, bad type: %d\n", type);
@@ -1008,6 +1011,7 @@ static const char *get_obdata_defname(int type)
case OB_LAMP: return "Lamp";
case OB_LATTICE: return "Lattice";
case OB_ARMATURE: return "Armature";
+ case OB_SPEAKER: return "Speaker";
case OB_EMPTY: return "Empty";
default:
printf("get_obdata_defname: Internal error, bad type: %d\n", type);
@@ -1051,7 +1055,7 @@ Object *add_only_object(int type, const char *name)
ob->empty_drawtype= OB_PLAINAXES;
ob->empty_drawsize= 1.0;
- if(type==OB_CAMERA || type==OB_LAMP) {
+ if(type==OB_CAMERA || type==OB_LAMP || type==OB_SPEAKER) {
ob->trackflag= OB_NEGZ;
ob->upflag= OB_POSY;
}
@@ -2085,7 +2089,7 @@ void where_is_object_time(Scene *scene, Object *ob, float ctime)
if(ob==NULL) return;
/* execute drivers only, as animation has already been done */
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, ctime, ADT_RECALC_DRIVERS);
if(ob->parent) {
Object *par= ob->parent;
@@ -2624,7 +2628,7 @@ void object_handle_update(Scene *scene, Object *ob)
if(adt) {
/* evaluate drivers */
// XXX: for mesh types, should we push this to derivedmesh instead?
- BKE_animsys_evaluate_animdata(data_id, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, data_id, adt, ctime, ADT_RECALC_DRIVERS);
}
/* includes all keys and modifiers */
@@ -2642,11 +2646,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
}
@@ -3134,7 +3139,7 @@ int object_is_modified(Scene *scene, Object *ob)
int flag= 0;
if(ob_get_key(ob)) {
- flag |= eModifierMode_Render | eModifierMode_Render;
+ flag |= eModifierMode_Render;
}
else {
ModifierData *md;
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 f71e2e9a6e9..86c646fa257 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;
@@ -3163,7 +3161,7 @@ void psys_cache_edit_paths(Scene *scene, Object *ob, PTCacheEdit *edit, float cf
}
else {
ca->vel[0] = ca->vel[1] = 0.0f;
- ca->vel[1] = 1.0f;
+ ca->vel[2] = 1.0f;
}
/* selection coloring in edit mode */
@@ -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;
@@ -4372,58 +4372,46 @@ 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];
+ if(pa == NULL && psys->part->childflat != PART_CHILD_FACES)
+ 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;
-
- 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;
- }
+ copy_m3_m4(nmat, ob->imat);
+ transpose_m3(nmat);
+ mul_m3_v3(nmat, nor);
+ normalize_v3(nor);
+
+ /* make sure that we get a proper side vector */
+ if(fabs(dot_v3v3(nor,vec))>0.999999) {
+ 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);
}
+ 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;
}
@@ -4505,8 +4493,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 fca8d470dc1..e1ea6e419d3 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -69,6 +69,7 @@
#include "BLI_listbase.h"
#include "BLI_threads.h"
#include "BLI_storage.h" /* For _LARGEFILE64_SOURCE; zlib needs this on some systems */
+#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BKE_main.h"
@@ -104,12 +105,6 @@
#include <zlib.h>
#include <string.h>
-#ifdef WIN32
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
#endif // DISABLE_ELBEEM
/************************************************/
@@ -1562,8 +1557,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 +1569,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 +1577,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 +1637,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 +1665,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 +1678,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 +1715,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,32 +1761,74 @@ 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(sim->scene, &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;
+ }
if(part->type == PART_HAIR){
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 +1914,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 +1944,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 +1969,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 +3505,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 +3667,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 +3798,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;
@@ -3856,7 +3871,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
gzf = gzopen(filename, "rb");
if (!gzf) {
- snprintf(debugStrBuffer,256,"readFsPartData::error - Unable to open file for reading '%s' \n", filename);
+ BLI_snprintf(debugStrBuffer, sizeof(debugStrBuffer),"readFsPartData::error - Unable to open file for reading '%s' \n", filename);
// XXX bad level call elbeemDebugOut(debugStrBuffer);
return;
}
@@ -3917,7 +3932,7 @@ static void particles_fluid_step(ParticleSimulationData *sim, int UNUSED(cfra))
gzclose( gzf );
totpart = psys->totpart = activeParts;
- snprintf(debugStrBuffer,256,"readFsPartData::done - particles:%d, active:%d, file:%d, mask:%d \n", psys->totpart,activeParts,fileParts,readMask);
+ BLI_snprintf(debugStrBuffer,sizeof(debugStrBuffer),"readFsPartData::done - particles:%d, active:%d, file:%d, mask:%d \n", psys->totpart,activeParts,fileParts,readMask);
// bad level call
// XXX elbeemDebugOut(debugStrBuffer);
@@ -3967,7 +3982,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 +4049,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;
@@ -4234,7 +4248,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
return;
/* execute drivers only, as animation has already been done */
- BKE_animsys_evaluate_animdata(&part->id, part->adt, cfra, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &part->id, part->adt, cfra, ADT_RECALC_DRIVERS);
if(psys->recalc & PSYS_RECALC_TYPE)
psys_changed_type(&sim);
@@ -4272,7 +4286,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
for(i=0; i<=part->hair_step; i++){
hcfra=100.0f*(float)i/(float)psys->part->hair_step;
if((part->flag & PART_HAIR_REGROW)==0)
- BKE_animsys_evaluate_animdata(&part->id, part->adt, hcfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &part->id, part->adt, hcfra, ADT_RECALC_ANIM);
system_step(&sim, hcfra);
psys->cfra = hcfra;
psys->recalc = 0;
@@ -4350,7 +4364,7 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys)
if(psys->cfra < cfra) {
/* make sure emitter is left at correct time (particle emission can change this) */
while(ob) {
- BKE_animsys_evaluate_animdata(&ob->id, ob->adt, cfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, ob->adt, cfra, ADT_RECALC_ANIM);
ob = ob->parent;
}
ob = sim.ob;
diff --git a/source/blender/blenkernel/intern/pointcache.c b/source/blender/blenkernel/intern/pointcache.c
index 64893bb0b5b..a56010a5ccf 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)
@@ -911,14 +917,14 @@ static int ptcache_path(PTCacheID *pid, char *filename)
if (i > 6)
file[i-6] = '\0';
- snprintf(filename, MAX_PTCACHE_PATH, "//"PTCACHE_PATH"%s", file); /* add blend file name to pointcache dir */
+ BLI_snprintf(filename, MAX_PTCACHE_PATH, "//"PTCACHE_PATH"%s", file); /* add blend file name to pointcache dir */
BLI_path_abs(filename, blendfilename);
return BLI_add_slash(filename); /* new strlen() */
}
/* use the temp path. this is weak but better then not using point cache at all */
/* btempdir is assumed to exist and ALWAYS has a trailing slash */
- snprintf(filename, MAX_PTCACHE_PATH, "%s"PTCACHE_PATH"%d", btempdir, abs(getpid()));
+ BLI_snprintf(filename, MAX_PTCACHE_PATH, "%s"PTCACHE_PATH"%d", btempdir, abs(getpid()));
return BLI_add_slash(filename); /* new strlen() */
}
@@ -942,7 +948,7 @@ static int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_p
idname = (pid->ob->id.name+2);
/* convert chars to hex so they are always a valid filename */
while('\0' != *idname) {
- snprintf(newname, MAX_PTCACHE_FILE, "%02X", (char)(*idname++));
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "%02X", (char)(*idname++));
newname+=2;
len += 2;
}
@@ -961,12 +967,12 @@ static int ptcache_filename(PTCacheID *pid, char *filename, int cfra, short do_p
if(pid->cache->flag & PTCACHE_EXTERNAL) {
if(pid->cache->index >= 0)
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02d"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02u"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
else
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d"PTCACHE_EXT, cfra); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d"PTCACHE_EXT, cfra); /* always 6 chars */
}
else {
- snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02d"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
+ BLI_snprintf(newname, MAX_PTCACHE_FILE, "_%06d_%02u"PTCACHE_EXT, cfra, pid->stack_index); /* always 6 chars */
}
len += 16;
}
@@ -1996,7 +2002,7 @@ void BKE_ptcache_id_clear(PTCacheID *pid, int mode, unsigned int cfra)
if (dir==NULL)
return;
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
while ((de = readdir(dir)) != NULL) {
if (strstr(de->d_name, ext)) { /* do we have the right extension?*/
@@ -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 */
@@ -2192,7 +2204,7 @@ void BKE_ptcache_id_time(PTCacheID *pid, Scene *scene, float cfra, int *startfra
if (dir==NULL)
return;
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
while ((de = readdir(dir)) != NULL) {
if (strstr(de->d_name, ext)) { /* do we have the right extension?*/
@@ -2892,7 +2904,7 @@ void BKE_ptcache_disk_cache_rename(PTCacheID *pid, char *from, char *to)
return;
}
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, pid->stack_index);
+ BLI_snprintf(ext, sizeof(ext), "_%02u"PTCACHE_EXT, pid->stack_index);
/* put new name into cache */
strcpy(pid->cache->name, to);
@@ -2948,7 +2960,7 @@ void BKE_ptcache_load_external(PTCacheID *pid)
return;
if(cache->index >= 0)
- snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, cache->index);
+ BLI_snprintf(ext, sizeof(ext), "_%02d"PTCACHE_EXT, cache->index);
else
strcpy(ext, PTCACHE_EXT);
diff --git a/source/blender/blenkernel/intern/report.c b/source/blender/blenkernel/intern/report.c
index f84d98a31b4..4926edaeec2 100644
--- a/source/blender/blenkernel/intern/report.c
+++ b/source/blender/blenkernel/intern/report.c
@@ -44,12 +44,6 @@
#include <stdio.h>
#include <string.h>
-#ifdef _WIN32
-#ifndef vsnprintf
-#define vsnprintf _vsnprintf
-#endif
-#endif
-
static const char *report_type_str(int type)
{
switch(type) {
diff --git a/source/blender/blenkernel/intern/sca.c b/source/blender/blenkernel/intern/sca.c
index ee410e75873..d529a6d94c9 100644
--- a/source/blender/blenkernel/intern/sca.c
+++ b/source/blender/blenkernel/intern/sca.c
@@ -431,6 +431,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 31d7d8fe08e..1454b3f0ce3 100644
--- a/source/blender/blenkernel/intern/scene.c
+++ b/source/blender/blenkernel/intern/scene.c
@@ -469,15 +469,16 @@ 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;
+ sce->r.ffcodecdata.audio_channels = 2;
BLI_strncpy(sce->r.engine, "BLENDER_RENDER", sizeof(sce->r.engine));
- sce->audio.distance_model = 2.0;
- sce->audio.doppler_factor = 1.0;
- sce->audio.speed_of_sound = 343.3;
+ sce->audio.distance_model = 2.0f;
+ sce->audio.doppler_factor = 1.0f;
+ sce->audio.speed_of_sound = 343.3f;
+ sce->audio.volume = 1.0f;
- 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;
@@ -932,7 +933,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
/* scene itself */
if (scene->adt && scene->adt->drivers.first) {
- BKE_animsys_evaluate_animdata(&scene->id, scene->adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, scene->adt, ctime, ADT_RECALC_DRIVERS);
}
/* world */
@@ -942,7 +943,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
AnimData *adt= BKE_animdata_from_id(wid);
if (adt && adt->drivers.first)
- BKE_animsys_evaluate_animdata(wid, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, wid, adt, ctime, ADT_RECALC_DRIVERS);
}
/* nodes */
@@ -951,7 +952,7 @@ static void scene_update_drivers(Main *UNUSED(bmain), Scene *scene)
AnimData *adt= BKE_animdata_from_id(nid);
if (adt && adt->drivers.first)
- BKE_animsys_evaluate_animdata(nid, adt, ctime, ADT_RECALC_DRIVERS);
+ BKE_animsys_evaluate_animdata(scene, nid, adt, ctime, ADT_RECALC_DRIVERS);
}
}
@@ -982,6 +983,9 @@ static void scene_update_tagged_recursive(Main *bmain, Scene *scene, Scene *scen
/* scene drivers... */
scene_update_drivers(bmain, scene);
+
+ /* update sound system animation */
+ sound_update_scene(scene);
}
/* this is called in main loop, doing tagged updates before redraw */
@@ -1002,7 +1006,7 @@ void scene_update_tagged(Main *bmain, Scene *scene)
float ctime = BKE_curframe(scene);
if (adt && (adt->recalc & ADT_RECALC_ANIM))
- BKE_animsys_evaluate_animdata(&scene->id, adt, ctime, 0);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, adt, ctime, 0);
}
if (scene->physics_settings.quick_cache_step)
@@ -1017,6 +1021,8 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
{
float ctime = BKE_curframe(sce);
Scene *sce_iter;
+
+ sound_set_cfra(sce->r.cfra);
/* clear animation overrides */
// XXX TODO...
@@ -1037,7 +1043,7 @@ void scene_update_for_newframe(Main *bmain, Scene *sce, unsigned int lay)
* can be overridden by settings from Scene, which owns the Texture through a hierarchy
* such as Scene->World->MTex/Texture) can still get correctly overridden.
*/
- BKE_animsys_evaluate_all_animation(bmain, ctime);
+ BKE_animsys_evaluate_all_animation(bmain, sce, ctime);
/*...done with recusrive funcs */
/* object_handle_update() on all objects, groups and sets */
diff --git a/source/blender/blenkernel/intern/seqeffects.c b/source/blender/blenkernel/intern/seqeffects.c
index c19a74deff6..43747fde729 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));
@@ -2029,16 +2029,11 @@ static void init_transform_effect(Sequence *seq)
transform->ScalexIni = 1.0f;
transform->ScaleyIni = 1.0f;
- transform->ScalexFin = 1.0f;
- transform->ScalexFin = 1.0f;
transform->xIni=0.0f;
- transform->xFin=0.0f;
transform->yIni=0.0f;
- transform->yFin=0.0f;
transform->rotIni=0.0f;
- transform->rotFin=0.0f;
transform->interpolation=1;
transform->percent=1;
@@ -2373,7 +2368,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;
@@ -2878,7 +2873,7 @@ static struct ImBuf * do_adjustment_impl(SeqRenderData context, Sequence * seq,
{
Editing * ed;
ListBase * seqbasep;
- struct ImBuf * i = 0;
+ struct ImBuf * i= NULL;
ed = context.scene->ed;
@@ -2913,7 +2908,7 @@ static struct ImBuf * do_adjustment(
struct ImBuf *UNUSED(ibuf1), struct ImBuf *UNUSED(ibuf2),
struct ImBuf *UNUSED(ibuf3))
{
- struct ImBuf * i = 0;
+ struct ImBuf * i = NULL;
struct ImBuf * out;
Editing * ed;
@@ -3036,7 +3031,7 @@ void sequence_effect_speed_rebuild_map(Scene *scene, Sequence * seq, int force)
/* XXX - new in 2.5x. should we use the animation system this way?
* The fcurve is needed because many frames need evaluating at once - campbell */
- fcu= id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "speed_factor", 0);
+ fcu= id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "speed_factor", 0, NULL);
if (!v->frameMap || v->length != seq->len) {
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index b82ac69fc9e..dbb2e7860c5 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -73,13 +73,11 @@
#include "BKE_context.h"
#include "BKE_sound.h"
-#include "AUD_C-API.h"
-#ifdef WIN32
-#define snprintf _snprintf
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
#endif
-
static ImBuf* seq_render_strip_stack(
SeqRenderData context, ListBase *seqbasep, float cfra, int chanshown);
@@ -215,6 +213,18 @@ void seq_free_sequence(Scene *scene, Sequence *seq)
MEM_freeN(seq);
}
+void seq_free_sequence_recurse(Scene *scene, Sequence *seq)
+{
+ Sequence *iseq;
+
+ for(iseq= seq->seqbase.first; iseq; iseq= iseq->next) {
+ seq_free_sequence_recurse(scene, iseq);
+ }
+
+ seq_free_sequence(scene, seq);
+}
+
+
Editing *seq_give_editing(Scene *scene, int alloc)
{
if (scene->ed == NULL && alloc) {
@@ -530,7 +540,7 @@ void calc_sequence_disp(Scene *scene, Sequence *seq)
seq->handsize= (float)((seq->enddisp-seq->startdisp)/25);
}
- seq_update_sound(scene, seq);
+ seq_update_sound_bounds(scene, seq);
}
static void seq_update_sound_bounds_recursive(Scene *scene, Sequence *metaseq)
@@ -680,13 +690,16 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
}
case SEQ_MOVIE:
if(seq->anim) IMB_free_anim(seq->anim);
- seq->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0));
+ seq->anim = openanim(str, IB_rect | ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0), seq->streamindex);
if (!seq->anim) {
return;
}
- seq->len = IMB_anim_get_duration(seq->anim);
+ seq->len = IMB_anim_get_duration(seq->anim,
+ seq->strip->proxy ?
+ seq->strip->proxy->tc :
+ IMB_TC_RECORD_RUN);
seq->anim_preseek = IMB_anim_get_preseek(seq->anim);
@@ -696,7 +709,9 @@ void reload_sequence_new_file(Scene *scene, Sequence * seq, int lock_range)
seq->len = 0;
}
seq->strip->len = seq->len;
+ break;
case SEQ_SOUND:
+#ifdef WITH_AUDASPACE
if(!seq->sound)
return;
seq->len = ceil(AUD_getInfo(seq->sound->playback_handle).length * FPS);
@@ -706,6 +721,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:
{
@@ -1109,7 +1127,7 @@ static int get_shown_sequences( ListBase * seqbasep, int cfra, int chanshown, Se
return cnt;
}
-
+
/* **********************************************************************
proxy management
@@ -1117,49 +1135,106 @@ static int get_shown_sequences( ListBase * seqbasep, int cfra, int chanshown, Se
#define PROXY_MAXFILE (2*FILE_MAXDIR+FILE_MAXFILE)
+static IMB_Proxy_Size seq_rendersize_to_proxysize(int size)
+{
+ if (size >= 100) {
+ return IMB_PROXY_NONE;
+ }
+ if (size >= 99) {
+ return IMB_PROXY_100;
+ }
+ if (size >= 75) {
+ return IMB_PROXY_75;
+ }
+ if (size >= 50) {
+ return IMB_PROXY_50;
+ }
+ return IMB_PROXY_25;
+}
+
+static void seq_open_anim_file(Sequence * seq)
+{
+ char name[FILE_MAXDIR+FILE_MAXFILE];
+ StripProxy * proxy;
+
+ if(seq->anim != NULL) {
+ return;
+ }
+
+ BLI_join_dirfile(name, sizeof(name),
+ seq->strip->dir, seq->strip->stripdata->name);
+ BLI_path_abs(name, G.main->name);
+
+ seq->anim = openanim(name, IB_rect |
+ ((seq->flag & SEQ_FILTERY) ?
+ IB_animdeinterlace : 0), seq->streamindex);
+
+ if (seq->anim == NULL) {
+ return;
+ }
+
+ proxy = seq->strip->proxy;
+
+ if (proxy == NULL) {
+ return;
+ }
+
+ if (seq->flag & SEQ_USE_PROXY_CUSTOM_DIR) {
+ IMB_anim_set_index_dir(seq->anim, seq->strip->proxy->dir);
+ }
+}
+
+
static int seq_proxy_get_fname(SeqRenderData context, Sequence * seq, int cfra, char * name)
{
int frameno;
- char dir[FILE_MAXDIR];
+ char dir[PROXY_MAXFILE];
+ int render_size = context.preview_render_size;
if (!seq->strip->proxy) {
return FALSE;
}
+ /* MOVIE tracks (only exception: custom files) are now handled
+ internally by ImBuf module for various reasons: proper time code
+ support, quicker index build, using one file instead
+ of a full directory of jpeg files, etc. Trying to support old
+ and new method at once could lead to funny effects, if people
+ have both, a directory full of jpeg files and proxy avis, so
+ sorry folks, please rebuild your proxies... */
+
if (seq->flag & (SEQ_USE_PROXY_CUSTOM_DIR|SEQ_USE_PROXY_CUSTOM_FILE)) {
strcpy(dir, seq->strip->proxy->dir);
+ } else if (seq->type == SEQ_IMAGE) {
+ BLI_snprintf(dir, PROXY_MAXFILE, "%s/BL_proxy", seq->strip->dir);
} else {
- if (ELEM(seq->type, SEQ_IMAGE, SEQ_MOVIE)) {
- snprintf(dir, FILE_MAXDIR, "%s/BL_proxy", seq->strip->dir);
- } else {
- return FALSE;
- }
+ return FALSE;
}
if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
- BLI_join_dirfile(name, FILE_MAX, dir, seq->strip->proxy->file); /* XXX, not real length */
+ BLI_join_dirfile(name, PROXY_MAXFILE,
+ dir, seq->strip->proxy->file);
BLI_path_abs(name, G.main->name);
return TRUE;
}
+ /* dirty hack to distinguish 100% render size from PROXY_100 */
+ if (render_size == 99) {
+ render_size = 100;
+ }
+
/* generate a separate proxy directory for each preview size */
- switch(seq->type) {
- case SEQ_IMAGE:
- snprintf(name, PROXY_MAXFILE, "%s/images/%d/%s_proxy", dir,
+ if (seq->type == SEQ_IMAGE) {
+ BLI_snprintf(name, PROXY_MAXFILE, "%s/images/%d/%s_proxy", dir,
context.preview_render_size,
give_stripelem(seq, cfra)->name);
frameno = 1;
- break;
- case SEQ_MOVIE:
- frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
- snprintf(name, PROXY_MAXFILE, "%s/%s/%d/####", dir,
- seq->strip->stripdata->name, context.preview_render_size);
- break;
- default:
- frameno = (int) give_stripelem_index(seq, cfra) + seq->anim_startofs;
- snprintf(name, PROXY_MAXFILE, "%s/proxy_misc/%d/####", dir,
+ } else {
+ frameno = (int) give_stripelem_index(seq, cfra)
+ + seq->anim_startofs;
+ BLI_snprintf(name, PROXY_MAXFILE, "%s/proxy_misc/%d/####", dir,
context.preview_render_size);
}
@@ -1174,13 +1249,18 @@ static int seq_proxy_get_fname(SeqRenderData context, Sequence * seq, int cfra,
static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int cfra)
{
char name[PROXY_MAXFILE];
+ IMB_Proxy_Size psize = seq_rendersize_to_proxysize(
+ context.preview_render_size);
+ int size_flags;
if (!(seq->flag & SEQ_USE_PROXY)) {
return NULL;
}
- /* rendering at 100% ? No real sense in proxy-ing, right? */
- if (context.preview_render_size == 100) {
+ size_flags = seq->strip->proxy->build_size_flags;
+
+ /* only use proxies, if they are enabled (even if present!) */
+ if (psize != IMB_PROXY_NONE && ((size_flags & psize) != psize)) {
return NULL;
}
@@ -1191,13 +1271,19 @@ static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int
return NULL;
}
- seq->strip->proxy->anim = openanim(name, IB_rect);
+ seq->strip->proxy->anim = openanim(name, IB_rect, 0);
}
if (seq->strip->proxy->anim==NULL) {
return NULL;
}
- return IMB_anim_absolute(seq->strip->proxy->anim, frameno);
+ seq_open_anim_file(seq);
+
+ frameno = IMB_anim_index_get_frame_index(
+ seq->anim, seq->strip->proxy->tc, frameno);
+
+ return IMB_anim_absolute(seq->strip->proxy->anim, frameno,
+ IMB_TC_NONE, IMB_PROXY_NONE);
}
if (seq_proxy_get_fname(context, seq, cfra, name) == 0) {
@@ -1211,67 +1297,30 @@ static struct ImBuf * seq_proxy_fetch(SeqRenderData context, Sequence * seq, int
}
}
-#if 0
-static void do_build_seq_ibuf(Scene *scene, Sequence * seq, TStripElem *se, int cfra,
- int build_proxy_run, int preview_render_size);
-
-static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int preview_render_size, int seqrectx, int seqrecty)
+static void seq_proxy_build_frame(SeqRenderData context,
+ Sequence* seq, int cfra,
+ int proxy_render_size)
{
char name[PROXY_MAXFILE];
int quality;
- TStripElem * se;
- int ok;
int rectx, recty;
+ int ok;
struct ImBuf * ibuf;
- if (!(seq->flag & SEQ_USE_PROXY)) {
+ if (!seq_proxy_get_fname(context, seq, cfra, name)) {
return;
}
- /* rendering at 100% ? No real sense in proxy-ing, right? */
- if (preview_render_size == 100) {
- return;
- }
+ ibuf = seq_render_strip(context, seq, cfra);
- /* that's why it is called custom... */
- if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
- return;
- }
-
- if (!seq_proxy_get_fname(scene, seq, cfra, name, preview_render_size)) {
- return;
- }
-
- se = give_tstripelem(seq, cfra);
- if (!se) {
- return;
- }
-
- if(se->ibuf) {
- IMB_freeImBuf(se->ibuf);
- se->ibuf = 0;
- }
-
- do_build_seq_ibuf(scene, seq, se, cfra, TRUE, preview_render_size,
- seqrectx, seqrecty);
-
- if (!se->ibuf) {
- return;
- }
-
- rectx= (preview_render_size*scene->r.xsch)/100;
- recty= (preview_render_size*scene->r.ysch)/100;
-
- ibuf = se->ibuf;
+ rectx = (proxy_render_size * context.scene->r.xsch) / 100;
+ recty = (proxy_render_size * context.scene->r.ysch) / 100;
if (ibuf->x != rectx || ibuf->y != recty) {
IMB_scalefastImBuf(ibuf, (short)rectx, (short)recty);
}
- /* quality is fixed, otherwise one has to generate separate
- directories for every quality...
-
- depth = 32 is intentionally left in, otherwise ALPHA channels
+ /* depth = 32 is intentionally left in, otherwise ALPHA channels
won't work... */
quality = seq->strip->proxy->quality;
ibuf->ftype= JPG | quality;
@@ -1284,69 +1333,80 @@ static void seq_proxy_build_frame(Scene *scene, Sequence * seq, int cfra, int pr
}
IMB_freeImBuf(ibuf);
- se->ibuf = 0;
}
-static void seq_proxy_rebuild(Scene *scene, Sequence * seq, int seqrectx,
- int seqrecty)
+void seq_proxy_rebuild(struct Main * bmain, Scene *scene, Sequence * seq,
+ short *stop, short *do_update, float *progress)
{
+ SeqRenderData context;
int cfra;
- float rsize = seq->strip->proxy->size;
+ int tc_flags;
+ int size_flags;
+ int quality;
- waitcursor(1);
+ if (!seq->strip || !seq->strip->proxy) {
+ return;
+ }
- G.afbreek = 0;
+ if (!(seq->flag & SEQ_USE_PROXY)) {
+ return;
+ }
- /* flag management tries to account for strobe and
- other "non-linearities", that might come in the future...
- better way would be to "touch" the files, so that _really_
- no one is rebuild twice.
- */
+ tc_flags = seq->strip->proxy->build_tc_flags;
+ size_flags = seq->strip->proxy->build_size_flags;
+ quality = seq->strip->proxy->quality;
- for (cfra = seq->startdisp; cfra < seq->enddisp; cfra++) {
- TStripElem * tse = give_tstripelem(seq, cfra);
+ if (seq->type == SEQ_MOVIE) {
+ seq_open_anim_file(seq);
- tse->flag &= ~STRIPELEM_PREVIEW_DONE;
+ if (seq->anim) {
+ IMB_anim_index_rebuild(
+ seq->anim, tc_flags, size_flags, quality,
+ stop, do_update, progress);
+ }
+ return;
}
-
+ if (!(seq->flag & SEQ_USE_PROXY)) {
+ return;
+ }
- /* a _lot_ faster for movie files, if we read frames in
- sequential order */
- if (seq->flag & SEQ_REVERSE_FRAMES) {
- for (cfra = seq->enddisp-seq->endstill-1;
- cfra >= seq->startdisp + seq->startstill; cfra--) {
- TStripElem * tse = give_tstripelem(seq, cfra);
-
- if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
-//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize,
- seqrectx, seqrecty);
- tse->flag |= STRIPELEM_PREVIEW_DONE;
- }
- if (blender_test_break()) {
- break;
- }
+ /* that's why it is called custom... */
+ if (seq->flag & SEQ_USE_PROXY_CUSTOM_FILE) {
+ return;
+ }
+
+ /* fail safe code */
+
+ context = seq_new_render_data(
+ bmain, scene,
+ (scene->r.size * (float) scene->r.xsch) / 100.0f + 0.5f,
+ (scene->r.size * (float) scene->r.ysch) / 100.0f + 0.5f,
+ 100);
+
+ for (cfra = seq->startdisp + seq->startstill;
+ cfra < seq->enddisp - seq->endstill; cfra++) {
+ if (size_flags & IMB_PROXY_25) {
+ seq_proxy_build_frame(context, seq, cfra, 25);
}
- } else {
- for (cfra = seq->startdisp + seq->startstill;
- cfra < seq->enddisp - seq->endstill; cfra++) {
- TStripElem * tse = give_tstripelem(seq, cfra);
-
- if (!(tse->flag & STRIPELEM_PREVIEW_DONE)) {
-//XXX set_timecursor(cfra);
- seq_proxy_build_frame(scene, seq, cfra, rsize,
- seqrectx, seqrecty);
- tse->flag |= STRIPELEM_PREVIEW_DONE;
- }
- if (blender_test_break()) {
- break;
- }
+ if (size_flags & IMB_PROXY_50) {
+ seq_proxy_build_frame(context, seq, cfra, 50);
+ }
+ if (size_flags & IMB_PROXY_75) {
+ seq_proxy_build_frame(context, seq, cfra, 75);
+ }
+ if (size_flags & IMB_PROXY_100) {
+ seq_proxy_build_frame(context, seq, cfra, 100);
}
+
+ *progress= (float)cfra/(seq->enddisp - seq->endstill
+ - seq->startdisp + seq->startstill);
+ *do_update= 1;
+
+ if(*stop || G.afbreek)
+ break;
}
- waitcursor(0);
}
-#endif
/* **********************************************************************
@@ -1563,6 +1623,8 @@ static ImBuf * input_preprocess(
{
float mul;
+ ibuf = IMB_makeSingleUser(ibuf);
+
if((seq->flag & SEQ_FILTERY) && seq->type != SEQ_MOVIE) {
IMB_filtery(ibuf);
}
@@ -1767,7 +1829,7 @@ static ImBuf* seq_render_effect_strip_impl(
facf= fac;
}
else {
- fcu = id_data_find_fcurve(&context.scene->id, seq, &RNA_Sequence, "effect_fader", 0);
+ fcu = id_data_find_fcurve(&context.scene->id, seq, &RNA_Sequence, "effect_fader", 0, NULL);
if (fcu) {
fac = facf = evaluate_fcurve(fcu, cfra);
if( context.scene->r.mode & R_FIELDS ) {
@@ -2088,17 +2150,20 @@ static ImBuf * seq_render_strip(SeqRenderData context, Sequence * seq, float cfr
}
case SEQ_MOVIE:
{
- if(seq->anim==NULL) {
- BLI_join_dirfile(name, sizeof(name), seq->strip->dir, seq->strip->stripdata->name);
- BLI_path_abs(name, G.main->name);
-
- seq->anim = openanim(name, IB_rect |
- ((seq->flag & SEQ_FILTERY) ? IB_animdeinterlace : 0));
- }
+ seq_open_anim_file(seq);
if(seq->anim) {
- IMB_anim_set_preseek(seq->anim, seq->anim_preseek);
- ibuf = IMB_anim_absolute(seq->anim, nr + seq->anim_startofs);
+ IMB_anim_set_preseek(seq->anim,
+ seq->anim_preseek);
+
+ ibuf = IMB_anim_absolute(
+ seq->anim, nr + seq->anim_startofs,
+ seq->strip->proxy ?
+ seq->strip->proxy->tc
+ : IMB_TC_RECORD_RUN,
+ seq_rendersize_to_proxysize(
+ context.preview_render_size));
+
/* we don't need both (speed reasons)! */
if (ibuf && ibuf->rect_float && ibuf->rect)
imb_freerectImBuf(ibuf);
@@ -2115,7 +2180,7 @@ static ImBuf * seq_render_strip(SeqRenderData context, Sequence * seq, float cfr
ibuf = seq_render_scene_strip_impl(context, seq, nr);
/* Scene strips update all animation, so we need to restore original state.*/
- BKE_animsys_evaluate_all_animation(context.bmain, cfra);
+ BKE_animsys_evaluate_all_animation(context.bmain, context.scene, cfra);
copy_to_ibuf_still(context, seq, nr, ibuf);
break;
@@ -2192,7 +2257,7 @@ static ImBuf* seq_render_strip_stack(
if(scene->r.cfra != cfra) {
// XXX for prefetch and overlay offset!..., very bad!!!
AnimData *adt= BKE_animdata_from_id(&scene->id);
- BKE_animsys_evaluate_animdata(&scene->id, adt, cfra, ADT_RECALC_ANIM);
+ BKE_animsys_evaluate_animdata(scene, &scene->id, adt, cfra, ADT_RECALC_ANIM);
}
#endif
@@ -3137,16 +3202,33 @@ int shuffle_seq_time(ListBase * seqbasep, Scene *evil_scene)
return offset? 0:1;
}
-void seq_update_sound(Scene* scene, Sequence *seq)
+void seq_update_sound_bounds_all(Scene *scene)
{
- if(seq->scene_sound)
- {
+ Editing *ed = scene->ed;
+
+ if(ed) {
+ Sequence *seq;
+
+ for(seq = ed->seqbase.first; seq; seq = seq->next) {
+ if(seq->type == SEQ_META) {
+ seq_update_sound_bounds_recursive(scene, seq);
+ }
+ else if(ELEM(seq->type, SEQ_SOUND, SEQ_SCENE)) {
+ seq_update_sound_bounds(scene, seq);
+ }
+ }
+ }
+}
+
+void seq_update_sound_bounds(Scene* scene, Sequence *seq)
+{
+ if(seq->scene_sound) {
sound_move_scene_sound(scene, seq->scene_sound, seq->startdisp, seq->enddisp, seq->startofs + seq->anim_startofs);
/* mute is set in seq_update_muting_recursive */
}
}
-static void seq_update_muting_recursive(Scene *scene, ListBase *seqbasep, Sequence *metaseq, int mute)
+static void seq_update_muting_recursive(ListBase *seqbasep, Sequence *metaseq, int mute)
{
Sequence *seq;
int seqmute;
@@ -3162,26 +3244,49 @@ static void seq_update_muting_recursive(Scene *scene, ListBase *seqbasep, Sequen
if(seq == metaseq)
seqmute= 0;
- seq_update_muting_recursive(scene, &seq->seqbase, metaseq, seqmute);
+ seq_update_muting_recursive(&seq->seqbase, metaseq, seqmute);
}
else if(ELEM(seq->type, SEQ_SOUND, SEQ_SCENE)) {
if(seq->scene_sound) {
- sound_mute_scene_sound(scene, seq->scene_sound, seqmute);
+ sound_mute_scene_sound(seq->scene_sound, seqmute);
}
}
}
}
-void seq_update_muting(Scene *scene, Editing *ed)
+void seq_update_muting(Editing *ed)
{
if(ed) {
/* mute all sounds up to current metastack list */
MetaStack *ms= ed->metastack.last;
if(ms)
- seq_update_muting_recursive(scene, &ed->seqbase, ms->parseq, 1);
+ seq_update_muting_recursive(&ed->seqbase, ms->parseq, 1);
else
- seq_update_muting_recursive(scene, &ed->seqbase, NULL, 0);
+ seq_update_muting_recursive(&ed->seqbase, NULL, 0);
+ }
+}
+
+static void seq_update_sound_recursive(Scene *scene, ListBase *seqbasep, bSound *sound)
+{
+ Sequence *seq;
+
+ for(seq=seqbasep->first; seq; seq=seq->next) {
+ if(seq->type == SEQ_META) {
+ seq_update_sound_recursive(scene, &seq->seqbase, sound);
+ }
+ else if(seq->type == SEQ_SOUND) {
+ if(seq->scene_sound && sound == seq->sound) {
+ sound_update_scene_sound(seq->scene_sound, sound);
+ }
+ }
+ }
+}
+
+void seq_update_sound(struct Scene *scene, struct bSound *sound)
+{
+ if(scene->ed) {
+ seq_update_sound_recursive(scene, &scene->ed->seqbase, sound);
}
}
@@ -3225,9 +3330,10 @@ 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) {
@@ -3437,7 +3543,7 @@ void seq_load_apply(Scene *scene, Sequence *seq, SeqLoadInfo *seq_load)
if(seq_load->flag & SEQ_LOAD_SOUND_CACHE) {
if(seq->sound)
- sound_cache(seq->sound, 0);
+ sound_cache(seq->sound);
}
seq_load->tot_success++;
@@ -3464,6 +3570,7 @@ Sequence *alloc_sequence(ListBase *lb, int cfra, int machine)
seq->mul= 1.0;
seq->blend_opacity = 100.0;
seq->volume = 1.0f;
+ seq->pitch = 1.0f;
seq->scene_sound = NULL;
return seq;
@@ -3493,8 +3600,10 @@ 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)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C); /* only for sound */
Editing *ed= seq_give_editing(scene, TRUE);
bSound *sound;
@@ -3516,7 +3625,7 @@ Sequence *sequencer_add_sound_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
info = AUD_getInfo(sound->playback_handle);
if (info.specs.channels == AUD_CHANNELS_INVALID) {
- sound_delete(C, sound);
+ sound_delete(bmain, sound);
//if(op)
// BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
return NULL;
@@ -3550,6 +3659,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)
{
@@ -3565,7 +3683,7 @@ Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
BLI_strncpy(path, seq_load->path, sizeof(path));
BLI_path_abs(path, G.main->name);
- an = openanim(path, IB_rect);
+ an = openanim(path, IB_rect, 0);
if(an==NULL)
return NULL;
@@ -3581,7 +3699,7 @@ Sequence *sequencer_add_movie_strip(bContext *C, ListBase *seqbasep, SeqLoadInfo
/* basic defaults */
seq->strip= strip= MEM_callocN(sizeof(Strip), "strip");
- strip->len = seq->len = IMB_anim_get_duration( an );
+ strip->len = seq->len = IMB_anim_get_duration( an, IMB_TC_RECORD_RUN );
strip->us= 1;
/* we only need 1 element for MOVIE strips */
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 ff238678eeb..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*/
diff --git a/source/blender/blenkernel/intern/sound.c b/source/blender/blenkernel/intern/sound.c
index e0e456a371e..ff518d69e21 100644
--- a/source/blender/blenkernel/intern/sound.c
+++ b/source/blender/blenkernel/intern/sound.c
@@ -13,15 +13,20 @@
#include "MEM_guardedalloc.h"
#include "BLI_blenlib.h"
+#include "BLI_math.h"
#include "DNA_anim_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_packedFile_types.h"
#include "DNA_screen_types.h"
#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
-#include "AUD_C-API.h"
+#ifdef WITH_AUDASPACE
+# include "AUD_C-API.h"
+#endif
#include "BKE_utildefines.h"
#include "BKE_global.h"
@@ -30,9 +35,76 @@
#include "BKE_context.h"
#include "BKE_library.h"
#include "BKE_packedFile.h"
-#include "BKE_fcurve.h"
#include "BKE_animsys.h"
+#include "BKE_sequencer.h"
+#include "BKE_scene.h"
+
+#ifdef WITH_AUDASPACE
+// evil global ;-)
+static int sound_cfra;
+#endif
+
+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;
+ }
+
+ if(sound->cache)
+ {
+ AUD_unload(sound->cache);
+ sound->cache = NULL;
+ }
+ sound_free_waveform(sound);
+#endif // WITH_AUDASPACE
+}
+
+#ifdef WITH_AUDASPACE
static int force_device = -1;
@@ -51,7 +123,8 @@ static void sound_sync_callback(void* data, int mode, float time)
sound_play_scene(scene);
else
sound_stop_scene(scene);
- AUD_seek(scene->sound_scene_handle, time);
+ if(scene->sound_scene_handle)
+ AUD_seek(scene->sound_scene_handle, time);
}
scene = scene->id.next;
}
@@ -110,7 +183,12 @@ void sound_init(struct Main *bmain)
if(!AUD_init(device, specs, buffersize))
AUD_init(AUD_NULL_DEVICE, specs, buffersize);
-
+
+ sound_init_main(bmain);
+}
+
+void sound_init_main(struct Main *bmain)
+{
#ifdef WITH_JACK
AUD_setSyncCallback(sound_sync_callback, bmain);
#else
@@ -123,43 +201,9 @@ 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)
+struct bSound* sound_new_buffer(struct Main *bmain, struct bSound *source)
{
bSound* sound = NULL;
@@ -167,23 +211,23 @@ struct bSound* sound_new_buffer(struct bContext *C, struct bSound *source)
strcpy(name, "buf_");
strcpy(name + 4, source->id.name);
- sound = alloc_libblock(&CTX_data_main(C)->sound, ID_SO, name);
+ sound = alloc_libblock(&bmain->sound, ID_SO, name);
sound->child_sound = source;
sound->type = SOUND_TYPE_BUFFER;
- sound_load(CTX_data_main(C), sound);
+ sound_load(bmain, sound);
if(!sound->playback_handle)
{
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
sound = NULL;
}
return sound;
}
-struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, float start, float end)
+struct bSound* sound_new_limiter(struct Main *bmain, struct bSound *source, float start, float end)
{
bSound* sound = NULL;
@@ -191,18 +235,18 @@ struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, floa
strcpy(name, "lim_");
strcpy(name + 4, source->id.name);
- sound = alloc_libblock(&CTX_data_main(C)->sound, ID_SO, name);
+ sound = alloc_libblock(&bmain->sound, ID_SO, name);
sound->child_sound = source;
sound->start = start;
sound->end = end;
sound->type = SOUND_TYPE_LIMITER;
- sound_load(CTX_data_main(C), sound);
+ sound_load(bmain, sound);
if(!sound->playback_handle)
{
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
sound = NULL;
}
@@ -210,27 +254,35 @@ struct bSound* sound_new_limiter(struct bContext *C, struct bSound *source, floa
}
#endif
-void sound_delete(struct bContext *C, struct bSound* sound)
+void sound_delete(struct Main *bmain, struct bSound* sound)
{
if(sound)
{
sound_free(sound);
- free_libblock(&CTX_data_main(C)->sound, sound);
+ free_libblock(&bmain->sound, sound);
}
}
-void sound_cache(struct bSound* sound, int ignore)
+void sound_cache(struct bSound* sound)
{
- if(sound->cache && !ignore)
+ sound->flags |= SOUND_FLAGS_CACHING;
+ if(sound->cache)
AUD_unload(sound->cache);
sound->cache = AUD_bufferSound(sound->handle);
sound->playback_handle = sound->cache;
}
+void sound_cache_notifying(struct Main* main, struct bSound* sound)
+{
+ sound_cache(sound);
+ sound_update_sequencer(main, sound);
+}
+
void sound_delete_cache(struct bSound* sound)
{
+ sound->flags &= ~SOUND_FLAGS_CACHING;
if(sound->cache)
{
AUD_unload(sound->cache);
@@ -243,6 +295,12 @@ void sound_load(struct Main *bmain, struct bSound* sound)
{
if(sound)
{
+ if(sound->cache)
+ {
+ AUD_unload(sound->cache);
+ sound->cache = NULL;
+ }
+
if(sound->handle)
{
AUD_unload(sound->handle);
@@ -294,68 +352,52 @@ void sound_load(struct Main *bmain, struct bSound* sound)
break;
}
#endif
+ if(sound->flags & SOUND_FLAGS_MONO)
+ {
+ void* handle = AUD_monoSound(sound->handle);
+ AUD_unload(sound->handle);
+ sound->handle = handle;
+ }
+
+ if(sound->flags & SOUND_FLAGS_CACHING)
+ {
+ sound->cache = AUD_bufferSound(sound->handle);
+ }
+
if(sound->cache)
sound->playback_handle = sound->cache;
else
sound->playback_handle = sound->handle;
- }
-}
-
-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;
+ sound_update_sequencer(bmain, sound);
}
}
-static float sound_get_volume(Scene* scene, Sequence* sequence, float time)
-{
- AnimData *adt= BKE_animdata_from_id(&scene->id);
- FCurve *fcu = NULL;
- char buf[64];
-
- /* NOTE: this manually constructed path needs to be used here to avoid problems with RNA crashes */
- sprintf(buf, "sequence_editor.sequences_all[\"%s\"].volume", sequence->name+2);
- if (adt && adt->action && adt->action->curves.first)
- fcu= list_find_fcurve(&adt->action->curves, buf, 0);
-
- if(fcu)
- return evaluate_fcurve(fcu, time * (float)FPS);
- else
- return sequence->volume;
-}
-
AUD_Device* sound_mixdown(struct Scene *scene, AUD_DeviceSpecs specs, int start, float volume)
{
- AUD_Device* mixdown = AUD_openReadDevice(specs);
-
- AUD_setDeviceVolume(mixdown, volume);
-
- AUD_playDevice(mixdown, scene->sound_scene, start / FPS);
-
- return mixdown;
+ return AUD_openMixdownDevice(specs, scene->sound_scene, volume, start / FPS);
}
void sound_create_scene(struct Scene *scene)
{
- scene->sound_scene = AUD_createSequencer(scene->audio.flag & AUDIO_MUTE, scene, (AUD_volumeFunction)&sound_get_volume);
+ scene->sound_scene = AUD_createSequencer(FPS, scene->audio.flag & AUDIO_MUTE);
+ AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound,
+ scene->audio.doppler_factor, scene->audio.distance_model);
+ scene->sound_scene_handle = NULL;
+ scene->sound_scrub_handle = NULL;
+ scene->speaker_handles = NULL;
}
void sound_destroy_scene(struct Scene *scene)
{
if(scene->sound_scene_handle)
AUD_stop(scene->sound_scene_handle);
+ if(scene->sound_scrub_handle)
+ AUD_stop(scene->sound_scrub_handle);
if(scene->sound_scene)
AUD_destroySequencer(scene->sound_scene);
+ if(scene->speaker_handles)
+ AUD_destroySet(scene->speaker_handles);
}
void sound_mute_scene(struct Scene *scene, int muted)
@@ -364,37 +406,97 @@ void sound_mute_scene(struct Scene *scene, int muted)
AUD_setSequencerMuted(scene->sound_scene, muted);
}
+void sound_update_fps(struct Scene *scene)
+{
+ if(scene->sound_scene)
+ AUD_setSequencerFPS(scene->sound_scene, FPS);
+}
+
+void sound_update_scene_listener(struct Scene *scene)
+{
+ AUD_updateSequencerData(scene->sound_scene, scene->audio.speed_of_sound,
+ scene->audio.doppler_factor, scene->audio.distance_model);
+}
+
void* sound_scene_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip)
{
if(scene != sequence->scene)
- return AUD_addSequencer(scene->sound_scene, &(sequence->scene->sound_scene), startframe / FPS, endframe / FPS, frameskip / FPS, sequence);
+ return AUD_addSequence(scene->sound_scene, sequence->scene->sound_scene, startframe / FPS, endframe / FPS, frameskip / FPS);
return NULL;
}
void* sound_add_scene_sound(struct Scene *scene, struct Sequence* sequence, int startframe, int endframe, int frameskip)
{
- return AUD_addSequencer(scene->sound_scene, &(sequence->sound->playback_handle), startframe / FPS, endframe / FPS, frameskip / FPS, sequence);
+ void* handle = AUD_addSequence(scene->sound_scene, sequence->sound->playback_handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+ AUD_muteSequence(handle, (sequence->flag & SEQ_MUTE) != 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_VOLUME, CFRA, &sequence->volume, 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_PITCH, CFRA, &sequence->pitch, 0);
+ AUD_setSequenceAnimData(handle, AUD_AP_PANNING, CFRA, &sequence->pan, 0);
+ return handle;
}
void sound_remove_scene_sound(struct Scene *scene, void* handle)
{
- AUD_removeSequencer(scene->sound_scene, handle);
+ AUD_removeSequence(scene->sound_scene, handle);
}
-void sound_mute_scene_sound(struct Scene *scene, void* handle, char mute)
+void sound_mute_scene_sound(void* handle, char mute)
{
- AUD_muteSequencer(scene->sound_scene, handle, mute);
+ AUD_muteSequence(handle, mute);
}
void sound_move_scene_sound(struct Scene *scene, void* handle, int startframe, int endframe, int frameskip)
{
- AUD_moveSequencer(scene->sound_scene, handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+ AUD_moveSequence(handle, startframe / FPS, endframe / FPS, frameskip / FPS);
+}
+
+void sound_update_scene_sound(void* handle, struct bSound* sound)
+{
+ AUD_updateSequenceSound(handle, sound->playback_handle);
+}
+
+void sound_set_cfra(int cfra)
+{
+ sound_cfra = cfra;
+}
+
+void sound_set_scene_volume(struct Scene *scene, float volume)
+{
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_VOLUME, CFRA, &volume, (scene->audio.flag & AUDIO_VOLUME_ANIMATED) != 0);
+}
+
+void sound_set_scene_sound_volume(void* handle, float volume, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_VOLUME, sound_cfra, &volume, animated);
+}
+
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_PITCH, sound_cfra, &pitch, animated);
+}
+
+void sound_set_scene_sound_pan(void* handle, float pan, char animated)
+{
+ AUD_setSequenceAnimData(handle, AUD_AP_PANNING, sound_cfra, &pan, animated);
+}
+
+void sound_update_sequencer(struct Main* main, struct bSound* sound)
+{
+ struct Scene* scene;
+
+ for(scene = main->scene.first; scene; scene = scene->id.next)
+ seq_update_sound(scene, sound);
}
static void sound_start_play_scene(struct Scene *scene)
{
- scene->sound_scene_handle = AUD_play(scene->sound_scene, 1);
- AUD_setLoop(scene->sound_scene_handle, -1);
+ if(scene->sound_scene_handle)
+ AUD_stop(scene->sound_scene_handle);
+
+ AUD_setSequencerDeviceSpecs(scene->sound_scene);
+
+ if((scene->sound_scene_handle = AUD_play(scene->sound_scene, 1)))
+ AUD_setLoop(scene->sound_scene_handle, -1);
}
void sound_play_scene(struct Scene *scene)
@@ -402,11 +504,17 @@ void sound_play_scene(struct Scene *scene)
AUD_Status status;
AUD_lock();
- status = AUD_getStatus(scene->sound_scene_handle);
+ status = scene->sound_scene_handle ? AUD_getStatus(scene->sound_scene_handle) : AUD_STATUS_INVALID;
if(status == AUD_STATUS_INVALID)
sound_start_play_scene(scene);
+ if(!scene->sound_scene_handle)
+ {
+ AUD_unlock();
+ return;
+ }
+
if(status != AUD_STATUS_PLAYING)
{
AUD_seek(scene->sound_scene_handle, CFRA / FPS);
@@ -421,28 +529,44 @@ void sound_play_scene(struct Scene *scene)
void sound_stop_scene(struct Scene *scene)
{
- AUD_pause(scene->sound_scene_handle);
+ if(scene->sound_scene_handle)
+ {
+ AUD_pause(scene->sound_scene_handle);
- if(scene->audio.flag & AUDIO_SYNC)
- AUD_stopPlayback();
+ if(scene->audio.flag & AUDIO_SYNC)
+ AUD_stopPlayback();
+ }
}
-void sound_seek_scene(struct bContext *C)
+void sound_seek_scene(struct Main *bmain, struct Scene *scene)
{
- struct Scene *scene = CTX_data_scene(C);
AUD_Status status;
+ bScreen *screen;
+ int animation_playing;
AUD_lock();
- status = AUD_getStatus(scene->sound_scene_handle);
+ status = scene->sound_scene_handle ? AUD_getStatus(scene->sound_scene_handle) : AUD_STATUS_INVALID;
if(status == AUD_STATUS_INVALID)
{
sound_start_play_scene(scene);
+
+ if(!scene->sound_scene_handle)
+ {
+ AUD_unlock();
+ return;
+ }
+
AUD_pause(scene->sound_scene_handle);
}
- if(scene->audio.flag & AUDIO_SCRUB && !CTX_wm_screen(C)->animtimer)
+ animation_playing = 0;
+ for(screen=bmain->screen.first; screen; screen=screen->id.next)
+ if(screen->animtimer)
+ animation_playing = 1;
+
+ if(scene->audio.flag & AUDIO_SCRUB && !animation_playing)
{
if(scene->audio.flag & AUDIO_SYNC)
{
@@ -452,10 +576,14 @@ void sound_seek_scene(struct bContext *C)
else
AUD_seek(scene->sound_scene_handle, CFRA / FPS);
AUD_resume(scene->sound_scene_handle);
- if(AUD_getStatus(scene->sound_scrub_handle) != AUD_STATUS_INVALID)
+ if(scene->sound_scrub_handle && AUD_getStatus(scene->sound_scrub_handle) != AUD_STATUS_INVALID)
AUD_seek(scene->sound_scrub_handle, 0);
else
+ {
+ if(scene->sound_scrub_handle)
+ AUD_stop(scene->sound_scrub_handle);
scene->sound_scrub_handle = AUD_pauseAfter(scene->sound_scene_handle, 1 / FPS);
+ }
}
else
{
@@ -473,10 +601,14 @@ void sound_seek_scene(struct bContext *C)
float sound_sync_scene(struct Scene *scene)
{
- if(scene->audio.flag & AUDIO_SYNC)
- return AUD_getSequencerPosition(scene->sound_scene_handle);
- else
- return AUD_getPosition(scene->sound_scene_handle);
+ if(scene->sound_scene_handle)
+ {
+ if(scene->audio.flag & AUDIO_SYNC)
+ return AUD_getSequencerPosition(scene->sound_scene_handle);
+ else
+ return AUD_getPosition(scene->sound_scene_handle);
+ }
+ return 0.0f;
}
int sound_scene_playing(struct Scene *scene)
@@ -487,18 +619,166 @@ int sound_scene_playing(struct Scene *scene)
return -1;
}
-int sound_read_sound_buffer(struct bSound* sound, float* buffer, int length, float start, float end)
+void sound_free_waveform(struct bSound* sound)
{
- AUD_Sound* limiter = AUD_limitSound(sound->cache, start, end);
- return AUD_readSound(limiter, buffer, length);
- AUD_unload(limiter);
+ if(sound->waveform)
+ {
+ MEM_freeN(((SoundWaveform*)sound->waveform)->data);
+ MEM_freeN(sound->waveform);
+ }
+
+ sound->waveform = NULL;
}
-int sound_get_channels(struct bSound* sound)
+void sound_read_waveform(struct bSound* sound)
{
AUD_SoundInfo info;
info = AUD_getInfo(sound->playback_handle);
- return info.specs.channels;
+ if(info.length > 0)
+ {
+ SoundWaveform* waveform = MEM_mallocN(sizeof(SoundWaveform), "SoundWaveform");
+ int length = info.length * SOUND_WAVE_SAMPLES_PER_SECOND;
+
+ waveform->data = MEM_mallocN(length * sizeof(float) * 3, "SoundWaveform.samples");
+ waveform->length = AUD_readSound(sound->playback_handle, waveform->data, length, SOUND_WAVE_SAMPLES_PER_SECOND);
+
+ sound_free_waveform(sound);
+ sound->waveform = waveform;
+ }
}
+
+void sound_update_scene(struct Scene* scene)
+{
+ Object* ob;
+ Base* base;
+ NlaTrack* track;
+ NlaStrip* strip;
+ Speaker* speaker;
+ Scene* sce_it;
+
+ void* new_set = AUD_createSet();
+ void* handle;
+ float quat[4];
+
+ for(SETLOOPER(scene, sce_it, base))
+ {
+ ob = base->object;
+ if(ob->type == OB_SPEAKER)
+ {
+ if(ob->adt)
+ {
+ for(track = ob->adt->nla_tracks.first; track; track = track->next)
+ {
+ for(strip = track->strips.first; strip; strip = strip->next)
+ {
+ if(strip->type == NLASTRIP_TYPE_SOUND)
+ {
+ speaker = (Speaker*)ob->data;
+
+ if(AUD_removeSet(scene->speaker_handles, strip->speaker_handle))
+ {
+ if(speaker->sound)
+ AUD_moveSequence(strip->speaker_handle, strip->start / FPS, -1, 0);
+ else
+ {
+ AUD_removeSequence(scene->sound_scene, strip->speaker_handle);
+ strip->speaker_handle = NULL;
+ }
+ }
+ else
+ {
+ if(speaker->sound)
+ {
+ strip->speaker_handle = AUD_addSequence(scene->sound_scene, speaker->sound->playback_handle, strip->start / FPS, -1, 0);
+ AUD_setRelativeSequence(strip->speaker_handle, 0);
+ }
+ }
+
+ if(strip->speaker_handle)
+ {
+ AUD_addSet(new_set, strip->speaker_handle);
+ AUD_updateSequenceData(strip->speaker_handle, speaker->volume_max,
+ speaker->volume_min, speaker->distance_max,
+ speaker->distance_reference, speaker->attenuation,
+ speaker->cone_angle_outer, speaker->cone_angle_inner,
+ speaker->cone_volume_outer);
+
+ mat4_to_quat(quat, ob->obmat);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_LOCATION, CFRA, ob->obmat[3], 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_ORIENTATION, CFRA, quat, 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_VOLUME, CFRA, &speaker->volume, 1);
+ AUD_setSequenceAnimData(strip->speaker_handle, AUD_AP_PITCH, CFRA, &speaker->pitch, 1);
+ AUD_updateSequenceSound(strip->speaker_handle, speaker->sound->playback_handle);
+ AUD_muteSequence(strip->speaker_handle, ((strip->flag & NLASTRIP_FLAG_MUTED) != 0) || ((speaker->flag & SPK_MUTED) != 0));
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ while((handle = AUD_getSet(scene->speaker_handles)))
+ {
+ AUD_removeSequence(scene->sound_scene, handle);
+ }
+
+ if(scene->camera)
+ {
+ mat4_to_quat(quat, scene->camera->obmat);
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_LOCATION, CFRA, scene->camera->obmat[3], 1);
+ AUD_setSequencerAnimData(scene->sound_scene, AUD_AP_ORIENTATION, CFRA, quat, 1);
+ }
+
+ AUD_destroySet(scene->speaker_handles);
+ scene->speaker_handles = new_set;
+}
+
+void* sound_get_factory(void* sound)
+{
+ return ((struct bSound*) sound)->playback_handle;
+}
+
+#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)) { }
+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(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 Main *UNUSED(bmain), struct Scene *UNUSED(scene)) {}
+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; }
+void sound_read_waveform(struct bSound* sound) { (void)sound; }
+void sound_init_main(struct Main *bmain) { (void)bmain; }
+void sound_set_cfra(int cfra) { (void)cfra; }
+void sound_update_sequencer(struct Main* main, struct bSound* sound) { (void)main; (void)sound; }
+void sound_update_scene(struct Scene* scene) { (void)scene; }
+void sound_update_scene_sound(void* handle, struct bSound* sound) { (void)handle; (void)sound; }
+void sound_update_scene_listener(struct Scene *scene) { (void)scene; }
+void sound_update_fps(struct Scene *scene) { (void)scene; }
+void sound_set_scene_sound_volume(void* handle, float volume, char animated) { (void)handle; (void)volume; (void)animated; }
+void sound_set_scene_sound_pan(void* handle, float pan, char animated) { (void)handle; (void)pan; (void)animated; }
+void sound_set_scene_volume(struct Scene *scene, float volume) { (void)scene; (void)volume; }
+void sound_set_scene_sound_pitch(void* handle, float pitch, char animated) { (void)handle; (void)pitch; (void)animated; }
+
+#endif // WITH_AUDASPACE
diff --git a/source/blender/blenkernel/intern/speaker.c b/source/blender/blenkernel/intern/speaker.c
new file mode 100644
index 00000000000..200dbd41899
--- /dev/null
+++ b/source/blender/blenkernel/intern/speaker.c
@@ -0,0 +1,139 @@
+/* speaker.c
+ *
+ *
+ * $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): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/blenkernel/intern/speaker.c
+ * \ingroup bke
+ */
+
+#include "DNA_object_types.h"
+#include "DNA_sound_types.h"
+#include "DNA_speaker_types.h"
+
+#include "BLI_math.h"
+
+#include "BKE_animsys.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_speaker.h"
+
+void *add_speaker(const char *name)
+{
+ Speaker *spk;
+
+ spk= alloc_libblock(&G.main->speaker, ID_SPK, name);
+
+ spk->attenuation = 1.0f;
+ spk->cone_angle_inner = 360.0f;
+ spk->cone_angle_outer = 360.0f;
+ spk->cone_volume_outer = 1.0f;
+ spk->distance_max = FLT_MAX;
+ spk->distance_reference = 1.0f;
+ spk->flag = 0;
+ spk->pitch = 1.0f;
+ spk->sound = NULL;
+ spk->volume = 1.0f;
+ spk->volume_max = 1.0f;
+ spk->volume_min = 0.0f;
+
+ return spk;
+}
+
+Speaker *copy_speaker(Speaker *spk)
+{
+ Speaker *spkn;
+
+ spkn= copy_libblock(spk);
+ if(spkn->sound)
+ spkn->sound->id.us++;
+
+ return spkn;
+}
+
+void make_local_speaker(Speaker *spk)
+{
+ Main *bmain= G.main;
+ Object *ob;
+ int local=0, lib=0;
+
+ /* - only lib users: do nothing
+ * - only local users: set flag
+ * - mixed: make copy
+ */
+
+ if(spk->id.lib==NULL) return;
+ if(spk->id.us==1) {
+ spk->id.lib= NULL;
+ spk->id.flag= LIB_LOCAL;
+ new_id(&bmain->speaker, (ID *)spk, NULL);
+ return;
+ }
+
+ ob= bmain->object.first;
+ while(ob) {
+ if(ob->data==spk) {
+ if(ob->id.lib) lib= 1;
+ else local= 1;
+ }
+ ob= ob->id.next;
+ }
+
+ if(local && lib==0) {
+ spk->id.lib= NULL;
+ spk->id.flag= LIB_LOCAL;
+ new_id(&bmain->speaker, (ID *)spk, NULL);
+ }
+ else if(local && lib) {
+ Speaker *spkn= copy_speaker(spk);
+ spkn->id.us= 0;
+
+ ob= bmain->object.first;
+ while(ob) {
+ if(ob->data==spk) {
+
+ if(ob->id.lib==NULL) {
+ ob->data= spkn;
+ spkn->id.us++;
+ spk->id.us--;
+ }
+ }
+ ob= ob->id.next;
+ }
+ }
+}
+
+void free_speaker(Speaker *spk)
+{
+ if(spk->sound)
+ spk->sound->id.us--;
+
+ BKE_free_animdata((ID *)spk);
+}
diff --git a/source/blender/blenkernel/intern/subsurf_ccg.c b/source/blender/blenkernel/intern/subsurf_ccg.c
index a66caf8879f..186a5ea1852 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);
@@ -1775,7 +1779,8 @@ static void ccgDM_drawUVEdges(DerivedMesh *dm)
}
}
-static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs)) {
+static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *userData, int index, int *drawSmooth_r), void *userData, int useColors, int (*setMaterial)(int, void *attribs),
+ int (*compareDrawOptions)(void *userData, int cur_index, int next_index)) {
CCGDerivedMesh *ccgdm = (CCGDerivedMesh*) dm;
CCGSubSurf *ss = ccgdm->ss;
MCol *mcol= NULL;
@@ -1783,6 +1788,9 @@ static void ccgDM_drawMappedFaces(DerivedMesh *dm, int (*setDrawOptions)(void *u
char *faceFlags = ccgdm->faceFlags;
int gridFaces = gridSize - 1, totface;
+ /* currently unused -- each original face is handled separately */
+ (void)compareDrawOptions;
+
if(useColors) {
mcol = dm->getFaceDataArray(dm, CD_WEIGHT_MCOL);
if(!mcol)
diff --git a/source/blender/blenkernel/intern/text.c b/source/blender/blenkernel/intern/text.c
index da329503c9f..2c507370288 100644
--- a/source/blender/blenkernel/intern/text.c
+++ b/source/blender/blenkernel/intern/text.c
@@ -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;
@@ -1417,6 +1423,8 @@ void txt_insert_buf(Text *text, const char *in_buffer)
}
undoing= u;
+
+ (void)count;
}
/******************/
diff --git a/source/blender/blenkernel/intern/texture.c b/source/blender/blenkernel/intern/texture.c
index 64f3c111434..38165182d83 100644
--- a/source/blender/blenkernel/intern/texture.c
+++ b/source/blender/blenkernel/intern/texture.c
@@ -766,7 +766,9 @@ Tex *copy_texture(Tex *tex)
if(tex->preview) texn->preview = BKE_previewimg_copy(tex->preview);
if(tex->nodetree) {
- ntreeEndExecTree(tex->nodetree);
+ if (tex->nodetree->execdata) {
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
+ }
texn->nodetree= ntreeCopyTree(tex->nodetree);
}
@@ -1005,7 +1007,7 @@ void autotexname(Tex *tex)
Tex *give_current_object_texture(Object *ob)
{
- Material *ma;
+ Material *ma, *node_ma;
Tex *tex= NULL;
if(ob==NULL) return NULL;
@@ -1015,6 +1017,10 @@ Tex *give_current_object_texture(Object *ob)
tex= give_current_lamp_texture(ob->data);
} else {
ma= give_current_material(ob, ob->actcol);
+
+ if((node_ma=give_node_material(ma)))
+ ma= node_ma;
+
tex= give_current_material_texture(ma);
}
@@ -1080,17 +1086,6 @@ Tex *give_current_material_texture(Material *ma)
tex= (Tex *)node->id;
ma= NULL;
}
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node) {
- ma= (Material*)node->id;
- if(ma) {
- mtex= ma->mtex[(int)(ma->texact)];
- if(mtex) tex= mtex->tex;
- }
- }
- }
- return tex;
}
if(ma) {
@@ -1165,11 +1160,6 @@ void set_current_material_texture(Material *ma, Tex *newtex)
id_us_plus(&newtex->id);
ma= NULL;
}
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node)
- ma= (Material*)node->id;
- }
}
if(ma) {
int act= (int)ma->texact;
@@ -1198,16 +1188,8 @@ int has_current_material_texture(Material *ma)
if(ma && ma->use_nodes && ma->nodetree) {
node= nodeGetActiveID(ma->nodetree, ID_TE);
- if(node) {
+ if(node)
return 1;
- }
- else {
- node= nodeGetActiveID(ma->nodetree, ID_MA);
- if(node)
- ma= (Material*)node->id;
- else
- ma= NULL;
- }
}
return (ma != NULL);
@@ -1486,6 +1468,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/unit.c b/source/blender/blenkernel/intern/unit.c
index b89e576a562..72fe1c19884 100644
--- a/source/blender/blenkernel/intern/unit.c
+++ b/source/blender/blenkernel/intern/unit.c
@@ -34,6 +34,7 @@
#include "BKE_unit.h"
#include "BLI_math.h"
+#include "BLI_string.h"
#include "BLI_winstuff.h"
@@ -136,7 +137,7 @@ static struct bUnitDef buImperialLenDef[] = {
{"yard", "yards", "yd", NULL, "Yards", UN_SC_YD, 0.0, B_UNIT_DEF_NONE},
{"foot", "feet", "'", "ft", "Feet", UN_SC_FT, 0.0, B_UNIT_DEF_NONE}, /* base unit */
{"inch", "inches", "\"", "in", "Inches", UN_SC_IN, 0.0, B_UNIT_DEF_NONE},
- {"thou", "thous", "mil", NULL, "Thous", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE},
+ {"thou", "thou", "thou", "mil", "Thou", UN_SC_MIL, 0.0, B_UNIT_DEF_NONE}, /* plural for thou has no 's' */
{NULL, NULL, NULL, NULL, NULL, 0.0, 0.0}
};
static struct bUnitCollection buImperialLenCollecton = {buImperialLenDef, 4, 0, sizeof(buImperialLenDef)/sizeof(bUnitDef)};
@@ -344,7 +345,7 @@ static int unit_as_string(char *str, int len_max, double value, int prec, bUnitC
/* Convert to a string */
{
- len= snprintf(str, len_max, "%.*lf", prec, value_conv);
+ len= BLI_snprintf(str, len_max, "%.*lf", prec, value_conv);
if(len >= len_max)
len= len_max;
@@ -495,7 +496,7 @@ static int unit_scale_str(char *str, int len_max, char *str_tmp, double scale_pr
len_name = strlen(replace_str);
len_move= (len - (found_ofs+len_name)) + 1; /* 1+ to copy the string terminator */
- len_num= snprintf(str_tmp, TEMP_STR_SIZE, "*%lg"SEP_STR, unit->scalar/scale_pref); /* # removed later */
+ len_num= BLI_snprintf(str_tmp, TEMP_STR_SIZE, "*%lg"SEP_STR, unit->scalar/scale_pref); /* # removed later */
if(len_num > len_max)
len_num= len_max;
@@ -629,12 +630,12 @@ int bUnit_ReplaceString(char *str, int len_max, char *str_prev, double scale_pre
/* add the unit prefix and re-run, use brackets incase there was an expression given */
- if(snprintf(str_tmp, sizeof(str_tmp), "(%s)%s", str, unit->name) < sizeof(str_tmp)) {
+ if(BLI_snprintf(str_tmp, sizeof(str_tmp), "(%s)%s", str, unit->name) < sizeof(str_tmp)) {
strncpy(str, str_tmp, len_max);
return bUnit_ReplaceString(str, len_max, NULL, scale_pref, system, type);
}
else {
- /* snprintf would not fit into str_tmp, cant do much in this case
+ /* BLI_snprintf would not fit into str_tmp, cant do much in this case
* check for this because otherwise bUnit_ReplaceString could call its self forever */
return 0;
}
@@ -705,7 +706,7 @@ void bUnit_ToUnitAltName(char *str, int len_max, char *orig_str, int system, int
/* print the alt_name */
if(unit->name_alt)
- len_name= snprintf(str, len_max, "%s", unit->name_alt);
+ len_name= BLI_snprintf(str, len_max, "%s", unit->name_alt);
else
len_name= 0;
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 c729565533f..13875ff19f7 100644
--- a/source/blender/blenkernel/intern/writeffmpeg.c
+++ b/source/blender/blenkernel/intern/writeffmpeg.c
@@ -39,17 +39,15 @@
#include <libswscale/swscale.h>
#include <libavcodec/opt.h>
-#if defined(WIN32) && (!(defined snprintf))
-#define snprintf _snprintf
-#endif
-
#include "MEM_guardedalloc.h"
#include "DNA_scene_types.h"
#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"
@@ -89,7 +87,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
@@ -103,6 +103,7 @@ static void delete_picture(AVFrame* f)
}
}
+#ifdef WITH_AUDASPACE
static int write_audio_frame(void)
{
AVCodecContext* c = NULL;
@@ -145,6 +146,7 @@ static int write_audio_frame(void)
}
return 0;
}
+#endif // #ifdef WITH_AUDASPACE
/* Allocate a temporary frame */
static AVFrame* alloc_picture(int pix_fmt, int width, int height)
@@ -549,7 +551,7 @@ static AVStream* alloc_audio_stream(RenderData *rd, int codec_id, AVFormatContex
c->sample_rate = rd->ffcodecdata.audio_mixrate;
c->bit_rate = ffmpeg_audio_bitrate*1000;
c->sample_fmt = SAMPLE_FMT_S16;
- c->channels = 2;
+ c->channels = rd->ffcodecdata.audio_channels;
codec = avcodec_find_encoder(c->codec_id);
if (!codec) {
//XXX error("Couldn't find a valid audio codec");
@@ -574,12 +576,11 @@ static AVStream* alloc_audio_stream(RenderData *rd, int codec_id, AVFormatContex
audio_outbuf_size = c->frame_size * c->channels * sizeof(int16_t) * 4;
}
- audio_output_buffer = (uint8_t*)MEM_mallocN(
- audio_outbuf_size, "FFMPEG audio encoder input buffer");
+ audio_output_buffer = (uint8_t*)av_malloc(
+ audio_outbuf_size);
- audio_input_buffer = (uint8_t*)MEM_mallocN(
- audio_input_samples * c->channels * sizeof(int16_t),
- "FFMPEG audio encoder output buffer");
+ audio_input_buffer = (uint8_t*)av_malloc(
+ audio_input_samples * c->channels * sizeof(int16_t));
audio_time = 0.0f;
@@ -647,15 +648,17 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
fmt->audio_codec = ffmpeg_audio_codec;
- snprintf(of->filename, sizeof(of->filename), "%s", name);
+ BLI_snprintf(of->filename, sizeof(of->filename), "%s", name);
/* set the codec to the user's selection */
switch(ffmpeg_type) {
case FFMPEG_AVI:
case FFMPEG_MOV:
- case FFMPEG_OGG:
case FFMPEG_MKV:
fmt->video_codec = ffmpeg_codec;
break;
+ case FFMPEG_OGG:
+ fmt->video_codec = CODEC_ID_THEORA;
+ break;
case FFMPEG_DV:
fmt->video_codec = CODEC_ID_DVVIDEO;
break;
@@ -701,7 +704,7 @@ static int start_ffmpeg_impl(struct RenderData *rd, int rectx, int recty, Report
if (ffmpeg_type == FFMPEG_DV) {
fmt->audio_codec = CODEC_ID_PCM_S16LE;
- if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000) {
+ if (ffmpeg_audio_codec != CODEC_ID_NONE && rd->ffcodecdata.audio_mixrate != 48000 && rd->ffcodecdata.audio_channels != 2) {
BKE_report(reports, RPT_ERROR, "FFMPEG only supports 48khz / stereo audio for DV!");
return 0;
}
@@ -851,7 +854,7 @@ 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 = audio_stream->codec;
@@ -860,13 +863,18 @@ int start_ffmpeg(struct Scene *scene, RenderData *rd, int rectx, int recty, Repo
specs.format = AUD_FORMAT_S16;
specs.rate = rd->ffcodecdata.audio_mixrate;
audio_mixdown_device = sound_mixdown(scene, specs, rd->sfra, rd->ffcodecdata.audio_volume);
+#ifdef FFMPEG_CODEC_TIME_BASE
+ c->time_base.den = specs.rate;
+ c->time_base.num = 1;
+#endif
}
-
+#endif
return success;
}
void end_ffmpeg(void);
+#ifdef WITH_AUDASPACE
static void write_audio_frames(double to_pts)
{
int finished = 0;
@@ -878,6 +886,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)
{
@@ -905,8 +914,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;
}
@@ -920,12 +930,14 @@ void end_ffmpeg(void)
write_audio_frames();
}*/
+#ifdef WITH_AUDASPACE
if(audio_mixdown_device)
{
AUD_closeReadDevice(audio_mixdown_device);
audio_mixdown_device = 0;
}
-
+#endif
+
if (video_stream && video_stream->codec) {
fprintf(stderr, "Flushing delayed frames...\n");
flush_ffmpeg ();
@@ -971,11 +983,11 @@ void end_ffmpeg(void)
video_buffer = 0;
}
if (audio_output_buffer) {
- MEM_freeN(audio_output_buffer);
+ av_free(audio_output_buffer);
audio_output_buffer = 0;
}
if (audio_input_buffer) {
- MEM_freeN(audio_input_buffer);
+ av_free(audio_input_buffer);
audio_input_buffer = 0;
}
@@ -1299,6 +1311,9 @@ void ffmpeg_verify_image_type(RenderData *rd)
/* Don't set preset, disturbs render resolution.
* ffmpeg_set_preset(rd, FFMPEG_PRESET_DVD); */
}
+ if(rd->ffcodecdata.type == FFMPEG_OGG) {
+ rd->ffcodecdata.type = FFMPEG_MPEG2;
+ }
audio= 1;
}
diff --git a/source/blender/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..f20cef9c3ea
--- /dev/null
+++ b/source/blender/blenlib/BLI_callbacks.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.
+ *
+ * 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_RENDER_STATS,
+ 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_ghash.h b/source/blender/blenlib/BLI_ghash.h
index dcc71fa1258..e4afc6ad79b 100644
--- a/source/blender/blenlib/BLI_ghash.h
+++ b/source/blender/blenlib/BLI_ghash.h
@@ -53,14 +53,14 @@ typedef void (*GHashValFreeFP) (void *val);
typedef struct Entry {
struct Entry *next;
-
+
void *key, *val;
} Entry;
typedef struct GHash {
GHashHashFP hashfp;
GHashCmpFP cmpfp;
-
+
Entry **buckets;
struct BLI_mempool *entrypool;
int nbuckets, nentries, cursize;
@@ -72,15 +72,15 @@ typedef struct GHashIterator {
struct Entry *curEntry;
} GHashIterator;
-GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
-void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-
-//BM_INLINE void BLI_ghash_insert (GHash *gh, void *key, void *val);
-//BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
-//BM_INLINE void* BLI_ghash_lookup (GHash *gh, void *key);
-//BM_INLINE int BLI_ghash_haskey (GHash *gh, void *key);
+/* *** */
-int BLI_ghash_size (GHash *gh);
+GHash* BLI_ghash_new (GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info);
+void BLI_ghash_free (GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+void BLI_ghash_insert(GHash *gh, void *key, void *val);
+void * BLI_ghash_lookup(GHash *gh, const void *key);
+int BLI_ghash_remove(GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp);
+int BLI_ghash_haskey(GHash *gh, void *key);
+int BLI_ghash_size (GHash *gh);
/* *** */
@@ -149,127 +149,10 @@ unsigned int BLI_ghashutil_strhash (const void *key);
int BLI_ghashutil_strcmp (const void *a, const void *b);
unsigned int BLI_ghashutil_inthash (const void *ptr);
-int BLI_ghashutil_intcmp(const void *a, const void *b);
-
-/*begin of macro-inlined functions*/
-extern unsigned int hashsizes[];
-
-#if 0
-#define BLI_ghash_insert(gh, _k, _v){\
- unsigned int _hash= (gh)->hashfp(_k)%gh->nbuckets;\
- Entry *_e= BLI_mempool_alloc((gh)->entrypool);\
- _e->key= _k;\
- _e->val= _v;\
- _e->next= (gh)->buckets[_hash];\
- (gh)->buckets[_hash]= _e;\
- if (++(gh)->nentries>(gh)->nbuckets*3) {\
- Entry *_e, **_old= (gh)->buckets;\
- int _i, _nold= (gh)->nbuckets;\
- (gh)->nbuckets= hashsizes[++(gh)->cursize];\
- (gh)->buckets= malloc((gh)->nbuckets*sizeof(*(gh)->buckets));\
- memset((gh)->buckets, 0, (gh)->nbuckets*sizeof(*(gh)->buckets));\
- for (_i=0; _i<_nold; _i++) {\
- for (_e= _old[_i]; _e;) {\
- Entry *_n= _e->next;\
- _hash= (gh)->hashfp(_e->key)%(gh)->nbuckets;\
- _e->next= (gh)->buckets[_hash];\
- (gh)->buckets[_hash]= _e;\
- _e= _n;\
- }\
- }\
- free(_old); } }
-#endif
-
-/*---------inlined functions---------*/
-BM_INLINE void BLI_ghash_insert(GHash *gh, void *key, void *val) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
-
- e->key= key;
- e->val= val;
- e->next= gh->buckets[hash];
- gh->buckets[hash]= e;
-
- if (++gh->nentries>(float)gh->nbuckets/2) {
- Entry **old= gh->buckets;
- int i, nold= gh->nbuckets;
-
- gh->nbuckets= hashsizes[++gh->cursize];
- gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
- memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
-
- for (i=0; i<nold; i++) {
- for (e= old[i]; e;) {
- Entry *n= e->next;
-
- hash= gh->hashfp(e->key)%gh->nbuckets;
- e->next= gh->buckets[hash];
- gh->buckets[hash]= e;
-
- e= n;
- }
- }
-
- MEM_freeN(old);
- }
-}
-
-BM_INLINE void* BLI_ghash_lookup(GHash *gh, const void *key)
-{
- if(gh) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
-
- for (e= gh->buckets[hash]; e; e= e->next)
- if (gh->cmpfp(key, e->key)==0)
- return e->val;
- }
- return NULL;
-}
-
-BM_INLINE int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
-{
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
- Entry *p = NULL;
-
- for (e= gh->buckets[hash]; e; e= e->next) {
- if (gh->cmpfp(key, e->key)==0) {
- Entry *n= e->next;
-
- if (keyfreefp) keyfreefp(e->key);
- if (valfreefp) valfreefp(e->val);
- BLI_mempool_free(gh->entrypool, e);
-
-
- e= n;
- if (p)
- p->next = n;
- else
- gh->buckets[hash] = n;
-
- --gh->nentries;
- return 1;
- }
- p = e;
- }
-
- return 0;
-}
-
-BM_INLINE int BLI_ghash_haskey(GHash *gh, void *key) {
- unsigned int hash= gh->hashfp(key)%gh->nbuckets;
- Entry *e;
-
- for (e= gh->buckets[hash]; e; e= e->next)
- if (gh->cmpfp(key, e->key)==0)
- return 1;
-
- return 0;
-}
+int BLI_ghashutil_intcmp (const void *a, const void *b);
#ifdef __cplusplus
}
#endif
-#endif
+#endif /* BLI_GHASH_H */
diff --git a/source/blender/blenlib/BLI_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 b34b9c4b70f..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 */
@@ -78,6 +81,8 @@ void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3],
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_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
diff --git a/source/blender/blenlib/BLI_math_inline.h b/source/blender/blenlib/BLI_math_inline.h
index 0f8493e25a6..122b2679d5b 100644
--- a/source/blender/blenlib/BLI_math_inline.h
+++ b/source/blender/blenlib/BLI_math_inline.h
@@ -45,7 +45,7 @@ extern "C" {
#define MALWAYS_INLINE MINLINE
#else
#define MINLINE static inline
-#define MALWAYS_INLINE static __attribute__((always_inline))
+#define MALWAYS_INLINE static inline __attribute__((always_inline))
#endif
#else
#define MINLINE
diff --git a/source/blender/blenlib/BLI_math_matrix.h b/source/blender/blenlib/BLI_math_matrix.h
index d8719f399ae..18955c158c6 100644
--- a/source/blender/blenlib/BLI_math_matrix.h
+++ b/source/blender/blenlib/BLI_math_matrix.h
@@ -66,6 +66,9 @@ void swap_m4m4(float A[4][4], float B[4][4]);
void add_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
void add_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
+void sub_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
+void sub_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
+
void mul_m3_m3m3(float R[3][3], float A[3][3], float B[3][3]);
void mul_m4_m4m4(float R[4][4], float A[4][4], float B[4][4]);
void mul_m4_m3m4(float R[4][4], float A[3][3], float B[4][4]);
diff --git a/source/blender/blenlib/BLI_math_rotation.h b/source/blender/blenlib/BLI_math_rotation.h
index ee8c3d5e10c..ef20408a37e 100644
--- a/source/blender/blenlib/BLI_math_rotation.h
+++ b/source/blender/blenlib/BLI_math_rotation.h
@@ -107,9 +107,6 @@ void mat4_to_axis_angle(float axis[3], float *angle, float M[4][4]);
/* TODO: the following calls should probably be depreceated sometime */
/* conversion */
-void mat3_to_vec_rot(float vec[3], float *phi, float mat[3][3]);
-void mat4_to_vec_rot(float vec[3], float *phi, float mat[4][4]);
-
void vec_rot_to_quat(float quat[4], const float vec[3], const float phi);
void vec_rot_to_mat3(float mat[3][3], const float vec[3], const float phi);
void vec_rot_to_mat4(float mat[4][4], const float vec[3], const float phi);
diff --git a/source/blender/blenlib/BLI_math_vector.h b/source/blender/blenlib/BLI_math_vector.h
index decfa22c3e6..d30168c8657 100644
--- a/source/blender/blenlib/BLI_math_vector.h
+++ b/source/blender/blenlib/BLI_math_vector.h
@@ -99,7 +99,7 @@ MINLINE float dot_v3v3(const float a[3], const float b[3]);
MINLINE float cross_v2v2(const float a[2], const float b[2]);
MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3]);
-MINLINE void star_m3_v3(float R[3][3],float a[3]);
+MINLINE void star_m3_v3(float rmat[3][3],float a[3]);
/*********************************** Length **********************************/
@@ -124,6 +124,7 @@ void interp_v3_v3v3v3(float p[3], const float v1[3], const float v2[3], const fl
void interp_v3_v3v3v3v3(float p[3], const float v1[3], const float v2[3], const float v3[3], const float v4[3], const float w[4]);
void interp_v4_v4v4(float r[4], const float a[4], const float b[4], const float t);
void interp_v4_v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float w[3]);
+void interp_v4_v4v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4]);
void mid_v3_v3v3(float r[3], const float a[3], const float b[3]);
@@ -133,7 +134,7 @@ MINLINE int is_zero_v3(const float a[3]);
MINLINE int is_zero_v4(const float a[4]);
MINLINE int is_one_v3(const float a[3]);
-MINLINE int equals_v2v2(const float *v1, const float *v2);
+MINLINE int equals_v2v2(const float v1[2], const float v2[2]);
MINLINE int equals_v3v3(const float a[3], const float b[3]);
MINLINE int compare_v3v3(const float a[3], const float b[3], const float limit);
MINLINE int compare_len_v3v3(const float a[3], const float b[3], const float limit);
diff --git a/source/blender/blenlib/BLI_string.h b/source/blender/blenlib/BLI_string.h
index 408809661cf..4a0c2ab9482 100644
--- a/source/blender/blenlib/BLI_string.h
+++ b/source/blender/blenlib/BLI_string.h
@@ -122,6 +122,8 @@ __attribute__ ((format (printf, 1, 2)))
#endif
;
+size_t BLI_strescape(char *dst, const char *src, const size_t maxlen);
+
/**
* Compare two strings without regard to case.
*
diff --git a/source/blender/blenlib/BLI_utildefines.h b/source/blender/blenlib/BLI_utildefines.h
index 9af55601ff7..1a1f7be2471 100644
--- a/source/blender/blenlib/BLI_utildefines.h
+++ b/source/blender/blenlib/BLI_utildefines.h
@@ -105,9 +105,9 @@
#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; }
+ (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])); }
+ (v1)[3]=FTOCHAR((v2[3])); }
#define VECCOPY(v1,v2) {*(v1)= *(v2); *(v1+1)= *(v2+1); *(v1+2)= *(v2+2);}
@@ -184,6 +184,12 @@
#endif
#ifdef __GNUC__
+# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_ ## x
+#else
+# define UNUSED_FUNCTION(x) UNUSED_ ## x
+#endif
+
+#ifdef __GNUC__
# define WARN_UNUSED __attribute__((warn_unused_result))
#else
# define WARN_UNUSED
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 0c25da325ad..b4fc983008c 100644
--- a/source/blender/blenlib/CMakeLists.txt
+++ b/source/blender/blenlib/CMakeLists.txt
@@ -26,10 +26,10 @@
set(INC
.
- ../makesdna
../blenkernel
../blenloader
../gpu
+ ../makesdna
../../../intern/ghost
../../../intern/guardedalloc
)
@@ -52,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
@@ -89,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
@@ -132,12 +134,13 @@ 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_INC}")
+ list(APPEND INC_SYS
+ ${BINRELOC_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_BINRELOC)
endif()
diff --git a/source/blender/blenlib/intern/BLI_args.c b/source/blender/blenlib/intern/BLI_args.c
index 7bc93a3d3a0..5f31565d65b 100644
--- a/source/blender/blenlib/intern/BLI_args.c
+++ b/source/blender/blenlib/intern/BLI_args.c
@@ -290,8 +290,10 @@ void BLI_argsParse(struct bArgs *ba, int pass, BA_ArgCallback default_cb, void *
}
i += retval;
} else if (retval == -1){
- if (a->key->pass != -1)
- ba->passes[i] = pass;
+ if (a) {
+ if (a->key->pass != -1)
+ ba->passes[i] = pass;
+ }
break;
}
}
diff --git a/source/blender/blenlib/intern/BLI_ghash.c b/source/blender/blenlib/intern/BLI_ghash.c
index ff08ef4dba9..03e3b7ab560 100644
--- a/source/blender/blenlib/intern/BLI_ghash.c
+++ b/source/blender/blenlib/intern/BLI_ghash.c
@@ -40,7 +40,7 @@
#include "BLO_sys_types.h" // for intptr_t support
/***/
-unsigned int hashsizes[]= {
+static unsigned int hashsizes[]= {
5, 11, 17, 37, 67, 131, 257, 521, 1031, 2053, 4099, 8209,
16411, 32771, 65537, 131101, 262147, 524309, 1048583, 2097169,
4194319, 8388617, 16777259, 33554467, 67108879, 134217757,
@@ -49,8 +49,6 @@ unsigned int hashsizes[]= {
/***/
-/***/
-
GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
GHash *gh= MEM_mallocN(sizeof(*gh), info);
gh->hashfp= hashfp;
@@ -67,14 +65,96 @@ GHash *BLI_ghash_new(GHashHashFP hashfp, GHashCmpFP cmpfp, const char *info) {
return gh;
}
-#ifdef BLI_ghash_insert
-#undef BLI_ghash_insert
-#endif
-
int BLI_ghash_size(GHash *gh) {
return gh->nentries;
}
+void BLI_ghash_insert(GHash *gh, void *key, void *val) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e= (Entry*) BLI_mempool_alloc(gh->entrypool);
+
+ e->key= key;
+ e->val= val;
+ e->next= gh->buckets[hash];
+ gh->buckets[hash]= e;
+
+ if (++gh->nentries>(float)gh->nbuckets/2) {
+ Entry **old= gh->buckets;
+ int i, nold= gh->nbuckets;
+
+ gh->nbuckets= hashsizes[++gh->cursize];
+ gh->buckets= (Entry**)MEM_mallocN(gh->nbuckets*sizeof(*gh->buckets), "buckets");
+ memset(gh->buckets, 0, gh->nbuckets*sizeof(*gh->buckets));
+
+ for (i=0; i<nold; i++) {
+ for (e= old[i]; e;) {
+ Entry *n= e->next;
+
+ hash= gh->hashfp(e->key)%gh->nbuckets;
+ e->next= gh->buckets[hash];
+ gh->buckets[hash]= e;
+
+ e= n;
+ }
+ }
+
+ MEM_freeN(old);
+ }
+}
+
+void *BLI_ghash_lookup(GHash *gh, const void *key) {
+ if(gh) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+
+ for (e= gh->buckets[hash]; e; e= e->next)
+ if (gh->cmpfp(key, e->key)==0)
+ return e->val;
+ }
+ return NULL;
+}
+
+int BLI_ghash_remove (GHash *gh, void *key, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp)
+{
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+ Entry *p = NULL;
+
+ for (e= gh->buckets[hash]; e; e= e->next) {
+ if (gh->cmpfp(key, e->key)==0) {
+ Entry *n= e->next;
+
+ if (keyfreefp) keyfreefp(e->key);
+ if (valfreefp) valfreefp(e->val);
+ BLI_mempool_free(gh->entrypool, e);
+
+ /* correct but 'e' isnt used before return */
+ /* e= n; */ /*UNUSED*/
+ if (p)
+ p->next = n;
+ else
+ gh->buckets[hash] = n;
+
+ --gh->nentries;
+ return 1;
+ }
+ p = e;
+ }
+
+ return 0;
+}
+
+int BLI_ghash_haskey(GHash *gh, void *key) {
+ unsigned int hash= gh->hashfp(key)%gh->nbuckets;
+ Entry *e;
+
+ for (e= gh->buckets[hash]; e; e= e->next)
+ if (gh->cmpfp(key, e->key)==0)
+ return 1;
+
+ return 0;
+}
+
void BLI_ghash_free(GHash *gh, GHashKeyFreeFP keyfreefp, GHashValFreeFP valfreefp) {
int i;
diff --git a/source/blender/blenlib/intern/BLI_kdopbvh.c b/source/blender/blenlib/intern/BLI_kdopbvh.c
index 527692348e7..dcbe043f0d0 100644
--- a/source/blender/blenlib/intern/BLI_kdopbvh.c
+++ b/source/blender/blenlib/intern/BLI_kdopbvh.c
@@ -1494,7 +1494,7 @@ static float fast_ray_nearest_hit(const BVHRayCastData *data, const BVHNode *nod
float t2z = (bv[data->index[5]] - data->ray.origin[2]) * data->idot_axis[2];
if(t1x > t2y || t2x < t1y || t1x > t2z || t2x < t1z || t1y > t2z || t2y < t1z) return FLT_MAX;
- if(t2x < 0.0 || t2y < 0.0 || t2z < 0.0) return FLT_MAX;
+ if(t2x < 0.0f || t2y < 0.0f || t2z < 0.0f) return FLT_MAX;
if(t1x > data->hit.dist || t1y > data->hit.dist || t1z > data->hit.dist) return FLT_MAX;
dist = t1x;
@@ -1599,11 +1599,11 @@ int BLI_bvhtree_ray_cast(BVHTree *tree, const float *co, const float *dir, float
data.ray_dot_axis[i] = INPR( data.ray.direction, KDOP_AXES[i]);
data.idot_axis[i] = 1.0f / data.ray_dot_axis[i];
- if(fabs(data.ray_dot_axis[i]) < FLT_EPSILON)
+ if(fabsf(data.ray_dot_axis[i]) < FLT_EPSILON)
{
data.ray_dot_axis[i] = 0.0;
}
- data.index[2*i] = data.idot_axis[i] < 0.0 ? 1 : 0;
+ data.index[2*i] = data.idot_axis[i] < 0.0f ? 1 : 0;
data.index[2*i+1] = 1 - data.index[2*i];
data.index[2*i] += 2*i;
data.index[2*i+1] += 2*i;
@@ -1654,7 +1654,7 @@ float BLI_bvhtree_bb_raycast(float *bv, float *light_start, float *light_end, fl
dist = ray_nearest_hit(&data, bv);
- if(dist > 0.0)
+ if(dist > 0.0f)
{
VECADDFAC(pos, light_start, data.ray.direction, dist);
}
diff --git a/source/blender/blenlib/intern/BLI_kdtree.c b/source/blender/blenlib/intern/BLI_kdtree.c
index 713bfde3417..c885e8c8a9c 100644
--- a/source/blender/blenlib/intern/BLI_kdtree.c
+++ b/source/blender/blenlib/intern/BLI_kdtree.c
@@ -187,7 +187,7 @@ int BLI_kdtree_find_nearest(KDTree *tree, float *co, float *nor, KDTreeNearest *
cur_dist = node->co[node->d] - co[node->d];
- if(cur_dist<0.0){
+ if(cur_dist<0.0f){
cur_dist= -cur_dist*cur_dist;
if(-cur_dist<min_dist){
@@ -294,7 +294,7 @@ int BLI_kdtree_find_n_nearest(KDTree *tree, int n, float *co, float *nor, KDTree
cur_dist = node->co[node->d] - co[node->d];
- if(cur_dist<0.0){
+ if(cur_dist<0.0f){
cur_dist= -cur_dist*cur_dist;
if(found<n || -cur_dist<nearest[found-1].dist){
diff --git a/source/blender/blenlib/intern/callbacks.c b/source/blender/blenlib/intern/callbacks.c
new file mode 100644
index 00000000000..d28f794440f
--- /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]= {{NULL}};
+
+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/fileops.c b/source/blender/blenlib/intern/fileops.c
index 2e0f4b483b1..3299752646b 100644
--- a/source/blender/blenlib/intern/fileops.c
+++ b/source/blender/blenlib/intern/fileops.c
@@ -69,8 +69,10 @@ int BLI_gzip(const char *from, const char *to) {
int readsize = 0;
int rval= 0, err;
gzFile gzfile;
-
- gzfile = gzopen(to, "wb");
+
+ /* level 1 is very close to 3 (the default) in terms of file size,
+ * but about twice as fast, best use for speedy saving - campbell */
+ gzfile = gzopen(to, "wb1");
if(gzfile == NULL)
return -1;
diff --git a/source/blender/blenlib/intern/graph.c b/source/blender/blenlib/intern/graph.c
index 51e639d1c75..2e26f4bd9c9 100644
--- a/source/blender/blenlib/intern/graph.c
+++ b/source/blender/blenlib/intern/graph.c
@@ -714,7 +714,7 @@ static void handleRadialSymmetry(BGraph *graph, BNode *root_node, int depth, flo
int dispatch = 0;
int last = i - 1;
- if (fabs(ring[first].arc->length - ring[i].arc->length) > limit)
+ if (fabsf(ring[first].arc->length - ring[i].arc->length) > limit)
{
dispatch = 1;
}
diff --git a/source/blender/blenlib/intern/jitter.c b/source/blender/blenlib/intern/jitter.c
index 16f0c86c449..f0e81d6b5e9 100644
--- a/source/blender/blenlib/intern/jitter.c
+++ b/source/blender/blenlib/intern/jitter.c
@@ -53,10 +53,10 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
y = jit1[i+1];
for (j = 2*num-2; j>=0 ; j-=2) {
if (i != j){
- vecx = jit1[j] - x - 1.0;
- vecy = jit1[j+1] - y - 1.0;
+ vecx = jit1[j] - x - 1.0f;
+ vecy = jit1[j+1] - y - 1.0f;
for (k = 3; k>0 ; k--){
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -64,9 +64,9 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx += 1.0;
+ vecx += 1.0f;
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -74,9 +74,9 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx += 1.0;
+ vecx += 1.0f;
- if( fabs(vecx)<rad1 && fabs(vecy)<rad1) {
+ if( fabsf(vecx)<rad1 && fabsf(vecy)<rad1) {
len= sqrt(vecx*vecx + vecy*vecy);
if(len>0 && len<rad1) {
len= len/rad1;
@@ -84,16 +84,16 @@ void BLI_jitterate1(float *jit1, float *jit2, int num, float rad1)
dvecy += vecy/len;
}
}
- vecx -= 2.0;
- vecy += 1.0;
+ vecx -= 2.0f;
+ vecy += 1.0f;
}
}
}
- x -= dvecx/18.0 ;
- y -= dvecy/18.0;
- x -= floor(x) ;
- y -= floor(y);
+ x -= dvecx/18.0f;
+ y -= dvecy/18.0f;
+ x -= floorf(x) ;
+ y -= floorf(y);
jit2[i] = x;
jit2[i+1] = y;
}
@@ -111,28 +111,28 @@ void BLI_jitterate2(float *jit1, float *jit2, int num, float rad2)
y = jit1[i+1];
for (j =2*num -2; j>= 0 ; j-=2){
if (i != j){
- vecx = jit1[j] - x - 1.0;
- vecy = jit1[j+1] - y - 1.0;
+ vecx = jit1[j] - x - 1.0f;
+ vecy = jit1[j+1] - y - 1.0f;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
- vecx += 1.0;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
- vecx += 1.0;
- if( fabs(vecx)<rad2) dvecx+= vecx*rad2;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
+ vecx += 1.0f;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
+ vecx += 1.0f;
+ if( fabsf(vecx)<rad2) dvecx+= vecx*rad2;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
- vecy += 1.0;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
- vecy += 1.0;
- if( fabs(vecy)<rad2) dvecy+= vecy*rad2;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
+ vecy += 1.0f;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
+ vecy += 1.0f;
+ if( fabsf(vecy)<rad2) dvecy+= vecy*rad2;
}
}
- x -= dvecx/2 ;
- y -= dvecy/2;
- x -= floor(x) ;
- y -= floor(y);
+ x -= dvecx/2.0f;
+ y -= dvecy/2.0f;
+ x -= floorf(x) ;
+ y -= floorf(y);
jit2[i] = x;
jit2[i+1] = y;
}
@@ -148,17 +148,17 @@ void BLI_initjit(float *jitarr, int num)
if(num==0) return;
jit2= MEM_mallocN(12 + 2*sizeof(float)*num, "initjit");
- rad1= 1.0/sqrt((float)num);
- rad2= 1.0/((float)num);
- rad3= sqrt((float)num)/((float)num);
+ rad1= 1.0f/sqrtf((float)num);
+ rad2= 1.0f/((float)num);
+ rad3= sqrtf((float)num)/((float)num);
BLI_srand(31415926 + num);
x= 0;
for(i=0; i<2*num; i+=2) {
- jitarr[i]= x+ rad1*(0.5-BLI_drand());
- jitarr[i+1]= ((float)i/2)/num +rad1*(0.5-BLI_drand());
+ jitarr[i]= x+ rad1*(float)(0.5-BLI_drand());
+ jitarr[i+1]= ((float)i/2)/num +rad1*(float)(0.5-BLI_drand());
x+= rad3;
- x -= floor(x);
+ x -= floorf(x);
}
for (i=0 ; i<24 ; i++) {
@@ -171,8 +171,8 @@ void BLI_initjit(float *jitarr, int num)
/* finally, move jittertab to be centered around (0,0) */
for(i=0; i<2*num; i+=2) {
- jitarr[i] -= 0.5;
- jitarr[i+1] -= 0.5;
+ jitarr[i] -= 0.5f;
+ jitarr[i+1] -= 0.5f;
}
}
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 ef1d5da56d8..93143eb7db3 100644
--- a/source/blender/blenlib/intern/math_color.c
+++ b/source/blender/blenlib/intern/math_color.c
@@ -488,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 96ed788a49f..8f025880a86 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"
-static float lambda_cp_line(const float p[3], const float l1[3], const float l2[3]);
-
/********************************** Polygons *********************************/
void cent_tri_v3(float cent[3], const float v1[3], const float v2[3], const float v3[3])
@@ -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.0f) {
+ 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.0f) {
+ 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
@@ -668,7 +793,7 @@ int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3], cons
add_v3_v3v3(l1_plane, l1, p_no);
- dist = lambda_cp_line(plane_co, l1, l1_plane);
+ 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) {
@@ -1118,7 +1243,7 @@ float closest_to_line_v2(float cp[2],const float p[2], const float l1[2], const
}
/* little sister we only need to know lambda */
-static float lambda_cp_line(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 h[3],u[3];
sub_v3_v3v3(u, l2, l1);
@@ -1126,6 +1251,14 @@ static float lambda_cp_line(const float p[3], const float l1[3], const float l2[
return(dot_v3v3(u,h)/dot_v3v3(u,u));
}
+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)
{
@@ -1835,7 +1968,7 @@ void resolve_tri_uv(float uv[2], const float st[2], const float st0[2], const fl
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]);
+ (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)*/
@@ -1877,7 +2010,7 @@ void resolve_quad_uv(float uv[2], const float st[2], const float st0[2], const f
}
if(IS_ZERO(denom)==0)
- uv[1]= (float) (( (1-uv[0])*(st0[i]-st[i]) + uv[0]*(st1[i]-st[i]) ) / denom);
+ uv[1]= (float) (( (1.0f-uv[0])*(st0[i]-st[i]) + uv[0]*(st1[i]-st[i]) ) / denom);
}
}
diff --git a/source/blender/blenlib/intern/math_matrix.c b/source/blender/blenlib/intern/math_matrix.c
index 5edf6e28d4c..e2f594376cb 100644
--- a/source/blender/blenlib/intern/math_matrix.c
+++ b/source/blender/blenlib/intern/math_matrix.c
@@ -451,6 +451,24 @@ void add_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
m1[i][j]= m2[i][j] + m3[i][j];
}
+void sub_m3_m3m3(float m1[][3], float m2[][3], float m3[][3])
+{
+ int i, j;
+
+ for(i=0;i<3;i++)
+ for(j=0;j<3;j++)
+ m1[i][j]= m2[i][j] - m3[i][j];
+}
+
+void sub_m4_m4m4(float m1[][4], float m2[][4], float m3[][4])
+{
+ int i, j;
+
+ for(i=0;i<4;i++)
+ for(j=0;j<4;j++)
+ m1[i][j]= m2[i][j] - m3[i][j];
+}
+
int invert_m3(float m[3][3])
{
float tmp[3][3];
@@ -820,7 +838,7 @@ void normalize_m4_m4(float rmat[][4], float mat[][4])
len= normalize_v3_v3(rmat[1], mat[1]);
if(len!=0.0f) rmat[1][3]= mat[1][3] / len;
len= normalize_v3_v3(rmat[2], mat[2]);
- if(len!=0.0f) rmat[2][3]= mat[2][3] / len;;
+ if(len!=0.0f) rmat[2][3]= mat[2][3] / len;
}
void adjoint_m3_m3(float m1[][3], float m[][3])
diff --git a/source/blender/blenlib/intern/math_rotation.c b/source/blender/blenlib/intern/math_rotation.c
index dfd715ccbf2..6800b59c2c7 100644
--- a/source/blender/blenlib/intern/math_rotation.c
+++ b/source/blender/blenlib/intern/math_rotation.c
@@ -213,7 +213,7 @@ void quat_to_mat4(float m[][4], const float q[4])
double q0, q1, q2, q3, qda,qdb,qdc,qaa,qab,qac,qbb,qbc,qcc;
#ifdef DEBUG
- if(!((q0=dot_qtqt(q, q))==0.0f || (fabsf(q0-1.0f) < (float)QUAT_EPSILON))) {
+ if(!((q0=dot_qtqt(q, q))==0.0f || (fabs(q0-1.0) < QUAT_EPSILON))) {
fprintf(stderr, "Warning! quat_to_mat4() called with non-normalized: size %.8f *** report a bug ***\n", (float)q0);
}
#endif
@@ -492,8 +492,8 @@ void vec_to_quat(float q[4], const float vec[3], short axis, const short upflag)
else angle= (float)(-0.5*atan2(-fp[0], -fp[1]));
}
- co= (float)cos(angle);
- si= (float)(sin(angle)/len1);
+ co= cosf(angle);
+ si= sinf(angle)/len1;
q2[0]= co;
q2[1]= x2*si;
q2[2]= y2*si;
@@ -774,28 +774,6 @@ void mat4_to_axis_angle(float axis[3], float *angle,float mat[4][4])
/****************************** Vector/Rotation ******************************/
/* TODO: the following calls should probably be depreceated sometime */
-/* 3x3 matrix to axis angle */
-void mat3_to_vec_rot(float axis[3], float *angle,float mat[3][3])
-{
- float q[4];
-
- /* use quaternions as intermediate representation */
- // TODO: it would be nicer to go straight there...
- mat3_to_quat(q,mat);
- quat_to_axis_angle(axis, angle,q);
-}
-
-/* 4x4 matrix to axis angle */
-void mat4_to_vec_rot(float axis[3], float *angle,float mat[4][4])
-{
- float q[4];
-
- /* use quaternions as intermediate representation */
- // TODO: it would be nicer to go straight there...
- mat4_to_quat(q,mat);
- quat_to_axis_angle(axis, angle,q);
-}
-
/* axis angle to 3x3 matrix */
void vec_rot_to_mat3(float mat[][3], const float vec[3], const float phi)
{
diff --git a/source/blender/blenlib/intern/math_vector.c b/source/blender/blenlib/intern/math_vector.c
index 15d671e38d7..7dbceff46e4 100644
--- a/source/blender/blenlib/intern/math_vector.c
+++ b/source/blender/blenlib/intern/math_vector.c
@@ -96,6 +96,14 @@ void interp_v4_v4v4v4(float p[4], const float v1[4], const float v2[4], const fl
p[3] = v1[3]*w[0] + v2[3]*w[1] + v3[3]*w[2];
}
+void interp_v4_v4v4v4v4(float p[4], const float v1[4], const float v2[4], const float v3[4], const float v4[4], const float w[4])
+{
+ p[0] = v1[0]*w[0] + v2[0]*w[1] + v3[0]*w[2] + v4[0]*w[3];
+ p[1] = v1[1]*w[0] + v2[1]*w[1] + v3[1]*w[2] + v4[1]*w[3];
+ p[2] = v1[2]*w[0] + v2[2]*w[1] + v3[2]*w[2] + v4[2]*w[3];
+ p[3] = v1[3]*w[0] + v2[3]*w[1] + v3[3]*w[2] + v4[3]*w[3];
+}
+
void mid_v3_v3v3(float v[3], const float v1[3], const float v2[3])
{
v[0]= 0.5f*(v1[0] + v2[0]);
diff --git a/source/blender/blenlib/intern/math_vector_inline.c b/source/blender/blenlib/intern/math_vector_inline.c
index e2b7c770356..28708af7486 100644
--- a/source/blender/blenlib/intern/math_vector_inline.c
+++ b/source/blender/blenlib/intern/math_vector_inline.c
@@ -136,26 +136,26 @@ MINLINE void add_v3_v3(float *r, const float *a)
r[2] += a[2];
}
-MINLINE void add_v3_v3v3(float *r, const float *a, const float *b)
+MINLINE void add_v3_v3v3(float r[3], const float a[3], const float b[3])
{
r[0]= a[0] + b[0];
r[1]= a[1] + b[1];
r[2]= a[2] + b[2];
}
-MINLINE void sub_v2_v2(float *r, const float *a)
+MINLINE void sub_v2_v2(float r[2], const float a[2])
{
r[0] -= a[0];
r[1] -= a[1];
}
-MINLINE void sub_v2_v2v2(float *r, const float *a, const float *b)
+MINLINE void sub_v2_v2v2(float r[2], const float a[2], const float b[2])
{
r[0]= a[0] - b[0];
r[1]= a[1] - b[1];
}
-MINLINE void sub_v3_v3(float *r, const float *a)
+MINLINE void sub_v3_v3(float r[3], const float a[3])
{
r[0] -= a[0];
r[1] -= a[1];
@@ -177,7 +177,7 @@ MINLINE void sub_v4_v4(float r[4], const float a[4])
r[3] -= a[3];
}
-MINLINE void sub_v4_v4v4(float r[3], const float a[3], const float b[3])
+MINLINE void sub_v4_v4v4(float r[4], const float a[4], const float b[4])
{
r[0]= a[0] - b[0];
r[1]= a[1] - b[1];
@@ -186,10 +186,10 @@ MINLINE void sub_v4_v4v4(float r[3], const float a[3], const float b[3])
}
-MINLINE void mul_v2_fl(float *v1, float f)
+MINLINE void mul_v2_fl(float r[2], float f)
{
- v1[0]*= f;
- v1[1]*= f;
+ r[0]*= f;
+ r[1]*= f;
}
MINLINE void mul_v2_v2fl(float r[2], const float a[2], float f)
@@ -281,11 +281,11 @@ MINLINE void madd_v4_v4fl(float r[4], const float a[4], float f)
r[3] += a[3]*f;
}
-MINLINE void mul_v3_v3v3(float *v, const float *v1, const float *v2)
+MINLINE void mul_v3_v3v3(float r[3], const float v1[3], const float v2[3])
{
- v[0] = v1[0] * v2[0];
- v[1] = v1[1] * v2[1];
- v[2] = v1[2] * v2[2];
+ r[0] = v1[0] * v2[0];
+ r[1] = v1[1] * v2[1];
+ r[2] = v1[2] * v2[2];
}
MINLINE void negate_v3(float r[3])
@@ -340,15 +340,15 @@ MINLINE void cross_v3_v3v3(float r[3], const float a[3], const float b[3])
r[2]= a[0]*b[1] - a[1]*b[0];
}
-MINLINE void star_m3_v3(float mat[][3], float *vec)
+MINLINE void star_m3_v3(float rmat[][3], float a[3])
{
- mat[0][0]= mat[1][1]= mat[2][2]= 0.0;
- mat[0][1]= -vec[2];
- mat[0][2]= vec[1];
- mat[1][0]= vec[2];
- mat[1][2]= -vec[0];
- mat[2][0]= -vec[1];
- mat[2][1]= vec[0];
+ rmat[0][0]= rmat[1][1]= rmat[2][2]= 0.0;
+ rmat[0][1]= -a[2];
+ rmat[0][2]= a[1];
+ rmat[1][0]= a[2];
+ rmat[1][2]= -a[0];
+ rmat[2][0]= -a[1];
+ rmat[2][1]= a[0];
}
/*********************************** Length **********************************/
@@ -465,27 +465,27 @@ MINLINE int is_zero_v4(const float v[4])
return (v[0] == 0 && v[1] == 0 && v[2] == 0 && v[3] == 0);
}
-MINLINE int is_one_v3(const float *v)
+MINLINE int is_one_v3(const float v[3])
{
return (v[0] == 1 && v[1] == 1 && v[2] == 1);
}
-MINLINE int equals_v2v2(const float *v1, const float *v2)
+MINLINE int equals_v2v2(const float v1[2], const float v2[2])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]));
}
-MINLINE int equals_v3v3(const float *v1, const float *v2)
+MINLINE int equals_v3v3(const float v1[3], const float v2[3])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]));
}
-MINLINE int equals_v4v4(const float *v1, const float *v2)
+MINLINE int equals_v4v4(const float v1[4], const float v2[4])
{
return ((v1[0]==v2[0]) && (v1[1]==v2[1]) && (v1[2]==v2[2]) && (v1[3]==v2[3]));
}
-MINLINE int compare_v3v3(const float *v1, const float *v2, const float limit)
+MINLINE int compare_v3v3(const float v1[3], const float v2[3], const float limit)
{
if(fabsf(v1[0]-v2[0])<limit)
if(fabsf(v1[1]-v2[1])<limit)
@@ -495,7 +495,7 @@ MINLINE int compare_v3v3(const float *v1, const float *v2, const float limit)
return 0;
}
-MINLINE int compare_len_v3v3(const float *v1, const float *v2, const float limit)
+MINLINE int compare_len_v3v3(const float v1[3], const float v2[3], const float limit)
{
float x,y,z;
@@ -506,7 +506,7 @@ MINLINE int compare_len_v3v3(const float *v1, const float *v2, const float limit
return ((x*x + y*y + z*z) < (limit*limit));
}
-MINLINE int compare_v4v4(const float *v1, const float *v2, const float limit)
+MINLINE int compare_v4v4(const float v1[4], const float v2[4], const float limit)
{
if(fabsf(v1[0]-v2[0])<limit)
if(fabsf(v1[1]-v2[1])<limit)
@@ -517,7 +517,7 @@ MINLINE int compare_v4v4(const float *v1, const float *v2, const float limit)
return 0;
}
-MINLINE float line_point_side_v2(const float *l1, const float *l2, const float *pt)
+MINLINE float line_point_side_v2(const float l1[2], const float l2[2], const float pt[2])
{
return ((l1[0]-pt[0]) * (l2[1]-pt[1])) -
((l2[0]-pt[0]) * (l1[1]-pt[1]));
diff --git a/source/blender/blenlib/intern/noise.c b/source/blender/blenlib/intern/noise.c
index 5d80edebbef..9efe8dc9739 100644
--- a/source/blender/blenlib/intern/noise.c
+++ b/source/blender/blenlib/intern/noise.c
@@ -251,7 +251,7 @@ static float newPerlin(float x, float y, float z)
/* for use with BLI_gNoise()/BLI_gTurbulence(), returns unsigned improved perlin noise */
static float newPerlinU(float x, float y, float z)
{
- return (0.5+0.5*newPerlin(x, y, z));
+ return (0.5f+0.5f*newPerlin(x, y, z));
}
@@ -263,13 +263,21 @@ static float newPerlinU(float x, float y, float z)
static float orgBlenderNoise(float x, float y, float z)
{
register float cn1, cn2, cn3, cn4, cn5, cn6, i, *h;
- float ox, oy, oz, jx, jy, jz;
+ float fx, fy, fz, ox, oy, oz, jx, jy, jz;
float n= 0.5;
int ix, iy, iz, b00, b01, b10, b11, b20, b21;
- ox= (x- (ix= (int)floor(x)) );
- oy= (y- (iy= (int)floor(y)) );
- oz= (z- (iz= (int)floor(z)) );
+ fx= floor(x);
+ fy= floor(y);
+ fz= floor(z);
+
+ ox= x- fx;
+ oy= y- fy;
+ oz= z- fz;
+
+ ix= (int)fx;
+ iy= (int)fy;
+ iz= (int)fz;
jx= ox-1;
jy= oy-1;
@@ -278,12 +286,12 @@ static float orgBlenderNoise(float x, float y, float z)
cn1=ox*ox; cn2=oy*oy; cn3=oz*oz;
cn4=jx*jx; cn5=jy*jy; cn6=jz*jz;
- cn1= 1.0-3.0*cn1+2.0*cn1*ox;
- cn2= 1.0-3.0*cn2+2.0*cn2*oy;
- cn3= 1.0-3.0*cn3+2.0*cn3*oz;
- cn4= 1.0-3.0*cn4-2.0*cn4*jx;
- cn5= 1.0-3.0*cn5-2.0*cn5*jy;
- cn6= 1.0-3.0*cn6-2.0*cn6*jz;
+ cn1= 1.0f-3.0f*cn1+2.0f*cn1*ox;
+ cn2= 1.0f-3.0f*cn2+2.0f*cn2*oy;
+ cn3= 1.0f-3.0f*cn3+2.0f*cn3*oz;
+ cn4= 1.0f-3.0f*cn4-2.0f*cn4*jx;
+ cn5= 1.0f-3.0f*cn5-2.0f*cn5*jy;
+ cn6= 1.0f-3.0f*cn6-2.0f*cn6*jz;
b00= hash[ hash[ix & 255]+(iy & 255)];
b10= hash[ hash[(ix+1) & 255]+(iy & 255)];
@@ -325,23 +333,23 @@ static float orgBlenderNoise(float x, float y, float z)
h=hashvectf+ 3*hash[b21+b11];
n+= i*(h[0]*jx+h[1]*jy+h[2]*jz);
- if(n<0.0) n=0.0; else if(n>1.0) n=1.0;
+ if(n<0.0f) n=0.0f; else if(n>1.0f) n=1.0f;
return n;
}
/* as orgBlenderNoise(), returning signed noise */
static float orgBlenderNoiseS(float x, float y, float z)
{
- return (2.0*orgBlenderNoise(x, y, z)-1.0);
+ return (2.0f*orgBlenderNoise(x, y, z)-1.0f);
}
/* separated from orgBlenderNoise above, with scaling */
float BLI_hnoise(float noisesize, float x, float y, float z)
{
- if(noisesize==0.0) return 0.0;
- x= (1.0+x)/noisesize;
- y= (1.0+y)/noisesize;
- z= (1.0+z)/noisesize;
+ if(noisesize==0.0f) return 0.0f;
+ x= (1.0f+x)/noisesize;
+ y= (1.0f+y)/noisesize;
+ z= (1.0f+z)/noisesize;
return orgBlenderNoise(x, y, z);
}
@@ -357,7 +365,7 @@ float BLI_turbulence(float noisesize, float x, float y, float z, int nr)
s+= d*BLI_hnoise(noisesize*d, x, y, z);
div+= d;
- d*= 0.5;
+ d*= 0.5f;
nr--;
}
@@ -368,13 +376,13 @@ float BLI_turbulence1(float noisesize, float x, float y, float z, int nr)
{
float s, d= 0.5, div=1.0;
- s= fabs( (-1.0+2.0*BLI_hnoise(noisesize, x, y, z)));
+ s= fabsf( (-1.0f+2.0f*BLI_hnoise(noisesize, x, y, z)));
while(nr>0) {
- s+= fabs(d* (-1.0+2.0*BLI_hnoise(noisesize*d, x, y, z)));
+ s+= fabsf(d* (-1.0f+2.0f*BLI_hnoise(noisesize*d, x, y, z)));
div+= d;
- d*= 0.5;
+ d*= 0.5f;
nr--;
}
@@ -917,11 +925,11 @@ static float g[512+2][3]= {
#define DOT(a,b) (a[0] * b[0] + a[1] * b[1] + a[2] * b[2])
#define setup(i,b0,b1,r0,r1) \
- t = vec[i] + 10000.; \
+ t = vec[i] + 10000.0f; \
b0 = ((int)t) & 255; \
b1 = (b0+1) & 255; \
- r0 = t - (int)t; \
- r1 = r0 - 1.;
+ r0 = t - floorf(t); \
+ r1 = r0 - 1.0f;
static float noise3_perlin(float vec[3])
@@ -945,7 +953,7 @@ static float noise3_perlin(float vec[3])
#define at(rx,ry,rz) ( rx * q[0] + ry * q[1] + rz * q[2] )
-#define surve(t) ( t * t * (3. - 2. * t) )
+#define surve(t) ( t * t * (3.0f - 2.0f * t) )
/* lerp moved to improved perlin above */
@@ -982,7 +990,7 @@ static float noise3_perlin(float vec[3])
d = lerp(sy, a, b); /* interpolate in y at hi x */
- return 1.5 * lerp(sz, c, d); /* interpolate in z */
+ return 1.5f * lerp(sz, c, d); /* interpolate in z */
}
#if 0
@@ -996,7 +1004,7 @@ static float turbulence_perlin(float *point, float lofreq, float hifreq)
t = 0;
for (freq = lofreq ; freq < hifreq ; freq *= 2.) {
- t += fabs(noise3_perlin(p)) / freq;
+ t += fabsf(noise3_perlin(p)) / freq;
p[0] *= 2.;
p[1] *= 2.;
p[2] *= 2.;
@@ -1024,7 +1032,7 @@ static float orgPerlinNoiseU(float x, float y, float z)
v[0] = x;
v[1] = y;
v[2] = z;
- return (0.5+0.5*noise3_perlin(v));
+ return (0.5f+0.5f*noise3_perlin(v));
}
/* *************** CALL AS: *************** */
@@ -1061,18 +1069,18 @@ float BLI_hnoisep(float noisesize, float x, float y, float z)
/* distance squared */
static float dist_Squared(float x, float y, float z, float e) { (void)e; return (x*x + y*y + z*z); }
/* real distance */
-static float dist_Real(float x, float y, float z, float e) { (void)e; return sqrt(x*x + y*y + z*z); }
+static float dist_Real(float x, float y, float z, float e) { (void)e; return sqrtf(x*x + y*y + z*z); }
/* manhattan/taxicab/cityblock distance */
-static float dist_Manhattan(float x, float y, float z, float e) { (void)e; return (fabs(x) + fabs(y) + fabs(z)); }
+static float dist_Manhattan(float x, float y, float z, float e) { (void)e; return (fabsf(x) + fabsf(y) + fabsf(z)); }
/* Chebychev */
static float dist_Chebychev(float x, float y, float z, float e)
{
float t;
(void)e;
- x = fabs(x);
- y = fabs(y);
- z = fabs(z);
+ x = fabsf(x);
+ y = fabsf(y);
+ z = fabsf(z);
t = (x>y)?x:y;
return ((z>t)?z:t);
}
@@ -1080,7 +1088,7 @@ static float dist_Chebychev(float x, float y, float z, float e)
/* minkovsky preset exponent 0.5 */
static float dist_MinkovskyH(float x, float y, float z, float e)
{
- float d = sqrt(fabs(x)) + sqrt(fabs(y)) + sqrt(fabs(z));
+ float d = sqrtf(fabsf(x)) + sqrtf(fabsf(y)) + sqrtf(fabsf(z));
(void)e;
return (d*d);
}
@@ -1092,13 +1100,13 @@ static float dist_Minkovsky4(float x, float y, float z, float e)
x *= x;
y *= y;
z *= z;
- return sqrt(sqrt(x*x + y*y + z*z));
+ return sqrtf(sqrtf(x*x + y*y + z*z));
}
/* Minkovsky, general case, slow, maybe too slow to be useful */
static float dist_Minkovsky(float x, float y, float z, float e)
{
- return pow(pow(fabs(x), e) + pow(fabs(y), e) + pow(fabs(z), e), 1.0/e);
+ return powf(powf(fabsf(x), e) + powf(fabsf(y), e) + powf(fabsf(z), e), 1.0f/e);
}
@@ -1224,35 +1232,35 @@ static float voronoi_F1S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[0]-1.0);
+ return (2.0f*da[0]-1.0f);
}
static float voronoi_F2S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[1]-1.0);
+ return (2.0f*da[1]-1.0f);
}
static float voronoi_F3S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[2]-1.0);
+ return (2.0f*da[2]-1.0f);
}
static float voronoi_F4S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*da[3]-1.0);
+ return (2.0f*da[3]-1.0f);
}
static float voronoi_F1F2S(float x, float y, float z)
{
float da[4], pa[12];
voronoi(x, y, z, da, pa, 1, 0);
- return (2.0*(da[1]-da[0])-1.0);
+ return (2.0f*(da[1]-da[0])-1.0f);
}
/* Crackle type pattern, just a scale/clamp of F2-F1 */
@@ -1260,7 +1268,7 @@ static float voronoi_CrS(float x, float y, float z)
{
float t = 10*voronoi_F1F2(x, y, z);
if (t>1.f) return 1.f;
- return (2.0*t-1.0);
+ return (2.0f*t-1.0f);
}
@@ -1280,13 +1288,13 @@ static float cellNoiseU(float x, float y, float z)
int zi = (int)(floor(z));
unsigned int n = xi + yi*1301 + zi*314159;
n ^= (n<<13);
- return ((float)(n*(n*n*15731 + 789221) + 1376312589) / 4294967296.0);
+ return ((float)(n*(n*n*15731 + 789221) + 1376312589) / 4294967296.0f);
}
/* idem, signed */
float cellNoise(float x, float y, float z)
{
- return (2.0*cellNoiseU(x, y, z)-1.0);
+ return (2.0f*cellNoiseU(x, y, z)-1.0f);
}
/* returns a vector/point/color in ca, using point hasharray directly */
@@ -1349,14 +1357,14 @@ float BLI_gNoise(float noisesize, float x, float y, float z, int hard, int noise
}
}
- if (noisesize!=0.0) {
- noisesize = 1.0/noisesize;
+ if (noisesize!=0.0f) {
+ noisesize = 1.0f/noisesize;
x *= noisesize;
y *= noisesize;
z *= noisesize;
}
- if (hard) return fabs(2.0*noisefunc(x, y, z)-1.0);
+ if (hard) return fabsf(2.0f*noisefunc(x, y, z)-1.0f);
return noisefunc(x, y, z);
}
@@ -1403,17 +1411,17 @@ float BLI_gTurbulence(float noisesize, float x, float y, float z, int oct, int h
z += 1;
}
- if (noisesize!=0.0) {
- noisesize = 1.0/noisesize;
+ if (noisesize!=0.0f) {
+ noisesize = 1.0f/noisesize;
x *= noisesize;
y *= noisesize;
z *= noisesize;
}
sum = 0;
- for (i=0;i<=oct;i++, amp*=0.5, fscale*=2) {
+ for (i=0;i<=oct;i++, amp*=0.5f, fscale*=2.0f) {
t = noisefunc(fscale*x, fscale*y, fscale*z);
- if (hard) t = fabs(2.0*t-1.0);
+ if (hard) t = fabsf(2.0f*t-1.0f);
sum += t * amp;
}
@@ -1439,7 +1447,7 @@ float BLI_gTurbulence(float noisesize, float x, float y, float z, int oct, int h
*/
float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
{
- float rmd, value=0.0, pwr=1.0, pwHL=pow(lacunarity, -H);
+ float rmd, value=0.0, pwr=1.0, pwHL=powf(lacunarity, -H);
int i;
float (*noisefunc)(float, float, float);
@@ -1485,7 +1493,7 @@ float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
+ rmd = octaves - floorf(octaves);
if (rmd!=0.f) value += rmd * noisefunc(x, y, z) * pwr;
return value;
@@ -1508,9 +1516,9 @@ float mg_fBm(float x, float y, float z, float H, float lacunarity, float octaves
* I modified it to something that made sense to me, so it might be wrong... */
float mg_MultiFractal(float x, float y, float z, float H, float lacunarity, float octaves, int noisebasis)
{
- float rmd, value=1.0, pwr=1.0, pwHL=pow(lacunarity, -H);
+ float rmd, value=1.0, pwr=1.0, pwHL=powf(lacunarity, -H);
int i;
-
+
float (*noisefunc)(float, float, float);
switch (noisebasis) {
case 1:
@@ -1547,14 +1555,14 @@ float mg_MultiFractal(float x, float y, float z, float H, float lacunarity, floa
}
for (i=0; i<(int)octaves; i++) {
- value *= (pwr * noisefunc(x, y, z) + 1.0);
+ value *= (pwr * noisefunc(x, y, z) + 1.0f);
pwr *= pwHL;
x *= lacunarity;
y *= lacunarity;
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
- if (rmd!=0.0) value *= (rmd * noisefunc(x, y, z) * pwr + 1.0);
+ rmd = octaves - floorf(octaves);
+ if (rmd!=0.0f) value *= (rmd * noisefunc(x, y, z) * pwr + 1.0f);
return value;
@@ -1574,7 +1582,7 @@ float mg_HeteroTerrain(float x, float y, float z, float H, float lacunarity, flo
{
float value, increment, rmd;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1627,8 +1635,8 @@ float mg_HeteroTerrain(float x, float y, float z, float H, float lacunarity, flo
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
- if (rmd!=0.0) {
+ rmd = octaves - floorf(octaves);
+ if (rmd!=0.0f) {
increment = (noisefunc(x, y, z) + offset) * pwr * value;
value += rmd * increment;
}
@@ -1647,7 +1655,7 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
{
float result, signal, weight, rmd;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1691,8 +1699,8 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
y *= lacunarity;
z *= lacunarity;
- for (i=1; (weight>0.001) && (i<(int)octaves); i++) {
- if (weight>1.0) weight=1.0;
+ for (i=1; (weight>0.001f) && (i<(int)octaves); i++) {
+ if (weight>1.0f) weight=1.0f;
signal = (noisefunc(x, y, z) + offset) * pwr;
pwr *= pwHL;
result += weight * signal;
@@ -1702,7 +1710,7 @@ float mg_HybridMultiFractal(float x, float y, float z, float H, float lacunarity
z *= lacunarity;
}
- rmd = octaves - floor(octaves);
+ rmd = octaves - floorf(octaves);
if (rmd!=0.f) result += rmd * ((noisefunc(x, y, z) + offset) * pwr);
return result;
@@ -1722,7 +1730,7 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
{
float result, signal, weight;
int i;
- float pwHL = pow(lacunarity, -H);
+ float pwHL = powf(lacunarity, -H);
float pwr = pwHL; /* starts with i=1 instead of 0 */
float (*noisefunc)(float, float, float);
@@ -1760,7 +1768,7 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
}
}
- signal = offset - fabs(noisefunc(x, y, z));
+ signal = offset - fabsf(noisefunc(x, y, z));
signal *= signal;
result = signal;
@@ -1770,8 +1778,8 @@ float mg_RidgedMultiFractal(float x, float y, float z, float H, float lacunarity
y *= lacunarity;
z *= lacunarity;
weight = signal * gain;
- if (weight>1.0) weight=1.0; else if (weight<0.0) weight=0.0;
- signal = offset - fabs(noisefunc(x, y, z));
+ if (weight>1.0f) weight=1.0f; else if (weight<0.0f) weight=0.0f;
+ signal = offset - fabsf(noisefunc(x, y, z));
signal *= signal;
signal *= weight;
result += signal * pwr;
@@ -1859,9 +1867,9 @@ float mg_VLNoise(float x, float y, float z, float distortion, int nbas1, int nba
}
/* get a random vector and scale the randomization */
- rv[0] = noisefunc1(x+13.5, y+13.5, z+13.5) * distortion;
+ rv[0] = noisefunc1(x+13.5f, y+13.5f, z+13.5f) * distortion;
rv[1] = noisefunc1(x, y, z) * distortion;
- rv[2] = noisefunc1(x-13.5, y-13.5, z-13.5) * distortion;
+ rv[2] = noisefunc1(x-13.5f, y-13.5f, z-13.5f) * distortion;
return noisefunc2(x+rv[0], y+rv[1], z+rv[2]); /* distorted-domain noise */
}
diff --git a/source/blender/blenlib/intern/path_util.c b/source/blender/blenlib/intern/path_util.c
index af87707fb90..f89283178ec 100644
--- a/source/blender/blenlib/intern/path_util.c
+++ b/source/blender/blenlib/intern/path_util.c
@@ -1024,26 +1024,6 @@ static int get_path_system(char *targetpath, const char *folder_name, const char
}
}
-#if defined(WIN32) && BLENDER_VERSION < 258
-
-static int path_have_257_script_install(void)
-{
- const int ver= BLENDER_VERSION;
- char path[FILE_MAX] = "";
- char system_pyfile[FILE_MAX];
-
- if (get_path_user(path, "scripts", NULL, "BLENDER_USER_SCRIPTS", ver)) {
- BLI_join_dirfile(system_pyfile, sizeof(system_pyfile), path, "modules/bpy_types.py");
-
- if (BLI_exists(system_pyfile))
- return 1;
- }
-
- return 0;
-}
-
-#endif
-
/* get a folder out of the 'folder_id' presets for paths */
/* returns the path if found, NULL string if not */
char *BLI_get_folder(int folder_id, const char *subfolder)
@@ -1076,20 +1056,7 @@ char *BLI_get_folder(int folder_id, const char *subfolder)
return NULL;
case BLENDER_USER_SCRIPTS:
-#if defined(WIN32) && BLENDER_VERSION < 258
- /* if we have a 2.57 installation, then we may have system script
- * files in the user configuration folder. avoid using that folder
- * if they are there, until the version gets bumped to 2.58, so
- * we can be sure that folder only has addons etc. */
- if (path_have_257_script_install()) {
- if (get_path_local(path, "scripts", subfolder, ver)) break;
- }
- else
-#endif
- {
- if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
- }
-
+ if (get_path_user(path, "scripts", subfolder, "BLENDER_USER_SCRIPTS", ver)) break;
return NULL;
case BLENDER_SYSTEM_SCRIPTS:
@@ -1713,7 +1680,7 @@ void BLI_where_am_i(char *fullname, const size_t maxlen, const char *name)
if(GetModuleFileName(0, 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;
}
diff --git a/source/blender/blenlib/intern/pbvh.c b/source/blender/blenlib/intern/pbvh.c
index f7b79b35cbc..0613765b868 100644
--- a/source/blender/blenlib/intern/pbvh.c
+++ b/source/blender/blenlib/intern/pbvh.c
@@ -26,7 +26,6 @@
-
#include "DNA_meshdata_types.h"
#include "MEM_guardedalloc.h"
@@ -85,25 +84,61 @@ struct PBVHNode {
/* Opaque handle for drawing code */
void *draw_buffers;
- int *vert_indices;
-
/* Voxel bounds */
BB vb;
BB orig_vb;
- /* For internal nodes */
+ /* For internal nodes, the offset of the children in the PBVH
+ 'nodes' array. */
int children_offset;
- /* Pointer into bvh prim_indices */
- int *prim_indices;
- int *face_vert_indices;
+ /* Pointer into the PBVH prim_indices array and the number of
+ primitives used by this leaf node.
+ Used for leaf nodes in both mesh- and multires-based PBVHs.
+ */
+ int *prim_indices;
unsigned int totprim;
+
+ /* Array of indices into the mesh's MVert array. Contains the
+ indices of all vertices used by faces that are within this
+ node's bounding box.
+
+ Note that a vertex might be used by a multiple faces, and
+ these faces might be in different leaf nodes. Such a vertex
+ will appear in the vert_indices array of each of those leaf
+ nodes.
+
+ In order to support cases where you want access to multiple
+ nodes' vertices without duplication, the vert_indices array
+ is ordered such that the first part of the array, up to
+ index 'uniq_verts', contains "unique" vertex indices. These
+ vertices might not be truly unique to this node, but if
+ they appear in another node's vert_indices array, they will
+ be above that node's 'uniq_verts' value.
+
+ Used for leaf nodes in a mesh-based PBVH (not multires.)
+ */
+ int *vert_indices;
unsigned int uniq_verts, face_verts;
- char flag;
+ /* An array mapping face corners into the vert_indices
+ array. The array is sized to match 'totprim', and each of
+ the face's corners gets an index into the vert_indices
+ array, in the same order as the corners in the original
+ MFace. The fourth value should not be used if the original
+ face is a triangle.
+
+ Used for leaf nodes in a mesh-based PBVH (not multires.)
+ */
+ int (*face_vert_indices)[4];
+
+ /* Indicates whether this node is a leaf or not; also used for
+ marking various updates that need to be applied. */
+ PBVHNodeFlags flag : 8;
- float tmin; // used for raycasting, is how close bb is to the ray point
+ /* Used for raycasting: how close bb is to the ray point. */
+ float tmin;
int proxy_count;
PBVHProxyNode* proxies;
@@ -339,15 +374,15 @@ static void build_mesh_leaf_node(PBVH *bvh, PBVHNode *node)
node->uniq_verts = node->face_verts = 0;
totface= node->totprim;
- node->face_vert_indices = MEM_callocN(sizeof(int) *
- 4*totface, "bvh node face vert indices");
+ node->face_vert_indices = MEM_callocN(sizeof(int) * 4*totface,
+ "bvh node face vert indices");
for(i = 0; i < totface; ++i) {
MFace *f = bvh->faces + node->prim_indices[i];
int sides = f->v4 ? 4 : 3;
for(j = 0; j < sides; ++j) {
- node->face_vert_indices[i*4 + j]=
+ node->face_vert_indices[i][j]=
map_insert_vert(bvh, map, &node->face_verts,
&node->uniq_verts, (&f->v1)[j]);
}
@@ -373,9 +408,17 @@ static void build_mesh_leaf_node(PBVH *bvh, PBVHNode *node)
BLI_ghashIterator_free(iter);
- for(i = 0; i < totface*4; ++i)
- if(node->face_vert_indices[i] < 0)
- node->face_vert_indices[i]= -node->face_vert_indices[i] + node->uniq_verts - 1;
+ for(i = 0; i < totface; ++i) {
+ MFace *f = bvh->faces + node->prim_indices[i];
+ int sides = f->v4 ? 4 : 3;
+
+ for(j = 0; j < sides; ++j) {
+ if(node->face_vert_indices[i][j] < 0)
+ node->face_vert_indices[i][j]=
+ -node->face_vert_indices[i][j] +
+ node->uniq_verts - 1;
+ }
+ }
if(!G.background) {
node->draw_buffers =
@@ -1189,8 +1232,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;
@@ -1339,20 +1383,20 @@ int BLI_pbvh_node_raycast(PBVH *bvh, PBVHNode *node, float (*origco)[3],
if(bvh->faces) {
MVert *vert = bvh->verts;
int *faces= node->prim_indices;
- int *face_verts= node->face_vert_indices;
int totface= node->totprim;
int i;
for(i = 0; i < totface; ++i) {
MFace *f = bvh->faces + faces[i];
+ int *face_verts = node->face_vert_indices[i];
if(origco) {
/* intersect with backuped original coordinates */
hit |= ray_face_intersection(ray_start, ray_normal,
- origco[face_verts[i*4+0]],
- origco[face_verts[i*4+1]],
- origco[face_verts[i*4+2]],
- f->v4? origco[face_verts[i*4+3]]: NULL,
+ origco[face_verts[0]],
+ origco[face_verts[1]],
+ origco[face_verts[2]],
+ f->v4? origco[face_verts[3]]: NULL,
dist);
}
else {
diff --git a/source/blender/blenlib/intern/rct.c b/source/blender/blenlib/intern/rct.c
index 17b07b49309..31ae8adc2d4 100644
--- a/source/blender/blenlib/intern/rct.c
+++ b/source/blender/blenlib/intern/rct.c
@@ -233,10 +233,10 @@ int BLI_isect_rcti(rcti *src1, rcti *src2, rcti *dest)
void BLI_copy_rcti_rctf(rcti *tar, const rctf *src)
{
- tar->xmin= floor(src->xmin + 0.5);
- tar->xmax= floor((src->xmax - src->xmin) + 0.5);
- tar->ymin= floor(src->ymin + 0.5);
- tar->ymax= floor((src->ymax - src->ymin) + 0.5);
+ tar->xmin= floor(src->xmin + 0.5f);
+ tar->xmax= floor((src->xmax - src->xmin) + 0.5f);
+ tar->ymin= floor(src->ymin + 0.5f);
+ tar->ymax= floor((src->ymax - src->ymin) + 0.5f);
}
void print_rctf(const char *str, rctf *rect)
diff --git a/source/blender/blenlib/intern/scanfill.c b/source/blender/blenlib/intern/scanfill.c
index 47a07d86e66..b159106f748 100644
--- a/source/blender/blenlib/intern/scanfill.c
+++ b/source/blender/blenlib/intern/scanfill.c
@@ -288,7 +288,7 @@ static short testedgeside(float *v1, float *v2, float *v3)
inp= (v2[cox]-v1[cox])*(v1[coy]-v3[coy])
+(v1[coy]-v2[coy])*(v1[cox]-v3[cox]);
- if(inp<0.0) return 0;
+ if(inp < 0.0f) return 0;
else if(inp==0) {
if(v1[cox]==v3[cox] && v1[coy]==v3[coy]) return 0;
if(v2[cox]==v3[cox] && v2[coy]==v3[coy]) return 0;
@@ -312,8 +312,8 @@ static short addedgetoscanvert(ScFillVert *sc, EditEdge *eed)
y= eed->v1->co[coy];
fac1= eed->v2->co[coy]-y;
- if(fac1==0.0) {
- fac1= 1.0e10*(eed->v2->co[cox]-x);
+ if(fac1==0.0f) {
+ fac1= 1.0e10f*(eed->v2->co[cox]-x);
}
else fac1= (x-eed->v2->co[cox])/fac1;
@@ -324,8 +324,8 @@ static short addedgetoscanvert(ScFillVert *sc, EditEdge *eed)
if(ed->v2==eed->v2) return 0;
fac= ed->v2->co[coy]-y;
- if(fac==0.0) {
- fac= 1.0e10*(ed->v2->co[cox]-x);
+ if(fac==0.0f) {
+ fac= 1.0e10f*(ed->v2->co[cox]-x);
}
else fac= (x-ed->v2->co[cox])/fac;
@@ -443,7 +443,7 @@ static void testvertexnearedge(void)
vec2[1]= eed->v2->co[coy];
if(boundinsideEV(eed,eve)) {
dist= dist_to_line_v2(vec1,vec2,vec3);
- if(dist<COMPLIMIT) {
+ if(dist<(float)COMPLIMIT) {
/* new edge */
ed1= BLI_addfilledge(eed->v1, eve);
@@ -816,7 +816,7 @@ int BLI_edgefill(short mat_nr)
if(v2) {
if( compare_v3v3(v2, eve->co, COMPLIMIT)==0) {
len= normal_tri_v3( norm,v1, v2, eve->co);
- if(len != 0.0) break;
+ if(len != 0.0f) break;
}
}
else if(compare_v3v3(v1, eve->co, COMPLIMIT)==0) {
@@ -825,7 +825,7 @@ int BLI_edgefill(short mat_nr)
eve= eve->next;
}
- if(len==0.0) return 0; /* no fill possible */
+ if(len==0.0f) return 0; /* no fill possible */
norm[0]= fabs(norm[0]);
norm[1]= fabs(norm[1]);
diff --git a/source/blender/blenlib/intern/storage.c b/source/blender/blenlib/intern/storage.c
index e9db148e992..67e27063fd0 100644
--- a/source/blender/blenlib/intern/storage.c
+++ b/source/blender/blenlib/intern/storage.c
@@ -338,7 +338,7 @@ void BLI_adddirstrings(void)
if ( pwuser ) {
BLI_strncpy(file->owner, pwuser->pw_name, sizeof(file->owner));
} else {
- snprintf(file->owner, sizeof(file->owner), "%d", file->s.st_uid);
+ BLI_snprintf(file->owner, sizeof(file->owner), "%d", file->s.st_uid);
}
}
#endif
@@ -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 8e0314ec17f..ae5fa40f3b9 100644
--- a/source/blender/blenlib/intern/string.c
+++ b/source/blender/blenlib/intern/string.c
@@ -117,6 +117,51 @@ char *BLI_sprintfN(const char *format, ...)
return n;
}
+
+/* match pythons string escaping, assume double quotes - (")
+ * TODO: should be used to create RNA animation paths.
+ * TODO: support more fancy string escaping. current code is primitive
+ * this basically is an ascii version of PyUnicode_EncodeUnicodeEscape()
+ * which is a useful reference. */
+size_t BLI_strescape(char *dst, const char *src, const size_t maxlen)
+{
+ size_t len= 0;
+ while(len < maxlen) {
+ switch(*src) {
+ case '\0':
+ goto escape_finish;
+ case '\\':
+ case '"':
+
+ /* less common but should also be support */
+ case '\t':
+ case '\n':
+ case '\r':
+ if(len + 1 < maxlen) {
+ *dst++ = '\\';
+ len++;
+ }
+ else {
+ /* not enough space to escape */
+ break;
+ }
+ /* intentionally pass through */
+ default:
+ *dst = *src;
+ }
+ dst++;
+ src++;
+ len++;
+ }
+
+escape_finish:
+
+ *dst= '\0';
+
+ return len;
+}
+
+
/* Makes a copy of the text within the "" that appear after some text 'blahblah'
* i.e. for string 'pose["apples"]' with prefix 'pose[', it should grab "apples"
*
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 85d4b936c51..47931477728 100644
--- a/source/blender/blenloader/BLO_readfile.h
+++ b/source/blender/blenloader/BLO_readfile.h
@@ -211,7 +211,16 @@ 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, const char *filepath);
+
+/**
+ * Initialize the BlendHandle for appending or linking library data.
+ *
+ * @param mainvar The current main database eg G.main or CTX_data_main(C).
+ * @param bh A blender file handle as returned by BLO_blendhandle_from_file or BLO_blendhandle_from_memory.
+ * @param filepath Used for relative linking, copied to the lib->name
+ * @return the library Main, to be passed to BLO_library_append_named_part as mainl.
+ */
+struct Main* BLO_library_append_begin(struct Main *mainvar, BlendHandle** bh, const char *filepath);
/**
@@ -243,11 +252,6 @@ void BLO_library_append_end(const struct bContext *C, struct Main *mainl, BlendH
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);
-#endif
-
BlendFileData* blo_read_blendafterruntime(int file, char *name, int actualsize, struct ReportList *reports);
#ifdef __cplusplus
diff --git a/source/blender/blenloader/BLO_sys_types.h b/source/blender/blenloader/BLO_sys_types.h
index d56723ec1c5..4b3902dca43 100644
--- a/source/blender/blenloader/BLO_sys_types.h
+++ b/source/blender/blenloader/BLO_sys_types.h
@@ -83,7 +83,7 @@ typedef unsigned long uintptr_t;
#define _UINTPTR_T_DEFINED
#endif
-#elif defined(__linux__) || defined(__NetBSD__)
+#elif defined(__linux__) || defined(__NetBSD__) || defined(__OpenBSD__)
/* Linux-i386, Linux-Alpha, Linux-ppc */
#include <stdint.h>
@@ -93,7 +93,8 @@ typedef unsigned long uintptr_t;
#include <inttypes.h>
#elif defined(FREE_WINDOWS)
-
+/* define htoln here, there must be a syntax error in winsock2.h in MinGW */
+unsigned long __attribute__((__stdcall__)) htonl(unsigned long);
#include <stdint.h>
#else
@@ -105,8 +106,14 @@ typedef unsigned long uintptr_t;
#ifdef _WIN32
+#ifndef FREE_WINDOWS
+#ifndef htonl
#define htonl(x) correctByteOrder(x)
+#endif
+#ifndef ntohl
#define ntohl(x) correctByteOrder(x)
+#endif
+#endif
#elif defined (__FreeBSD__) || defined (__OpenBSD__)
#include <sys/param.h>
#elif defined (__APPLE__)
diff --git a/source/blender/blenloader/CMakeLists.txt b/source/blender/blenloader/CMakeLists.txt
index 312a6546e22..ab00a8e90dd 100644
--- a/source/blender/blenloader/CMakeLists.txt
+++ b/source/blender/blenloader/CMakeLists.txt
@@ -26,10 +26,11 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../makesdna
../makesrna
+ ../nodes
../render/extern/include
../../../intern/guardedalloc
)
@@ -55,7 +56,7 @@ set(SRC
)
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
blender_add_lib(bf_blenloader "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/blenloader/SConscript b/source/blender/blenloader/SConscript
index be9908d84e6..d5d2df3ea35 100644
--- a/source/blender/blenloader/SConscript
+++ b/source/blender/blenloader/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('intern/*.c')
incs = '. #/intern/guardedalloc ../blenlib ../blenkernel'
incs += ' ../makesdna ../editors/include'
-incs += ' ../render/extern/include ../makesrna'
+incs += ' ../render/extern/include ../makesrna ../nodes'
incs += ' ' + env['BF_ZLIB_INC']
diff --git a/source/blender/blenloader/intern/readblenentry.c b/source/blender/blenloader/intern/readblenentry.c
index 4ce5685ff18..31b3724e9f6 100644
--- a/source/blender/blenloader/intern/readblenentry.c
+++ b/source/blender/blenloader/intern/readblenentry.c
@@ -115,7 +115,7 @@ void BLO_blendhandle_print_sizes(BlendHandle *bh, void *fp)
buf[2]= buf[2]?buf[2]:' ';
buf[3]= buf[3]?buf[3]:' ';
- fprintf(fp, "['%.4s', '%s', %d, %ld ], \n", buf, name, bhead->nr, (long int)bhead->len+sizeof(BHead));
+ fprintf(fp, "['%.4s', '%s', %d, %ld ], \n", buf, name, bhead->nr, (long int)(bhead->len+sizeof(BHead)));
}
}
fprintf(fp, "]\n");
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c
index 53d4ceec4e1..f15d7a7b772 100644
--- a/source/blender/blenloader/intern/readfile.c
+++ b/source/blender/blenloader/intern/readfile.c
@@ -75,6 +75,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"
@@ -84,6 +85,7 @@
#include "DNA_scene_types.h"
#include "DNA_sequence_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_space_types.h"
#include "DNA_vfont_types.h"
@@ -132,6 +134,8 @@
#include "BKE_utildefines.h" // SWITCH_INT DATA ENDB DNA1 O_BINARY GLOB USER TEST REND
#include "BKE_sound.h"
+#include "NOD_socket.h"
+
//XXX #include "BIF_butspace.h" // badlevel, for do_versions, patching event codes
//XXX #include "BIF_filelist.h" // badlevel too, where to move this? - elubie
//XXX #include "BIF_previewrender.h" // bedlelvel, for struct RenderInfo
@@ -2050,10 +2054,21 @@ static void lib_link_nodetree(FileData *fd, Main *main)
}
}
+static void lib_nodetree_init_types_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
+{
+ bNode *node;
+
+ ntreeInitTypes(ntree);
+
+ /* XXX could be replaced by do_versions for new nodes */
+ for (node=ntree->nodes.first; node; node=node->next)
+ node_verify_socket_templates(ntree, node);
+}
+
/* updates group node socket own_index so that
* external links to/from the group node are preserved.
*/
-static void lib_node_do_versions_group(bNode *gnode)
+static void lib_node_do_versions_group_indices(bNode *gnode)
{
bNodeTree *ngroup= (bNodeTree*)gnode->id;
bNode *intnode;
@@ -2086,92 +2101,101 @@ static void lib_node_do_versions_group(bNode *gnode)
}
/* updates external links for all group nodes in a tree */
-static void lib_nodetree_do_versions_group(bNodeTree *ntree)
+static void lib_nodetree_do_versions_group_indices_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
{
bNode *node;
for (node=ntree->nodes.first; node; node=node->next) {
if (node->type==NODE_GROUP) {
bNodeTree *ngroup= (bNodeTree*)node->id;
- if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS))
- lib_node_do_versions_group(node);
+ if (ngroup && (ngroup->flag & NTREE_DO_VERSIONS_GROUP_EXPOSE))
+ lib_node_do_versions_group_indices(node);
}
}
}
+/* make an update call for the tree */
+static void lib_nodetree_do_versions_update_cb(void *UNUSED(data), ID *UNUSED(id), bNodeTree *ntree)
+{
+ if (ntree->update)
+ ntreeUpdateTree(ntree);
+}
+
/* verify types for nodes and groups, all data has to be read */
/* open = 0: appending/linking, open = 1: open new file (need to clean out dynamic
* typedefs*/
static void lib_verify_nodetree(Main *main, int UNUSED(open))
{
- Scene *sce;
- Material *ma;
- Tex *tx;
bNodeTree *ntree;
-
+ int i;
+ bNodeTreeType *ntreetype;
+
/* this crashes blender on undo/redo
if(open==1) {
reinit_nodesystem();
}*/
- /* now create the own typeinfo structs an verify nodes */
- /* here we still assume no groups in groups */
- for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
- ntreeVerifyTypes(ntree); /* internal nodes, no groups! */
+ /* set node->typeinfo pointers */
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_init_types_cb);
}
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
+ ntreeInitTypes(ntree);
{
- /*int has_old_groups=0;*/ /*UNUSED*/
+ int has_old_groups=0;
/* 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
* actual group node updates.
*/
for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
- if (ntree->flag & NTREE_DO_VERSIONS) {
+ if (ntree->flag & NTREE_DO_VERSIONS_GROUP_EXPOSE) {
/* this adds copies and links from all unlinked internal sockets to group inputs/outputs. */
- nodeGroupExposeAllSockets(ntree);
- /*has_old_groups = 1;*/ /*UNUSED*/
+ node_group_expose_all_sockets(ntree);
+ has_old_groups = 1;
}
}
- /* now verify all types in material trees, groups are set OK now */
- for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree)
- lib_nodetree_do_versions_group(ma->nodetree);
- }
- /* and scene trees */
- for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree)
- lib_nodetree_do_versions_group(sce->nodetree);
- }
- /* and texture trees */
- for(tx= main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree)
- lib_nodetree_do_versions_group(tx->nodetree);
+
+ if (has_old_groups) {
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_do_versions_group_indices_cb);
+ }
}
for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
- ntree->flag &= ~NTREE_DO_VERSIONS;
- }
-
- /* now verify all types in material trees, groups are set OK now */
- for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree)
- ntreeVerifyTypes(ma->nodetree);
+ ntree->flag &= ~NTREE_DO_VERSIONS_GROUP_EXPOSE;
}
- /* and scene trees */
- for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree)
- ntreeVerifyTypes(sce->nodetree);
+
+ /* verify all group user nodes */
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
+ ntreeVerifyNodes(main, &ntree->id);
}
- /* and texture trees */
- for(tx= main->tex.first; tx; tx= tx->id.next) {
- if(tx->nodetree)
- ntreeVerifyTypes(tx->nodetree);
+
+ /* make update calls where necessary */
+ {
+ for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next)
+ if (ntree->update)
+ ntreeUpdateTree(ntree);
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ ntreetype= ntreeGetType(i);
+ if (ntreetype && ntreetype->foreach_nodetree)
+ ntreetype->foreach_nodetree(main, NULL, lib_nodetree_do_versions_update_cb);
+ }
}
}
-
+static void direct_link_node_socket(FileData *fd, bNodeSocket *sock)
+{
+ sock->link= newdataadr(fd, sock->link);
+ sock->storage= newdataadr(fd, sock->storage);
+ sock->default_value= newdataadr(fd, sock->default_value);
+ sock->cache= NULL;
+}
/* ntree itself has been read! */
static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
@@ -2183,6 +2207,7 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
ntree->init= 0; /* to set callbacks and force setting types */
ntree->progress= NULL;
+ ntree->execdata= NULL;
ntree->adt= newdataadr(fd, ntree->adt);
direct_link_animdata(fd, ntree->adt);
@@ -2195,9 +2220,11 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
node->typeinfo= NULL;
}
+ link_list(fd, &node->inputs);
+ link_list(fd, &node->outputs);
+
node->storage= newdataadr(fd, node->storage);
if(node->storage) {
-
/* could be handlerized at some point */
if(ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB))
direct_link_curvemapping(fd, node->storage);
@@ -2214,8 +2241,6 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
((ImageUser *)node->storage)->ok= 1;
}
}
- link_list(fd, &node->inputs);
- link_list(fd, &node->outputs);
}
link_list(fd, &ntree->links);
@@ -2225,15 +2250,19 @@ static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
/* and we connect the rest */
for(node= ntree->nodes.first; node; node= node->next) {
+ node->parent = newdataadr(fd, node->parent);
node->preview= newimaadr(fd, node->preview);
node->lasty= 0;
+
for(sock= node->inputs.first; sock; sock= sock->next)
- sock->link= newdataadr(fd, sock->link);
+ direct_link_node_socket(fd, sock);
for(sock= node->outputs.first; sock; sock= sock->next)
- sock->ns.data= NULL;
+ direct_link_node_socket(fd, sock);
}
+ for(sock= ntree->inputs.first; sock; sock= sock->next)
+ direct_link_node_socket(fd, sock);
for(sock= ntree->outputs.first; sock; sock= sock->next)
- sock->link= newdataadr(fd, sock->link);
+ direct_link_node_socket(fd, sock);
for(link= ntree->links.first; link; link= link->next) {
link->fromnode= newdataadr(fd, link->fromnode);
@@ -3161,9 +3190,40 @@ 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 && part->dup_group) {
+ 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);
+ }
+ }
+ else {
+ part->dupliweights.first = part->dupliweights.last = NULL;
+ }
if(part->boids) {
BoidState *state = part->boids->states.first;
@@ -3538,6 +3598,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);
@@ -3547,16 +3619,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) {
@@ -3848,26 +3915,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);
@@ -4342,6 +4393,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;
@@ -4453,7 +4505,7 @@ static void lib_link_scene(FileData *fd, Main *main)
#endif
if(sce->ed)
- seq_update_muting(sce, sce->ed);
+ seq_update_muting(sce->ed);
if(sce->nodetree) {
lib_link_ntree(fd, &sce->id, sce->nodetree);
@@ -4707,6 +4759,8 @@ static void direct_link_windowmanager(FileData *fd, wmWindowManager *wm)
wm->keyconfigs.first= wm->keyconfigs.last= NULL;
wm->defaultconf= NULL;
+ wm->addonconf= NULL;
+ wm->userconf= NULL;
wm->jobs.first= wm->jobs.last= NULL;
wm->drags.first= wm->drags.last= NULL;
@@ -4849,7 +4903,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;
@@ -4936,15 +4989,22 @@ static void lib_link_screen(FileData *fd, Main *main)
SpaceNode *snode= (SpaceNode *)sl;
snode->id= newlibadr(fd, sc->id.lib, snode->id);
+ snode->edittree= NULL;
- /* internal data, a bit patchy */
- if(snode->id) {
- if(GS(snode->id->name)==ID_MA)
- snode->nodetree= ((Material *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_SCE)
- snode->nodetree= ((Scene *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_TE)
- snode->nodetree= ((Tex *)snode->id)->nodetree;
+ if (ELEM3(snode->treetype, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE)) {
+ /* internal data, a bit patchy */
+ snode->nodetree= NULL;
+ if(snode->id) {
+ if(GS(snode->id->name)==ID_MA)
+ snode->nodetree= ((Material *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_SCE)
+ snode->nodetree= ((Scene *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_TE)
+ snode->nodetree= ((Tex *)snode->id)->nodetree;
+ }
+ }
+ else {
+ snode->nodetree= newlibadr_us(fd, sc->id.lib, snode->nodetree);
}
snode->linkdrag.first = snode->linkdrag.last = NULL;
@@ -5164,15 +5224,19 @@ void lib_link_screen_restore(Main *newmain, bScreen *curscreen, Scene *curscene)
snode->id= restore_pointer_by_name(newmain, snode->id, 1);
snode->edittree= NULL;
- if(snode->id==NULL)
+ if (ELEM3(snode->treetype, NTREE_COMPOSIT, NTREE_SHADER, NTREE_TEXTURE)) {
snode->nodetree= NULL;
+ if(snode->id) {
+ if(GS(snode->id->name)==ID_MA)
+ snode->nodetree= ((Material *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_SCE)
+ snode->nodetree= ((Scene *)snode->id)->nodetree;
+ else if(GS(snode->id->name)==ID_TE)
+ snode->nodetree= ((Tex *)snode->id)->nodetree;
+ }
+ }
else {
- if(GS(snode->id->name)==ID_MA)
- snode->nodetree= ((Material *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_SCE)
- snode->nodetree= ((Scene *)snode->id)->nodetree;
- else if(GS(snode->id->name)==ID_TE)
- snode->nodetree= ((Tex *)snode->id)->nodetree;
+ snode->nodetree= restore_pointer_by_name(newmain, &snode->nodetree->id, 1);
}
}
}
@@ -5401,7 +5465,6 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
snode->gpd= newdataadr(fd, snode->gpd);
direct_link_gpencil(fd, snode->gpd);
}
- snode->nodetree= snode->edittree= NULL;
}
else if(sl->spacetype==SPACE_TIME) {
SpaceTime *stime= (SpaceTime *)sl;
@@ -5462,7 +5525,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);
}
}
@@ -5551,12 +5614,51 @@ static void fix_relpaths_library(const char *basepath, Main *main)
}
}
+/* ************ READ SPEAKER ***************** */
+
+static void lib_link_speaker(FileData *fd, Main *main)
+{
+ Speaker *spk;
+
+ spk= main->speaker.first;
+ while(spk) {
+ if(spk->id.flag & LIB_NEEDLINK) {
+ if (spk->adt) lib_link_animdata(fd, &spk->id, spk->adt);
+
+ spk->sound= newlibadr(fd, spk->id.lib, spk->sound);
+ if (spk->sound) {
+ spk->sound->id.us++;
+ }
+
+ spk->id.flag -= LIB_NEEDLINK;
+ }
+ spk= spk->id.next;
+ }
+}
+
+static void direct_link_speaker(FileData *fd, Speaker *spk)
+{
+ spk->adt= newdataadr(fd, spk->adt);
+ direct_link_animdata(fd, spk->adt);
+
+ /*spk->sound= newdataadr(fd, spk->sound);
+ direct_link_sound(fd, spk->sound);*/
+}
+
/* ************** READ SOUND ******************* */
static void direct_link_sound(FileData *fd, bSound *sound)
{
sound->handle = NULL;
sound->playback_handle = NULL;
+ sound->waveform = NULL;
+
+ // versioning stuff, if there was a cache, then we enable caching:
+ if(sound->cache)
+ {
+ sound->flags |= SOUND_FLAGS_CACHING;
+ sound->cache = NULL;
+ }
sound->packedfile = direct_link_packedfile(fd, sound->packedfile);
sound->newpackedfile = direct_link_packedfile(fd, sound->newpackedfile);
@@ -5573,9 +5675,6 @@ static void lib_link_sound(FileData *fd, Main *main)
sound->ipo= newlibadr_us(fd, sound->id.lib, sound->ipo); // XXX depreceated - old animation system
sound_load(main, sound);
-
- if(sound->cache)
- sound_cache(sound, 1);
}
sound= sound->id.next;
}
@@ -5646,6 +5745,7 @@ static const char *dataname(short id_code)
case ID_SCR: return "Data from SCR";
case ID_VF: return "Data from VF";
case ID_TXT : return "Data from TXT";
+ case ID_SPK: return "Data from SPK";
case ID_SO: return "Data from SO";
case ID_NT: return "Data from NT";
case ID_BR: return "Data from BR";
@@ -5663,11 +5763,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
@@ -5791,6 +5890,9 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
case ID_CA:
direct_link_camera(fd, (Camera *)id);
break;
+ case ID_SPK:
+ direct_link_speaker(fd, (Speaker *)id);
+ break;
case ID_SO:
direct_link_sound(fd, (bSound *)id);
break;
@@ -6871,6 +6973,62 @@ static void do_version_bone_roll_256(Bone *bone)
do_version_bone_roll_256(child);
}
+static void do_versions_socket_default_value(bNodeSocket *sock)
+{
+ bNodeSocketValueFloat *valfloat;
+ bNodeSocketValueVector *valvector;
+ bNodeSocketValueRGBA *valrgba;
+
+ if (sock->default_value)
+ return;
+
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ valfloat = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueFloat), "default socket value");
+ valfloat->value = sock->ns.vec[0];
+ valfloat->min = sock->ns.min;
+ valfloat->max = sock->ns.max;
+ valfloat->subtype = PROP_NONE;
+ break;
+ case SOCK_VECTOR:
+ valvector = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueVector), "default socket value");
+ copy_v3_v3(valvector->value, sock->ns.vec);
+ valvector->min = sock->ns.min;
+ valvector->max = sock->ns.max;
+ valvector->subtype = PROP_NONE;
+ break;
+ case SOCK_RGBA:
+ valrgba = sock->default_value = MEM_callocN(sizeof(bNodeSocketValueRGBA), "default socket value");
+ copy_v4_v4(valrgba->value, sock->ns.vec);
+ break;
+ }
+}
+
+static void do_versions_nodetree_default_value(bNodeTree *ntree)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ for (node=ntree->nodes.first; node; node=node->next) {
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ }
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ do_versions_socket_default_value(sock);
+}
+
+static void do_versions_nodetree_dynamic_sockets(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ for (sock=ntree->inputs.first; sock; sock=sock->next)
+ sock->flag |= SOCK_DYNAMIC;
+ for (sock=ntree->outputs.first; sock; sock=sock->next)
+ sock->flag |= SOCK_DYNAMIC;
+}
+
static void do_versions(FileData *fd, Library *lib, Main *main)
{
/* WATCH IT!!!: pointers from libdata have not been converted */
@@ -9932,12 +10090,6 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
if(ed) {
SEQP_BEGIN(ed, seq) {
if (seq->strip && seq->strip->proxy){
- if (sce->r.size != 100.0) {
- seq->strip->proxy->size
- = sce->r.size;
- } else {
- seq->strip->proxy->size = 25;
- }
seq->strip->proxy->quality =90;
}
}
@@ -10027,7 +10179,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
!(seq->flag & SEQ_USE_PROXY_CUSTOM_DIR))
{
- snprintf(seq->strip->proxy->dir,
+ BLI_snprintf(seq->strip->proxy->dir,
FILE_MAXDIR, "%s/BL_proxy",
seq->strip->dir);
}
@@ -10044,7 +10196,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
* to have them show in RNA viewer and accessible otherwise.
*/
for(ma= main->mat.first; ma; ma= ma->id.next) {
- if(ma->nodetree && strlen(ma->nodetree->id.name)==0)
+ if(ma->nodetree && ma->nodetree->id.name[0] == '\0')
strcpy(ma->nodetree->id.name, "NTShader Nodetree");
/* which_output 0 is now "not specified" */
@@ -10058,7 +10210,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
}
/* and composit trees */
for(sce= main->scene.first; sce; sce= sce->id.next) {
- if(sce->nodetree && strlen(sce->nodetree->id.name)==0)
+ if(sce->nodetree && sce->nodetree->id.name[0] == '\0')
strcpy(sce->nodetree->id.name, "NTCompositing Nodetree");
/* move to cameras */
@@ -10080,7 +10232,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
bNode *node;
if(tx->nodetree) {
- if(strlen(tx->nodetree->id.name)==0)
+ if(tx->nodetree->id.name[0] == '\0')
strcpy(tx->nodetree->id.name, "NTTexture Nodetree");
/* which_output 0 is now "not specified" */
@@ -10267,8 +10419,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
@@ -11547,7 +11697,7 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
* is done in lib_verify_nodetree, because at this point the internal
* nodes may not be up-to-date! (missing lib-link)
*/
- ntree->flag |= NTREE_DO_VERSIONS;
+ ntree->flag |= NTREE_DO_VERSIONS_GROUP_EXPOSE;
}
}
@@ -11632,9 +11782,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? */
@@ -11672,12 +11820,12 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
Tex *tex;
for(tex= main->tex.first; tex; tex= tex->id.next) {
if(tex->pd) {
- if (tex->pd->falloff_speed_scale == 0.0)
- tex->pd->falloff_speed_scale = 100.0;
-
+ if (tex->pd->falloff_speed_scale == 0.0f)
+ tex->pd->falloff_speed_scale = 100.0f;
+
if (!tex->pd->falloff_curve) {
tex->pd->falloff_curve = curvemapping_add(1, 0, 0, 1, 1);
-
+
tex->pd->falloff_curve->preset = CURVE_PRESET_LINE;
tex->pd->falloff_curve->cm->flag &= ~CUMA_EXTEND_EXTRAPOLATE;
curvemap_reset(tex->pd->falloff_curve->cm, &tex->pd->falloff_curve->clipr, tex->pd->falloff_curve->preset, CURVEMAP_SLOPE_POSITIVE);
@@ -11686,8 +11834,193 @@ 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;
+ }
+ }
}
-
+
+ if (main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 1)){
+ {
+ Scene *scene;
+ Sequence *seq;
+
+ for (scene=main->scene.first; scene; scene=scene->id.next)
+ {
+ scene->r.ffcodecdata.audio_channels = 2;
+ scene->audio.volume = 1.0f;
+ SEQ_BEGIN(scene->ed, seq) {
+ seq->pitch = 1.0f;
+ }
+ SEQ_END
+ }
+ }
+ {
+ bScreen *screen;
+ for(screen= 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_SEQ) {
+ ARegion *ar;
+ for (ar=sa->regionbase.first; ar; ar= ar->next) {
+ if(ar->regiontype == RGN_TYPE_WINDOW) {
+ if(ar->v2d.min[1] == 4.0f)
+ ar->v2d.min[1]= 0.5f;
+ }
+ }
+ }
+ for (sl= sa->spacedata.first; sl; sl= sl->next) {
+ if(sl->spacetype==SPACE_SEQ) {
+ ARegion *ar;
+ for (ar=sl->regionbase.first; ar; ar= ar->next) {
+ if(ar->regiontype == RGN_TYPE_WINDOW) {
+ if(ar->v2d.min[1] == 4.0f)
+ ar->v2d.min[1]= 0.5f;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ {
+ /* Make "auto-clamped" handles a per-keyframe setting instead of per-FCurve
+ *
+ * We're only patching F-Curves in Actions here, since it is assumed that most
+ * drivers out there won't be using this (and if they are, they're in the minority).
+ * While we should aim to fix everything ideally, in practice it's far too hard
+ * to get to every animdata block, not to mention the performance hit that'd have
+ */
+ bAction *act;
+ FCurve *fcu;
+
+ for (act = main->action.first; act; act = act->id.next) {
+ for (fcu = act->curves.first; fcu; fcu = fcu->next) {
+ BezTriple *bezt;
+ unsigned int i = 0;
+
+ /* only need to touch curves that had this flag set */
+ if ((fcu->flag & FCURVE_AUTO_HANDLES) == 0)
+ continue;
+ if ((fcu->totvert == 0) || (fcu->bezt == NULL))
+ continue;
+
+ /* only change auto-handles to auto-clamped */
+ for (bezt=fcu->bezt; i < fcu->totvert; i++, bezt++) {
+ if (bezt->h1 == HD_AUTO) bezt->h1 = HD_AUTO_ANIM;
+ if (bezt->h2 == HD_AUTO) bezt->h2 = HD_AUTO_ANIM;
+ }
+
+ fcu->flag &= ~FCURVE_AUTO_HANDLES;
+ }
+ }
+ }
+ {
+ /* convert fcurve and shape action actuators to action actuators */
+ Object *ob;
+ bActuator *act;
+ bIpoActuator *ia;
+ bActionActuator *aa;
+
+ for (ob= main->object.first; ob; ob= ob->id.next) {
+ for (act= ob->actuators.first; act; act= act->next) {
+ if (act->type == ACT_IPO) {
+ // Create the new actuator
+ ia= act->data;
+ aa= MEM_callocN(sizeof(bActionActuator), "fcurve -> action actuator do_version");
+
+ // Copy values
+ aa->type = ia->type;
+ aa->flag = ia->flag;
+ aa->sta = ia->sta;
+ aa->end = ia->end;
+ strcpy(aa->name, ia->name);
+ strcpy(aa->frameProp, ia->frameProp);
+ if (ob->adt)
+ aa->act = ob->adt->action;
+
+ // Get rid of the old actuator
+ MEM_freeN(ia);
+
+ // Assign the new actuator
+ act->data = aa;
+ act->type= act->otype= ACT_ACTION;
+
+ }
+ else if (act->type == ACT_SHAPEACTION) {
+ act->type = act->otype = ACT_ACTION;
+ }
+ }
+ }
+ }
+ }
+
+ if (main->versionfile < 259 || (main->versionfile == 259 && main->subversionfile < 2)){
+ {
+ /* Convert default socket values from bNodeStack */
+ Scene *sce;
+ Material *mat;
+ Tex *tex;
+ bNodeTree *ntree;
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) {
+ do_versions_nodetree_default_value(ntree);
+ ntree->update |= NTREE_UPDATE;
+ }
+ for (sce=main->scene.first; sce; sce=sce->id.next)
+ if (sce->nodetree) {
+ do_versions_nodetree_default_value(sce->nodetree);
+ sce->nodetree->update |= NTREE_UPDATE;
+ }
+ for (mat=main->mat.first; mat; mat=mat->id.next)
+ if (mat->nodetree) {
+ do_versions_nodetree_default_value(mat->nodetree);
+ mat->nodetree->update |= NTREE_UPDATE;
+ }
+ for (tex=main->tex.first; tex; tex=tex->id.next)
+ if (tex->nodetree) {
+ do_versions_nodetree_default_value(tex->nodetree);
+ tex->nodetree->update |= NTREE_UPDATE;
+ }
+ }
+
+ /* add SOCK_DYNAMIC flag to existing group sockets */
+ {
+ bNodeTree *ntree;
+ /* only need to do this for trees in main, local trees are not used as groups */
+ for (ntree=main->nodetree.first; ntree; ntree=ntree->id.next) {
+ do_versions_nodetree_dynamic_sockets(ntree);
+ ntree->update |= NTREE_UPDATE;
+ }
+ }
+ }
+
+ /* put compatibility code here until next subversion bump */
+
+ {
+
+ }
+
//set defaults for obstacle avoidance, recast data
{
Scene *sce;
@@ -11760,6 +12093,7 @@ static void lib_link_all(FileData *fd, Main *main)
lib_link_latt(fd, main);
lib_link_text(fd, main);
lib_link_camera(fd, main);
+ lib_link_speaker(fd, main);
lib_link_sound(fd, main);
lib_link_group(fd, main);
lib_link_armature(fd, main);
@@ -11774,38 +12108,63 @@ static void lib_link_all(FileData *fd, Main *main)
lib_link_library(fd, main); /* only init users */
}
+static void direct_link_keymapitem(FileData *fd, wmKeyMapItem *kmi)
+{
+ kmi->properties= newdataadr(fd, kmi->properties);
+ if(kmi->properties)
+ IDP_DirectLinkProperty(kmi->properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
+ kmi->ptr= NULL;
+ kmi->flag &= ~KMI_UPDATE;
+}
static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
{
UserDef *user;
wmKeyMap *keymap;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
bfd->user= user= read_struct(fd, bhead, "user def");
/* read all data into fd->datamap */
bhead= read_data_into_oldnewmap(fd, bhead, "user def");
+ if(user->keymaps.first) {
+ /* backwards compatibility */
+ user->user_keymaps= user->keymaps;
+ user->keymaps.first= user->keymaps.last= NULL;
+ }
+
link_list(fd, &user->themes);
- link_list(fd, &user->keymaps);
+ link_list(fd, &user->user_keymaps);
link_list(fd, &user->addons);
- for(keymap=user->keymaps.first; keymap; keymap=keymap->next) {
+ for(keymap=user->user_keymaps.first; keymap; keymap=keymap->next) {
keymap->modal_items= NULL;
keymap->poll= NULL;
+ keymap->flag &= ~KEYMAP_UPDATE;
+ link_list(fd, &keymap->diff_items);
link_list(fd, &keymap->items);
- for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- kmi->properties= newdataadr(fd, kmi->properties);
- if(kmi->properties)
- IDP_DirectLinkProperty(kmi->properties, (fd->flags & FD_FLAGS_SWITCH_ENDIAN), fd);
- kmi->ptr= NULL;
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ kmdi->remove_item= newdataadr(fd, kmdi->remove_item);
+ kmdi->add_item= newdataadr(fd, kmdi->add_item);
+
+ if(kmdi->remove_item)
+ direct_link_keymapitem(fd, kmdi->remove_item);
+ if(kmdi->add_item)
+ direct_link_keymapitem(fd, kmdi->add_item);
}
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ direct_link_keymapitem(fd, kmi);
}
// 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);
@@ -12680,6 +13039,14 @@ static void expand_camera(FileData *fd, Main *mainvar, Camera *ca)
expand_animdata(fd, mainvar, ca->adt);
}
+static void expand_speaker(FileData *fd, Main *mainvar, Speaker *spk)
+{
+ expand_doit(fd, mainvar, spk->sound);
+
+ if (spk->adt)
+ expand_animdata(fd, mainvar, spk->adt);
+}
+
static void expand_sound(FileData *fd, Main *mainvar, bSound *snd)
{
expand_doit(fd, mainvar, snd->ipo); // XXX depreceated - old animation system
@@ -12742,6 +13109,9 @@ static void expand_main(FileData *fd, Main *mainvar)
case ID_CA:
expand_camera(fd, mainvar, (Camera *)id);
break;
+ case ID_SPK:
+ expand_speaker(fd, mainvar,(Speaker *)id);
+ break;
case ID_SO:
expand_sound(fd, mainvar, (bSound *)id);
break;
@@ -12787,7 +13157,6 @@ 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, const short idcode, const short is_link)
{
Object *ob;
@@ -12822,8 +13191,14 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const
/* 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) {
- if(object_in_any_scene(mainvar, ob)==0) {
- do_it= 1;
+
+ /* 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;
+ }
}
}
}
@@ -12844,7 +13219,6 @@ static void give_base_to_objects(Main *mainvar, Scene *sce, Library *lib, const
}
}
-/* 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;
@@ -12987,9 +13361,8 @@ 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, const char *filepath)
+static Main* library_append_begin(Main *mainvar, FileData **fd, const char *filepath)
{
- Main *mainvar= CTX_data_main(C);
Main *mainl;
/* make mains */
@@ -13005,64 +13378,17 @@ static Main* library_append_begin(const bContext *C, FileData **fd, const char *
return mainl;
}
-Main* BLO_library_append_begin(const bContext *C, BlendHandle** bh, const char *filepath)
+Main* BLO_library_append_begin(Main *mainvar, BlendHandle** bh, const char *filepath)
{
FileData *fd= (FileData*)(*bh);
- return library_append_begin(C, &fd, filepath);
+ return library_append_begin(mainvar, &fd, filepath);
}
-static void append_do_cursor(Scene *scene, Library *curlib, short flag)
-{
- Base *centerbase;
- Object *ob;
- float *curs, centerloc[3], vec[3], min[3], max[3];
- int count= 0;
-
- /* when not linking (appending)... */
- if(flag & FILE_LINK)
- return;
-
- /* we're not appending at cursor */
- if((flag & FILE_ATCURSOR) == 0)
- return;
-
- /* find the center of everything appended */
- INIT_MINMAX(min, max);
- centerbase= (scene->base.first);
- while(centerbase) {
- if(centerbase->object->id.lib==curlib && centerbase->object->parent==NULL) {
- VECCOPY(vec, centerbase->object->loc);
- DO_MINMAX(vec, min, max);
- count++;
- }
- centerbase= centerbase->next;
- }
- /* we haven't found any objects to move to cursor */
- if(!count)
- return;
-
- /* move from the center of the appended objects to cursor */
- mid_v3_v3v3(centerloc, min, max);
- curs = scene->cursor;
- VECSUB(centerloc,curs,centerloc);
-
- /* now translate the center of the objects */
- centerbase= (scene->base.first);
- while(centerbase) {
- if(centerbase->object->id.lib==curlib && centerbase->object->parent==NULL) {
- ob= centerbase->object;
- ob->loc[0] += centerloc[0];
- ob->loc[1] += centerloc[1];
- ob->loc[2] += centerloc[2];
- }
- centerbase= centerbase->next;
- }
-}
+/* Context == NULL signifies not to do any scene manipulation */
static void library_append_end(const bContext *C, Main *mainl, FileData **fd, int idcode, short flag)
{
Main *mainvar;
- Scene *scene= CTX_data_scene(C);
Library *curlib;
/* make main consistent */
@@ -13091,22 +13417,26 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in
lib_verify_nodetree(mainvar, FALSE);
fix_relpaths_library(G.main->name, mainvar); /* make all relative paths, relative to the open blend file */
- /* 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 {
- give_base_to_objects(mainvar, scene, curlib, idcode, is_link);
+ if(C) {
+ Scene *scene= CTX_data_scene(C);
+
+ /* 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 {
+ give_base_to_objects(mainvar, scene, curlib, idcode, is_link);
- if (flag & FILE_GROUP_INSTANCE) {
- give_base_to_groups(mainvar, scene);
+ if (flag & FILE_GROUP_INSTANCE) {
+ give_base_to_groups(mainvar, scene);
+ }
}
}
- }
- else {
- printf("library_append_end, scene is NULL (objects wont get bases)\n");
+ 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 */
@@ -13117,8 +13447,6 @@ static void library_append_end(const bContext *C, Main *mainl, FileData **fd, in
blo_freefiledata( *fd );
*fd = NULL;
}
-
- append_do_cursor(scene, curlib, flag);
}
void BLO_library_append_end(const bContext *C, struct Main *mainl, BlendHandle** bh, int idcode, short flag)
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c
index fe4f914dfa4..9275852d424 100644
--- a/source/blender/blenloader/intern/writefile.c
+++ b/source/blender/blenloader/intern/writefile.c
@@ -123,6 +123,7 @@ Any case: direct data is ALWAYS after the lib block
#include "DNA_smoke_types.h"
#include "DNA_space_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_sound_types.h"
#include "DNA_text_types.h"
#include "DNA_view3d_types.h"
@@ -641,6 +642,14 @@ static void write_curvemapping(WriteData *wd, CurveMapping *cumap)
writestruct(wd, DATA, "CurveMapPoint", cumap->cm[a].totpoint, cumap->cm[a].curve);
}
+static void write_node_socket(WriteData *wd, bNodeSocket *sock)
+{
+ bNodeSocketType *stype= ntreeGetSocketType(sock->type);
+ writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ if (sock->default_value)
+ writestruct(wd, DATA, stype->value_structname, 1, sock->default_value);
+}
+
/* this is only direct data, tree itself should have been written */
static void write_nodetree(WriteData *wd, bNodeTree *ntree)
{
@@ -656,6 +665,12 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
writestruct(wd, DATA, "bNode", 1, node);
for(node= ntree->nodes.first; node; node= node->next) {
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ write_node_socket(wd, sock);
+ for(sock= node->outputs.first; sock; sock= sock->next)
+ write_node_socket(wd, sock);
+
+
if(node->storage && node->type!=NODE_DYNAMIC) {
/* could be handlerized at some point, now only 1 exception still */
if(ntree->type==NTREE_SHADER && (node->type==SH_NODE_CURVE_VEC || node->type==SH_NODE_CURVE_RGB))
@@ -664,13 +679,9 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
write_curvemapping(wd, node->storage);
else if(ntree->type==NTREE_TEXTURE && (node->type==TEX_NODE_CURVE_RGB || node->type==TEX_NODE_CURVE_TIME) )
write_curvemapping(wd, node->storage);
- else
+ else
writestruct(wd, DATA, node->typeinfo->storagename, 1, node->storage);
}
- for(sock= node->inputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
- for(sock= node->outputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
}
for(link= ntree->links.first; link; link= link->next)
@@ -678,9 +689,9 @@ static void write_nodetree(WriteData *wd, bNodeTree *ntree)
/* external sockets */
for(sock= ntree->inputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ write_node_socket(wd, sock);
for(sock= ntree->outputs.first; sock; sock= sock->next)
- writestruct(wd, DATA, "bNodeSocket", 1, sock);
+ write_node_socket(wd, sock);
}
static void current_screen_compat(Main *mainvar, bScreen **screen)
@@ -717,31 +728,48 @@ static void write_renderinfo(WriteData *wd, Main *mainvar) /* for renderdeamon
}
}
+static void write_keymapitem(WriteData *wd, wmKeyMapItem *kmi)
+{
+ writestruct(wd, DATA, "wmKeyMapItem", 1, kmi);
+ if(kmi->properties)
+ IDP_WriteProperty(kmi->properties, wd);
+}
+
static void write_userdef(WriteData *wd)
{
bTheme *btheme;
wmKeyMap *keymap;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
bAddon *bext;
-
+ uiStyle *style;
+
writestruct(wd, USER, "UserDef", 1, &U);
for(btheme= U.themes.first; btheme; btheme=btheme->next)
writestruct(wd, DATA, "bTheme", 1, btheme);
- for(keymap= U.keymaps.first; keymap; keymap=keymap->next) {
+ for(keymap= U.user_keymaps.first; keymap; keymap=keymap->next) {
writestruct(wd, DATA, "wmKeyMap", 1, keymap);
- for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- writestruct(wd, DATA, "wmKeyMapItem", 1, kmi);
-
- if(kmi->properties)
- IDP_WriteProperty(kmi->properties, wd);
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ writestruct(wd, DATA, "wmKeyMapDiffItem", 1, kmdi);
+ if(kmdi->remove_item)
+ write_keymapitem(wd, kmdi->remove_item);
+ if(kmdi->add_item)
+ write_keymapitem(wd, kmdi->add_item);
}
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ write_keymapitem(wd, kmi);
}
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)
@@ -832,6 +860,7 @@ static void write_particlesettings(WriteData *wd, ListBase *idbase)
{
ParticleSettings *part;
ParticleDupliWeight *dw;
+ GroupObject *go;
int a;
part= idbase->first;
@@ -846,8 +875,18 @@ 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;
+ if(part->dup_group) { /* can be NULL if lining fails or set to None */
+ 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;
@@ -904,7 +943,7 @@ static void write_particlesystems(WriteData *wd, ListBase *particles)
writestruct(wd, DATA, "ClothSimSettings", 1, psys->clmd->sim_parms);
writestruct(wd, DATA, "ClothCollSettings", 1, psys->clmd->coll_parms);
}
-
+
write_pointcaches(wd, &psys->ptcaches);
}
}
@@ -2101,7 +2140,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);
@@ -2313,6 +2356,23 @@ static void write_texts(WriteData *wd, ListBase *idbase)
mywrite(wd, MYWRITE_FLUSH, 0);
}
+static void write_speakers(WriteData *wd, ListBase *idbase)
+{
+ Speaker *spk;
+
+ spk= idbase->first;
+ while(spk) {
+ if(spk->id.us>0 || wd->current) {
+ /* write LibData */
+ writestruct(wd, ID_SPK, "Speaker", 1, spk);
+ if (spk->id.properties) IDP_WriteProperty(spk->id.properties, wd);
+
+ if (spk->adt) write_animdata(wd, spk->adt);
+ }
+ spk= spk->id.next;
+ }
+}
+
static void write_sounds(WriteData *wd, ListBase *idbase)
{
bSound *sound;
@@ -2434,7 +2494,7 @@ static void write_global(WriteData *wd, int fileflags, Main *mainvar)
fg.subversion= BLENDER_SUBVERSION;
fg.minversion= BLENDER_MINVERSION;
fg.minsubversion= BLENDER_MINSUBVERSION;
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
{
extern char build_rev[];
fg.revision= atoi(build_rev);
@@ -2491,6 +2551,7 @@ static int write_file_handle(Main *mainvar, int handle, MemFile *compare, MemFil
write_keys (wd, &mainvar->key);
write_worlds (wd, &mainvar->world);
write_texts (wd, &mainvar->text);
+ write_speakers (wd, &mainvar->speaker);
write_sounds (wd, &mainvar->sound);
write_groups (wd, &mainvar->group);
write_armatures(wd, &mainvar->armature);
diff --git a/source/blender/blenpluginapi/CMakeLists.txt b/source/blender/blenpluginapi/CMakeLists.txt
index c3aad25ccbe..9d398291b85 100644
--- a/source/blender/blenpluginapi/CMakeLists.txt
+++ b/source/blender/blenpluginapi/CMakeLists.txt
@@ -28,9 +28,9 @@ set(INC
.
..
../blenlib
+ ../blenloader
../imbuf
../makesdna
- ../blenloader
../../../intern/guardedalloc
)
@@ -50,7 +50,9 @@ set(SRC
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
diff --git a/source/blender/blenpluginapi/SConscript b/source/blender/blenpluginapi/SConscript
index 32e69069bb0..7c7c1318a6e 100644
--- a/source/blender/blenpluginapi/SConscript
+++ b/source/blender/blenpluginapi/SConscript
@@ -11,7 +11,7 @@ if env['WITH_BF_QUICKTIME']:
defs.append('WITH_QUICKTIME')
incs += ' ' + env['BF_QUICKTIME_INC']
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/blenpluginapi/iff.h b/source/blender/blenpluginapi/iff.h
index bccc7bdb769..d29853f7d15 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 buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], 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/AnimationExporter.cpp b/source/blender/collada/AnimationExporter.cpp
new file mode 100644
index 00000000000..498ccb5709d
--- /dev/null
+++ b/source/blender/collada/AnimationExporter.cpp
@@ -0,0 +1,1300 @@
+/*
+* $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): Chingiz Dyussenov, Arystanbek Dyussenov, Jan Diederich, Tod Liverseed.
+*
+* ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "GeometryExporter.h"
+#include "AnimationExporter.h"
+#include "MaterialExporter.h"
+
+template<class Functor>
+void forEachObjectInScene(Scene *sce, Functor &f)
+{
+ Base *base= (Base*) sce->base.first;
+
+ while(base) {
+ Object *ob = base->object;
+
+ f(ob);
+
+ base= base->next;
+ }
+}
+
+void AnimationExporter::exportAnimations(Scene *sce)
+{
+ if(hasAnimations(sce)) {
+ this->scene = sce;
+
+ openLibrary();
+
+ forEachObjectInScene(sce, *this);
+
+ closeLibrary();
+ }
+}
+
+// called for each exported object
+void AnimationExporter::operator() (Object *ob)
+{
+ FCurve *fcu;
+ char * transformName ;
+ bool isMatAnim = false;
+
+ //Export transform animations
+ if(ob->adt && ob->adt->action)
+ {
+ fcu = (FCurve*)ob->adt->action->curves.first;
+
+ //transform matrix export for bones are temporarily disabled here.
+ if ( ob->type == OB_ARMATURE )
+ {
+ bArmature *arm = (bArmature*)ob->data;
+ for (Bone *bone = (Bone*)arm->bonebase.first; bone; bone = bone->next)
+ write_bone_animation_matrix(ob, bone);
+ }
+
+ while (fcu) {
+ //for armature animations as objects
+ if ( ob->type == OB_ARMATURE )
+ transformName = fcu->rna_path;
+ else
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "location") || !strcmp(transformName, "scale")) ||
+ (!strcmp(transformName, "rotation_euler") && ob->rotmode == ROT_MODE_EUL)||
+ (!strcmp(transformName, "rotation_quaternion")))
+ dae_animation(ob ,fcu, transformName, false);
+ fcu = fcu->next;
+ }
+
+ }
+
+ //Export Lamp parameter animations
+ if( (ob->type == OB_LAMP ) && ((Lamp*)ob ->data)->adt && ((Lamp*)ob ->data)->adt->action )
+ {
+ fcu = (FCurve*)(((Lamp*)ob ->data)->adt->action->curves.first);
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "color")) || (!strcmp(transformName, "spot_size"))|| (!strcmp(transformName, "spot_blend"))||
+ (!strcmp(transformName, "distance")) )
+ dae_animation(ob , fcu, transformName, true );
+ fcu = fcu->next;
+ }
+ }
+
+ //Export Camera parameter animations
+ if( (ob->type == OB_CAMERA ) && ((Camera*)ob ->data)->adt && ((Camera*)ob ->data)->adt->action )
+ {
+ fcu = (FCurve*)(((Camera*)ob ->data)->adt->action->curves.first);
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "lens"))||
+ (!strcmp(transformName, "ortho_scale"))||
+ (!strcmp(transformName, "clip_end"))||(!strcmp(transformName, "clip_start")))
+ dae_animation(ob , fcu, transformName, true );
+ fcu = fcu->next;
+ }
+ }
+
+ //Export Material parameter animations.
+ for(int a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+ if (!ma) continue;
+ if(ma->adt && ma->adt->action)
+ {
+ isMatAnim = true;
+ fcu = (FCurve*)ma->adt->action->curves.first;
+ while (fcu) {
+ transformName = extract_transform_name( fcu->rna_path );
+
+ if ((!strcmp(transformName, "specular_hardness"))||(!strcmp(transformName, "specular_color"))
+ ||(!strcmp(transformName, "diffuse_color"))||(!strcmp(transformName, "alpha"))||
+ (!strcmp(transformName, "ior")))
+ dae_animation(ob ,fcu, transformName, true, ma );
+ fcu = fcu->next;
+ }
+ }
+
+ }
+}
+
+//euler sources from quternion sources
+float * AnimationExporter::get_eul_source_for_quat(Object *ob )
+{
+ FCurve *fcu = (FCurve*)ob->adt->action->curves.first;
+ const int keys = fcu->totvert;
+ float *quat = (float*)MEM_callocN(sizeof(float) * fcu->totvert * 4, "quat output source values");
+ float *eul = (float*)MEM_callocN(sizeof(float) * fcu->totvert * 3, "quat output source values");
+ float temp_quat[4];
+ float temp_eul[3];
+ while(fcu)
+ {
+ char * transformName = extract_transform_name( fcu->rna_path );
+
+ if( !strcmp(transformName, "rotation_quaternion") ) {
+ for ( int i = 0 ; i < fcu->totvert ; i++){
+ *(quat + ( i * 4 ) + fcu->array_index) = fcu->bezt[i].vec[1][1];
+ }
+ }
+ fcu = fcu->next;
+ }
+
+ for ( int i = 0 ; i < keys ; i++){
+ for ( int j = 0;j<4;j++)
+ temp_quat[j] = quat[(i*4)+j];
+
+ quat_to_eul(temp_eul,temp_quat);
+
+ for (int k = 0;k<3;k++)
+ eul[i*3 + k] = temp_eul[k];
+
+ }
+ MEM_freeN(quat);
+ return eul;
+
+}
+
+//Get proper name for bones
+std::string AnimationExporter::getObjectBoneName( Object* ob,const FCurve* fcu )
+{
+ //hard-way to derive the bone name from rna_path. Must find more compact method
+ std::string rna_path = std::string(fcu->rna_path);
+
+ char* boneName = strtok((char *)rna_path.c_str(), "\"");
+ boneName = strtok(NULL,"\"");
+
+ if( boneName != NULL )
+ return /*id_name(ob) + "_" +*/ std::string(boneName);
+ else
+ return id_name(ob);
+}
+
+//convert f-curves to animation curves and write
+void AnimationExporter::dae_animation(Object* ob, FCurve *fcu, char* transformName , bool is_param, Material * ma )
+{
+ const char *axis_name = NULL;
+ char anim_id[200];
+
+ bool has_tangents = false;
+ bool quatRotation = false;
+
+ if ( !strcmp(transformName, "rotation_quaternion") )
+ {
+ fprintf(stderr, "quaternion rotation curves are not supported. rotation curve will not be exported\n");
+ quatRotation = true;
+ return;
+ }
+
+ //axis names for colors
+ else if ( !strcmp(transformName, "color")||!strcmp(transformName, "specular_color")||!strcmp(transformName, "diffuse_color")||
+ (!strcmp(transformName, "alpha")))
+ {
+ const char *axis_names[] = {"R", "G", "B"};
+ if (fcu->array_index < 3)
+ axis_name = axis_names[fcu->array_index];
+ }
+
+ //axis names for transforms
+ else if ((!strcmp(transformName, "location") || !strcmp(transformName, "scale")) ||
+ (!strcmp(transformName, "rotation_euler"))||(!strcmp(transformName, "rotation_quaternion")))
+ {
+ const char *axis_names[] = {"X", "Y", "Z"};
+ if (fcu->array_index < 3)
+ axis_name = axis_names[fcu->array_index];
+ }
+
+ //no axis name. single parameter.
+ else{
+ axis_name = "";
+ }
+
+ std::string ob_name = std::string("null");
+
+ //Create anim Id
+ if (ob->type == OB_ARMATURE)
+ {
+ ob_name = getObjectBoneName( ob , fcu);
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s.%s", (char*)translate_id(ob_name).c_str(),
+ transformName, axis_name);
+ }
+ else
+ {
+ if (ma)
+ ob_name = id_name(ob) + "_material";
+ else
+ ob_name = id_name(ob);
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ fcu->rna_path, axis_name);
+ }
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_fcurve(COLLADASW::InputSemantic::INPUT, fcu, anim_id, axis_name);
+
+ // create output source
+ std::string output_id ;
+
+ //quat rotations are skipped for now, because of complications with determining axis.
+ if(quatRotation)
+ {
+ float * eul = get_eul_source_for_quat(ob);
+ float * eul_axis = (float*)MEM_callocN(sizeof(float) * fcu->totvert, "quat output source values");
+ for ( int i = 0 ; i< fcu->totvert ; i++)
+ eul_axis[i] = eul[i*3 + fcu->array_index];
+ output_id= create_source_from_array(COLLADASW::InputSemantic::OUTPUT, eul_axis , fcu->totvert, quatRotation, anim_id, axis_name);
+ MEM_freeN(eul);
+ MEM_freeN(eul_axis);
+ }
+ else
+ {
+ output_id= create_source_from_fcurve(COLLADASW::InputSemantic::OUTPUT, fcu, anim_id, axis_name);
+ }
+ // create interpolations source
+ std::string interpolation_id = create_interpolation_source(fcu, anim_id, axis_name, &has_tangents);
+
+ // handle tangents (if required)
+ std::string intangent_id;
+ std::string outtangent_id;
+
+ if (has_tangents) {
+ // create in_tangent source
+ intangent_id = create_source_from_fcurve(COLLADASW::InputSemantic::IN_TANGENT, fcu, anim_id, axis_name);
+
+ // create out_tangent source
+ outtangent_id = create_source_from_fcurve(COLLADASW::InputSemantic::OUT_TANGENT, fcu, anim_id, axis_name);
+ }
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ if (has_tangents) {
+ sampler.addInput(COLLADASW::InputSemantic::IN_TANGENT, COLLADABU::URI(empty, intangent_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUT_TANGENT, COLLADABU::URI(empty, outtangent_id));
+ }
+
+ addSampler(sampler);
+
+ std::string target ;
+
+ if ( !is_param )
+ target = translate_id(ob_name)
+ + "/" + get_transform_sid(fcu->rna_path, -1, axis_name, true);
+ else
+ {
+ if ( ob->type == OB_LAMP )
+ target = get_light_id(ob)
+ + "/" + get_light_param_sid(fcu->rna_path, -1, axis_name, true);
+
+ if ( ob->type == OB_CAMERA )
+ target = get_camera_id(ob)
+ + "/" + get_camera_param_sid(fcu->rna_path, -1, axis_name, true);
+
+ if( ma )
+ target = translate_id(id_name(ma)) + "-effect"
+ +"/common/" /*profile common is only supported */ + get_transform_sid(fcu->rna_path, -1, axis_name, true);
+ }
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+
+
+//write bone animations in transform matrix sources
+void AnimationExporter::write_bone_animation_matrix(Object *ob_arm, Bone *bone)
+{
+ if (!ob_arm->adt)
+ return;
+
+ //This will only export animations of bones in deform group.
+ /*if(!is_bone_deform_group(bone))
+ return;*/
+
+ sample_and_write_bone_animation_matrix(ob_arm, bone);
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
+ write_bone_animation_matrix(ob_arm, child);
+}
+
+bool AnimationExporter::is_bone_deform_group(Bone * bone)
+{
+ bool is_def;
+ //Check if current bone is deform
+ if((bone->flag & BONE_NO_DEFORM) == 0 ) return true;
+ //Check child bones
+ else
+ {
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next){
+ //loop through all the children until deform bone is found, and then return
+ is_def = is_bone_deform_group(child);
+ if (is_def) return true;
+ }
+ }
+ //no deform bone found in children also
+ return false;
+}
+
+void AnimationExporter::sample_and_write_bone_animation_matrix(Object *ob_arm, Bone *bone)
+{
+ bArmature *arm = (bArmature*)ob_arm->data;
+ int flag = arm->flag;
+ std::vector<float> fra;
+ //char prefix[256];
+
+ FCurve* fcu = (FCurve*)ob_arm->adt->action->curves.first;
+ while(fcu)
+ {
+ std::string bone_name = getObjectBoneName(ob_arm,fcu);
+ int val = BLI_strcasecmp((char*)bone_name.c_str(),bone->name);
+ if(val==0) break;
+ fcu = fcu->next;
+ }
+
+ if(!(fcu)) return;
+ bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
+ if (!pchan)
+ return;
+
+ find_frames(ob_arm, fra);
+
+ if (flag & ARM_RESTPOS) {
+ arm->flag &= ~ARM_RESTPOS;
+ where_is_pose(scene, ob_arm);
+ }
+
+ if (fra.size()) {
+ dae_baked_animation(fra ,ob_arm, bone );
+ }
+
+ if (flag & ARM_RESTPOS)
+ arm->flag = flag;
+ where_is_pose(scene, ob_arm);
+}
+
+void AnimationExporter::dae_baked_animation(std::vector<float> &fra, Object *ob_arm , Bone *bone)
+{
+ std::string ob_name = id_name(ob_arm);
+ std::string bone_name = bone->name;
+ char anim_id[200];
+
+ if (!fra.size())
+ return;
+
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ (char*)translate_id(bone_name).c_str(), "pose_matrix");
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, false, anim_id, "");
+
+ // create output source
+ std::string output_id;
+ output_id = create_4x4_source( fra, ob_arm , bone , anim_id);
+
+ // create interpolations source
+ std::string interpolation_id = fake_interpolation_source(fra.size(), anim_id, "");
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // TODO create in/out tangents source
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ addSampler(sampler);
+
+ std::string target = translate_id(bone_name) + "/transform";
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+// dae_bone_animation -> add_bone_animation
+// (blend this into dae_bone_animation)
+void AnimationExporter::dae_bone_animation(std::vector<float> &fra, float *values, int tm_type, int axis, std::string ob_name, std::string bone_name)
+{
+ const char *axis_names[] = {"X", "Y", "Z"};
+ const char *axis_name = NULL;
+ char anim_id[200];
+ bool is_rot = tm_type == 0;
+
+ if (!fra.size())
+ return;
+
+ char rna_path[200];
+ BLI_snprintf(rna_path, sizeof(rna_path), "pose.bones[\"%s\"].%s", bone_name.c_str(),
+ tm_type == 0 ? "rotation_quaternion" : (tm_type == 1 ? "scale" : "location"));
+
+ if (axis > -1)
+ axis_name = axis_names[axis];
+
+ std::string transform_sid = get_transform_sid(NULL, tm_type, axis_name, false);
+
+ BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
+ (char*)translate_id(bone_name).c_str(), (char*)transform_sid.c_str());
+
+ openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
+
+ // create input source
+ std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, is_rot, anim_id, axis_name);
+
+ // create output source
+ std::string output_id;
+ if (axis == -1)
+ output_id = create_xyz_source(values, fra.size(), anim_id);
+ else
+ output_id = create_source_from_array(COLLADASW::InputSemantic::OUTPUT, values, fra.size(), is_rot, anim_id, axis_name);
+
+ // create interpolations source
+ std::string interpolation_id = fake_interpolation_source(fra.size(), anim_id, axis_name);
+
+ std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
+ COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
+ std::string empty;
+ sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
+ sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
+
+ // TODO create in/out tangents source
+
+ // this input is required
+ sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
+
+ addSampler(sampler);
+
+ std::string target = translate_id(ob_name + "_" + bone_name) + "/" + transform_sid;
+ addChannel(COLLADABU::URI(empty, sampler_id), target);
+
+ closeAnimation();
+}
+
+float AnimationExporter::convert_time(float frame)
+{
+ return FRA2TIME(frame);
+}
+
+float AnimationExporter::convert_angle(float angle)
+{
+ return COLLADABU::Math::Utils::radToDegF(angle);
+}
+
+std::string AnimationExporter::get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic)
+{
+ switch(semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ return INPUT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::OUTPUT:
+ return OUTPUT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::INTERPOLATION:
+ return INTERPOLATION_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ return INTANGENT_SOURCE_ID_SUFFIX;
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ return OUTTANGENT_SOURCE_ID_SUFFIX;
+ default:
+ break;
+ }
+ return "";
+}
+
+void AnimationExporter::add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
+ COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis, bool transform)
+{
+ switch(semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ param.push_back("TIME");
+ break;
+ case COLLADASW::InputSemantic::OUTPUT:
+ if (is_rot) {
+ param.push_back("ANGLE");
+ }
+ else {
+ if (axis) {
+ param.push_back(axis);
+ }
+ else
+ if ( transform )
+ {
+ param.push_back("TRANSFORM");
+ }else{ //assumes if axis isn't specified all axises are added
+ param.push_back("X");
+ param.push_back("Y");
+ param.push_back("Z");
+ }
+ }
+ break;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ param.push_back("X");
+ param.push_back("Y");
+ break;
+ default:
+ break;
+ }
+}
+
+void AnimationExporter::get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length)
+{
+ switch (semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ *length = 1;
+ values[0] = convert_time(bezt->vec[1][0]);
+ break;
+ case COLLADASW::InputSemantic::OUTPUT:
+ *length = 1;
+ if (rotation) {
+ values[0] = (bezt->vec[1][1]) * 180.0f/M_PI;
+ }
+ else {
+ values[0] = bezt->vec[1][1];
+ }
+ break;
+
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ *length = 2;
+ values[0] = convert_time(bezt->vec[0][0]);
+ if (bezt->ipo != BEZT_IPO_BEZ) {
+ // We're in a mixed interpolation scenario, set zero as it's irrelevant but value might contain unused data
+ values[0] = 0;
+ values[1] = 0;
+ }
+ else if (rotation) {
+ values[1] = (bezt->vec[0][1]) * 180.0f/M_PI;
+ } else {
+ values[1] = bezt->vec[0][1];
+ }
+ break;
+
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ *length = 2;
+ values[0] = convert_time(bezt->vec[2][0]);
+ if (bezt->ipo != BEZT_IPO_BEZ) {
+ // We're in a mixed interpolation scenario, set zero as it's irrelevant but value might contain unused data
+ values[0] = 0;
+ values[1] = 0;
+ }
+ else if (rotation) {
+ values[1] = (bezt->vec[2][1]) * 180.0f/M_PI;
+ } else {
+ values[1] = bezt->vec[2][1];
+ }
+ break;
+ break;
+ default:
+ *length = 0;
+ break;
+ }
+}
+
+std::string AnimationExporter::create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ //bool is_rotation = !strcmp(fcu->rna_path, "rotation");
+ bool is_angle = false;
+
+ if (strstr(fcu->rna_path, "rotation")) is_angle = true;
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fcu->totvert);
+
+ switch (semantic) {
+ case COLLADASW::InputSemantic::INPUT:
+ case COLLADASW::InputSemantic::OUTPUT:
+ source.setAccessorStride(1);
+ break;
+ case COLLADASW::InputSemantic::IN_TANGENT:
+ case COLLADASW::InputSemantic::OUT_TANGENT:
+ source.setAccessorStride(2);
+ break;
+ default:
+ break;
+ }
+
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_angle, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float values[3]; // be careful!
+ int length = 0;
+ get_source_values(&fcu->bezt[i], semantic, is_angle, values, &length);
+ for (int j = 0; j < length; j++)
+ source.appendValues(values[j]);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+//Currently called only to get OUTPUT source values ( if rotation and hence the axis is also specified )
+std::string AnimationExporter::create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_rot, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ float val = v[i];
+ ////if (semantic == COLLADASW::InputSemantic::INPUT)
+ // val = convert_time(val);
+ //else
+ if (is_rot)
+ val *= 180.0f / M_PI;
+ source.appendValues(val);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+// only used for sources with INPUT semantic
+std::string AnimationExporter::create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fra.size());
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, is_rot, axis_name, false);
+
+ source.prepareToAppendValues();
+
+ std::vector<float>::iterator it;
+ for (it = fra.begin(); it != fra.end(); it++) {
+ float val = *it;
+ //if (semantic == COLLADASW::InputSemantic::INPUT)
+ val = convert_time(val);
+ /*else if (is_rot)
+ val = convert_angle(val);*/
+ source.appendValues(val);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::create_4x4_source(std::vector<float> &frames , Object * ob_arm, Bone *bone , const std::string& anim_id)
+{
+ COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::Float4x4Source source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(frames.size());
+ source.setAccessorStride(16);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, false, NULL, true);
+
+ source.prepareToAppendValues();
+
+ bPoseChannel *parchan = NULL;
+ bPoseChannel *pchan = NULL;
+ bPose *pose = ob_arm->pose;
+
+ pchan = get_pose_channel(pose, bone->name);
+
+ if (!pchan)
+ return "";
+
+ parchan = pchan->parent;
+
+ enable_fcurves(ob_arm->adt->action, bone->name);
+
+ std::vector<float>::iterator it;
+ int j = 0;
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float mat[4][4], ipar[4][4];
+
+ float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+
+ BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
+ where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
+
+ // compute bone local mat
+ if (bone->parent) {
+ invert_m4_m4(ipar, parchan->pose_mat);
+ mul_m4_m4m4(mat, pchan->pose_mat, ipar);
+ }
+ else
+ copy_m4_m4(mat, pchan->pose_mat);
+ UnitConverter converter;
+
+ float outmat[4][4];
+ converter.mat4_to_dae(outmat,mat);
+
+
+ source.appendValues(outmat);
+
+
+ j++;
+ }
+
+ enable_fcurves(ob_arm->adt->action, NULL);
+
+ source.finish();
+
+ return source_id;
+}
+// only used for sources with OUTPUT semantic ( locations and scale)
+std::string AnimationExporter::create_xyz_source(float *v, int tot, const std::string& anim_id)
+{
+ COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
+ std::string source_id = anim_id + get_semantic_suffix(semantic);
+
+ COLLADASW::FloatSourceF source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(3);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ add_source_parameters(param, semantic, false, NULL, false);
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ source.appendValues(*v, *(v + 1), *(v + 2));
+ v += 3;
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents)
+{
+ std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
+
+ COLLADASW::NameSource source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(fcu->totvert);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ param.push_back("INTERPOLATION");
+
+ source.prepareToAppendValues();
+
+ *has_tangents = false;
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ if (fcu->bezt[i].ipo==BEZT_IPO_BEZ) {
+ source.appendValues(BEZIER_NAME);
+ *has_tangents = true;
+ } else if (fcu->bezt[i].ipo==BEZT_IPO_CONST) {
+ source.appendValues(STEP_NAME);
+ } else { // BEZT_IPO_LIN
+ source.appendValues(LINEAR_NAME);
+ }
+ }
+ // unsupported? -- HERMITE, CARDINAL, BSPLINE, NURBS
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::fake_interpolation_source(int tot, const std::string& anim_id, const char *axis_name)
+{
+ std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
+
+ COLLADASW::NameSource source(mSW);
+ source.setId(source_id);
+ source.setArrayId(source_id + ARRAY_ID_SUFFIX);
+ source.setAccessorCount(tot);
+ source.setAccessorStride(1);
+
+ COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
+ param.push_back("INTERPOLATION");
+
+ source.prepareToAppendValues();
+
+ for (int i = 0; i < tot; i++) {
+ source.appendValues(LINEAR_NAME);
+ }
+
+ source.finish();
+
+ return source_id;
+}
+
+std::string AnimationExporter::get_light_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "color"))
+ tm_type = 1;
+ else if (!strcmp(name, "spot_size"))
+ tm_type = 2;
+ else if (!strcmp(name, "spot_blend"))
+ tm_type = 3;
+ else if (!strcmp(name, "distance"))
+ tm_type = 4;
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 1:
+ tm_name = "color";
+ break;
+ case 2:
+ tm_name = "fall_off_angle";
+ break;
+ case 3:
+ tm_name = "fall_off_exponent";
+ break;
+ case 4:
+ tm_name = "blender/blender_dist";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+std::string AnimationExporter::get_camera_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "lens"))
+ tm_type = 0;
+ else if (!strcmp(name, "ortho_scale"))
+ tm_type = 1;
+ else if (!strcmp(name, "clip_end"))
+ tm_type = 2;
+ else if (!strcmp(name, "clip_start"))
+ tm_type = 3;
+
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 0:
+ tm_name = "xfov";
+ break;
+ case 1:
+ tm_name = "xmag";
+ break;
+ case 2:
+ tm_name = "zfar";
+ break;
+ case 3:
+ tm_name = "znear";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+// Assign sid of the animated parameter or transform
+// for rotation, axis name is always appended and the value of append_axis is ignored
+std::string AnimationExporter::get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
+{
+ std::string tm_name;
+ bool is_rotation =false;
+ // when given rna_path, determine tm_type from it
+ if (rna_path) {
+ char *name = extract_transform_name(rna_path);
+
+ if (!strcmp(name, "rotation_euler"))
+ tm_type = 0;
+ else if (!strcmp(name, "rotation_quaternion"))
+ tm_type = 1;
+ else if (!strcmp(name, "scale"))
+ tm_type = 2;
+ else if (!strcmp(name, "location"))
+ tm_type = 3;
+ else if (!strcmp(name, "specular_hardness"))
+ tm_type = 4;
+ else if (!strcmp(name, "specular_color"))
+ tm_type = 5;
+ else if (!strcmp(name, "diffuse_color"))
+ tm_type = 6;
+ else if (!strcmp(name, "alpha"))
+ tm_type = 7;
+ else if (!strcmp(name, "ior"))
+ tm_type = 8;
+
+ else
+ tm_type = -1;
+ }
+
+ switch (tm_type) {
+ case 0:
+ case 1:
+ tm_name = "rotation";
+ is_rotation = true;
+ break;
+ case 2:
+ tm_name = "scale";
+ break;
+ case 3:
+ tm_name = "location";
+ break;
+ case 4:
+ tm_name = "shininess";
+ break;
+ case 5:
+ tm_name = "specular";
+ break;
+ case 6:
+ tm_name = "diffuse";
+ break;
+ case 7:
+ tm_name = "transparency";
+ break;
+ case 8:
+ tm_name = "index_of_refraction";
+ break;
+
+ default:
+ tm_name = "";
+ break;
+ }
+
+ if (tm_name.size()) {
+ if (is_rotation)
+ return tm_name + std::string(axis_name) + ".ANGLE";
+ else
+ if (axis_name[0])
+ return tm_name + "." + std::string(axis_name);
+ else
+ return tm_name;
+ }
+
+ return std::string("");
+}
+
+char* AnimationExporter::extract_transform_name(char *rna_path)
+{
+ char *dot = strrchr(rna_path, '.');
+ return dot ? (dot + 1) : rna_path;
+}
+
+//find keyframes of all the objects animations
+void AnimationExporter::find_frames(Object *ob, std::vector<float> &fra)
+{
+ FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
+
+ for (; fcu; fcu = fcu->next) {
+
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float f = fcu->bezt[i].vec[1][0];
+ if (std::find(fra.begin(), fra.end(), f) == fra.end())
+ fra.push_back(f);
+ }
+ }
+
+ // keep the keys in ascending order
+ std::sort(fra.begin(), fra.end());
+}
+
+
+
+// enable fcurves driving a specific bone, disable all the rest
+// if bone_name = NULL enable all fcurves
+void AnimationExporter::enable_fcurves(bAction *act, char *bone_name)
+{
+ FCurve *fcu;
+ char prefix[200];
+
+ if (bone_name)
+ BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone_name);
+
+ for (fcu = (FCurve*)act->curves.first; fcu; fcu = fcu->next) {
+ if (bone_name) {
+ if (!strncmp(fcu->rna_path, prefix, strlen(prefix)))
+ fcu->flag &= ~FCURVE_DISABLED;
+ else
+ fcu->flag |= FCURVE_DISABLED;
+ }
+ else {
+ fcu->flag &= ~FCURVE_DISABLED;
+ }
+ }
+}
+
+bool AnimationExporter::hasAnimations(Scene *sce)
+{
+ Base *base= (Base*) sce->base.first;
+
+ while(base) {
+ Object *ob = base->object;
+
+ FCurve *fcu = 0;
+ //Check for object transform animations
+ if(ob->adt && ob->adt->action)
+ fcu = (FCurve*)ob->adt->action->curves.first;
+ //Check for Lamp parameter animations
+ else if( (ob->type == OB_LAMP ) && ((Lamp*)ob ->data)->adt && ((Lamp*)ob ->data)->adt->action )
+ fcu = (FCurve*)(((Lamp*)ob ->data)->adt->action->curves.first);
+ //Check for Camera parameter animations
+ else if( (ob->type == OB_CAMERA ) && ((Camera*)ob ->data)->adt && ((Camera*)ob ->data)->adt->action )
+ fcu = (FCurve*)(((Camera*)ob ->data)->adt->action->curves.first);
+
+ //Check Material Effect parameter animations.
+ for(int a = 0; a < ob->totcol; a++)
+ {
+ Material *ma = give_current_material(ob, a+1);
+ if (!ma) continue;
+ if(ma->adt && ma->adt->action)
+ {
+ fcu = (FCurve*)ma->adt->action->curves.first;
+ }
+ }
+
+ if ( fcu)
+ return true;
+ base= base->next;
+ }
+ return false;
+}
+
+//------------------------------- Not used in the new system.--------------------------------------------------------
+void AnimationExporter::find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode)
+{
+ if (rotmode > 0)
+ find_frames(ob, fra, prefix, "rotation_euler");
+ else if (rotmode == ROT_MODE_QUAT)
+ find_frames(ob, fra, prefix, "rotation_quaternion");
+ /*else if (rotmode == ROT_MODE_AXISANGLE)
+ ;*/
+}
+
+void AnimationExporter::find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name)
+{
+ FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
+
+ for (; fcu; fcu = fcu->next) {
+ if (prefix && strncmp(prefix, fcu->rna_path, strlen(prefix)))
+ continue;
+
+ char *name = extract_transform_name(fcu->rna_path);
+ if (!strcmp(name, tm_name)) {
+ for (unsigned int i = 0; i < fcu->totvert; i++) {
+ float f = fcu->bezt[i].vec[1][0];
+ if (std::find(fra.begin(), fra.end(), f) == fra.end())
+ fra.push_back(f);
+ }
+ }
+ }
+
+ // keep the keys in ascending order
+ std::sort(fra.begin(), fra.end());
+}
+
+void AnimationExporter::write_bone_animation(Object *ob_arm, Bone *bone)
+{
+ if (!ob_arm->adt)
+ return;
+
+ //write bone animations for 3 transform types
+ //i=0 --> rotations
+ //i=1 --> scale
+ //i=2 --> location
+ for (int i = 0; i < 3; i++)
+ sample_and_write_bone_animation(ob_arm, bone, i);
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
+ write_bone_animation(ob_arm, child);
+}
+
+void AnimationExporter::sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type)
+{
+ bArmature *arm = (bArmature*)ob_arm->data;
+ int flag = arm->flag;
+ std::vector<float> fra;
+ char prefix[256];
+
+ BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone->name);
+
+ bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
+ if (!pchan)
+ return;
+ //Fill frame array with key frame values framed at @param:transform_type
+ switch (transform_type) {
+ case 0:
+ find_rotation_frames(ob_arm, fra, prefix, pchan->rotmode);
+ break;
+ case 1:
+ find_frames(ob_arm, fra, prefix, "scale");
+ break;
+ case 2:
+ find_frames(ob_arm, fra, prefix, "location");
+ break;
+ default:
+ return;
+ }
+
+ // exit rest position
+ if (flag & ARM_RESTPOS) {
+ arm->flag &= ~ARM_RESTPOS;
+ where_is_pose(scene, ob_arm);
+ }
+ //v array will hold all values which will be exported.
+ if (fra.size()) {
+ float *values = (float*)MEM_callocN(sizeof(float) * 3 * fra.size(), "temp. anim frames");
+ sample_animation(values, fra, transform_type, bone, ob_arm, pchan);
+
+ if (transform_type == 0) {
+ // write x, y, z curves separately if it is rotation
+ float *axisValues = (float*)MEM_callocN(sizeof(float) * fra.size(), "temp. anim frames");
+
+ for (int i = 0; i < 3; i++) {
+ for (unsigned int j = 0; j < fra.size(); j++)
+ axisValues[j] = values[j * 3 + i];
+
+ dae_bone_animation(fra, axisValues, transform_type, i, id_name(ob_arm), bone->name);
+ }
+ MEM_freeN(axisValues);
+ }
+ else {
+ // write xyz at once if it is location or scale
+ dae_bone_animation(fra, values, transform_type, -1, id_name(ob_arm), bone->name);
+ }
+
+ MEM_freeN(values);
+ }
+
+ // restore restpos
+ if (flag & ARM_RESTPOS)
+ arm->flag = flag;
+ where_is_pose(scene, ob_arm);
+}
+
+void AnimationExporter::sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm, bPoseChannel *pchan)
+{
+ bPoseChannel *parchan = NULL;
+ bPose *pose = ob_arm->pose;
+
+ pchan = get_pose_channel(pose, bone->name);
+
+ if (!pchan)
+ return;
+
+ parchan = pchan->parent;
+
+ enable_fcurves(ob_arm->adt->action, bone->name);
+
+ std::vector<float>::iterator it;
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float mat[4][4], ipar[4][4];
+
+ float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
+
+
+ BKE_animsys_evaluate_animdata(scene , &ob_arm->id, ob_arm->adt, ctime, ADT_RECALC_ANIM);
+ where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
+
+ // compute bone local mat
+ if (bone->parent) {
+ invert_m4_m4(ipar, parchan->pose_mat);
+ mul_m4_m4m4(mat, pchan->pose_mat, ipar);
+ }
+ else
+ copy_m4_m4(mat, pchan->pose_mat);
+
+ switch (type) {
+ case 0:
+ mat4_to_eul(v, mat);
+ break;
+ case 1:
+ mat4_to_size(v, mat);
+ break;
+ case 2:
+ copy_v3_v3(v, mat[3]);
+ break;
+ }
+
+ v += 3;
+ }
+
+ enable_fcurves(ob_arm->adt->action, NULL);
+}
diff --git a/source/blender/collada/AnimationExporter.h b/source/blender/collada/AnimationExporter.h
new file mode 100644
index 00000000000..d277dad8e8c
--- /dev/null
+++ b/source/blender/collada/AnimationExporter.h
@@ -0,0 +1,163 @@
+/*
+ * $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): Chingiz Dyussenov, Arystanbek Dyussenov, Jan Diederich, Tod Liverseed.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <math.h>
+extern "C"
+{
+#include "DNA_scene_types.h"
+#include "DNA_object_types.h"
+#include "DNA_anim_types.h"
+#include "DNA_action_types.h"
+#include "DNA_curve_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_material_types.h"
+
+#include "BKE_DerivedMesh.h"
+#include "BKE_fcurve.h"
+#include "BKE_animsys.h"
+#ifdef NAN_BUILDINFO
+extern char build_rev[];
+#endif
+}
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_action.h" // pose functions
+#include "BKE_armature.h"
+#include "BKE_object.h"
+
+#include "BLI_math.h"
+#include "BLI_string.h"
+#include "BLI_listbase.h"
+
+#include "RNA_access.h"
+
+#include "COLLADASWSource.h"
+#include "COLLADASWInstanceGeometry.h"
+#include "COLLADASWInputList.h"
+#include "COLLADASWPrimitves.h"
+#include "COLLADASWVertices.h"
+#include "COLLADASWLibraryAnimations.h"
+#include "COLLADASWParamTemplate.h"
+#include "COLLADASWParamBase.h"
+#include "COLLADASWSampler.h"
+#include "COLLADASWConstants.h"
+#include "COLLADASWBaseInputElement.h"
+
+#include "EffectExporter.h"
+
+#include "collada_internal.h"
+
+#include <vector>
+#include <algorithm> // std::find
+
+class AnimationExporter: COLLADASW::LibraryAnimations
+{
+private:
+ Scene *scene;
+ COLLADASW::StreamWriter *sw;
+
+public:
+
+ AnimationExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryAnimations(sw) { this->sw = sw; }
+
+
+ void exportAnimations(Scene *sce);
+
+ // called for each exported object
+ void operator() (Object *ob);
+
+protected:
+
+ void dae_animation(Object* ob, FCurve *fcu, char* transformName , bool is_param, Material *ma = NULL);
+
+ void write_bone_animation_matrix(Object *ob_arm, Bone *bone);
+
+ void write_bone_animation(Object *ob_arm, Bone *bone);
+
+ void sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type);
+
+ bool is_bone_deform_group(Bone * bone);
+
+ void sample_and_write_bone_animation_matrix(Object *ob_arm, Bone *bone);
+
+ void sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm, bPoseChannel *pChan);
+
+ void sample_animation(std::vector<float[4][4]> &mats, std::vector<float> &frames, Bone *bone, Object *ob_arm, bPoseChannel *pChan);
+
+ // dae_bone_animation -> add_bone_animation
+ // (blend this into dae_bone_animation)
+ void dae_bone_animation(std::vector<float> &fra, float *v, int tm_type, int axis, std::string ob_name, std::string bone_name);
+
+ void dae_baked_animation(std::vector<float> &fra, Object *ob_arm , Bone *bone);
+
+ float convert_time(float frame);
+
+ float convert_angle(float angle);
+
+ std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic);
+
+ void add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
+ COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis , bool transform);
+
+ void get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length);
+
+ float * get_eul_source_for_quat(Object *ob );
+
+ std::string create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name);
+
+ std::string create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name);
+
+ std::string create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name);
+
+ std::string create_xyz_source(float *v, int tot, const std::string& anim_id);
+
+ std::string create_4x4_source(std::vector<float> &frames , Object * ob_arm, Bone *bone , const std::string& anim_id);
+
+ std::string create_interpolation_source(FCurve *fcu, const std::string& anim_id, const char *axis_name, bool *has_tangents);
+
+ std::string fake_interpolation_source(int tot, const std::string& anim_id, const char *axis_name);
+ // for rotation, axis name is always appended and the value of append_axis is ignored
+ std::string get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ std::string get_light_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ std::string get_camera_param_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis);
+ void find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name);
+ void find_frames(Object *ob, std::vector<float> &fra);
+
+ void find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode);
+
+ // enable fcurves driving a specific bone, disable all the rest
+ // if bone_name = NULL enable all fcurves
+ void enable_fcurves(bAction *act, char *bone_name);
+
+ bool hasAnimations(Scene *sce);
+
+ char* extract_transform_name(char *rna_path);
+
+ std::string getObjectBoneName ( Object *ob,const FCurve * fcu);
+};
diff --git a/source/blender/collada/AnimationImporter.cpp b/source/blender/collada/AnimationImporter.cpp
index a166324bde7..43428f57d4f 100644
--- a/source/blender/collada/AnimationImporter.cpp
+++ b/source/blender/collada/AnimationImporter.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.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory, Sukhitha Jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -50,21 +50,21 @@
#include "collada_utils.h"
#include "AnimationImporter.h"
#include "ArmatureImporter.h"
+#include "MaterialExporter.h"
#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)
{
FCurve *fcu = (FCurve*)MEM_callocN(sizeof(FCurve), "FCurve");
-
fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
fcu->rna_path = BLI_strdupn(rna_path, strlen(rna_path));
fcu->array_index = array_index;
@@ -89,8 +89,7 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
{
COLLADAFW::FloatOrDoubleArray& input = curve->getInputValues();
COLLADAFW::FloatOrDoubleArray& output = curve->getOutputValues();
- // COLLADAFW::FloatOrDoubleArray& intan = curve->getInTangentValues();
- // COLLADAFW::FloatOrDoubleArray& outtan = curve->getOutTangentValues();
+
float fps = (float)FPS;
size_t dim = curve->getOutDimension();
unsigned int i;
@@ -100,36 +99,55 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
switch (dim) {
case 1: // X, Y, Z or angle
case 3: // XYZ
+ case 4:
case 16: // matrix
{
for (i = 0; i < dim; i++ ) {
FCurve *fcu = (FCurve*)MEM_callocN(sizeof(FCurve), "FCurve");
-
+
fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
// fcu->rna_path = BLI_strdupn(path, strlen(path));
fcu->array_index = 0;
- //fcu->totvert = curve->getKeyCount();
-
+ fcu->totvert = curve->getKeyCount();
+
// create beztriple for each key
for (unsigned int j = 0; j < curve->getKeyCount(); j++) {
BezTriple bez;
memset(&bez, 0, sizeof(BezTriple));
- // intangent
- // bez.vec[0][0] = get_float_value(intan, j * 6 + i + i) * fps;
- // bez.vec[0][1] = get_float_value(intan, j * 6 + i + i + 1);
// input, output
bez.vec[1][0] = bc_get_float_value(input, j) * fps;
bez.vec[1][1] = bc_get_float_value(output, j * dim + i);
- // outtangent
- // bez.vec[2][0] = get_float_value(outtan, j * 6 + i + i) * fps;
- // bez.vec[2][1] = get_float_value(outtan, j * 6 + i + i + 1);
- bez.ipo = U.ipo_new; /* use default interpolation mode here... */
+ if( curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER ||
+ curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_STEP)
+ {
+ COLLADAFW::FloatOrDoubleArray& intan = curve->getInTangentValues();
+ COLLADAFW::FloatOrDoubleArray& outtan = curve->getOutTangentValues();
+
+ // intangent
+ bez.vec[0][0] = bc_get_float_value(intan, (j * 2 * dim ) + (2 * i)) * fps;
+ bez.vec[0][1] = bc_get_float_value(intan, (j * 2 * dim )+ (2 * i) + 1);
+
+ // outtangent
+ bez.vec[2][0] = bc_get_float_value(outtan, (j * 2 * dim ) + (2 * i)) * fps;
+ bez.vec[2][1] = bc_get_float_value(outtan, (j * 2 * dim )+ (2 * i) + 1);
+ if(curve->getInterpolationType() == COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER)
+ bez.ipo = BEZT_IPO_BEZ;
+ else
+ bez.ipo = BEZT_IPO_CONST;
+ //bez.h1 = bez.h2 = HD_AUTO;
+ }
+ else
+ {
+ bez.h1 = bez.h2 = HD_AUTO;
+ bez.ipo = BEZT_IPO_LIN;
+ }
+ // bez.ipo = U.ipo_new; /* use default interpolation mode here... */
bez.f1 = bez.f2 = bez.f3 = SELECT;
- bez.h1 = bez.h2 = HD_AUTO;
+
insert_bezt_fcurve(fcu, &bez, 0);
}
@@ -147,14 +165,18 @@ void AnimationImporter::animation_to_fcurves(COLLADAFW::AnimationCurve *curve)
unused_curves.push_back(*it);
}
+
void AnimationImporter::fcurve_deg_to_rad(FCurve *cu)
{
for (unsigned int i = 0; i < cu->totvert; i++) {
// TODO convert handles too
cu->bezt[i].vec[1][1] *= M_PI / 180.0f;
+ cu->bezt[i].vec[0][1] *= M_PI / 180.0f;
+ cu->bezt[i].vec[2][1] *= M_PI / 180.0f;
}
}
+
void AnimationImporter::add_fcurves_to_object(Object *ob, std::vector<FCurve*>& curves, char *rna_path, int array_index, Animation *animated)
{
bAction *act;
@@ -253,11 +275,12 @@ bool AnimationImporter::write_animation(const COLLADAFW::Animation* anim)
switch (interp) {
case COLLADAFW::AnimationCurve::INTERPOLATION_LINEAR:
case COLLADAFW::AnimationCurve::INTERPOLATION_BEZIER:
+ case COLLADAFW::AnimationCurve::INTERPOLATION_STEP:
animation_to_fcurves(curve);
break;
default:
// TODO there're also CARDINAL, HERMITE, BSPLINE and STEP types
- fprintf(stderr, "CARDINAL, HERMITE, BSPLINE and STEP anim interpolation types not supported yet.\n");
+ fprintf(stderr, "CARDINAL, HERMITE and BSPLINE anim interpolation types not supported yet.\n");
break;
}
}
@@ -281,128 +304,17 @@ bool AnimationImporter::write_animation_list(const COLLADAFW::AnimationList* ani
animlist_map[animlist_id] = animlist;
#if 0
+
// should not happen
if (uid_animated_map.find(animlist_id) == uid_animated_map.end()) {
return true;
}
// for bones rna_path is like: pose.bones["bone-name"].rotation
-
- // what does this AnimationList animate?
- Animation& animated = uid_animated_map[animlist_id];
- Object *ob = animated.ob;
-
- char rna_path[100];
- char joint_path[100];
- bool is_joint = false;
-
- // if ob is NULL, it should be a JOINT
- if (!ob) {
- ob = armature_importer->get_armature_for_joint(animated.node);
-
- if (!ob) {
- fprintf(stderr, "Cannot find armature for node %s\n", get_joint_name(animated.node));
- return true;
- }
-
- armature_importer->get_rna_path_for_joint(animated.node, joint_path, sizeof(joint_path));
-
- is_joint = true;
- }
-
- const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
-
- switch (animated.tm->getTransformationType()) {
- case COLLADAFW::Transformation::TRANSLATE:
- case COLLADAFW::Transformation::SCALE:
- {
- bool loc = animated.tm->getTransformationType() == COLLADAFW::Transformation::TRANSLATE;
- if (is_joint)
- BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, loc ? "location" : "scale");
- else
- BLI_strncpy(rna_path, loc ? "location" : "scale", sizeof(rna_path));
-
- for (int i = 0; i < bindings.getCount(); i++) {
- const COLLADAFW::AnimationList::AnimationBinding& binding = bindings[i];
- COLLADAFW::UniqueId anim_uid = binding.animation;
-
- if (curve_map.find(anim_uid) == curve_map.end()) {
- fprintf(stderr, "Cannot find FCurve by animation UID.\n");
- continue;
- }
-
- std::vector<FCurve*>& fcurves = curve_map[anim_uid];
-
- switch (binding.animationClass) {
- case COLLADAFW::AnimationList::POSITION_X:
- add_fcurves_to_object(ob, fcurves, rna_path, 0, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_Y:
- add_fcurves_to_object(ob, fcurves, rna_path, 1, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_Z:
- add_fcurves_to_object(ob, fcurves, rna_path, 2, &animated);
- break;
- case COLLADAFW::AnimationList::POSITION_XYZ:
- add_fcurves_to_object(ob, fcurves, rna_path, -1, &animated);
- break;
- default:
- fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
- binding.animationClass, loc ? "TRANSLATE" : "SCALE");
- }
- }
- }
- break;
- case COLLADAFW::Transformation::ROTATE:
- {
- if (is_joint)
- BLI_snprintf(rna_path, sizeof(rna_path), "%s.rotation_euler", joint_path);
- else
- BLI_strncpy(rna_path, "rotation_euler", sizeof(rna_path));
-
- COLLADAFW::Rotate* rot = (COLLADAFW::Rotate*)animated.tm;
- COLLADABU::Math::Vector3& axis = rot->getRotationAxis();
-
- for (int i = 0; i < bindings.getCount(); i++) {
- const COLLADAFW::AnimationList::AnimationBinding& binding = bindings[i];
- COLLADAFW::UniqueId anim_uid = binding.animation;
- if (curve_map.find(anim_uid) == curve_map.end()) {
- fprintf(stderr, "Cannot find FCurve by animation UID.\n");
- continue;
- }
-
- std::vector<FCurve*>& fcurves = curve_map[anim_uid];
- switch (binding.animationClass) {
- case COLLADAFW::AnimationList::ANGLE:
- if (COLLADABU::Math::Vector3::UNIT_X == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 0, &animated);
- }
- else if (COLLADABU::Math::Vector3::UNIT_Y == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 1, &animated);
- }
- else if (COLLADABU::Math::Vector3::UNIT_Z == axis) {
- add_fcurves_to_object(ob, fcurves, rna_path, 2, &animated);
- }
- break;
- case COLLADAFW::AnimationList::AXISANGLE:
- // TODO convert axis-angle to quat? or XYZ?
- default:
- fprintf(stderr, "AnimationClass %d is not supported for ROTATE transformation.\n",
- binding.animationClass);
- }
- }
- }
- break;
- case COLLADAFW::Transformation::MATRIX:
- case COLLADAFW::Transformation::SKEW:
- case COLLADAFW::Transformation::LOOKAT:
- fprintf(stderr, "Animation of MATRIX, SKEW and LOOKAT transformations is not supported yet.\n");
- break;
- }
#endif
-
+
return true;
}
@@ -512,52 +424,684 @@ virtual void AnimationImporter::change_eul_to_quat(Object *ob, bAction *act)
}
#endif
-// prerequisites:
-// animlist_map - map animlist id -> animlist
-// curve_map - map anim id -> curve(s)
-Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
- std::map<COLLADAFW::UniqueId, Object*>& object_map,
- std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
- COLLADAFW::Transformation::TransformationType tm_type,
- Object *par_job)
+
+//sets the rna_path and array index to curve
+void AnimationImporter::modify_fcurve(std::vector<FCurve*>* curves , char* rna_path , int array_index )
{
- bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ std::vector<FCurve*>::iterator it;
+ int i;
+ for (it = curves->begin(), i = 0; it != curves->end(); it++, i++) {
+ FCurve *fcu = *it;
+ fcu->rna_path = BLI_strdup(rna_path);
+
+ if (array_index == -1) fcu->array_index = i;
+ else fcu->array_index = array_index;
+
+ unused_curves.erase(std::remove(unused_curves.begin(), unused_curves.end(), fcu), unused_curves.end());
+ }
+}
+
+void AnimationImporter::find_frames( std::vector<float>* frames , std::vector<FCurve*>* curves)
+{
+ std::vector<FCurve*>::iterator iter;
+ for (iter = curves->begin(); iter != curves->end(); iter++) {
+ FCurve *fcu = *iter;
+
+ for (unsigned int k = 0; k < fcu->totvert; k++) {
+ //get frame value from bezTriple
+ float fra = fcu->bezt[k].vec[1][0];
+ //if frame already not added add frame to frames
+ if (std::find(frames->begin(), frames->end(), fra) == frames->end())
+ frames->push_back(fra);
+
+ }
+ }
+}
+
+//creates the rna_paths and array indices of fcurves from animations using transformation and bound animation class of each animation.
+void AnimationImporter:: Assign_transform_animations(COLLADAFW::Transformation * transform ,
+ const COLLADAFW::AnimationList::AnimationBinding * binding,
+ std::vector<FCurve*>* curves, bool is_joint, char * joint_path)
+{
+ COLLADAFW::Transformation::TransformationType tm_type = transform->getTransformationType();
bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
- bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
- COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
- Object *ob = is_joint ? armature_importer->get_armature_for_joint(node) : object_map[node->getUniqueId()];
+ //to check if the no of curves are valid
+ bool xyz = ((tm_type == COLLADAFW::Transformation::TRANSLATE ||tm_type == COLLADAFW::Transformation::SCALE) && binding->animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
+
+
+ if (!((!xyz && curves->size() == 1) || (xyz && curves->size() == 3) || is_matrix)) {
+ fprintf(stderr, "expected %d curves, got %d\n", xyz ? 3 : 1, (int)curves->size());
+ return;
+ }
+
+ char rna_path[100];
+
+ switch (tm_type) {
+ case COLLADAFW::Transformation::TRANSLATE:
+ case COLLADAFW::Transformation::SCALE:
+ {
+ bool loc = tm_type == COLLADAFW::Transformation::TRANSLATE;
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, loc ? "location" : "scale");
+ else
+ BLI_strncpy(rna_path, loc ? "location" : "scale", sizeof(rna_path));
+
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::POSITION_X:
+ modify_fcurve(curves, rna_path, 0 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_Y:
+ modify_fcurve(curves, rna_path, 1 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_Z:
+ modify_fcurve(curves, rna_path, 2 );
+ break;
+ case COLLADAFW::AnimationList::POSITION_XYZ:
+ modify_fcurve(curves, rna_path, -1 );
+ break;
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
+ binding->animationClass, loc ? "TRANSLATE" : "SCALE");
+ }
+ break;
+ }
+
+
+ case COLLADAFW::Transformation::ROTATE:
+ {
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.rotation_euler", joint_path);
+ else
+ BLI_strncpy(rna_path, "rotation_euler", sizeof(rna_path));
+ std::vector<FCurve*>::iterator iter;
+ for (iter = curves->begin(); iter != curves->end(); iter++) {
+ FCurve* fcu = *iter;
+
+ //if transform is rotation the fcurves values must be turned in to radian.
+ if (is_rotation)
+ fcurve_deg_to_rad(fcu);
+ }
+ COLLADAFW::Rotate* rot = (COLLADAFW::Rotate*)transform;
+ COLLADABU::Math::Vector3& axis = rot->getRotationAxis();
+
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::ANGLE:
+ if (COLLADABU::Math::Vector3::UNIT_X == axis) {
+ modify_fcurve(curves, rna_path, 0 );
+ }
+ else if (COLLADABU::Math::Vector3::UNIT_Y == axis) {
+ modify_fcurve(curves, rna_path, 1 );
+ }
+ else if (COLLADABU::Math::Vector3::UNIT_Z == axis) {
+ modify_fcurve(curves, rna_path, 2 );
+ }
+ break;
+ case COLLADAFW::AnimationList::AXISANGLE:
+ // TODO convert axis-angle to quat? or XYZ?
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for ROTATE transformation.\n",
+ binding->animationClass);
+ }
+ break;
+ }
+
+ case COLLADAFW::Transformation::MATRIX:
+ /*{
+ COLLADAFW::Matrix* mat = (COLLADAFW::Matrix*)transform;
+ COLLADABU::Math::Matrix4 mat4 = mat->getMatrix();
+ switch (binding->animationClass) {
+ case COLLADAFW::AnimationList::TRANSFORM:
+
+ }
+ }*/
+ break;
+ case COLLADAFW::Transformation::SKEW:
+ case COLLADAFW::Transformation::LOOKAT:
+ fprintf(stderr, "Animation of SKEW and LOOKAT transformations is not supported yet.\n");
+ break;
+ }
+
+}
+
+//creates the rna_paths and array indices of fcurves from animations using color and bound animation class of each animation.
+void AnimationImporter:: Assign_color_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves ,const char * anim_type)
+{
+ char rna_path[100];
+ BLI_strncpy(rna_path,anim_type, sizeof(rna_path));
+
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+
+ switch (bindings[j].animationClass) {
+ case COLLADAFW::AnimationList::COLOR_R:
+ modify_fcurve(&animcurves, rna_path, 0 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_G:
+ modify_fcurve(&animcurves, rna_path, 1 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_B:
+ modify_fcurve(&animcurves, rna_path, 2 );
+ break;
+ case COLLADAFW::AnimationList::COLOR_RGB:
+ case COLLADAFW::AnimationList::COLOR_RGBA: // to do-> set intensity
+ modify_fcurve(&animcurves, rna_path, -1 );
+ break;
+
+ default:
+ fprintf(stderr, "AnimationClass %d is not supported for %s.\n",
+ bindings[j].animationClass, "COLOR" );
+ }
+
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+
+
+}
+
+void AnimationImporter:: Assign_float_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type)
+{
+ char rna_path[100];
+ if (animlist_map.find(listid) == animlist_map.end()) return ;
+ else
+ {
+ //anim_type has animations
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+
+ BLI_strncpy(rna_path, anim_type , sizeof(rna_path));
+ modify_fcurve(&animcurves, rna_path, 0 );
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+ }
+
+}
+
+void AnimationImporter::apply_matrix_curves( Object * ob, std::vector<FCurve*>& animcurves, COLLADAFW::Node* root ,COLLADAFW::Node* node,
+ COLLADAFW::Transformation * tm )
+{
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ char joint_path[200];
+ if ( is_joint )
+ armature_importer->get_rna_path_for_joint(node, joint_path, sizeof(joint_path));
- if (!ob) {
+ std::vector<float> frames;
+ find_frames(&frames, &animcurves);
+
+ float irest_dae[4][4];
+ float rest[4][4], irest[4][4];
+
+ if (is_joint) {
+ get_joint_rest_mat(irest_dae, root, node);
+ invert_m4(irest_dae);
+
+ Bone *bone = get_named_bone((bArmature*)ob->data, bone_name);
+ if (!bone) {
+ fprintf(stderr, "cannot find bone \"%s\"\n", bone_name);
+ return;
+ }
+
+ unit_m4(rest);
+ copy_m4_m4(rest, bone->arm_mat);
+ invert_m4_m4(irest, rest);
+ }
+ // new curves to assign matrix transform animation
+ FCurve *newcu[10]; // if tm_type is matrix, then create 10 curves: 4 rot, 3 loc, 3 scale
+ unsigned int totcu = 10 ;
+ const char *tm_str = NULL;
+ char rna_path[200];
+ for (int i = 0; i < totcu; i++) {
+
+ int axis = i;
+
+ if (i < 4) {
+ tm_str = "rotation_quaternion";
+ axis = i;
+ }
+ else if (i < 7) {
+ tm_str = "location";
+ axis = i - 4;
+ }
+ else {
+ tm_str = "scale";
+ axis = i - 7;
+ }
+
+
+ if (is_joint)
+ BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, tm_str);
+ else
+ strcpy(rna_path, tm_str);
+ newcu[i] = create_fcurve(axis, rna_path);
+ newcu[i]->totvert = frames.size();
+ }
+
+ if (frames.size() == 0)
+ return;
+
+ std::sort(frames.begin(), frames.end());
+
+ std::vector<float>::iterator it;
+
+ // sample values at each frame
+ for (it = frames.begin(); it != frames.end(); it++) {
+ float fra = *it;
+
+ float mat[4][4];
+ float matfra[4][4];
+
+ unit_m4(matfra);
+
+ // calc object-space mat
+ evaluate_transform_at_frame(matfra, node, fra);
+
+
+ // for joints, we need a special matrix
+ if (is_joint) {
+ // special matrix: iR * M * iR_dae * R
+ // where R, iR are bone rest and inverse rest mats in world space (Blender bones),
+ // iR_dae is joint inverse rest matrix (DAE) and M is an evaluated joint world-space matrix (DAE)
+ float temp[4][4], par[4][4];
+
+ // calc M
+ calc_joint_parent_mat_rest(par, NULL, root, node);
+ mul_m4_m4m4(temp, matfra, par);
+
+ // evaluate_joint_world_transform_at_frame(temp, NULL, , node, fra);
+
+ // calc special matrix
+ mul_serie_m4(mat, irest, temp, irest_dae, rest, NULL, NULL, NULL, NULL);
+ }
+ else {
+ copy_m4_m4(mat, matfra);
+ }
+
+ float rot[4], loc[3], scale[3];
+
+ mat4_to_quat(rot, mat);
+ /*for ( int i = 0 ; i < 4 ; i ++ )
+ {
+ rot[i] = rot[i] * (180 / M_PI);
+ }*/
+ copy_v3_v3(loc, mat[3]);
+ mat4_to_size(scale, mat);
+
+ // add keys
+ for (int i = 0; i < totcu; i++) {
+ if (i < 4)
+ add_bezt(newcu[i], fra, rot[i]);
+ else if (i < 7)
+ add_bezt(newcu[i], fra, loc[i - 4]);
+ else
+ add_bezt(newcu[i], fra, scale[i - 7]);
+ }
+ }
+ verify_adt_action((ID*)&ob->id, 1);
+
+ ListBase *curves = &ob->adt->action->curves;
+
+ // add curves
+ for (int i= 0; i < totcu; i++) {
+ if (is_joint)
+ add_bone_fcurve(ob, node, newcu[i]);
+ else
+ BLI_addtail(curves, newcu[i]);
+ }
+
+ if (is_joint) {
+ bPoseChannel *chan = get_pose_channel(ob->pose, bone_name);
+ chan->rotmode = ROT_MODE_QUAT;
+ }
+ else {
+ ob->rotmode = ROT_MODE_QUAT;
+ }
+
+ return;
+
+}
+
+void AnimationImporter::translate_Animations ( COLLADAFW::Node * node ,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
+{
+ AnimationImporter::AnimMix* animType = get_animation_type(node, FW_object_map );
+
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+ COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
+ Object *ob = is_joint ? armature_importer->get_armature_for_joint(root) : object_map[node->getUniqueId()];
+ if (!ob)
+ {
fprintf(stderr, "cannot find Object for Node with id=\"%s\"\n", node->getOriginalId().c_str());
- return NULL;
+ return;
}
- // frames at which to sample
- std::vector<float> frames;
+ bAction * act;
+
+ if ( (animType->transform) != 0 )
+ {
+ const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ char joint_path[200];
+
+ if ( is_joint )
+ armature_importer->get_rna_path_for_joint(node, joint_path, sizeof(joint_path));
+
+
+ if (!ob->adt || !ob->adt->action) act = verify_adt_action((ID*)&ob->id, 1);
+ else act = ob->adt->action;
+
+ //Get the list of animation curves of the object
+ ListBase *AnimCurves = &(act->curves);
+
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
+
+ //for each transformation in node
+ for (unsigned int i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ COLLADAFW::Transformation::TransformationType tm_type = transform->getTransformationType();
+
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+
+ //check if transformation has animations
+ if (animlist_map.find(listid) == animlist_map.end()) continue ;
+ else
+ {
+ //transformation has animations
+ const COLLADAFW::AnimationList *animlist = animlist_map[listid];
+ const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
+ //all the curves belonging to the current binding
+ std::vector<FCurve*> animcurves;
+ for (unsigned int j = 0; j < bindings.getCount(); j++) {
+ animcurves = curve_map[bindings[j].animation];
+ if ( is_matrix )
+ apply_matrix_curves(ob, animcurves, root , node, transform );
+ else {
+ //calculate rnapaths and array index of fcurves according to transformation and animation class
+ Assign_transform_animations(transform, &bindings[j], &animcurves, is_joint, joint_path );
+
+ std::vector<FCurve*>::iterator iter;
+ //Add the curves of the current animation to the object
+ for (iter = animcurves.begin(); iter != animcurves.end(); iter++) {
+ FCurve * fcu = *iter;
+ if ((ob->type == OB_ARMATURE))
+ add_bone_fcurve( ob, node , fcu );
+ else
+ BLI_addtail(AnimCurves, fcu);
+ }
+ }
+ }
+ }
+ if (is_rotation) {
+ if (is_joint)
+ {
+ bPoseChannel *chan = get_pose_channel(ob->pose, bone_name);
+ chan->rotmode = ROT_MODE_EUL;
+ }
+ else
+ {
+ ob->rotmode = ROT_MODE_EUL;
+ }
+ }
+ }
+ }
+
+ if ((animType->light) != 0)
+ {
+ Lamp * lamp = (Lamp*) ob->data;
+
+ if (!lamp->adt || !lamp->adt->action) act = verify_adt_action((ID*)&lamp->id, 1);
+ else act = lamp->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+ const COLLADAFW::InstanceLightPointerArray& nodeLights = node->getInstanceLights();
+
+ for (unsigned int i = 0; i < nodeLights.getCount(); i++) {
+ const COLLADAFW::Light *light = (COLLADAFW::Light *) FW_object_map[nodeLights[i]->getInstanciatedObjectId()];
+
+ if ((animType->light & LIGHT_COLOR) != 0)
+ {
+ const COLLADAFW::Color *col = &(light->getColor());
+ const COLLADAFW::UniqueId& listid = col->getAnimationList();
+
+ Assign_color_animations(listid, AnimCurves, "color");
+ }
+ if ((animType->light & LIGHT_FOA) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *foa = &(light->getFallOffAngle());
+ const COLLADAFW::UniqueId& listid = foa->getAnimationList();
+
+ Assign_float_animations( listid ,AnimCurves, "spot_size");
+ }
+ if ( (animType->light & LIGHT_FOE) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *foe = &(light->getFallOffExponent());
+ const COLLADAFW::UniqueId& listid = foe->getAnimationList();
+
+ Assign_float_animations( listid ,AnimCurves, "spot_blend");
+
+ }
+ }
+ }
+
+ if ( (animType->camera) != 0)
+ {
+ Camera * camera = (Camera*) ob->data;
+
+ if (!camera->adt || !camera->adt->action) act = verify_adt_action((ID*)&camera->id, 1);
+ else act = camera->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+ const COLLADAFW::InstanceCameraPointerArray& nodeCameras= node->getInstanceCameras();
+
+ for (unsigned int i = 0; i < nodeCameras.getCount(); i++) {
+ const COLLADAFW::Camera *camera = (COLLADAFW::Camera *) FW_object_map[nodeCameras[i]->getInstanciatedObjectId()];
+ if ((animType->camera & CAMERA_XFOV) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *xfov = &(camera->getXFov());
+ const COLLADAFW::UniqueId& listid = xfov->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "lens");
+ }
+
+ else if ((animType->camera & CAMERA_XMAG) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *xmag = &(camera->getXMag());
+ const COLLADAFW::UniqueId& listid = xmag->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "ortho_scale");
+ }
+
+ if ((animType->camera & CAMERA_ZFAR) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *zfar = &(camera->getFarClippingPlane());
+ const COLLADAFW::UniqueId& listid = zfar->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "clip_end");
+ }
+
+ if ((animType->camera & CAMERA_ZNEAR) != 0 )
+ {
+ const COLLADAFW::AnimatableFloat *znear = &(camera->getNearClippingPlane());
+ const COLLADAFW::UniqueId& listid = znear->getAnimationList();
+ Assign_float_animations( listid ,AnimCurves, "clip_start");
+ }
+
+ }
+ }
+ if ( animType->material != 0){
+ Material *ma = give_current_material(ob, 1);
+ if (!ma->adt || !ma->adt->action) act = verify_adt_action((ID*)&ma->id, 1);
+ else act = ma->adt->action;
+
+ ListBase *AnimCurves = &(act->curves);
+
+ const COLLADAFW::InstanceGeometryPointerArray& nodeGeoms = node->getInstanceGeometries();
+ for (unsigned int i = 0; i < nodeGeoms.getCount(); i++) {
+ const COLLADAFW::MaterialBindingArray& matBinds = nodeGeoms[i]->getMaterialBindings();
+ for (unsigned int j = 0; j < matBinds.getCount(); j++) {
+ const COLLADAFW::UniqueId & matuid = matBinds[j].getReferencedMaterial();
+ const COLLADAFW::Effect *ef = (COLLADAFW::Effect *) (FW_object_map[matuid]);
+ const COLLADAFW::CommonEffectPointerArray& commonEffects = ef->getCommonEffects();
+ COLLADAFW::EffectCommon *efc = commonEffects[0];
+ if((animType->material & MATERIAL_SHININESS) != 0){
+ const COLLADAFW::FloatOrParam *shin = &(efc->getShininess());
+ const COLLADAFW::UniqueId& listid = shin->getAnimationList();
+ Assign_float_animations( listid, AnimCurves , "specular_hardness" );
+ }
+
+ if((animType->material & MATERIAL_IOR) != 0){
+ const COLLADAFW::FloatOrParam *ior = &(efc->getIndexOfRefraction());
+ const COLLADAFW::UniqueId& listid = ior->getAnimationList();
+ Assign_float_animations( listid, AnimCurves , "raytrace_transparency.ior" );
+ }
+
+ if((animType->material & MATERIAL_SPEC_COLOR) != 0){
+ const COLLADAFW::ColorOrTexture *cot = &(efc->getSpecular());
+ const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
+ Assign_color_animations( listid, AnimCurves , "specular_color" );
+ }
+
+ if((animType->material & MATERIAL_DIFF_COLOR) != 0){
+ const COLLADAFW::ColorOrTexture *cot = &(efc->getDiffuse());
+ const COLLADAFW::UniqueId& listid = cot->getColor().getAnimationList();
+ Assign_color_animations( listid, AnimCurves , "diffuse_color" );
+ }
+ }
+ }
+ }
+}
+
+
+//Check if object is animated by checking if animlist_map holds the animlist_id of node transforms
+AnimationImporter::AnimMix* AnimationImporter::get_animation_type ( const COLLADAFW::Node * node ,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map)
+{
+ AnimMix *types = new AnimMix();
+
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
+
+ //for each transformation in node
+ for (unsigned int i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+
+ //check if transformation has animations
+ if (animlist_map.find(listid) == animlist_map.end()) continue ;
+ else
+ {
+ types->transform = types->transform|NODE_TRANSFORM;
+ break;
+ }
+ }
+ const COLLADAFW::InstanceLightPointerArray& nodeLights = node->getInstanceLights();
+
+ for (unsigned int i = 0; i < nodeLights.getCount(); i++) {
+ const COLLADAFW::Light *light = (COLLADAFW::Light *) FW_object_map[nodeLights[i]->getInstanciatedObjectId()];
+ types->light = setAnimType(&(light->getColor()),(types->light), LIGHT_COLOR);
+ types->light = setAnimType(&(light->getFallOffAngle()),(types->light), LIGHT_FOA);
+ types->light = setAnimType(&(light->getFallOffExponent()),(types->light), LIGHT_FOE);
+
+ if ( types->light != 0) break;
+
+ }
+
+ const COLLADAFW::InstanceCameraPointerArray& nodeCameras = node->getInstanceCameras();
+ for (unsigned int i = 0; i < nodeCameras.getCount(); i++) {
+ const COLLADAFW::Camera *camera = (COLLADAFW::Camera *) FW_object_map[nodeCameras[i]->getInstanciatedObjectId()];
+
+ if ( camera->getCameraType() == COLLADAFW::Camera::PERSPECTIVE )
+ {
+ types->camera = setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XFOV);
+ }
+ else
+ {
+ types->camera = setAnimType(&(camera->getXMag()),(types->camera), CAMERA_XMAG);
+ }
+ types->camera = setAnimType(&(camera->getFarClippingPlane()),(types->camera), CAMERA_ZFAR);
+ types->camera = setAnimType(&(camera->getNearClippingPlane()),(types->camera), CAMERA_ZNEAR);
+
+ if ( types->camera != 0) break;
+
+ }
+
+ const COLLADAFW::InstanceGeometryPointerArray& nodeGeoms = node->getInstanceGeometries();
+ for (unsigned int i = 0; i < nodeGeoms.getCount(); i++) {
+ const COLLADAFW::MaterialBindingArray& matBinds = nodeGeoms[i]->getMaterialBindings();
+ for (unsigned int j = 0; j < matBinds.getCount(); j++) {
+ const COLLADAFW::UniqueId & matuid = matBinds[j].getReferencedMaterial();
+ const COLLADAFW::Effect *ef = (COLLADAFW::Effect *) (FW_object_map[matuid]);
+ const COLLADAFW::CommonEffectPointerArray& commonEffects = ef->getCommonEffects();
+ if(!commonEffects.empty()) {
+ COLLADAFW::EffectCommon *efc = commonEffects[0];
+ types->material = setAnimType(&(efc->getShininess()),(types->material), MATERIAL_SHININESS);
+ types->material = setAnimType(&(efc->getSpecular().getColor()),(types->material), MATERIAL_SPEC_COLOR);
+ types->material = setAnimType(&(efc->getDiffuse().getColor()),(types->material), MATERIAL_DIFF_COLOR);
+ // types->material = setAnimType(&(efc->get()),(types->material), MATERIAL_TRANSPARENCY);
+ types->material = setAnimType(&(efc->getIndexOfRefraction()),(types->material), MATERIAL_IOR);
+ }
+ }
+ }
+ return types;
+}
+
+int AnimationImporter::setAnimType ( const COLLADAFW::Animatable * prop , int types, int addition)
+{
+ const COLLADAFW::UniqueId& listid = prop->getAnimationList();
+ if (animlist_map.find(listid) != animlist_map.end())
+ return types|addition;
+ else return types;
+}
+
+// Is not used anymore.
+void AnimationImporter::find_frames_old(std::vector<float> * frames, COLLADAFW::Node * node , COLLADAFW::Transformation::TransformationType tm_type)
+{
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
// for each <rotate>, <translate>, etc. there is a separate Transformation
- const COLLADAFW::TransformationPointerArray& tms = node->getTransformations();
+ const COLLADAFW::TransformationPointerArray& nodeTransforms = node->getTransformations();
unsigned int i;
-
// find frames at which to sample plus convert all rotation keys to radians
- for (i = 0; i < tms.getCount(); i++) {
- COLLADAFW::Transformation *tm = tms[i];
- COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
+ for (i = 0; i < nodeTransforms.getCount(); i++) {
+ COLLADAFW::Transformation *transform = nodeTransforms[i];
+ COLLADAFW::Transformation::TransformationType nodeTmType = transform->getTransformationType();
- if (type == tm_type) {
- const COLLADAFW::UniqueId& listid = tm->getAnimationList();
+ if (nodeTmType == tm_type) {
+ //get animation bindings for the current transformation
+ const COLLADAFW::UniqueId& listid = transform->getAnimationList();
+ //if transform is animated its animlist must exist.
if (animlist_map.find(listid) != animlist_map.end()) {
+
const COLLADAFW::AnimationList *animlist = animlist_map[listid];
const COLLADAFW::AnimationList::AnimationBindings& bindings = animlist->getAnimationBindings();
if (bindings.getCount()) {
+ //for each AnimationBinding get the fcurves which animate the transform
for (unsigned int j = 0; j < bindings.getCount(); j++) {
std::vector<FCurve*>& curves = curve_map[bindings[j].animation];
- bool xyz = ((type == COLLADAFW::Transformation::TRANSLATE || type == COLLADAFW::Transformation::SCALE) && bindings[j].animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
+ bool xyz = ((nodeTmType == COLLADAFW::Transformation::TRANSLATE || nodeTmType == COLLADAFW::Transformation::SCALE) && bindings[j].animationClass == COLLADAFW::AnimationList::POSITION_XYZ);
if ((!xyz && curves.size() == 1) || (xyz && curves.size() == 3) || is_matrix) {
std::vector<FCurve*>::iterator iter;
@@ -565,13 +1109,16 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
for (iter = curves.begin(); iter != curves.end(); iter++) {
FCurve *fcu = *iter;
+ //if transform is rotation the fcurves values must be turned in to radian.
if (is_rotation)
fcurve_deg_to_rad(fcu);
for (unsigned int k = 0; k < fcu->totvert; k++) {
+ //get frame value from bezTriple
float fra = fcu->bezt[k].vec[1][0];
- if (std::find(frames.begin(), frames.end(), fra) == frames.end())
- frames.push_back(fra);
+ //if frame already not added add frame to frames
+ if (std::find(frames->begin(), frames->end(), fra) == frames->end())
+ frames->push_back(fra);
}
}
}
@@ -583,7 +1130,39 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
}
}
}
+}
+
+
+
+// prerequisites:
+// animlist_map - map animlist id -> animlist
+// curve_map - map anim id -> curve(s)
+Object *AnimationImporter::translate_animation_OLD(COLLADAFW::Node *node,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ COLLADAFW::Transformation::TransformationType tm_type,
+ Object *par_job)
+{
+
+ bool is_rotation = tm_type == COLLADAFW::Transformation::ROTATE;
+ bool is_matrix = tm_type == COLLADAFW::Transformation::MATRIX;
+ bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
+
+ COLLADAFW::Node *root = root_map.find(node->getUniqueId()) == root_map.end() ? node : root_map[node->getUniqueId()];
+ Object *ob = is_joint ? armature_importer->get_armature_for_joint(node) : object_map[node->getUniqueId()];
+ const char *bone_name = is_joint ? bc_get_joint_name(node) : NULL;
+ if (!ob) {
+ fprintf(stderr, "cannot find Object for Node with id=\"%s\"\n", node->getOriginalId().c_str());
+ return NULL;
+ }
+ // frames at which to sample
+ std::vector<float> frames;
+
+ find_frames_old(&frames, node , tm_type);
+
+ unsigned int i;
+
float irest_dae[4][4];
float rest[4][4], irest[4][4];
@@ -664,7 +1243,6 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
BLI_snprintf(rna_path, sizeof(rna_path), "%s.%s", joint_path, tm_str);
else
strcpy(rna_path, tm_str);
-
newcu[i] = create_fcurve(axis, rna_path);
#ifdef ARMATURE_TEST
@@ -812,7 +1390,7 @@ Object *AnimationImporter::translate_animation(COLLADAFW::Node *node,
}
// internal, better make it private
-// warning: evaluates only rotation
+// warning: evaluates only rotation and only assigns matrix transforms now
// prerequisites: animlist_map, curve_map
void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::Node *node, float fra)
{
@@ -826,9 +1404,12 @@ void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::
float m[4][4];
unit_m4(m);
+ if ( type != COLLADAFW::Transformation::MATRIX )
+ continue;
- if (!evaluate_animation(tm, m, fra, node->getOriginalId().c_str())) {
- switch (type) {
+ 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);
break;
@@ -843,7 +1424,9 @@ void AnimationImporter::evaluate_transform_at_frame(float mat[4][4], COLLADAFW::
break;
default:
fprintf(stderr, "unsupported transformation type %d\n", type);
- }
+ }*/
+ dae_matrix_to_mat4(tm, m);
+
}
float temp[4][4];
@@ -860,9 +1443,9 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
if (type != COLLADAFW::Transformation::ROTATE &&
- type != COLLADAFW::Transformation::SCALE &&
- type != COLLADAFW::Transformation::TRANSLATE &&
- type != COLLADAFW::Transformation::MATRIX) {
+ type != COLLADAFW::Transformation::SCALE &&
+ type != COLLADAFW::Transformation::TRANSLATE &&
+ type != COLLADAFW::Transformation::MATRIX) {
fprintf(stderr, "animation of transformation %d is not supported yet\n", type);
return false;
}
@@ -879,9 +1462,9 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
bool is_scale = (type == COLLADAFW::Transformation::SCALE);
bool is_translate = (type == COLLADAFW::Transformation::TRANSLATE);
- if (type == COLLADAFW::Transformation::SCALE)
+ if (is_scale)
dae_scale_to_v3(tm, vec);
- else if (type == COLLADAFW::Transformation::TRANSLATE)
+ else if (is_translate)
dae_translate_to_v3(tm, vec);
for (unsigned int j = 0; j < bindings.getCount(); j++) {
@@ -909,7 +1492,7 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
if (animclass == COLLADAFW::AnimationList::UNKNOWN_CLASS) {
fprintf(stderr, "%s: UNKNOWN animation class\n", path);
- continue;
+ //continue;
}
if (type == COLLADAFW::Transformation::ROTATE) {
@@ -979,11 +1562,14 @@ bool AnimationImporter::evaluate_animation(COLLADAFW::Transformation *tm, float
i++;
j = 0;
}
+ unused_curves.erase(std::remove(unused_curves.begin(), unused_curves.end(), *it), unused_curves.end());
}
COLLADAFW::Matrix tm(matrix);
dae_matrix_to_mat4(&tm, mat);
+ std::vector<FCurve*>::iterator it;
+
return true;
}
}
@@ -1149,13 +1735,15 @@ void AnimationImporter::add_bone_fcurve(Object *ob, COLLADAFW::Node *node, FCurv
void AnimationImporter::add_bezt(FCurve *fcu, float fra, float value)
{
+ //float fps = (float)FPS;
BezTriple bez;
memset(&bez, 0, sizeof(BezTriple));
- bez.vec[1][0] = fra;
+ bez.vec[1][0] = fra ;
bez.vec[1][1] = value;
- bez.ipo = U.ipo_new; /* use default interpolation mode here... */
+ bez.ipo = BEZT_IPO_LIN ;/* use default interpolation mode here... */
bez.f1 = bez.f2 = bez.f3 = SELECT;
bez.h1 = bez.h2 = HD_AUTO;
insert_bezt_fcurve(fcu, &bez, 0);
calchandles_fcurve(fcu);
}
+
diff --git a/source/blender/collada/AnimationImporter.h b/source/blender/collada/AnimationImporter.h
index 05347a1fbc1..9e8f7b42069 100644
--- a/source/blender/collada/AnimationImporter.h
+++ b/source/blender/collada/AnimationImporter.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.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory , Sukhitha Jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -37,10 +37,17 @@
#include "COLLADAFWAnimationList.h"
#include "COLLADAFWNode.h"
#include "COLLADAFWUniqueId.h"
+#include "COLLADAFWLight.h"
+#include "COLLADAFWCamera.h"
+#include "COLLADAFWMaterial.h"
+#include "COLLADAFWEffect.h"
+#include "COLLADAFWInstanceGeometry.h"
#include "DNA_anim_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_camera_types.h"
//#include "ArmatureImporter.h"
#include "TransformReader.h"
@@ -79,6 +86,49 @@ private:
void fcurve_deg_to_rad(FCurve *cu);
void add_fcurves_to_object(Object *ob, std::vector<FCurve*>& curves, char *rna_path, int array_index, Animation *animated);
+
+ int typeFlag;
+
+ enum lightAnim
+ {
+// INANIMATE = 0,
+ LIGHT_COLOR = 2,
+ LIGHT_FOA = 4,
+ LIGHT_FOE = 8
+ };
+
+ enum cameraAnim
+ {
+// INANIMATE = 0,
+ CAMERA_XFOV = 2,
+ CAMERA_XMAG = 4,
+ CAMERA_ZFAR = 8,
+ CAMERA_ZNEAR = 16
+ };
+
+ enum matAnim
+ {
+ MATERIAL_SHININESS = 2,
+ MATERIAL_SPEC_COLOR = 4,
+ MATERIAL_DIFF_COLOR = 1 << 3,
+ MATERIAL_TRANSPARENCY = 1 << 4,
+ MATERIAL_IOR = 1 << 5
+ };
+
+ enum AnimationType
+ {
+ INANIMATE = 0,
+ NODE_TRANSFORM = 1,
+ };
+
+ struct AnimMix
+ {
+ int transform;
+ int light;
+ int camera;
+ int material;
+ int texture;
+ };
public:
AnimationImporter(UnitConverter *conv, ArmatureImporter *arm, Scene *scene);
@@ -95,15 +145,37 @@ public:
virtual void change_eul_to_quat(Object *ob, bAction *act);
#endif
+ void translate_Animations( COLLADAFW::Node * Node ,
+ std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
+ std::map<COLLADAFW::UniqueId, Object*>& object_map ,
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map);
+
+ AnimMix* get_animation_type( const COLLADAFW::Node * node , std::map<COLLADAFW::UniqueId,const COLLADAFW::Object*> FW_object_map ) ;
+
+ void apply_matrix_curves( Object * ob, std::vector<FCurve*>& animcurves, COLLADAFW::Node* root ,COLLADAFW::Node* node,
+ COLLADAFW::Transformation * tm );
+
+ void Assign_transform_animations(COLLADAFW::Transformation* transform ,
+ const COLLADAFW::AnimationList::AnimationBinding * binding,
+ std::vector<FCurve*>* curves, bool is_joint, char * joint_path);
+
+ void Assign_color_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type);
+ void Assign_float_animations(const COLLADAFW::UniqueId& listid, ListBase *AnimCurves, const char * anim_type);
+
+ int setAnimType ( const COLLADAFW::Animatable * prop , int type, int addition);
+
+ void modify_fcurve(std::vector<FCurve*>* curves , char* rna_path , int array_index );
// prerequisites:
// animlist_map - map animlist id -> animlist
// curve_map - map anim id -> curve(s)
- Object *translate_animation(COLLADAFW::Node *node,
+ Object * translate_animation_OLD(COLLADAFW::Node *node,
std::map<COLLADAFW::UniqueId, Object*>& object_map,
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*>& root_map,
COLLADAFW::Transformation::TransformationType tm_type,
Object *par_job = NULL);
-
+
+ void find_frames( std::vector<float>* frames , std::vector<FCurve*>* curves );
+ void find_frames_old( std::vector<float>* frames, COLLADAFW::Node * node, COLLADAFW::Transformation::TransformationType tm_type );
// internal, better make it private
// warning: evaluates only rotation
// prerequisites: animlist_map, curve_map
@@ -131,6 +203,8 @@ public:
void add_bone_fcurve(Object *ob, COLLADAFW::Node *node, FCurve *fcu);
void add_bezt(FCurve *fcu, float fra, float value);
+
+ void extra_data_importer(std::string elementName);
};
-
- #endif
+
+#endif
diff --git a/source/blender/collada/ArmatureExporter.cpp b/source/blender/collada/ArmatureExporter.cpp
index 90c3cfbb001..de01c000373 100644
--- a/source/blender/collada/ArmatureExporter.cpp
+++ b/source/blender/collada/ArmatureExporter.cpp
@@ -39,6 +39,7 @@
#include "BKE_action.h"
#include "BKE_armature.h"
+#include "ED_armature.h"
#include "BLI_listbase.h"
@@ -89,14 +90,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();
}
@@ -177,6 +178,9 @@ void ArmatureExporter::add_bone_node(Bone *bone, Object *ob_arm)
node.setNodeName(node_name);
node.setNodeSid(node_sid);
+ /*if ( bone->childbase.first == NULL || BLI_countlist(&(bone->childbase))>=2)
+ add_blender_leaf_bone( bone, ob_arm , node );
+ else{*/
node.start();
add_bone_transform(ob_arm, bone, node);
@@ -184,10 +188,26 @@ void ArmatureExporter::add_bone_node(Bone *bone, Object *ob_arm)
for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next) {
add_bone_node(child, ob_arm);
}
-
node.end();
+ //}
}
+void ArmatureExporter::add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node)
+{
+ node.start();
+
+ add_bone_transform(ob_arm, bone, node);
+
+ node.addExtraTechniqueParameter("blender", "tip_x", bone->tail[0] );
+ node.addExtraTechniqueParameter("blender", "tip_y", bone->tail[1] );
+ node.addExtraTechniqueParameter("blender", "tip_z", bone->tail[2] );
+
+ for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next) {
+ add_bone_node(child, ob_arm);
+ }
+ node.end();
+
+}
void ArmatureExporter::add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node)
{
bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
@@ -207,7 +227,7 @@ void ArmatureExporter::add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW:
mul_m4_m4m4(mat, pchan->pose_mat, ob_arm->obmat);
}
- TransformWriter::add_node_transform(node, mat, NULL);
+ TransformWriter::add_node_transform(node, mat,NULL );
}
std::string ArmatureExporter::get_controller_id(Object *ob_arm, Object *ob)
@@ -355,8 +375,8 @@ std::string ArmatureExporter::add_inv_bind_mats_source(Object *ob_arm, ListBase
float world[4][4];
float inv_bind_mat[4][4];
- // make world-space matrix, pose_mat is armature-space
- mul_m4_m4m4(world, pchan->pose_mat, ob_arm->obmat);
+ // make world-space matrix, arm_mat is armature-space
+ mul_m4_m4m4(world, pchan->bone->arm_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..b3441c797e8 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);
@@ -92,6 +92,8 @@ private:
void add_bone_transform(Object *ob_arm, Bone *bone, COLLADASW::Node& node);
+ void add_blender_leaf_bone(Bone *bone, Object *ob_arm, COLLADASW::Node& node);
+
std::string get_controller_id(Object *ob_arm, Object *ob);
// ob should be of type OB_MESH
diff --git a/source/blender/collada/ArmatureImporter.cpp b/source/blender/collada/ArmatureImporter.cpp
index 8987e4ffaf7..19fa54c5044 100644
--- a/source/blender/collada/ArmatureImporter.cpp
+++ b/source/blender/collada/ArmatureImporter.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.
*
- * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory, Sukhitha jayathilake.
*
* ***** END GPL LICENSE BLOCK *****
*/
@@ -37,17 +37,18 @@
#include "BKE_action.h"
#include "BKE_depsgraph.h"
#include "BKE_object.h"
+#include "BKE_armature.h"
#include "BLI_string.h"
#include "ED_armature.h"
#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) :
@@ -78,16 +79,102 @@ JointData *ArmatureImporter::get_joint_data(COLLADAFW::Node *node);
return &joint_index_to_joint_info_map[joint_index];
}
#endif
+void ArmatureImporter::create_unskinned_bone( COLLADAFW::Node *node, EditBone *parent, int totchild,
+ float parent_mat[][4], Object * ob_arm)
+{
+ std::vector<COLLADAFW::Node*>::iterator it;
+ it = std::find(finished_joints.begin(),finished_joints.end(),node);
+ if ( it != finished_joints.end()) return;
+
+ float mat[4][4];
+ float obmat[4][4];
+
+ // object-space
+ get_node_mat(obmat, node, NULL, NULL);
+
+ EditBone *bone = ED_armature_edit_bone_add((bArmature*)ob_arm->data, (char*)bc_get_joint_name(node));
+ totbone++;
+
+ if (parent) bone->parent = parent;
+
+ float angle = 0;
+
+ // get world-space
+ if (parent){
+ mul_m4_m4m4(mat, obmat, parent_mat);
+
+ }
+ else {
+ copy_m4_m4(mat, obmat);
+
+ }
+ float loc[3], size[3], rot[3][3];
+ mat4_to_loc_rot_size( loc, rot, size, obmat);
+ mat3_to_vec_roll(rot, NULL, &angle );
+ bone->roll=angle;
+ // set head
+ copy_v3_v3(bone->head, mat[3]);
+
+
+ // set tail, don't set it to head because 0-length bones are not allowed
+ float vec[3] = {0.0f, 0.5f, 0.0f};
+ add_v3_v3v3(bone->tail, bone->head, vec);
+
+ // set parent tail
+ if (parent && totchild == 1) {
+ copy_v3_v3(parent->tail, bone->head);
+
+ // not setting BONE_CONNECTED because this would lock child bone location with respect to parent
+ // bone->flag |= BONE_CONNECTED;
+
+ // XXX increase this to prevent "very" small bones?
+ const float epsilon = 0.000001f;
+
+ // derive leaf bone length
+ float length = len_v3v3(parent->head, parent->tail);
+ if ((length < leaf_bone_length || totbone == 0) && length > epsilon) {
+ leaf_bone_length = length;
+ }
+
+ // treat zero-sized bone like a leaf bone
+ if (length <= epsilon) {
+ add_leaf_bone(parent_mat, parent, node);
+ }
+
+ }
+
+ COLLADAFW::NodePointerArray& children = node->getChildNodes();
+ for (unsigned int i = 0; i < children.getCount(); i++) {
+ create_unskinned_bone( children[i], bone, children.getCount(), mat, ob_arm);
+ }
+
+ // in second case it's not a leaf bone, but we handle it the same way
+ if (!children.getCount() || children.getCount() > 1) {
+ add_leaf_bone(mat, bone, node);
+ }
+
+ finished_joints.push_back(node);
+
+}
void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBone *parent, int totchild,
float parent_mat[][4], bArmature *arm)
{
+ //Checking if bone is already made.
+ std::vector<COLLADAFW::Node*>::iterator it;
+ it = std::find(finished_joints.begin(),finished_joints.end(),node);
+ if ( it != finished_joints.end()) return;
+
float joint_inv_bind_mat[4][4];
// JointData* jd = get_joint_data(node);
float mat[4][4];
+ // TODO rename from Node "name" attrs later
+ EditBone *bone = ED_armature_edit_bone_add(arm, (char*)bc_get_joint_name(node));
+ totbone++;
+
if (skin.get_joint_inv_bind_matrix(joint_inv_bind_mat, node)) {
// get original world-space matrix
invert_m4_m4(mat, joint_inv_bind_mat);
@@ -104,12 +191,14 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
mul_m4_m4m4(mat, obmat, parent_mat);
else
copy_m4_m4(mat, obmat);
- }
- // TODO rename from Node "name" attrs later
- EditBone *bone = ED_armature_edit_bone_add(arm, (char*)bc_get_joint_name(node));
- totbone++;
+ float loc[3], size[3], rot[3][3] , angle;
+ mat4_to_loc_rot_size( loc, rot, size, obmat);
+ mat3_to_vec_roll(rot, NULL, &angle );
+ bone->roll=angle;
+ }
+
if (parent) bone->parent = parent;
// set head
@@ -137,7 +226,7 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
// treat zero-sized bone like a leaf bone
if (length <= epsilon) {
- add_leaf_bone(parent_mat, parent);
+ add_leaf_bone(parent_mat, parent, node);
}
/*
@@ -175,22 +264,40 @@ void ArmatureImporter::create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBo
// in second case it's not a leaf bone, but we handle it the same way
if (!children.getCount() || children.getCount() > 1) {
- add_leaf_bone(mat, bone);
+ add_leaf_bone(mat, bone , node);
}
+
+ finished_joints.push_back(node);
}
-void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone)
+void ArmatureImporter::add_leaf_bone(float mat[][4], EditBone *bone, COLLADAFW::Node * node)
{
LeafBone leaf;
leaf.bone = bone;
copy_m4_m4(leaf.mat, mat);
BLI_strncpy(leaf.name, bone->name, sizeof(leaf.name));
-
- leaf_bones.push_back(leaf);
+
+ TagsMap::iterator etit;
+ ExtraTags *et = 0;
+ etit = uid_tags_map.find(node->getUniqueId().toAscii());
+ if(etit != uid_tags_map.end())
+ {
+ et = etit->second;
+ //else return;
+
+ float x,y,z;
+ et->setData("tip_x",&x);
+ et->setData("tip_y",&y);
+ et->setData("tip_z",&z);
+ float vec[3] = {x,y,z};
+ copy_v3_v3(leaf.bone->tail, leaf.bone->head);
+ add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);
+ }else
+ leaf_bones.push_back(leaf);
}
-void ArmatureImporter::fix_leaf_bones()
+void ArmatureImporter::fix_leaf_bones( )
{
// just setting tail for leaf bones here
@@ -199,9 +306,10 @@ void ArmatureImporter::fix_leaf_bones()
LeafBone& leaf = *it;
// pointing up
- float vec[3] = {0.0f, 0.0f, 1.0f};
-
- mul_v3_fl(vec, leaf_bone_length);
+ float vec[3] = {0.0f, 0.0f, 0.1f};
+
+ // if parent: take parent length and direction
+ if(leaf.bone->parent) sub_v3_v3v3(vec, leaf.bone->parent->tail, leaf.bone->parent->head);
copy_v3_v3(leaf.bone->tail, leaf.bone->head);
add_v3_v3v3(leaf.bone->tail, leaf.bone->head, vec);
@@ -300,6 +408,46 @@ ArmatureJoints& ArmatureImporter::get_armature_joints(Object *ob_arm)
return armature_joints.back();
}
#endif
+void ArmatureImporter::create_armature_bones( )
+{
+ std::vector<COLLADAFW::Node*>::iterator ri;
+ //if there is an armature created for root_joint next root_joint
+ for (ri = root_joints.begin(); ri != root_joints.end(); ri++) {
+ if ( get_armature_for_joint(*ri) != NULL ) continue;
+
+ //add armature object for current joint
+ //Object *ob_arm = add_object(scene, OB_ARMATURE);
+
+ Object *ob_arm = joint_parent_map[(*ri)->getUniqueId()];
+ //ob_arm->type = OB_ARMATURE;
+ ED_armature_to_edit(ob_arm);
+
+ // min_angle = 360.0f; // minimum angle between bone head-tail and a row of bone matrix
+
+ // create unskinned bones
+ /*
+ TODO:
+ check if bones have already been created for a given joint
+ */
+ leaf_bone_length = FLT_MAX;
+ create_unskinned_bone(*ri, NULL, (*ri)->getChildNodes().getCount(), NULL, ob_arm);
+
+ fix_leaf_bones();
+
+ // exit armature edit mode
+
+ unskinned_armature_map[(*ri)->getUniqueId()] = ob_arm;
+
+ ED_armature_from_edit(ob_arm);
+
+ set_pose(ob_arm , *ri, NULL, NULL );
+
+ ED_armature_edit_free(ob_arm);
+ DAG_id_tag_update(&ob_arm->id, OB_RECALC_OB|OB_RECALC_DATA);
+ }
+
+
+}
void ArmatureImporter::create_armature_bones(SkinInfo& skin)
{
@@ -373,7 +521,7 @@ void ArmatureImporter::create_armature_bones(SkinInfo& skin)
if (shared)
ob_arm = skin.set_armature(shared);
else
- ob_arm = skin.create_armature(scene);
+ ob_arm = skin.create_armature(scene); //once for every armature
// enter armature edit mode
ED_armature_to_edit(ob_arm);
@@ -420,14 +568,60 @@ void ArmatureImporter::create_armature_bones(SkinInfo& skin)
// root - if this joint is the top joint in hierarchy, if a joint
// is a child of a node (not joint), root should be true since
// this is where we build armature bones from
-void ArmatureImporter::add_joint(COLLADAFW::Node *node, bool root, Object *parent)
+
+void ArmatureImporter::set_pose ( Object * ob_arm , COLLADAFW::Node * root_node , char *parentname, float parent_mat[][4])
+{
+ char * bone_name = (char *) bc_get_joint_name ( root_node);
+ float mat[4][4];
+ float obmat[4][4];
+
+ float ax[3];
+ float angle = NULL;
+
+ // object-space
+ get_node_mat(obmat, root_node, NULL, NULL);
+
+ //if(*edbone)
+ bPoseChannel * pchan = get_pose_channel(ob_arm -> pose , bone_name);
+ //else fprintf ( "",
+
+ // get world-space
+ if (parentname){
+ mul_m4_m4m4(mat, obmat, parent_mat);
+ bPoseChannel *parchan = get_pose_channel(ob_arm->pose, parentname);
+
+ mul_m4_m4m4(pchan->pose_mat, mat , parchan->pose_mat);
+
+ }
+ else {
+ copy_m4_m4(mat, obmat);
+ float invObmat[4][4];
+ invert_m4_m4(invObmat, ob_arm->obmat);
+ mul_m4_m4m4(pchan->pose_mat, mat, invObmat);
+
+ }
+
+ mat4_to_axis_angle(ax,&angle,mat);
+ pchan->bone->roll = angle;
+
+
+ COLLADAFW::NodePointerArray& children = root_node->getChildNodes();
+ for (unsigned int i = 0; i < children.getCount(); i++) {
+ set_pose(ob_arm, children[i], bone_name, mat);
+ }
+
+}
+
+void ArmatureImporter::add_joint(COLLADAFW::Node *node, bool root, Object *parent, Scene *sce)
{
joint_by_uid[node->getUniqueId()] = node;
if (root) {
root_joints.push_back(node);
- if (parent)
+ if (parent) {
+
joint_parent_map[node->getUniqueId()] = parent;
+ }
}
}
@@ -472,6 +666,9 @@ void ArmatureImporter::make_armatures(bContext *C)
// free memory stolen from SkinControllerData
skin.free();
}
+
+ //for bones without skins
+ create_armature_bones();
}
#if 0
@@ -549,6 +746,7 @@ bool ArmatureImporter::write_controller(const COLLADAFW::Controller* controller)
return true;
}
+
COLLADAFW::UniqueId *ArmatureImporter::get_geometry_uid(const COLLADAFW::UniqueId& controller_uid)
{
if (geom_uid_by_controller_uid.find(controller_uid) == geom_uid_by_controller_uid.end())
@@ -566,10 +764,20 @@ Object *ArmatureImporter::get_armature_for_joint(COLLADAFW::Node *node)
if (skin.uses_joint_or_descendant(node))
return skin.get_armature();
}
-
+
+ std::map<COLLADAFW::UniqueId, Object*>::iterator arm;
+ for (arm = unskinned_armature_map.begin(); arm != unskinned_armature_map.end(); arm++) {
+ if(arm->first == node->getUniqueId() )
+ return arm->second;
+ }
return NULL;
}
+void ArmatureImporter::set_tags_map(TagsMap & tagsMap)
+{
+ this->uid_tags_map = tagsMap;
+}
+
void ArmatureImporter::get_rna_path_for_joint(COLLADAFW::Node *node, char *joint_path, size_t count)
{
BLI_snprintf(joint_path, count, "pose.bones[\"%s\"]", bc_get_joint_name(node));
@@ -590,3 +798,6 @@ bool ArmatureImporter::get_joint_bind_mat(float m[][4], COLLADAFW::Node *joint)
return found;
}
+
+
+
diff --git a/source/blender/collada/ArmatureImporter.h b/source/blender/collada/ArmatureImporter.h
index d36bccf7e57..a197e612a87 100644
--- a/source/blender/collada/ArmatureImporter.h
+++ b/source/blender/collada/ArmatureImporter.h
@@ -46,6 +46,7 @@ extern "C" {
#include "MeshImporter.h"
#include "SkinInfo.h"
#include "TransformReader.h"
+#include "ExtraTags.h"
#include <map>
#include <vector>
@@ -88,7 +89,9 @@ private:
std::map<COLLADAFW::UniqueId, COLLADAFW::UniqueId> geom_uid_by_controller_uid;
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> joint_by_uid; // contains all joints
std::vector<COLLADAFW::Node*> root_joints;
+ std::vector<COLLADAFW::Node*> finished_joints;
std::map<COLLADAFW::UniqueId, Object*> joint_parent_map;
+ std::map<COLLADAFW::UniqueId, Object*> unskinned_armature_map;
MeshImporterBase *mesh_importer;
AnimationImporterBase *anim_importer;
@@ -105,9 +108,15 @@ private:
void create_bone(SkinInfo& skin, COLLADAFW::Node *node, EditBone *parent, int totchild,
float parent_mat[][4], bArmature *arm);
- void add_leaf_bone(float mat[][4], EditBone *bone);
+ void create_unskinned_bone(COLLADAFW::Node *node, EditBone *parent, int totchild,
+ float parent_mat[][4], Object * ob_arm);
+
+ void add_leaf_bone(float mat[][4], EditBone *bone, COLLADAFW::Node * node);
void fix_leaf_bones();
+
+ void set_pose ( Object * ob_arm , COLLADAFW::Node * root_node ,char * parentname, float parent_mat[][4]);
+
#if 0
void set_leaf_bone_shapes(Object *ob_arm);
@@ -123,7 +132,11 @@ private:
#endif
void create_armature_bones(SkinInfo& skin);
+ void create_armature_bones( );
+ /** TagsMap typedef for uid_tags_map. */
+ typedef std::map<std::string, ExtraTags*> TagsMap;
+ TagsMap uid_tags_map;
public:
ArmatureImporter(UnitConverter *conv, MeshImporterBase *mesh, AnimationImporterBase *anim, Scene *sce);
@@ -132,7 +145,7 @@ public:
// root - if this joint is the top joint in hierarchy, if a joint
// is a child of a node (not joint), root should be true since
// this is where we build armature bones from
- void add_joint(COLLADAFW::Node *node, bool root, Object *parent);
+ void add_joint(COLLADAFW::Node *node, bool root, Object *parent, Scene *sce);
#if 0
void add_root_joint(COLLADAFW::Node *node);
@@ -151,13 +164,16 @@ public:
bool write_controller(const COLLADAFW::Controller* controller);
COLLADAFW::UniqueId *get_geometry_uid(const COLLADAFW::UniqueId& controller_uid);
-
+
Object *get_armature_for_joint(COLLADAFW::Node *node);
void get_rna_path_for_joint(COLLADAFW::Node *node, char *joint_path, size_t count);
// gives a world-space mat
bool get_joint_bind_mat(float m[][4], COLLADAFW::Node *joint);
+
+ void set_tags_map( TagsMap& tags_map);
+
};
#endif
diff --git a/source/blender/collada/CMakeLists.txt b/source/blender/collada/CMakeLists.txt
index a7e7c973f36..d73373aa901 100644
--- a/source/blender/collada/CMakeLists.txt
+++ b/source/blender/collada/CMakeLists.txt
@@ -28,46 +28,30 @@ remove_strict_flags()
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
- ../windowmanager
+ ../editors/include
../makesdna
../makesrna
- ../editors/include
+ ../windowmanager
../../../intern/guardedalloc
)
set(INC_SYS
-
+ ${OPENCOLLADA_INCLUDE_DIRS}
)
-if(APPLE)
- list(APPEND INC_SYS
- ${OPENCOLLADA_INC}/COLLADAStreamWriter
- ${OPENCOLLADA_INC}/COLLADABaseUtils
- ${OPENCOLLADA_INC}/COLLADAFramework
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader
- ${OPENCOLLADA_INC}/GeneratedSaxParser
- )
-else()
- list(APPEND INC_SYS
- ${OPENCOLLADA_INC}/COLLADAStreamWriter/include
- ${OPENCOLLADA_INC}/COLLADABaseUtils/include
- ${OPENCOLLADA_INC}/COLLADAFramework/include
- ${OPENCOLLADA_INC}/COLLADASaxFrameworkLoader/include
- ${OPENCOLLADA_INC}/GeneratedSaxParser/include
- )
-endif()
-
set(SRC
AnimationImporter.cpp
+ AnimationExporter.cpp
ArmatureExporter.cpp
ArmatureImporter.cpp
CameraExporter.cpp
DocumentExporter.cpp
DocumentImporter.cpp
EffectExporter.cpp
+ ErrorHandler.cpp
ExtraHandler.cpp
ExtraTags.cpp
GeometryExporter.cpp
@@ -84,12 +68,14 @@ set(SRC
collada_utils.cpp
AnimationImporter.h
+ AnimationExporter.h
ArmatureExporter.h
ArmatureImporter.h
CameraExporter.h
DocumentExporter.h
DocumentImporter.h
EffectExporter.h
+ ErrorHandler.h
ExtraHandler.h
ExtraTags.h
GeometryExporter.h
@@ -107,7 +93,7 @@ set(SRC
)
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
if(CMAKE_COMPILER_IS_GNUCXX)
diff --git a/source/blender/collada/CameraExporter.cpp b/source/blender/collada/CameraExporter.cpp
index f8fa0fd55c0..a935f45c403 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();
}
@@ -72,19 +73,19 @@ void CamerasExporter::operator()(Object *ob, Scene *sce)
if (cam->type == CAM_PERSP) {
COLLADASW::PerspectiveOptic persp(mSW);
- persp.setXFov(lens_to_angle(cam->lens)*(180.0f/M_PI));
- persp.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch));
- persp.setZFar(cam->clipend);
- persp.setZNear(cam->clipsta);
+ persp.setXFov(lens_to_angle(cam->lens)*(180.0f/M_PI),"xfov");
+ persp.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
+ persp.setZFar(cam->clipend, false , "zfar");
+ persp.setZNear(cam->clipsta,false , "znear");
COLLADASW::Camera ccam(mSW, &persp, cam_id, cam_name);
addCamera(ccam);
}
else {
COLLADASW::OrthographicOptic ortho(mSW);
- ortho.setXMag(cam->ortho_scale);
- ortho.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch));
- ortho.setZFar(cam->clipend);
- ortho.setZNear(cam->clipsta);
+ ortho.setXMag(cam->ortho_scale,"xmag");
+ ortho.setAspectRatio((float)(sce->r.xsch)/(float)(sce->r.ysch),false,"aspect_ratio");
+ ortho.setZFar(cam->clipend , false , "zfar");
+ ortho.setZNear(cam->clipsta, false , "znear");
COLLADASW::Camera ccam(mSW, &ortho, cam_id, cam_name);
addCamera(ccam);
}
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..6e780889d16 100644
--- a/source/blender/collada/DocumentExporter.cpp
+++ b/source/blender/collada/DocumentExporter.cpp
@@ -52,7 +52,7 @@ extern "C"
#include "BLI_path_util.h"
#include "BLI_fileops.h"
#include "ED_keyframing.h"
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
extern char build_rev[];
#endif
}
@@ -114,6 +114,7 @@ extern char build_rev[];
#include "TransformWriter.h"
#include "ArmatureExporter.h"
+#include "AnimationExporter.h"
#include "CameraExporter.h"
#include "EffectExporter.h"
#include "GeometryExporter.h"
@@ -170,7 +171,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 +180,7 @@ public:
//forEachMeshObjectInScene(sce, *this);
//forEachCameraObjectInScene(sce, *this);
//forEachLampObjectInScene(sce, *this);
- exportHierarchy(sce);
+ exportHierarchy(sce, export_selected);
// </visual_scene> </library_visual_scenes>
closeVisualScene();
@@ -187,23 +188,28 @@ public:
closeLibrary();
}
- void exportHierarchy(Scene *sce)
+ void exportHierarchy(Scene *sce, bool export_selected)
{
Base *base= (Base*) sce->base.first;
while(base) {
Object *ob = base->object;
if (!ob->parent) {
+ if(sce->lay & ob->lay) {
switch(ob->type) {
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;
}
+ }
}
base= base->next;
@@ -298,638 +304,8 @@ public:
// TODO: it would be better to instantiate animations rather than create a new one per object
// COLLADA allows this through multiple <channel>s in <animation>.
// For this to work, we need to know objects that use a certain action.
-class AnimationExporter: COLLADASW::LibraryAnimations
-{
- Scene *scene;
- COLLADASW::StreamWriter *sw;
-
-public:
-
- AnimationExporter(COLLADASW::StreamWriter *sw): COLLADASW::LibraryAnimations(sw) { this->sw = sw; }
-
-
-
- void exportAnimations(Scene *sce)
- {
- if(hasAnimations(sce)) {
- this->scene = sce;
-
- openLibrary();
-
- forEachObjectInScene(sce, *this);
-
- closeLibrary();
- }
- }
-
- // called for each exported object
- void operator() (Object *ob)
- {
- if (!ob->adt || !ob->adt->action) return;
-
- FCurve *fcu = (FCurve*)ob->adt->action->curves.first;
-
- if (ob->type == OB_ARMATURE) {
- if (!ob->data) return;
-
- bArmature *arm = (bArmature*)ob->data;
- for (Bone *bone = (Bone*)arm->bonebase.first; bone; bone = bone->next)
- write_bone_animation(ob, bone);
- }
- else {
- while (fcu) {
- // TODO "rotation_quaternion" is also possible for objects (although euler is default)
- if ((!strcmp(fcu->rna_path, "location") || !strcmp(fcu->rna_path, "scale")) ||
- (!strcmp(fcu->rna_path, "rotation_euler") && ob->rotmode == ROT_MODE_EUL))
- dae_animation(fcu, id_name(ob));
-
- fcu = fcu->next;
- }
- }
- }
-
-protected:
-
- void dae_animation(FCurve *fcu, std::string ob_name)
- {
- const char *axis_names[] = {"X", "Y", "Z"};
- const char *axis_name = NULL;
- char anim_id[200];
-
- if (fcu->array_index < 3)
- axis_name = axis_names[fcu->array_index];
-
- BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
- fcu->rna_path, axis_names[fcu->array_index]);
-
- // check rna_path is one of: rotation, scale, location
-
- openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
-
- // create input source
- std::string input_id = create_source_from_fcurve(COLLADASW::InputSemantic::INPUT, fcu, anim_id, axis_name);
-
- // create output source
- std::string output_id = create_source_from_fcurve(COLLADASW::InputSemantic::OUTPUT, fcu, anim_id, axis_name);
-
- // create interpolations source
- std::string interpolation_id = create_interpolation_source(fcu->totvert, anim_id, axis_name);
-
- std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
- COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
- std::string empty;
- sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
- sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
-
- // this input is required
- sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
-
- addSampler(sampler);
-
- std::string target = translate_id(ob_name)
- + "/" + get_transform_sid(fcu->rna_path, -1, axis_name, true);
- addChannel(COLLADABU::URI(empty, sampler_id), target);
-
- closeAnimation();
- }
-
- void write_bone_animation(Object *ob_arm, Bone *bone)
- {
- if (!ob_arm->adt)
- return;
-
- for (int i = 0; i < 3; i++)
- sample_and_write_bone_animation(ob_arm, bone, i);
-
- for (Bone *child = (Bone*)bone->childbase.first; child; child = child->next)
- write_bone_animation(ob_arm, child);
- }
-
- void sample_and_write_bone_animation(Object *ob_arm, Bone *bone, int transform_type)
- {
- bArmature *arm = (bArmature*)ob_arm->data;
- int flag = arm->flag;
- std::vector<float> fra;
- char prefix[256];
-
- BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone->name);
-
- bPoseChannel *pchan = get_pose_channel(ob_arm->pose, bone->name);
- if (!pchan)
- return;
-
- switch (transform_type) {
- case 0:
- find_rotation_frames(ob_arm, fra, prefix, pchan->rotmode);
- break;
- case 1:
- find_frames(ob_arm, fra, prefix, "scale");
- break;
- case 2:
- find_frames(ob_arm, fra, prefix, "location");
- break;
- default:
- return;
- }
-
- // exit rest position
- if (flag & ARM_RESTPOS) {
- arm->flag &= ~ARM_RESTPOS;
- where_is_pose(scene, ob_arm);
- }
-
- if (fra.size()) {
- float *v = (float*)MEM_callocN(sizeof(float) * 3 * fra.size(), "temp. anim frames");
- sample_animation(v, fra, transform_type, bone, ob_arm);
- if (transform_type == 0) {
- // write x, y, z curves separately if it is rotation
- float *c = (float*)MEM_callocN(sizeof(float) * fra.size(), "temp. anim frames");
- for (int i = 0; i < 3; i++) {
- for (unsigned int j = 0; j < fra.size(); j++)
- c[j] = v[j * 3 + i];
-
- dae_bone_animation(fra, c, transform_type, i, id_name(ob_arm), bone->name);
- }
- MEM_freeN(c);
- }
- else {
- // write xyz at once if it is location or scale
- dae_bone_animation(fra, v, transform_type, -1, id_name(ob_arm), bone->name);
- }
-
- MEM_freeN(v);
- }
-
- // restore restpos
- if (flag & ARM_RESTPOS)
- arm->flag = flag;
- where_is_pose(scene, ob_arm);
- }
-
- void sample_animation(float *v, std::vector<float> &frames, int type, Bone *bone, Object *ob_arm)
- {
- bPoseChannel *pchan, *parchan = NULL;
- bPose *pose = ob_arm->pose;
-
- pchan = get_pose_channel(pose, bone->name);
-
- if (!pchan)
- return;
-
- parchan = pchan->parent;
-
- enable_fcurves(ob_arm->adt->action, bone->name);
-
- std::vector<float>::iterator it;
- for (it = frames.begin(); it != frames.end(); it++) {
- float mat[4][4], ipar[4][4];
-
- float ctime = bsystem_time(scene, ob_arm, *it, 0.0f);
-
- BKE_animsys_evaluate_animdata(&ob_arm->id, ob_arm->adt, *it, ADT_RECALC_ANIM);
- where_is_pose_bone(scene, ob_arm, pchan, ctime, 1);
-
- // compute bone local mat
- if (bone->parent) {
- invert_m4_m4(ipar, parchan->pose_mat);
- mul_m4_m4m4(mat, pchan->pose_mat, ipar);
- }
- else
- copy_m4_m4(mat, pchan->pose_mat);
-
- switch (type) {
- case 0:
- mat4_to_eul(v, mat);
- break;
- case 1:
- mat4_to_size(v, mat);
- break;
- case 2:
- copy_v3_v3(v, mat[3]);
- break;
- }
-
- v += 3;
- }
-
- enable_fcurves(ob_arm->adt->action, NULL);
- }
-
- // dae_bone_animation -> add_bone_animation
- // (blend this into dae_bone_animation)
- void dae_bone_animation(std::vector<float> &fra, float *v, int tm_type, int axis, std::string ob_name, std::string bone_name)
- {
- const char *axis_names[] = {"X", "Y", "Z"};
- const char *axis_name = NULL;
- char anim_id[200];
- bool is_rot = tm_type == 0;
-
- if (!fra.size())
- return;
-
- char rna_path[200];
- BLI_snprintf(rna_path, sizeof(rna_path), "pose.bones[\"%s\"].%s", bone_name.c_str(),
- tm_type == 0 ? "rotation_quaternion" : (tm_type == 1 ? "scale" : "location"));
-
- if (axis > -1)
- axis_name = axis_names[axis];
-
- std::string transform_sid = get_transform_sid(NULL, tm_type, axis_name, false);
-
- BLI_snprintf(anim_id, sizeof(anim_id), "%s_%s_%s", (char*)translate_id(ob_name).c_str(),
- (char*)translate_id(bone_name).c_str(), (char*)transform_sid.c_str());
-
- openAnimation(anim_id, COLLADABU::Utils::EMPTY_STRING);
-
- // create input source
- std::string input_id = create_source_from_vector(COLLADASW::InputSemantic::INPUT, fra, is_rot, anim_id, axis_name);
-
- // create output source
- std::string output_id;
- if (axis == -1)
- output_id = create_xyz_source(v, fra.size(), anim_id);
- else
- output_id = create_source_from_array(COLLADASW::InputSemantic::OUTPUT, v, fra.size(), is_rot, anim_id, axis_name);
-
- // create interpolations source
- std::string interpolation_id = create_interpolation_source(fra.size(), anim_id, axis_name);
-
- std::string sampler_id = std::string(anim_id) + SAMPLER_ID_SUFFIX;
- COLLADASW::LibraryAnimations::Sampler sampler(sw, sampler_id);
- std::string empty;
- sampler.addInput(COLLADASW::InputSemantic::INPUT, COLLADABU::URI(empty, input_id));
- sampler.addInput(COLLADASW::InputSemantic::OUTPUT, COLLADABU::URI(empty, output_id));
-
- // TODO create in/out tangents source
-
- // this input is required
- sampler.addInput(COLLADASW::InputSemantic::INTERPOLATION, COLLADABU::URI(empty, interpolation_id));
-
- addSampler(sampler);
-
- std::string target = translate_id(ob_name + "_" + bone_name) + "/" + transform_sid;
- addChannel(COLLADABU::URI(empty, sampler_id), target);
-
- closeAnimation();
- }
-
- float convert_time(float frame)
- {
- return FRA2TIME(frame);
- }
-
- float convert_angle(float angle)
- {
- return COLLADABU::Math::Utils::radToDegF(angle);
- }
-
- std::string get_semantic_suffix(COLLADASW::InputSemantic::Semantics semantic)
- {
- switch(semantic) {
- case COLLADASW::InputSemantic::INPUT:
- return INPUT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::OUTPUT:
- return OUTPUT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::INTERPOLATION:
- return INTERPOLATION_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::IN_TANGENT:
- return INTANGENT_SOURCE_ID_SUFFIX;
- case COLLADASW::InputSemantic::OUT_TANGENT:
- return OUTTANGENT_SOURCE_ID_SUFFIX;
- default:
- break;
- }
- return "";
- }
-
- void add_source_parameters(COLLADASW::SourceBase::ParameterNameList& param,
- COLLADASW::InputSemantic::Semantics semantic, bool is_rot, const char *axis)
- {
- switch(semantic) {
- case COLLADASW::InputSemantic::INPUT:
- param.push_back("TIME");
- break;
- case COLLADASW::InputSemantic::OUTPUT:
- if (is_rot) {
- param.push_back("ANGLE");
- }
- else {
- if (axis) {
- param.push_back(axis);
- }
- else {
- param.push_back("X");
- param.push_back("Y");
- param.push_back("Z");
- }
- }
- break;
- case COLLADASW::InputSemantic::IN_TANGENT:
- case COLLADASW::InputSemantic::OUT_TANGENT:
- param.push_back("X");
- param.push_back("Y");
- break;
- default:
- break;
- }
- }
-
- void get_source_values(BezTriple *bezt, COLLADASW::InputSemantic::Semantics semantic, bool rotation, float *values, int *length)
- {
- switch (semantic) {
- case COLLADASW::InputSemantic::INPUT:
- *length = 1;
- values[0] = convert_time(bezt->vec[1][0]);
- break;
- case COLLADASW::InputSemantic::OUTPUT:
- *length = 1;
- if (rotation) {
- values[0] = convert_angle(bezt->vec[1][1]);
- }
- else {
- values[0] = bezt->vec[1][1];
- }
- break;
- case COLLADASW::InputSemantic::IN_TANGENT:
- case COLLADASW::InputSemantic::OUT_TANGENT:
- // XXX
- *length = 2;
- break;
- default:
- *length = 0;
- break;
- }
- }
-
- std::string create_source_from_fcurve(COLLADASW::InputSemantic::Semantics semantic, FCurve *fcu, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- //bool is_rotation = !strcmp(fcu->rna_path, "rotation");
- bool is_rotation = false;
-
- if (strstr(fcu->rna_path, "rotation")) is_rotation = true;
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(fcu->totvert);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rotation, axis_name);
-
- source.prepareToAppendValues();
-
- for (unsigned int i = 0; i < fcu->totvert; i++) {
- float values[3]; // be careful!
- int length = 0;
-
- get_source_values(&fcu->bezt[i], semantic, is_rotation, values, &length);
- for (int j = 0; j < length; j++)
- source.appendValues(values[j]);
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_source_from_array(COLLADASW::InputSemantic::Semantics semantic, float *v, int tot, bool is_rot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rot, axis_name);
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- float val = v[i];
- if (semantic == COLLADASW::InputSemantic::INPUT)
- val = convert_time(val);
- else if (is_rot)
- val = convert_angle(val);
- source.appendValues(val);
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_source_from_vector(COLLADASW::InputSemantic::Semantics semantic, std::vector<float> &fra, bool is_rot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(fra.size());
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, is_rot, axis_name);
-
- source.prepareToAppendValues();
-
- std::vector<float>::iterator it;
- for (it = fra.begin(); it != fra.end(); it++) {
- float val = *it;
- if (semantic == COLLADASW::InputSemantic::INPUT)
- val = convert_time(val);
- else if (is_rot)
- val = convert_angle(val);
- source.appendValues(val);
- }
-
- source.finish();
-
- return source_id;
- }
-
- // only used for sources with OUTPUT semantic
- std::string create_xyz_source(float *v, int tot, const std::string& anim_id)
- {
- COLLADASW::InputSemantic::Semantics semantic = COLLADASW::InputSemantic::OUTPUT;
- std::string source_id = anim_id + get_semantic_suffix(semantic);
-
- COLLADASW::FloatSourceF source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(3);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- add_source_parameters(param, semantic, false, NULL);
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- source.appendValues(*v, *(v + 1), *(v + 2));
- v += 3;
- }
-
- source.finish();
-
- return source_id;
- }
-
- std::string create_interpolation_source(int tot, const std::string& anim_id, const char *axis_name)
- {
- std::string source_id = anim_id + get_semantic_suffix(COLLADASW::InputSemantic::INTERPOLATION);
-
- COLLADASW::NameSource source(mSW);
- source.setId(source_id);
- source.setArrayId(source_id + ARRAY_ID_SUFFIX);
- source.setAccessorCount(tot);
- source.setAccessorStride(1);
-
- COLLADASW::SourceBase::ParameterNameList &param = source.getParameterNameList();
- param.push_back("INTERPOLATION");
-
- source.prepareToAppendValues();
-
- for (int i = 0; i < tot; i++) {
- source.appendValues(LINEAR_NAME);
- }
-
- source.finish();
-
- return source_id;
- }
-
- // for rotation, axis name is always appended and the value of append_axis is ignored
- std::string get_transform_sid(char *rna_path, int tm_type, const char *axis_name, bool append_axis)
- {
- std::string tm_name;
-
- // when given rna_path, determine tm_type from it
- if (rna_path) {
- char *name = extract_transform_name(rna_path);
-
- if (strstr(name, "rotation"))
- tm_type = 0;
- else if (!strcmp(name, "scale"))
- tm_type = 1;
- else if (!strcmp(name, "location"))
- tm_type = 2;
- else
- tm_type = -1;
- }
-
- switch (tm_type) {
- case 0:
- return std::string("rotation") + std::string(axis_name) + ".ANGLE";
- case 1:
- tm_name = "scale";
- break;
- case 2:
- tm_name = "location";
- break;
- default:
- tm_name = "";
- break;
- }
-
- if (tm_name.size()) {
- if (append_axis)
- return tm_name + std::string(".") + std::string(axis_name);
- else
- return tm_name;
- }
-
- return std::string("");
- }
-
- char *extract_transform_name(char *rna_path)
- {
- char *dot = strrchr(rna_path, '.');
- return dot ? (dot + 1) : rna_path;
- }
-
- void find_frames(Object *ob, std::vector<float> &fra, const char *prefix, const char *tm_name)
- {
- FCurve *fcu= (FCurve*)ob->adt->action->curves.first;
-
- for (; fcu; fcu = fcu->next) {
- if (prefix && strncmp(prefix, fcu->rna_path, strlen(prefix)))
- continue;
-
- char *name = extract_transform_name(fcu->rna_path);
- if (!strcmp(name, tm_name)) {
- for (unsigned int i = 0; i < fcu->totvert; i++) {
- float f = fcu->bezt[i].vec[1][0];
- if (std::find(fra.begin(), fra.end(), f) == fra.end())
- fra.push_back(f);
- }
- }
- }
-
- // keep the keys in ascending order
- std::sort(fra.begin(), fra.end());
- }
-
- void find_rotation_frames(Object *ob, std::vector<float> &fra, const char *prefix, int rotmode)
- {
- if (rotmode > 0)
- find_frames(ob, fra, prefix, "rotation_euler");
- else if (rotmode == ROT_MODE_QUAT)
- find_frames(ob, fra, prefix, "rotation_quaternion");
- /*else if (rotmode == ROT_MODE_AXISANGLE)
- ;*/
- }
-
- // enable fcurves driving a specific bone, disable all the rest
- // if bone_name = NULL enable all fcurves
- void enable_fcurves(bAction *act, char *bone_name)
- {
- FCurve *fcu;
- char prefix[200];
-
- if (bone_name)
- BLI_snprintf(prefix, sizeof(prefix), "pose.bones[\"%s\"]", bone_name);
-
- for (fcu = (FCurve*)act->curves.first; fcu; fcu = fcu->next) {
- if (bone_name) {
- if (!strncmp(fcu->rna_path, prefix, strlen(prefix)))
- fcu->flag &= ~FCURVE_DISABLED;
- else
- fcu->flag |= FCURVE_DISABLED;
- }
- else {
- fcu->flag &= ~FCURVE_DISABLED;
- }
- }
- }
-
- bool hasAnimations(Scene *sce)
- {
- Base *base= (Base*) sce->base.first;
- while(base) {
- Object *ob = base->object;
-
- FCurve *fcu = 0;
- if(ob->adt && ob->adt->action)
- fcu = (FCurve*)ob->adt->action->curves.first;
-
- if ((ob->type == OB_ARMATURE && ob->data) || fcu) {
- return true;
- }
- base= base->next;
- }
- return false;
- }
-};
-
-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; */
@@ -952,9 +328,7 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
//scale = RNA_struct_find_property(&unit_settings, "scale_length");
std::string unitname = "meter";
- float linearmeasure = 1.0f;
-
- linearmeasure = RNA_float_get(&unit_settings, "scale_length");
+ float linearmeasure = RNA_float_get(&unit_settings, "scale_length");
switch(RNA_property_enum_get(&unit_settings, system)) {
case USER_UNIT_NONE:
@@ -992,14 +366,13 @@ void DocumentExporter::exportCurrentScene(Scene *sce, const char* filename)
asset.setUnit(unitname, linearmeasure);
asset.setUpAxisType(COLLADASW::Asset::Z_UP);
- // TODO: need an Author field in userpref
- if(strlen(U.author) > 0) {
+ if(U.author[0] != '\0') {
asset.getContributor().mAuthor = U.author;
}
else {
asset.getContributor().mAuthor = "Blender User";
}
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
char version_buf[128];
sprintf(version_buf, "Blender %d.%02d.%d r%s", BLENDER_VERSION/100, BLENDER_VERSION%100, BLENDER_SUBVERSION, build_rev);
asset.getContributor().mAuthoringTool = version_buf;
@@ -1011,31 +384,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 +418,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..366837421e3 100644
--- a/source/blender/collada/DocumentImporter.cpp
+++ b/source/blender/collada/DocumentImporter.cpp
@@ -76,6 +76,7 @@
#include "MEM_guardedalloc.h"
#include "ExtraHandler.h"
+#include "ErrorHandler.h"
#include "DocumentImporter.h"
#include "TransformReader.h"
@@ -113,17 +114,19 @@ DocumentImporter::~DocumentImporter()
bool DocumentImporter::import()
{
- /** TODO Add error handler (implement COLLADASaxFWL::IErrorHandler */
- COLLADASaxFWL::Loader loader;
+ ErrorHandler errorHandler;
+ COLLADASaxFWL::Loader loader(&errorHandler);
COLLADAFW::Root root(&loader, this);
- ExtraHandler *ehandler = new ExtraHandler(this);
+ ExtraHandler *ehandler = new ExtraHandler(this, &(this->anim_importer));
loader.registerExtraDataCallbackHandler(ehandler);
-
if (!root.loadDocument(mFilename))
return false;
+ if(errorHandler.hasError())
+ return false;
+
/** TODO set up scene graph and such here */
mImportStage = Controller;
@@ -190,7 +193,7 @@ void DocumentImporter::finish()
write_node(roots[i], NULL, sce, NULL, false);
}
}
-
+ armature_importer.set_tags_map(this->uid_tags_map);
armature_importer.make_armatures(mContext);
#if 0
@@ -240,22 +243,23 @@ void DocumentImporter::translate_anim_recursive(COLLADAFW::Node *node, COLLADAFW
root_map[node->getUniqueId()] = root_map[par->getUniqueId()];
}
- COLLADAFW::Transformation::TransformationType types[] = {
+ /*COLLADAFW::Transformation::TransformationType types[] = {
COLLADAFW::Transformation::ROTATE,
COLLADAFW::Transformation::SCALE,
COLLADAFW::Transformation::TRANSLATE,
COLLADAFW::Transformation::MATRIX
};
+ Object *ob;*/
unsigned int i;
- Object *ob;
- for (i = 0; i < 4; i++)
- ob = anim_importer.translate_animation(node, object_map, root_map, types[i]);
+ //for (i = 0; i < 4; i++)
+ //ob =
+ anim_importer.translate_Animations(node, root_map, object_map, FW_object_map);
COLLADAFW::NodePointerArray &children = node->getChildNodes();
for (i = 0; i < children.getCount(); i++) {
- translate_anim_recursive(children[i], node, ob);
+ translate_anim_recursive(children[i], node, NULL);
}
}
@@ -309,7 +313,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 +357,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 +371,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;
}
@@ -377,7 +386,14 @@ void DocumentImporter::write_node (COLLADAFW::Node *node, COLLADAFW::Node *paren
bool is_joint = node->getType() == COLLADAFW::Node::JOINT;
if (is_joint) {
- armature_importer.add_joint(node, parent_node == NULL || parent_node->getType() != COLLADAFW::Node::JOINT, par);
+ if ( par ) {
+ Object * empty = par;
+ par = add_object(sce, OB_ARMATURE);
+ bc_set_parent(par,empty->parent, mContext);
+ //remove empty : todo
+ object_map[parent_node->getUniqueId()] = par;
+ }
+ armature_importer.add_joint(node, parent_node == NULL || parent_node->getType() != COLLADAFW::Node::JOINT, par, sce);
}
else {
COLLADAFW::InstanceGeometryPointerArray &geom = node->getInstanceGeometries();
@@ -385,11 +401,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 +439,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 +452,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 +535,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 +687,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()) {
@@ -696,13 +725,21 @@ bool DocumentImporter::writeEffect( const COLLADAFW::Effect* effect )
return true;
const COLLADAFW::UniqueId& uid = effect->getUniqueId();
+
if (uid_effect_map.find(uid) == uid_effect_map.end()) {
fprintf(stderr, "Couldn't find a material by UID.\n");
return true;
}
Material *ma = uid_effect_map[uid];
-
+ std::map<COLLADAFW::UniqueId, Material*>::iterator iter;
+ for(iter = uid_material_map.begin(); iter != uid_material_map.end() ; iter++ )
+ {
+ if ( iter->second == ma ) {
+ this->FW_object_map[iter->first] = effect;
+ break;
+ }
+ }
COLLADAFW::CommonEffectPointerArray common_efs = effect->getCommonEffects();
if (common_efs.getCount() < 1) {
fprintf(stderr, "Couldn't find <profile_COMMON>.\n");
@@ -712,7 +749,8 @@ bool DocumentImporter::writeEffect( const COLLADAFW::Effect* effect )
// Currently only first <profile_common> is supported
COLLADAFW::EffectCommon *ef = common_efs[0];
write_profile_COMMON(ef, ma);
-
+ this->FW_object_map[effect->getUniqueId()] = effect;
+
return true;
}
@@ -828,6 +866,7 @@ bool DocumentImporter::writeCamera( const COLLADAFW::Camera* camera )
}
this->uid_camera_map[camera->getUniqueId()] = cam;
+ this->FW_object_map[camera->getUniqueId()] = camera;
// XXX import camera options
return true;
}
@@ -959,12 +998,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 +1026,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 +1046,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:
@@ -1019,6 +1064,7 @@ bool DocumentImporter::writeLight( const COLLADAFW::Light* light )
}
this->uid_lamp_map[light->getUniqueId()] = lamp;
+ this->FW_object_map[light->getUniqueId()] = light;
return true;
}
diff --git a/source/blender/collada/DocumentImporter.h b/source/blender/collada/DocumentImporter.h
index e57d621eeef..a347eed3e5a 100644
--- a/source/blender/collada/DocumentImporter.h
+++ b/source/blender/collada/DocumentImporter.h
@@ -38,6 +38,8 @@
#include "COLLADAFWController.h"
#include "COLLADAFWMorphController.h"
#include "COLLADAFWSkinController.h"
+#include "COLLADAFWEffectCommon.h"
+
#include "BKE_object.h"
@@ -45,7 +47,7 @@
#include "AnimationImporter.h"
#include "ArmatureImporter.h"
#include "MeshImporter.h"
-#include "ExtraTags.h"
+
struct Main;
@@ -72,7 +74,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*);
@@ -155,8 +157,9 @@ private:
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> node_map;
std::vector<const COLLADAFW::VisualScene*> vscenes;
std::vector<Object*> libnode_ob;
-
+
std::map<COLLADAFW::UniqueId, COLLADAFW::Node*> root_map; // find root joint by child joint uid, for bone tree evaluation during resampling
+ std::map<COLLADAFW::UniqueId, const COLLADAFW::Object*> FW_object_map;
};
diff --git a/source/blender/collada/EffectExporter.cpp b/source/blender/collada/EffectExporter.cpp
index ff714533199..355e384d000 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();
}
@@ -94,10 +94,10 @@ void EffectsExporter::writeBlinn(COLLADASW::EffectProfile &ep, Material *ma)
COLLADASW::ColorOrTexture cot;
ep.setShaderType(COLLADASW::EffectProfile::BLINN);
// shininess
- ep.setShininess(ma->har);
+ ep.setShininess(ma->har, false , "shininess");
// specular
cot = getcol(ma->specr, ma->specg, ma->specb, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular" );
}
void EffectsExporter::writeLambert(COLLADASW::EffectProfile &ep, Material *ma)
@@ -111,10 +111,10 @@ void EffectsExporter::writePhong(COLLADASW::EffectProfile &ep, Material *ma)
COLLADASW::ColorOrTexture cot;
ep.setShaderType(COLLADASW::EffectProfile::PHONG);
// shininess
- ep.setShininess(ma->har);
+ ep.setShininess(ma->har , false , "shininess" );
// specular
cot = getcol(ma->specr, ma->specg, ma->specb, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular" );
}
void EffectsExporter::operator()(Material *ma, Object *ob)
@@ -150,10 +150,10 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// index of refraction
if (ma->mode & MA_RAYTRANSP) {
- ep.setIndexOfRefraction(ma->ang);
+ ep.setIndexOfRefraction(ma->ang, false , "index_of_refraction");
}
else {
- ep.setIndexOfRefraction(1.0f);
+ ep.setIndexOfRefraction(1.0f, false , "index_of_refraction");
}
COLLADASW::ColorOrTexture cot;
@@ -161,22 +161,22 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// transparency
if (ma->mode & MA_TRANSP) {
// Tod: because we are in A_ONE mode transparency is calculated like this:
- ep.setTransparency(ma->alpha);
+ ep.setTransparency(ma->alpha, false , "transparency");
// cot = getcol(1.0f, 1.0f, 1.0f, 1.0f);
// ep.setTransparent(cot);
}
// emission
cot=getcol(ma->emit, ma->emit, ma->emit, 1.0f);
- ep.setEmission(cot);
+ ep.setEmission(cot, false , "emission");
// diffuse multiplied by diffuse intensity
cot = getcol(ma->r * ma->ref, ma->g * ma->ref, ma->b * ma->ref, 1.0f);
- ep.setDiffuse(cot);
+ ep.setDiffuse(cot, false , "diffuse");
// ambient
cot = getcol(ma->ambr, ma->ambg, ma->ambb, 1.0f);
- ep.setAmbient(cot);
+ ep.setAmbient(cot, false , "ambient");
// reflective, reflectivity
if (ma->mode & MA_RAYMIRROR) {
@@ -193,7 +193,7 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
// specular
if (ep.getShaderType() != COLLADASW::EffectProfile::LAMBERT) {
cot = getcol(ma->specr * ma->spec, ma->specg * ma->spec, ma->specb * ma->spec, 1.0f);
- ep.setSpecular(cot);
+ ep.setSpecular(cot, false , "specular");
}
// XXX make this more readable if possible
@@ -273,20 +273,20 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
std::string uvname = strlen(t->uvname) ? t->uvname : active_uv;
// color
- if (t->mapto & MAP_COL) {
- ep.setDiffuse(createTexture(ima, uvname, sampler));
+ if (t->mapto & (MAP_COL | MAP_COLSPEC)) {
+ ep.setDiffuse(createTexture(ima, uvname, sampler), false , "diffuse");
}
// ambient
if (t->mapto & MAP_AMB) {
- ep.setAmbient(createTexture(ima, uvname, sampler));
+ ep.setAmbient(createTexture(ima, uvname, sampler), false , "ambient");
}
// specular
if (t->mapto & MAP_SPEC) {
- ep.setSpecular(createTexture(ima, uvname, sampler));
+ ep.setSpecular(createTexture(ima, uvname, sampler), false , "specular");
}
// emission
if (t->mapto & MAP_EMIT) {
- ep.setEmission(createTexture(ima, uvname, sampler));
+ ep.setEmission(createTexture(ima, uvname, sampler), false , "emission");
}
// reflective
if (t->mapto & MAP_REF) {
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/ErrorHandler.cpp b/source/blender/collada/ErrorHandler.cpp
new file mode 100644
index 00000000000..7108dbad18a
--- /dev/null
+++ b/source/blender/collada/ErrorHandler.cpp
@@ -0,0 +1,90 @@
+/*
+ * $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): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/collada/ErrorHandler.cpp
+ * \ingroup collada
+ */
+#include "ErrorHandler.h"
+#include <iostream>
+
+#include "COLLADASaxFWLIError.h"
+#include "COLLADASaxFWLSaxParserError.h"
+#include "COLLADASaxFWLSaxFWLError.h"
+
+#include "GeneratedSaxParserParserError.h"
+
+#include <string.h>
+
+//--------------------------------------------------------------------
+ErrorHandler::ErrorHandler() : mError(false)
+{
+}
+
+//--------------------------------------------------------------------
+ErrorHandler::~ErrorHandler()
+{
+}
+
+//--------------------------------------------------------------------
+bool ErrorHandler::handleError( const COLLADASaxFWL::IError* error )
+{
+ if ( error->getErrorClass() == COLLADASaxFWL::IError::ERROR_SAXPARSER )
+ {
+ COLLADASaxFWL::SaxParserError* saxParserError = (COLLADASaxFWL::SaxParserError*) error;
+ const GeneratedSaxParser::ParserError& parserError = saxParserError->getError();
+
+ // Workaround to avoid wrong error
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_VALIDATION_MIN_OCCURS_UNMATCHED)
+ {
+ if ( strcmp(parserError.getElement(), "effect") == 0 )
+ {
+ return false;
+ }
+ }
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_VALIDATION_SEQUENCE_PREVIOUS_SIBLING_NOT_PRESENT)
+ {
+ if ( (strcmp(parserError.getElement(), "extra") == 0)
+ && (strcmp(parserError.getAdditionalText().c_str(), "sibling: fx_profile_abstract") == 0))
+ {
+ return false;
+ }
+ }
+
+ if ( parserError.getErrorType() == GeneratedSaxParser::ParserError::ERROR_COULD_NOT_OPEN_FILE)
+ {
+ std::cout << "Couldn't open file" << std::endl;
+ mError = true;
+ }
+
+ std::cout << "Schema validation error: " << parserError.getErrorMessage() << std::endl;
+ mError = true;
+ }
+ else if ( error->getErrorClass() == COLLADASaxFWL::IError::ERROR_SAXFWL )
+ {
+ COLLADASaxFWL::SaxFWLError* saxFWLError = (COLLADASaxFWL::SaxFWLError*) error;
+ std::cout << "Sax FWL Error: " << saxFWLError->getErrorMessage() << std::endl;
+ mError = true;
+ }
+ return false;
+}
diff --git a/source/blender/collada/ErrorHandler.h b/source/blender/collada/ErrorHandler.h
new file mode 100644
index 00000000000..4064abb89f6
--- /dev/null
+++ b/source/blender/collada/ErrorHandler.h
@@ -0,0 +1,58 @@
+/*
+ * $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): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/collada/ErrorHandler.h
+ * \ingroup collada
+ */
+
+#include <string>
+#include <map>
+#include <vector>
+#include <algorithm> // sort()
+
+#include "COLLADASaxFWLIErrorHandler.h"
+
+/** \brief Handler class for parser errors
+ */
+class ErrorHandler : public COLLADASaxFWL::IErrorHandler
+{
+public:
+ /** Constructor. */
+ ErrorHandler();
+
+ /** Destructor. */
+ virtual ~ErrorHandler();
+ /** handle any error thrown by the parser. */
+ bool virtual handleError(const COLLADASaxFWL::IError* error);
+ /** True if there was an error during parsing. */
+ bool hasError() { return mError; }
+private:
+ /** Disable default copy ctor. */
+ ErrorHandler( const ErrorHandler& pre );
+ /** Disable default assignment operator. */
+ const ErrorHandler& operator= ( const ErrorHandler& pre );
+ /** Hold error status. */
+ bool mError;
+};
+
diff --git a/source/blender/collada/ExtraHandler.cpp b/source/blender/collada/ExtraHandler.cpp
index 9999a61a470..820665ad757 100644
--- a/source/blender/collada/ExtraHandler.cpp
+++ b/source/blender/collada/ExtraHandler.cpp
@@ -31,9 +31,10 @@
#include "ExtraHandler.h"
-ExtraHandler::ExtraHandler(DocumentImporter *dimp) : currentExtraTags(0)
+ExtraHandler::ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp) : currentExtraTags(0)
{
this->dimp = dimp;
+ this->aimp = aimp;
}
ExtraHandler::~ExtraHandler() {}
@@ -42,6 +43,7 @@ bool ExtraHandler::elementBegin( const char* elementName, const char** attribute
{
// \todo attribute handling for profile tags
currentElement = std::string(elementName);
+ //addToSidTree(attributes[0], attributes[1]);
return true;
}
@@ -54,7 +56,7 @@ bool ExtraHandler::textData(const char* text, size_t textLength)
{
char buf[1024];
- if(currentElement.length() == 0) return false;
+ if(currentElement.length() == 0 || currentExtraTags == 0) return false;
BLI_snprintf(buf, textLength+1, "%s", text);
currentExtraTags->addTag(currentElement, std::string(buf));
diff --git a/source/blender/collada/ExtraHandler.h b/source/blender/collada/ExtraHandler.h
index de3b063290d..7296aaf1eb4 100644
--- a/source/blender/collada/ExtraHandler.h
+++ b/source/blender/collada/ExtraHandler.h
@@ -32,8 +32,10 @@
#include <algorithm> // sort()
#include "COLLADASaxFWLIExtraDataCallbackHandler.h"
+#include "COLLADASaxFWLFilePartLoader.h"
#include "DocumentImporter.h"
+#include "AnimationImporter.h"
/** \brief Handler class for <extra> data, through which different
* profiles can be handled
@@ -42,7 +44,7 @@ class ExtraHandler : public COLLADASaxFWL::IExtraDataCallbackHandler
{
public:
/** Constructor. */
- ExtraHandler(DocumentImporter *dimp);
+ ExtraHandler(DocumentImporter *dimp, AnimationImporter *aimp);
/** Destructor. */
virtual ~ExtraHandler();
@@ -69,6 +71,7 @@ private:
/** Handle to DocumentImporter for interface to extra element data saving. */
DocumentImporter* dimp;
+ AnimationImporter* aimp;
/** Holds Id of element for which <extra> XML elements are handled. */
COLLADAFW::UniqueId currentUid;
ExtraTags* currentExtraTags;
diff --git a/source/blender/collada/ExtraTags.cpp b/source/blender/collada/ExtraTags.cpp
index 653d4a377cd..f0c6d2228b1 100644
--- a/source/blender/collada/ExtraTags.cpp
+++ b/source/blender/collada/ExtraTags.cpp
@@ -90,32 +90,28 @@ std::string ExtraTags::asString( std::string tag, bool *ok)
void ExtraTags::setData(std::string tag, short *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = (short)tmp;
}
void ExtraTags::setData(std::string tag, int *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = tmp;
}
void ExtraTags::setData(std::string tag, float *data)
{
bool ok = false;
- float tmp = 0.0f;
- tmp = asFloat(tag, &ok);
+ float tmp = asFloat(tag, &ok);
if(ok)
*data = tmp;
}
void ExtraTags::setData(std::string tag, char *data)
{
bool ok = false;
- int tmp = 0;
- tmp = asInt(tag, &ok);
+ int tmp = asInt(tag, &ok);
if(ok)
*data = (char)tmp;
}
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..d9d265a66fc 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,16 @@ 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))
+ && ((sce->lay & ob->lay)!=0)) {
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..31ade5604a7 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,59 +54,58 @@ 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();
}
+
void LightsExporter::operator()(Object *ob)
{
Lamp *la = (Lamp*)ob->data;
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);
- cla.setColor(col);
+ COLLADASW::DirectionalLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
addLight(cla);
}
// hemi
else if (la->type == LA_HEMI) {
- COLLADASW::AmbientLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::AmbientLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
exportBlenderProfile(cla, la);
addLight(cla);
}
// spot
else if (la->type == LA_SPOT) {
- COLLADASW::SpotLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
- cla.setFallOffAngle(la->spotsize);
- cla.setFallOffExponent(la->spotblend);
+ COLLADASW::SpotLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
+ cla.setFallOffAngle(la->spotsize,false,"fall_off_angle");
+ cla.setFallOffExponent(la->spotblend,false,"fall_off_exponent");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -114,8 +114,8 @@ void LightsExporter::operator()(Object *ob)
}
// lamp
else if (la->type == LA_LOCAL) {
- COLLADASW::PointLight cla(mSW, la_id, la_name, e);
- cla.setColor(col);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -125,8 +125,8 @@ 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);
- cla.setColor(col);
+ COLLADASW::PointLight cla(mSW, la_id, la_name);
+ cla.setColor(col,false,"color");
cla.setConstantAttenuation(constatt);
cla.setLinearAttenuation(linatt);
cla.setQuadraticAttenuation(quadatt);
@@ -141,18 +141,18 @@ bool LightsExporter::exportBlenderProfile(COLLADASW::Light &cla, Lamp *la)
cla.addExtraTechniqueParameter("blender", "type", la->type);
cla.addExtraTechniqueParameter("blender", "flag", la->flag);
cla.addExtraTechniqueParameter("blender", "mode", la->mode);
- cla.addExtraTechniqueParameter("blender", "gamma", la->k);
+ cla.addExtraTechniqueParameter("blender", "gamma", la->k, "blender_gamma");
cla.addExtraTechniqueParameter("blender", "red", la->r);
cla.addExtraTechniqueParameter("blender", "green", la->g);
cla.addExtraTechniqueParameter("blender", "blue", la->b);
- cla.addExtraTechniqueParameter("blender", "shadow_r", la->shdwr);
- cla.addExtraTechniqueParameter("blender", "shadow_g", la->shdwg);
- cla.addExtraTechniqueParameter("blender", "shadow_b", la->shdwb);
- cla.addExtraTechniqueParameter("blender", "energy", la->energy);
- cla.addExtraTechniqueParameter("blender", "dist", la->dist);
+ cla.addExtraTechniqueParameter("blender", "shadow_r", la->shdwr, "blender_shadow_r");
+ cla.addExtraTechniqueParameter("blender", "shadow_g", la->shdwg, "blender_shadow_g");
+ cla.addExtraTechniqueParameter("blender", "shadow_b", la->shdwb, "blender_shadow_b");
+ cla.addExtraTechniqueParameter("blender", "energy", la->energy, "blender_energy");
+ cla.addExtraTechniqueParameter("blender", "dist", la->dist, "blender_dist");
cla.addExtraTechniqueParameter("blender", "spotsize", la->spotsize);
cla.addExtraTechniqueParameter("blender", "spotblend", la->spotblend);
- cla.addExtraTechniqueParameter("blender", "halo_intensity", la->haint);
+ cla.addExtraTechniqueParameter("blender", "halo_intensity", la->haint, "blnder_halo_intensity");
cla.addExtraTechniqueParameter("blender", "att1", la->att1);
cla.addExtraTechniqueParameter("blender", "att2", la->att2);
// \todo figure out how we can have falloff curve supported here
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..15bd9c48f12 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) {
+ 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,17 +238,17 @@ 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],
mtface->uv[2][0], mtface->uv[2][1]);
- }*/
+ }
#endif
}
@@ -426,7 +411,7 @@ int MeshImporter::count_new_tris(COLLADAFW::Mesh *mesh, Mesh *me)
}
// TODO: import uv set names
-void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris) //TODO:: Refactor. Possibly replace by iterators
+void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris) //TODO:: Refactor. Possibly replace by iterators
{
unsigned int i;
@@ -602,7 +587,7 @@ void MeshImporter::read_faces(COLLADAFW::Mesh *mesh, Mesh *me, int new_tris)
for (k = 0; k < index_list_array.getCount(); k++) {
// get mtface by face index and uv set index
MTFace *mtface = (MTFace*)CustomData_get_layer_n(&me->fdata, CD_MTFACE, k);
- set_face_uv(&mtface[face_index], uvs, *index_list_array[k], index, mface->v4 != 0);
+ set_face_uv(&mtface[face_index], uvs, *index_list_array[k], index, vcount == 4);
}
#endif
@@ -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];
@@ -809,7 +796,7 @@ MTFace *MeshImporter::assign_material_to_geom(COLLADAFW::MaterialBinding cmateri
std::multimap<COLLADAFW::UniqueId, COLLADAFW::UniqueId>::iterator it;
it=materials_mapped_to_geom.find(*geom_uid);
while(it!=materials_mapped_to_geom.end()) {
- if(it->second == ma_uid) return NULL; // do nothing if already found
+ if(it->second == ma_uid && it->first == *geom_uid) return NULL; // do nothing if already found
it++;
}
// first time we get geom_uid, ma_uid pair. Save for later check.
@@ -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/SConscript b/source/blender/collada/SConscript
index 3dd6160c445..17cca9e3706 100644
--- a/source/blender/collada/SConscript
+++ b/source/blender/collada/SConscript
@@ -38,6 +38,6 @@ else:
incs = '../blenlib ../blenkernel ../windowmanager ../makesdna ../blenloader ../makesrna ../editors/include ../../../intern/guardedalloc [OPENCOLLADA]/COLLADAStreamWriter/include [OPENCOLLADA]/COLLADABaseUtils/include [OPENCOLLADA]/COLLADAFramework/include [OPENCOLLADA]/COLLADASaxFrameworkLoader/include [OPENCOLLADA]/GeneratedSaxParser/include '.replace('[OPENCOLLADA]', env['BF_OPENCOLLADA_INC'])
if env['BF_BUILDINFO']:
- defs.append('NAN_BUILDINFO')
+ defs.append('WITH_BUILDINFO')
env.BlenderLib ('bf_collada', sources, Split(incs), defs, libtype='core', priority=200 )
diff --git a/source/blender/collada/SkinInfo.cpp b/source/blender/collada/SkinInfo.cpp
index 10780de2e70..1d890415ebe 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.
@@ -266,9 +266,9 @@ void SkinInfo::link_armature(bContext *C, Object *ob, std::map<COLLADAFW::Unique
// ^ bone index can be -1 meaning weight toward bind shape, how to express this in Blender?
// for each vertex in weight indices
- // for each bone index in vertex
- // add vertex to group at group index
- // treat group index -1 specially
+ // for each bone index in vertex
+ // add vertex to group at group index
+ // treat group index -1 specially
// get def group by index with BLI_findlink
@@ -308,11 +308,15 @@ void SkinInfo::find_root_joints(const std::vector<COLLADAFW::Node*> &root_joints
std::vector<COLLADAFW::Node*>& result)
{
std::vector<COLLADAFW::Node*>::const_iterator it;
+ // for each root_joint
for (it = root_joints.begin(); it != root_joints.end(); it++) {
COLLADAFW::Node *root = *it;
std::vector<JointData>::iterator ji;
+ //for each joint_data in this skin
for (ji = joint_data.begin(); ji != joint_data.end(); ji++) {
+ //get joint node from joint map
COLLADAFW::Node *joint = joint_by_uid[(*ji).joint_uid];
+ //find if joint node is in the tree belonging to the root_joint
if (find_node_in_tree(joint, root)) {
if (std::find(result.begin(), result.end(), root) == result.end())
result.push_back(root);
diff --git a/source/blender/collada/TransformReader.cpp b/source/blender/collada/TransformReader.cpp
index 3d624520e53..625a0220830 100644
--- a/source/blender/collada/TransformReader.cpp
+++ b/source/blender/collada/TransformReader.cpp
@@ -45,24 +45,24 @@ void TransformReader::get_node_mat(float mat[][4], COLLADAFW::Node *node, std::m
COLLADAFW::Transformation *tm = node->getTransformations()[i];
COLLADAFW::Transformation::TransformationType type = tm->getTransformationType();
- switch(type) {
- case COLLADAFW::Transformation::TRANSLATE:
- dae_translate_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::ROTATE:
- dae_rotate_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::SCALE:
- dae_scale_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::MATRIX:
- dae_matrix_to_mat4(tm, cur);
- break;
- case COLLADAFW::Transformation::LOOKAT:
- case COLLADAFW::Transformation::SKEW:
- fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
- break;
- }
+ switch(type) {
+ case COLLADAFW::Transformation::TRANSLATE:
+ dae_translate_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::ROTATE:
+ dae_rotate_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::SCALE:
+ dae_scale_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::MATRIX:
+ dae_matrix_to_mat4(tm, cur);
+ break;
+ case COLLADAFW::Transformation::LOOKAT:
+ case COLLADAFW::Transformation::SKEW:
+ fprintf(stderr, "LOOKAT and SKEW transformations are not supported yet.\n");
+ break;
+ }
copy_m4_m4(copy, mat);
mul_m4_m4m4(mat, cur, copy);
diff --git a/source/blender/collada/TransformWriter.cpp b/source/blender/collada/TransformWriter.cpp
index 8638e16e1c2..88ed112c3fe 100644
--- a/source/blender/collada/TransformWriter.cpp
+++ b/source/blender/collada/TransformWriter.cpp
@@ -48,9 +48,15 @@ void TransformWriter::add_node_transform(COLLADASW::Node& node, float mat[][4],
copy_m4_m4(local, mat);
}
+ double dmat[4][4];
+ UnitConverter* converter = new UnitConverter();
+ converter->mat4_to_dae_double(dmat,local);
+
TransformBase::decompose(local, loc, rot, NULL, scale);
-
- add_transform(node, loc, rot, scale);
+ if ( node.getType() == COLLADASW::Node::JOINT)
+ node.addMatrix("transform",dmat);
+ else
+ add_transform(node, loc, rot, scale);
}
void TransformWriter::add_node_transform_ob(COLLADASW::Node& node, Object *ob)
@@ -98,8 +104,12 @@ void TransformWriter::add_node_transform_identity(COLLADASW::Node& node)
void TransformWriter::add_transform(COLLADASW::Node& node, float loc[3], float rot[3], float scale[3])
{
node.addTranslate("location", loc[0], loc[1], loc[2]);
- node.addRotateZ("rotationZ", COLLADABU::Math::Utils::radToDegF(rot[2]));
+ /*node.addRotateZ("rotationZ", COLLADABU::Math::Utils::radToDegF(rot[2]));
node.addRotateY("rotationY", COLLADABU::Math::Utils::radToDegF(rot[1]));
- node.addRotateX("rotationX", COLLADABU::Math::Utils::radToDegF(rot[0]));
+ node.addRotateX("rotationX", COLLADABU::Math::Utils::radToDegF(rot[0]));*/
+ node.addRotateZ("rotationZ", rot[2] * 180.0f/M_PI);
+ node.addRotateY("rotationY", (rot[1]* 180.0f/M_PI));
+ node.addRotateX("rotationX", (rot[0]* 180.0f/M_PI));
+
node.addScale("scale", scale[0], scale[1], scale[2]);
}
diff --git a/source/blender/collada/collada.cpp b/source/blender/collada/collada.cpp
index 51caf62f6e7..4caca20531f 100644
--- a/source/blender/collada/collada.cpp
+++ b/source/blender/collada/collada.cpp
@@ -46,12 +46,12 @@ extern "C"
int collada_import(bContext *C, const char *filepath)
{
DocumentImporter imp (C, filepath);
- imp.import();
+ if(imp.import()) return 1;
- return 1;
+ return 0;
}
- 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 a3c1d035d9b..83fe91d6f76 100644
--- a/source/blender/editors/animation/CMakeLists.txt
+++ b/source/blender/editors/animation/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/animation/anim_channels_defines.c b/source/blender/editors/animation/anim_channels_defines.c
index 51fde09b074..bdc654ff25a 100644
--- a/source/blender/editors/animation/anim_channels_defines.c
+++ b/source/blender/editors/animation/anim_channels_defines.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -55,6 +53,7 @@
#include "DNA_node_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
+#include "DNA_speaker_types.h"
#include "RNA_access.h"
@@ -159,8 +158,8 @@ static void acf_generic_channel_color(bAnimContext *ac, bAnimListElem *ale, floa
short indent= (acf->get_indent_level) ? acf->get_indent_level(ac, ale) : 0;
/* get context info needed... */
- if ((ac->sa) && (ac->sa->spacetype == SPACE_ACTION))
- saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac->sl) && (ac->spacetype == SPACE_ACTION))
+ saction= (SpaceAction *)ac->sl;
if (ale->type == ANIMTYPE_FCURVE) {
FCurve *fcu= (FCurve *)ale->data;
@@ -235,13 +234,6 @@ static short acf_generic_indention_flexible(bAnimContext *UNUSED(ac), bAnimListE
{
short indent= 0;
- if (ale->id) {
- /* special exception for materials, textures, and particles */
- // xxx should tex use indention 2?
- if (ELEM3(GS(ale->id->name),ID_MA,ID_PA,ID_TE))
- indent++;
- }
-
/* grouped F-Curves need extra level of indention */
if (ale->type == ANIMTYPE_FCURVE) {
FCurve *fcu= (FCurve *)ale->data;
@@ -266,36 +258,53 @@ static short acf_generic_basic_offset(bAnimContext *ac, bAnimListElem *ale)
return 0;
}
+/* offset based on nodetree type */
+static short acf_nodetree_rootType_offset(bNodeTree *ntree)
+{
+ if (ntree) {
+ switch (ntree->type) {
+ case NTREE_SHADER:
+ /* 1 additional level (i.e. is indented one level in from material,
+ * so shift all right by one step)
+ */
+ return INDENT_STEP_SIZE;
+
+ case NTREE_COMPOSIT:
+ /* no additional levels needed */
+ return 0;
+
+ case NTREE_TEXTURE:
+ /* 2 additional levels */
+ return INDENT_STEP_SIZE*2;
+ }
+ }
+
+ // unknown
+ return 0;
+}
+
/* offset for groups + grouped entities */
static short acf_generic_group_offset(bAnimContext *ac, bAnimListElem *ale)
{
short offset= acf_generic_basic_offset(ac, ale);
if (ale->id) {
- /* special exception for textures */
+ /* texture animdata */
if (GS(ale->id->name) == ID_TE) {
- /* minimum offset */
offset += 21;
-
- /* special offset from owner type */
- switch (ale->ownertype) {
- case ANIMTYPE_DSMAT:
- offset += 21;
- break;
-
- case ANIMTYPE_DSLAM:
- case ANIMTYPE_DSWOR:
- offset += 14;
- break;
- }
}
- /* special exception for materials and particles */
+ /* materials and particles animdata */
else if (ELEM(GS(ale->id->name),ID_MA,ID_PA))
- offset += 21;
+ offset += 14;
- /* if not in Action Editor mode, groupings must carry some offset too... */
+ /* if not in Action Editor mode, action-groups (and their children) must carry some offset too... */
else if (ac->datatype != ANIMCONT_ACTION)
offset += 14;
+
+ /* nodetree animdata */
+ if (GS(ale->id->name) == ID_NT) {
+ offset += acf_nodetree_rootType_offset((bNodeTree*)ale->id);
+ }
}
/* offset is just the normal type - i.e. based on indention */
@@ -314,6 +323,26 @@ static void acf_generic_idblock_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, id->name+2, ANIM_CHAN_NAME_SIZE);
}
+/* name property for ID block entries */
+static short acf_generic_idblock_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ RNA_id_pointer_create(ale->id, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
+
+/* name property for ID block entries which are just subheading "fillers" */
+static short acf_generic_idfill_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ /* actual ID we're representing is stored in ale->data not ale->id, as id gives the owner */
+ RNA_id_pointer_create(ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
/* Settings ------------------------------------------- */
#if 0
@@ -324,46 +353,6 @@ static short acf_generic_none_setting_valid(bAnimContext *ac, bAnimListElem *ale
}
#endif
-/* check if some setting exists for this object-based data-expander (category only) */
-static short acf_generic_dsexpand_setting_valid(bAnimContext *ac, bAnimListElem *ale, int setting)
-{
- switch (setting) {
- /* only expand supported everywhere */
- case ACHANNEL_SETTING_EXPAND:
- return 1;
-
- /* visible
- * - only available in Graph Editor
- * - NOT available for 'filler' channels
- */
- case ACHANNEL_SETTING_VISIBLE:
- if (ELEM3(ale->type, ANIMTYPE_FILLMATD, ANIMTYPE_FILLPARTD, ANIMTYPE_FILLTEXD))
- return 0;
- else
- return ((ac) && (ac->spacetype == SPACE_IPO));
-
- default:
- return 0;
- }
-}
-
-/* get pointer to the setting (category only) */
-static void *acf_generic_dsexpand_setting_ptr(bAnimListElem *ale, int setting, short *type)
-{
- Object *ob= (Object *)ale->data;
-
- /* clear extra return data first */
- *type= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- GET_ACF_FLAG_PTR(ob->nlaflag); // XXX
-
- default: /* unsupported */
- return NULL;
- }
-}
-
/* check if some setting exists for this object-based data-expander (datablock only) */
static short acf_generic_dataexpand_setting_valid(bAnimContext *ac, bAnimListElem *UNUSED(ale), int setting)
{
@@ -459,8 +448,8 @@ static void *acf_summary_setting_ptr(bAnimListElem *ale, int setting, short *typ
/* if data is valid, return pointer to active dopesheet's relevant flag
* - this is restricted to DopeSheet/Action Editor only
*/
- if ((ac->sa) && (ac->spacetype == SPACE_ACTION) && (setting == ACHANNEL_SETTING_EXPAND)) {
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac->sl) && (ac->spacetype == SPACE_ACTION) && (setting == ACHANNEL_SETTING_EXPAND)) {
+ SpaceAction *saction= (SpaceAction *)ac->sl;
bDopeSheet *ads= &saction->ads;
/* return pointer to DopeSheet's flag */
@@ -484,6 +473,7 @@ static bAnimChannelType ACF_SUMMARY =
NULL, /* offset */
acf_summary_name, /* name */
+ NULL, /* name prop */
acf_summary_icon, /* icon */
acf_summary_setting_valid, /* has setting */
@@ -585,6 +575,7 @@ static bAnimChannelType ACF_SCENE =
NULL, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_scene_icon, /* icon */
acf_scene_setting_valid, /* has setting */
@@ -614,7 +605,9 @@ static int acf_object_icon(bAnimListElem *ale)
return ICON_OUTLINER_OB_META;
case OB_LATTICE:
return ICON_OUTLINER_OB_LATTICE;
- case OB_ARMATURE:
+ case OB_SPEAKER:
+ return ICON_OUTLINER_OB_SPEAKER;
+ case OB_ARMATURE:
return ICON_OUTLINER_OB_ARMATURE;
case OB_FONT:
return ICON_OUTLINER_OB_FONT;
@@ -729,6 +722,7 @@ static bAnimChannelType ACF_OBJECT =
NULL, /* offset */
acf_object_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_object_icon, /* icon */
acf_object_setting_valid, /* has setting */
@@ -776,13 +770,22 @@ static void acf_group_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, agrp->name, ANIM_CHAN_NAME_SIZE);
}
+/* name property for group entries */
+static short acf_group_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ RNA_pointer_create(ale->id, &RNA_ActionGroup, ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+}
+
/* check if some setting exists for this channel */
static short acf_group_setting_valid(bAnimContext *ac, bAnimListElem *UNUSED(ale), int setting)
{
/* for now, all settings are supported, though some are only conditionally */
switch (setting) {
case ACHANNEL_SETTING_VISIBLE: /* Only available in Graph Editor */
- return ((ac->sa) && (ac->sa->spacetype==SPACE_IPO));
+ return (ac->spacetype==SPACE_IPO);
default: /* always supported */
return 1;
@@ -846,6 +849,7 @@ static bAnimChannelType ACF_GROUP =
acf_generic_group_offset, /* offset */
acf_group_name, /* name */
+ acf_group_name_prop, /* name prop */
NULL, /* icon */
acf_group_setting_valid, /* has setting */
@@ -879,7 +883,7 @@ static short acf_fcurve_setting_valid(bAnimContext *ac, bAnimListElem *ale, int
return 0; // NOTE: in this special case, we need to draw ICON_ZOOMOUT
case ACHANNEL_SETTING_VISIBLE: /* Only available in Graph Editor */
- return ((ac->sa) && (ac->sa->spacetype==SPACE_IPO));
+ return (ac->spacetype==SPACE_IPO);
/* always available */
default:
@@ -932,6 +936,7 @@ static bAnimChannelType ACF_FCURVE =
acf_generic_group_offset, /* offset */
acf_fcurve_name, /* name */
+ NULL, /* name prop */
NULL, /* icon */
acf_fcurve_setting_valid, /* has setting */
@@ -1016,6 +1021,7 @@ static bAnimChannelType ACF_FILLACTD =
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_fillactd_icon, /* icon */
acf_fillactd_setting_valid, /* has setting */
@@ -1028,7 +1034,7 @@ static bAnimChannelType ACF_FILLACTD =
// TODO: just get this from RNA?
static int acf_filldrivers_icon(bAnimListElem *UNUSED(ale))
{
- return ICON_ANIM_DATA;
+ return ICON_DRIVER;
}
static void acf_filldrivers_name(bAnimListElem *UNUSED(ale), char *name)
@@ -1094,6 +1100,7 @@ static bAnimChannelType ACF_FILLDRIVERS =
acf_generic_basic_offset, /* offset */
acf_filldrivers_name, /* name */
+ NULL, /* name prop */
acf_filldrivers_icon, /* icon */
acf_filldrivers_setting_valid, /* has setting */
@@ -1101,203 +1108,6 @@ static bAnimChannelType ACF_FILLDRIVERS =
acf_filldrivers_setting_ptr /* pointer for setting */
};
-/* Materials Expander ------------------------------------------- */
-
-// TODO: just get this from RNA?
-static int acf_fillmatd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_MATERIAL_DATA;
-}
-
-static void acf_fillmatd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Materials", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_fillmatd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- return OB_ADS_SHOWMATS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* materials expander type define */
-static bAnimChannelType ACF_FILLMATD=
-{
- "Materials Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */
- acf_generic_basic_offset, /* offset */
-
- acf_fillmatd_name, /* name */
- acf_fillmatd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_fillmatd_setting_flag, /* flag for setting */
- acf_generic_dsexpand_setting_ptr /* pointer for setting */
-};
-
-/* Particles Expander ------------------------------------------- */
-
-// TODO: just get this from RNA?
-static int acf_fillpartd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_PARTICLE_DATA;
-}
-
-static void acf_fillpartd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Particles", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_fillpartd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- return OB_ADS_SHOWPARTS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* particles expander type define */
-static bAnimChannelType ACF_FILLPARTD=
-{
- "Particles Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */
- acf_generic_basic_offset, /* offset */
-
- acf_fillpartd_name, /* name */
- acf_fillpartd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_fillpartd_setting_flag, /* flag for setting */
- acf_generic_dsexpand_setting_ptr /* pointer for setting */
-};
-
-/* Textures Expander ------------------------------------------- */
-
-/* offset for groups + grouped entities */
-static short acf_filltexd_offset(bAnimContext *ac, bAnimListElem *ale)
-{
- short offset= acf_generic_basic_offset(ac, ale);
-
- if (ale->id) {
- /* materials */
- switch (GS(ale->id->name)) {
- case ID_MA:
- offset += 21;
- break;
-
- case ID_LA:
- case ID_WO:
- offset += 14;
- break;
- }
- }
-
- return offset;
-}
-
-// TODO: just get this from RNA?
-static int acf_filltexd_icon(bAnimListElem *UNUSED(ale))
-{
- return ICON_TEXTURE_DATA;
-}
-
-static void acf_filltexd_name(bAnimListElem *UNUSED(ale), char *name)
-{
- BLI_strncpy(name, "Textures", ANIM_CHAN_NAME_SIZE);
-}
-
-/* get pointer to the setting (category only) */
-static void *acf_filltexd_setting_ptr(bAnimListElem *ale, int setting, short *type)
-{
- ID *id= (ID *)ale->data;
-
- /* clear extra return data first */
- *type= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- {
- switch (GS(id->name)) {
- case ID_MA:
- {
- Material *ma= (Material *)id;
- GET_ACF_FLAG_PTR(ma->flag);
- }
-
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
- GET_ACF_FLAG_PTR(la->flag);
- }
-
- case ID_WO:
- {
- World *wo= (World *)id;
- GET_ACF_FLAG_PTR(wo->flag);
- }
- }
- }
-
- default: /* unsupported */
- return NULL;
- }
-}
-
-/* get the appropriate flag(s) for the setting when it is valid */
-static int acf_filltexd_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
-{
- /* clear extra return data first */
- *neg= 0;
-
- switch (setting) {
- case ACHANNEL_SETTING_EXPAND: /* expanded */
- /* NOTE: the exact same flag must be used for other texture stack types too! */
- return MA_DS_SHOW_TEXS;
-
- default: /* unsupported */
- return 0;
- }
-}
-
-/* particles expander type define */
-static bAnimChannelType ACF_FILLTEXD=
-{
- "Textures Filler", /* type name */
-
- acf_generic_dataexpand_color, /* backdrop color */
- acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_flexible, /* indent level */
- acf_filltexd_offset, /* offset */
-
- acf_filltexd_name, /* name */
- acf_filltexd_icon, /* icon */
-
- acf_generic_dsexpand_setting_valid, /* has setting */
- acf_filltexd_setting_flag, /* flag for setting */
- acf_filltexd_setting_ptr /* pointer for setting */
-};
/* Material Expander ------------------------------------------- */
@@ -1307,12 +1117,6 @@ static int acf_dsmat_icon(bAnimListElem *UNUSED(ale))
return ICON_MATERIAL_DATA;
}
-/* offset for material expanders */
-static short acf_dsmat_offset(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale))
-{
- return 21;
-}
-
/* get the appropriate flag(s) for the setting when it is valid */
static int acf_dsmat_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
{
@@ -1368,12 +1172,13 @@ static bAnimChannelType ACF_DSMAT=
{
"Material Data Expander", /* type name */
- acf_generic_channel_color, /* backdrop color */
- acf_generic_channel_backdrop, /* backdrop */
- acf_generic_indention_0, /* indent level */
- acf_dsmat_offset, /* offset */
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
+ acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmat_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1450,6 +1255,7 @@ static bAnimChannelType ACF_DSLAM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dslam_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1466,22 +1272,10 @@ static int acf_dstex_icon(bAnimListElem *UNUSED(ale))
}
/* offset for texture expanders */
-static short acf_dstex_offset(bAnimContext *UNUSED(ac), bAnimListElem *ale)
+// FIXME: soon to be obsolete?
+static short acf_dstex_offset(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale))
{
- short offset = 21;
-
- /* special offset from owner type */
- // FIXME: too much now!
- switch (ale->ownertype) {
- case ANIMTYPE_DSMAT:
- offset += 14;
-
- case ANIMTYPE_DSLAM:
- case ANIMTYPE_DSWOR:
- offset += 7;
- }
-
- return offset;
+ return 14; // XXX: simply include this in indention instead?
}
/* get the appropriate flag(s) for the setting when it is valid */
@@ -1534,17 +1328,18 @@ static void *acf_dstex_setting_ptr(bAnimListElem *ale, int setting, short *type)
}
}
-/* material expander type define */
+/* texture expander type define */
static bAnimChannelType ACF_DSTEX=
{
"Texture Data Expander", /* type name */
- acf_generic_channel_color, /* backdrop color */
- acf_generic_channel_backdrop, /* backdrop */
- acf_generic_indention_0, /* indent level */
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
acf_dstex_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dstex_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1621,6 +1416,7 @@ static bAnimChannelType ACF_DSCAM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dscam_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1707,6 +1503,7 @@ static bAnimChannelType ACF_DSCUR=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dscur_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1783,6 +1580,7 @@ static bAnimChannelType ACF_DSSKEY=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsskey_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1859,6 +1657,7 @@ static bAnimChannelType ACF_DSWOR=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_dswor_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -1935,6 +1734,7 @@ static bAnimChannelType ACF_DSPART=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dspart_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2011,6 +1811,7 @@ static bAnimChannelType ACF_DSMBALL=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmball_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2087,6 +1888,7 @@ static bAnimChannelType ACF_DSARM=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsarm_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2102,6 +1904,17 @@ static int acf_dsntree_icon(bAnimListElem *UNUSED(ale))
return ICON_NODETREE;
}
+/* offset for nodetree expanders */
+static short acf_dsntree_offset(bAnimContext *ac, bAnimListElem *ale)
+{
+ bNodeTree *ntree = (bNodeTree *)ale->data;
+ short offset= acf_generic_basic_offset(ac, ale);
+
+ offset += acf_nodetree_rootType_offset(ntree);
+
+ return offset;
+}
+
/* get the appropriate flag(s) for the setting when it is valid */
static int acf_dsntree_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
{
@@ -2159,10 +1972,11 @@ static bAnimChannelType ACF_DSNTREE=
acf_generic_dataexpand_color, /* backdrop color */
acf_generic_dataexpand_backdrop,/* backdrop */
- acf_generic_indention_1, /* indent level */ // XXX this only works for compositing
- acf_generic_basic_offset, /* offset */
+ acf_generic_indention_1, /* indent level */
+ acf_dsntree_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsntree_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2239,6 +2053,7 @@ static bAnimChannelType ACF_DSMESH=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dsmesh_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2315,6 +2130,7 @@ static bAnimChannelType ACF_DSLAT=
acf_generic_basic_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
acf_dslat_icon, /* icon */
acf_generic_dataexpand_setting_valid, /* has setting */
@@ -2322,6 +2138,83 @@ static bAnimChannelType ACF_DSLAT=
acf_dslat_setting_ptr /* pointer for setting */
};
+/* Speaker Expander ------------------------------------------- */
+
+// TODO: just get this from RNA?
+static int acf_dsspk_icon(bAnimListElem *UNUSED(ale))
+{
+ return ICON_SPEAKER;
+}
+
+/* get the appropriate flag(s) for the setting when it is valid */
+static int acf_dsspk_setting_flag(bAnimContext *UNUSED(ac), int setting, short *neg)
+{
+ /* clear extra return data first */
+ *neg= 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_EXPAND: /* expanded */
+ return SPK_DS_EXPAND;
+
+ case ACHANNEL_SETTING_MUTE: /* mute (only in NLA) */
+ return ADT_NLA_EVAL_OFF;
+
+ case ACHANNEL_SETTING_VISIBLE: /* visible (only in Graph Editor) */
+ *neg= 1;
+ return ADT_CURVES_NOT_VISIBLE;
+
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ return ADT_UI_SELECTED;
+
+ default: /* unsupported */
+ return 0;
+ }
+}
+
+/* get pointer to the setting */
+static void *acf_dsspk_setting_ptr(bAnimListElem *ale, int setting, short *type)
+{
+ Speaker *spk= (Speaker *)ale->data;
+
+ /* clear extra return data first */
+ *type= 0;
+
+ switch (setting) {
+ case ACHANNEL_SETTING_EXPAND: /* expanded */
+ GET_ACF_FLAG_PTR(spk->flag);
+
+ case ACHANNEL_SETTING_SELECT: /* selected */
+ case ACHANNEL_SETTING_MUTE: /* muted (for NLA only) */
+ case ACHANNEL_SETTING_VISIBLE: /* visible (for Graph Editor only) */
+ if (spk->adt)
+ GET_ACF_FLAG_PTR(spk->adt->flag)
+ else
+ return NULL;
+
+ default: /* unsupported */
+ return NULL;
+ }
+}
+
+/* speaker expander type define */
+static bAnimChannelType ACF_DSSPK=
+{
+ "Speaker Expander", /* type name */
+
+ acf_generic_dataexpand_color, /* backdrop color */
+ acf_generic_dataexpand_backdrop,/* backdrop */
+ acf_generic_indention_1, /* indent level */
+ acf_generic_basic_offset, /* offset */
+
+ acf_generic_idblock_name, /* name */
+ acf_generic_idblock_nameprop, /* name prop */
+ acf_dsspk_icon, /* icon */
+
+ acf_generic_dataexpand_setting_valid, /* has setting */
+ acf_dsspk_setting_flag, /* flag for setting */
+ acf_dsspk_setting_ptr /* pointer for setting */
+};
+
/* ShapeKey Entry ------------------------------------------- */
/* name for ShapeKey */
@@ -2339,6 +2232,22 @@ static void acf_shapekey_name(bAnimListElem *ale, char *name)
}
}
+/* name property for ShapeKey entries */
+static short acf_shapekey_nameprop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ KeyBlock *kb= (KeyBlock *)ale->data;
+
+ /* if the KeyBlock had a name, use it, otherwise use the index */
+ if (kb && kb->name[0]) {
+ RNA_pointer_create(ale->id, &RNA_ShapeKey, kb, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+ }
+
+ return 0;
+}
+
/* check if some setting exists for this channel */
static short acf_shapekey_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
{
@@ -2405,6 +2314,7 @@ static bAnimChannelType ACF_SHAPEKEY=
acf_generic_basic_offset, /* offset */
acf_shapekey_name, /* name */
+ acf_shapekey_nameprop, /* name prop */
NULL, /* icon */
acf_shapekey_setting_valid, /* has setting */
@@ -2479,6 +2389,7 @@ static bAnimChannelType ACF_GPD =
acf_generic_group_offset, /* offset */
acf_generic_idblock_name, /* name */
+ acf_generic_idfill_nameprop, /* name prop */
acf_gpd_icon, /* icon */
acf_gpd_setting_valid, /* has setting */
@@ -2497,6 +2408,19 @@ static void acf_gpl_name(bAnimListElem *ale, char *name)
BLI_strncpy(name, gpl->info, ANIM_CHAN_NAME_SIZE);
}
+/* name property for grease pencil layer entries */
+static short acf_gpl_name_prop(bAnimListElem *ale, PointerRNA *ptr, PropertyRNA **prop)
+{
+ if (ale->data) {
+ RNA_pointer_create(ale->id, &RNA_GPencilLayer, ale->data, ptr);
+ *prop = RNA_struct_name_property(ptr->type);
+
+ return (*prop != NULL);
+ }
+
+ return 0;
+}
+
/* check if some setting exists for this channel */
static short acf_gpl_setting_valid(bAnimContext *UNUSED(ac), bAnimListElem *UNUSED(ale), int setting)
{
@@ -2554,6 +2478,7 @@ static bAnimChannelType ACF_GPL =
acf_generic_group_offset, /* offset */
acf_gpl_name, /* name */
+ acf_gpl_name_prop, /* name prop */
NULL, /* icon */
acf_gpl_setting_valid, /* has setting */
@@ -2590,9 +2515,6 @@ static void ANIM_init_channel_typeinfo_data (void)
animchannelTypeInfo[type++]= &ACF_FILLACTD; /* Object Action Expander */
animchannelTypeInfo[type++]= &ACF_FILLDRIVERS; /* Drivers Expander */
- animchannelTypeInfo[type++]= &ACF_FILLMATD; /* Materials Expander */
- animchannelTypeInfo[type++]= &ACF_FILLPARTD; /* Particles Expander */
- animchannelTypeInfo[type++]= &ACF_FILLTEXD; /* Textures Expander */
animchannelTypeInfo[type++]= &ACF_DSMAT; /* Material Channel */
animchannelTypeInfo[type++]= &ACF_DSLAM; /* Lamp Channel */
@@ -2607,6 +2529,7 @@ static void ANIM_init_channel_typeinfo_data (void)
animchannelTypeInfo[type++]= &ACF_DSMESH; /* Mesh Channel */
animchannelTypeInfo[type++]= &ACF_DSTEX; /* Texture Channel */
animchannelTypeInfo[type++]= &ACF_DSLAT; /* Lattice Channel */
+ animchannelTypeInfo[type++]= &ACF_DSSPK; /* Speaker Channel */
animchannelTypeInfo[type++]= &ACF_SHAPEKEY; /* ShapeKey */
@@ -2799,6 +2722,8 @@ void ANIM_channel_setting_set (bAnimContext *ac, bAnimListElem *ale, int setting
#define ICON_WIDTH 17
// XXX hardcoded width of sliders
#define SLIDER_WIDTH 80
+// XXX hardcoded width of rename textboxes
+#define RENAME_TEXT_WIDTH 100
/* Draw the given channel */
// TODO: make this use UI controls for the buttons
@@ -2860,7 +2785,7 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
* - in Graph Editor, checkboxes for visibility in curves area
* - in NLA Editor, glowing dots for solo/not solo...
*/
- if (ac->sa) {
+ if (ac->sl) {
if ((ac->spacetype == SPACE_IPO) && acf->has_setting(ac, ale, ACHANNEL_SETTING_VISIBLE)) {
/* for F-Curves, draw color-preview of curve behind checkbox */
if (ale->type == ANIMTYPE_FCURVE) {
@@ -2888,10 +2813,12 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
}
/* step 5) draw name ............................................... */
+ // TODO: when renaming, we might not want to draw this, especially if name happens to be longer than channel
if (acf->name) {
char name[ANIM_CHAN_NAME_SIZE]; /* hopefully this will be enough! */
/* set text color */
+ // XXX: if active, highlight differently?
if (selected)
UI_ThemeColor(TH_TEXT_HI);
else
@@ -2930,17 +2857,17 @@ void ANIM_channel_draw (bAnimContext *ac, bAnimListElem *ale, float yminc, float
glColor3fv(color);
/* check if we need to show the sliders */
- if ((ac->sa) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
+ if ((ac->sl) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
draw_sliders= (saction->flag & SACTION_SLIDERS);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
draw_sliders= (sipo->flag & SIPO_SLIDERS);
}
break;
@@ -3013,11 +2940,8 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void
else
return;
- /* get all channels that can possibly be chosen
- * - therefore, the filter is simply ANIMFILTER_CHANNELS, since if we took VISIBLE too,
- * then the channels under closed expanders get ignored...
- */
- filter= ANIMFILTER_CHANNELS;
+ /* get all channels that can possibly be chosen - but ignore hierarchy */
+ filter= ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* call API method to flush the setting */
@@ -3027,6 +2951,19 @@ static void achannel_setting_flush_widget_cb(bContext *C, void *ale_npoin, void
BLI_freelistN(&anim_data);
}
+/* callback for rename widgets - clear rename-in-progress */
+static void achannel_setting_rename_done_cb(bContext *C, void *ads_poin, void *UNUSED(arg2))
+{
+ bDopeSheet *ads = (bDopeSheet *)ads_poin;
+
+ /* reset rename index so that edit box disappears now that editing is done */
+ ads->renameIndex = 0;
+
+ /* send notifiers */
+ // XXX: right notifier?
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_RENAME, NULL);
+}
+
/* callback for widget sliders - insert keyframes */
static void achannel_setting_slider_cb(bContext *C, void *id_poin, void *fcu_poin)
{
@@ -3127,9 +3064,9 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
/* get the base icon for the setting */
switch (setting) {
- case ACHANNEL_SETTING_VISIBLE: /* visibility checkboxes */
- //icon= ((enabled)? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT);
- icon= ICON_CHECKBOX_DEHLT;
+ case ACHANNEL_SETTING_VISIBLE: /* visibility eyes */
+ //icon= ((enabled)? ICON_VISIBLE_IPO_ON : ICON_VISIBLE_IPO_OFF);
+ icon= ICON_VISIBLE_IPO_OFF;
if (ale->type == ANIMTYPE_FCURVE)
tooltip= "Channel is visible in Graph Editor for editing.";
@@ -3158,7 +3095,7 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
tooltip= "Editability of keyframes for this channel.";
break;
- case ACHANNEL_SETTING_MUTE: /* muted eye */
+ case ACHANNEL_SETTING_MUTE: /* muted speaker */
//icon= ((enabled)? ICON_MUTE_IPO_ON : ICON_MUTE_IPO_OFF);
icon= ICON_MUTE_IPO_OFF;
@@ -3219,12 +3156,11 @@ static void draw_setting_widget (bAnimContext *ac, bAnimListElem *ale, bAnimChan
}
/* Draw UI widgets the given channel */
-// TODO: make this use UI controls for the buttons
-void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *block, float yminc, float ymaxc)
+void ANIM_channel_draw_widgets (bContext *C, bAnimContext *ac, bAnimListElem *ale, uiBlock *block, float yminc, float ymaxc, size_t channel_index)
{
bAnimChannelType *acf= ANIM_channel_get_typeinfo(ale);
View2D *v2d= &ac->ar->v2d;
- float y, ymid /*, ytext*/;
+ float y, ymid/*, ytext*/;
short offset;
/* sanity checks - don't draw anything */
@@ -3264,7 +3200,7 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
* - in Graph Editor, checkboxes for visibility in curves area
* - in NLA Editor, glowing dots for solo/not solo...
*/
- if (ac->sa) {
+ if (ac->sl) {
if ((ac->spacetype == SPACE_IPO) && acf->has_setting(ac, ale, ACHANNEL_SETTING_VISIBLE)) {
/* visibility toggle */
draw_setting_widget(ac, ale, acf, block, offset, ymid, ACHANNEL_SETTING_VISIBLE);
@@ -3275,11 +3211,31 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
draw_setting_widget(ac, ale, acf, block, offset, ymid, ACHANNEL_SETTING_SOLO);
offset += ICON_WIDTH;
}
- (void)offset;
}
- /* step 4) draw text... */
- /* NOTE: this is not done here, since nothing to be clicked on... */
+ /* step 4) draw text - check if renaming widget is in use... */
+ if (acf->name_prop && ac->ads) {
+ float channel_height = ymaxc - yminc;
+
+ /* if rename index matches, add widget for this */
+ if (ac->ads->renameIndex == channel_index+1) {
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* draw renaming widget if we can get RNA pointer for it */
+ if (acf->name_prop(ale, &ptr, &prop)) {
+ uiBut *but;
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+
+ but = uiDefButR(block, TEX, 1, "", offset+3, yminc, RENAME_TEXT_WIDTH, channel_height, &ptr, RNA_property_identifier(prop), -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, achannel_setting_rename_done_cb, ac->ads, NULL);
+ uiButActiveOnly(C, block, but);
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ }
+ }
+ }
/* step 5) draw mute+protection toggles + (sliders) ....................... */
/* reset offset - now goes from RHS of panel */
@@ -3291,17 +3247,17 @@ void ANIM_channel_draw_widgets (bAnimContext *ac, bAnimListElem *ale, uiBlock *b
short draw_sliders = 0;
/* check if we need to show the sliders */
- if ((ac->sa) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
+ if ((ac->sl) && ELEM(ac->spacetype, SPACE_ACTION, SPACE_IPO)) {
switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
draw_sliders= (saction->flag & SACTION_SLIDERS);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
draw_sliders= (sipo->flag & SIPO_SLIDERS);
}
break;
diff --git a/source/blender/editors/animation/anim_channels_edit.c b/source/blender/editors/animation/anim_channels_edit.c
index 9145cc2b79d..d58d51c8e08 100644
--- a/source/blender/editors/animation/anim_channels_edit.c
+++ b/source/blender/editors/animation/anim_channels_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,7 +36,7 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
-
+#include "BKE_library.h"
#include "DNA_anim_types.h"
#include "DNA_object_types.h"
@@ -51,6 +49,7 @@
#include "BKE_action.h"
#include "BKE_fcurve.h"
+#include "BKE_gpencil.h"
#include "BKE_context.h"
#include "BKE_global.h"
@@ -123,6 +122,7 @@ void ANIM_set_active_channel (bAnimContext *ac, void *data, short datatype, int
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale->adt) {
@@ -167,6 +167,7 @@ void ANIM_set_active_channel (bAnimContext *ac, void *data, short datatype, int
case ANIMTYPE_DSARM:
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale && ale->adt) {
@@ -194,7 +195,8 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
int filter;
/* filter data */
- filter= ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS;
+ /* NOTE: no list visible, otherwise, we get dangling */
+ filter= ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(ac, &anim_data, filter, data, datatype);
/* See if we should be selecting or deselecting */
@@ -245,6 +247,7 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
if ((ale->adt) && (ale->adt->flag & ADT_UI_SELECTED))
sel= ACHANNEL_SETFLAG_CLEAR;
@@ -334,6 +337,7 @@ void ANIM_deselect_anim_channels (bAnimContext *ac, void *data, short datatype,
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* need to verify that this data is valid for now */
if (ale->adt) {
@@ -515,12 +519,34 @@ void ANIM_fcurve_delete_from_animdata (bAnimContext *ac, AnimData *adt, FCurve *
* - Drivers
* - TODO... some others?
*/
- if (fcu->grp)
- action_groups_remove_channel(adt->action, fcu);
- else if ((ac) && (ac->datatype == ANIMCONT_DRIVERS))
+ if ((ac) && (ac->datatype == ANIMCONT_DRIVERS)) {
+ /* driver F-Curve */
BLI_remlink(&adt->drivers, fcu);
- else if (adt->action)
- BLI_remlink(&adt->action->curves, fcu);
+ }
+ else if (adt->action) {
+ /* remove from group or action, whichever one "owns" the F-Curve */
+ if (fcu->grp)
+ action_groups_remove_channel(adt->action, fcu);
+ else
+ BLI_remlink(&adt->action->curves, fcu);
+
+ /* if action has no more F-Curves as a result of this, unlink it from
+ * AnimData if it did not come from a NLA Strip being tweaked.
+ *
+ * This is done so that we don't have dangling Object+Action entries in
+ * channel list that are empty, and linger around long after the data they
+ * are for has disappeared (and probably won't come back).
+ */
+ // XXX: does everybody always want this?
+ /* XXX: there's a problem where many actions could build up in the file if multiple
+ * full add/delete cycles are performed on the same objects, but assume that this is rare
+ */
+ if ((adt->action->curves.first == NULL) && (adt->flag & ADT_NLA_EDIT_ON)==0)
+ {
+ id_us_min(&adt->action->id);
+ adt->action = NULL;
+ }
+ }
/* free the F-Curve itself */
free_fcurve(fcu);
@@ -1016,11 +1042,6 @@ static void rearrange_action_channels (bAnimContext *ac, bAction *act, short mod
static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
{
bAnimContext ac;
-
- ListBase anim_data = {NULL, NULL};
- bAnimListElem *ale;
- int filter;
-
short mode;
/* get editor data */
@@ -1030,42 +1051,51 @@ static int animchannels_rearrange_exec(bContext *C, wmOperator *op)
/* get mode */
mode= RNA_enum_get(op->ptr, "direction");
- /* get animdata blocks */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- for (ale = anim_data.first; ale; ale = ale->next) {
- AnimData *adt= ale->data;
+ /* method to move channels depends on the editor */
+ if (ac.datatype == ANIMCONT_GPENCIL) {
+ /* Grease Pencil channels */
+ printf("Grease Pencil not supported for moving yet\n");
+ }
+ else if (ac.datatype == ANIMCONT_ACTION) {
+ /* Directly rearrange action's channels */
+ rearrange_action_channels(&ac, ac.data, mode);
+ }
+ else {
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
- switch (ac.datatype) {
- case ANIMCONT_NLA: /* NLA-tracks only */
- rearrange_nla_channels(&ac, adt, mode);
- break;
+ /* get animdata blocks */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_ANIMDATA);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ for (ale = anim_data.first; ale; ale = ale->next) {
+ AnimData *adt= ale->data;
- case ANIMCONT_DRIVERS: /* Drivers list only */
- rearrange_driver_channels(&ac, adt, mode);
- break;
-
- case ANIMCONT_GPENCIL: /* Grease Pencil channels */
- // FIXME: this case probably needs to get moved out of here or treated specially...
- printf("grease pencil not supported for moving yet\n");
- break;
+ switch (ac.datatype) {
+ case ANIMCONT_NLA: /* NLA-tracks only */
+ rearrange_nla_channels(&ac, adt, mode);
+ break;
- case ANIMCONT_SHAPEKEY: // DOUBLE CHECK ME...
+ case ANIMCONT_DRIVERS: /* Drivers list only */
+ rearrange_driver_channels(&ac, adt, mode);
+ break;
- default: /* some collection of actions */
- // FIXME: actions should only be considered once!
- if (adt->action)
- rearrange_action_channels(&ac, adt->action, mode);
- else if (G.f & G_DEBUG)
- printf("animdata has no action\n");
- break;
+ case ANIMCONT_SHAPEKEY: // DOUBLE CHECK ME...
+
+ default: /* some collection of actions */
+ if (adt->action)
+ rearrange_action_channels(&ac, adt->action, mode);
+ else if (G.f & G_DEBUG)
+ printf("Animdata has no action\n");
+ break;
+ }
}
+
+ /* free temp data */
+ BLI_freelistN(&anim_data);
}
- /* free temp data */
- BLI_freelistN(&anim_data);
-
/* send notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
@@ -1111,7 +1141,7 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
/* do groups only first (unless in Drivers mode, where there are none) */
if (ac.datatype != ANIMCONT_DRIVERS) {
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CHANNELS | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* delete selected groups and their associated channels */
@@ -1147,28 +1177,41 @@ static int animchannels_delete_exec(bContext *C, wmOperator *UNUSED(op))
BLI_freelistN(&anim_data);
}
- /* now do F-Curves */
- if (ac.datatype != ANIMCONT_GPENCIL) {
- /* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- /* delete selected F-Curves */
- for (ale= anim_data.first; ale; ale= ale->next) {
- /* only F-Curves, and only if we can identify its parent */
- if (ale->type == ANIMTYPE_FCURVE) {
+ /* filter data */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* delete selected data channels */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ switch (ale->type) {
+ case ANIMTYPE_FCURVE:
+ {
+ /* F-Curves if we can identify its parent */
AnimData *adt= ale->adt;
FCurve *fcu= (FCurve *)ale->data;
/* try to free F-Curve */
ANIM_fcurve_delete_from_animdata(&ac, adt, fcu);
}
+ break;
+
+ case ANIMTYPE_GPLAYER:
+ {
+ /* Grease Pencil layer */
+ bGPdata *gpd= (bGPdata *)ale->id;
+ bGPDlayer *gpl= (bGPDlayer *)ale->data;
+
+ /* try to delete the layer's data and the layer itself */
+ free_gpencil_frames(gpl);
+ BLI_freelinkN(&gpd->layers, gpl);
+ }
+ break;
}
-
- /* cleanup */
- BLI_freelistN(&anim_data);
}
+ /* cleanup */
+ BLI_freelistN(&anim_data);
+
/* send notifier that things have changed */
WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
@@ -1205,12 +1248,27 @@ static int animchannels_visibility_set_exec(bContext *C, wmOperator *UNUSED(op))
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- /* get list of all channels that selection may need to be flushed to */
- filter= ANIMFILTER_CHANNELS;
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy mustn't affect what we have access to here...
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &all_data, filter, ac.data, ac.datatype);
-
- /* hide all channels not selected */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_NODUPLIS);
+
+ /* hide all channels not selected
+ * - hierarchy matters if we're doing this from the channels region
+ * since we only want to apply this to channels we can "see",
+ * and have these affect their relatives
+ * - but for Graph Editor, this gets used also from main region
+ * where hierarchy doesn't apply, as for [#21276]
+ */
+ if ((ac.spacetype == SPACE_IPO) && (ac.regiontype != RGN_TYPE_CHANNELS)) {
+ /* graph editor (case 2) */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
+ }
+ else {
+ /* standard case */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_UNSEL | ANIMFILTER_NODUPLIS);
+ }
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1284,12 +1342,16 @@ static int animchannels_visibility_toggle_exec(bContext *C, wmOperator *UNUSED(o
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- /* get list of all channels that selection may need to be flushed to */
- filter= (ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy mustn't affect what we have access to here...
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &all_data, filter, ac.data, ac.datatype);
- /* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
+ /* filter data
+ * - restrict this to only applying on settings we can get to in the list
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* See if we should be making showing all selected or hiding */
@@ -1362,10 +1424,6 @@ static EnumPropertyItem prop_animchannel_settings_types[] = {
/* ------------------- */
-/* macro to be used in setflag_anim_channels */
-#define ASUBCHANNEL_SEL_OK(ale) ( (onlysel == 0) || \
- ((ale->id) && (GS(ale->id->name)==ID_OB) && (((Object *)ale->id)->flag & SELECT)) )
-
/* Set/clear a particular flag (setting) for all selected + visible channels
* setting: the setting to modify
* mode: eAnimChannels_SetFlag
@@ -1381,14 +1439,29 @@ static void setflag_anim_channels (bAnimContext *ac, short setting, short mode,
/* filter data that we need if flush is on */
if (flush) {
- /* get list of all channels that selection may need to be flushed to */
- filter= ANIMFILTER_CHANNELS;
+ /* get list of all channels that selection may need to be flushed to
+ * - hierarchy visibility needs to be ignored so that settings can get flushed
+ * "down" inside closed containers
+ */
+ filter= ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(ac, &all_data, filter, ac->data, ac->datatype);
}
- /* filter data that we're working on */
- // XXX: noduplis enabled so that results don't cancel, but will be problematic for some channels where only type differs
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ /* filter data that we're working on
+ * - hierarchy matters if we're doing this from the channels region
+ * since we only want to apply this to channels we can "see",
+ * and have these affect their relatives
+ * - but for Graph Editor, this gets used also from main region
+ * where hierarchy doesn't apply [#21276]
+ */
+ if ((ac->spacetype == SPACE_IPO) && (ac->regiontype != RGN_TYPE_CHANNELS)) {
+ /* graph editor (case 2) */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
+ }
+ else {
+ /* standard case */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
+ }
if (onlysel) filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -1681,7 +1754,7 @@ static int animchannels_enable_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through filtered data and clean curves */
@@ -1771,13 +1844,14 @@ static void borderselect_anim_channels (bAnimContext *ac, rcti *rect, short sele
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
rctf rectf;
float ymin, ymax;
/* set initial y extents */
if (ac->datatype == ANIMCONT_NLA) {
- ymin = (float)(-NLACHANNEL_HEIGHT);
+ ymin = (float)(-NLACHANNEL_HEIGHT(snla));
ymax = 0.0f;
}
else {
@@ -1790,13 +1864,13 @@ static void borderselect_anim_channels (bAnimContext *ac, rcti *rect, short sele
UI_view2d_region_to_view(v2d, rect->xmax, rect->ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
if (ac->datatype == ANIMCONT_NLA)
- ymin= ymax - NLACHANNEL_STEP;
+ ymin= ymax - NLACHANNEL_STEP(snla);
else
ymin= ymax - ACHANNEL_STEP;
@@ -1892,6 +1966,107 @@ static void ANIM_OT_channels_select_border(wmOperatorType *ot)
WM_operator_properties_gesture_border(ot, FALSE);
}
+/* ******************* Rename Operator ***************************** */
+/* Allow renaming some channels by clicking on them */
+
+static void rename_anim_channels (bAnimContext *ac, int channel_index)
+{
+ ListBase anim_data = {NULL, NULL};
+ bAnimChannelType *acf;
+ bAnimListElem *ale;
+ int filter;
+
+ /* get the channel that was clicked on */
+ /* filter channels */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+
+ /* get channel from index */
+ ale= BLI_findlink(&anim_data, channel_index);
+ if (ale == NULL) {
+ /* channel not found */
+ if (G.f & G_DEBUG)
+ printf("Error: animation channel (index = %d) not found in rename_anim_channels() \n", channel_index);
+
+ BLI_freelistN(&anim_data);
+ return;
+ }
+
+ /* check that channel can be renamed */
+ acf = ANIM_channel_get_typeinfo(ale);
+ if (acf && acf->name_prop) {
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* ok if we can get name property to edit from this channel */
+ if (acf->name_prop(ale, &ptr, &prop)) {
+ /* actually showing the rename textfield is done on redraw,
+ * so here we just store the index of this channel in the
+ * dopesheet data, which will get utilised when drawing the
+ * channel...
+ *
+ * +1 factor is for backwards compat issues
+ */
+ if (ac->ads) {
+ ac->ads->renameIndex = channel_index + 1;
+ }
+ }
+ }
+
+ /* free temp data and tag for refresh */
+ BLI_freelistN(&anim_data);
+ ED_region_tag_redraw(ac->ar);
+}
+
+static int animchannels_rename_invoke (bContext *C, wmOperator *UNUSED(op), wmEvent *evt)
+{
+ bAnimContext ac;
+ ARegion *ar;
+ View2D *v2d;
+ int channel_index;
+ float x, y;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+
+ /* get useful pointers from animation context data */
+ ar= ac.ar;
+ v2d= &ar->v2d;
+
+ /* figure out which channel user clicked in
+ * Note: although channels technically start at y= ACHANNEL_FIRST, we need to adjust by half a channel's height
+ * 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, evt->mval[0], evt->mval[1], &x, &y);
+
+ if (ac.datatype == ANIMCONT_NLA) {
+ SpaceNla *snla = (SpaceNla *)ac.sl;
+ UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
+ }
+ else {
+ UI_view2d_listview_view_to_cell(v2d, ACHANNEL_NAMEWIDTH, ACHANNEL_STEP, 0, (float)ACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
+ }
+
+ /* handle click */
+ rename_anim_channels(&ac, channel_index);
+
+ return OPERATOR_FINISHED;
+}
+
+static void ANIM_OT_channels_rename (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Rename Channels";
+ ot->idname= "ANIM_OT_channels_rename";
+ ot->description= "Rename animation channel under mouse";
+
+ /* api callbacks */
+ ot->invoke= animchannels_rename_invoke;
+ ot->poll= animedit_poll_channels_active;
+}
+
/* ******************** Mouse-Click Operator *********************** */
/* Handle selection changes due to clicking on channels. Settings will get caught by UI code... */
@@ -1904,7 +2079,7 @@ static int mouse_anim_channels (bAnimContext *ac, float UNUSED(x), int channel_i
/* get the channel that was clicked on */
/* filter channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get channel from index */
@@ -2002,6 +2177,7 @@ static int mouse_anim_channels (bAnimContext *ac, float UNUSED(x), int channel_i
case ANIMTYPE_DSNTREE:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* sanity checking... */
if (ale->adt) {
@@ -2214,7 +2390,9 @@ void ED_operatortypes_animchannels(void)
{
WM_operatortype_append(ANIM_OT_channels_select_all_toggle);
WM_operatortype_append(ANIM_OT_channels_select_border);
+
WM_operatortype_append(ANIM_OT_channels_click);
+ WM_operatortype_append(ANIM_OT_channels_rename);
WM_operatortype_append(ANIM_OT_channels_setting_enable);
WM_operatortype_append(ANIM_OT_channels_setting_disable);
@@ -2249,6 +2427,9 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "children_only", 1);
+ /* rename */
+ WM_keymap_add_item(keymap, "ANIM_OT_channels_rename", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
+
/* deselect all */
WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", AKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0)->ptr, "invert", 1);
@@ -2277,10 +2458,10 @@ void ED_keymap_animchannels(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_collapse", PADMINUS, KM_PRESS, KM_CTRL, 0)->ptr, "all", 0);
/* rearranging */
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_UP);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_DOWN);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_TOP);
- RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_BOTTOM);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, 0, 0)->ptr, "direction", REARRANGE_ANIMCHAN_UP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, 0, 0)->ptr, "direction", REARRANGE_ANIMCHAN_DOWN);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEUPKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_TOP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "ANIM_OT_channels_move", PAGEDOWNKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "direction", REARRANGE_ANIMCHAN_BOTTOM);
/* Graph Editor only */
WM_keymap_add_item(keymap, "ANIM_OT_channels_visibility_set", VKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/animation/anim_deps.c b/source/blender/editors/animation/anim_deps.c
index b5a1781064c..fdccf5d4baa 100644
--- a/source/blender/editors/animation/anim_deps.c
+++ b/source/blender/editors/animation/anim_deps.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -257,7 +255,7 @@ void ANIM_sync_animchannels_to_data (const bContext *C)
/* filter data */
/* NOTE: we want all channels, since we want to be able to set selection status on some of them even when collapsed */
- filter= ANIMFILTER_CHANNELS;
+ filter= ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_CHANNELS;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* flush settings as appropriate depending on the types of the channels */
diff --git a/source/blender/editors/animation/anim_draw.c b/source/blender/editors/animation/anim_draw.c
index 9c923d3492b..70974386917 100644
--- a/source/blender/editors/animation/anim_draw.c
+++ b/source/blender/editors/animation/anim_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,6 +36,7 @@
#include "BLI_math.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_nla.h"
#include "BKE_object.h"
@@ -225,7 +224,10 @@ void ANIM_draw_cfra (const bContext *C, View2D *v2d, short flag)
vec[0]= (float)(scene->r.cfra * scene->r.framelen);
UI_ThemeColor(TH_CFRAME);
- glLineWidth(2.0);
+ if (flag & DRAWCFRA_WIDE)
+ glLineWidth(3.0);
+ else
+ glLineWidth(2.0);
glBegin(GL_LINE_STRIP);
vec[1]= v2d->cur.ymin-500.0f; /* XXX arbitrary... want it go to bottom */
@@ -243,13 +245,13 @@ void ANIM_draw_cfra (const bContext *C, View2D *v2d, short flag)
// XXX ob->ipoflag is depreceated!
if ((ob->ipoflag & OB_OFFS_OB) && (timeoffset != 0.0f)) {
vec[0]-= timeoffset; /* could avoid calling twice */
-
+
UI_ThemeColorShade(TH_CFRAME, -30);
-
+
glBegin(GL_LINE_STRIP);
/*vec[1]= v2d->cur.ymax;*/ // this is set already. this line is only included
glVertex2fv(vec);
-
+
vec[1]= v2d->cur.ymin;
glVertex2fv(vec);
glEnd();
@@ -305,6 +307,9 @@ AnimData *ANIM_nla_mapping_get(bAnimContext *ac, bAnimListElem *ale)
if (ac == NULL)
return NULL;
+ /* abort if rendering - we may get some race condition issues... */
+ if (G.rendering) return NULL;
+
/* handling depends on the type of animation-context we've got */
if (ale)
return ale->adt;
@@ -444,6 +449,9 @@ void ANIM_unit_mapping_apply_fcurve (Scene *scene, ID *id, FCurve *fcu, short fl
KeyframeEditFunc sel_cb;
float fac;
+ /* abort if rendering - we may get some race condition issues... */
+ if (G.rendering) return;
+
/* calculate mapping factor, and abort if nothing to change */
fac= ANIM_unit_mapping_get_factor(scene, id, fcu, (flag & ANIM_UNITCONV_RESTORE));
if (fac == 1.0f)
diff --git a/source/blender/editors/animation/anim_filter.c b/source/blender/editors/animation/anim_filter.c
index 967002131c2..bb710a32794 100644
--- a/source/blender/editors/animation/anim_filter.c
+++ b/source/blender/editors/animation/anim_filter.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -67,6 +65,7 @@
#include "DNA_sequence_types.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
#include "DNA_object_types.h"
@@ -127,6 +126,9 @@ static Key *actedit_get_shapekeys (bAnimContext *ac)
/* Get data being edited in Action Editor (depending on current 'mode') */
static short actedit_get_context (bAnimContext *ac, SpaceAction *saction)
{
+ /* get dopesheet */
+ ac->ads = &saction->ads;
+
/* sync settings with current view status, then return appropriate data */
switch (saction->mode) {
case SACTCONT_ACTION: /* 'Action Editor' */
@@ -190,6 +192,7 @@ static short graphedit_get_context (bAnimContext *ac, SpaceIpo *sipo)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)ac->scene;
}
+ ac->ads = sipo->ads;
/* set settings for Graph Editor - "Selected = Editable" */
if (sipo->flag & SIPO_SELCUVERTSONLY)
@@ -238,6 +241,7 @@ static short nlaedit_get_context (bAnimContext *ac, SpaceNla *snla)
/* init dopesheet data if non-existant (i.e. for old files) */
if (snla->ads == NULL)
snla->ads= MEM_callocN(sizeof(bDopeSheet), "NlaEdit DopeSheet");
+ ac->ads = snla->ads;
/* sync settings with current view status, then return appropriate data */
/* update scene-pointer (no need to check for pinning yet, as not implemented) */
@@ -258,29 +262,29 @@ static short nlaedit_get_context (bAnimContext *ac, SpaceNla *snla)
*/
short ANIM_animdata_context_getdata (bAnimContext *ac)
{
- ScrArea *sa= ac->sa;
+ SpaceLink *sl = ac->sl;
short ok= 0;
/* context depends on editor we are currently in */
- if (sa) {
- switch (sa->spacetype) {
+ if (sl) {
+ switch (ac->spacetype) {
case SPACE_ACTION:
{
- SpaceAction *saction= (SpaceAction *)sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)sl;
ok= actedit_get_context(ac, saction);
}
break;
case SPACE_IPO:
{
- SpaceIpo *sipo= (SpaceIpo *)sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)sl;
ok= graphedit_get_context(ac, sipo);
}
break;
case SPACE_NLA:
{
- SpaceNla *snla= (SpaceNla *)sa->spacedata.first;
+ SpaceNla *snla= (SpaceNla *)sl;
ok= nlaedit_get_context(ac, snla);
}
break;
@@ -303,6 +307,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
{
ScrArea *sa= CTX_wm_area(C);
ARegion *ar= CTX_wm_region(C);
+ SpaceLink *sl= CTX_wm_space_data(C);
Scene *scene= CTX_data_scene(C);
/* clear old context info */
@@ -317,6 +322,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
}
ac->sa= sa;
ac->ar= ar;
+ ac->sl= sl;
ac->spacetype= (sa) ? sa->spacetype : 0;
ac->regiontype= (ar) ? ar->regiontype : 0;
@@ -327,6 +333,35 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* ************************************************************ */
/* Blender Data <-- Filter --> Channels to be operated on */
+/* macros to use before/after getting the sub-channels of some channel,
+ * to abstract away some of the tricky logic involved
+ *
+ * cases:
+ * 1) Graph Edit main area (just data) OR channels visible in Channel List
+ * 2) If not showing channels, we're only interested in the data (Action Editor's editing)
+ * 3) We don't care what data, we just care there is some (so that a collapsed
+ * channel can be kept around). No need to clear channels-flag in order to
+ * keep expander channels with no sub-data out, as those cases should get
+ * dealt with by the recursive detection idiom in place.
+ */
+#define BEGIN_ANIMFILTER_SUBCHANNELS(expanded_check) \
+ { \
+ int _filter = filter_mode; \
+ short _doSubChannels = 0; \
+ if (!(filter_mode & ANIMFILTER_LIST_VISIBLE) || (expanded_check)) \
+ _doSubChannels=1; \
+ else if (!(filter_mode & ANIMFILTER_LIST_CHANNELS)) \
+ _doSubChannels=2; \
+ else {\
+ filter_mode |= ANIMFILTER_TMP_PEEK; \
+ }
+ /* ... standard sub-channel filtering can go on here now ... */
+#define END_ANIMFILTER_SUBCHANNELS \
+ filter_mode = _filter; \
+ }
+
+/* ............................... */
+
/* quick macro to test if AnimData is usable */
#define ANIMDATA_HAS_KEYS(id) ((id)->adt && (id)->adt->action)
@@ -336,8 +371,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* quick macro to test if AnimData is usable for NLA */
#define ANIMDATA_HAS_NLA(id) ((id)->adt && (id)->adt->nla_tracks.first)
-
-/* Quick macro to test for all three avove usability tests, performing the appropriate provided
+/* Quick macro to test for all three above usability tests, performing the appropriate provided
* action for each when the AnimData context is appropriate.
*
* Priority order for this goes (most important, to least): AnimData blocks, NLA, Drivers, Keyframes.
@@ -347,7 +381,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
* - ListBase anim_data;
* - bDopeSheet *ads;
* - bAnimListElem *ale;
- * - int items;
+ * - size_t items;
*
* - id: ID block which should have an AnimData pointer following it immediately, to use
* - adtOk: line or block of code to execute for AnimData-blocks case (usually ANIMDATA_ADD_ANIMDATA)
@@ -361,13 +395,14 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
* 2A) nla tracks: include animdata block's data as there are NLA tracks+strips there
* 2B) actions to convert to nla: include animdata block's data as there is an action that can be
* converted to a new NLA strip, and the filtering options allow this
+ * 2C) allow non-animated datablocks to be included so that datablocks can be added
* 3) drivers: include drivers from animdata block (for Drivers mode in Graph Editor)
* 4) normal keyframes: only when there is an active action
*/
#define ANIMDATA_FILTER_CASES(id, adtOk, nlaOk, driversOk, keysOk) \
{\
if ((id)->adt) {\
- if (!(filter_mode & ANIMFILTER_CURVEVISIBLE) || !((id)->adt->flag & ADT_CURVES_NOT_VISIBLE)) {\
+ if (!(filter_mode & ANIMFILTER_CURVE_VISIBLE) || !((id)->adt->flag & ADT_CURVES_NOT_VISIBLE)) {\
if (filter_mode & ANIMFILTER_ANIMDATA) {\
adtOk\
}\
@@ -393,17 +428,31 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
}\
}
+/* ............................... */
-/* quick macro to add a pointer to an AnimData block as a channel */
-#define ANIMDATA_ADD_ANIMDATA(id) \
- {\
- ale= make_new_animlistelem((id)->adt, ANIMTYPE_ANIMDATA, NULL, ANIMTYPE_NONE, (ID *)id);\
+/* Add a new animation channel, taking into account the "peek" flag, which is used to just check
+ * whether any channels will be added (but without needing them to actually get created).
+ *
+ * ! This causes the calling function to return early if we're only "peeking" for channels
+ */
+// XXX: ale_statement stuff is really a hack for one special case. It shouldn't really be needed...
+#define ANIMCHANNEL_NEW_CHANNEL_FULL(channel_data, channel_type, owner_id, ale_statement) \
+ if (filter_mode & ANIMFILTER_TMP_PEEK) \
+ return 1; \
+ else { \
+ bAnimListElem *ale= make_new_animlistelem(channel_data, channel_type, (ID *)owner_id); \
if (ale) {\
- BLI_addtail(anim_data, ale);\
- items++;\
- }\
+ BLI_addtail(anim_data, ale); \
+ items++; \
+ ale_statement \
+ } \
}
+#define ANIMCHANNEL_NEW_CHANNEL(channel_data, channel_type, owner_id) \
+ ANIMCHANNEL_NEW_CHANNEL_FULL(channel_data, channel_type, owner_id, {})
+
+/* ............................... */
+
/* quick macro to test if an anim-channel representing an AnimData block is suitably active */
#define ANIMCHANNEL_ACTIVEOK(ale) \
( !(filter_mode & ANIMFILTER_ACTIVE) || !(ale->adt) || (ale->adt->flag & ADT_UI_ACTIVE) )
@@ -432,7 +481,7 @@ short ANIM_animdata_get_context (const bContext *C, bAnimContext *ac)
/* this function allocates memory for a new bAnimListElem struct for the
* provided animation channel-data.
*/
-static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *owner, short ownertype, ID *owner_id)
+static bAnimListElem *make_new_animlistelem (void *data, short datatype, ID *owner_id)
{
bAnimListElem *ale= NULL;
@@ -443,10 +492,6 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->data= data;
ale->type= datatype;
- // XXX what is the point of the owner data?
- // xxx try and use this to simplify the problem of finding whether parent channels are working...
- ale->owner= owner;
- ale->ownertype= ownertype;
ale->id= owner_id;
ale->adt= BKE_animdata_from_id(owner_id);
@@ -509,55 +554,6 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->datatype= ALE_NONE;
}
break;
- case ANIMTYPE_FILLMATD:
- {
- Object *ob= (Object *)data;
-
- ale->flag= FILTER_MAT_OBJC(ob);
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
- case ANIMTYPE_FILLPARTD:
- {
- Object *ob= (Object *)data;
-
- ale->flag= FILTER_PART_OBJC(ob);
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
- case ANIMTYPE_FILLTEXD:
- {
- ID *id= (ID *)data;
-
- switch (GS(id->name)) {
- case ID_MA:
- {
- Material *ma= (Material *)id;
- ale->flag= FILTER_TEX_MATC(ma);
- }
- break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
- ale->flag= FILTER_TEX_LAMC(la);
- }
- break;
- case ID_WO:
- {
- World *wo= (World *)id;
- ale->flag= FILTER_TEX_WORC(wo);
- }
- break;
- }
-
- ale->key_data= NULL;
- ale->datatype= ALE_NONE;
- }
- break;
case ANIMTYPE_DSMAT:
{
@@ -650,6 +646,19 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
ale->adt= BKE_animdata_from_id(data);
}
break;
+ case ANIMTYPE_DSSPK:
+ {
+ Speaker *spk= (Speaker *)data;
+ AnimData *adt= spk->adt;
+
+ ale->flag= FILTER_SPK_OBJD(spk);
+
+ ale->key_data= (adt) ? adt->action : NULL;
+ ale->datatype= ALE_ACT;
+
+ ale->adt= BKE_animdata_from_id(data);
+ }
+ break;
case ANIMTYPE_DSSKEY:
{
Key *key= (Key *)data;
@@ -681,7 +690,7 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
bNodeTree *ntree= (bNodeTree *)data;
AnimData *adt= ntree->adt;
- ale->flag= FILTER_NTREE_SCED(ntree);
+ ale->flag= FILTER_NTREE_DATA(ntree);
ale->key_data= (adt) ? adt->action : NULL;
ale->datatype= ALE_ACT;
@@ -807,7 +816,7 @@ static bAnimListElem *make_new_animlistelem (void *data, short datatype, void *o
/* 'Only Selected' selected data filtering
* NOTE: when this function returns true, the F-Curve is to be skipped
*/
-static int skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id, int filter_mode)
+static size_t skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id, int filter_mode)
{
if (GS(owner_id->name) == ID_OB) {
Object *ob= (Object *)owner_id;
@@ -825,11 +834,12 @@ static int skip_fcurve_selected_data (bDopeSheet *ads, FCurve *fcu, ID *owner_id
/* check whether to continue or skip */
if ((pchan) && (pchan->bone)) {
/* if only visible channels, skip if bone not visible unless user wants channels from hidden data too */
- if ((filter_mode & ANIMFILTER_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
+ if ((filter_mode & ANIMFILTER_DATA_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
bArmature *arm= (bArmature *)ob->data;
if ((arm->layer & pchan->bone->layer) == 0)
return 1;
+ // TODO: manually hidden using flags
}
/* can only add this F-Curve if it is selected */
@@ -910,7 +920,7 @@ static short skip_fcurve_with_name (bDopeSheet *ads, FCurve *fcu, ID *owner_id)
}
/* find the next F-Curve that is usable for inclusion */
-static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
+static FCurve *animfilter_fcurve_next (bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
{
FCurve *fcu = NULL;
@@ -932,7 +942,7 @@ static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bAct
}
/* only include if visible (Graph Editor check, not channels check) */
- if (!(filter_mode & ANIMFILTER_CURVEVISIBLE) || (fcu->flag & FCURVE_VISIBLE)) {
+ if (!(filter_mode & ANIMFILTER_CURVE_VISIBLE) || (fcu->flag & FCURVE_VISIBLE)) {
/* only work with this channel and its subchannels if it is editable */
if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_FCU(fcu)) {
/* only include this curve if selected in a way consistent with the filtering requirements */
@@ -957,10 +967,10 @@ static FCurve *animdata_filter_fcurve_next (bDopeSheet *ads, FCurve *first, bAct
return NULL;
}
-static int animdata_filter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve *first, bActionGroup *grp, void *owner, short ownertype, int filter_mode, ID *owner_id)
+static size_t animfilter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve *first, bActionGroup *grp, int filter_mode, ID *owner_id)
{
FCurve *fcu;
- int items = 0;
+ size_t items = 0;
/* loop over every F-Curve able to be included
* - this for-loop works like this:
@@ -971,26 +981,98 @@ static int animdata_filter_fcurves (ListBase *anim_data, bDopeSheet *ads, FCurve
* 4) the fcu pointer is set to the F-Curve after the one we just added, so that we can keep going through
* the rest of the F-Curve list without an eternal loop. Back to step 2 :)
*/
- for (fcu=first; ( (fcu = animdata_filter_fcurve_next(ads, fcu, grp, filter_mode, owner_id)) ); fcu=fcu->next)
+ for (fcu=first; ( (fcu = animfilter_fcurve_next(ads, fcu, grp, filter_mode, owner_id)) ); fcu=fcu->next)
+ {
+ ANIMCHANNEL_NEW_CHANNEL(fcu, ANIMTYPE_FCURVE, owner_id);
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animfilter_act_group (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *UNUSED(act), bActionGroup *agrp, int filter_mode, ID *owner_id)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+ //int ofilter = filter_mode;
+
+ /* if we care about the selection status of the channels,
+ * but the group isn't expanded (1)...
+ * (1) this only matters if we actually care about the hierarchy though.
+ * - Hierarchy matters: this hack should be applied
+ * - Hierarchy ignored: cases like [#21276] won't work properly, unless we skip this hack
+ */
+ if ( ((filter_mode & ANIMFILTER_LIST_VISIBLE) && EXPANDED_AGRP(ac, agrp)==0) && /* care about hierarchy but group isn't expanded */
+ (filter_mode & (ANIMFILTER_SEL|ANIMFILTER_UNSEL)) ) /* care about selection status */
{
- bAnimListElem *ale = make_new_animlistelem(fcu, ANIMTYPE_FCURVE, owner, ownertype, owner_id);
+ /* if the group itself isn't selected appropriately, we shouldn't consider it's children either */
+ if (ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) == 0)
+ return 0;
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ /* if we're still here, then the selection status of the curves within this group should not matter,
+ * since this creates too much overhead for animators (i.e. making a slow workflow)
+ *
+ * Tools affected by this at time of coding (2010 Feb 09):
+ * - inserting keyframes on selected channels only
+ * - pasting keyframes
+ * - creating ghost curves in Graph Editor
+ */
+ filter_mode &= ~(ANIMFILTER_SEL|ANIMFILTER_UNSEL|ANIMFILTER_LIST_VISIBLE);
+ }
+
+ /* add grouped F-Curves */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_AGRP(ac, agrp))
+ {
+ /* special filter so that we can get just the F-Curves within the active group */
+ if (!(filter_mode & ANIMFILTER_ACTGROUPED) || (agrp->flag & AGRP_ACTIVE)) {
+ /* for the Graph Editor, curves may be set to not be visible in the view to lessen clutter,
+ * but to do this, we need to check that the group doesn't have it's not-visible flag set preventing
+ * all its sub-curves to be shown
+ */
+ if ( !(filter_mode & ANIMFILTER_CURVE_VISIBLE) || !(agrp->flag & AGRP_NOTVISIBLE) )
+ {
+ /* group must be editable for its children to be editable (if we care about this) */
+ if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_AGRP(agrp)) {
+ /* get first F-Curve which can be used here */
+ FCurve *first_fcu = animfilter_fcurve_next(ads, agrp->channels.first, agrp, filter_mode, owner_id);
+
+ /* filter list, starting from this F-Curve */
+ tmp_items += animfilter_fcurves(&tmp_data, ads, first_fcu, agrp, filter_mode, owner_id);
+ }
+ }
+ }
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* add this group as a channel first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* restore original filter mode so that this next step works ok... */
+ //filter_mode = ofilter;
+
+ /* filter selection of channel specially here again, since may be open and not subject to previous test */
+ if ( ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) ) {
+ ANIMCHANNEL_NEW_CHANNEL(agrp, ANIMTYPE_GROUP, owner_id);
+ }
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *act, int filter_mode, void *owner, short ownertype, ID *owner_id)
+static size_t animfilter_action (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAction *act, int filter_mode, ID *owner_id)
{
- bAnimListElem *ale=NULL;
bActionGroup *agrp;
- FCurve *lastchan=NULL;
- int items = 0;
+ FCurve *lastchan = NULL;
+ size_t items = 0;
/* don't include anything from this action if it is linked in from another file,
* and we're getting stuff for editing...
@@ -998,106 +1080,22 @@ static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeS
// TODO: need a way of tagging other channels that may also be affected...
if ((filter_mode & ANIMFILTER_FOREDIT) && (act->id.lib))
return 0;
-
- /* loop over groups */
- // TODO: in future, should we expect to need nested groups?
- for (agrp= act->groups.first; agrp; agrp= agrp->next) {
- FCurve *first_fcu;
- int filter_gmode;
+ /* do groups */
+ // TODO: do nested groups?
+ for (agrp = act->groups.first; agrp; agrp = agrp->next) {
/* store reference to last channel of group */
if (agrp->channels.last)
lastchan= agrp->channels.last;
-
-
- /* make a copy of filtering flags for use by the sub-channels of this group */
- filter_gmode= filter_mode;
-
- /* if we care about the selection status of the channels,
- * but the group isn't expanded...
- */
- if ( (filter_mode & (ANIMFILTER_SEL|ANIMFILTER_UNSEL)) && /* care about selection status */
- (EXPANDED_AGRP(ac, agrp)==0) ) /* group isn't expanded */
- {
- /* if the group itself isn't selected appropriately, we shouldn't consider it's children either */
- if (ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) == 0)
- continue;
- /* if we're still here, then the selection status of the curves within this group should not matter,
- * since this creates too much overhead for animators (i.e. making a slow workflow)
- *
- * Tools affected by this at time of coding (2010 Feb 09):
- * - inserting keyframes on selected channels only
- * - pasting keyframes
- * - creating ghost curves in Graph Editor
- */
- filter_gmode &= ~(ANIMFILTER_SEL|ANIMFILTER_UNSEL);
- }
-
-
- /* get the first F-Curve in this group we can start to use, and if there isn't any F-Curve to start from,
- * then don't use this group at all...
- *
- * NOTE: use filter_gmode here not filter_mode, since there may be some flags we shouldn't consider under certain circumstances
- */
- first_fcu = animdata_filter_fcurve_next(ads, agrp->channels.first, agrp, filter_gmode, owner_id);
-
- /* Bug note:
- * Selecting open group to toggle visbility of the group, where the F-Curves of the group are not suitable
- * for inclusion due to their selection status (vs visibility status of bones/etc., as is usually the case),
- * will not work, since the group gets skipped. However, fixing this can easily reintroduce the bugs whereby
- * hidden groups (due to visibility status of bones/etc.) that were selected before becoming invisible, can
- * easily get deleted accidentally as they'd be included in the list filtered for that purpose.
- *
- * So, for now, best solution is to just leave this note here, and hope to find a solution at a later date.
- * -- Joshua Leung, 2010 Feb 10
- */
- if (first_fcu) {
- /* add this group as a channel first */
- if ((filter_mode & ANIMFILTER_CHANNELS) || !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* filter selection of channel specially here again, since may be open and not subject to previous test */
- if ( ANIMCHANNEL_SELOK(SEL_AGRP(agrp)) ) {
- ale= make_new_animlistelem(agrp, ANIMTYPE_GROUP, NULL, ANIMTYPE_NONE, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* there are some situations, where only the channels of the action group should get considered */
- if (!(filter_mode & ANIMFILTER_ACTGROUPED) || (agrp->flag & AGRP_ACTIVE)) {
- /* filters here are a bit convoulted...
- * - groups show a "summary" of keyframes beside their name which must accessable for tools which handle keyframes
- * - groups can be collapsed (and those tools which are only interested in channels rely on knowing that group is closed)
- *
- * cases when we should include F-Curves inside group:
- * - we don't care about visibility
- * - group is expanded
- * - we just need the F-Curves present
- */
- if ( (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_AGRP(ac, agrp)) || (filter_mode & ANIMFILTER_CURVESONLY) )
- {
- /* for the Graph Editor, curves may be set to not be visible in the view to lessen clutter,
- * but to do this, we need to check that the group doesn't have it's not-visible flag set preventing
- * all its sub-curves to be shown
- */
- if ( !(filter_mode & ANIMFILTER_CURVEVISIBLE) || !(agrp->flag & AGRP_NOTVISIBLE) )
- {
- if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_AGRP(agrp)) {
- /* NOTE: filter_gmode is used here, not standard filter_mode, since there may be some flags that shouldn't apply */
- items += animdata_filter_fcurves(anim_data, ads, first_fcu, agrp, owner, ownertype, filter_gmode, owner_id);
- }
- }
- }
- }
- }
+ /* action group's channels */
+ items += animfilter_act_group(ac, anim_data, ads, act, agrp, filter_mode, owner_id);
}
- /* loop over un-grouped F-Curves (only if we're not only considering those channels in the animive group) */
+ /* un-grouped F-Curves (only if we're not only considering those channels in the active group) */
if (!(filter_mode & ANIMFILTER_ACTGROUPED)) {
- // XXX the 'owner' info here needs review...
- items += animdata_filter_fcurves(anim_data, ads, (lastchan)?(lastchan->next):(act->curves.first), NULL, owner, ownertype, filter_mode, owner_id);
+ FCurve *firstfcu = (lastchan)? (lastchan->next) : (act->curves.first);
+ items += animfilter_fcurves(anim_data, ads, firstfcu, NULL, filter_mode, owner_id);
}
/* return the number of items added to the list */
@@ -1105,35 +1103,35 @@ static int animdata_filter_action (bAnimContext *ac, ListBase *anim_data, bDopeS
}
/* Include NLA-Data for NLA-Editor:
- * - when ANIMFILTER_CHANNELS is used, that means we should be filtering the list for display
+ * - when ANIMFILTER_LIST_CHANNELS is used, that means we should be filtering the list for display
* Although the evaluation order is from the first track to the last and then apply the Action on top,
* we present this in the UI as the Active Action followed by the last track to the first so that we
* get the evaluation order presented as per a stack.
* - for normal filtering (i.e. for editing), we only need the NLA-tracks but they can be in 'normal' evaluation
* order, i.e. first to last. Otherwise, some tools may get screwed up.
*/
-static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, bDopeSheet *UNUSED(ads), AnimData *adt, int filter_mode, void *owner, short ownertype, ID *owner_id)
+static size_t animfilter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, bDopeSheet *ads, AnimData *adt, int filter_mode, ID *owner_id)
{
- bAnimListElem *ale;
NlaTrack *nlt;
NlaTrack *first=NULL, *next=NULL;
- int items = 0;
+ size_t items = 0;
/* if showing channels, include active action */
- if (filter_mode & ANIMFILTER_CHANNELS) {
- /* there isn't really anything editable here, so skip if need editable */
- // TODO: currently, selection isn't checked since it doesn't matter
- if ((filter_mode & ANIMFILTER_FOREDIT) == 0) {
- /* just add the action track now (this MUST appear for drawing)
- * - as AnimData may not have an action, we pass a dummy pointer just to get the list elem created, then
- * overwrite this with the real value - REVIEW THIS...
- */
- ale= make_new_animlistelem((void *)(&adt->action), ANIMTYPE_NLAACTION, owner, ownertype, owner_id);
- ale->data= (adt->action) ? adt->action : NULL;
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* if NLA action-line filtering is off, don't show unless there are keyframes,
+ * in order to keep things more compact for doing transforms
+ */
+ if (!(ads->filterflag & ADS_FILTER_NLA_NOACT) || (adt->action)) {
+ /* there isn't really anything editable here, so skip if need editable */
+ if ((filter_mode & ANIMFILTER_FOREDIT) == 0) {
+ /* just add the action track now (this MUST appear for drawing)
+ * - as AnimData may not have an action, we pass a dummy pointer just to get the list elem created, then
+ * overwrite this with the real value - REVIEW THIS...
+ */
+ ANIMCHANNEL_NEW_CHANNEL_FULL((void *)(&adt->action), ANIMTYPE_NLAACTION, owner_id,
+ {
+ ale->data= adt->action ? adt->action : NULL;
+ });
}
}
@@ -1148,7 +1146,7 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
/* loop over NLA Tracks - assume that the caller of this has already checked that these should be included */
for (nlt= first; nlt; nlt= next) {
/* 'next' NLA-Track to use depends on whether we're filtering for drawing or not */
- if (filter_mode & ANIMFILTER_CHANNELS)
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS)
next= nlt->prev;
else
next= nlt->next;
@@ -1166,12 +1164,7 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
if ( ANIMCHANNEL_SELOK(SEL_NLT(nlt)) ) {
/* only include if this track is active */
if (!(filter_mode & ANIMFILTER_ACTIVE) || (nlt->flag & NLATRACK_ACTIVE)) {
- ale= make_new_animlistelem(nlt, ANIMTYPE_NLATRACK, owner, ownertype, owner_id);
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(nlt, ANIMTYPE_NLATRACK, owner_id);
}
}
}
@@ -1181,14 +1174,49 @@ static int animdata_filter_nla (bAnimContext *UNUSED(ac), ListBase *anim_data, b
return items;
}
+/* determine what animation data from AnimData block should get displayed */
+static size_t animfilter_block_data (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *id, int filter_mode)
+{
+ AnimData *adt = BKE_animdata_from_id(id);
+ size_t items = 0;
+
+ /* image object datablocks have no anim-data so check for NULL */
+ if(adt) {
+ IdAdtTemplate *iat = (IdAdtTemplate*)id;
+
+ /* NOTE: this macro is used instead of inlining the logic here, since this sort of filtering is still needed
+ * in a few places in he rest of the code still - notably for the few cases where special mode-based
+ * different types of data expanders are required.
+ */
+ ANIMDATA_FILTER_CASES(iat,
+ { /* AnimData */
+ /* specifically filter animdata block */
+ ANIMCHANNEL_NEW_CHANNEL(adt, ANIMTYPE_ANIMDATA, id);
+ },
+ { /* NLA */
+ items += animfilter_nla(ac, anim_data, ads, adt, filter_mode, id);
+ },
+ { /* Drivers */
+ items += animfilter_fcurves(anim_data, ads, adt->drivers.first, NULL, filter_mode, id);
+ },
+ { /* Keyframes */
+ items += animfilter_action(ac, anim_data, ads, adt->action, filter_mode, id);
+ }
+ );
+ }
+
+ return items;
+}
+
+
+
/* Include ShapeKey Data for ShapeKey Editor */
-static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key *key, int filter_mode)
+static size_t animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key *key, int filter_mode)
{
- bAnimListElem *ale;
- int items = 0;
+ size_t items = 0;
/* check if channels or only F-Curves */
- if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
KeyBlock *kb;
/* loop through the channels adding ShapeKeys as appropriate */
@@ -1204,24 +1232,21 @@ static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key
// TODO: consider 'active' too?
/* owner-id here must be key so that the F-Curve can be resolved... */
- ale= make_new_animlistelem(kb, ANIMTYPE_SHAPEKEY, NULL, ANIMTYPE_NONE, (ID *)key);
-
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(kb, ANIMTYPE_SHAPEKEY, key);
}
}
}
}
else {
/* just use the action associated with the shapekey */
- // FIXME: is owner-id and having no owner/dopesheet really fine?
+ // TODO: somehow manage to pass dopesheet info down here too?
if (key->adt) {
- if (filter_mode & ANIMFILTER_ANIMDATA)
- ANIMDATA_ADD_ANIMDATA(key)
- else if (key->adt->action)
- items= animdata_filter_action(ac, anim_data, NULL, key->adt->action, filter_mode, NULL, ANIMTYPE_NONE, (ID *)key);
+ if (filter_mode & ANIMFILTER_ANIMDATA) {
+ ANIMCHANNEL_NEW_CHANNEL(key->adt, ANIMTYPE_ANIMDATA, key);
+ }
+ else if (key->adt->action) {
+ items= animfilter_action(ac, anim_data, NULL, key->adt->action, filter_mode, (ID *)key);
+ }
}
}
@@ -1229,53 +1254,102 @@ static int animdata_filter_shapekey (bAnimContext *ac, ListBase *anim_data, Key
return items;
}
+static size_t animdata_filter_gpencil_data (ListBase *anim_data, bGPdata *gpd, int filter_mode)
+{
+ bGPDlayer *gpl;
+ size_t items = 0;
+
+ /* loop over layers as the conditions are acceptable */
+ for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
+ /* only if selected */
+ if ( ANIMCHANNEL_SELOK(SEL_GPL(gpl)) ) {
+ /* only if editable */
+ if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_GPL(gpl)) {
+ /* active... */
+ if (!(filter_mode & ANIMFILTER_ACTIVE) || (gpl->flag & GP_LAYER_ACTIVE)) {
+ /* add to list */
+ ANIMCHANNEL_NEW_CHANNEL(gpl, ANIMTYPE_GPLAYER, gpd);
+ }
+ }
+ }
+ }
+
+ return items;
+}
+
/* Grab all Grase Pencil datablocks in file */
// TODO: should this be amalgamated with the dopesheet filtering code?
-static int animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int filter_mode)
+static size_t animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int filter_mode)
{
- bAnimListElem *ale;
bGPdata *gpd;
- bGPDlayer *gpl;
- int items = 0;
+ size_t items = 0;
- /* check if filtering types are appropriate */
- if (!(filter_mode & (ANIMFILTER_ACTGROUPED|ANIMFILTER_CURVESONLY)))
- {
- /* for now, grab grease pencil datablocks directly from main*/
- for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
- /* only show if gpd is used by something... */
- if (ID_REAL_USERS(gpd) < 1)
- continue;
+ /* for now, grab grease pencil datablocks directly from main */
+ // XXX: this is not good...
+ for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+
+ /* only show if gpd is used by something... */
+ if (ID_REAL_USERS(gpd) < 1)
+ continue;
- /* add gpd as channel too (if for drawing, and it has layers) */
- if ((filter_mode & ANIMFILTER_CHANNELS) && (gpd->layers.first)) {
- /* add to list */
- ale= make_new_animlistelem(gpd, ANIMTYPE_GPDATABLOCK, NULL, ANIMTYPE_NONE, NULL);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ /* add gpencil animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_GPD(gpd))
+ {
+ tmp_items += animdata_filter_gpencil_data(&tmp_data, gpd, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* add gpd as channel too (if for drawing, and it has layers) */
+ ANIMCHANNEL_NEW_CHANNEL(gpd, ANIMTYPE_GPDATABLOCK, NULL);
}
- /* only add layers if they will be visible (if drawing channels) */
- if ( !(filter_mode & ANIMFILTER_VISIBLE) || (EXPANDED_GPD(gpd)) ) {
- /* loop over layers as the conditions are acceptable */
- for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
- /* only if selected */
- if ( ANIMCHANNEL_SELOK(SEL_GPL(gpl)) ) {
- /* only if editable */
- if (!(filter_mode & ANIMFILTER_FOREDIT) || EDITABLE_GPL(gpl)) {
- /* add to list */
- ale= make_new_animlistelem(gpl, ANIMTYPE_GPLAYER, gpd, ANIMTYPE_GPDATABLOCK, (ID*)gpd);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+/* NOTE: owner_id is scene, material, or texture block, which is the direct owner of the node tree in question */
+// TODO: how to handle group nodes is still unclear...
+static size_t animdata_filter_ds_nodetree (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, bNodeTree *ntree, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add nodetree animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_NTREE_DATA(ntree))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ntree, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(ntree) {
+ ANIMCHANNEL_NEW_CHANNEL(ntree, ANIMTYPE_DSNTREE, owner_id);
}
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
/* return the number of items added to the list */
@@ -1283,16 +1357,11 @@ static int animdata_filter_gpencil (ListBase *anim_data, void *UNUSED(data), int
}
/* NOTE: owner_id is either material, lamp, or world block, which is the direct owner of the texture stack in question */
-static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode)
+static size_t animdata_filter_ds_textures (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, ID *owner_id, int filter_mode)
{
- ListBase texs = {NULL, NULL};
- LinkData *ld;
MTex **mtex = NULL;
- short expanded=0;
- int ownertype = ANIMTYPE_NONE;
-
- bAnimListElem *ale=NULL;
- int items=0, a=0;
+ size_t items=0;
+ int a=0;
/* get datatype specific data first */
if (owner_id == NULL)
@@ -1302,28 +1371,19 @@ static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data
case ID_MA:
{
Material *ma= (Material *)owner_id;
-
mtex= (MTex**)(&ma->mtex);
- expanded= FILTER_TEX_MATC(ma);
- ownertype= ANIMTYPE_DSMAT;
}
break;
case ID_LA:
{
Lamp *la= (Lamp *)owner_id;
-
mtex= (MTex**)(&la->mtex);
- expanded= FILTER_TEX_LAMC(la);
- ownertype= ANIMTYPE_DSLAM;
}
break;
case ID_WO:
{
World *wo= (World *)owner_id;
-
mtex= (MTex**)(&wo->mtex);
- expanded= FILTER_TEX_WORC(wo);
- ownertype= ANIMTYPE_DSWOR;
}
break;
default:
@@ -1338,235 +1398,137 @@ static int animdata_filter_dopesheet_texs (bAnimContext *ac, ListBase *anim_data
/* firstly check that we actuallly have some textures, by gathering all textures in a temp list */
for (a=0; a < MAX_MTEX; a++) {
Tex *tex= (mtex[a]) ? mtex[a]->tex : NULL;
- short ok = 0;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
/* for now, if no texture returned, skip (this shouldn't confuse the user I hope) */
- if (ELEM(NULL, tex, tex->adt))
+ if (tex == NULL)
continue;
- /* check if ok */
- ANIMDATA_FILTER_CASES(tex,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- if (ok == 0) continue;
-
- /* make a temp list elem for this */
- ld= MEM_callocN(sizeof(LinkData), "DopeSheet-TextureCache");
- ld->data= tex;
- BLI_addtail(&texs, ld);
- }
-
- /* if there were no channels found, no need to carry on */
- if (texs.first == NULL)
- return 0;
-
- /* include textures-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(owner_id, ANIMTYPE_FILLTEXD, owner_id, ownertype, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add textures */
- if ((expanded) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* for each texture in cache, add channels */
- for (ld= texs.first; ld; ld= ld->next) {
- Tex *tex= (Tex *)ld->data;
+ /* add texture's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_TEX_DATA(tex))
+ {
+ /* texture animdata */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)tex, filter_mode);
+ /* nodes */
+ if ((tex->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
+ /* owner_id as id instead of texture, since it'll otherwise be impossible to track the depth */
+ // FIXME: perhaps as a result, textures should NOT be included under materials, but under their own section instead
+ // so that free-floating textures can also be animated
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)tex, tex->nodetree, filter_mode);
+ }
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
/* include texture-expand widget? */
- if (filter_mode & ANIMFILTER_CHANNELS) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(tex) {
- ale= make_new_animlistelem(tex, ANIMTYPE_DSTEX, owner_id, ownertype, owner_id);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(tex, ANIMTYPE_DSTEX, owner_id);
}
}
- /* add texture's animation data
- * NOTE: for these, we make the owner/ownertype the material/lamp/etc. not the texture, otherwise the
- * drawing code cannot resolve the indention easily
- */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_TEX_DATA(tex) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- ANIMDATA_FILTER_CASES(tex,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, tex->adt, filter_mode, owner_id, ownertype, (ID *)tex);,
- items += animdata_filter_fcurves(anim_data, ads, tex->adt->drivers.first, NULL, owner_id, ownertype, filter_mode, (ID *)tex);,
- items += animdata_filter_action(ac, anim_data, ads, tex->adt->action, filter_mode, owner_id, ownertype, (ID *)tex);)
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
- /* free cache */
- BLI_freelistN(&texs);
-
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_mats (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_materials (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- ListBase mats = {NULL, NULL};
- LinkData *ld;
-
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
- int items=0, a=0;
+ size_t items=0;
+ int a=0;
/* firstly check that we actuallly have some materials, by gathering all materials in a temp list */
for (a=1; a <= ob->totcol; a++) {
Material *ma= give_current_material(ob, a);
- short ok = 0;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
- /* for now, if no material returned, skip (this shouldn't confuse the user I hope) */
+ /* if no material returned, skip - so that we don't get weird blank entries... */
if (ma == NULL) continue;
-
- /* check if ok */
- ANIMDATA_FILTER_CASES(ma,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
-
- /* need to check textures */
- if (ok == 0 && !(ads->filterflag & ADS_FILTER_NOTEX)) {
- int mtInd;
-
- for (mtInd=0; mtInd < MAX_MTEX; mtInd++) {
- MTex *mtex = ma->mtex[mtInd];
-
- if(mtex && mtex->tex) {
- ANIMDATA_FILTER_CASES(mtex->tex,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- }
-
- if(ok)
- break;
- }
- }
- if (ok == 0) continue;
-
- /* make a temp list elem for this */
- ld= MEM_callocN(sizeof(LinkData), "DopeSheet-MaterialCache");
- ld->data= ma;
- BLI_addtail(&mats, ld);
- }
-
- /* if there were no channels found, no need to carry on */
- if (mats.first == NULL)
- return 0;
-
- /* include materials-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ob, ANIMTYPE_FILLMATD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ /* add material's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_MAT_OBJD(ma))
+ {
+ /* material's animation data */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+
+ /* textures */
+ if (!(ads->filterflag & ADS_FILTER_NOTEX))
+ tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)ma, filter_mode);
+
+ /* nodes */
+ if ((ma->nodetree) && !(ads->filterflag & ADS_FILTER_NONTREE))
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)ma, ma->nodetree, filter_mode);
}
- }
-
- /* add materials? */
- if (FILTER_MAT_OBJC(ob) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* for each material in cache, add channels */
- for (ld= mats.first; ld; ld= ld->next) {
- Material *ma= (Material *)ld->data;
-
- /* include material-expand widget? */
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include material-expand widget first */
// hmm... do we need to store the index of this material in the array anywhere?
- if (filter_mode & ANIMFILTER_CHANNELS) {
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(ma) {
- ale= make_new_animlistelem(ma, ANIMTYPE_DSMAT, base, ANIMTYPE_OBJECT, (ID *)ma);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(ma, ANIMTYPE_DSMAT, ma);
}
}
- /* add material's animation data */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_MAT_OBJD(ma) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* material's animation data */
- ANIMDATA_FILTER_CASES(ma,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, ma->adt, filter_mode, ma, ANIMTYPE_DSMAT, (ID *)ma);,
- items += animdata_filter_fcurves(anim_data, ads, ma->adt->drivers.first, NULL, ma, ANIMTYPE_DSMAT, filter_mode, (ID *)ma);,
- items += animdata_filter_action(ac, anim_data, ads, ma->adt->action, filter_mode, ma, ANIMTYPE_DSMAT, (ID *)ma);)
-
- /* textures */
- if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, (ID *)ma, filter_mode);
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
- /* free cache */
- BLI_freelistN(&mats);
-
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_particles (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_particles (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
- ParticleSystem *psys = ob->particlesystem.first;
- int items= 0, first = 1;
-
- for(; psys; psys=psys->next) {
- short ok = 0;
+ ParticleSystem *psys;
+ size_t items= 0;
- if(ELEM(NULL, psys->part, psys->part->adt))
+ for (psys = ob->particlesystem.first; psys; psys=psys->next) {
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+
+ /* if no material returned, skip - so that we don't get weird blank entries... */
+ if (ELEM(NULL, psys->part, psys->part->adt))
continue;
-
- ANIMDATA_FILTER_CASES(psys->part,
- { /* AnimData blocks - do nothing... */ },
- ok=1;,
- ok=1;,
- ok=1;)
- if (ok == 0) continue;
-
- /* include particles-expand widget? */
- if (first && (filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ob, ANIMTYPE_FILLPARTD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- first = 0;
+
+ /* add particle-system's animation data to temp collection */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_PART_OBJD(psys->part))
+ {
+ /* material's animation data */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)psys->part, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* add particle settings? */
- if (FILTER_PART_OBJC(ob) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- if ((filter_mode & ANIMFILTER_CHANNELS)) {
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include particle-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
/* check if filtering by active status */
if ANIMCHANNEL_ACTIVEOK(psys->part) {
- ale = make_new_animlistelem(psys->part, ANIMTYPE_DSPART, base, ANIMTYPE_OBJECT, (ID *)psys->part);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
+ ANIMCHANNEL_NEW_CHANNEL(psys->part, ANIMTYPE_DSPART, psys->part);
}
}
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_PART_OBJD(psys->part) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- ANIMDATA_FILTER_CASES(psys->part,
- { /* AnimData blocks - do nothing... */ },
- items += animdata_filter_nla(ac, anim_data, ads, psys->part->adt, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);,
- items += animdata_filter_fcurves(anim_data, ads, psys->part->adt->drivers.first, NULL, psys->part, ANIMTYPE_DSPART, filter_mode, (ID *)psys->part);,
- items += animdata_filter_action(ac, anim_data, ads, psys->part->adt->action, filter_mode, psys->part, ANIMTYPE_DSPART, (ID *)psys->part);)
- }
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
}
@@ -1574,14 +1536,14 @@ static int animdata_filter_dopesheet_particles (bAnimContext *ac, ListBase *anim
return items;
}
-static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+static size_t animdata_filter_ds_obdata (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
{
- bAnimListElem *ale=NULL;
- Object *ob= base->object;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items= 0;
+
IdAdtTemplate *iat= ob->data;
- AnimData *adt= iat->adt;
short type=0, expanded=0;
- int items= 0;
/* get settings based on data type */
switch (ob->type) {
@@ -1589,6 +1551,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Camera *ca= (Camera *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOCAM)
+ return 0;
+
type= ANIMTYPE_DSCAM;
expanded= FILTER_CAM_OBJD(ca);
}
@@ -1597,6 +1562,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Lamp *la= (Lamp *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOLAM)
+ return 0;
+
type= ANIMTYPE_DSLAM;
expanded= FILTER_LAM_OBJD(la);
}
@@ -1607,6 +1575,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Curve *cu= (Curve *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOCUR)
+ return 0;
+
type= ANIMTYPE_DSCUR;
expanded= FILTER_CUR_OBJD(cu);
}
@@ -1615,6 +1586,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
MetaBall *mb= (MetaBall *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOMBA)
+ return 0;
+
type= ANIMTYPE_DSMBALL;
expanded= FILTER_MBALL_OBJD(mb);
}
@@ -1623,6 +1597,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
bArmature *arm= (bArmature *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOARM)
+ return 0;
+
type= ANIMTYPE_DSARM;
expanded= FILTER_ARM_OBJD(arm);
}
@@ -1631,6 +1608,9 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Mesh *me= (Mesh *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOMESH)
+ return 0;
+
type= ANIMTYPE_DSMESH;
expanded= FILTER_MESH_OBJD(me);
}
@@ -1639,463 +1619,366 @@ static int animdata_filter_dopesheet_obdata (bAnimContext *ac, ListBase *anim_da
{
Lattice *lt = (Lattice *)ob->data;
+ if (ads->filterflag & ADS_FILTER_NOLAT)
+ return 0;
+
type= ANIMTYPE_DSLAT;
expanded= FILTER_LATTICE_OBJD(lt);
}
break;
- }
-
- /* include data-expand widget? */
- if ((filter_mode & ANIMFILTER_CURVESONLY) == 0) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(iat) {
- ale= make_new_animlistelem(iat, type, base, ANIMTYPE_OBJECT, (ID *)iat);
- if (ale) BLI_addtail(anim_data, ale);
+ case OB_SPEAKER: /* ---------- Speaker ----------- */
+ {
+ Speaker *spk= (Speaker *)ob->data;
+
+ type= ANIMTYPE_DSSPK;
+ expanded= FILTER_SPK_OBJD(spk);
}
+ break;
}
- /* add object-data animation channels? */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || (expanded) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* filtering for channels - nla, drivers, keyframes */
- ANIMDATA_FILTER_CASES(iat,
- { /* AnimData blocks - do nothing... */ },
- items+= animdata_filter_nla(ac, anim_data, ads, iat->adt, filter_mode, iat, type, (ID *)iat);,
- items+= animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, iat, type, filter_mode, (ID *)iat);,
- items+= animdata_filter_action(ac, anim_data, ads, iat->adt->action, filter_mode, iat, type, (ID *)iat);)
-
+ /* add object data animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)iat, filter_mode);
+
/* sub-data filtering... */
switch (ob->type) {
case OB_LAMP: /* lamp - textures */
{
/* textures */
if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, ob->data, filter_mode);
+ tmp_items += animdata_filter_ds_textures(ac, &tmp_data, ads, ob->data, filter_mode);
}
break;
}
}
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(iat) {
+ ANIMCHANNEL_NEW_CHANNEL(iat, type, iat);
+ }
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
/* return the number of items added to the list */
return items;
}
-static int animdata_filter_dopesheet_ob (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+/* shapekey-level animation */
+static size_t animdata_filter_ds_keyanim (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, Key *key, int filter_mode)
{
- bAnimListElem *ale=NULL;
- AnimData *adt = NULL;
- Object *ob= base->object;
- Key *key= ob_get_key(ob);
- short obdata_ok = 0;
- int items = 0;
-
- /* add this object as a channel first */
- if ((filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) == 0) {
- /* check if filtering by selection */
- if ANIMCHANNEL_SELOK((base->flag & SELECT)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(ob) {
- ale= make_new_animlistelem(base, ANIMTYPE_OBJECT, NULL, ANIMTYPE_NONE, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add shapekey-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_SKE_OBJD(key))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)key, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* if collapsed, don't go any further (unless adding keyframes only) */
- if ( ((filter_mode & ANIMFILTER_VISIBLE) && EXPANDED_OBJC(ob) == 0) &&
- !(filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) )
- return items;
-
- /* Action, Drivers, or NLA */
- if (ob->adt && !(ads->filterflag & ADS_FILTER_NOOBJ)) {
- adt= ob->adt;
- ANIMDATA_FILTER_CASES(ob,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)ob);
- },
- { /* drivers */
- /* include drivers-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLDRIVERS, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_DRVD(adt) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // need to make the ownertype normal object here... (maybe type should be a separate one for clarity?)
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, ob, ANIMTYPE_OBJECT, filter_mode, (ID *)ob);
- }
- },
- { /* action (keyframes) */
- /* include action-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLACTD, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels? */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || EXPANDED_ACTC(adt->action) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // need to make the ownertype normal object here... (maybe type should be a separate one for clarity?)
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)ob);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include key-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if ANIMCHANNEL_ACTIVEOK(key) {
+ ANIMCHANNEL_NEW_CHANNEL(key, ANIMTYPE_DSSKEY, ob);
}
- );
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
+ /* return the number of items added to the list */
+ return items;
+}
+
+/* object-level animation */
+static size_t animdata_filter_ds_obanim (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Object *ob, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ AnimData *adt = ob->adt;
+ short type=0, expanded=1;
+ void *cdata = NULL;
+
+ /* determine the type of expander channels to use */
+ // this is the best way to do this for now...
+ ANIMDATA_FILTER_CASES(ob,
+ {/* AnimData - no channel, but consider data */},
+ {/* NLA - no channel, but consider data */},
+ {/* Drivers */
+ type = ANIMTYPE_FILLDRIVERS;
+ cdata = adt;
+ expanded = EXPANDED_DRVD(adt);
+ },
+ {/* Keyframes */
+ type = ANIMTYPE_FILLACTD;
+ cdata = adt->action;
+ expanded = EXPANDED_ACTC(adt->action);
+ });
+
+ /* add object-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)ob, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
- /* ShapeKeys? */
- if ((key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- adt= key->adt;
- ANIMDATA_FILTER_CASES(key,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(key) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* add NLA tracks - only if expanded or so */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY))
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ob, ANIMTYPE_OBJECT, (ID *)key);
- },
- { /* drivers */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, key, ANIMTYPE_DSSKEY, filter_mode, (ID *)key);
- }
- },
- { /* action (keyframes) */
- /* include shapekey-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- /* check if filtering by active status */
- if ANIMCHANNEL_ACTIVEOK(key) {
- ale= make_new_animlistelem(key, ANIMTYPE_DSSKEY, base, ANIMTYPE_OBJECT, (ID *)ob);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
- }
-
- /* add channels */
- if (!(filter_mode & ANIMFILTER_VISIBLE) || FILTER_SKE_OBJD(key) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, key, ANIMTYPE_DSSKEY, (ID *)key);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include anim-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if (type != ANIMTYPE_NONE) {
+ /* NOTE: active-status (and the associated checks) don't apply here... */
+ ANIMCHANNEL_NEW_CHANNEL(cdata, type, ob);
}
- );
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
+
+ /* return the number of items added to the list */
+ return items;
+}
- /* Materials? */
- if ((ob->totcol) && !(ads->filterflag & ADS_FILTER_NOMAT))
- items += animdata_filter_dopesheet_mats(ac, anim_data, ads, base, filter_mode);
+/* get animation channels from object2 */
+static size_t animdata_filter_dopesheet_ob (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Base *base, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ Object *ob= base->object;
+ size_t tmp_items = 0;
+ size_t items = 0;
- /* Object Data */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOCAM) == 0) {
- ANIMDATA_FILTER_CASES(ca,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOLAM) == 0) {
- ANIMDATA_FILTER_CASES(la,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+ /* filter data contained under object first */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_OBJC(ob))
+ {
+ Key *key= ob_get_key(ob);
+
+ /* object-level animation */
+ if ((ob->adt) && !(ads->filterflag & ADS_FILTER_NOOBJ)) {
+ tmp_items += animdata_filter_ds_obanim(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOCUR) == 0) {
- ANIMDATA_FILTER_CASES(cu,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* shape-key */
+ if ((key && key->adt) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
+ tmp_items += animdata_filter_ds_keyanim(ac, &tmp_data, ads, ob, key, filter_mode);
}
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOMBA) == 0) {
- ANIMDATA_FILTER_CASES(mb,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* materials */
+ if ((ob->totcol) && !(ads->filterflag & ADS_FILTER_NOMAT)) {
+ tmp_items += animdata_filter_ds_materials(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOARM) == 0) {
- ANIMDATA_FILTER_CASES(arm,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* object data */
+ if (ob->data) {
+ tmp_items += animdata_filter_ds_obdata(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOMESH) == 0) {
- ANIMDATA_FILTER_CASES(me,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
- }
+
+ /* particles */
+ if ((ob->particlesystem.first) && !(ads->filterflag & ADS_FILTER_NOPART)) {
+ tmp_items += animdata_filter_ds_particles(ac, &tmp_data, ads, ob, filter_mode);
}
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((ads->filterflag & ADS_FILTER_NOLAT) == 0) {
- ANIMDATA_FILTER_CASES(lt,
- { /* AnimData blocks - do nothing... */ },
- obdata_ok= 1;,
- obdata_ok= 1;,
- obdata_ok= 1;)
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+
+ /* if we collected some channels, add these to the new list... */
+ if (tmp_items) {
+ /* firstly add object expander if required */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by selection */
+ // XXX: double-check on this - most of the time, a lot of tools need to filter out these channels!
+ if ANIMCHANNEL_SELOK((base->flag & SELECT)) {
+ /* check if filtering by active status */
+ if (ANIMCHANNEL_ACTIVEOK(ob)) {
+ ANIMCHANNEL_NEW_CHANNEL(base, ANIMTYPE_OBJECT, ob);
+ }
}
}
- break;
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
- if (obdata_ok)
- items += animdata_filter_dopesheet_obdata(ac, anim_data, ads, base, filter_mode);
-
- /* particles */
- if (ob->particlesystem.first && !(ads->filterflag & ADS_FILTER_NOPART))
- items += animdata_filter_dopesheet_particles(ac, anim_data, ads, base, filter_mode);
- /* return the number of items added to the list */
+ /* return the number of items added */
return items;
-}
+}
-static int animdata_filter_dopesheet_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+static size_t animdata_filter_ds_world (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, World *wo, int filter_mode)
{
- World *wo= sce->world;
- bNodeTree *ntree= sce->nodetree;
- AnimData *adt= NULL;
- bAnimListElem *ale;
- int items = 0;
-
- /* add scene as a channel first (even if we aren't showing scenes we still need to show the scene's sub-data */
- if ((filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) == 0) {
- /* check if filtering by selection */
- if (ANIMCHANNEL_SELOK( (sce->flag & SCE_DS_SELECTED) )) {
- ale= make_new_animlistelem(sce, ANIMTYPE_SCENE, NULL, ANIMTYPE_NONE, NULL);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* add world animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(FILTER_WOR_SCED(wo))
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)wo, filter_mode);
+
+ /* textures for world */
+ if (!(ads->filterflag & ADS_FILTER_NOTEX))
+ items += animdata_filter_ds_textures(ac, &tmp_data, ads, (ID *)wo, filter_mode);
+ }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include data-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by active status */
+ if ANIMCHANNEL_ACTIVEOK(wo) {
+ ANIMCHANNEL_NEW_CHANNEL(wo, ANIMTYPE_DSWOR, sce);
}
}
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
- /* if collapsed, don't go any further (unless adding keyframes only) */
- if ( (EXPANDED_SCEC(sce) == 0) && !(filter_mode & (ANIMFILTER_CURVESONLY|ANIMFILTER_NLATRACKS)) )
- return items;
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animdata_filter_ds_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ AnimData *adt = sce->adt;
+ short type=0, expanded=1;
+ void *cdata = NULL;
+
+ /* determine the type of expander channels to use */
+ // this is the best way to do this for now...
+ ANIMDATA_FILTER_CASES(sce,
+ {/* AnimData - no channel, but consider data */},
+ {/* NLA - no channel, but consider data */},
+ {/* Drivers */
+ type = ANIMTYPE_FILLDRIVERS;
+ cdata = adt;
+ expanded = EXPANDED_DRVD(adt);
+ },
+ {/* Keyframes */
+ type = ANIMTYPE_FILLACTD;
+ cdata = adt->action;
+ expanded = EXPANDED_ACTC(adt->action);
+ });
- /* Action, Drivers, or NLA for Scene */
- if ((ads->filterflag & ADS_FILTER_NOSCE) == 0) {
- adt= sce->adt;
- ANIMDATA_FILTER_CASES(sce,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, sce, ANIMTYPE_SCENE, (ID *)sce);
- },
- { /* drivers */
- /* include drivers-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLDRIVERS, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (EXPANDED_DRVD(adt) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, sce, ANIMTYPE_SCENE, filter_mode, (ID *)sce);
- }
- },
- { /* action */
- /* include action-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(adt->action, ANIMTYPE_FILLACTD, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels? */
- if (EXPANDED_ACTC(adt->action) || !(filter_mode & ANIMFILTER_CHANNELS)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, sce, ANIMTYPE_SCENE, (ID *)sce);
- }
- }
- )
+ /* add scene-level animation channels */
+ BEGIN_ANIMFILTER_SUBCHANNELS(expanded)
+ {
+ /* animation data filtering */
+ tmp_items += animfilter_block_data(ac, &tmp_data, ads, (ID *)sce, filter_mode);
}
+ END_ANIMFILTER_SUBCHANNELS;
- /* world */
- if ((wo && wo->adt) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
- /* Action, Drivers, or NLA for World */
- adt= wo->adt;
- ANIMDATA_FILTER_CASES(wo,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, wo, ANIMTYPE_DSWOR, (ID *)wo);
- },
- { /* drivers */
- /* include world-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(wo, ANIMTYPE_DSWOR, sce, ANIMTYPE_SCENE, (ID *)wo);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (FILTER_WOR_SCED(wo)/*EXPANDED_DRVD(adt)*/ || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // XXX owner info is messed up now...
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, wo, ANIMTYPE_DSWOR, filter_mode, (ID *)wo);
- }
- },
- { /* action */
- /* include world-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(wo, ANIMTYPE_DSWOR, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (FILTER_WOR_SCED(wo) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, wo, ANIMTYPE_DSWOR, (ID *)wo);
- }
+ /* did we find anything? */
+ if (tmp_items) {
+ /* include anim-expand widget first */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ if (type != ANIMTYPE_NONE) {
+ /* NOTE: active-status (and the associated checks) don't apply here... */
+ ANIMCHANNEL_NEW_CHANNEL(cdata, type, sce);
}
- )
+ }
- /* if expanded, check world textures too */
- if (FILTER_WOR_SCED(wo) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- /* textures for world */
- if (!(ads->filterflag & ADS_FILTER_NOTEX))
- items += animdata_filter_dopesheet_texs(ac, anim_data, ads, (ID *)wo, filter_mode);
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
+ }
+
+ /* return the number of items added to the list */
+ return items;
+}
+
+static size_t animdata_filter_dopesheet_scene (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, Scene *sce, int filter_mode)
+{
+ ListBase tmp_data = {NULL, NULL};
+ size_t tmp_items = 0;
+ size_t items = 0;
+
+ /* filter data contained under object first */
+ BEGIN_ANIMFILTER_SUBCHANNELS(EXPANDED_SCEC(sce))
+ {
+ bNodeTree *ntree= sce->nodetree;
+ World *wo= sce->world;
+
+ /* Action, Drivers, or NLA for Scene */
+ if ((ads->filterflag & ADS_FILTER_NOSCE) == 0) {
+ tmp_items += animdata_filter_ds_scene(ac, &tmp_data, ads, sce, filter_mode);
+ }
+
+ /* world */
+ if ((wo && wo->adt) && !(ads->filterflag & ADS_FILTER_NOWOR)) {
+ tmp_items += animdata_filter_ds_world(ac, &tmp_data, ads, sce, wo, filter_mode);
}
+
+ /* nodetree */
+ if ((ntree && ntree->adt) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
+ tmp_items += animdata_filter_ds_nodetree(ac, &tmp_data, ads, (ID *)sce, ntree, filter_mode);
+ }
+
+ // TODO: one day, when sequencer becomes its own datatype, perhaps it should be included here
}
- /* nodetree */
- if ((ntree && ntree->adt) && !(ads->filterflag & ADS_FILTER_NONTREE)) {
- /* Action, Drivers, or NLA for Nodetree */
- adt= ntree->adt;
- ANIMDATA_FILTER_CASES(ntree,
- { /* AnimData blocks - do nothing... */ },
- { /* nla */
- /* add NLA tracks */
- items += animdata_filter_nla(ac, anim_data, ads, adt, filter_mode, ntree, ANIMTYPE_DSNTREE, (ID *)ntree);
- },
- { /* drivers */
- /* include nodetree-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ntree, ANIMTYPE_DSNTREE, sce, ANIMTYPE_SCENE, (ID *)ntree);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add F-Curve channels (drivers are F-Curves) */
- if (FILTER_NTREE_SCED(ntree)/*EXPANDED_DRVD(adt)*/ || !(filter_mode & ANIMFILTER_CHANNELS)) {
- // XXX owner info is messed up now...
- items += animdata_filter_fcurves(anim_data, ads, adt->drivers.first, NULL, ntree, ANIMTYPE_DSNTREE, filter_mode, (ID *)ntree);
- }
- },
- { /* action */
- /* include nodetree-expand widget? */
- if ((filter_mode & ANIMFILTER_CHANNELS) && !(filter_mode & ANIMFILTER_CURVESONLY)) {
- ale= make_new_animlistelem(ntree, ANIMTYPE_DSNTREE, sce, ANIMTYPE_SCENE, (ID *)sce);
- if (ale) {
- BLI_addtail(anim_data, ale);
- items++;
- }
- }
-
- /* add channels */
- if (FILTER_NTREE_SCED(ntree) || (filter_mode & ANIMFILTER_CURVESONLY)) {
- items += animdata_filter_action(ac, anim_data, ads, adt->action, filter_mode, ntree, ANIMTYPE_DSNTREE, (ID *)ntree);
- }
+ END_ANIMFILTER_SUBCHANNELS;
+
+ /* if we collected some channels, add these to the new list... */
+ if (tmp_items) {
+ /* firstly add object expander if required */
+ if (filter_mode & ANIMFILTER_LIST_CHANNELS) {
+ /* check if filtering by selection */
+ if ANIMCHANNEL_SELOK((sce->flag & SCE_DS_SELECTED)) {
+ /* NOTE: active-status doesn't matter for this! */
+ ANIMCHANNEL_NEW_CHANNEL(sce, ANIMTYPE_SCENE, sce);
}
- )
+ }
+
+ /* now add the list of collected channels */
+ BLI_movelisttolist(anim_data, &tmp_data);
+ BLI_assert((tmp_data.first == tmp_data.last) && (tmp_data.first == NULL));
+ items += tmp_items;
}
-
-
- // TODO: scene compositing nodes (these aren't standard node-trees)
- /* return the number of items added to the list */
+ /* return the number of items added */
return items;
}
// TODO: implement pinning... (if and when pinning is done, what we need to do is to provide freeing mechanisms - to protect against data that was deleted)
-static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, int filter_mode)
+static size_t animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, int filter_mode)
{
Scene *sce= (Scene *)ads->source;
Base *base;
- bAnimListElem *ale;
- int items = 0;
+ size_t items = 0;
/* check that we do indeed have a scene */
if ((ads->source == NULL) || (GS(ads->source->name)!=ID_SCE)) {
@@ -2113,73 +1996,14 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
filter_mode |= ANIMFILTER_SELEDIT;
}
- /* scene-linked animation */
- // TODO: sequencer, composite nodes - are we to include those here too?
- {
- short sceOk= 0, worOk= 0, nodeOk=0;
-
- /* check filtering-flags if ok */
- ANIMDATA_FILTER_CASES(sce,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce);
- sceOk=0;
- },
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);,
- sceOk= !(ads->filterflag & ADS_FILTER_NOSCE);)
- if (sce->world) {
- ANIMDATA_FILTER_CASES(sce->world,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce->world);
- worOk=0;
- },
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);,
- worOk= !(ads->filterflag & ADS_FILTER_NOWOR);)
- }
- if (sce->nodetree) {
- ANIMDATA_FILTER_CASES(sce->nodetree,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(sce->nodetree);
- nodeOk=0;
- },
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);,
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);,
- nodeOk= !(ads->filterflag & ADS_FILTER_NONTREE);)
- }
-
- /* if only F-Curves with visible flags set can be shown, check that
- * datablocks haven't been set to invisible
- */
- if (filter_mode & ANIMFILTER_CURVEVISIBLE) {
- if ((sce->adt) && (sce->adt->flag & ADT_CURVES_NOT_VISIBLE))
- sceOk= worOk= nodeOk= 0;
- }
-
- /* check if not all bad (i.e. so there is something to show) */
- if ( !(!sceOk && !worOk && !nodeOk) ) {
- /* add scene data to the list of filtered channels */
- items += animdata_filter_dopesheet_scene(ac, anim_data, ads, sce, filter_mode);
- }
- }
-
+ /* scene-linked animation - e.g. world, compositing nodes, scene anim (including sequencer currently) */
+ items += animdata_filter_dopesheet_scene(ac, anim_data, ads, sce, filter_mode);
- /* loop over all bases in the scene */
+ /* loop over all bases (i.e.objects) in the scene */
for (base= sce->base.first; base; base= base->next) {
/* check if there's an object (all the relevant checks are done in the ob-function) */
if (base->object) {
Object *ob= base->object;
- Key *key= ob_get_key(ob);
- short actOk=1, keyOk=1, dataOk=1, matOk=1, partOk=1;
/* firstly, check if object can be included, by the following factors:
* - if only visible, must check for layer and also viewport visibility
@@ -2187,10 +2011,10 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
* as user option controls whether sets of channels get included while
* tool-flag takes into account collapsed/open channels too
* - if only selected, must check if object is selected
- * - there must be animation data to edit
+ * - there must be animation data to edit (this is done recursively as we
+ * try to add the channels)
*/
- // TODO: if cache is implemented, just check name here, and then
- if ((filter_mode & ANIMFILTER_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
+ if ((filter_mode & ANIMFILTER_DATA_VISIBLE) && !(ads->filterflag & ADS_FILTER_INCL_HIDDEN)) {
/* layer visibility - we check both object and base, since these may not be in sync yet */
if ((sce->lay & (ob->lay|base->lay))==0) continue;
@@ -2201,280 +2025,26 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
/* if only F-Curves with visible flags set can be shown, check that
* datablock hasn't been set to invisible
*/
- if (filter_mode & ANIMFILTER_CURVEVISIBLE) {
+ if (filter_mode & ANIMFILTER_CURVE_VISIBLE) {
if ((ob->adt) && (ob->adt->flag & ADT_CURVES_NOT_VISIBLE))
continue;
}
- /* additionally, dopesheet filtering also affects what objects to consider */
- {
- /* check selection and object type filters */
- if ( (ads->filterflag & ADS_FILTER_ONLYSEL) && !((base->flag & SELECT) /*|| (base == sce->basact)*/) ) {
- /* only selected should be shown */
- continue;
- }
-
- /* check if object belongs to the filtering group if option to filter
- * objects by the grouped status is on
- * - used to ease the process of doing multiple-character choreographies
- */
- if (ads->filterflag & ADS_FILTER_ONLYOBGROUP) {
- if (object_in_group(ob, ads->filter_grp) == 0)
- continue;
- }
-
- /* check filters for datatypes */
- /* object */
- actOk= 0;
- if (!(ads->filterflag & ADS_FILTER_NOOBJ)) {
- ANIMDATA_FILTER_CASES(ob,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ob);
- actOk=0;
- },
- actOk= 1;,
- actOk= 1;,
- actOk= 1;)
- }
-
- keyOk= 0;
- if ((key) && !(ads->filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- /* shapekeys */
- ANIMDATA_FILTER_CASES(key,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(key);
- keyOk=0;
- },
- keyOk= 1;,
- keyOk= 1;,
- keyOk= 1;)
- }
-
- /* materials - only for geometric types */
- matOk= 0; /* by default, not ok... */
- if ( !(ads->filterflag & ADS_FILTER_NOMAT) && (ob->totcol) &&
- ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_MBALL) )
- {
- int a;
-
- /* firstly check that we actuallly have some materials */
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- if (ma) {
- /* if material has relevant animation data, break */
- ANIMDATA_FILTER_CASES(ma,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ma);
- matOk=0;
- },
- matOk= 1;,
- matOk= 1;,
- matOk= 1;)
-
- if (matOk)
- break;
-
- /* textures? */
- // TODO: make this a macro that is used in the other checks too
- // NOTE: this has little use on its own, since the actual filtering still ignores if no anim on the data
- if (!(ads->filterflag & ADS_FILTER_NOTEX)) {
- int mtInd;
-
- for (mtInd= 0; mtInd < MAX_MTEX; mtInd++) {
- MTex *mtex= ma->mtex[mtInd];
-
- if (mtex && mtex->tex) {
- /* if texture has relevant animation data, break */
- ANIMDATA_FILTER_CASES(mtex->tex,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(mtex->tex);
- matOk=0;
- },
- matOk= 1;,
- matOk= 1;,
- matOk= 1;)
-
- if (matOk)
- break;
- }
- }
- }
-
- }
- }
- }
-
- /* data */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(ca,
- if ((ads->filterflag & ADS_FILTER_NOCAM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(ca);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCAM);)
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(la,
- if ((ads->filterflag & ADS_FILTER_NOLAM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(la);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAM);)
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(cu,
- if ((ads->filterflag & ADS_FILTER_NOCUR)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(cu);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOCUR);)
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(mb,
- if ((ads->filterflag & ADS_FILTER_NOMBA)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(mb);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMBA);)
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(arm,
- if ((ads->filterflag & ADS_FILTER_NOARM)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(arm);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOARM);)
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(me,
- if ((ads->filterflag & ADS_FILTER_NOMESH)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(me);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOMESH);)
- }
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
- dataOk= 0;
- ANIMDATA_FILTER_CASES(lt,
- if ((ads->filterflag & ADS_FILTER_NOLAT)==0) {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(lt);
- dataOk=0;
- },
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);,
- dataOk= !(ads->filterflag & ADS_FILTER_NOLAT);)
- }
- break;
- default: /* --- other --- */
- dataOk= 0;
- break;
- }
-
- /* particles */
- partOk = 0;
- if (!(ads->filterflag & ADS_FILTER_NOPART) && ob->particlesystem.first) {
- ParticleSystem *psys = ob->particlesystem.first;
- for(; psys; psys=psys->next) {
- if (psys->part) {
- /* if particlesettings has relevant animation data, break */
- ANIMDATA_FILTER_CASES(psys->part,
- {
- /* for the special AnimData blocks only case, we only need to add
- * the block if it is valid... then other cases just get skipped (hence ok=0)
- */
- ANIMDATA_ADD_ANIMDATA(psys->part);
- partOk=0;
- },
- partOk= 1;,
- partOk= 1;,
- partOk= 1;)
- }
-
- if (partOk)
- break;
- }
- }
-
- /* check if all bad (i.e. nothing to show) */
- if (!actOk && !keyOk && !dataOk && !matOk && !partOk)
- continue;
+ /* check selection and object type filters */
+ if ( (ads->filterflag & ADS_FILTER_ONLYSEL) && !((base->flag & SELECT) /*|| (base == sce->basact)*/) ) {
+ /* only selected should be shown */
+ continue;
}
+ /* check if object belongs to the filtering group if option to filter
+ * objects by the grouped status is on
+ * - used to ease the process of doing multiple-character choreographies
+ */
+ if (ads->filterflag & ADS_FILTER_ONLYOBGROUP) {
+ if (object_in_group(ob, ads->filter_grp) == 0)
+ continue;
+ }
+
/* since we're still here, this object should be usable */
items += animdata_filter_dopesheet_ob(ac, anim_data, ads, base, filter_mode);
}
@@ -2487,7 +2057,7 @@ static int animdata_filter_dopesheet (bAnimContext *ac, ListBase *anim_data, bDo
/* Summary track for DopeSheet/Action Editor
* - return code is whether the summary lets the other channels get drawn
*/
-static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim_data, int filter_mode, int *items)
+static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim_data, int filter_mode, size_t *items)
{
bDopeSheet *ads = NULL;
@@ -2496,8 +2066,8 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
* since all the other Animation Editors won't have this concept
* being applicable.
*/
- if ((ac && ac->sa) && (ac->sa->spacetype == SPACE_ACTION)) {
- SpaceAction *saction= (SpaceAction *)ac->sa->spacedata.first;
+ if ((ac && ac->sl) && (ac->spacetype == SPACE_ACTION)) {
+ SpaceAction *saction= (SpaceAction *)ac->sl;
ads= &saction->ads;
}
else {
@@ -2509,9 +2079,8 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
* - only for drawing and/or selecting keyframes in channels, but not for real editing
* - only useful for DopeSheet/Action/etc. editors where it is actually useful
*/
- // TODO: we should really check if some other prohibited filters are also active, but that can be for later
- if ((filter_mode & ANIMFILTER_CHANNELS) && (ads->filterflag & ADS_FILTER_SUMMARY)) {
- bAnimListElem *ale= make_new_animlistelem(ac, ANIMTYPE_SUMMARY, NULL, ANIMTYPE_NONE, NULL);
+ if ((filter_mode & ANIMFILTER_LIST_CHANNELS) && (ads->filterflag & ADS_FILTER_SUMMARY)) {
+ bAnimListElem *ale= make_new_animlistelem(ac, ANIMTYPE_SUMMARY, NULL);
if (ale) {
BLI_addtail(anim_data, ale);
(*items)++;
@@ -2528,13 +2097,39 @@ static short animdata_filter_dopesheet_summary (bAnimContext *ac, ListBase *anim
return 1;
}
+/* ......................... */
+
+/* filter data associated with a channel - usually for handling summary-channels in DopeSheet */
+static size_t animdata_filter_animchan (bAnimContext *ac, ListBase *anim_data, bDopeSheet *ads, bAnimListElem *channel, int filter_mode)
+{
+ size_t items = 0;
+
+ /* data to filter depends on channel type */
+ // XXX: only common channel-types have been handled for now
+ switch (channel->type) {
+ case ANIMTYPE_SUMMARY:
+ items += animdata_filter_dopesheet(ac, anim_data, ads, filter_mode);
+ break;
+
+ case ANIMTYPE_SCENE:
+ items += animdata_filter_dopesheet_scene(ac, anim_data, ads, channel->data, filter_mode);
+ break;
+
+ case ANIMTYPE_OBJECT:
+ items += animdata_filter_dopesheet_ob(ac, anim_data, ads, channel->data, filter_mode);
+ break;
+ }
+
+ return items;
+}
+
/* ----------- Cleanup API --------------- */
/* Remove entries with invalid types in animation channel list */
-static int animdata_filter_remove_invalid (ListBase *anim_data)
+static size_t animdata_filter_remove_invalid (ListBase *anim_data)
{
bAnimListElem *ale, *next;
- int items = 0;
+ size_t items = 0;
/* only keep entries with valid types */
for (ale= anim_data->first; ale; ale= next) {
@@ -2550,11 +2145,11 @@ static int animdata_filter_remove_invalid (ListBase *anim_data)
}
/* Remove duplicate entries in animation channel list */
-static int animdata_filter_remove_duplis (ListBase *anim_data)
+static size_t animdata_filter_remove_duplis (ListBase *anim_data)
{
bAnimListElem *ale, *next;
GHash *gh;
- int items = 0;
+ size_t items = 0;
/* build new hashtable to efficiently store and retrieve which entries have been
* encountered already while searching
@@ -2596,9 +2191,9 @@ static int animdata_filter_remove_duplis (ListBase *anim_data)
* will be placed for use.
* filter_mode: how should the data be filtered - bitmapping accessed flags
*/
-int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype)
+size_t ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype)
{
- int items = 0;
+ size_t items = 0;
/* only filter data if there's somewhere to put it */
if (data && anim_data) {
@@ -2608,12 +2203,12 @@ int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode
switch (datatype) {
case ANIMCONT_ACTION: /* 'Action Editor' */
{
- SpaceAction *saction = (SpaceAction *)ac->sa->spacedata.first;
+ SpaceAction *saction = (SpaceAction *)ac->sl;
bDopeSheet *ads = (saction)? &saction->ads : NULL;
/* the check for the DopeSheet summary is included here since the summary works here too */
if (animdata_filter_dopesheet_summary(ac, anim_data, filter_mode, &items))
- items += animdata_filter_action(ac, anim_data, ads, data, filter_mode, NULL, ANIMTYPE_NONE, (ID *)obact);
+ items += animfilter_action(ac, anim_data, ads, data, filter_mode, (ID *)obact);
}
break;
@@ -2647,6 +2242,15 @@ int ANIM_animdata_filter (bAnimContext *ac, ListBase *anim_data, int filter_mode
items = animdata_filter_dopesheet(ac, anim_data, data, filter_mode);
}
break;
+
+ case ANIMCONT_CHANNEL: /* animation channel */
+ {
+ bDopeSheet *ads = ac->ads;
+
+ /* based on the channel type, filter relevant data for this */
+ items = animdata_filter_animchan(ac, anim_data, ads, data, filter_mode);
+ }
+ break;
}
/* remove any 'weedy' entries */
diff --git a/source/blender/editors/animation/anim_intern.h b/source/blender/editors/animation/anim_intern.h
index 7818e8118a3..0ac941e5630 100644
--- a/source/blender/editors/animation/anim_intern.h
+++ b/source/blender/editors/animation/anim_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/animation/anim_ipo_utils.c b/source/blender/editors/animation/anim_ipo_utils.c
index 209210435e6..9c43671cdf4 100644
--- a/source/blender/editors/animation/anim_ipo_utils.c
+++ b/source/blender/editors/animation/anim_ipo_utils.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -100,6 +98,8 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
* - as base, we use a custom name from the structs if one is available
* - however, if we're showing subdata of bones (probably there will be other exceptions later)
* need to include that info too since it gets confusing otherwise
+ * - if a pointer just refers to the ID-block, then don't repeat this info
+ * since this just introduces clutter
*/
if (strstr(fcu->rna_path, "bones") && strstr(fcu->rna_path, "constraints")) {
/* perform string 'chopping' to get "Bone Name : Constraint Name" */
@@ -114,7 +114,7 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
if (pchanName) MEM_freeN(pchanName);
if (constName) MEM_freeN(constName);
}
- else {
+ else if (ptr.data != ptr.id.data) {
PropertyRNA *nameprop= RNA_struct_name_property(ptr.type);
if (nameprop) {
/* this gets a string which will need to be freed */
@@ -145,7 +145,11 @@ int getname_anim_fcurve(char *name, ID *id, FCurve *fcu)
/* putting this all together into the buffer */
// XXX we need to check for invalid names...
- BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname);
+ // XXX the name length limit needs to be passed in or as some define
+ if (structname)
+ BLI_snprintf(name, 256, "%s%s (%s)", arrayname, propname, structname);
+ else
+ BLI_snprintf(name, 256, "%s%s", arrayname, propname);
/* free temp name if nameprop is set */
if (free_structname)
diff --git a/source/blender/editors/animation/anim_markers.c b/source/blender/editors/animation/anim_markers.c
index c6e55427034..5345fcd756d 100644
--- a/source/blender/editors/animation/anim_markers.c
+++ b/source/blender/editors/animation/anim_markers.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -50,6 +48,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"
@@ -338,7 +337,7 @@ void debug_markers_print_list(ListBase *markers)
printf("List of markers follows: -----\n");
for (marker = markers->first; marker; marker = marker->next) {
- printf("\t'%s' on %d at %p with %d\n", marker->name, marker->frame, (void *)marker, marker->flag);
+ printf("\t'%s' on %d at %p with %u\n", marker->name, marker->frame, (void *)marker, marker->flag);
}
printf("End of list ------------------\n");
@@ -1416,7 +1415,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;
@@ -1424,10 +1425,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;
}
@@ -1500,3 +1506,14 @@ void ED_marker_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "MARKER_OT_camera_bind", BKEY, KM_PRESS, KM_CTRL, 0);
#endif
}
+
+/* to be called from animation editor keymaps, see note below */
+void ED_marker_keymap_animedit_conflictfree(wmKeyMap *keymap)
+{
+ /* duplicate of some marker-hotkeys but without the bounds checking
+ * since these are handy to be able to do unrestricted and won't conflict
+ * with primary function hotkeys (Usability tweak [#27469])
+ */
+ WM_keymap_add_item(keymap, "MARKER_OT_add", MKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "MARKER_OT_rename", MKEY, KM_PRESS, KM_CTRL, 0);
+}
diff --git a/source/blender/editors/animation/anim_ops.c b/source/blender/editors/animation/anim_ops.c
index 0e0bf275d8f..aa61afbac78 100644
--- a/source/blender/editors/animation/anim_ops.c
+++ b/source/blender/editors/animation/anim_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -43,6 +41,7 @@
#include "BKE_context.h"
#include "BKE_global.h"
+#include "BKE_main.h"
#include "BKE_sound.h"
#include "UI_view2d.h"
@@ -78,6 +77,7 @@ static int change_frame_poll(bContext *C)
/* Set the new frame number */
static void change_frame_apply(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
/* set the new frame number */
@@ -86,7 +86,7 @@ static void change_frame_apply(bContext *C, wmOperator *op)
SUBFRA = 0.f;
/* do updates */
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
}
@@ -199,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;
diff --git a/source/blender/editors/animation/drivers.c b/source/blender/editors/animation/drivers.c
index 75b54a7529a..6ebe488d2c8 100644
--- a/source/blender/editors/animation/drivers.c
+++ b/source/blender/editors/animation/drivers.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -80,7 +78,7 @@ void free_anim_drivers_copybuf (void);
* 1 - add new Driver FCurve,
* -1 - add new Driver FCurve without driver stuff (for pasting)
*/
-static FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int array_index, short add)
+FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int array_index, short add)
{
AnimData *adt;
FCurve *fcu;
@@ -108,7 +106,7 @@ static FCurve *verify_driver_fcurve (ID *id, const char rna_path[], const int ar
/* use default settings to make a F-Curve */
fcu= MEM_callocN(sizeof(FCurve), "FCurve");
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
/* store path - make copy, and store that */
fcu->rna_path= BLI_strdupn(rna_path, strlen(rna_path));
@@ -385,11 +383,6 @@ short ANIM_paste_driver (ReportList *reports, ID *id, const char rna_path[], int
/* modifiers */
copy_fmodifiers(&fcu->modifiers, &channeldriver_copypaste_buf->modifiers);
- /* flags - on a per-relevant-flag basis */
- if (channeldriver_copypaste_buf->flag & FCURVE_AUTO_HANDLES)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
/* extrapolation mode */
fcu->extend= channeldriver_copypaste_buf->extend;
diff --git a/source/blender/editors/animation/fmodifier_ui.c b/source/blender/editors/animation/fmodifier_ui.c
index 954928fc486..928584966d9 100644
--- a/source/blender/editors/animation/fmodifier_ui.c
+++ b/source/blender/editors/animation/fmodifier_ui.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -162,7 +160,7 @@ static void draw_modifier__generator(uiLayout *layout, ID *id, FModifier *fcm, s
if (i == 1)
strcpy(xval, "x");
else
- sprintf(xval, "x^%d", i);
+ sprintf(xval, "x^%u", i);
uiDefBut(block, LABEL, 1, xval, 0, 0, 50, 20, NULL, 0.0, 0.0, 0, 0, "Power of x");
}
@@ -604,7 +602,7 @@ static void draw_modifier__stepped(uiLayout *layout, ID *id, FModifier *fcm, sho
void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifiers, FModifier *fcm)
{
FModifierTypeInfo *fmi= fmodifier_get_typeinfo(fcm);
- uiLayout *box, *row, *subrow;
+ uiLayout *box, *row, *subrow, *col;
uiBlock *block;
uiBut *but;
short width= 314;
@@ -622,7 +620,7 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
block= uiLayoutGetBlock(row); // err...
/* left-align -------------------------------------------- */
- subrow= uiLayoutRow(row, 0);
+ subrow= uiLayoutRow(row, 1);
uiLayoutSetAlignment(subrow, UI_LAYOUT_ALIGN_LEFT);
uiBlockSetEmboss(block, UI_EMBOSSN);
@@ -640,7 +638,7 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
uiItemL(subrow, "<Unknown Modifier>", ICON_NONE);
/* right-align ------------------------------------------- */
- subrow= uiLayoutRow(row, 0);
+ subrow= uiLayoutRow(row, 1);
uiLayoutSetAlignment(subrow, UI_LAYOUT_ALIGN_RIGHT);
@@ -694,6 +692,44 @@ void ANIM_uiTemplate_fmodifier_draw (uiLayout *layout, ID *id, ListBase *modifie
default: /* unknown type */
break;
}
+
+ /* one last panel below this: FModifier range */
+ // TODO: experiment with placement of this
+ {
+ box = uiLayoutBox(layout);
+
+ /* restricted range ----------------------------------------------------- */
+ col = uiLayoutColumn(box, 1);
+
+ /* top row: use restricted range */
+ row= uiLayoutRow(col, 1);
+ uiItemR(row, &ptr, "use_restricted_range", 0, NULL, ICON_NONE);
+
+ if (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT) {
+ /* second row: settings */
+ row = uiLayoutRow(col, 1);
+
+ uiItemR(row, &ptr, "frame_start", 0, "Start", ICON_NONE);
+ uiItemR(row, &ptr, "frame_end", 0, "End", ICON_NONE);
+
+ /* third row: blending influence */
+ row = uiLayoutRow(col, 1);
+
+ uiItemR(row, &ptr, "blend_in", 0, "In", ICON_NONE);
+ uiItemR(row, &ptr, "blend_out", 0, "Out", ICON_NONE);
+ }
+
+ /* influence -------------------------------------------------------------- */
+ col = uiLayoutColumn(box, 1);
+
+ /* top row: use influence */
+ uiItemR(col, &ptr, "use_influence", 0, NULL, ICON_NONE);
+
+ if (fcm->flag & FMODIFIER_FLAG_USEINFLUENCE) {
+ /* second row: influence value */
+ uiItemR(col, &ptr, "influence", 0, NULL, ICON_NONE);
+ }
+ }
}
}
diff --git a/source/blender/editors/animation/keyframes_draw.c b/source/blender/editors/animation/keyframes_draw.c
index 00e11d8b1a4..c1e81cd0901 100644
--- a/source/blender/editors/animation/keyframes_draw.c
+++ b/source/blender/editors/animation/keyframes_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -59,6 +57,7 @@
#include "DNA_meta_types.h"
#include "DNA_node_types.h"
#include "DNA_particle_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_gpencil_types.h"
@@ -773,7 +772,7 @@ void summary_to_keylist(bAnimContext *ac, DLRBT_Tree *keys, DLRBT_Tree *blocks)
int filter;
/* get F-Curves to take keyframes from */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through each F-Curve, grabbing the keyframes */
@@ -786,150 +785,71 @@ void summary_to_keylist(bAnimContext *ac, DLRBT_Tree *keys, DLRBT_Tree *blocks)
void scene_to_keylist(bDopeSheet *ads, Scene *sce, DLRBT_Tree *keys, DLRBT_Tree *blocks)
{
- if (sce) {
- AnimData *adt;
- int filterflag;
-
- /* get filterflag */
- if (ads)
- filterflag= ads->filterflag;
- else
- filterflag= 0;
-
- /* scene animdata */
- if ((sce->adt) && !(filterflag & ADS_FILTER_NOSCE)) {
- adt= sce->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
-
- /* world animdata */
- if ((sce->world) && (sce->world->adt) && !(filterflag & ADS_FILTER_NOWOR)) {
- adt= sce->world->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
-
- /* nodetree animdata */
- if ((sce->nodetree) && (sce->nodetree->adt) && !(filterflag & ADS_FILTER_NONTREE)) {
- adt= sce->nodetree->adt;
-
- if (adt->action)
- action_to_keylist(adt, adt->action, keys, blocks);
- }
- }
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ bAnimListElem dummychan = {0};
+
+ if (sce == NULL)
+ return;
+
+ /* create a dummy wrapper data to work with */
+ dummychan.type = ANIMTYPE_SCENE;
+ dummychan.data = sce;
+ dummychan.id = &sce->id;
+ dummychan.adt = sce->adt;
+
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
+
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, grabbing the keyframes */
+ for (ale= anim_data.first; ale; ale= ale->next)
+ fcurve_to_keylist(ale->adt, ale->data, keys, blocks);
+
+ BLI_freelistN(&anim_data);
}
void ob_to_keylist(bDopeSheet *ads, Object *ob, DLRBT_Tree *keys, DLRBT_Tree *blocks)
-{
- Key *key= ob_get_key(ob);
- int filterflag= (ads)? ads->filterflag : 0;
+{
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ bAnimListElem dummychan = {0};
+ Base dummybase = {0};
- /* sanity check */
if (ob == NULL)
return;
-
- /* Add action keyframes */
- if (ob->adt && ob->adt->action)
- action_to_keylist(ob->adt, ob->adt->action, keys, blocks);
- /* Add shapekey keyframes (only if dopesheet allows, if it is available) */
- if ((key && key->adt && key->adt->action) && !(filterflag & ADS_FILTER_NOSHAPEKEYS))
- action_to_keylist(key->adt, key->adt->action, keys, blocks);
+ /* create a dummy wrapper data to work with */
+ dummybase.object = ob;
- /* Add material keyframes */
- if ((ob->totcol) && !(filterflag & ADS_FILTER_NOMAT)) {
- int a;
-
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- /* there might not be a material */
- if (ELEM(NULL, ma, ma->adt))
- continue;
-
- /* add material's data */
- action_to_keylist(ma->adt, ma->adt->action, keys, blocks);
-
- // TODO: textures...
- }
- }
+ dummychan.type = ANIMTYPE_OBJECT;
+ dummychan.data = &dummybase;
+ dummychan.id = &ob->id;
+ dummychan.adt = ob->adt;
- /* Add object data keyframes */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ca->adt) && !(filterflag & ADS_FILTER_NOCAM))
- action_to_keylist(ca->adt, ca->adt->action, keys, blocks);
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((la->adt) && !(filterflag & ADS_FILTER_NOLAM))
- action_to_keylist(la->adt, la->adt->action, keys, blocks);
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((cu->adt) && !(filterflag & ADS_FILTER_NOCUR))
- action_to_keylist(cu->adt, cu->adt->action, keys, blocks);
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((mb->adt) && !(filterflag & ADS_FILTER_NOMBA))
- action_to_keylist(mb->adt, mb->adt->action, keys, blocks);
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((arm->adt) && !(filterflag & ADS_FILTER_NOARM))
- action_to_keylist(arm->adt, arm->adt->action, keys, blocks);
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((me->adt) && !(filterflag & ADS_FILTER_NOMESH))
- action_to_keylist(me->adt, me->adt->action, keys, blocks);
- }
- break;
- case OB_LATTICE: /* ------- Lattice ---------- */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((lt->adt) && !(filterflag & ADS_FILTER_NOLAT))
- action_to_keylist(lt->adt, lt->adt->action, keys, blocks);
- }
- break;
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
- /* Add Particle System Keyframes */
- if ((ob->particlesystem.first) && !(filterflag & ADS_FILTER_NOPART)) {
- ParticleSystem *psys = ob->particlesystem.first;
-
- for(; psys; psys=psys->next) {
- if (ELEM(NULL, psys->part, psys->part->adt))
- continue;
- else
- action_to_keylist(psys->part->adt, psys->part->adt->action, keys, blocks);
- }
- }
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, grabbing the keyframes */
+ for (ale= anim_data.first; ale; ale= ale->next)
+ fcurve_to_keylist(ale->adt, ale->data, keys, blocks);
+
+ BLI_freelistN(&anim_data);
}
void fcurve_to_keylist(AnimData *adt, FCurve *fcu, DLRBT_Tree *keys, DLRBT_Tree *blocks)
diff --git a/source/blender/editors/animation/keyframes_edit.c b/source/blender/editors/animation/keyframes_edit.c
index e50203cbc28..2305848e7b3 100644
--- a/source/blender/editors/animation/keyframes_edit.c
+++ b/source/blender/editors/animation/keyframes_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -197,196 +195,95 @@ static short act_keyframes_loop(KeyframeEditData *ked, bAction *act, KeyframeEdi
return 0;
}
-/* This function is used to loop over the keyframe data of an AnimData block */
-static short adt_keyframes_loop(KeyframeEditData *ked, AnimData *adt, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
-{
- /* sanity check */
- if (adt == NULL)
- return 0;
-
- /* drivers or actions? */
- if (filterflag & ADS_FILTER_ONLYDRIVERS) {
- FCurve *fcu;
-
- /* just loop through all F-Curves acting as Drivers */
- for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
- if (ANIM_fcurve_keyframes_loop(ked, fcu, key_ok, key_cb, fcu_cb))
- return 1;
- }
- }
- else if (adt->action) {
- /* call the function for actions */
- if (act_keyframes_loop(ked, adt->action, key_ok, key_cb, fcu_cb))
- return 1;
- }
-
- return 0;
-}
-
/* This function is used to loop over the keyframe data in an Object */
-static short ob_keyframes_loop(KeyframeEditData *ked, Object *ob, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+static short ob_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, Object *ob, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
- Key *key= ob_get_key(ob);
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+ int ret=0;
+
+ bAnimListElem dummychan = {0};
+ Base dummybase = {0};
- /* sanity check */
if (ob == NULL)
return 0;
- /* firstly, Object's own AnimData */
- if (ob->adt) {
- if (adt_keyframes_loop(ked, ob->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ /* create a dummy wrapper data to work with */
+ dummybase.object = ob;
- /* shapekeys */
- if ((key && key->adt) && !(filterflag & ADS_FILTER_NOSHAPEKEYS)) {
- if (adt_keyframes_loop(ked, key->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
-
- /* Add material keyframes */
- if ((ob->totcol) && !(filterflag & ADS_FILTER_NOMAT)) {
- int a;
-
- for (a=1; a <= ob->totcol; a++) {
- Material *ma= give_current_material(ob, a);
-
- /* there might not be a material */
- if (ELEM(NULL, ma, ma->adt))
- continue;
-
- /* add material's data */
- if (adt_keyframes_loop(ked, ma->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ dummychan.type = ANIMTYPE_OBJECT;
+ dummychan.data = &dummybase;
+ dummychan.id = &ob->id;
+ dummychan.adt = ob->adt;
- /* Add object data keyframes */
- switch (ob->type) {
- case OB_CAMERA: /* ------- Camera ------------ */
- {
- Camera *ca= (Camera *)ob->data;
-
- if ((ca->adt) && !(filterflag & ADS_FILTER_NOCAM)) {
- if (adt_keyframes_loop(ked, ca->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_LAMP: /* ---------- Lamp ----------- */
- {
- Lamp *la= (Lamp *)ob->data;
-
- if ((la->adt) && !(filterflag & ADS_FILTER_NOLAM)) {
- if (adt_keyframes_loop(ked, la->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_CURVE: /* ------- Curve ---------- */
- case OB_SURF: /* ------- Nurbs Surface ---------- */
- case OB_FONT: /* ------- Text Curve ---------- */
- {
- Curve *cu= (Curve *)ob->data;
-
- if ((cu->adt) && !(filterflag & ADS_FILTER_NOCUR)) {
- if (adt_keyframes_loop(ked, cu->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_MBALL: /* ------- MetaBall ---------- */
- {
- MetaBall *mb= (MetaBall *)ob->data;
-
- if ((mb->adt) && !(filterflag & ADS_FILTER_NOMBA)) {
- if (adt_keyframes_loop(ked, mb->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_ARMATURE: /* ------- Armature ---------- */
- {
- bArmature *arm= (bArmature *)ob->data;
-
- if ((arm->adt) && !(filterflag & ADS_FILTER_NOARM)) {
- if (adt_keyframes_loop(ked, arm->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
- break;
- case OB_MESH: /* ------- Mesh ---------- */
- {
- Mesh *me= (Mesh *)ob->data;
-
- if ((me->adt) && !(filterflag & ADS_FILTER_NOMESH)) {
- if (adt_keyframes_loop(ked, me->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
+
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, applying the operation as required, but stopping on the first one */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ if (ANIM_fcurve_keyframes_loop(ked, (FCurve*)ale->data, key_ok, key_cb, fcu_cb)) {
+ ret = 1;
break;
- case OB_LATTICE: /* ---- Lattice ------ */
- {
- Lattice *lt= (Lattice *)ob->data;
-
- if ((lt->adt) && !(filterflag & ADS_FILTER_NOLAT)) {
- if (adt_keyframes_loop(ked, lt->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
}
- break;
}
- /* Add Particle System Keyframes */
- if ((ob->particlesystem.first) && !(filterflag & ADS_FILTER_NOPART)) {
- ParticleSystem *psys = ob->particlesystem.first;
-
- for(; psys; psys=psys->next) {
- if (ELEM(NULL, psys->part, psys->part->adt))
- continue;
-
- if (adt_keyframes_loop(ked, psys->part->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
- }
+ BLI_freelistN(&anim_data);
- return 0;
+ /* return return code - defaults to zero if nothing happened */
+ return ret;
}
/* This function is used to loop over the keyframe data in a Scene */
-static short scene_keyframes_loop(KeyframeEditData *ked, Scene *sce, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+static short scene_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, Scene *sce, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
- World *wo= (sce) ? sce->world : NULL;
- bNodeTree *ntree= (sce) ? sce->nodetree : NULL;
+ bAnimContext ac = {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+ int ret=0;
+
+ bAnimListElem dummychan = {0};
- /* sanity check */
if (sce == NULL)
return 0;
- /* Scene's own animation */
- if (sce->adt) {
- if (adt_keyframes_loop(ked, sce->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ /* create a dummy wrapper data to work with */
+ dummychan.type = ANIMTYPE_SCENE;
+ dummychan.data = sce;
+ dummychan.id = &sce->id;
+ dummychan.adt = sce->adt;
- /* World */
- if (wo && wo->adt) {
- if (adt_keyframes_loop(ked, wo->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
- }
+ ac.ads = ads;
+ ac.data = &dummychan;
+ ac.datatype = ANIMCONT_CHANNEL;
- /* NodeTree */
- if (ntree && ntree->adt) {
- if (adt_keyframes_loop(ked, ntree->adt, key_ok, key_cb, fcu_cb, filterflag))
- return 1;
+ /* get F-Curves to take keyframes from */
+ filter= ANIMFILTER_DATA_VISIBLE; // curves only
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* loop through each F-Curve, applying the operation as required, but stopping on the first one */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ if (ANIM_fcurve_keyframes_loop(ked, (FCurve*)ale->data, key_ok, key_cb, fcu_cb)) {
+ ret = 1;
+ break;
+ }
}
+ BLI_freelistN(&anim_data);
- return 0;
+ /* return return code - defaults to zero if nothing happened */
+ return ret;
}
/* This function is used to loop over the keyframe data in a DopeSheet summary */
-static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int UNUSED(filterflag))
+static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
@@ -397,7 +294,7 @@ static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, Key
return 0;
/* get F-Curves to take keyframes from */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= ANIMFILTER_DATA_VISIBLE;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through each F-Curve, working on the keyframes until the first curve aborts */
@@ -416,7 +313,7 @@ static short summary_keyframes_loop(KeyframeEditData *ked, bAnimContext *ac, Key
/* --- */
/* This function is used to apply operation to all keyframes, regardless of the type */
-short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
/* sanity checks */
if (ale == NULL)
@@ -437,18 +334,18 @@ short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, bAnimListElem *ale,
return act_keyframes_loop(ked, (bAction *)ale->key_data, key_ok, key_cb, fcu_cb);
case ALE_OB: /* object */
- return ob_keyframes_loop(ked, (Object *)ale->key_data, key_ok, key_cb, fcu_cb, filterflag);
+ return ob_keyframes_loop(ked, ads, (Object *)ale->key_data, key_ok, key_cb, fcu_cb);
case ALE_SCE: /* scene */
- return scene_keyframes_loop(ked, (Scene *)ale->data, key_ok, key_cb, fcu_cb, filterflag);
+ return scene_keyframes_loop(ked, ads, (Scene *)ale->data, key_ok, key_cb, fcu_cb);
case ALE_ALL: /* 'all' (DopeSheet summary) */
- return summary_keyframes_loop(ked, (bAnimContext *)ale->data, key_ok, key_cb, fcu_cb, filterflag);
+ return summary_keyframes_loop(ked, (bAnimContext *)ale->data, key_ok, key_cb, fcu_cb);
}
return 0;
}
/* This function is used to apply operation to all keyframes, regardless of the type without needed an AnimListElem wrapper */
-short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag)
+short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, bDopeSheet *ads, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb)
{
/* sanity checks */
if (data == NULL)
@@ -469,11 +366,11 @@ short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int
return act_keyframes_loop(ked, (bAction *)data, key_ok, key_cb, fcu_cb);
case ALE_OB: /* object */
- return ob_keyframes_loop(ked, (Object *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return ob_keyframes_loop(ked, ads, (Object *)data, key_ok, key_cb, fcu_cb);
case ALE_SCE: /* scene */
- return scene_keyframes_loop(ked, (Scene *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return scene_keyframes_loop(ked, ads, (Scene *)data, key_ok, key_cb, fcu_cb);
case ALE_ALL: /* 'all' (DopeSheet summary) */
- return summary_keyframes_loop(ked, (bAnimContext *)data, key_ok, key_cb, fcu_cb, filterflag);
+ return summary_keyframes_loop(ked, (bAnimContext *)data, key_ok, key_cb, fcu_cb);
}
return 0;
@@ -491,7 +388,7 @@ void ANIM_editkeyframes_refresh(bAnimContext *ac)
int filter;
/* filter animation data */
- filter= ANIMFILTER_CURVESONLY;
+ filter= ANIMFILTER_DATA_VISIBLE;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop over F-Curves that are likely to have been edited, and check them */
@@ -735,8 +632,8 @@ static short snap_bezier_horizontal(KeyframeEditData *UNUSED(ked), BezTriple *be
if (bezt->f2 & SELECT) {
bezt->vec[0][1]= bezt->vec[2][1]= bezt->vec[1][1];
- if ((bezt->h1==HD_AUTO) || (bezt->h1==HD_VECT)) bezt->h1= HD_ALIGN;
- if ((bezt->h2==HD_AUTO) || (bezt->h2==HD_VECT)) bezt->h2= HD_ALIGN;
+ if (ELEM3(bezt->h1, HD_AUTO, HD_AUTO_ANIM, HD_VECT)) bezt->h1= HD_ALIGN;
+ if (ELEM3(bezt->h2, HD_AUTO, HD_AUTO_ANIM, HD_VECT)) bezt->h2= HD_ALIGN;
}
return 0;
}
@@ -857,42 +754,49 @@ KeyframeEditFunc ANIM_editkeyframes_mirror(short type)
/* ******************************************* */
/* Settings */
+/* standard validation step for a few of these (implemented as macro for inlining without fn-call overhead):
+ * "if the handles are not of the same type, set them to type free"
+ */
+#define ENSURE_HANDLES_MATCH(bezt) \
+ if (bezt->h1 != bezt->h2) { \
+ if ELEM3(bezt->h1, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM) bezt->h1= HD_FREE; \
+ if ELEM3(bezt->h2, HD_ALIGN, HD_AUTO, HD_AUTO_ANIM) bezt->h2= HD_FREE; \
+ }
+
/* Sets the selected bezier handles to type 'auto' */
static short set_bezier_auto(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
{
- if((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
- if (bezt->f1 & SELECT) bezt->h1= HD_AUTO; /* the secret code for auto */
+ if ((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
+ if (bezt->f1 & SELECT) bezt->h1= HD_AUTO;
if (bezt->f3 & SELECT) bezt->h2= HD_AUTO;
- /* if the handles are not of the same type, set them
- * to type free
- */
- if (bezt->h1 != bezt->h2) {
- if ELEM(bezt->h1, HD_ALIGN, HD_AUTO) bezt->h1= HD_FREE;
- if ELEM(bezt->h2, HD_ALIGN, HD_AUTO) bezt->h2= HD_FREE;
- }
+ ENSURE_HANDLES_MATCH(bezt);
}
return 0;
}
-/* Sets the selected bezier handles to type 'vector' */
-static short set_bezier_vector(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
+/* Sets the selected bezier handles to type 'auto-clamped'
+ * NOTE: this is like auto above, but they're handled a bit different
+ */
+static short set_bezier_auto_clamped(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
{
if ((bezt->f1 & SELECT) || (bezt->f3 & SELECT)) {
- if (bezt->f1 & SELECT) bezt->h1= HD_VECT;
- if (bezt->f3 & SELECT) bezt->h2= HD_VECT;
+ if (bezt->f1 & SELECT) bezt->h1= HD_AUTO_ANIM;
+ if (bezt->f3 & SELECT) bezt->h2= HD_AUTO_ANIM;
- /* if the handles are not of the same type, set them
- * to type free
- */
- if (bezt->h1 != bezt->h2) {
- if ELEM(bezt->h1, HD_ALIGN, HD_AUTO) bezt->h1= HD_FREE;
- if ELEM(bezt->h2, HD_ALIGN, HD_AUTO) bezt->h2= HD_FREE;
- }
+ ENSURE_HANDLES_MATCH(bezt);
}
return 0;
}
+/* Sets the selected bezier handles to type 'vector' */
+static short set_bezier_vector(KeyframeEditData *UNUSED(ked), BezTriple *bezt)
+{
+ if (bezt->f1 & SELECT) bezt->h1= HD_VECT;
+ if (bezt->f3 & SELECT) bezt->h2= HD_VECT;
+ return 0;
+}
+
/* Queries if the handle should be set to 'free' or 'align' */
// NOTE: this was used for the 'toggle free/align' option
// currently this isn't used, but may be restored later
@@ -925,8 +829,9 @@ KeyframeEditFunc ANIM_editkeyframes_handles(short code)
{
switch (code) {
case HD_AUTO: /* auto */
- case HD_AUTO_ANIM: /* auto clamped */
return set_bezier_auto;
+ case HD_AUTO_ANIM: /* auto clamped */
+ return set_bezier_auto_clamped;
case HD_VECT: /* vector */
return set_bezier_vector;
diff --git a/source/blender/editors/animation/keyframes_general.c b/source/blender/editors/animation/keyframes_general.c
index f111339b963..3d3311b35eb 100644
--- a/source/blender/editors/animation/keyframes_general.c
+++ b/source/blender/editors/animation/keyframes_general.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -111,7 +109,7 @@ void delete_fcurve_keys(FCurve *fcu)
{
int i;
- if(fcu->bezt==NULL) /* ignore baked curves */
+ if (fcu->bezt==NULL) /* ignore baked curves */
return;
/* Delete selected BezTriples */
@@ -124,7 +122,7 @@ void delete_fcurve_keys(FCurve *fcu)
}
/* Free the array of BezTriples if there are not keyframes */
- if(fcu->totvert == 0)
+ if (fcu->totvert == 0)
clear_fcurve_keys(fcu);
}
diff --git a/source/blender/editors/animation/keyframing.c b/source/blender/editors/animation/keyframing.c
index 1ba695209b2..53c9fc4d82c 100644
--- a/source/blender/editors/animation/keyframing.c
+++ b/source/blender/editors/animation/keyframing.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -174,7 +172,7 @@ FCurve *verify_fcurve (bAction *act, const char group[], const char rna_path[],
/* use default settings to make a F-Curve */
fcu= MEM_callocN(sizeof(FCurve), "FCurve");
- fcu->flag = (FCURVE_VISIBLE|FCURVE_AUTO_HANDLES|FCURVE_SELECTED);
+ fcu->flag = (FCURVE_VISIBLE|FCURVE_SELECTED);
if (act->curves.first==NULL)
fcu->flag |= FCURVE_ACTIVE; /* first one added active */
@@ -532,6 +530,7 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
{
bConstraint *con= NULL;
short searchtype= VISUALKEY_NONE;
+ short has_parent = FALSE;
char *identifier= NULL;
/* validate data */
@@ -550,6 +549,7 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
con= ob->constraints.first;
identifier= (char *)RNA_property_identifier(prop);
+ has_parent= (ob->parent != NULL);
}
else if (ptr->type == &RNA_PoseBone) {
/* Pose Channel */
@@ -557,10 +557,11 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
con= pchan->constraints.first;
identifier= (char *)RNA_property_identifier(prop);
+ has_parent= (pchan->parent != NULL);
}
/* check if any data to search using */
- if (ELEM(NULL, con, identifier))
+ if (ELEM(NULL, con, identifier) && (has_parent == FALSE))
return 0;
/* location or rotation identifiers only... */
@@ -575,7 +576,12 @@ static short visualkey_can_use (PointerRNA *ptr, PropertyRNA *prop)
/* only search if a searchtype and initial constraint are available */
- if (searchtype && con) {
+ if (searchtype) {
+ /* parent is always matching */
+ if (has_parent)
+ return 1;
+
+ /* constraints */
for (; con; con= con->next) {
/* only consider constraint if it is not disabled, and has influence */
if (con->flag & CONSTRAINT_DISABLE) continue;
@@ -647,55 +653,81 @@ static float visualkey_get_value (PointerRNA *ptr, PropertyRNA *prop, int array_
if (ptr->type == &RNA_Object) {
Object *ob= (Object *)ptr->data;
- /* parented objects are not supported, as the effects of the parent
- * are included in the matrix, which kindof beats the point
- */
- if (ob->parent == NULL) {
- /* only Location or Rotation keyframes are supported now */
- if (strstr(identifier, "location")) {
- return ob->obmat[3][array_index];
- }
- else if (strstr(identifier, "rotation_euler")) {
- float eul[3];
-
- mat4_to_eulO(eul, ob->rotmode, ob->obmat);
- return eul[array_index];
- }
- // FIXME: other types of rotation don't work
+ /* only Location or Rotation keyframes are supported now */
+ if (strstr(identifier, "location")) {
+ return ob->obmat[3][array_index];
+ }
+ else if (strstr(identifier, "rotation_euler")) {
+ float eul[3];
+
+ mat4_to_eulO(eul, ob->rotmode, ob->obmat);
+ return eul[array_index];
+ }
+ else if (strstr(identifier, "rotation_quaternion")) {
+ float trimat[3][3], quat[4];
+
+ copy_m3_m4(trimat, ob->obmat);
+ mat3_to_quat_is_ok(quat, trimat);
+
+ return quat[array_index];
+ }
+ else if (strstr(identifier, "rotation_axis_angle")) {
+ float axis[3], angle;
+
+ mat4_to_axis_angle(axis, &angle, ob->obmat);
+
+ /* w = 0, x,y,z = 1,2,3 */
+ if (array_index == 0)
+ return angle;
+ else
+ return axis[array_index - 1];
}
}
else if (ptr->type == &RNA_PoseBone) {
+ Object *ob = (Object *)ptr->id.data; /* we assume that this is always set, and is an object */
bPoseChannel *pchan= (bPoseChannel *)ptr->data;
- bPoseChannel tchan;
+ float tmat[4][4];
- /* make a copy of pchan so that we can apply and decompose its chan_mat, thus getting the
- * rest-pose to pose-mode transform that got stored there at the end of posing calculations
- * for B-Bone deforms to use
- * - it should be safe to just make a local copy like this, since we're not doing anything with the copied pointers
+ /* Although it is not strictly required for this particular space conversion,
+ * arg1 must not be null, as there is a null check for the other conversions to
+ * be safe. Therefore, the active object is passed here, and in many cases, this
+ * will be what owns the pose-channel that is getting this anyway.
*/
- memcpy(&tchan, pchan, sizeof(bPoseChannel));
- pchan_apply_mat4(&tchan, pchan->chan_mat, TRUE);
+ copy_m4_m4(tmat, pchan->pose_mat);
+ constraint_mat_convertspace(ob, pchan, tmat, CONSTRAINT_SPACE_POSE, CONSTRAINT_SPACE_LOCAL);
/* Loc, Rot/Quat keyframes are supported... */
if (strstr(identifier, "location")) {
/* only use for non-connected bones */
if ((pchan->bone->parent) && !(pchan->bone->flag & BONE_CONNECTED))
- return tchan.loc[array_index];
+ return tmat[3][array_index];
else if (pchan->bone->parent == NULL)
- return tchan.loc[array_index];
+ return tmat[3][array_index];
}
else if (strstr(identifier, "rotation_euler")) {
- return tchan.eul[array_index];
+ float eul[3];
+
+ mat4_to_eulO(eul, pchan->rotmode, tmat);
+ return eul[array_index];
}
else if (strstr(identifier, "rotation_quaternion")) {
- return tchan.quat[array_index];
+ float trimat[3][3], quat[4];
+
+ copy_m3_m4(trimat, tmat);
+ mat3_to_quat_is_ok(quat, trimat);
+
+ return quat[array_index];
}
- else if (strstr(identifier, "rotation_axisangle")) {
+ else if (strstr(identifier, "rotation_axis_angle")) {
+ float axis[3], angle;
+
+ mat4_to_axis_angle(axis, &angle, tmat);
+
/* w = 0, x,y,z = 1,2,3 */
if (array_index == 0)
- return tchan.rotAngle;
+ return angle;
else
- return tchan.rotAxis[array_index - 1];
+ return axis[array_index - 1];
}
}
diff --git a/source/blender/editors/animation/keyingsets.c b/source/blender/editors/animation/keyingsets.c
index c525c9af626..dcd1c3abbde 100644
--- a/source/blender/editors/animation/keyingsets.c
+++ b/source/blender/editors/animation/keyingsets.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -224,6 +222,7 @@ static int add_empty_ks_path_exec (bContext *C, wmOperator *op)
ksp->groupmode= KSP_GROUP_KSNAME; // XXX?
ksp->idtype= ID_OB;
+ ksp->flag= KSP_FLAG_WHOLE_ARRAY;
return OPERATOR_FINISHED;
}
@@ -782,19 +781,19 @@ void ANIM_keying_sets_menu_setup (bContext *C, const char title[], const char op
* - these are listed in the order in which they were defined for the active scene
*/
if (scene->keyingsets.first) {
- for (ks= scene->keyingsets.first; ks; ks= ks->next) {
+ for (ks= scene->keyingsets.first; ks; ks=ks->next, i++) {
if (ANIM_keyingset_context_ok_poll(C, ks))
- uiItemIntO(layout, ks->name, ICON_NONE, op_name, "type", i++);
+ uiItemIntO(layout, ks->name, ICON_NONE, op_name, "type", i);
}
uiItemS(layout);
}
/* builtin Keying Sets */
i= -1;
- for (ks= builtin_keyingsets.first; ks; ks= ks->next) {
+ for (ks= builtin_keyingsets.first; ks; ks=ks->next, i--) {
/* only show KeyingSet if context is suitable */
if (ANIM_keyingset_context_ok_poll(C, ks))
- uiItemEnumO_value(layout, ks->name, ICON_NONE, op_name, "type", i--);
+ uiItemEnumO_value(layout, ks->name, ICON_NONE, op_name, "type", i);
}
uiPupMenuEnd(C, pup);
@@ -876,33 +875,19 @@ void ANIM_relative_keyingset_add_source (ListBase *dsources, ID *id, StructRNA *
/* KeyingSet Operations (Insert/Delete Keyframes) ------------ */
-/* Given a KeyingSet and context info (if required), modify keyframes for the channels specified
- * by the KeyingSet. This takes into account many of the different combinations of using KeyingSets.
- * Returns the number of channels that keyframes were added to
+/* Given a KeyingSet and context info, validate Keying Set's paths.
+ * This is only really necessary with relative/built-in KeyingSets
+ * where their list of paths is dynamically generated based on the
+ * current context info.
+ *
+ * Returns 0 if succeeded, otherwise an error code: eModifyKey_Returns
*/
-int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingSet *ks, short mode, float cfra)
+short ANIM_validate_keyingset (bContext *C, ListBase *dsources, KeyingSet *ks)
{
- Scene *scene= CTX_data_scene(C);
- ReportList *reports = CTX_wm_reports(C);
- KS_Path *ksp;
- int kflag=0, success= 0;
- char *groupname= NULL;
-
- /* sanity checks */
+ /* sanity check */
if (ks == NULL)
return 0;
- /* get flags to use */
- if (mode == MODIFYKEY_MODE_INSERT) {
- /* use KeyingSet's flags as base */
- kflag= ks->keyingflag;
-
- /* suppliment with info from the context */
- kflag |= ANIM_get_keyframing_flags(scene, 1);
- }
- else if (mode == MODIFYKEY_MODE_DELETE)
- kflag= 0;
-
/* if relative Keying Sets, poll and build up the paths */
if ((ks->flag & KEYINGSET_ABSOLUTE) == 0) {
KeyingSetInfo *ksi = ANIM_keyingset_info_find_named(ks->typeinfo);
@@ -937,6 +922,45 @@ int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingS
}
}
+ /* succeeded; return 0 to tag error free */
+ return 0;
+}
+
+/* Given a KeyingSet and context info (if required), modify keyframes for the channels specified
+ * by the KeyingSet. This takes into account many of the different combinations of using KeyingSets.
+ * Returns the number of channels that keyframes were added to
+ */
+int ANIM_apply_keyingset (bContext *C, ListBase *dsources, bAction *act, KeyingSet *ks, short mode, float cfra)
+{
+ Scene *scene= CTX_data_scene(C);
+ ReportList *reports = CTX_wm_reports(C);
+ KS_Path *ksp;
+ int kflag=0, success= 0;
+ char *groupname= NULL;
+
+ /* sanity checks */
+ if (ks == NULL)
+ return 0;
+
+ /* get flags to use */
+ if (mode == MODIFYKEY_MODE_INSERT) {
+ /* use KeyingSet's flags as base */
+ kflag= ks->keyingflag;
+
+ /* suppliment with info from the context */
+ kflag |= ANIM_get_keyframing_flags(scene, 1);
+ }
+ else if (mode == MODIFYKEY_MODE_DELETE)
+ kflag= 0;
+
+ /* if relative Keying Sets, poll and build up the paths */
+ success = ANIM_validate_keyingset(C, dsources, ks);
+
+ if (success != 0) {
+ /* return error code if failed */
+ return success;
+ }
+
/* apply the paths as specified in the KeyingSet now */
for (ksp= ks->paths.first; ksp; ksp= ksp->next) {
int arraylen, i;
diff --git a/source/blender/editors/armature/CMakeLists.txt b/source/blender/editors/armature/CMakeLists.txt
index 2db6e278460..9a44525611a 100644
--- a/source/blender/editors/armature/CMakeLists.txt
+++ b/source/blender/editors/armature/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/armature/SConscript b/source/blender/editors/armature/SConscript
index beabd912a20..b7f9a263bc1 100644
--- a/source/blender/editors/armature/SConscript
+++ b/source/blender/editors/armature/SConscript
@@ -7,7 +7,7 @@ incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf ../
incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../gpu ../../makesrna #/intern/opennl/extern'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/armature/armature_intern.h b/source/blender/editors/armature/armature_intern.h
index 82decf8d1cf..47123b7fb4d 100644
--- a/source/blender/editors/armature/armature_intern.h
+++ b/source/blender/editors/armature/armature_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -79,8 +77,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);
@@ -97,6 +93,7 @@ void POSE_OT_rot_clear(struct wmOperatorType *ot);
void POSE_OT_loc_clear(struct wmOperatorType *ot);
void POSE_OT_scale_clear(struct wmOperatorType *ot);
void POSE_OT_transforms_clear(struct wmOperatorType *ot);
+void POSE_OT_user_transforms_clear(struct wmOperatorType *ot);
void POSE_OT_copy(struct wmOperatorType *ot);
void POSE_OT_paste(struct wmOperatorType *ot);
@@ -112,6 +109,8 @@ void POSE_OT_select_flip_active(struct wmOperatorType *ot);
void POSE_OT_group_add(struct wmOperatorType *ot);
void POSE_OT_group_remove(struct wmOperatorType *ot);
+void POSE_OT_group_move(struct wmOperatorType *ot);
+void POSE_OT_group_sort(struct wmOperatorType *ot);
void POSE_OT_group_assign(struct wmOperatorType *ot);
void POSE_OT_group_unassign(struct wmOperatorType *ot);
void POSE_OT_group_select(struct wmOperatorType *ot);
@@ -123,9 +122,9 @@ void POSE_OT_paths_clear(struct wmOperatorType *ot);
void POSE_OT_autoside_names(struct wmOperatorType *ot);
void POSE_OT_flip_names(struct wmOperatorType *ot);
-void POSE_OT_quaternions_flip(struct wmOperatorType *ot);
+void POSE_OT_rotation_mode_set(struct wmOperatorType *ot);
-void POSE_OT_flags_set(struct wmOperatorType *ot);
+void POSE_OT_quaternions_flip(struct wmOperatorType *ot);
void POSE_OT_armature_layers(struct wmOperatorType *ot);
void POSE_OT_bone_layers(struct wmOperatorType *ot);
diff --git a/source/blender/editors/armature/armature_ops.c b/source/blender/editors/armature/armature_ops.c
index 545cff82483..81ece9ddc9a 100644
--- a/source/blender/editors/armature/armature_ops.c
+++ b/source/blender/editors/armature/armature_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,8 +83,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);
@@ -112,6 +108,7 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_loc_clear);
WM_operatortype_append(POSE_OT_scale_clear);
WM_operatortype_append(POSE_OT_transforms_clear);
+ WM_operatortype_append(POSE_OT_user_transforms_clear);
WM_operatortype_append(POSE_OT_copy);
WM_operatortype_append(POSE_OT_paste);
@@ -128,6 +125,8 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_group_add);
WM_operatortype_append(POSE_OT_group_remove);
+ WM_operatortype_append(POSE_OT_group_move);
+ WM_operatortype_append(POSE_OT_group_sort);
WM_operatortype_append(POSE_OT_group_assign);
WM_operatortype_append(POSE_OT_group_unassign);
WM_operatortype_append(POSE_OT_group_select);
@@ -138,11 +137,11 @@ void ED_operatortypes_armature(void)
WM_operatortype_append(POSE_OT_autoside_names);
WM_operatortype_append(POSE_OT_flip_names);
+
+ WM_operatortype_append(POSE_OT_rotation_mode_set);
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 +267,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);
@@ -315,6 +311,8 @@ void ED_keymap_armature(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "POSE_OT_quaternions_flip", FKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "POSE_OT_rotation_mode_set", RKEY, KM_PRESS, KM_CTRL, 0);
+
WM_keymap_add_item(keymap, "POSE_OT_copy", CKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL, 0);
kmi= WM_keymap_add_item(keymap, "POSE_OT_paste", VKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
@@ -349,13 +347,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 abf08393544..eaaaa12eca1 100644
--- a/source/blender/editors/armature/editarmature.c
+++ b/source/blender/editors/armature/editarmature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -494,15 +492,32 @@ void ED_armature_apply_transform(Object *ob, float mat[4][4])
EditBone *ebone;
bArmature *arm= ob->data;
float scale = mat4_to_scale(mat); /* store the scale of the matrix here to use on envelopes */
-
+ float mat3[3][3];
+
+ copy_m3_m4(mat3, mat);
+ normalize_m3(mat3);
+
/* Put the armature into editmode */
ED_armature_to_edit(ob);
/* Do the rotations */
- for (ebone = arm->edbo->first; ebone; ebone=ebone->next){
+ for (ebone = arm->edbo->first; ebone; ebone=ebone->next) {
+ float delta[3], tmat[3][3];
+
+ /* find the current bone's roll matrix */
+ sub_v3_v3v3(delta, ebone->tail, ebone->head);
+ vec_roll_to_mat3(delta, ebone->roll, tmat);
+
+ /* transform the roll matrix */
+ mul_m3_m3m3(tmat, mat3, tmat);
+
+ /* transform the bone */
mul_m4_v3(mat, ebone->head);
mul_m4_v3(mat, ebone->tail);
-
+
+ /* apply the transfiormed roll back */
+ mat3_to_vec_roll(tmat, NULL, &ebone->roll);
+
ebone->rad_head *= scale;
ebone->rad_tail *= scale;
ebone->dist *= scale;
@@ -1352,30 +1367,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 +1387,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 ********************** */
@@ -1601,10 +1493,8 @@ 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");
- ARegion *ar;
Object *obedit= CTX_data_edit_object(C);
arm= obedit->data;
- ar= CTX_wm_region(C);
view3d_operator_needs_opengl(C);
@@ -3116,28 +3006,31 @@ static void bones_merge(Object *obedit, EditBone *start, EditBone *end, EditBone
/* TODO, copy more things to the new bone */
newbone->flag= start->flag & (BONE_HINGE|BONE_NO_DEFORM|BONE_NO_SCALE|BONE_NO_CYCLICOFFSET|BONE_NO_LOCAL_LOCATION|BONE_DONE);
- /* step 2a: parent children of in-between bones to newbone */
- for (chain= chains->first; chain; chain= chain->next) {
- /* ick: we need to check if parent of each bone in chain is one of the bones in the */
- short found= 0;
- for (ebo= chain->data; ebo; ebo= ebo->parent) {
+ /* step 2a: reparent any side chains which may be parented to any bone in the chain of bones to merge
+ * - potentially several tips for side chains leading to some tree exist...
+ */
+ for (chain = chains->first; chain; chain = chain->next) {
+ /* traverse down chain until we hit the bottom or if we run into the tip of the chain of bones we're
+ * merging (need to stop in this case to avoid corrupting this chain too!)
+ */
+ for (ebone = chain->data; (ebone) && (ebone != end); ebone = ebone->parent) {
+ short found = 0;
- /* try to find which bone from the list to be removed, is the parent */
- for (ebone= end; ebone; ebone= ebone->parent) {
- if (ebo->parent == ebone) {
- found= 1;
+ /* check if this bone is parented to one in the merging chain
+ * ! WATCHIT: must only go check until end of checking chain
+ */
+ for (ebo = end; (ebo) && (ebo != start->parent); ebo = ebo->parent) {
+ /* side-chain found? --> remap parent to new bone, then we're done with this chain :) */
+ if (ebone->parent == ebo) {
+ ebone->parent = newbone;
+ found = 1;
break;
}
}
- /* adjust this bone's parent to newbone then */
- if (found) {
- ebo->parent= newbone;
+ /* carry on to the next tip now */
+ if (found)
break;
- }
- }
- if (found) {
- break;
}
}
@@ -3173,12 +3066,12 @@ static int armature_merge_exec (bContext *C, wmOperator *op)
LinkData *chain, *nchain;
EditBone *ebo;
+ armature_tag_select_mirrored(arm);
+
/* get chains (ends on chains) */
chains_find_tips(arm->edbo, &chains);
if (chains.first == NULL) return OPERATOR_CANCELLED;
-
- armature_tag_select_mirrored(arm);
-
+
/* each 'chain' is the last bone in the chain (with no children) */
for (chain= chains.first; chain; chain= nchain) {
EditBone *bstart= NULL, *bend= NULL;
@@ -3223,7 +3116,7 @@ static int armature_merge_exec (bContext *C, wmOperator *op)
}
armature_tag_unselect(arm);
-
+
BLI_freelistN(&chains);
}
@@ -5527,12 +5420,14 @@ void ED_armature_bone_rename(bArmature *arm, char *oldnamep, char *newnamep)
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);
+ SpaceLink *sl;
+ for (sl= sa->spacedata.first; sl; sl= sl->next) {
+ 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/poseSlide.c b/source/blender/editors/armature/poseSlide.c
index 3d6888d87dc..b0ff60455cf 100644
--- a/source/blender/editors/armature/poseSlide.c
+++ b/source/blender/editors/armature/poseSlide.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -93,7 +91,8 @@
/* Temporary data shared between these operators */
typedef struct tPoseSlideOp {
Scene *scene; /* current scene */
- ARegion *ar; /* region that we're operating in (needed for */
+ ScrArea *sa; /* area that we're operating in (needed for modal()) */
+ ARegion *ar; /* region that we're operating in (needed for modal()) */
Object *ob; /* active object that Pose Info comes from */
bArmature *arm; /* armature for pose */
@@ -132,6 +131,7 @@ static int pose_slide_init (bContext *C, wmOperator *op, short mode)
pso->scene= CTX_data_scene(C);
pso->ob= ED_object_pose_armature(CTX_data_active_object(C));
pso->arm= (pso->ob)? pso->ob->data : NULL;
+ pso->sa= CTX_wm_area(C); /* only really needed when doing modal() */
pso->ar= CTX_wm_region(C); /* only really needed when doing modal() */
pso->cframe= pso->scene->r.cfra;
@@ -519,6 +519,33 @@ static void pose_slide_reset (tPoseSlideOp *pso)
/* ------------------------------------ */
+/* draw percentage indicator in header */
+static void pose_slide_draw_status (tPoseSlideOp *pso)
+{
+ char statusStr[32];
+ char mode[32];
+
+ switch (pso->mode) {
+ case POSESLIDE_PUSH:
+ strcpy(mode, "Push Pose");
+ break;
+ case POSESLIDE_RELAX:
+ strcpy(mode, "Relax Pose");
+ break;
+ case POSESLIDE_BREAKDOWN:
+ strcpy(mode, "Breakdown");
+ break;
+
+ default:
+ // unknown
+ strcpy(mode, "Sliding-Tool");
+ break;
+ }
+
+ sprintf(statusStr, "%s: %d %%", mode, (int)(pso->percentage*100.0f));
+ ED_area_headerprint(pso->sa, statusStr);
+}
+
/* common code for invoke() methods */
static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *pso)
{
@@ -587,6 +614,9 @@ static int pose_slide_invoke_common (bContext *C, wmOperator *op, tPoseSlideOp *
/* set cursor to indicate modal */
WM_cursor_modal(win, BC_EW_SCROLLCURSOR);
+ /* header print */
+ pose_slide_draw_status(pso);
+
/* add a modal handler for this operator */
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -601,7 +631,8 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
switch (evt->type) {
case LEFTMOUSE: /* confirm */
{
- /* return to normal cursor */
+ /* return to normal cursor and header status */
+ ED_area_headerprint(pso->sa, NULL);
WM_cursor_restore(win);
/* insert keyframes as required... */
@@ -615,7 +646,8 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
case ESCKEY: /* cancel */
case RIGHTMOUSE:
{
- /* return to normal cursor */
+ /* return to normal cursor and header status */
+ ED_area_headerprint(pso->sa, NULL);
WM_cursor_restore(win);
/* reset transforms back to original state */
@@ -639,6 +671,9 @@ static int pose_slide_modal (bContext *C, wmOperator *op, wmEvent *evt)
pso->percentage= (evt->x - pso->ar->winrct.xmin) / ((float)pso->ar->winx);
RNA_float_set(op->ptr, "percentage", pso->percentage);
+ /* update percentage indicator in header */
+ pose_slide_draw_status(pso);
+
/* reset transforms (to avoid accumulation errors) */
pose_slide_reset(pso);
@@ -1000,7 +1035,7 @@ static short pose_propagate_get_refVal (Object *ob, FCurve *fcu, float *value)
/* resolve the property... */
if (RNA_path_resolve(&id_ptr, fcu->rna_path, &ptr, &prop)) {
- if (RNA_property_array_check(&ptr, prop)) {
+ if (RNA_property_array_check(prop)) {
/* array */
if (fcu->array_index < RNA_property_array_length(&ptr, prop)) {
found= TRUE;
diff --git a/source/blender/editors/armature/poseUtils.c b/source/blender/editors/armature/poseUtils.c
index 7ade93076e5..4b22d76ad0b 100644
--- a/source/blender/editors/armature/poseUtils.c
+++ b/source/blender/editors/armature/poseUtils.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -121,7 +119,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);
}
}
@@ -247,6 +245,15 @@ void poseAnim_mapping_autoKeyframe (bContext *C, Scene *scene, Object *ob, ListB
/* insert keyframes for all relevant bones in one go */
ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, cframe);
BLI_freelistN(&dsources);
+
+ /* do the bone paths
+ * - only do this if keyframes should have been added
+ * - do not calculate unless there are paths already to update...
+ */
+ if (C && (ob->pose->avs.path_bakeflag & MOTIONPATH_BAKE_HAS_PATHS)) {
+ //ED_pose_clear_paths(C, ob); // XXX for now, don't need to clear
+ ED_pose_recalculate_paths(scene, ob);
+ }
}
}
diff --git a/source/blender/editors/armature/poselib.c b/source/blender/editors/armature/poselib.c
index 5b4da1a38df..864eaa3bdbd 100644
--- a/source/blender/editors/armature/poselib.c
+++ b/source/blender/editors/armature/poselib.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -110,22 +108,34 @@ static int poselib_get_free_index (bAction *act)
{
TimeMarker *marker;
int low=0, high=0;
+ short changed = 0;
/* sanity checks */
if (ELEM(NULL, act, act->markers.first)) return 1;
- /* loop over poses finding various values (poses are not stored in chronological order) */
- for (marker= act->markers.first; marker; marker= marker->next) {
- /* only increase low if value is 1 greater than low, to find "gaps" where
- * poses were removed from the poselib
- */
- if (marker->frame == (low + 1))
- low++;
+ /* As poses are not stored in chronological order, we must iterate over this list
+ * a few times until we don't make any new discoveries (mostly about the lower bound).
+ * Prevents problems with deleting then trying to add new poses [#27412]
+ */
+ do {
+ changed = 0;
- /* value replaces high if it is the highest value encountered yet */
- if (marker->frame > high)
- high= marker->frame;
- }
+ for (marker= act->markers.first; marker; marker= marker->next) {
+ /* only increase low if value is 1 greater than low, to find "gaps" where
+ * poses were removed from the poselib
+ */
+ if (marker->frame == (low + 1)) {
+ low++;
+ changed = 1;
+ }
+
+ /* value replaces high if it is the highest value encountered yet */
+ if (marker->frame > high) {
+ high= marker->frame;
+ changed = 1;
+ }
+ }
+ } while (changed != 0);
/* - if low is not equal to high, then low+1 is a gap
* - if low is equal to high, then high+1 is the next index (add at end)
@@ -331,6 +341,11 @@ static int poselib_sanitise_exec (bContext *C, wmOperator *op)
/* free temp memory */
BLI_dlrbTree_free(&keys);
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
return OPERATOR_FINISHED;
}
@@ -555,6 +570,11 @@ static int poselib_remove_exec (bContext *C, wmOperator *op)
/* fix active pose number */
act->active_marker= 0;
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
/* done */
return OPERATOR_FINISHED;
}
@@ -637,6 +657,11 @@ static int poselib_rename_exec (bContext *C, wmOperator *op)
BLI_strncpy(marker->name, newname, sizeof(marker->name));
BLI_uniquename(&act->markers, marker, "Pose", '.', offsetof(TimeMarker, name), sizeof(marker->name));
+ /* send notifiers for this - using keyframe editing notifiers, since action
+ * may be being shown in anim editors as active action
+ */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
+
/* done */
return OPERATOR_FINISHED;
}
@@ -840,7 +865,7 @@ static void poselib_apply_pose (tPoseLib_PreviewData *pld)
/* start applying - only those channels which have a key at this point in time! */
for (agrp= act->groups.first; agrp; agrp= agrp->next) {
/* check if group has any keyframes */
- if (ANIM_animchanneldata_keyframes_loop(&ked, agrp, ALE_GROUP, NULL, group_ok_cb, NULL, 0)) {
+ if (ANIM_animchanneldata_keyframes_loop(&ked, NULL, agrp, ALE_GROUP, NULL, group_ok_cb, NULL)) {
/* has keyframe on this frame, so try to get a PoseChannel with this name */
pchan= get_pose_channel(pose, agrp->name);
@@ -881,11 +906,11 @@ static void poselib_keytag_pose (bContext *C, Scene *scene, tPoseLib_PreviewData
/* start tagging/keying */
for (agrp= act->groups.first; agrp; agrp= agrp->next) {
- /* only for selected action channels */
- if (agrp->flag & AGRP_SELECTED) {
- pchan= get_pose_channel(pose, agrp->name);
-
- if (pchan) {
+ /* only for selected bones unless there aren't any selected, in which case all are included */
+ pchan= get_pose_channel(pose, agrp->name);
+
+ if (pchan) {
+ if ( (pld->selcount == 0) || ((pchan->bone) && (pchan->bone->flag & BONE_SELECTED)) ) {
if (autokey) {
/* add datasource override for the PoseChannel, to be used later */
ANIM_relative_keyingset_add_source(&dsources, &pld->ob->id, &RNA_PoseBone, pchan);
diff --git a/source/blender/editors/armature/poseobject.c b/source/blender/editors/armature/poseobject.c
index 8176aa5893b..3911be02fe7 100644
--- a/source/blender/editors/armature/poseobject.c
+++ b/source/blender/editors/armature/poseobject.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -49,6 +47,7 @@
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
+#include "BKE_animsys.h"
#include "BKE_anim.h"
#include "BKE_idprop.h"
#include "BKE_action.h"
@@ -64,6 +63,7 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -108,24 +108,6 @@ Object *ED_object_pose_armature(Object *ob)
return NULL;
}
-
-/* This function is used to indicate that a bone is selected and needs keyframes inserted */
-static void set_pose_keys (Object *ob)
-{
- bArmature *arm= ob->data;
- bPoseChannel *chan;
-
- if (ob->pose){
- for (chan=ob->pose->chanbase.first; chan; chan=chan->next){
- Bone *bone= chan->bone;
- if ((bone) && (bone->flag & BONE_SELECTED) && (arm->layer & bone->layer))
- chan->flag |= POSE_KEY;
- else
- chan->flag &= ~POSE_KEY;
- }
- }
-}
-
/* This function is used to process the necessary updates for */
void ED_armature_enter_posemode(bContext *C, Base *base)
{
@@ -604,6 +586,63 @@ static short pose_select_same_layer (bContext *C, Object *ob, short extend)
return changed;
}
+static int pose_select_same_keyingset(bContext *C, Object *ob, short extend)
+{
+ KeyingSet *ks = ANIM_scene_get_active_keyingset(CTX_data_scene(C));
+ KS_Path *ksp;
+
+ bArmature *arm = (ob)? ob->data : NULL;
+ bPose *pose= (ob)? ob->pose : NULL;
+ short changed= 0;
+
+ /* sanity checks: validate Keying Set and object */
+ if ((ks == NULL) || (ANIM_validate_keyingset(C, NULL, ks) != 0))
+ return 0;
+
+ if (ELEM3(NULL, ob, pose, arm))
+ return 0;
+
+ /* if not extending selection, deselect all selected first */
+ if (extend == 0) {
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, visible_pose_bones)
+ {
+ if ((pchan->bone->flag & BONE_UNSELECTABLE)==0)
+ pchan->bone->flag &= ~BONE_SELECTED;
+ }
+ CTX_DATA_END;
+ }
+
+ /* iterate over elements in the Keying Set, setting selection depending on whether
+ * that bone is visible or not...
+ */
+ for (ksp = ks->paths.first; ksp; ksp = ksp->next) {
+ /* only items related to this object will be relevant */
+ if ((ksp->id == &ob->id) && (ksp->rna_path != NULL)) {
+ if (strstr(ksp->rna_path, "bones")) {
+ char *boneName = BLI_getQuotedStr(ksp->rna_path, "bones[");
+
+ if (boneName) {
+ bPoseChannel *pchan = get_pose_channel(pose, boneName);
+
+ if (pchan) {
+ /* select if bone is visible and can be affected */
+ if ((PBONE_VISIBLE(arm, pchan->bone)) &&
+ (pchan->bone->flag & BONE_UNSELECTABLE)==0)
+ {
+ pchan->bone->flag |= BONE_SELECTED;
+ changed = 1;
+ }
+ }
+
+ /* free temp memory */
+ MEM_freeN(boneName);
+ }
+ }
+ }
+ }
+
+ return changed;
+}
static int pose_select_grouped_exec (bContext *C, wmOperator *op)
{
@@ -622,6 +661,9 @@ static int pose_select_grouped_exec (bContext *C, wmOperator *op)
case 1: /* group */
changed= pose_select_same_group(C, ob, extend);
break;
+ case 2: /* Keying Set */
+ changed= pose_select_same_keyingset(C, ob, extend);
+ break;
default: /* layer */
changed= pose_select_same_layer(C, ob, extend);
break;
@@ -642,6 +684,7 @@ void POSE_OT_select_grouped (wmOperatorType *ot)
static EnumPropertyItem prop_select_grouped_types[] = {
{0, "LAYER", 0, "Layer", "Shared layers"},
{1, "GROUP", 0, "Group", "Shared group"},
+ {2, "KEYINGSET", 0, "Keying Set", "All bones affected by active Keying Set"},
{0, NULL, 0, NULL, NULL}
};
@@ -945,6 +988,149 @@ void free_posebuf(void)
g_posebuf=NULL;
}
+/* This function is used to indicate that a bone is selected
+ * and needs to be included in copy buffer (used to be for inserting keys)
+ */
+static void set_pose_keys (Object *ob)
+{
+ bArmature *arm= ob->data;
+ bPoseChannel *chan;
+
+ if (ob->pose){
+ for (chan=ob->pose->chanbase.first; chan; chan=chan->next){
+ Bone *bone= chan->bone;
+ if ((bone) && (bone->flag & BONE_SELECTED) && (arm->layer & bone->layer))
+ chan->flag |= POSE_KEY;
+ else
+ chan->flag &= ~POSE_KEY;
+ }
+ }
+}
+
+/* perform paste pose, for a single bone
+ * < ob: object where bone to paste to lives
+ * < chan: bone that pose to paste comes from
+ * < selOnly: only paste on selected bones
+ * < flip: flip on x-axis
+ *
+ * > returns: whether the bone that we pasted to if we succeeded
+ */
+static bPoseChannel *pose_bone_do_paste (Object *ob, bPoseChannel *chan, short selOnly, short flip)
+{
+ bPoseChannel *pchan;
+ char name[32];
+ short paste_ok;
+
+ /* get the name - if flipping, we must flip this first */
+ if (flip)
+ flip_side_name(name, chan->name, 0); /* 0 = don't strip off number extensions */
+ else
+ BLI_strncpy(name, chan->name, sizeof(name));
+
+ /* only copy when:
+ * 1) channel exists - poses are not meant to add random channels to anymore
+ * 2) if selection-masking is on, channel is selected - only selected bones get pasted on, allowing making both sides symmetrical
+ */
+ pchan= get_pose_channel(ob->pose, name);
+
+ if (selOnly)
+ paste_ok= ((pchan) && (pchan->bone->flag & BONE_SELECTED));
+ else
+ paste_ok= ((pchan != NULL));
+
+ /* continue? */
+ if (paste_ok) {
+ /* only loc rot size
+ * - only copies transform info for the pose
+ */
+ VECCOPY(pchan->loc, chan->loc);
+ VECCOPY(pchan->size, chan->size);
+ pchan->flag= chan->flag;
+
+ /* check if rotation modes are compatible (i.e. do they need any conversions) */
+ if (pchan->rotmode == chan->rotmode) {
+ /* copy the type of rotation in use */
+ if (pchan->rotmode > 0) {
+ VECCOPY(pchan->eul, chan->eul);
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ VECCOPY(pchan->rotAxis, chan->rotAxis);
+ pchan->rotAngle = chan->rotAngle;
+ }
+ else {
+ QUATCOPY(pchan->quat, chan->quat);
+ }
+ }
+ else if (pchan->rotmode > 0) {
+ /* quat/axis-angle to euler */
+ if (chan->rotmode == ROT_MODE_AXISANGLE)
+ axis_angle_to_eulO( pchan->eul, pchan->rotmode,chan->rotAxis, chan->rotAngle);
+ else
+ quat_to_eulO( pchan->eul, pchan->rotmode,chan->quat);
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ /* quat/euler to axis angle */
+ if (chan->rotmode > 0)
+ eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->eul, chan->rotmode);
+ else
+ quat_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->quat);
+ }
+ else {
+ /* euler/axis-angle to quat */
+ if (chan->rotmode > 0)
+ eulO_to_quat(pchan->quat, chan->eul, chan->rotmode);
+ else
+ axis_angle_to_quat(pchan->quat, chan->rotAxis, pchan->rotAngle);
+ }
+
+ /* paste flipped pose? */
+ if (flip) {
+ pchan->loc[0]*= -1;
+
+ /* has to be done as eulers... */
+ if (pchan->rotmode > 0) {
+ pchan->eul[1] *= -1;
+ pchan->eul[2] *= -1;
+ }
+ else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
+ float eul[3];
+
+ axis_angle_to_eulO(eul, EULER_ORDER_DEFAULT, pchan->rotAxis, pchan->rotAngle);
+ eul[1]*= -1;
+ eul[2]*= -1;
+ eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, eul, EULER_ORDER_DEFAULT);
+ }
+ else {
+ float eul[3];
+
+ normalize_qt(pchan->quat);
+ quat_to_eul(eul, pchan->quat);
+ eul[1]*= -1;
+ eul[2]*= -1;
+ eul_to_quat(pchan->quat, eul);
+ }
+ }
+
+ /* ID properties */
+ if (chan->prop) {
+ if (pchan->prop) {
+ /* if we have existing properties on a bone, just copy over the values of
+ * matching properties (i.e. ones which will have some impact) on to the
+ * target instead of just blinding replacing all [
+ */
+ IDP_SyncGroupValues(pchan->prop, chan->prop);
+ }
+ else {
+ /* no existing properties, so assume that we want copies too? */
+ pchan->prop= IDP_CopyProperty(chan->prop);
+ }
+ }
+ }
+
+ /* return whether paste went ahead */
+ return pchan;
+}
+
/* ---- */
static int pose_copy_exec (bContext *C, wmOperator *op)
@@ -987,9 +1173,9 @@ void POSE_OT_copy (wmOperatorType *ot)
static int pose_paste_exec (bContext *C, wmOperator *op)
{
- Scene *scene= CTX_data_scene(C);
Object *ob= ED_object_pose_armature(CTX_data_active_object(C));
- bPoseChannel *chan, *pchan;
+ Scene *scene= CTX_data_scene(C);
+ bPoseChannel *chan;
int flip= RNA_boolean_get(op->ptr, "flipped");
int selOnly= RNA_boolean_get(op->ptr, "selected_mask");
@@ -1002,120 +1188,22 @@ static int pose_paste_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+ /* if selOnly option is enabled, if user hasn't selected any bones,
+ * just go back to default behaviour to be more in line with other pose tools
+ */
+ if (selOnly) {
+ if (CTX_DATA_COUNT(C, selected_pose_bones) == 0)
+ selOnly = 0;
+ }
+
/* Safely merge all of the channels in the buffer pose into any existing pose */
for (chan= g_posebuf->chanbase.first; chan; chan=chan->next) {
if (chan->flag & POSE_KEY) {
- char name[32];
- short paste_ok;
+ /* try to perform paste on this bone */
+ bPoseChannel *pchan = pose_bone_do_paste(ob, chan, selOnly, flip);
- /* get the name - if flipping, we must flip this first */
- if (flip)
- flip_side_name(name, chan->name, 0); /* 0 = don't strip off number extensions */
- else
- BLI_strncpy(name, chan->name, sizeof(name));
-
- /* only copy when:
- * 1) channel exists - poses are not meant to add random channels to anymore
- * 2) if selection-masking is on, channel is selected - only selected bones get pasted on, allowing making both sides symmetrical
- */
- pchan= get_pose_channel(ob->pose, name);
-
- if (selOnly)
- paste_ok= ((pchan) && (pchan->bone->flag & BONE_SELECTED));
- else
- paste_ok= ((pchan != NULL));
-
- /* continue? */
- if (paste_ok) {
- /* only loc rot size
- * - only copies transform info for the pose
- */
- VECCOPY(pchan->loc, chan->loc);
- VECCOPY(pchan->size, chan->size);
- pchan->flag= chan->flag;
-
- /* check if rotation modes are compatible (i.e. do they need any conversions) */
- if (pchan->rotmode == chan->rotmode) {
- /* copy the type of rotation in use */
- if (pchan->rotmode > 0) {
- VECCOPY(pchan->eul, chan->eul);
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- VECCOPY(pchan->rotAxis, chan->rotAxis);
- pchan->rotAngle = chan->rotAngle;
- }
- else {
- QUATCOPY(pchan->quat, chan->quat);
- }
- }
- else if (pchan->rotmode > 0) {
- /* quat/axis-angle to euler */
- if (chan->rotmode == ROT_MODE_AXISANGLE)
- axis_angle_to_eulO( pchan->eul, pchan->rotmode,chan->rotAxis, chan->rotAngle);
- else
- quat_to_eulO( pchan->eul, pchan->rotmode,chan->quat);
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- /* quat/euler to axis angle */
- if (chan->rotmode > 0)
- eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->eul, chan->rotmode);
- else
- quat_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, chan->quat);
- }
- else {
- /* euler/axis-angle to quat */
- if (chan->rotmode > 0)
- eulO_to_quat(pchan->quat, chan->eul, chan->rotmode);
- else
- axis_angle_to_quat(pchan->quat, chan->rotAxis, pchan->rotAngle);
- }
-
- /* paste flipped pose? */
- if (flip) {
- pchan->loc[0]*= -1;
-
- /* has to be done as eulers... */
- if (pchan->rotmode > 0) {
- pchan->eul[1] *= -1;
- pchan->eul[2] *= -1;
- }
- else if (pchan->rotmode == ROT_MODE_AXISANGLE) {
- float eul[3];
-
- axis_angle_to_eulO(eul, EULER_ORDER_DEFAULT, pchan->rotAxis, pchan->rotAngle);
- eul[1]*= -1;
- eul[2]*= -1;
- eulO_to_axis_angle(pchan->rotAxis, &pchan->rotAngle, eul, EULER_ORDER_DEFAULT);
- }
- else {
- float eul[3];
-
- normalize_qt(pchan->quat);
- quat_to_eul(eul, pchan->quat);
- eul[1]*= -1;
- eul[2]*= -1;
- eul_to_quat(pchan->quat, eul);
- }
- }
-
- /* ID properties
- * - only free the existing properties if the channel we're copying from has them
- * NOTE: this means that if the pose depends on some pchan property, the pose may not be ok,
- * but this is better than loosing all the setting you've painstakingly added...
- */
- if (chan->prop) {
- /* free the old properties since we want to replace them now */
- if (pchan->prop) {
- IDP_FreeProperty(pchan->prop);
- MEM_freeN(pchan->prop);
- pchan->prop= NULL;
- }
-
- /* now copy over the new copy of the properties */
- pchan->prop= IDP_CopyProperty(chan->prop);
- }
-
- /* keyframing tagging */
+ if (pchan) {
+ /* keyframing tagging for successful paste */
if (autokeyframe_cfra_can_key(scene, &ob->id)) {
ListBase dsources = {NULL, NULL};
@@ -1169,11 +1257,11 @@ 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 pose on to selected bones in the current pose");
+ RNA_def_boolean(ot->srna, "selected_mask", 1, "On Selected Only", "Only paste the stored pose on to selected bones in the current pose");
}
/* ********************************************** */
-
+/* Bone Groups */
static int pose_group_add_exec (bContext *C, wmOperator *UNUSED(op))
{
@@ -1425,6 +1513,171 @@ void POSE_OT_group_unassign (wmOperatorType *ot)
ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
}
+static int group_move_exec(bContext *C, wmOperator *op)
+{
+ Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ bPose *pose= (ob) ? ob->pose : NULL;
+ bPoseChannel *pchan;
+ bActionGroup *grp;
+ int dir= RNA_enum_get(op->ptr, "direction");
+ int grpIndexA, grpIndexB;
+
+ if (ELEM(NULL, ob, pose))
+ return OPERATOR_CANCELLED;
+ if (pose->active_group <= 0)
+ return OPERATOR_CANCELLED;
+
+ /* get group to move */
+ grp= BLI_findlink(&pose->agroups, pose->active_group-1);
+ if (grp == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* move bone group */
+ grpIndexA = pose->active_group;
+ if (dir == 1) { /* up */
+ void *prev = grp->prev;
+
+ if (prev == NULL)
+ return OPERATOR_FINISHED;
+
+ BLI_remlink(&pose->agroups, grp);
+ BLI_insertlinkbefore(&pose->agroups, prev, grp);
+
+ grpIndexB = grpIndexA - 1;
+ pose->active_group--;
+ }
+ else { /* down */
+ void *next = grp->next;
+
+ if (next == NULL)
+ return OPERATOR_FINISHED;
+
+ BLI_remlink(&pose->agroups, grp);
+ BLI_insertlinkafter(&pose->agroups, next, grp);
+
+ grpIndexB = grpIndexA + 1;
+ pose->active_group++;
+ }
+
+ /* fix changed bone group indices in bones (swap grpIndexA with grpIndexB) */
+ for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ if (pchan->agrp_index == grpIndexB)
+ pchan->agrp_index= grpIndexA;
+ else if (pchan->agrp_index == grpIndexA)
+ pchan->agrp_index= grpIndexB;
+ }
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_group_move(wmOperatorType *ot)
+{
+ static EnumPropertyItem group_slot_move[] = {
+ {1, "UP", 0, "Up", ""},
+ {-1, "DOWN", 0, "Down", ""},
+ {0, NULL, 0, NULL, NULL}
+ };
+
+ /* identifiers */
+ ot->name= "Move Bone Group";
+ ot->idname= "POSE_OT_group_move";
+ ot->description= "Change position of active Bone Group in list of Bone Groups";
+
+ /* api callbacks */
+ ot->exec= group_move_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "direction", group_slot_move, 0, "Direction", "Direction to move, UP or DOWN");
+}
+
+/* bone group sort element */
+typedef struct tSortActionGroup {
+ bActionGroup *agrp;
+ int index;
+} tSortActionGroup;
+
+/* compare bone groups by name */
+static int compare_agroup(const void *sgrp_a_ptr, const void *sgrp_b_ptr)
+{
+ tSortActionGroup *sgrp_a= (tSortActionGroup *)sgrp_a_ptr;
+ tSortActionGroup *sgrp_b= (tSortActionGroup *)sgrp_b_ptr;
+
+ return strcmp(sgrp_a->agrp->name, sgrp_b->agrp->name);
+}
+
+static int group_sort_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Object *ob= CTX_data_pointer_get_type(C, "object", &RNA_Object).data;
+ bPose *pose= (ob) ? ob->pose : NULL;
+ bPoseChannel *pchan;
+ tSortActionGroup *agrp_array;
+ bActionGroup *agrp;
+ int agrp_count;
+ int i;
+
+ if (ELEM(NULL, ob, pose))
+ return OPERATOR_CANCELLED;
+ if (pose->active_group <= 0)
+ return OPERATOR_CANCELLED;
+
+ /* create temporary array with bone groups and indices */
+ agrp_count = BLI_countlist(&pose->agroups);
+ agrp_array = MEM_mallocN(sizeof(tSortActionGroup) * agrp_count, "sort bone groups");
+ for (agrp= pose->agroups.first, i= 0; agrp; agrp= agrp->next, i++) {
+ BLI_assert(i < agrp_count);
+ agrp_array[i].agrp = agrp;
+ agrp_array[i].index = i+1;
+ }
+
+ /* sort bone groups by name */
+ qsort(agrp_array, agrp_count, sizeof(tSortActionGroup), compare_agroup);
+
+ /* create sorted bone group list from sorted array */
+ pose->agroups.first= pose->agroups.last= NULL;
+ for (i= 0; i < agrp_count; i++) {
+ BLI_addtail(&pose->agroups, agrp_array[i].agrp);
+ }
+
+ /* fix changed bone group indizes in bones */
+ for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
+ for (i= 0; i < agrp_count; i++) {
+ if (pchan->agrp_index == agrp_array[i].index) {
+ pchan->agrp_index= i+1;
+ break;
+ }
+ }
+ }
+
+ /* free temp resources */
+ MEM_freeN(agrp_array);
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_group_sort(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Sort Bone Groups";
+ ot->idname= "POSE_OT_group_sort";
+ ot->description= "Sort Bone Groups by their names in ascending order";
+
+ /* api callbacks */
+ ot->exec= group_sort_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
static void pose_group_select(bContext *C, Object *ob, int select)
{
bPose *pose= ob->pose;
@@ -1625,6 +1878,46 @@ void POSE_OT_autoside_names (wmOperatorType *ot)
/* ********************************************** */
+static int pose_bone_rotmode_exec (bContext *C, wmOperator *op)
+{
+ Object *ob = CTX_data_active_object(C);
+ int mode = RNA_enum_get(op->ptr, "type");
+
+ /* set rotation mode of selected bones */
+ CTX_DATA_BEGIN(C, bPoseChannel *, pchan, selected_pose_bones)
+ {
+ pchan->rotmode = mode;
+ }
+ CTX_DATA_END;
+
+ /* notifiers and updates */
+ DAG_id_tag_update((ID *)ob, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_rotation_mode_set (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Set Rotation Mode";
+ ot->idname= "POSE_OT_rotation_mode_set";
+ ot->description= "Set the rotation representation used by selected bones";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= pose_bone_rotmode_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* properties */
+ ot->prop= RNA_def_enum(ot->srna, "type", posebone_rotmode_items, 0, "Rotation Mode", "");
+}
+
+/* ********************************************** */
+
/* Show all armature layers */
static int pose_armature_layers_showall_poll (bContext *C)
{
@@ -1711,7 +2004,7 @@ static int pose_armature_layers_exec (bContext *C, wmOperator *op)
PointerRNA ptr;
int layers[32]; /* hardcoded for now - we can only have 32 armature layers, so this should be fine... */
- if(ob==NULL || ob->data==NULL) {
+ if (ELEM(NULL, ob, ob->data)) {
return OPERATOR_CANCELLED;
}
@@ -1915,6 +2208,7 @@ void ARMATURE_OT_bone_layers (wmOperatorType *ot)
}
/* ********************************************** */
+/* Flip Quats */
static int pose_flip_quats_exec (bContext *C, wmOperator *UNUSED(op))
{
@@ -1929,7 +2223,7 @@ static int pose_flip_quats_exec (bContext *C, wmOperator *UNUSED(op))
if (pchan->rotmode == ROT_MODE_QUAT) {
/* quaternions have 720 degree range */
negate_v4(pchan->quat);
-
+
/* tagging */
if (autokeyframe_cfra_can_key(scene, &ob->id)) {
ListBase dsources = {NULL, NULL};
@@ -1979,75 +2273,78 @@ void POSE_OT_quaternions_flip (wmOperatorType *ot)
}
/* ********************************************** */
+/* Clear User Transforms */
-/* context: active channel */
-#if 0
-void pose_special_editmenu(Scene *scene)
-{
- Object *obedit= scene->obedit; // XXX context
- Object *ob= OBACT;
- short nr;
-
- /* paranoia checks */
- if(!ob && !ob->pose) return;
- if(ob==obedit || (ob->mode & OB_MODE_POSE)==0) return;
-
- nr= pupmenu("Specials%t|Select Constraint Target%x1|Flip Left-Right Names%x2|Calculate Paths%x3|Clear Paths%x4|Clear User Transform %x5|Relax Pose %x6|%l|AutoName Left-Right%x7|AutoName Front-Back%x8|AutoName Top-Bottom%x9");
- if(nr==1) {
- pose_select_constraint_target(scene);
- }
- else if(nr==2) {
- pose_flip_names();
- }
- else if(nr==3) {
- pose_calculate_path(C, ob);
- }
- else if(nr==4) {
- pose_clear_paths(ob);
- }
- else if(nr==5) {
- pose_clear_user_transforms(ob);
- }
- else if(nr==6) {
- pose_relax();
- }
- else if(ELEM3(nr, 7, 8, 9)) {
- pose_autoside_names(nr-7);
- }
-}
-
-
-/* Restore selected pose-bones to 'action'-defined pose */
-static void pose_clear_user_transforms(Object *ob)
+static int pose_clear_user_transforms_exec (bContext *C, wmOperator *UNUSED(op))
{
- bArmature *arm= ob->data;
- bPoseChannel *pchan;
+ Scene *scene = CTX_data_scene(C);
+ Object *ob = CTX_data_active_object(C);
+ float cframe = (float)CFRA;
- if (ob->pose == NULL)
- return;
-
- /* if the object has an action, restore pose to the pose defined by the action by clearing pose on selected bones */
- if (ob->action) {
- /* find selected bones */
- for (pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next) {
- if (pchan->bone && (pchan->bone->flag & BONE_SELECTED) && (pchan->bone->layer & arm->layer)) {
- /* just clear the BONE_UNKEYED flag, allowing this bone to get overwritten by actions again */
- pchan->bone->flag &= ~BONE_UNKEYED;
- }
+ if ((ob->adt) && (ob->adt->action)) {
+ /* XXX: this is just like this to avoid contaminating anything else;
+ * just pose values should change, so this should be fine
+ */
+ bPose *dummyPose = NULL;
+ Object workob = {{0}};
+ bPoseChannel *pchan;
+
+ /* execute animation step for current frame using a dummy copy of the pose */
+ copy_pose(&dummyPose, ob->pose, 0);
+
+ BLI_strncpy(workob.id.name, "OB<ClearTfmWorkOb>", sizeof(workob.id.name));
+ workob.type = OB_ARMATURE;
+ workob.data = ob->data;
+ workob.adt = ob->adt;
+ workob.pose = dummyPose;
+
+ BKE_animsys_evaluate_animdata(scene, &workob.id, workob.adt, cframe, ADT_RECALC_ANIM);
+
+ /* copy back values, but on selected bones only */
+ for (pchan = dummyPose->chanbase.first; pchan; pchan = pchan->next) {
+ pose_bone_do_paste(ob, pchan, 1, 0);
}
- /* clear pose locking flag
- * - this will only clear the user-defined pose in the selected bones, where BONE_UNKEYED has been cleared
- */
- ob->pose->flag |= POSE_DO_UNLOCK;
+ /* free temp data - free manually as was copied without constraints */
+ if (dummyPose) {
+ for (pchan= dummyPose->chanbase.first; pchan; pchan= pchan->next) {
+ if (pchan->prop) {
+ IDP_FreeProperty(pchan->prop);
+ MEM_freeN(pchan->prop);
+ }
+ }
+
+ /* was copied without constraints */
+ BLI_freelistN(&dummyPose->chanbase);
+ MEM_freeN(dummyPose);
+ }
}
else {
- /* no action, so restore entire pose to rest pose (cannot restore only selected bones) */
+ /* no animation, so just reset whole pose to rest pose
+ * (cannot just restore for selected though)
+ */
rest_pose(ob->pose);
}
+ /* notifiers and updates */
DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
- BIF_undo_push("Clear User Transform");
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+
+ return OPERATOR_FINISHED;
+}
+
+void POSE_OT_user_transforms_clear (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "Clear User Transforms";
+ ot->idname= "POSE_OT_user_transforms_clear";
+ ot->description= "Reset pose on selected bones to keyframed state";
+
+ /* callbacks */
+ ot->exec= pose_clear_user_transforms_exec;
+ ot->poll= ED_operator_posemode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
-#endif
diff --git a/source/blender/editors/curve/CMakeLists.txt b/source/blender/editors/curve/CMakeLists.txt
index dfc7e336e84..9bad02eca1f 100644
--- a/source/blender/editors/curve/CMakeLists.txt
+++ b/source/blender/editors/curve/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/curve/editcurve.c b/source/blender/editors/curve/editcurve.c
index 99aebfffaee..210f36ca074 100644
--- a/source/blender/editors/curve/editcurve.c
+++ b/source/blender/editors/curve/editcurve.c
@@ -3432,7 +3432,6 @@ static int convertspline(short type, Nurb *nu)
nu->type = CU_NURBS;
nu->orderu= 4;
nu->flagu &= CU_NURB_CYCLIC; /* disable all flags except for cyclic */
- nu->flagu |= CU_NURB_BEZIER;
nurbs_knot_calc_u(nu);
a= nu->pntsu*nu->pntsv;
bp= nu->bp;
@@ -3535,6 +3534,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);
@@ -6539,12 +6543,15 @@ Nurb *add_nurbs_primitive(bContext *C, float mat[4][4], int type, int newob)
BLI_assert(!"invalid nurbs type");
return NULL;
}
-
- /* always do: */
- nu->flag |= CU_SMOOTH;
-
- test2DNurb(nu);
-
+
+ BLI_assert(nu != NULL);
+
+ if(nu) { /* should always be set */
+ nu->flag |= CU_SMOOTH;
+
+ test2DNurb(nu);
+ }
+
return nu;
}
diff --git a/source/blender/editors/curve/editfont.c b/source/blender/editors/curve/editfont.c
index 649ff9e953a..6c95df53d39 100644
--- a/source/blender/editors/curve/editfont.c
+++ b/source/blender/editors/curve/editfont.c
@@ -1649,10 +1649,10 @@ static int open_exec(bContext *C, wmOperator *op)
VFont *font;
PropertyPointerRNA *pprop;
PointerRNA idptr;
- char str[FILE_MAX];
- RNA_string_get(op->ptr, "filepath", str);
+ char filepath[FILE_MAX];
+ RNA_string_get(op->ptr, "filepath", filepath);
- font = load_vfont(str);
+ font= load_vfont(filepath);
if(!font) {
if(op->customdata) MEM_freeN(op->customdata);
diff --git a/source/blender/editors/datafiles/CMakeLists.txt b/source/blender/editors/datafiles/CMakeLists.txt
index ae86905a91d..17e3a868a8c 100644
--- a/source/blender/editors/datafiles/CMakeLists.txt
+++ b/source/blender/editors/datafiles/CMakeLists.txt
@@ -27,50 +27,61 @@ set(INC_SYS
)
+# blender and player
set(SRC
Bfont.c
bfont.ttf.c
- bmonofont.ttf.c
- startup.blend.c
- preview.blend.c
)
-if(NOT WITH_HEADLESS)
+if(WITH_BLENDER)
+ # blender only
list(APPEND SRC
- 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
+ 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/blenderbuttons.c b/source/blender/editors/datafiles/blenderbuttons.c
index 7525015bca9..b2b2612cd4a 100644
--- a/source/blender/editors/datafiles/blenderbuttons.c
+++ b/source/blender/editors/datafiles/blenderbuttons.c
@@ -1,6582 +1,6736 @@
-/** \file blender/editors/datafiles/blenderbuttons.c
- * \ingroup eddatafiles
- */
/* DataToC output of file <blenderbuttons> */
-int datatoc_blenderbuttons_size= 210335;
+int datatoc_blenderbuttons_size= 215334;
char datatoc_blenderbuttons[]= {
-137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 2, 90, 0, 0, 2,128, 8, 6, 0, 0, 0, 68,254,
-214,163, 0, 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0,
- 0,120,218,157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38,
- 42, 33, 9, 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216,
- 7,228, 33,162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192,
- 8, 12,150, 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,
-115,253, 35, 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,
-153, 92, 1,128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4,
- 0, 96,203, 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32,
- 19,101,136, 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,
-176,183, 0,192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,
-242, 87, 60,241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73,
- 23, 43, 20, 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,
-206, 14,174,206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254,
- 44, 47,179, 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,
-112,248,126, 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,
-126, 60,252,247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,
-252,183, 11,255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197,
- 37,210,255,100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,
-247, 0, 0,242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0,
- 94, 68, 36, 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252,
- 96, 54,132, 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,
-192, 81,104,134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,
-136, 1, 98,138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138,
- 84, 32, 85, 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,
-181, 67,185,168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,
-218,143, 62, 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,
-176, 86,172, 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,
-168, 32, 28, 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72,
- 44, 35,214, 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110,
- 82, 35,233, 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,
-228, 33,242, 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154,
- 82,221,168,161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,
-211, 26,104, 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134,
- 21,131,199,136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153,
- 15,153,111, 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,
-203, 84,143,169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,
-103,168,111, 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44,
- 33,107, 13,171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,
-179, 82,243,148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,
-185, 49,101, 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,
-199, 74, 39, 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187,
- 68,119,191,110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12,
- 88, 6,179, 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,
-225,132,145,185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234,
- 77,238,154, 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,
-155,223,183, 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,
-179, 70,173,157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,
-216, 6,219,174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,
-171, 29, 90, 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,
-182, 19,203, 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,
-200,189,228, 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159,
- 41,158, 89, 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99,
- 47,145, 87,173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,
-183,200,183,203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91,
- 2,251,248,122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,
-200,236,144,173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,
-134, 63,142,112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53,
- 42, 62,170, 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,
-190,223,252,237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150,
- 64, 76,136, 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216,
- 67, 92, 42, 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,
-155, 58,158, 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,
-101,133,178,254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,
-103,101, 87,102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,
-165,134, 75, 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,
-213, 79,171,237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,
-237, 93, 79, 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,
-202,191,153,220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,
-180, 13,223, 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63,
- 84,164, 84,244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,
-190,219, 85, 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,
-210, 3,253, 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54,
- 13, 85,141,156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29,
- 47,106, 66,154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,
-121, 74,243, 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,
-106, 15,111,239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58,
- 95,109,234,116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,
-221,244,189,121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,
-119, 39,238,173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220,
- 71,247, 6,133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,
-167, 67,207,100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,
-124,165,253,234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15,
- 79,228,124, 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0,
- 6, 98, 75, 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 13,215, 0, 0, 13,215, 1,
- 66, 40,155,120, 0, 0, 0, 7,116, 73, 77, 69, 7,219, 2, 27, 16, 38, 47, 61,220,216,191, 0, 0, 32, 0, 73, 68, 65, 84,120,
-218,236, 93,119,120, 20,213,226, 61, 51, 59,179,187,217,146, 77, 35, 61,144, 66, 9, 96, 0, 67, 81,130, 84, 65, 80,140,138, 10,
- 86,132,167,207,103,197,134, 5, 84, 68, 68, 32, 54, 64,240, 39,242,208,167,128,160,128, 5, 4,164, 68, 74,232, 29,233, 9,144,
- 4, 18, 66, 58,201, 38,219,203,220,223, 31,217, 89, 55,203,182, 64, 98,129,123,190,111,190,221,157,157, 57,115,239,157,123,239,
-156, 57,183, 1, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,215, 52, 86,175, 94, 77,154,112,248,144,
- 64, 57, 29,219,128,191, 59,103, 11,198,157, 52, 35,231, 0, 7,231,187,255,144,112, 14,248,187,114,138,241,109, 2,239,144,166,
-228,163,230, 74, 79,151,112,146,230, 14,103, 75,113, 54, 87, 57,242, 16, 78,210, 2,247,253,221,127, 72, 56, 7,252,221, 56,221,
-243, 79,128,188, 77,226, 12, 48, 79, 53, 53,156,164,185,195,217, 82,156, 87, 91,142,124,132,147, 92,109, 94,242,114,239,223,197,
-117, 4,174, 5, 69, 86,192,200,204,204,100, 92,248,153,191, 43,167,107, 58,136,252,205, 25,214,102,196,150,230,230,116, 75,207,
-230,194,187,153,153,153,204,234,213,171,183, 2, 24,208,156,113,111,142,251,238, 22,215,102,225,189, 2,145,213, 36,206,230,202,
-247, 45,205,217, 92,101,201,157,179, 57,242,189,167,251,222,130,247,168,185,194,217, 44,101,169, 37,242,188,135,252,115,213,188,
-238,156,205, 81,150,220, 57,155, 35,223,255, 25,156,205, 81,150, 60,113, 54, 71,190,247,118,239,175, 55,131,138,253,139, 5,129,
-123, 1, 31,248,119, 22, 68, 45, 37, 54,155,224,192,252,229,156,205,124,143,222,117,112, 54,231,219,205,192,230,186, 71, 45,145,
-223, 93, 57,155,139,223,157,167, 57,238,147, 39,206,171, 13,175,151,112, 54,123,220,175, 54,223,255, 89,156,205,124,143,154,165,
- 44,185,113, 14,108,230,151,129,129, 46,191,223,109, 78,206,230, 42, 75, 30,194,121,213,247,201, 19,231,213,134,215, 75, 56,155,
- 61,238,205,241, 12,105, 41,222,107, 26, 45,213,124,214,220,156, 77,228,190,166, 56,155,216, 60, 51,164, 5,238,253, 95, 26,206,
-230,228,116, 15, 99,115, 54,247,180,100, 56,155,147,179, 9, 97,189,230, 56,255,105,247,253,239,152,158,222,248,174,166, 89,202,
-155, 59,218, 18,225,108, 78,206, 0,185,175, 9,206,171,184,247,215, 28,184,191, 75, 64,196,132,111,230, 55, 19, 52,179, 3,211,
-146,194,181, 57,195, 57,176, 37, 28,194, 22, 64,179,135,211,241,166, 60,185, 5,226,254, 79, 73, 83, 90,150,104, 89,250,219,149,
- 37,183, 60, 57,176, 25,157,162,102,117,158,221, 57,155,227, 26,174, 28,205,149, 71, 91, 58,238,205, 89,150, 90,226,222, 83, 92,
-133, 11, 65, 57, 41, 39,229,164,156,148,147,114, 82,206,235,150,243,154, 4, 75,147,128,130,130,130,130,130,130,130,130,130,130,
-130,130,130,130,130,130,226, 31, 5,175,237,187,113,113,113,171,149, 74,101, 59,111,255,235,116,186,139, 23, 47, 94, 28, 68,147,
-240,175, 3,189, 71, 20,255, 32,176,248,195, 65, 23, 0, 16,199, 70, 65, 65, 65,113, 77,195,107,103,120,185, 92,158,114,242,228,
-201, 14,130, 32,192,110,183,195,102,179, 57, 63,205,102, 51,250,247,239,223,228,142,244,209,209,209, 57, 18,137, 36,169, 41,231,
-216,237,246,243,101,101,101,125,125, 28,178, 19, 64, 10,195,252,161, 25,197,239,222, 62, 1,148, 88,173,214,238,190, 56, 25,134,
- 73,113,231,243,194, 37,126,247,201, 25, 18, 18,178,159,227,184, 4, 79, 92,222,190, 11,130,144, 95, 81, 81,209,231,207,188, 71,
-215, 51,162,163,163,115, 56,142,107,114,254, 44, 45, 45,245,154, 63, 99, 99, 99, 15,177, 44, 27,215, 4, 74,137, 32, 8,185, 23,
- 47, 94,236,235, 67,136,236, 4,144,226,243, 13,202, 45, 63, 49, 12, 83,108,183,219,123,250, 43, 71,190,184, 60,228, 81,127,156,
- 78,145,197,113, 92, 86, 84, 84,212, 51,122,189,222, 8,128, 72, 36, 18,226, 18, 54, 0,128,205,102,171,168,169,169,233, 66,115,
- 34, 5, 5,197,117, 33,180, 4, 65, 96, 77, 38, 19,242,242,242, 64,136,199,250,222,126, 5,215,235,112,224,183,141, 81,193, 81,
-209,176, 89, 44, 80,181,138,116,114,151,157, 56, 6,155,213, 2,155,217,140, 54,189,122,139, 97, 64,231,206,157, 37,126, 56, 19,
- 62,248,224,131,168,224,224, 96, 24,141, 70, 24,141, 70,152, 76, 38, 24,141, 70,152,205,102,152,205,102, 88, 44, 22, 88, 44, 22,
-216,108, 54,152, 76, 38,100,103,103,219,173, 86,171, 79,206,105,211,166, 69,105, 52, 26, 39,159,184,137,156, 34,175,213,106,133,
-209,104,196,166, 77,155,124,114,114, 28,151, 80, 82, 82, 18, 37,149, 74, 65, 8,129, 32, 8, 32,132, 52,218,220,209,182,109, 91,
-139,175, 64,182,208, 61,186,158,209, 97,218,210, 53, 81, 33, 10, 57,108,130,128,204,110,109,157,127,228,127,185, 28,196,102,135,
- 96,179,161,253,243,163,157,251, 59,117,234,228, 51,127, 18, 66, 18,167, 45, 93, 19, 26, 40,103, 85, 85,149,161, 99,199,142, 37,
-104,112,155,189, 9,173, 4,131,193, 16,229,224,191, 76, 16,177, 44,219,104, 91,191,126, 61, 50, 51, 51,253,197, 61,225,229,151,
- 95,142,178, 90,173, 48,155,205, 48,153, 76,176, 90,173,176,217,108,206,205,110,183, 59, 55,179,217,140, 61,123,246, 4,234,100,
-125,112,219,109,183, 61,190,102,205, 26,213,207, 63,255,172, 74, 74, 74,130, 84, 42,133, 68, 34,129, 68, 34, 1,203,178,224, 56,
- 14, 55,223,124, 51, 67,179, 32, 5, 5,197,117, 35,180, 76, 38, 83, 65,122,122, 58,113,124,143,151,203,229, 82,183,183,220,184,
-246,237,219,231,186,159,231,175,185, 42, 56, 42, 26, 19, 91,135, 3, 0,222, 57, 87,229,124, 64,124,216,231, 70,231, 49,239, 93,
-168, 5, 0, 40, 20, 10, 48,174,175,209, 94,160, 82,169,112,219,109,183, 65, 38,147,161,103,207,158,224,121,222,227, 38,149, 74,
-193,243,188,223, 68, 97, 24, 6,106,181, 26, 83,166, 76, 17, 69, 18, 84, 65,114,140,235,211, 19, 65, 32,248,239,177,211, 48, 11,
- 4, 28,199, 57,183, 64, 56,165, 82, 41,142, 30, 61, 10,142,227, 32,145, 72,156,159,226,247, 85,171, 86, 97,228,200,145,224, 56,
- 14, 10,133, 2,240, 51,115,176,235, 61, 50,155,205,177, 50,153,204, 2, 64, 20,103, 82,134, 97, 98,174,228, 30, 93,207, 8, 81,
-200, 49,102,222, 79, 0,128,162, 89,207, 59,239,221,158,103,223,113, 30,147,248,159, 7,192, 48, 12,120,158, 7,203,178,205,198,
- 89, 93, 93,109,120,232,161,135,182, 7, 7, 7,175,215,106,181,240, 35,224, 80, 84, 84, 4,142,227,188,230,119,150,101, 49,115,
-230, 76,156, 57,115, 38,160,184, 27,141, 70, 44, 88,176, 0,118,187,189, 17,175,248,221,125, 95,128, 34,235,253,161, 67,135,142,
- 94,179,102, 77, 24,195, 48,248,236,179,207, 32,149, 74, 49,124,248,112, 68, 68, 68, 96,195,134, 13,144, 74,165,120,253,245,215,
-105,230,163,160,160,240, 85,231,241, 0,110, 4, 16,233, 48, 17,234, 0,132,186, 28, 82,225,248,140, 20,127, 51, 12,179,207, 3,
- 79, 47,199, 49, 21, 12,195,236,115,249,109, 6, 32,243,176,191, 10,128,194,177,153,208,224,254,167,185, 92, 71, 60, 15,222,174,
-203, 1, 13,235, 15, 1,216, 2, 96, 96,102,102,230, 86, 0, 40, 45, 45,189,163,180,180, 20, 0,144,146,146,114, 50, 55, 55,183,
-163,168,121, 28,205, 83, 82,155,205,214, 65,108,170, 18,221,162, 33, 67,134,248,124,195,183, 89, 44,151, 9, 16, 79, 90,202, 83,
-115,133, 55, 1, 99,177, 88,240,192, 3, 15, 0,128,215,135,142,235, 22,128,118,131,217,108, 6,199,113, 72,109, 29,137, 73,195,
-210,113, 19,177, 66, 87,207,192, 86,171,195, 61,106, 43, 78,118,238,142,249,231, 43,112, 78, 91, 15,142,227, 2,226, 20, 4,193,
-171,200,146, 72, 36,152, 55,111, 30, 30,122,232, 33, 72, 36,146,128,248, 92,239, 81,114,114,242,154,220,220,220, 8,134, 97, 76,
-142,123, 36,183,217,108, 26,155,205, 22, 97,183,219, 35,154,114,143,174,103,216, 4,193, 99, 62,244,150,103, 3,185, 79,129,112,
- 86, 87, 87, 27, 50, 51, 51,119,203,229,242,133,209,209,209, 37,197,197,197,126,133,150,187,248,113,127,169,248,228,147, 79, 48,
-103,206, 28, 12, 26, 52, 40,160,112,154, 76, 38, 48, 12,131,249,243,231, 95,246,223,212,169, 83, 47,187,158, 31, 78, 6, 0, 27,
- 23, 23,247,236,186,117,235, 52,226,177,173, 90,181, 2,207,243,232,210,165, 11,130,131,131,177,125,251,118,216,237,246,128,203,
- 37, 5, 5,197,181, 11, 79, 90,196, 5,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,202, 48,204,106,
-151, 58, 49,211, 81,191,174, 22,127, 19, 66,122,185,138, 30,135, 88,139,100, 24,102,181,120,188,235,111,241,147, 16, 50, 4,128,
- 76,252, 61,113,226,196,180,172,172,172,233, 19, 38, 76,120,115,198,140, 25,210,137, 19, 39,118,205,202,202,154, 46, 94,199, 83,
- 56, 60, 57, 90, 62,215,158, 18,155,168, 78,157, 58,229,173,137,202,245, 1,224,179,182, 84,181,138,116, 58, 89,239, 37, 70, 56,
-247, 79, 41,174,113, 62,192,230,246,104, 7,149, 74,133, 97,239,125, 20,144, 83,100, 54,155, 81, 94, 94,238,116, 25,252,109,129,
-114, 42, 21, 65,200,126,185, 11,138,170,100,120,119, 87, 53,214, 28, 62, 3,158,231,113,123,231, 46,184, 67, 26,140,183, 19,101,
-120,249,116, 33,172, 36,176, 62,189,132, 16,143, 2, 75,252, 46, 54,161, 4, 42,180,220,238, 81,145,209,104,172,202,203,203, 51,
- 8, 13, 15,118, 5, 33, 36,140, 97,152, 58,135,203, 21, 27,232, 61,186,158,145,217,173,173,211,117,218, 19, 60,216,185,127,164,
-238,168,243,158,140,159,247, 33, 0, 96, 80,247,155,253,150,135, 64, 56,171,170,170, 12,125, 7, 15,220,106, 55,152,191, 25, 61,
-122,116,193,230,205,155, 21,129,132,213,147,208, 18, 93, 91, 81,100,113, 28, 7,179,217, 28, 80,220,205,102,179,215,242, 33,149,
- 74,175,196,209,130, 78,167, 51,175, 92,185, 18,115,231,206, 69, 68, 68, 4,134, 14, 29,138,216,216, 88, 44, 95,190, 28,132, 16,
- 60,255,252,243, 80, 40, 20,162,123, 77, 51, 32, 5,197,245, 13, 95, 90, 68,158,149,149, 53,221, 93,200,184,254,118, 21, 80,110,
- 98,202, 85,172,165,249,121,254,175,118, 23, 79,226,117, 25,134, 89, 61, 99,198,140, 76, 63,225,168,240, 38,180,124, 78,137,111,
- 50,153, 10,186,117,235, 22,144,154,208,235,245,165,254,196,134,167,183,122, 87,151, 64,173, 86, 67,165, 81,131, 13,176,222,181,
- 90,173, 78,161,178,113,227, 70, 40, 20, 10, 12, 31, 62,252,170, 28, 45,139,197, 2,153,148, 7,219, 42, 26, 99,102,109, 70, 85,
-157,193,249,128,217,146, 95,128,131,101,229,120, 57, 99, 48, 84,138,114,212,155,205, 1, 57,111,130, 32, 92, 38,178, 56,142,195,
- 3, 15, 60,224,116, 19, 92,251,173,192, 71,211, 97, 68, 68,196,126,142,227, 18, 92,238, 81, 80, 74, 74, 10,240, 71,191, 30, 70,
- 16,132,250,208,208,208, 31, 1,196, 17, 66, 18, 0, 4, 7,114,143, 40, 60,231, 79,247,253,130,155, 83,117, 37,156, 85, 85, 85,
-134,204,204,204,221,118,131,249,155, 11, 23, 46,236, 6, 16,116,211, 77, 55, 53, 89,104,137, 2,139,231,121,204,156, 57, 19,115,
-230,204,113,254, 31,168,208,178,217,108,141, 4,212,233,211,167, 27, 93,203, 93,216,249,105, 54, 37,104, 24, 93, 40,164,164,164,
- 56,207,137,137,137, 65,104,104, 40, 4, 65,128, 32, 8, 8, 10, 10,130, 66,161,128, 84, 42,165,153,142,130,130,194,151, 22, 49,
- 76,152, 48,225, 77,134, 97, 86, 59,156,165, 99, 62, 4,149, 39,237,209,203, 77,172, 85,120, 57, 46,211,147,216,114,253, 46, 98,
-226,196,137,105,238,225,240,212, 92,233,172, 85,221,166,221,111, 4,215, 38,170,230,122,136,249,122,144,169, 67, 53, 80,168, 84,
-144, 72, 88, 48, 12, 67,252,113, 89, 44, 22,103,197,255,204, 51,207,248,236,183, 18,104,127, 42,139,197, 2,150,147,224, 98, 76,
- 50,236,236, 54,231,185,226,198,114, 60,206,197,116,132,228,212, 33,240, 1, 62,112,221, 29,173,231,159,127, 30, 11, 22, 44, 0,
-203,178,206, 52,225, 56, 14,237,219,183, 71, 65, 65,129, 79, 46,142,227, 18,206,157, 59, 23,229,154,142,162,136, 37,132,192,110,
-183,163,109,219,182,198,188,188,188, 23,105,209,189, 58,145,229,109,191,221, 46, 4,236,194,120, 58,174,170,170,202, 48,106,212,
-168,173,181,181,181,223,220,112,195, 13,167,209,120, 10, 4,191,124, 28,199, 53, 18, 88,162,200,250,244,211, 79, 27,137, 34,171,
-213, 26,208,139,128,213,106,189, 76,240,124,252,241,199,141, 62, 1,160, 79,159, 62, 1, 57,195, 0, 8,203,178, 68, 42,149,226,
-182,219,110, 67,215,174, 93,241,243,207, 63, 67, 16, 4, 60,247,220,115, 80, 40, 20,152, 61,123, 54,108, 54, 27, 62,248,224, 3,
-234,104, 81, 80, 80,248,210, 34,166, 25, 51,102, 28,155, 49, 99,134,211, 89,114,119,180,188, 60,119,239,116,136,170, 72, 81,164,
- 1, 48,121, 18, 68,158, 92, 50,119, 1,230,186, 47, 43, 43,107,186,123, 56,220,155, 43, 27, 9,173, 63, 11,165,199,143,226,163,
- 91,210, 1, 52,110, 46,156,119,115, 71,168,212, 42,168,130,213, 24,181,106, 27, 0, 56, 42,253, 9, 1, 57, 90,162,208,170,170,
-170,242, 41,178,154,226,104,177, 50, 14, 43, 18, 46,129,200,120,112,102,107, 35,161, 37,225,120, 20, 69, 36,131,229,165,224,236,
-182,128, 56, 9, 33,151, 53, 21,142, 29, 59, 22, 12,195, 56, 71,136,117,235,214,205,149,139,241,247,112,124, 45,188,161, 15,158,
-123,115,236, 7,149, 70, 90, 98,175, 36,127,238,255, 18, 39,127,120, 22, 0,208, 87,167,115,222,139,105,221,254, 24, 59, 48,235,
-232, 86,167,251,248, 30, 94,189, 34,206,170,170, 42,195, 77,157,210,118, 75,195, 67,190, 57,127,254,252,110, 0,236,131, 15, 62,
- 24,218,173, 91,183,128,202,164, 56,184,194, 93,100,185, 58, 89,226,167,159, 17,182, 46,194,209, 30,144,128, 18,155, 17, 3,200,
-243, 68,204,219, 26,141, 6,106,181,218, 57,226, 54, 40, 40, 8, 74,165,210,217,191, 51, 64,225, 70, 65, 65,113,253, 34, 76, 20,
- 58, 14,177,212,200,105,114,244,173,202,116,253,237,201,241,114, 56, 80, 57,126,234,215, 53, 14,129,230, 17,162,179,230,118,206,
-106,111, 34,141, 19, 21,164,235,103, 76, 76,204,175,106,181, 58, 57,208,216, 55,101, 20,155,221,106,185,204,217, 98, 24, 6,234,
- 96, 53, 20,106, 21, 20,193,106,175,174,151, 47,161, 37, 58, 69,226, 67,103,225,194,133, 80,171,213,248,215,191,254,213,228, 62,
- 90, 78,161, 37,101,177, 65,190, 9, 18, 25,215, 72,100,113, 28, 7, 9,207,163, 84, 29, 11,150,231,193,217, 2,115,201,106,107,
-107,193,113, 28, 38, 77,154,228,124,131,119, 21, 89, 77,137,179, 47,176, 12, 35,186, 91,242,118,237,218,189,202, 48, 76, 34,128,
- 36,157, 78, 39,191,120,241,226,173,180,188,250, 80, 6,118,235,101, 46,148, 55,247,245, 74, 57, 69, 39, 75, 26, 30,242, 77,199,
-142, 29,157, 78,150, 82,169, 20, 71,155,250,191,199, 44,235, 81,100,185,143, 16,228, 56,174, 33, 47,251, 25, 29,233,234,104,205,
-152, 49,195,201,235,234,100,137,104, 74, 57, 18,195,186,117,235, 86, 28, 60,120, 16,207, 60,243, 12, 20, 10, 5,230,204,153, 3,
-155,205,134,169, 83,167, 66,161, 80, 64, 38,147,209,204, 71, 65, 65,221,172, 70, 90,196, 13, 21,110,253,160, 24, 55, 81, 83,225,
- 73, 96,185, 54, 19,138,223, 25,134,177,122,224, 53,187, 53, 41,186,239, 23, 63,171,102,204,152,177, 89,116,178, 92,246, 55, 10,
-135, 95, 71, 75, 46,151, 39,231,229,229, 57, 39,194,244,245,105, 54,155, 49,104,208,160,128,157, 49,113,212, 33,199, 73, 26, 9,
- 11,101,176, 26, 74, 77, 48, 20,106,181,187,224, 96,252, 85,226,226, 27,177,171,208,154, 60,121, 50, 56,142,195,130, 5, 11, 0,
- 0,175,190,250,106,192,125,180, 68, 78,216, 25, 20,147,179, 72,159, 53, 18,230,111,173, 40,219,241, 59, 56,142, 67, 84,239, 59,
- 32,220, 52, 18,122,133, 26,156,221, 22,240,168,195,234,234,106, 20, 20, 20, 64, 34,145,224,149, 87, 94,105, 52,215,145,251, 72,
-182,141, 27, 55,250,141,187, 39, 39,107,242,249,106, 39,143, 66,161, 96,127,255,253,247,100, 65, 16, 82, 12, 6, 67,187, 62,125,
-250, 8,180, 40,251, 17, 69,130, 45, 32, 81, 21,104,254,116,231, 20,251,100,213,214,214,126,115,254,252,249, 61, 0,216,209,163,
- 71,135, 42,149, 74,124,245,213, 87,122, 0,178,229,203,151, 43,252,137, 34, 49,223,248, 19, 89, 60,207, 55,228,229, 64,226, 78,
- 26, 79, 89,226,175, 99,124, 32,121, 94, 12, 43,195, 48,176,219,237, 80, 40, 20,141,156,172,160,160, 32,200,229,114,154,241, 40,
- 40, 40,252,213, 37,251, 2,174,199, 9,233,229, 34,170,246, 93, 9,111, 83,174,231, 15,156, 55,161, 97, 50,153,112,226,196,137,
- 64,121, 2,158, 24,179,117,207,155,241,222,133, 90, 48, 12,131,255,246,185, 1, 42,141, 26, 74,149, 10,247,255,188,213, 89,113,
- 31,157,254, 42,228, 42, 53,226,250, 13, 13,168, 34, 23,155, 14, 93,133, 86, 77, 77, 13,120,158,199,251,239,191, 15,150,101,241,
-193, 7, 31, 32, 62, 62, 30, 23, 47, 94,196,242,229,203, 3,114,180, 36,118, 9, 98, 31,235, 4,229,216, 16,104, 30,235,143,176,
-219, 38,227,130,153,195, 78,163, 18,253,141,199, 33,219,240, 41,204,130, 61,224, 17, 88, 54,155, 13, 91,183,110,117,239,240,238,
-236, 83,101,179,217, 96,181, 90, 97,177, 88,240,193, 7, 31, 4, 50,194,243,178,251, 38,166,161, 99, 18, 84, 73,110,110,110, 36,
- 33, 36, 28, 64, 8,128, 74, 90, 92,125, 35,182,247,243,136,236,249, 52, 0, 96,213,140, 39,156,251, 39, 29,253, 35,127,206,252,
-182, 97, 1,128,142, 73, 67,155,196, 89, 85, 85,101,184,125, 80,159, 28,163,192,127,221,165, 75,151, 70, 78, 86, 80, 80, 16,227,
-248, 29,144, 93,198,178, 44, 36, 18,201,101,205,133,222,196, 86, 32,125,180,108, 54,155,115, 34, 81, 95,253, 25,175,196,209,122,
-226,137, 39, 16, 27, 27,235,116,178,222,123,239, 61, 40, 20, 10, 76,156, 56, 17, 86,171, 21,159,126,250, 41,205,124, 20, 20, 20,
-127,186, 40,251, 51,224,177, 38, 53, 26,141,133, 93,187,118,133,151,255,226,131,130,130,120,183, 72,197,181,111,223, 62,215, 67,
- 19,226, 16, 0,217,158, 42,117,134, 97, 16,172, 9, 70,144, 90, 5,165,155,139, 21, 20,172,129, 92,173, 6, 43,245, 88,153, 95,
-198, 41,246, 45,113, 21, 90,226, 86, 91, 91, 11,158,231, 49,119,238, 92,104, 52, 26,152, 76, 38,191,156,226, 67, 71, 34,145, 64,
- 95, 84,135,147,211,179, 33, 11,218,137,118, 67, 31, 66, 44,175,128,116,251,143, 48,216,173,254, 38, 44,189,140,179, 67,135, 14,
-120,231,157,119, 46,155,214,193, 27,226,227,227,253,198,221,221,201,154,121, 67, 27, 72,101, 82,140, 63, 94, 4,147,201,196, 60,
-244,208, 67, 2, 0, 3,128, 10,131,193,112, 62,144,244,108, 6,252,227, 57,125,141,138, 21, 33, 16,187, 39, 1,227,145, 83,116,
-178,140, 2,255,117, 65, 65,129,232,100,133, 40,149, 74,124,241,197, 23,122, 0,236,212,169, 83,149,137,137,137,146, 64,242,146,
- 68, 34,193,172, 89,179, 60,246,201,242, 36,186,154, 82,142, 92,207, 29, 48, 96,128,199, 9, 75,189,136,183,203, 56,197,176, 70,
- 68, 68, 56,157, 44,187,221,238, 28,109, 40,206, 62,239,227,165,130,230, 79,202, 73, 57,175, 31,206,107, 18, 30,107,224,139, 23,
- 47,222,238,237,132,182,109,219,230,229,229,229,181, 23,151,226,112, 84,156, 82,163,209,216,161, 79,159, 62,126,173, 29, 65, 16,
- 32,151,203, 65, 8,193,173,239,100,129, 97, 1, 22,141, 31, 98, 81,183, 12,134, 68,194, 65,104, 88,234,195,239,168, 67,131,193,
-208,232,225,224,105,171,175,175,135,201,100, 10,120, 54,111,163,209,216,104, 10, 6,134, 8, 56,247,219,178,203, 70, 31,138, 91,
-160,253,118,130,130,130, 26, 53,253,248,113,172,152, 64, 28, 45,215,166, 71,169, 76, 10, 78,202,139,142, 86,221,233,211,167, 71,
-209,108, 30, 56,196, 1, 11, 0,144,218,103, 56, 4,193, 14, 98,183, 55, 90, 38,169, 83,242,237, 16,136, 29, 22,171, 30, 38,147,
-201,223,180, 39, 76,101,101,165, 97,212,168, 81, 91, 1,252,239,158,123,238,201, 69,195,236,194, 68,173, 86,203,121,158, 23, 0,
- 84, 3, 32,151, 46, 93, 10,185,112,225,130, 96, 52, 26,219,248, 11,231,154, 53,107,112,226,196, 9,244,235,215,175,209,114, 80,
-162, 43,234, 58,187,123, 32,249, 83,108, 46,247, 52, 35,188, 55, 33, 23, 40, 36, 18, 9, 66, 66, 66, 32,149, 74,241,254,251,239,
- 67, 42,149, 66,169, 84, 2, 0, 62,253,244, 83,231,228,171, 20, 20, 20, 20,215,141,208,242, 87,111,250,104, 86,244,217,132,104,
-179,217,138, 19, 19, 19,155,116, 49,187,221, 94,230, 71,184, 21, 47, 95,190, 92,234,234, 66,248,251, 36,132,148,249,121,216, 22,
-175, 90,181, 74,234,201,221,240,182,192,180, 63, 78,187,221, 94,156,148,148,228,213, 49,241, 4,171,213,122,193,159,104,205,170,
- 48, 52, 18, 9,227,143, 23,121, 93, 59,145,194,111, 94,243,145, 63,223,186,210,252,121, 58, 53, 53,245, 66,104,104,232,218,232,
-232,232,170, 29, 59,118, 68,244,234,213, 43,194,245,152, 94,189,122,197,186,157,102,134,247,117, 14,193, 48, 76,241, 61,247,220,
-227, 49,207,139,162,201, 67,254, 44,246,151,231,247,238,221, 43,117, 61,223, 27,191, 75, 57, 42, 14, 64,184,158, 75, 79, 79,103,
- 93,121,188,229,125,171,213, 90, 65,115, 33, 5, 5,197,117, 47,180, 12, 6, 67, 81,215,174, 93,109, 94,254, 59,239,235,220,170,
-170,170,158,205, 29, 1,171,213,218,231,159,192, 89, 89, 89,217,172,113,183,217,108,197,142, 9, 74,125, 30, 67,179,248, 95,119,
-143, 0,160,188,188,252, 38, 0,208,233,116,240,183,172, 78, 19, 4, 97,179,231, 79,155,205,214,167, 37,210,180,186,186, 58,131,
-230, 44, 10, 10, 10, 42,180,154, 0,186, 24,241,223, 3, 45, 33, 90, 41, 40, 40, 40, 40, 40, 40,154, 23, 44, 77, 2, 10, 10, 10,
- 10, 10, 10, 10,138,150, 1,131,134,145, 3,158,208,148,209, 4, 67,174,224,218,217,148,147,114, 82, 78,202, 73, 57, 41, 39,229,
-188,238, 56,253,113,211,209,140, 45, 44,192, 40, 39,229,164,156,148,147,114, 82, 78,202,121,253,113, 94,147,160, 77,135, 20, 20,
- 20, 20, 20, 20, 20, 20, 45, 4,142, 38,193, 95, 6, 9,154, 48,163,190, 63, 16, 66,194, 0,120, 91, 48,206,204, 48,204,165, 43,
-224,100, 0, 72, 29,155, 56,209,145, 21,128, 5,128,133, 97, 24,226,159,227, 93,182,164, 36, 44,141,216,249, 94,132, 97,120, 65,
-192,225, 54,109, 90, 31, 98,152, 59,204, 0,160,138,238,212, 89,173, 82, 12, 49, 89,204,201,114, 94,118,162, 70, 87,191,209, 84,
-158, 87, 72,179, 7, 5,197, 95,130,187, 0, 76, 65, 67,183,146, 25, 0,150,209, 36,161,160,104, 33,161,165, 86,171,247,179, 44,
-155,224,111,126, 30, 17,142,181,204,138, 47, 93,186,212,179, 9,215, 30,165, 86,171, 7,241, 60,127, 11, 0, 88,173,214, 29,245,
-245,245,155, 1, 44, 7, 96,187,194, 56,105, 0, 60, 0,224, 17,199,239, 37,142,202, 66,123,133,124, 93, 67, 66, 66,126,224,121,
-158, 84, 86, 86,246, 6,128,136,136,136,221, 86,171,149,209,106,181,247, 3, 56,210, 68, 62,150,231,249,153,189,123,247,238,191,
-109,219,182,255, 1,152,219, 76,247, 82,206,178,172, 71,129, 34, 8, 66,210, 21,136, 44, 41,128,144,185,115,231, 70, 44, 94,188,
- 56,189,184,184,184, 11, 0, 36, 36, 36, 28, 29, 61,122,244,161,113,227,198, 85, 17, 66,106, 25,134,177,248,226, 41, 41, 9, 75,
- 43, 47,205,127,166,172,252,196, 3, 0, 16, 19,219,101,153, 68,194, 74, 9, 57,176, 75,217,234,145, 86,237,219, 37, 61,253,221,
- 87,115,165, 73,201,173,177,105,231,193, 27,199,189,248,102,218, 5,224, 19, 42,182,254, 60, 4, 7, 7,239,103, 89, 54,193, 87,
- 25,247, 84,230,237,118,123,113,117,117,117, 79,111,156, 28,199, 37,248,170, 47, 60,237, 19, 4, 33,191,178,178,210,227, 84, 19,
- 26,141,102, 23,199,113,201,129,114,137,159, 54,155,173,216,219, 40, 93,141, 70,179, 95, 34,145, 36,248,138,167,167,255, 4, 65,
-200,175,168,168,240, 22,206,203,226,222, 28,225,188, 18, 78, 95,225, 20,235, 35, 0,159, 70, 68, 68,220, 92, 85, 85,245, 40,128,
- 55,181, 90,109, 55,137, 68,130,240,240,240, 55,205,102,243,153,144,144,144, 47,107,107,107,119, 2,120, 17, 0, 93, 47,149,130,
-162,185,160,209,104,202,234,235,235,137, 8, 65, 16,136,213,106, 37, 38,147,137, 24, 12, 6,162,211,233, 72,125,125, 61,209,106,
-181,164,182,182,150, 84, 85, 85,145,200,200, 72,247,201, 27,189,181,225,118,209,104, 52,121, 89, 89, 89,166,130,130, 2, 98,177,
- 88,136,197, 98, 33,133,133,133,228,163,143, 62, 50,105, 52,154, 60, 0, 93,188,156, 59,196, 75,101,113, 27,128,165,233,233,233,
-230, 53,107,214, 16,163,209, 72,116, 58, 29, 89,182,108, 25,185,225,134, 27,204, 0,150, 58,142, 97, 3,228, 4,128,190, 49, 49,
- 49,197,103,207,158,181,111,220,184,209, 18, 18, 18,146, 29, 18, 18,146, 93, 88, 88,104, 63,123,246,172,208,170, 85,171, 98, 0,
-125,155, 16, 78, 0, 24, 57,126,252,248,178,194,194, 66, 50, 96,192,128,195, 46,251, 25,248, 95,231,110,136, 39, 39,139, 16, 18,
- 67, 8,137, 69,195, 36,151,151,109,132,144, 88,199, 49, 97, 1,114,170,242,243,243, 91, 71, 71, 71,103, 49, 12, 99,118,231, 99,
- 24,198, 28, 29, 29,157,149,159,159,223,154, 16,162,242,197, 89,124,126,222,147,107,215, 12,174,209, 93, 58, 69,116,151, 78,145,
-255,125, 61, 80,251,212,184, 71,151,198,182,237,190, 32, 52, 33,109,238,137, 83,167,231, 19, 66,230,111,222,151, 55,127,242,231,
-191,206,191,119,220,236, 47, 34, 18,211,159,106, 66,122, 94, 13, 40, 39,128,208,208,208, 82,157, 78, 71, 8, 33,196,110,183, 19,
-139,197, 66, 76, 38, 19,209,235,245,164,190,190,158,212,213,213, 57,203,121,109,109,173,243,123, 84, 84,148,215,242, 30, 22, 22,
- 86,102, 48, 24, 26,213, 29,102,179,217, 89,127,232,245,122,162,215,235,137, 78,167,115,110,245,245,245, 36, 46, 46,174,200, 71,
- 56, 47,138,225, 20, 4,129,216,108, 54, 98,177, 88,156,188, 70,163,177,209,102, 50,153,136,201,100, 34,137,137,137, 1,135, 51,
- 16, 78,163,209, 72, 18, 18, 18, 74,188,113,134,135,135,151, 25,141,198, 70,156,174,241,119,231, 21,127,199,196,196,148, 54,133,
- 51,144,112,250, 74, 79, 7,230,230,230,230, 18,131,193, 64,226,227,227,171,238,191,255,126,171,221,110, 39,107,214,172, 33,233,
-233,233,194,192,129, 3, 45,149,149,149,228, 95,255,250, 23,241,241, 82, 72,203, 17,229,164,184, 18, 71,139, 97, 24,168, 84, 42,
-124,255,253,247, 94,151,227,112,253,222,166, 77,155, 64,175,217, 51, 57, 57,121,235,246,237,219, 21,177,177,127, 76,136,109, 54,
-155, 17, 22, 22,134,231,158,123, 78,118,215, 93,119,181, 31, 58,116,232,238,115,231,206, 13, 0,176,223, 15,223,125,145,145,145,
-159, 77,154, 52, 41,250,193, 7, 31, 68, 68, 68,163, 73,183, 49,106,212, 40,220,127,255,253,210,220,220,220,135, 22, 46, 92,248,
-208,188,121,243, 74,235,235,235,199, 1,248,209, 23,169, 66,161,184, 39, 46, 46,238,139,237,219,183, 71, 69, 69, 69, 33, 37, 37,
-133,125,253,245,215,219,119,232,208, 65,145,144,144,192, 94,188,120, 17, 63,255,252,115,252,195, 15, 63,188,162,172,172,236,105,
-139,197,178, 50,128,184,203, 34, 34, 34,222,124,250,233,167, 91,105,181, 90,219,129, 3, 7,242,196,253, 50,153,108,106, 70, 70,
- 70,175, 45, 91,182,124, 11,224,203, 43,113,178, 8, 33, 90,252,209,196, 39,194, 42,254, 31,136,179, 69, 8,145, 29, 62,124, 56,
- 60, 35, 35,227, 71,147,201,212,253,153,103,158, 57, 63,125,250,116,133, 70,163,209, 0, 96,180, 90,237,165, 41, 83,166,152,103,
-207,158,253, 70,231,206,157, 7,239,218,181,235, 62, 66,136,213, 33,200, 46,231, 99, 24,103,120,138, 46, 84, 96,235, 78, 65,246,
-206,196, 87, 19, 62,156,150,124,110,223,241, 34,129, 83,104,240, 75,206, 49,148, 85,213,227,215, 93,199, 17, 19, 17,204, 72,229,
-124, 90, 72,252, 13, 3,106, 47, 28,207,129,143, 25,210, 41,154, 7, 12,195, 64,169, 84,226,151, 95,126,185,108,233, 42, 79,203,
- 90,113, 28,135,208,208, 80,191,171, 27, 4, 5, 5, 97,227,198,141, 30,215, 94,244,180,164, 79, 72, 72, 8,124,189,108, 48, 12,
-131,160,160, 32,236,216,177, 3, 44,203,122, 92, 26,200,125,159, 74,165, 2,235, 99,173, 43,145, 51, 39, 39,199, 47,151,248,169,
- 86,171,129,134,166,127,239,133, 82, 46,199,246,237,219,189,198,217,253,187,218,177,222,171, 63,206, 29, 59,118, 52, 90,250,203,
-125, 73, 48,215,223, 42,149, 10,140, 31,210,176,176,176,222, 9, 9, 9,216,187,119, 47,150, 47, 95, 30,158,150,150,134,211,167,
- 79,131, 97, 24, 76,159, 62,157,185,225,134, 27,248,210,210, 82,244,235,215, 15, 63,253,244, 83, 31,173, 86, 75, 11, 12,197, 95,
- 2, 66, 8, 15,224, 70, 0,145,104,232,118, 83, 7, 32, 20, 13, 43,105,200, 0, 84, 1, 80, 56, 54, 19,128,122, 0,173, 28,167,
- 87, 58,234, 22, 87,129, 80,225,186,248, 52, 33,164,151,131, 91, 92,161, 34,210,229, 88,241, 26,238,191,221, 63, 61,114,115, 0,
-176,122,245,106,241, 97, 54, 48, 51, 51,115,171,107,228, 2, 17, 89,226, 58,101, 30,202,180,251, 16, 77,185, 74,165,250, 97,247,
-238,221,138,200,200, 63,226, 96, 50,153, 80, 87, 87,135,250,250,122,212,213,213, 33, 56, 56, 24,203,151, 47, 87, 12, 30, 60,248,
-135,186,186,186, 14,142, 68,243,198, 57,235,226,197,139,209, 54,155, 13, 50,153,231, 46, 74, 44,203,162, 83,167, 78,120,243,205,
- 55, 49,108,216,176,152, 65,131, 6,205,114, 19, 90,151, 13, 37, 85, 42,149, 95, 28, 56,112, 32, 74,169, 84, 34, 47, 47, 15,197,
-197,197, 24, 63,126,124,107, 65, 16, 80, 84, 84,132,211,167, 79,227,194,133, 11, 88,184,112, 97,212,136, 17, 35,190,240, 32,180,
- 60, 13, 79,125,230,229,151, 95,238, 24, 22, 22,198,126,244,209, 71, 53, 58,157,238,255, 28,251,223,153, 51,103,206, 99,253,251,
-247,143,250,247,191,255, 77,118,236,216,177,216,113,227,188,166,167,107,159, 44, 71, 51, 31, 28,153,239,164,219, 57,157, 92,254,
- 7, 33, 36, 6,128,137, 97,152, 26, 15,156, 12,128,144,161, 67,135,190, 98, 50,153,186,111,223,190,253,204, 45,183,220,146, 8,
-224,162,152,249, 66, 66, 66, 84,179,102,205,138,206,204,204,204,189,245,214, 91,187, 15, 29, 58,244,149,138,138,138,233,132,144,
- 10,151, 62, 91, 78, 78, 65,192,225,152,216, 46,203,114,118,141,123, 96,203, 14,179,244,213, 23, 39,159,111,211, 58,169,246,112,
- 94,181,253,120,126, 5,234, 12, 54,220,123,107,195, 2,230,189,187,180,193,103,223,111,199,115, 47,189,197,255,184,108,209,253,
-103, 8, 84,245, 37,199,215,248, 72,207,171, 5,229,132,179,137, 9, 60,207,227,142, 59,238, 0,195, 48,151,173,229,201,243, 60,
-118,237,218,133, 91,111,189, 21, 60,207,227,137, 39,158, 8,136,147,227, 56, 12, 29, 58,212,185,142,162, 43,159,187,104,240,162,
- 9,178,221, 42, 91,112, 28, 7,150,101,189, 46,164,237,206,233,175, 94, 18,195,233,139,203,245, 63,127,225,116, 44,121, 20,176,
-200, 10,148, 83, 12, 39,199,113,232,211,167, 15, 14, 29, 58,228, 83,116,121,209,151,141,226,126,233,210,165, 49, 29, 58,116,200,
-153, 59,119,110, 56, 0, 84, 85, 85, 57, 23,188,151, 72, 36, 56,117,234, 20,204,102, 51,222,125,247, 93,139, 86,171,253, 55, 45,
- 71,148,179, 37, 57,125,105, 17, 0,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,202, 48,204,106, 66,
- 72,166,248, 57,113,226,196,180,172,172,172,233, 19, 38, 76,120,115,198,140, 25,199, 24,134, 89, 13, 0,238,191, 29,117, 73,166,
-155,136,139, 20,121, 28,101,174,209,177,158,126,187,127,122,226,110,228,104,101,102,102, 50,142, 72, 50,174,149, 90,160, 66, 43,
-144,181,251, 56,142,123,126,250,244,233,209,190, 68, 86,125,125, 61, 74, 74, 74,144,152,152,136, 39,158,120, 34,122,238,220,185,
-207,219,108,182,143,125,208, 74, 37, 18, 9,246,238,221,139,242,242,114,116,237,218, 21,201,201,201,141, 14, 56,123,246, 44,214,
-174, 93,139,154,154, 26,244,232,209, 3,104,232,220,237, 17,221,186,117,123,183, 83,167, 78, 67, 89,150,181, 41, 20, 10, 28, 62,
-124, 24,221,187,119,199,247,223,127,143, 54,109,218, 64,169, 84, 34, 55, 55, 23, 93,187,118,197,214,173, 91, 17, 25, 25,137,244,
-244,116,155, 86,171,221, 86, 93, 93,189,249,220,185,115,239,122, 11,103,124,124,252,228,167,158,122, 74, 86, 82, 82, 34,124,243,
-205, 55,219, 1,108, 7,240,252, 91,111,189,245,248,176, 97,195,162, 14, 30, 60, 88,187,111,223,190, 61, 94, 68, 86, 32, 78,150,
-205,253,161,100,183,219, 77, 6,131,193,108, 50,153,172, 44,203, 22, 50, 12, 99,182,219,237, 29,188,153, 16, 99,199,142,109, 91,
- 89, 89,249,220, 75, 47,189, 84,224, 16, 89,167,208,208, 1, 30, 0, 96,179,217, 76,245,245,245,218,140,140,140,196,135, 31,126,
-248,204,210,165, 75,159, 27, 59,118,236,242,111,190,249,166, 30,128,193,157,176, 77,155,214,135, 36, 18, 86,170,171, 11,207, 95,
-177,252,203,151,215,174,122,190,117, 81,209,133,246, 17,173, 34,117, 82,117,100,201,242, 37, 95,239, 7, 96, 46,169,208,226,200,
-217, 82,240,188, 4, 39,138,106,209,255,246, 81,252,153,188,105,125, 1,172,161,239,114, 45,255,178, 40, 46, 66,189,101,203, 22,
-159,142,214,174, 93,187,192,243, 60, 20, 10, 5,102,207,158,237,147, 84, 20, 6,162, 91,228, 79,204,136,139,163,251,114,159, 4,
- 65,112, 46,244,238,190,253,223,255,253, 31, 94,122,233,165, 70,215,112,136, 13,198, 31,167,183,240, 37, 38, 37,161,188,172,172,
-209,190, 64, 22,165,183,219,237,224,121, 30, 11, 22, 44, 64,102,102, 38, 86,175, 94,237,243,243,142, 59,238, 0,203,178, 36,144,
-244,236,211,167, 15, 44, 22,139, 51,204,167, 78,157,242,200, 59,111,222, 60,127,193,188, 11,192,148,238,221,187,107, 6, 13, 26,
-132,156,156, 28,220,127,255,253, 38,139,197,146, 7, 0,119,222,121,103,234,220,185,115,101, 7, 14, 28, 64, 68, 68, 4,127,254,
-252,249,255,129,118,144,167,104, 97,120,210, 34,226, 51, 47, 43, 43,107,186,187,136,113,133,248, 63,195, 48,171,103,204,152,145,
-233, 42,138, 92,127,139,174,147,155,136, 75,115,117,164, 92, 69,148, 55, 1,229,246,188,117, 61,190,194,163,208,114, 68,108,160,
-171, 11, 36, 86,190,254, 68,150,143, 55,199, 70, 8, 9, 9, 25,126,239,189,247, 58, 69,142,209,104,116, 10, 44, 81,100,137,191,
-115,115,115,209,179,103, 79,105, 72, 72,200,240,170,170,170,143, 3, 16,113,136,139,139, 67,101,101, 37,142, 30, 61,138,196,196,
- 68, 88,173, 86,172, 95,191, 30,181,181,181,224,121, 30, 82,169, 20, 22,139,207,190,219,232,212,169,211, 29,139, 23, 47,238,185,
-104,209,162, 75,226, 27,221,146, 37, 75, 64, 8, 65,100,100, 36,244,122, 61,202,202,202,176,121,243,102,216,108, 54,168,213,106,
-164,164,164,200,238,185,231,158,190, 83,166, 76,225,125, 8,173, 62,247,223,127,127,136, 70,163,193,139, 47,190, 72, 44, 22,203,
- 12,199,190,201,227,198,141,139, 40, 44, 44, 52, 63,249,228,147,123, 45, 22,203, 71,162,153,232, 42,112,188,220, 88,175, 78,150,
-213,106, 21,211,180,160,190,190, 30,173, 90,181, 74,116,117,182,188,137,193, 29, 59,118,244, 1, 32,153, 58,117,106, 16,128, 50,
-215, 48,152,205,102,212,215,215, 67,167,211, 89,107,107,107,203, 95,123,237, 53,219,210,165, 75, 37,142,115, 78,120, 18, 90, 12,
-115,135, 89,163, 81,202, 8,145,188, 53,127,254,124,245,176, 97,195, 88,181, 90,141,186,186, 58,205,175,235,214,169, 7, 15,234,
-155, 50, 61,235,195, 13,154,132,174,101, 59, 14,231,227, 66,105, 45,204, 86, 43, 82, 98, 67, 26,252, 48,138, 22,135, 99, 32,139,
-211,209,114, 21, 21, 57, 57, 57,184,253,246,219,157,101, 93, 42,149, 54,114,190,252,113,114, 28,135,219,111,191,253, 50,135,103,
-203,150, 45, 30,221, 39,127,112, 21, 69,238,226,200,147, 0, 99, 89,214,239, 2,235,162,155,231, 73,108,185,186,250,110,226,205,
- 95, 51, 7, 56,142,195,184,113,227,192,243, 60, 94,127,253,117,112, 28,135,244,244,116,112, 28,135,140,140, 12,240, 60,143, 91,
-111,189,181,201,113,223,189,123, 55,186,119,239,238, 12, 83,122,122, 58,122,245,234, 5,142,227,208,175, 95, 63,240, 60,143,161,
- 67,135, 6,194,249,102, 93, 93, 93, 55,181, 90,141,220,220, 92, 72, 36, 18, 48, 12,115, 26, 64, 55, 0,136,141,141, 61,163, 6,
-111,130,189, 0, 0, 32, 0, 73, 68, 65, 84,215,235,219, 26,141, 70, 60,245,212, 83,140,217,108,238,250,250,235,175,191,101, 52,
- 26,169,208,162,104, 49,184,107, 17, 23, 24, 38, 76,152,240, 38,195, 48,171, 69,135,202,221,121,242,244,219, 67,221, 36, 58, 80,
-251, 28,101,181,151,155,136,171, 96, 24,102, 31, 33,228, 78,111,231, 2, 48,187, 9,171, 70, 77,135,174,205,134,126, 29, 45,177,
-242, 13, 84,104,249,131,209,104,188, 49, 42, 42,202,171,200,114,253, 52,155,205, 72, 78, 78,134,209,104,188,177,169, 15,141,216,
-216, 88, 88, 44, 22,124,249,229,151,144, 74,165,144, 74,255,208, 23,102,179,111,179,232,248,241,227, 5,187,119,239,238,222,163,
- 71,143,176,159,126,250,169, 98,192,128, 1,145,195,134, 13,131, 66,161,128,193, 96,128,213,106, 69,239,222,189,209,169, 83, 39,
- 20, 23, 23,227,215, 95,127,173,236,208,161, 67,171, 61,123,246, 8,165,165,165,231,124, 80,223, 54,120,240, 96, 48, 12,131,117,
-235,214, 85, 2,216, 39,151,203,215, 78,155, 54, 45,204,108, 54, 11,163, 71,143, 62, 95, 93, 93,253, 18, 0,139, 76, 38,155, 51,
- 96,192,128,140,236,236,236,111, 5, 65,152,221,212,140,234,158,182, 58,157, 14, 65, 65, 65,129, 76, 37,193, 87, 87, 87,119, 1,
- 0,149, 74, 21, 14,224,140, 51,135, 27, 12,141,196,176,217,108, 54,134,135,135,171, 0,192,113, 14,239,133, 51,210,102,195,138,
-115,231,242,131, 93,251,207,133,134,134,226,145,135, 31,102,111,233,211, 71,214,237,198, 27,135,190,253,201,162,239,227, 34, 52,
-230,148,184, 8, 88,237, 86,100,111, 88, 47, 16,193,186,129, 86, 59,127,142,208, 18,197,134,187,163,197,243, 60,182,110,221,122,
-217, 62,169, 84,138,255,254,247,191, 1, 9, 3, 81, 84,121,107, 58,115,107,234, 98,252, 9, 24,158,231, 33,145, 72,176, 96,193,
- 2, 8,130,128,151, 95,126,185, 81,115,162, 43,127, 64,118,158,139, 8,236, 52, 89, 0, 96, 70,241, 76,185,243,124,247,240, 58,
-206, 9,200, 37,155, 59,119,110, 64,142,214,157,119,222,233, 87,184,186,182, 48,184,134,235,208,161, 67, 30,121,231,207,159,239,
- 55, 61,237,118, 59,214,172, 89,227, 20,169, 34,222,126,251,237,167,100, 50, 89,244,182,109,219, 80, 90, 90, 10,157, 78,135,250,
-250,122,244,238,221, 59,133,101,217,195,165,165,165,133, 39, 78,156,184,151,150, 30,138, 63,209,209, 50,205,152, 49,227,216,140,
- 25, 51, 60, 58, 86,238,206,146, 47,231, 73, 20, 88, 14, 65, 20, 41,138, 55, 52,116,171,217,231,239, 92, 0, 50,247,166, 67,159,
- 70,144,155,138,156,226,169,242, 13,164,249, 48, 64, 59,157, 99, 24, 6, 70,163,209,163,192,114, 21, 7, 22,139, 5,213,213,213,
-176,219,237, 87, 60,215,151,167, 55, 89,127, 66,235,232,209,163,255,122,252,241,199, 75, 66, 66, 66,186, 85, 84, 84,148, 11,130,
-112,235,174, 93,187, 34, 57,142,131, 70,163,129, 70,163,193,218,181,107,161, 84, 42, 49,110,220,184,114,187,221,158, 19, 28, 28,
- 28, 97, 48, 24,126, 47, 45, 45,125,219,171,130,225,249,161,253,250,245,195,129, 3, 7,112,233,210,165,141, 0,210, 31,125,244,
-209,219, 91,183,110,205, 76,155, 54,205,120,246,236,217,217, 0,202, 85, 42,213,226,197,139, 23, 15,234,209,163, 71,240,232,209,
-163,177,117,235,214,249, 0,140,129,198, 89,167,211, 53, 18, 88, 90,173, 22,117,117,117, 80,169, 84,182, 0,211,140,199, 31, 35,
- 12, 65, 8,113,222, 27,135,155, 37,222, 31,194,113,156, 56,170,209,155,200,130, 74,165,154,186,104,209, 34,133,251, 32, 5,187,
-221,142,178,178, 50,104, 52, 26, 76,122,251,109,233,123,227,255,221, 93,162,142,222,197,178, 12,204, 22, 82, 67, 4,243,122, 93,
-217,131,219,128,119,105,205,243, 39, 64, 20, 6,119,223,125,247,101,205,133, 82,169, 20, 27, 55,110,196,136, 17, 35,156, 47, 46,
- 61,122,244,240,251,114, 37, 10,131,187,238,186,203,233, 12,173, 95,191,222, 99,179,159,232, 72, 5, 34, 8,197, 99, 95,120,225,
- 5,112, 28,135,207, 62,251, 12,175,188,242, 10, 88,150,197,204,153, 51,193,178, 44,222,121,231,157,128, 69,166,171,128, 41,252,
-176,225, 51,225, 21, 45,170,230, 69, 3, 0,130, 53, 26, 49, 66, 77,170,123, 56,142,115, 58, 89, 55,222,120, 35,120,158, 71, 70,
- 70, 6, 56,142,115, 58, 89,195,135, 15,119, 77, 71, 18, 8, 39,199,113,200,203,203,115,134, 57, 35, 35,163,145,147,197,113, 28,
-238,188,243,206, 64,130, 57, 61, 52, 52,116, 74,167, 78,157, 58,207,154, 53,139,151, 72, 36, 24, 60,120,112,106, 76, 76,204, 57,
-155,205, 22, 49,117,234, 84,165,135,115, 20, 0,186,117,238,220, 89, 69, 75, 13, 69, 11, 58, 90, 83, 60,252, 21,230,218,231,170,
- 9, 47,146,171, 93,143, 23, 57,220,197,145,195, 33,203,241,199,229,233, 92,127,224, 68, 5,233,203, 82, 15, 68,104, 57,108,103,
-159, 23, 83, 42,149, 71,202,203,203, 51, 20, 10, 69, 35,145,229, 73,112, 73, 36, 18,148,150,150, 66,169, 84, 30, 49,153, 76,205,
-118, 19,253, 53, 29, 2, 48,158, 62,125,122,188,203,239, 33,195,135, 15,255,102,227,198,141,177,217,217,217,216,179,103, 15, 34,
- 35, 35, 49,119,238,220,139,101,101,101,255, 2,176,177,178,178,210,239,117,219,182,109,219, 69,173, 86, 99,199,142, 29, 0,176,
- 21,192,191,159,123,238, 57,198,106,181, 98,222,188,121, 58, 0,235, 66, 67, 67,215, 44, 95,190,188,123,183,110,221,100,217,217,
-217,218, 61,123,246,252, 22,160,200,178, 11,130,112,153,192,114, 77,211,224,224,224, 64, 28, 45,107, 72, 72,200, 81,173, 86, 59,
-202, 96, 48,104,229,114,121,176, 86,171, 53,185, 10, 44,145,159,227, 56, 62, 47, 47,175, 4, 64, 74, 72, 72,200, 81,120,105,230,
-228, 56,110,240,224,193,131, 57,247,123, 80, 86, 86,134,210,210, 82, 88, 44, 22,244,232,209,131,145, 48, 86,201,165,162, 35,110,
-211, 58, 80,145,245, 39, 57, 90, 68, 44,235,226, 40, 65, 79, 35, 13,215,175, 95,239,252,205,178, 44,190,254,250,235,128, 68,209,
-198,141, 27,125,118, 88,119,107, 58,244,107,141,139,199,127,254,249,231, 32,132, 56,157, 44,150,101, 49, 97,194, 4,200,229,114,
- 76,155, 54, 13, 19, 38, 76, 0,199,113,126,155, 14, 93, 5, 76,210,235,122,215,151,163,134, 66,225,232, 15,197, 48,140,171,216,
- 98, 2, 21,111,190,220,188, 64, 90, 2, 92, 57,197,243,130,130,130,188,118,132,119,227,244,117,129, 95, 0,228,199,198,198,238,
-200,200,200, 8,217,191,127, 63,102,206,156, 41, 53,153, 76,109,178,179,179,157,215,245,148, 94, 58,157, 78, 65, 75, 14, 69, 75,
-184, 89, 62,254,174,112,235, 95,197,184, 54,227,249,248,116, 63, 30, 46,251, 92,121, 43, 24,134,177,122,184, 94,133, 7,113,229,
-126, 13,215, 99, 42,188, 58, 90,254, 42, 11,127,130, 43, 16, 71, 75,175,215,255,182,110,221,186, 94, 15, 63,252, 48,231,171,217,
- 80,167,211, 33, 58, 58, 26,199,142, 29,179,233,245,250,223, 2,112,202,154, 83,104,185, 35,187,188,188, 92, 98,181, 90,209,190,
-125,123,196,199,199,195,104, 52,162,166,166, 70, 2, 96, 99,128, 28, 82,149, 74, 37, 1,128,154,154, 26,160, 97,168,105,106,135,
- 14, 29,112,224,192, 1, 84, 87, 87,255, 8, 96,216,148, 41, 83,122,244,238,221, 91,250,253,247,223,235,159,121,230,153, 31,173,
- 86,107, 64, 74, 67, 16, 4,179,205,102, 75,102, 89,214, 82, 83, 83,115,193, 53, 61,163,163,163,195, 85, 42, 21, 83, 86, 86,102,
- 13, 68,104,117,235,214,109,239,249,243,231, 49,117,234,212,138,233,211,167,119,168,171,171,187, 84, 91, 91,107,115, 21, 91, 70,
-163,145,109,213,170,149,124,222,188,121, 10, 0,232,214,173,219, 94,111, 66, 75,167,211,181, 86, 42,255,120, 49, 54,153, 76, 40,
- 45, 45, 69,105,105, 41,202,202,202, 80, 87, 87,135,148,148, 20,232,245,250, 68, 90,205,252,101, 66,171, 81,243,153,107,249,118,
-125,144, 55,165,172,187, 10,152,187,239,190,219,217,183, 75,116,200,196,109,197,138, 21,238, 29,204, 3, 18, 90,159,127,254, 57,
- 94,120,225, 5, 4, 5, 5, 97,214,172, 89,141,154, 14,221,197,129, 32, 8, 76, 32,113, 79,126,195,128,210, 57,225,224,121, 30,
- 17,207,148, 53,106,162,243, 32, 56, 2, 10,231,244,233,211,155,165,233,208,149, 51, 49,177,161,168, 44, 88,176, 0,163, 70,141,
-194,182,109,219,174,184,233, 48, 45, 45,109,201,234,213,171, 67,142, 31, 63, 14,173, 86,139,138,138, 10,152, 76, 38, 20, 23, 23,
-123,109, 21,112,212,229, 65,180,228, 80,252,201,245,212,190, 63,147,183, 57,175,199,249,121,128, 7, 44,180, 2,113,180, 76, 38,
-211,172, 23, 95,124,241,185, 33, 67,134,132, 7, 7, 7,163,164,164,228, 50,145, 85, 95, 95, 15,181, 90, 13,131,193,128, 85,171,
- 86,105, 77, 38,211, 44,127,226,192,106,181, 34, 42, 42, 10,149,149,149, 16,188,244,159,102, 89, 22, 10,133, 2,245,245,245,128,
-159, 78,230,158, 30, 24, 22,139, 5, 86,171, 21, 86,171, 21, 22,139,197,239, 91,178,187,153,167, 82,169, 68,225, 1, 0,186,184,
-184,184,246, 65, 65, 65, 40, 40, 40, 0, 26, 70,246, 13,185,253,246,219,249,170,170, 42,242,228,147, 79,110, 39,132, 60, 5,223,
-179,227,155,115,114,114,146, 1, 64,161, 80,228, 2, 64,113,113,177,181,166,166,166,145, 83,168, 84, 42,201,136, 17, 35, 98, 9,
- 33,200,201,201, 73,150, 74,165, 4,222, 71, 53, 26, 87,174, 92,121, 60, 36, 36,100,105, 86, 86,214,195,153,153,153,199,186,116,
-233,146,172,211,233,202, 13, 6,131,193,104, 52, 18,137, 68, 34, 13, 11, 11, 11,218,176, 97,195,153, 93,187,118, 13,209,104, 52,
- 75, 87,174, 92,121,220,155,243,166, 82,169,138,245,122,125,146,120, 79, 93, 69, 86,105,105, 41, 8, 33,200,207,207,135, 82,169,
- 60,239,175, 89,151,162,229, 32,190, 84,185, 59, 47,238,251, 2, 21, 89,174,194, 96,195,134, 13, 62,231,208, 10,148,211, 85, 20,
-189,242,202, 43,152, 51,103,206,101,142,214,180,105,211, 0, 0,111,191,253,118,192,125,180, 68,247,170,116, 78, 56, 98, 94,168,
-110, 20,118, 0, 96,196,240, 53,173,204,131,227, 56, 76,157, 58,245,178, 78,234,174, 77,123, 1, 54,241, 53, 10,103,121,121, 57,
- 56,142, 67,120,120, 56, 30,121,228, 17, 12, 29, 58,212,217, 4,217, 84,222,147, 39, 79,238,120,227,141, 55,186,166,165,165,225,
-253,247,223,175, 14, 13, 13, 13,254,207,127,254,195,213,212,212, 48,190, 28, 45, 42,180, 40, 40,154, 65,104,137, 5, 44,208, 81,
-135, 94, 42,203, 33,104, 60,215, 70,173, 94,175,127,228,182,219,110,251,105,217,178,101,138,182,109,219,226,228,201,147,168,174,
-174,134,217,108,134, 84, 42, 69,108,108, 44,106,106,106,240,245,215, 95, 27,244,122,253, 35, 0,106,253,112,190,213,179,103,207,
- 47, 62,254,248,227,160,244,244,116, 84, 87, 87,163,190,190,222, 41,132, 24,134,129, 70,163,129, 66,161,192,222,189,123,177,126,
-253,122, 3,128,183,252,112,122, 82,115,176, 88, 44, 78,193, 21,128,208,114,229, 84,137,174,142, 94,175, 7, 0,107,235,214,173,
- 99, 0, 32, 63, 63, 31, 0, 10, 83, 82, 82,166,180,109,219,150, 89,188,120, 49, 33,132,172,247, 34,178,156,156, 12,195, 84, 19,
- 66, 46, 1,136, 49,155,205, 82, 0,168,173,173,181,180,106,213, 42, 74, 46,151, 11, 10,133, 66, 8, 10, 10, 18, 74, 74, 74,108,
- 54,155, 77, 10, 0,253,250,245, 51, 3, 40,117, 91,163,208,149, 83, 32,132,104,231,207,159, 63,101,244,232,209, 25,125,250,244,
- 73,123,246,217,103,143, 62,249,228,147,108,124,124,124, 88, 93, 93,157,241,244,233,211,151, 62,249,228,147,186,221,187,119, 15,
-225,121,254,220,252,249,243,167, 0,208, 50, 12, 35,120,226,180,217,108,191,101,103,103,255, 43, 51, 51,147,187,112,225, 2,202,
-202,202,156, 34,171,172,172, 12,157, 58,117,194,174, 93,187,236, 22,139, 37,187, 9,233,217, 92,160,156, 13, 47, 33, 68, 44,235,
-222, 4,150,248, 50, 21, 40,167,171, 40, 26, 53,106, 84, 35, 23, 75, 42,149,226,135, 31,126,240, 88,111,120, 40, 87,141,226,238,
- 58,199,215, 27,111,188,209, 72,180, 77,154, 52,201,107,117,230, 47, 61, 69,158,218, 5,241,141, 71, 29,122, 41,231,190,194, 41,
-214,157, 60,207, 99,210,164, 73, 1, 59, 90,184,188,143,214,101,156, 98,220, 7, 12, 24, 0,189, 94,239, 20,178,222, 28, 45,127,
-233,105,183,219, 95,152, 51,103, 14,209,104, 52, 55,107,181,218, 71,207,159, 63,191, 80,175,215,223, 84, 91, 91,235,211,209, 50,
-153, 76,114, 90,142, 40, 39, 90,102,126,174,235, 71,104, 57, 30,146,104,221,186,117,163,181,179, 88,150,109,180, 53,165,159,129,
- 3, 27,242,242,242,238,187,229,150, 91,190,125,225,133, 23,130,211,211,211,249,164,164, 36,232,116, 58, 20, 20, 20,224,216,177,
- 99,182,149, 43, 87,106,245,122,253,163, 0, 2, 25,117,182,232,248,241,227,235,135, 13, 27,246, 78,239,222,189,159,158, 60,121,
-178, 36, 53, 53, 21,181,181,181, 8, 11, 11, 67, 84, 84, 20, 78,157, 58,133, 85,171, 86,217, 43, 43, 43,191, 0,240, 30, 60,180,
-161,250,123,225,183, 88, 44,120,232,161,135, 32, 8, 2,102,207,158,141, 64, 22, 84,118,129,197, 98,177, 16, 0,140,163, 63,151,
-222, 49,187, 52, 78,159, 62, 13, 0,231,146,147,147,131, 1, 32, 59, 59,155, 65,195,252, 90,129,188,225, 19, 66,136,211,217,234,
-212,169, 83,129,123,229, 40, 58, 89,162, 11,230, 47,220, 12,195, 24, 9, 33,229,122,189,126,216, 43,175,188,242,206,231,159,127,
-254,240,231,159,127,126,217,113, 26,141,102,233,204,153, 51,223,123,224,129, 7,202, 25,134,241,218,143, 76,167,211,189, 61,102,
-204,152, 7,142, 28, 57, 18, 28, 20, 20, 4,157, 78,135,170,170, 42, 88, 44, 22,164,164,164,160,188,188, 28,139, 22, 45,170, 51,
- 24, 12,239,210,226,248,215,192, 85, 24,120,115,181, 2, 16, 89, 94, 93,157, 95,126,249,197,227, 28, 85, 77,229,116, 23, 27,129,
-206,109,229,235,165, 72,156,150,198,211,148, 17, 77,172,215, 46,227,229, 56, 14, 31,125,244,145,115,210, 86, 79, 78, 86, 83, 28,
- 45,145, 51, 60, 60,188,193, 38, 87, 42, 33, 8, 2,238,188,243,206,171,225, 21, 0,140,115,153,241,125,250,107,175,189, 54,165,
- 83,167, 78,169, 0,228,174,105,208, 68, 23,159,130,130,194,159,208,178,219,237,197, 29, 59,118,108, 84,193,249, 91,204,212,106,
-181, 22, 7,120,221,245, 58,157, 46,101,230,204,153, 47,170, 84,170, 33,122,189,190,171,163,226, 56,162,211,233,178, 77, 38,211,
-167,104,218, 34,208, 21, 0,158,223,189,123,247,236, 97,195,134, 77,187,245,214, 91, 71,142, 31, 63,158, 33,132, 96,222,188,121,
-228,236,217,179, 43, 28, 46,214,217, 43, 73,164,240,240,240,227, 95,127,253,117,244, 79, 63,253, 4,171,213,138, 79, 63,253, 20,
-193,193,193,199,171,171,171, 3,165, 40,223,180,105,211, 55,125,250,244,121,108,215,174, 93,139, 0,252,190,117,235,214,133,125,
-251,246, 29,179,107,215,174, 37, 0,142,109,222,188,121, 97,239,222,189,199,236,219,183,111, 57,128, 67, 77,168,124,157,206,150,
-205,230,185,165,209,139,147,229,139, 83, 75, 8,177, 60,254,248,227,227, 31,120,224,129, 47,247,237,219,119, 83, 77, 77, 77, 87,
- 0, 8, 13, 13, 61,210,171, 87,175,189,203,150, 45, 59,229,112,178,252,117,214,175,208,233,116, 35,186,118,237,250,227,251,239,
-191,175, 74, 75, 75,227,218,183,111,143,194,194, 66, 28, 61,122,212,246,191,255,253,175,222, 96, 48,220, 13,224, 18, 45,142,127,
-157,208, 34,132, 32, 52, 52,180,209, 75,148, 56,228,191,169,205,133,174, 15,102,113,169, 30,119, 94,111,156,190,166, 77, 16,161,
- 86,171,157,147,155, 6,210,101, 65, 16,124,207,199, 70, 8,113,114,138, 91, 0, 34,203,239, 8, 65,199, 18, 56, 1,115, 6, 50,
-189,131, 74,165,130,213,106,117,242, 6, 48,242,179,169,106,241, 23, 0,191, 88,173,214,211, 0,218, 81,113, 69, 65,209,130, 66,
-235,210,165, 75, 61, 91,248,218, 90,147,201,244,158,201,100,122, 79,220, 97, 52, 26,175,150,243, 44,128, 7, 54,109,218,244,241,
-166, 77,155,196,118,132,169,240,191, 94,162, 79,156, 60,121, 50,147,231,249,255, 46, 93,186,180, 55, 33, 4, 33, 33, 33,187, 11,
- 11, 11,255,211, 20, 14,187,221,254,248,174, 93,187,158,131,163, 47,147,197, 98,121,124,199,142, 29, 47,162, 97, 61, 38,216,237,
-246,199,247,236,217,227,252,221,196, 7, 37, 33,132,152, 8, 33,113, 94, 14, 49, 53,209,129, 19,157, 45,243,178,101,203,234, 1,
- 28,198, 31,243,100, 89, 29,155,209,173,185,208, 23, 54,235,116,186,246,147, 38, 77,154, 46,145, 72, 6,235,116,186,120,149, 74,
- 85,100,179,217,126,211,235,245,111,161, 97,141, 42,138,191, 8,102,179,249, 66,199,142, 29, 57, 79, 47, 80,190, 30,228,190, 94,
-172,236,118,123,113,135, 14, 29,252,190,156,121,224,188,224, 67, 52,156, 75, 73, 73, 97, 3,229, 18, 97,177, 88,202,125,133, 51,
- 37, 37, 5, 77,229,244, 23,247,228,228,100,143,113,247, 35, 8,189,198,221,102,179, 93, 17,167,175,244,244, 5,131,193,112, 41,
- 50, 50,178,222,104, 52,242, 38,147,137,183,217,108,141,236, 71,133, 66, 81, 97, 48, 24,104,225,161,160,184, 26,161,245, 15,199,
-126, 52, 44, 47,209, 92, 48, 29, 57,114,228, 49,167, 61, 85, 94,126,165, 60,238, 74,178,222,207,239,166, 8,163,102,119,132, 28,
- 66, 74,223, 76,116,149,245,245,245, 79,138, 63,196, 62, 32, 20,127, 61,170,170,170,110,110,110,206,234,234,234,102,127, 81,171,
-172,172,204,104,129,184,247,188, 94, 57,125,161,164,164,228,102, 63, 66,140, 22, 28, 10,138, 0,193,210, 36,160,160,160,160,160,
-160,160,160,104, 25, 48,104, 24, 57,224, 9, 77, 25, 77, 48,228, 10,174,157, 77, 57, 41, 39,229,164,156,148,147,114, 82,206,235,
-142,211, 31, 55, 29,205,216,194, 2,140,114, 82, 78,202, 73, 57, 41, 39,229,164,156,215, 31,231, 53, 9,218,116, 72, 65, 65, 65,
- 65, 65, 65, 65, 65,133, 22, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20, 20, 20, 20,174, 72,109,221,186,245,137,212,212,212, 11,
- 0,198,182,240,181, 30,233,221,187,119,149, 92, 46,223, 0, 32,149, 38, 61, 5, 5, 5, 21, 90, 20, 20, 20,215,180,200,234,218,
-181,235,246,147, 39, 79,118,202,206,206,142,139,143,143,255,176, 37, 47,214,179,103,207, 15,182,109,219, 22,190,110,221,186,219,
- 98, 98, 98,114,174, 80,108,165,182,105,211,230, 68,106,106,106, 49,128, 71,154, 57,136, 99, 51, 50, 50,170,101, 50,217,122, 42,
- 4, 41,174, 3,116, 1,208,149, 10, 45, 10, 10, 10,138, 22, 20, 89, 59,119,238,140, 48, 26,141, 56,121,242, 36, 42, 42, 42, 14,
-181,228, 5,115,115,115, 47,237,220,185, 19, 9, 9, 9, 88,178,100, 73,100,114,114,242,182, 38, 10,154,212,174, 93,187,110, 63,
-113,226, 68,167,236,236,236,248,168,168,168, 79,154, 51,124, 55,221,116,211,180,109,219,182,133,109,216,176, 97,104,100,100,228,
-149, 10, 65, 10,138,191, 51,228, 0, 30, 99, 24,102,111,151, 46, 93,142,164,165,165,253,206, 48,204, 46, 0,163,112,237,206,221,
- 25, 24, 86,175, 94,189,117,245,234,213, 91,105, 30,161,160,160,104, 6,164,165,165,165,233,116, 58, 29,169,168,168, 32,159,125,
-246, 25, 9, 15, 15,183, 0,248, 13,192, 74, 15,219,155, 0, 52, 1,114,107, 28,199,123,226,249, 45, 60, 60,220,242,217,103,159,
-145,252,252,124,114,252,248,113,146,154,154,106, 8, 80,208,164,118,237,218,181, 82, 12,243,218,181,107, 9,199,113,235,155, 51,
- 81, 52, 26,205,177,156,156, 28,114,246,236, 89,178, 97,195, 6, 18, 29, 29, 93, 78,197, 22,197, 53,130, 36, 0, 31,168,213,234,
-234,187,238,186,139,124,245,213, 87,100,213,170, 85,228,199, 31,127, 36,179,102,205, 34,131, 6, 13, 34, 50,153,236, 2,128,215,
- 1,132, 94, 79, 90,132,113, 68,140, 0, 24, 8, 0,153,153,153, 84,108, 81, 80, 80, 92, 45,118,234,245,250, 12,189, 94,143,186,
-186, 58,180,110,221, 26, 60,207,123, 60,176,188,188, 28, 59,118,236,192,184,113,227,142,151,150,150,246,135,239,117, 47,195,186,
-119,239,190,115,243,230,205,169,193,193,193,206,157,130, 32,192, 98,177,192,106,181,194, 98,177,192,100, 50,193,100, 50, 65, 38,
-147, 65,161, 80, 32, 60, 60,252, 40,124, 55, 97, 56,221, 55,131,193,128,131, 7, 15, 98,244,232,209, 21, 85, 85, 85,253, 1,228,
- 54, 99,186,164, 70, 69, 69,229, 44, 90,180, 40, 50, 37, 37, 5,231,207,159,199, 19, 79, 60, 81,121,238,220,185,126,205,124, 29,
- 10,138, 63, 19, 19,238,187,239,190,105,209,209,209,108,151, 46, 93, 16, 27, 27, 11,147,201, 4,131,193, 0, 66, 8, 56,142, 3,
- 33, 4,181,181,181,200,201,201,193,230,205,155, 77,151, 46, 93,250, 26,192,167, 0,242, 92, 68,214, 53,169, 69,156, 66, 43, 51,
- 51,147,161,121,133,130,130,162,153,112,164,182,182,182,139,201,100,130, 78,167, 11,232,132,252,252,124,140, 29, 59,246,120,105,
-105,233, 45,240,188,168,188,166,123,247,238,123,114,114,114, 82,141, 70, 35,180, 90,255,235,206,203,100, 50, 4, 5, 5, 33, 34,
- 34, 98, 23,128, 62,222,222,196,187,116,233,178,127,215,174, 93,225, 6,131, 1,135, 14, 29,194, 35,143, 60, 98,169,174,174,222,
- 14,192, 91,224,171,209,176,142,234, 57, 15,255, 37, 2,120,209,241,134,239, 9,170,200,200,200,190,139, 23, 47,150,182,109,219,
- 22,122,189, 30,163, 70,141,170,206,205,205,237, 5,160,128,102, 29,138,127, 32,114, 79,158, 60,217,193,110,183,163,178,178, 18,
- 38,147, 9,122,189,222, 41,180, 36, 18, 9, 8, 33,176,217,108,206, 23,163, 3, 7, 14, 32, 59, 59,155,228,231,231, 79,118,148,
-165,107, 86,139, 80,161, 69, 65, 65,209, 18, 72,237,208,161,195,161, 95,127,253, 53, 72, 42,149, 98,213,170, 85,152, 60,121,178,
-181,186,186,122,155,187,120,137,142,142, 78, 91,184,112, 97,114, 74, 74, 10,126,255,253,119,220,127,255,253,111, 1,152,238,129,
-243, 77,173, 86, 59,205, 98,177,224,208,161, 67, 24, 51,102, 76, 65, 89, 89,217, 49,119, 17,147,156,156,220,239,147, 79, 62,225,
-123,244,232, 1,173, 86,139,145, 35, 71,234, 79,157, 58,213, 27,192, 49, 47, 97,253,164,186,186,250, 21,187,221,142,186,186, 58,
- 36, 36, 36, 64, 42,149,250,140,156,193, 96, 64, 82, 82,210,174,138,138,138,203,196, 91, 68, 68,196,166,243,231,207, 15, 82, 40,
- 20, 62, 57, 44, 22, 11,138,139,139, 33,147,201, 96, 50,153,208,174, 93,187,175, 1, 60, 78,179, 14,197, 63, 81,104, 29, 62,124,
-184,195,119,223,125,135,238,221,187,163,115,231,206,168,175,175,119,138, 46,179,217, 12,171,213,122,217, 73, 90,173, 22, 47,191,
-252,114, 30, 28,205,231,215,170, 22, 17, 59,166, 77, 17,219, 68, 51, 51, 51, 7,208, 60, 67, 65, 65,113,181, 21,111, 94, 94, 94,
-250,144, 33, 67,182,173, 88,177,162,213,240,225,195,209,174, 93, 59,254,222,123,239,141,212,235,245,131, 93, 15, 44, 43, 43, 11,
- 27, 51,102,204,254,162,162,162,100,199,174, 94, 94, 56,123, 5, 7, 7, 35, 63, 63, 95, 20, 89, 61,225,214,204, 40,147,201,214,
- 31, 62,124,152,151,201,100,216,183,111, 31,198,142, 29, 91, 89, 80, 80,224,175, 89, 46,212,108, 54, 67, 34,145, 0, 0,138,139,
-139,253, 70,238,252,249,243, 16, 4,193,228,233, 63,150,101,229, 7, 14, 28, 64, 92, 92,156, 79, 14,150,101,221, 5, 93, 13,205,
- 54, 20,255, 80, 88,205,102, 51,122,246,236,137,130,130, 2, 28, 56,112,192, 41,184, 42, 43, 43, 81, 82, 82,210,232,224,189,123,
-247,226,224,193,131,232,223,191,191, 59,207, 53,169, 69,156,202,113,245,234,213, 3, 28,145,219, 74,243, 12, 5, 5, 69, 51, 33,
- 53, 46, 46, 46,103,209,162, 69,145,177,177,177, 24, 52,104, 80, 81,105,105,105, 27, 15,199,173, 36,132,220,157,159,159,143,182,
-109,219,174, 2,112,207,149, 28,147,152,152, 88,177,111,223,190, 86,199,143, 31,199, 35,143, 60, 82,225,232,243,229,175,239, 83,
-114,167, 78,157,246,109,216,176, 33,156,101, 89, 28, 59,118, 44,144,166,195, 66, 52,244, 47, 57,231,225,191, 68, 0,147, 0,132,
-123, 57, 87,213,161, 67,135,190,251,247,239,151, 50, 12,131,194,194, 66,177,233,176,167,131,151,130,226,159,134, 17,113,113,113,
-255,123,238,185,231, 66,122,247,238,141,226,226, 98, 92,184,112, 1,151, 46, 93, 66,122,122, 58,210,210,210,112,246,236, 89,172,
- 95,191, 30, 7, 15, 30,132, 92, 46, 71, 66, 66, 2,212, 75,191,195,127, 25, 28, 7,144, 70,181, 8, 5, 5, 5,197, 85,136, 45,
-169, 84,186, 62, 62, 62,190, 28,158,231,165, 10, 27, 57,114,100,137,221,110, 39,103,207,158, 37,104, 24, 61, 8, 47, 66,139,156,
- 61,123,150, 68, 71, 71,231, 3, 8,243,112,204,216,152,152,152, 34,165, 82,121, 20, 77,156,214,161,125,251,246, 21,167, 78,157,
- 34, 69, 69, 69,100,221,186,117, 36, 34, 34,162, 37, 70, 4,166,118,236,216,177,178,174,174,142, 24,141, 70,146,147,147, 67, 18,
- 19, 19, 43, 64, 71, 30, 82,252,243, 17, 12, 96,106, 74, 74,138,241,227,143, 63, 38,235,215,175, 39, 11, 22, 44, 32,211,166, 77,
- 35,227,199,143, 39, 25, 25, 25, 36, 35, 35,131,140, 26, 53,138,188,242,202, 43,228,246,219,111, 39,106,181,186, 22,192,189, 52,
-233, 40, 40, 40, 40,154, 23,137, 0,102, 57, 4,213,202,145, 35, 71,150,152, 76, 38,114,225,194, 5,242,195, 15, 63, 16, 52, 76,
-221,224, 9,111,150,150,150,146,210,210, 82,113,106,132,124,252, 49,173,195, 87, 14,222,171, 18, 65, 73, 73, 73, 21,251,247,239,
- 39,133,133,133,100,237,218,181,196, 33,216,154, 13, 10,133, 98,131, 86,171, 37, 70,163,145,108,218,180,137, 78,239, 64,113, 45,
- 34, 10,192,220, 27,110,184,193, 58,123,246,108,178,114,229, 74,242,217,103,159,145, 17, 35, 70,144,215, 95,127,157, 60,248,224,
-131, 36, 50, 50,210, 4, 32, 11, 64, 8, 77,174,171, 7, 93,217,156,114, 82, 78,202,233,142,245,199,143, 31, 39, 34,236,118, 59,
-185,112,225, 2,217,176, 97, 3,137,137,137, 57,134,198,243,105,185,114,106, 58,119,238,124,242,212,169, 83,228,252,249,243,196,
- 98,177, 56, 57, 78,158, 60, 73, 0,108,109,134,112,166,198,199,199,151,111,217,178,133,156, 58,117,138,196,196,196, 20, 53,103,
-220,147,146,146,202, 43, 42, 42,200,166, 77,155, 72,100,100,164, 63,145, 69,243, 18,229,252, 39,115, 38, 1, 88,220,163, 71, 15,
-251,156, 57,115,200,211, 79, 63, 77, 18, 19, 19,237,142,151,162,248,235, 73, 8, 93,223,179,180, 82, 80, 80,252, 21,144,239,222,
-189, 27,114,185,220,185,227,247,223,127,119,157, 71,203,219,188, 13,218, 19, 39, 78,220, 50,124,248,240,109,115,230,204,233,236,
- 58,138,105,203,150, 45, 0, 96,106,134,176,229, 94,184,112,161,255,176, 97,195, 62,141,136,136,184,177,180,180,244,157,230,140,
-120, 97, 97,225, 43, 93,187,118,157, 94, 87, 87,167,213,235,245,163, 64,231,206,162,184,118, 81, 8, 96,244,129, 3, 7, 62, 60,
-112,224,192, 91, 0, 8,128,247, 1,156,184,222, 18,130, 10, 45, 10, 10,138, 63, 27, 99,159,124,242, 73,247,206,226,251, 0,252,
-159, 15,145, 37,226, 82, 65, 65, 65,159, 59,239,188,243, 57, 52, 30,157, 40,118, 78,111, 14,228,154,205,230,161,238, 35,165,154,
- 9, 75, 74, 75, 75,151,208, 44, 64,113, 29,225, 24,128, 7,175,231, 4,160, 66,139,130,130,226,207,198, 57, 0, 79, 92,197,249,
- 90,120,158,103,139,130,130,130,226,111, 7,186,168, 52, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20, 20, 20, 20, 20, 20, 20, 20,
-255, 44, 48,240, 62,114, 32,187, 9, 60, 87, 50,162, 33,155,114, 82, 78,202, 73, 57, 41, 39,229,164,156,215, 29,167, 63,238,108,
- 80,180,168, 0,163,156,148,147,114, 82, 78,202,249,207,230,100, 28, 27,235,216,196,223,127,231,184, 51,127,227,184, 95, 47,156,
-215, 36,254,170,206,240,226,141, 16,208, 48,228,147,226,239, 7,215, 2, 66,232,125,162,160,160,104, 98,221, 33,113,121,216,218,
- 29, 27,254,134,117,137,171, 40, 16,174,242,185,212, 18,113,191,158, 57,175,121,161,117,163, 74,165,154, 44,147,201, 82, 24,134,
-177,235,116,186, 35, 38,147,105, 62,128, 93, 87,121,205,175,162,163,163,199, 86, 85, 85, 9, 44,203,130,101, 89, 48, 12, 3,150,
-101,193,243,188,161,182,182, 86,115, 37,164,145, 93, 70,188,202, 49,204, 11,118, 98,159, 95,126,116,213, 52,127,251, 41,124, 23,
- 24,169, 84,122, 95,120,120,120,104, 69, 69, 5, 97,217,134,174,124, 18,137, 68, 92, 8,215, 86, 91, 91,251, 77,160,100, 97, 97,
- 97,123,195,195,195, 67,197,243, 25,134, 65, 85, 85, 85, 77,121,121,249, 77, 0, 16, 20, 20,180, 67,165, 82, 69,112, 28, 7,137,
- 68, 2,137, 68, 2,189, 94, 95, 85, 85, 85,117, 11,189, 21,255, 76, 44, 95,190, 92, 50, 44,254,137,118, 28, 49,116, 99, 89, 18,
- 34, 8, 76,173,141, 81,252,190,254,194, 87,103, 2, 57,127,212,168, 81,118,154,138,127, 30,100, 50,217,236,232,232,232,127,215,
-215,215,235, 25,134, 33, 12,195,128, 97, 26,222,179,220, 63,237,118,123,113, 85, 85, 85, 79, 63, 15, 91, 94, 38,147,205,140,137,
-137, 25,163,215,235,245, 14, 62,143,188, 0, 96,181, 90,139, 43, 43, 43,123, 6, 84,215, 71, 70,206, 87, 40, 20,143,234,245,122,
- 29,195, 48,130,235,127,132, 16,215,135,249,217,202,202,202,126,254,132,129, 76, 38,251, 52, 58, 58,250, 95,142,184, 59,195,121,
-181,113,143,142,142, 30,163,211,233, 2,226,244, 17,247,203, 56, 91, 34,156,127, 83,206,107, 95,104,165,167,167,127,183,103,207,
-158, 14, 60,207, 3, 0,140, 70, 99,215,185,115,231, 62,246,198, 27,111,100, 1,152,120,133,215, 91,216,175, 95,191,135,114,114,
-114,216,149, 43, 87,178,189,122,245, 2,195, 48,176,219,237,176,219,237,232,210,165,139,226, 74, 35, 18,162, 82, 78, 56,184,241,
-191, 65, 55, 14,121,242,133,114, 96,154,191,253,190, 4, 38,128,183, 1,164, 52, 49, 8, 21,142,116, 57,232, 69,108,236,100, 89,
-182, 73,156,130, 32,228, 95,186,116,169,143, 15, 1,211,236,156, 14,145,117,127,191,126,253, 66,178,179,179,153,162,162, 34, 70,
-161, 80, 64, 16, 4,216,237,118, 88,173, 86,220,112,195, 13, 77,114, 66, 67, 67, 67, 53, 19, 38, 76,104,119,199, 29,119,224,135,
- 31,126,192, 99,143, 61,134,190,125,251,230,149,151,151, 3, 0, 84, 42, 85,196,241,227,199, 59,132,135,135, 67,175,215,163,182,
-182, 22,183,221,118, 27,170,170,170,254,209,133,235,230,244,132,247, 25,150,113,206, 21, 69,108,246,234, 61,191,151,188,125,181,
-188,225,225,225, 7,229,114,121,180, 95,181,236,242, 32, 51, 26,141,101,213,213,213,221,253,156,146, 4,224, 46,137, 68,210,158,
-227,184,142, 0,146,108, 54, 91, 52, 0, 72,165,210, 50,137, 68, 82,104,181, 90, 79,153,205,230,211, 0,126,129,143, 5,144,135,
-197, 63,209,142,177,233, 71,214,153,132,225,202,182, 89,169,250,179, 19,114,149,114,253,218, 97,241, 79,172, 8, 84,108,253,133,
- 72, 5,176, 12, 13, 11, 74, 63,141,134,121,128,174, 6,241, 0,238, 70,195,154,143,201, 22,139,165, 18,192, 1, 52,244, 67,201,
- 3,144, 24, 25, 25,185, 68, 16, 4, 83, 85, 85,213, 19,240,176, 80,117,239, 30,173,247,179, 44,155, 32,122, 2, 2,177, 23,239,
- 62, 80,220, 44, 15, 40,150,101, 63,205,204,204,252,215,138, 21, 43,148, 7, 14, 28, 80,118,238,220,217,249, 66, 36, 8, 2, 26,
-107, 23, 32, 57, 57,217,159,171,193,177, 44, 59,123,228,200,145, 15, 47, 94,188, 88,121,238,220, 57,101, 92, 92,156,147,211, 85,
-108,137,136,139,139, 11, 52,239,127, 53,116,232,208,209,139, 22, 45,226, 87,173, 90,165,104,213,170, 21, 34, 34, 34, 32,149, 74,
- 47, 59,246,150, 91,110, 17,252, 71,157,253,244,158,123,238, 25,253,253,247,223, 43,247,236,217,163,236,210,165, 11, 36, 18,201,
- 85,199,125,196,136, 17, 15,127,247,221,119,202, 35, 71,142, 40,219,183,111, 15,209, 84,112,231, 99, 89, 22,173, 91,183, 14,136,
-243,238,187,239,126,120,217,178,101,202,131, 7, 15, 42, 59,118,236,232, 76, 79, 66,200, 21,135,243,111,206,121, 93, 56, 90, 50,
-139,197,130,173, 91,183,130,101, 89,132,135,135, 99,236,216,177,216,184,113,227,132, 77,155, 54,173,190, 2,103,235, 43,135,200,
-226, 1,224,199, 71, 71, 32,159, 7,198,149,155, 33,149, 74,113,246,236, 89, 72, 36,146, 38, 91,139,114,185,124, 12, 33,100,146,
-254,194, 62,185,193, 96,133,177,100,191, 82,161, 80, 56, 31, 0,250, 18,199,254,139,251,149, 10,133,226,172, 68, 34,153, 90, 95,
- 95,191,208, 27, 95,251,246,237,191, 61,118,236, 88, 39, 79, 5,215, 23,244,122, 61,218,180,105,147, 88, 93, 93,221,222,211,255,
- 60,207, 39,156, 59,119, 46, 74, 38,147,129, 16,226, 44,196,238,159,226,119,139,197,130, 27,110,184,193,226,235,154,190, 56,109,
- 54, 27,130,130,130, 32,186, 81,102,179, 25,245,245,245,254, 56, 25,169, 84,122,159, 40,178, 0, 96,233,210,165,136,137,137, 65,
- 84, 84, 20, 84, 42, 21, 20, 10,133,147, 51, 80, 72, 36, 18, 12, 27, 54, 12,239,190,251, 46,178,178,178,240,218,107,175, 53,170,
-104,121,158, 71,120,120, 56,214,173, 91, 7,141, 70,131,196,196, 68,136, 2,255, 31,109, 11,178, 76,248,174,253,231,157, 14,237,
-237,183,118,226,110,238,206,125,238,120, 84,130,101, 1, 65,104,120,116, 50, 12,136,205, 42, 92,218,127,164,228,157, 0,210, 51,
-174,176,176, 48, 42,208, 52,178,217,108,136,139,139,147,248, 57,108,120, 90, 90,218,143,207, 62,251,172,180,125,251,246,140, 84,
- 42, 5,199,113,224, 56, 78, 20,232,137,132,144, 68, 65, 16, 6,150,149,149,145,185,115,231,126,184,101,203,150,123, 1,172,245,
- 88,177, 16, 67,183, 58,147, 48,124,219, 33,220, 52,114,200, 27, 88,183,124,194, 77,253,210, 5, 4, 43, 13,103, 0,252,157,133,
- 86,106, 90, 90,218,161, 61,123,246, 4, 89, 44, 22,244,238,221,123,119,110,110,110, 15, 92,217, 12,238, 97, 0, 62,153, 56,113,
-226,232,103,159,125, 86, 18, 26, 26, 10,153, 76,134,186,186, 58,156, 57,115,102,204, 55,223,124, 67,190,248,226,139,255, 3, 16,
- 92, 88, 88,152,177,119,239, 94, 12, 26, 52,232, 69, 0, 47, 95,174, 8, 36, 9, 59,246, 22, 68,137,191,239, 30,214, 85,154,209,
-147, 45,107,112,113,220,143, 38, 16,236, 66,241,222,195, 23, 2, 17, 98, 31,142, 24, 49,226,145, 21, 43, 86,168, 1, 96,222,188,
-121,184,239,190,251, 16, 30, 30, 14,165, 82, 9,169, 84, 10,158,231, 27,125,250,121,216, 74, 0,124,248,224,131, 15,142, 92,188,
-120,113, 48, 0, 44, 94,188, 24, 35, 70,140, 64, 68, 68, 4,130,131,131, 33,147,201, 32,145, 72,154,156,152,225,225,225, 95,245,
-189,233,166,199, 23, 45, 90, 4, 0,120,235,165,151,112,199,205, 55, 67,173, 84, 64,169,144, 65, 76, 11,153,132,199,237,227, 94,
-240,171, 47, 1,124,124,223,125,247, 61,240,253,247,223, 7, 3,192,129, 3, 7, 80, 94, 94,142,232,232,104, 40, 20, 10,200,100,
- 50,103,156, 25,134,129, 66,161, 8, 40,238,247,221,119,223,200,239,190,251, 46, 24, 0, 22, 46, 92,136, 97,195,134, 57,227, 46,
-151,203, 33,149, 74, 27,109,238,162,211, 19,231,189,247,222, 59,114,217,178,101,193, 0,240,205, 55,223, 96,200,144, 33, 8, 11,
- 11,115,166,167,200,213,148,123,244, 55,231,188, 62,132,214,161, 67,135,238, 87,169, 84, 51, 0, 68,202,100,178,208,135, 31,126,
-184,245,227,143, 63,142, 7, 31,124, 16,155, 54,109,122,170,137, 66,139,137,142,142, 30,155,147,147,227,124, 66,155,201,101,130,
-169,201, 15,112, 7, 38,237,127,234,169,152,172, 51,245,216,189,247, 20,130,192, 50,123, 63,254, 56,210,120,250, 52,236,102, 51,
-222, 59, 91,215,176,223, 70,152,173,175,140,139,185,113,246,255, 77, 2,176,208,135, 11, 32, 55,153, 76,200,203,203,107, 82, 32,
-138,138,138, 32, 8,130,201,151,187, 32,149, 74,113,244,232,209,203, 84,189, 39, 36, 38, 38,250, 42,128,126, 57,215,175, 95,143,
-241,227,199,227,212,169, 83, 16,151, 42, 9,128,147, 9, 15, 15, 15, 21, 69,150, 40,130, 20, 10, 5,120,158,103, 56,142, 99,196,
-166, 61, 71,225, 10, 72, 24,179, 44,139,111,191,253, 22, 31,124,240, 1, 94,127,253,117,204,159, 63, 31,221,186,117,251, 35, 19,
-114, 28,180, 90, 45,194,194,194, 16, 22, 22,214, 72, 32,254,147,225,126,155,103,206,154,163,132, 64, 26, 58,129, 16, 1, 16, 0,
- 2, 2,129, 8, 40,187,112, 6,147,223,253, 40,224,167, 15,207,243, 56,125,250,180, 51, 31,136,206,176, 40,140, 92, 93,131,164,
-164, 36,191,121, 73, 42,149, 78,249,249,231,159,101,223,126,251, 45,190,255,254,123, 48, 12, 3,185, 92, 14,149, 74,133,208,208,
- 80, 68, 68, 68, 56,183,132,132, 4,230,127, 61,184,254,121, 0, 0, 32, 0, 73, 68, 65, 84,255,251,159,180, 91,183,110, 83,180,
- 90,237, 90,207,247,156,132, 40,219,102,165,142, 28,242, 6, 0, 96,228, 27, 4,151,242,166,221,200,214,188,243,119, 94, 68, 54,
-181,107,215,174,219,119,238,220, 25,164,215,235, 33, 8, 2,214,174, 93,171, 28, 50,100,200,182,130,130,130,126, 77, 21, 91, 73,
- 73, 73,171,118,238,220,121, 75,100,100, 36,106,107,107,161,213,106, 97,181, 90, 33,145, 72,144,152,152,136, 15, 63,252,144,185,
-231,158,123,158, 31, 51,102,140, 81,161, 80,136,206, 70,146,231,188,212, 56, 51,205,253,236,243, 80, 66, 26,242, 15, 17, 72,163,
-207,234,242, 66,188,244,202,228,128,194,216,186,117,235,167,127,248,225, 7,181,171,179,228, 42, 2, 92, 69,150,184,249, 17, 6,
-108,155, 54,109, 30, 95,178,100,137,147,179, 85,171, 86,224, 56, 14, 60,207,131,227, 56,176, 44,139,109,219,182, 97,198,148,137,
- 8,139,140,195,156,207,230,249, 13,103,100,100,228,252, 97,195,134, 61,186,112,225, 31, 85,119,215,182,109,113,231, 45, 55, 35,
-170,149, 6,173,194,130, 27,210, 73, 96,240,251,169, 2,191,207, 35, 0,108,235,214,173,159, 88,190,124,185,218,245,133, 80,140,
-171,248,242, 44,186,248,102,179, 25, 61,123,246, 12, 40,238,174,156,162,219, 38,138, 54, 49, 61,197,235,136,229,213, 79, 56, 31,
- 23,133,176, 67,112, 54,226,224,121, 30,203,215, 45,242,234,102, 95, 41,103, 83,239,187, 59,103, 97, 97, 33,166, 79,159, 14,241,
-165,205,181,171, 80,124,124, 60,230,204,153,227,183, 94,114, 43, 3,189, 0, 68,186,236, 50, 3,144,185,124, 86, 48, 12,179,207,
-195,113,226,126,222,209, 98, 21,137,134,126, 99,117, 0, 66, 61,240,121,227,169,116, 60,243, 34,221,142,111,116, 29,175, 66,107,
-245,234,213, 98, 41, 30,152,153,153,185,213,241,189, 70, 46,151, 23, 41,149,202, 24, 0,117,107,215,174,197,127,254,243, 31, 56,
-172,213,187, 67, 66, 66,142,121,112,117, 14,153, 76,166, 55, 0,148, 57,118,137, 67, 52,217,234,234,106, 97,227,198,141,236,226,
-123,135,194, 76,128,244, 73, 51, 48, 44, 51, 19,235,227,101,144, 0,184,233,100, 37,148, 74, 37,167,213,106,173,174,253,182, 60,
-244,221,202,118,203, 80,146, 32,142, 67,239,237,107, 48,126,251, 26,220,164,146,161,106,197, 50,212,237,200, 1,203, 50,232,175,
-106,133,215, 30,217,136, 62, 26, 57,100, 38, 29, 88,150,245,148,179,157,156,121,121,121,163, 52, 26,205, 12,183, 4, 14, 4,249,
-104, 88,199, 9, 94,194, 9, 66, 8,186,117,235, 6,134, 97,156,110,129,184,137,133, 78,220, 14, 30,244,216, 2,233,149,211,209,
- 4, 7,149, 74,133,223,126,251,205,121,204,224,193,131, 97, 52, 26, 17, 30, 30, 30, 16,103, 69, 69, 5, 41, 41, 41, 97, 22, 47,
- 94, 12,158,231, 17, 17, 17, 1,165, 82,201, 44, 90,180,104,162, 84, 42, 77, 48, 26,141,130,217,108,134, 76, 38,155, 35,222, 31,
-142,227,116, 90,173, 54,194, 27,167, 68, 34,193,179,207, 62,139, 87, 95,125, 21,243,231,207,199, 83, 79, 61,117,153,227,101, 52,
- 26,209,170, 85, 43,167,216,242, 80, 0, 91, 98,184,111,203,114, 10, 4,199, 14,174,199,241, 35,217, 16,236, 2,236, 2, 1, 33,
-118, 8, 54,224,192,198,221, 29, 46,230,151,196, 19,144,134,174,183, 0,228,181,245,182, 1, 17,178,142, 0, 86,110,173, 50,207,
-246, 23, 78,142,227, 96, 52, 26,241,243,207, 63,227,228,201,147, 88,187,118, 45, 12, 6, 3, 90,181,106,133,208,208, 80,220,124,
-243,205, 24, 51,102, 12,146,146,146,252,198,157, 16,178,176,168,168, 40,189,111,223,190, 76, 77, 77, 13,106,106,106, 96, 48, 24,
- 96,183,219, 97,179,217,192,113, 28,130,130,130,160, 80, 40, 16, 29, 29, 13,163,209, 72, 76, 38,211, 66,111,156,130,192,212,234,
-207, 78,200, 93,183,124,194, 77, 35,223, 32, 88,241, 1,131,118,109,228,250,223,246, 7, 63,190,114,251,107,183, 1, 32, 2,113,
- 90, 11,196,106, 23, 42, 95,157,248,201,243,127,250, 61,186, 92,100, 69, 24, 12, 6,212,213,213, 53,216,250, 50, 25, 86,172, 88,
-209,234,174,187,238,202, 41, 41, 41,233,239, 67,108, 93,198, 25, 28, 28,156, 40,145, 72,112,244,232, 81,124,241,197, 23,248,237,
-183,223, 80, 86, 86,118, 41, 46, 46, 46,100,224,192,129,236, 75, 47,189,132,244,244,116,124,253,245,215, 65,254, 56, 9, 33, 40,
-204,219,134,194,211,219, 33, 8, 13,174,117,195,230,249, 59, 9, 48,238, 58,157,206,120,232,208, 33,245,151, 95,126,137,168,168,
- 40, 36, 39, 39, 67,169, 84, 34, 40, 40,168,209, 67,214,245,193,235,175,108, 26, 12, 6, 99, 97, 97,161,250,187,239,190, 67, 68,
- 68, 4,146,146,146,160, 84, 42, 33,147,201,192,113, 28, 24,134,193,226,197,139,177,244,221, 71, 80,120,234, 8, 70,220,121,155,
-223,112, 42,149,202, 71, 23, 46, 92,216,200, 2,137, 14, 11, 3,199,179,144,240, 12,194, 6,223, 11, 0,184,180,233, 39, 95,179,
- 67,186,114, 50,117,117,117,198, 61,123,246,168,247,239,223, 15, 65, 16,144,148,148, 4,189, 94, 15,141, 70,227,140,255,198,141,
- 27,113,207, 61,247,224,219,111,191, 69, 70, 70,134,223,184,215,215,215, 27,143, 28, 57,162, 94,178,100, 9,194,195,195,209,186,
-117,107,103,220,197,141,231,121, 72, 36, 18,164,164,164,160,182,182, 22,106,181,218,239, 61, 58,112,224,128,122,201,146, 37, 8,
- 11, 11, 67, 66, 66,130,211,113, 19,197,209, 7,159,191,219,136, 32,136,137,189,106,206,166,222,119,119,206, 17, 35, 70,160, 93,
-187,118,208,104, 52, 80,169, 84, 78,110, 95,156, 94,180,136, 83,111, 51, 12,179,218,165, 76,100, 50, 12,179,218,245,211,219,113,
-142,175,253, 39, 78,156,216, 51, 43, 43,107,122, 70, 70,198,119, 59,119,238, 92,234,141,207, 27,207,196,137, 19,211,178,178,178,
-166,187, 30,239,225, 58,222, 29,173,204,204, 76,198, 17, 73, 6, 64,114,143, 30, 61,246,109,218,180, 41, 60, 56, 56,216,121,240,
-249,243,231, 81, 83, 83,131,224,224, 96,205,204,153, 51, 53, 3, 7, 14, 68,116,116,180,243, 13, 32, 47, 47,239,134,212,212, 84,
- 45, 0,119,223, 86, 96, 89, 22,125,250,244,193, 49, 71,107,199,176,204, 76, 36, 36, 36, 56, 59,121, 4, 5, 5,225,249,231,159,
-103,198,143, 31,207,137,110, 6, 33, 4, 6,131, 1,177,177,177, 10, 95,174, 14, 0,164, 25, 42,241,211,192,254, 96, 25, 64,127,
-112, 47,164, 50, 6,172,132, 65,119, 82,133, 95, 7,245, 7, 3,192,124,120, 23, 2,112, 97, 14, 2,184,173,101, 28, 14,130, 51,
-103,206, 4,228,104, 57,226,197, 92, 41,167,232,104,236,220,185, 19,118,187, 61, 80, 78,194,178, 44, 84, 42, 21, 98, 98, 98,160,
- 80, 40,160, 84, 42,153,239,190,251,238,237,228,228,228,216,241,227,199,179, 90,173,150,237,211,167, 15,238,187,239, 62, 78,108,
-226, 76, 75, 75,243, 27,151,173, 91,183,226,139, 47,190,192, 83, 79, 61,229,209,209, 98, 24, 6,145,145,145,208,104, 52,184, 86,
- 32, 0,176,216,172,208,215, 27,156, 77,186,118,187, 29, 71,182, 28,238,144,127, 56, 47,109,245,119,223,242, 0, 96,220,242,147,
-235,105,177,247,125,190, 44,117, 64, 24,191,103,235, 37,235, 30, 95,121,158,227, 56,140, 29, 59, 22, 89, 89, 89,120,244,209, 71,
-177,118,237, 90,188,243,206, 59,248,247,191,255,125,153,171,229,239,205,209,106,181,254,247,177,199, 30,123,106,197,138, 21, 29,
-223,120,227, 13, 86,116,180,148, 74, 37, 24,134,129,209,104,132,201,100,130,193, 96,192,169, 83,167,132, 39,159,124, 50,215,108,
- 54,255,215,107,115, 37,163,248, 93, 41,215,175,109,155,192,182,211, 21,124, 20,220,247,230, 36, 3,163,232, 81,123,111,234, 16,
- 50,124,108, 82, 24, 8, 1, 17, 0,129, 0, 38,147, 14,207, 63,255,162,228, 47,188, 85, 78,145,101, 52, 26,113,232,208, 33, 12,
- 26, 52, 8, 69, 69, 69, 56,113,226, 4, 58,116,232,128, 69,139, 22, 69, 62,252,240,195, 57,229,229,229,253, 3,117,182,142, 28,
- 57, 50,241,198, 27,111,252,180,190,190,190,186,190,190,254, 83, 0, 75, 1,212,156, 57,115,166,243,153, 51,103,230,174, 95,191,
-190,223,228,201,147, 37,110,125,116, 36,222,236, 81,171,213, 6,131,193,228, 83, 96,137,191, 9, 17, 2,138, 56,195, 48,164, 99,
-199,142,184,235,174,187,192,243, 60,148, 74, 37,212,106,117,163,102, 51,119,193,229,171,254, 0, 32, 48, 12,131,184,184, 56, 12,
- 31, 62, 28, 82,169,180, 17,167,152, 15,135, 15, 31,142, 23,222,155,132,255,190,112, 43,190,120,172, 3,134,188, 95,230, 51,156,
-122,189,190,126,243,230,205,138, 87,159,122, 10, 55,182,111,143, 86, 26, 13,218, 68, 71, 66, 33,151, 65,234, 26, 38, 38, 32,147,
-157, 0, 16, 36, 18, 9,186,116,233,130,178,178, 50, 20, 20, 20,160,160,160, 0, 44,203,162,111,223,190, 78, 23,230,244,233,211,
-120,239,189,247, 96, 50,153, 2,142,123,251,246,237,113,235,173,183, 66, 38,147, 65,169, 84, 54,106, 50, 20,211,180,174,174, 14,
-237,218,181,195,202,149, 43,145,154,154,234,151,179, 83,167, 78, 24, 48, 96, 64,163,244, 84, 40, 20, 78, 81, 4, 0, 69,123,234,
-157,215,136,143,143,111, 18,231,134,189,231,241,229,198,205, 48,153, 5,104,245,214, 70, 39,196,182,210, 96,251,146, 55, 2,138,
-187,200,185, 96,193, 2,212,212,212, 56,141, 3,241,165, 92, 52, 81, 90,183,110,141,121,243, 60, 59,153,110, 90,196,211, 51, 47,
- 51,192,231,173,120,156,152,185,228, 89, 89, 89,211,221,207,247,199,231,250,191,219,249,102, 55,113, 86,214,164,166, 67,185, 92,
-254,230,230,205,155,195,107,107,107,113,250,244,105,176, 44,235,108, 83,231, 56, 14, 22,139, 5,103,207,158, 69,120,120, 56,202,
-203,203, 33,151,203, 33,145, 72, 96, 54,155, 1,160,187,183, 7, 56, 33, 4, 47, 84, 52,116, 17, 90, 23, 39, 69, 33,128, 59, 43,
- 26, 10,134,216, 33,254,135, 31,126,128, 90,173, 70,112,112,176,243,211, 95, 51,210,145,130, 51, 40,227, 25,176,187,182,129, 97,
- 1,150, 1, 24, 9,192,178, 4, 44,195,128,221,149, 3,134, 1, 84, 17, 97, 77,173,128,253,117,140,247,217, 1,222,155,251,228,
-201,197,114,255,190,101,203, 22, 4,202,217,174, 93, 59,168,213,106,231,182,126,253,250, 70,142,150,221,110, 71, 68, 68, 68, 32,
-156,164,193,141, 16, 16, 21, 21, 5,158,231,153, 69,139, 22, 77, 76,249,127,246,174, 59, 60,138,106,125,191, 51,219,119,147,108,
- 54, 61, 33, 33,148, 0, 82, 34, 77,225,194,165,151, 0, 66,104, 34, 69, 46, 4, 17, 81,138,168, 40, 17,129, 31, 42, 32,161, 73,
-147, 42,200, 37, 32, 72,151, 46, 69,164,131, 5, 20, 36,129, 64, 8, 9,164,111,234,246, 50,237,247, 71,118,227,102,179, 73, 54,
- 33,194, 5,231,125,158,121,118,167,189,115,206,156, 51,103,222,243,157,239,124,211,176, 97,200,244,233,211, 73,129, 64,128,235,
-215,175, 35, 33, 33, 1,245,235,215,119,219,103,171,168,168, 40,235,147, 79, 62, 97, 62,249,164,100, 14, 69,100,100, 36,138,138,
-138,114,237,251, 53, 26, 77,126,159, 62,125,202,248,109,228,229,229, 61,219,158,240,182,251, 72, 91,105, 24, 76, 38,232,180,134,
- 82,235, 80,110,102,142,234,227, 15, 63, 16, 45,155,250, 6, 0,224,195,149,107,160,221,248, 87, 67,118,224,195, 81,129, 67,191,
-220, 53, 19,192,224,202,248,117, 58, 29, 76, 38, 19, 34, 34, 34,112,249,242,101,104,181, 90,244,235,215, 15, 4, 65,148,206, 16,
-173, 6, 44, 25, 25, 25,157,162,163,163,127, 93,177, 98, 69, 68,243,230,205, 9,189, 94, 15,131,193, 0,199,223,155, 55,111,114,
- 59,119,238, 76, 49, 24, 12,255,182,153,206, 93,226, 68,198, 55,201,125, 67,223,220,251,227,117, 65,116, 96,163, 36,101, 70, 97,
- 4,157,159, 33,213,107,140,119, 76, 12,151, 0,142, 1, 24,176,224,104, 22,140,109,216,235,105, 65, 46,151,127,117,241,226, 69,
- 63,147,201,132,107,215,174, 97,204,152, 49,150,188,188, 60, 9, 0,252,231, 63,255,177,108,223,190, 93,210,168, 81, 35,108,219,
-182, 45,224,213, 87, 95,221,163,215,235, 95,116,147,250,219,172,172,172,111,157, 55,250,249,249,173,126,248,240, 97,119, 71,159,
- 31,154,166, 75,147,227,242,193,100, 1,138,162, 96, 52,154, 81, 92,172,133,197, 74,217,218, 76, 22, 12, 67,219,126, 89,208,182,
-118, 84, 34, 22,122,181,125, 49, 88,199,113, 28, 72,130, 40,186,246,103,118,221,202, 68,187,171, 33, 46, 55,173, 89,206, 96,236,
-179,204,252,252,252, 32, 18,137,240,237,183,223,226,198,165, 19,144, 8, 56, 48, 52, 5,154,178,130,161, 44, 16, 9, 4,248,241,
-250, 3, 68, 53,243,114, 75, 16,250,251,251, 99, 64,199,142,136,238,216,177,100,122,155, 80, 8, 79,169, 20, 10,177,172,196,146,
- 5,128, 99, 72,119,131, 8,176,246,116, 6, 5, 5,225,183,223,126,195,180,105,211,176,120,241, 98,200,229,242,210,217,207,183,
-111,223,198,238,221,187, 17, 21, 21, 85,237,188,219, 45,120, 51,103,206, 68,102,102, 38, 86,174, 92,137,151, 94,122, 9, 34,145,
- 8, 69, 69, 69,248,247,191,255,141,156,156, 28,183, 56, 29,135,247, 36, 18, 73, 25,235,147, 93, 0, 86,183,140, 28, 57,223, 24,
- 18,130, 67,151,118,130, 0,129,171, 59, 62, 40, 35, 10,215,239,186, 80,109,206,185,115,231,150, 73,167, 59,214, 44,119,225,100,
-117,170,242, 56,130, 32,174,217,141,173, 51,103,206,156, 69, 16,196,145,153, 51,103,206,138,139,139,187,229, 14,159,171,253, 4,
- 65, 28,181,137,176, 1, 14,219,174, 85, 75,104, 41, 20,138,246,158,158,158,184,119,239, 30,250,245,235,103,201,207,207, 79, 18,
-137, 68, 77,242,242,242,164,185,185,185, 48, 24, 12,186,249,243,231, 63, 0, 32,239,208,161, 67,163, 31,127,252, 17,143, 30, 61,
-194,246,237,219, 1,224,128,107,159, 13, 18, 44,203,150, 86, 10,231,110,155, 64, 32,192,149, 43, 87,112,229, 74, 89,215,175,205,
-155, 55, 87,249,194,120,245,251,195,184,126,253, 58, 28,195, 3,216,255, 59,110,147,201,100, 64,229, 51, 60,202,160, 42,199,248,
-170, 28,224, 93,193, 93,223, 47, 87, 51,115, 42, 66, 70, 70, 70,133,231, 95,185,114,165,140, 69,171, 42, 78,129, 64, 0,134, 97,
- 32,151,203, 9,177, 88, 76,136,197,226, 48,187,200, 18, 8, 4,165, 15,140, 84, 42,133, 84, 42, 45,211, 75,173, 8,153,153,153,
- 61, 50, 51, 51, 43,220,175, 86,171, 59,169,213,106, 60,143,176, 82, 20,140, 6, 11,180, 58, 35, 62,143,251,111,201,198,207,241,
- 51,128,159, 59,189, 51, 13,147,251, 70,245,172,238, 48,181,253,126, 7, 6, 6,226,220,185,115, 32, 8, 2,123,246,236,129,183,
-183, 55,250,246,237, 11,165, 82,137,153, 51,103, 98,248,240,225,213,109,204,138,243,243,243, 59,189,255,254,251,191, 46, 93,186,
- 52,188,110,221,186,176, 88, 44,176, 90,173,176, 88, 44, 72, 78, 78,198,206,157, 59, 31, 25, 12,134, 78, 0,138,171, 34, 59,145,
-241, 77,242,254,243, 31,102,246, 30,249,170,241,118,206, 15,200,206,206, 7, 77,103,128,101,104, 88,105,166,196,194, 71,211,160,
-105, 6, 98,177, 64,185,244,139, 15, 78,177,224, 64,146,132, 5,192, 43, 79,170,140, 84, 42, 85,164, 90,173,198,221,187,119, 17,
- 19, 19,147,157,159,159,159, 8,160, 23, 0,228,231,231, 95, 28, 51,102, 76,243,248,248,248,224, 6, 13, 26,192,211,211, 83,169,
-215,235,171,162,244, 4, 48, 25, 64, 31,148,248,129,216, 81, 0, 96, 62, 73,146,210,107,215,174,149,155,105,119,254,252,121, 0,
-248,217,117, 15,200,102,209, 50,153,160,206, 47,196,132,119,230,252,213, 51, 2, 87, 70, 92,112,224, 48,233, 93,200, 0, 32, 47,
- 39, 25,111, 76,152, 38,173,170, 67,224,234, 69, 88, 13, 31,157, 50, 29, 53,123, 29,245,244,244, 44, 25,126, 59,184, 19, 71,191,
-124, 7, 96,172,224, 40, 35, 96, 53, 0, 86, 29, 88,139, 1,132, 88, 14, 80, 70,183,132,150,167,167, 39, 60,229,114, 4,170, 84,
-224, 56, 14, 66,129, 0, 34,145, 16, 44, 5, 16, 12, 81, 42, 72, 89,247, 2,131,148,118, 42,229,114, 57, 82, 83, 83, 49,121,242,
-100, 88,173, 86, 12, 25, 50, 4, 22,139, 5, 38,147, 9, 70,163, 17, 13, 27, 54,132,193, 96,112,139,207, 62, 91,209,211,211, 19,
- 98,177, 24, 31,124,240, 1, 94,126,249,101,204,155, 55, 15,177,177,177,104,216,176, 33, 38, 77,154,132,157, 59,119, 34, 50, 50,
-178, 42, 94,206,177,140,236,247,211, 46,182, 28,135,248, 0, 84,187,140,156, 57, 9,130, 44, 35,216,236,203,123, 99,123, 85,155,
-115,209,162, 69, 80,171,213,229, 44, 89,246,255,161,161,161, 88,183,110, 93, 77, 71,134,236,214,163, 32, 23,251, 6, 56, 91,162,
- 56,142,107,103,243,157, 50,199,197,197,221,138,139,139,139, 38, 8,226, 72, 92, 92, 92,116, 69, 22, 45, 87, 60, 46,246,187,253,
-210, 18, 58,141,141,118,119,220,105,191,209,190,190,190,130,240,240,112, 82,169, 84,162,168,168, 8, 1, 1, 1,156, 90,173, 30,
-169, 80, 40, 62,251,238,187,239, 26,233,116, 58,220,190,125, 27,171, 87,175,254, 25,192,170,202,132,214,177, 0,155,233,216,102,
-201,114, 92, 31, 56,112, 32, 26, 52,104, 80,198,154, 37,151,203, 43,173, 60,246,125,118,139,144, 64, 32,192, 11, 47,188, 32, 79,
- 73, 73, 49,138,197, 98,132,133,133,201,179,179,179,141, 98,177,184,218, 51, 93,170,114,140,175,202, 1,222,149,240,105,215,174,
- 93, 25, 11,150,227,175,227,255, 67,135, 14, 85, 57,116,104,231,108,222,188,121,233,253,242,242,242,178,159, 11, 0,232,215,175,
- 31, 88,150,133,191,191,191, 91,156,118, 81,107,115,128,135,201,100, 98,181, 90, 45,121,237,218, 53, 72, 36, 18,120,121,121,149,
-250,234,200,100,178, 82,107, 38, 15, 87, 13, 2, 11, 11, 69,193,104, 52, 66,167,211, 1, 0,146,255,220, 87, 86,136,153, 53, 53,
-230,183, 55,176, 5, 5, 5, 56,113,226, 4,126,248,225, 7,188,252,242,203, 46, 69,117, 53, 4,151,186,160,160,160,243,140, 25,
- 51,174, 46, 88,176,160,142,175,175, 47,172, 86, 43, 30, 62,124,136, 45, 91,182,100, 26, 12,134,206,213,105, 96,192, 1, 20, 69,
-195,100, 48,163, 88,163,197,103, 95,108,173,176,234, 1, 64, 65,238, 29, 12, 28, 52, 92,242, 36,203, 41, 51, 51,115,122,231,206,
-157,191,208,106,181, 69, 6,131, 97, 56,128,101,142,253,169,252,252,252, 46,131, 6, 13, 90,225,235,235,251, 82,110,110,238, 44,
- 55, 40,103,166,166,166,206,170, 87,175, 94,153,141,102,179, 25,245,234,213,123, 33, 55, 55,119,116,215,174, 93,255, 15,128,175,
-195,110, 47, 0, 39, 1,172,171,168, 46,217,135, 14,117, 58, 35,148,170, 16,100, 60, 56, 87,101, 66,196, 2, 19, 56,150,173,180,
- 13,177,119,128, 43, 90,170,152, 25, 87, 46,169,246, 99,237, 47,236, 87,134,141,197, 43,147, 23, 65, 33, 2, 22,190,209, 9, 13,
- 85, 0,228,190, 16,119,253, 24,132,202,118,143, 38, 31,118,139, 60,118,195, 6, 92,183,181,199, 97, 1, 1,152, 49,114, 36, 56,
- 10,184,156,144,128, 93, 63,253,132,145, 61,122, 64, 33,147,185,221, 97, 97, 89, 22, 98,177, 24,201,201,201,184,124,249, 50,154,
- 53,107,134,123,247,238,149, 9, 67,193,113,156,187,249, 47,205,187, 84, 42,133, 72, 36, 66,118,118, 54,162,163,163, 33, 22,139,
-177,117,235, 86,156, 59,119, 14, 51,102,204,192,248,241,227,209,189,123,119, 36, 38, 38,186,197,201,113, 92,185,217,138,206,195,
-185,213, 45, 35,103, 78,231,247,126, 77,202,221,206,185, 96,193, 2,151, 19, 42,220,225,116,165, 69, 92,148,221, 53, 71, 49,100,
-183, 60, 57, 10, 35,231,117, 0, 62,246,109, 51,103,206,156,229,238,121,142,235,118,139, 88,117,134, 48, 75,133, 86,116,116,116,
-153,156, 23, 20, 20, 92,189,122,245,106, 11, 15, 15, 15,220,185,115, 71,162, 84, 42, 91,216, 27,116,146, 36,177,103,207, 30,175,
-254,253,251,159, 90,182,108, 89, 24,203,178,200,201,201,193, 71, 31,125,164,163,105,122, 20, 0,186,162, 23,120, 85,150,169,195,
-135,203, 63,108, 7, 15, 30,116,107, 8,196, 46,164,132, 66, 33,124,124,124,140, 70,163, 17, 10,133, 2, 62, 62, 62, 70,131,193,
- 0, 15, 15, 15,251, 88, 49,137,191,102, 42, 84,101,125,170,202, 49,222,217, 1,190, 74, 36, 36, 36,184,117,156,109,168,213,173,
- 90,158,154,154, 90, 97, 67,114,238,220, 57,176,182,134,214, 93, 78, 91, 47,143,179, 11, 63,133, 66, 1, 95, 95, 95, 72,165, 82,
-200,229,242, 50, 34, 75, 42,149, 86,249,224, 84, 21,144, 84, 38,147,253,226,225,225,161,178,239, 23,137, 68,208,106,181, 69, 5,
- 5, 5,237,159,233,161, 67,112,160,173, 52,140, 70, 19,116, 90, 99,173,243, 91, 44, 22, 72,165, 82,236,220,185, 19,157, 58,117,
- 66,135, 14, 29,202,137,172, 26,154,231,211, 11, 10, 10,186,175, 90,181,234,231,229,203,151,251,232,116, 58,252,247,191,255, 45,
-214,233,116,221, 1,164, 87, 75,108,178, 28, 40,171, 21, 6,147, 25,122, 93,201, 61,184,127,107,223,255, 90, 81,237,204,206,206,
-222, 89,201,254,251, 52, 77, 71,219,227,190,185,129,127,213,171, 87, 15,217,217,217,101, 54,166,165,165,129, 97, 24, 51, 74,226,
-100,189,233,104, 72,198, 95,209,179, 43,234,197,151, 88, 71,141,102,232,116, 37, 86, 16,147, 62,175,118,234,169, 77,108, 84,228,
-147, 85,147, 58, 68, 16, 68,169,211,247,212,169, 83,113,243,198, 13,244,170,163, 65,195, 96, 47,112,154, 12,136,123,126,138, 63,
-212,114, 44, 91,113,172,218,220,187, 29, 92, 32,150,237,222,237,114,223,253,193,131,171,149,247,164,164, 36,200,229,114, 48, 12,
- 83,238,125, 83,221,252, 59, 10,152, 21, 43, 86, 96,198,140, 25,216,186,117, 43,110,222,188,137,214,173, 91,163,119,239,222,200,
-205,205,197,141, 27, 55, 96, 54,155,221, 78,167,163,223, 92, 82, 74, 2, 78, 95, 62,142,180,244, 7,200,204,126, 84,227,114,119,
-228,116, 22, 90,251, 79,255,142, 97, 81,109,107,196,249,217,103,159, 33, 55, 55,183,140, 37,203,177, 93,170,200,162,229,172, 69,
-156,144,231,228, 11,101, 95,183, 56,137, 30,231,117,231,227, 1, 32, 23,128,160,138,243,156,215,243,226,226,226,206,218, 45, 97,
- 54, 94, 65, 85,254, 89,101, 44, 90, 78, 88, 52,120,240,224, 65,171, 87,175, 14,144,201,100,165, 51,144,102,206,156,137, 25, 51,
-102, 32, 34, 34, 2,254,254,254,161, 42,149, 10,249,249,249, 88,188,120, 49, 82, 83, 83, 39,194, 69,160, 61,103,161,213, 37, 69,
- 11,137,228,175, 14,171,221,178, 5, 0,227,199,143, 47,103,209,178, 23, 80,101,160, 40, 10,126,126,126, 48, 24, 12, 16, 8, 4,
- 24, 50,100,136,224,207, 63,255,100,250,246,237,139,161, 67,135, 10,110,220,184,193, 12, 24, 48, 0, 2,129, 0, 61,123,246,212,
-236,223,191,255, 67, 0, 95,186, 33,182,106,205, 49,222, 94,201,220,141,125,228,142,184,172,140,147, 32, 8, 24, 12, 6, 8,133,
-194, 82, 71,121,119, 56,237, 67,135,142, 15, 32, 73,146, 80,169, 84,165,141,135,221,162,101, 23, 90, 85,241, 86, 21,144, 84,161,
- 80, 40,239,220,185,211,200, 62,241, 34, 47, 47, 15, 61,123,246,188, 91, 80, 80,240,108,155,180, 88,192, 74, 51,208, 25, 77,208,
- 25, 13,181, 70,107,127, 30, 54,110,220,136,196,196, 68,152, 76, 38,124,245,213, 87,165,147, 10, 28, 69,214, 99, 8,174,100,185,
- 92,206,246,235,215, 15, 87,175, 94,133, 84, 42,165, 80,131,248, 87, 44,199,194, 74,211, 48, 25,141,208, 85, 61,228,246,188,160,
- 84, 85, 39, 38, 38,194, 98,177, 96,222,188,121,204,175,191,254,122, 22, 37, 1, 80,237, 22,188,209,221,186,117,155,239,225,225,
-161, 58,122,244,232,123, 0,182, 86,246,242,166,104,155,104,175,197,251,232, 56, 34,224,202, 39,171, 38, 97, 86, 28, 95,172, 44,
-203, 98,226, 91,111,161,119, 29, 13,134,190, 20, 0,125,214, 93, 40,188, 3, 64,168,234, 99,217,138, 99,184,149,226,182, 43, 38,
- 7, 0,253,186, 13, 70,171,102,229,195,131,117,238, 85,210, 39,187,248,227, 47,200,201,203,172,118,222,245,122,125,133,150,171,
-106, 88,180, 74,159, 57,251,253,107,211,166, 13,154, 52,105,130,179,103,207,162,109,219,182,184,119,239, 30,238,221,187,135,212,
-212, 84,220,188,121, 19,133,133,133,213, 46,163,239, 79,238, 66,161,182, 0, 18,177, 4, 5, 69,121, 72,203,120,128, 32,191,224,
-199, 46,119, 59,154, 14,248, 12, 0, 80, 39,192,187, 90, 66,203,145,115,201,146, 37,229,196,251,227,134,236, 33, 8,226,151,202,
-214,171,123,254,147, 68, 69, 66,235,129, 90,173,238, 48,114,228,200,153, 0,218,217,182, 21, 3,216,125,234,212,169,193,129,129,
-129, 61, 58,118,236, 40,148, 72, 36,184,124,249, 50,246,239,223,191, 21,192,174,202, 46, 36,145, 72,140,245,235,215,151,219, 43,
-162,253, 65, 84, 42,149,130,197,139, 23, 19,155, 55,111,174,208,202, 85, 85, 1, 21, 23, 23, 67,175,215,195,219,219, 27, 86,171,
- 21,253,250,245, 99, 18, 19, 19, 33, 22,139, 49,104,208, 32, 38, 33, 33,161,180,160, 55,109,218, 20,102, 52, 26,255,253,195, 15,
- 63,244, 1,208,181, 26,247,202,238, 24,239, 9, 55, 29,224, 43,234,229,185, 3,119,135,227, 42,226,156, 54,109, 90,141, 56,197,
- 98, 49,109,143,252, 78,146, 36,172, 86, 43,218,182,109,139,220,220,220,210,135,198,195,195,163, 84,100,185, 35,180,170, 10, 72,
- 42, 20, 10, 97,177, 88,208,181,107, 87, 16, 4,129, 53,107,214, 60, 31,195,145, 44, 75,120,122,250,161, 78,157, 23, 16, 16,104,
- 2,203,214,238, 87,101, 98, 99, 99,203,136, 41, 87,145,151,237,247,191, 38,176,115,185, 51, 75,182,178,183,163,125,200, 75,175,
- 55, 61,115, 69, 24, 24, 24,216, 33, 55, 55,247,160,211,230, 2, 0,243, 43,233, 88,150, 22,244,163, 71,143,208,183,111, 95, 28,
- 63,126, 92,112,224,192,129, 94,135, 14, 29, 74,184,123,247,238,163,182,109,219,214,125,251,237,183,165, 93,187,118, 69, 94, 94,
- 30, 94,122,233,165,207, 51, 50, 50, 42, 17, 90,182,251,104, 50, 67,175,175,125,235,168, 43,107,214,227,188, 24,237,117,114,238,
-220,255, 67,239,144, 34, 12,105,237,141,248, 35,151, 48,186,141, 28,176, 72,171,205,103, 79,139,111,157, 6,168, 31,217,161,220,
-126,169,178, 36,150,107,253,200, 14, 32, 31,221,171,118,222, 29,211,236, 44,170,106, 98,209,115,188,159, 19, 38, 76,192,199, 31,
-127,140, 62,125,250,224,222,189,123, 56,127,254, 60,238,221,187,135,105,211,166, 33, 50, 50, 18,173, 91,183,174, 22,231,161,211,
-123,161,209, 21,131, 36, 72, 20, 20,231,195,100, 54, 34,118,210,220,199, 46,247,210,151,255,233, 56, 0,192,190, 83,215,107,204,
- 57,123,246,108,100,103,103,151,177,100, 61,142, 95,214,179,142,202,162,165, 61, 0, 48,209,121,163,197, 98,241,154, 55,111, 94,
-148,191,191, 63, 8,130,192,138, 21, 43,224,235,235,219, 9,192, 45,139,197,146,167,215,235,103, 56,136,144,222,176,197,218,200,
-201,201,113, 57,111, 95,175,215, 91,163,162,162, 68, 33, 33, 33,101,102, 27,122,120,120, 84,100,221, 41,229,180,239,163,105, 26,
-177,177,177, 88,184,112, 33,194,195,195, 49, 96,192, 0, 68, 71, 71,131, 32, 8,244,235,215, 15, 3, 6,252, 53,148,171, 82,169,
-196,199,143, 31,239, 70,146,100,130,195, 11,164, 12,167, 43,216, 29,227, 41,138,114,215, 1,190, 12,167,189,178, 77,155, 54, 13,
- 11, 23, 46,196,172, 89,149,187,122,108,216,176, 1, 40,239, 79,245,183,115, 22, 20, 20,148,105,236, 21, 10,197,154,161, 67,135,
- 10, 31, 61,122, 84, 70, 92, 57, 46, 46, 26,162, 50,156, 85, 5, 36, 21, 8, 4, 8, 10, 10,194,130, 5, 11,224,231,231,135,224,
-224, 96, 87,129,252,170, 44,163, 26,224,111,229,100, 56,246,218,210, 69,255,215,249,191,219, 15,137,164, 18,224,202,249,125,208,
- 20,150, 29, 78, 50, 91,255,154, 74, 45,105,219, 11,150,235, 63,186, 85,151,236, 98,250,179,207, 62,195,103,159,125, 86,105,130,
- 54,110,220,248,216,121,119, 83,108,149,231,100, 57, 66,225,225, 3,153, 71, 29,180,136,244, 1,203,209,255, 83,101, 84, 1,126,
-253,229,151, 95, 6,249,249,249, 33, 61, 61, 61, 64, 36, 18, 13, 42, 99,174, 50, 26, 81,191,126,253, 23,212,106,245,191,171,226,
-156, 54,109,154,121,206,156, 57,210, 81,163, 70, 97,232,208,161, 24, 53,106,148, 84, 44, 22, 55,230, 56, 14, 86,171, 21,233,233,
-233,248,241,199, 31,161, 86,171,111, 87,150, 78,150,227, 8,185, 66, 5,153, 71, 8, 90,188,168, 2,203,210,181,146,119, 71,171,
-184,163, 53,171,154, 34,203,101,253, 4,128, 95,127, 60,136,185, 31,188,136,173, 71,127,198,234, 95,128, 86,170, 92,180, 8, 80,
-131, 85,223,198, 71,163, 95,198,178, 29,191, 1, 0,206,159,171,178,140,184,202,234,160,201,104,125,172,188, 59, 90,174, 28,175,
-227,134,143, 86, 57, 78,123, 39, 81,171,213,162,168,168, 8,241,241,241,120,227,141, 55,144,155,155,139,212,212, 84,220,189,123,
- 23,223,125,247, 29, 20, 10, 69,141,202,232,195,183,102, 99,206,178,233,224,192,161,105,163, 22,152, 57,249, 51,180,107,213,241,
-177,203,221, 25,110, 88,179, 42,228, 92,185,114,101, 77,235,210, 63, 78,104,185,132,191,191,255,168,110,221,186,193,100, 50, 33,
- 32, 32, 0,169,169,169, 32, 73, 50, 2, 40, 25,194, 11, 13, 13,221,173, 86,171, 35,220,229, 19, 8, 4,160,105,186,212,247,199,
-190, 0,192,192,129, 3,113,248,240,225, 42,123, 20,193,193,193,168, 91,183, 46,222,127,255,253,114,179, 28, 28,103, 58,200,229,
-114, 28, 61,122, 52,187,160,160,160,128,227,184,106, 77,115,179, 59,198, 95,188,120,209,109, 7,120, 71, 88,173,214, 71,119,239,
-222, 13,217,184,113,163,160,146,151, 95, 41,206,159, 63, 79,163,138,161,154,191,131,211, 85,207,148,227,184, 10, 69,150, 59, 97,
- 4,170, 10, 72, 42, 20, 10,145,148,148,132,185,115,231,130, 32, 8,236,219,183,239,185,120,184,254,188,147,191,153, 36, 73,159,
-129,175,116,110, 9,130,128,213, 82,126,164,218,179, 80, 87, 42,178,134,126,185, 11, 7, 62, 28,233,142,232, 73,190,112,225,130,
-239,198,141, 27,133,238,148,251,133, 11, 23,104,142,227,170, 61,236,103,127,225, 88,173, 86, 24,141, 53,179,162,112, 28,119, 57,
-238,139, 57, 81,219,190, 61, 38, 34, 8, 11,174,156,219,135,226, 34,215,238, 12, 18,145, 16,155,227,247,211, 98,145,224,209, 83,
- 46,186,181, 67,134, 12, 25,245,213, 87, 95,181,112,181,211,141, 73, 48,169, 38,147, 9, 25, 25, 25, 48, 24, 12,123, 63,249,228,
- 19,235,177, 99,199,222,124,245,213, 87,209,186,117,107,132,132,132, 32, 43, 43, 11,201,201,201,136,143,143,231, 46, 93,186,180,
- 23,192,148, 42,238,227,193, 69, 95,204,137,137,223,113, 76, 66, 18, 86, 92, 57,191, 15,197, 78,162,189,188,117, 90,132,111,182,
-238,183,138,197,162, 59, 85, 89,139, 28,173, 89,181,249, 98, 28, 52,102, 50,134,174, 90,141,136,118,125,177,104,113,111,124,243,
-197,112, 44,239, 39,134,117,207,104,180,122,109, 27,118,206,235, 15, 0,168,243,141,155,214, 18,161, 24, 15, 93, 88,172,138,138,
-101, 54,113, 83, 61,171,169, 61,239,149, 89,174,170,107,209, 34, 73, 18, 13, 26, 52, 64, 68, 68, 4, 58,117,234,132,182,109,219,
-162, 71,143, 30,184,113,227, 6,110,220,184,129,105,211,166, 85, 38,178,170, 44,163,238,255,142,194,207, 93,238, 60,118,217, 56,
-151,123,109,192,157,186, 52,121,242,100, 0,248, 71, 89,183,170, 45,180, 52, 26,205, 13,150,101, 91,122,123,123,219, 45, 82,165,
-251,210,210,210,192,178,172,161,186, 5, 99,177, 88,236,193, 49,203,196,101,178, 59,199, 87,246,224,115, 28,199, 20, 20, 20,160,
- 91,183,110,232,210,165, 75,233,240,137,227,226, 32, 76,112,224,192, 1,112, 28, 87,109, 39,107, 7,199,120, 29,170,233, 0, 15,
- 0,185,185,185,125,187,118,237,122, 74, 40, 20,186,245, 21, 77,150,101, 83,115,114,114, 94,121,210,156,174,202,135,101,217, 10,
- 69,150, 59, 13, 81, 85, 1, 73,133, 66, 33, 60, 60, 60,240,253,247,223,195,223,223,255,185,122,192,110, 36,170,151, 84,182,191,
-155,159,228, 28,128,128,161, 95,238,122,120, 46,223, 90,111,232,151,187,210, 14,124, 56, 50,188,178,115,178,179,179,251,140, 28,
- 57,242,184,187,229, 78,211,244,131,236,236,236,106,135, 75,224, 56, 14,119,238,220, 97, 39, 76,152,144,167, 86,171,135,215, 36,
-255, 51,231,174, 94,190,240,243,169,126,253,162, 58,180, 3, 9, 88, 42,118,254,229, 8,128, 19,138, 4,143,102,204, 90,249,214,
-240,225,195,159,102,177,105,178,179,179, 59, 13, 27, 54,108, 10,254,114,157, 40, 35,164, 80,193,236,106, 27, 86,213,173, 91,247,
- 69,129, 64, 32, 5, 48, 23, 64,218,165, 75,151,214, 94,186,116,169, 15,128,127, 9, 4,130, 16,134, 97, 50,108,157,158, 93, 0,
-254,168,186, 30,229,190, 13,142, 13,235,215,251, 95,125, 65, 16,156,197, 98,174,162,131, 4, 14, 28,199,137,197,162, 59,191,222,
-200,106, 85, 89, 71,202,225, 11, 28,181, 62,100, 63,101,202, 20, 76,153, 50,165,180, 62,173, 89,211, 5,123,255,188,136,215, 90,
-165,195,252,117,103, 16,202,112,183, 59,124, 0, 48,251,255, 38,212, 90,218, 28,243,238,104,209,114,245, 28, 84,199, 71, 75, 32,
- 16, 32, 47, 47, 15, 73, 73, 73,200,201,201,129,193, 96, 64, 98, 98, 34,172, 86, 43, 10, 11, 11,241,226,139, 47,214, 56,157,181,
- 85, 70, 79,147,243,159, 56,124, 88,109,161,101,181, 90, 63,109,208,160,129, 72, 38,147,181, 96, 24, 6, 28,199,129, 97, 24,206,
- 38,106,170, 61, 11, 79, 36, 18,153,154, 52,105, 66,184,154,157, 96,255,239,225,225, 97,172,196, 90, 18, 87,191,126,253, 79, 8,
-130, 16, 84,212, 11,177,255,103, 89,150, 17, 10,133,113, 53,188, 87,143,235, 24,175, 87,171,213, 29,107,185,252,254, 14, 78,231,
-242,209, 55,107,214,172,244,139,246,206, 49, 81,108, 31, 91,213, 87, 33,206, 43, 13, 72,170,215,235,179,250,246,237,203, 56,238,
-119, 12,104,250, 92,131,224,210,250,143,122,179,222,185,124,107, 61, 0,176,139, 45,112, 92, 90, 37,103, 25,179,179,179,187,253,
-221, 73, 75, 73, 73,177,252,235, 95,255,250, 86,171,213, 78, 6, 80, 99,111,254, 89,159,174,153,245, 12,150,140, 6,192,194, 26,
-158,155,150,159,159,223,211,105,219, 31,118, 65,101,143,107, 87,109,209,126, 59,175,214, 99,139,209, 52,157, 30, 17, 17, 81, 45,
-203, 13, 69, 81,233, 85,237,119,142, 17,230,136, 91,240,198,172,171, 64,201,228,239,124,183, 56, 77, 38, 83, 65,199,142, 29, 69,
-213,204, 91,174,187,121, 15, 9, 9, 65,157, 58,117, 74,127,237,112,222, 94, 85, 58,105,154, 78, 15, 11, 11,131,191,191,127,133,
- 17,223,157,125,178,220,225,172,237, 50,170,140,179, 78,157,109,181,206, 89,211,116,242,112, 15,189,121, 78,158,147,231,124,102,
- 57, 5,252,253,228, 57,121, 78,158,243, 9,114, 62,151,224,189,212,120,240,224, 81, 17, 24,254, 22,240,224,193,131,199,227,129,
-168, 68,149, 86,103,166, 79, 77,148,237,105,158,147,231,228, 57,121, 78,158,147,231,228, 57,255,113,156, 85,113,215,246, 76,227,
-231, 26,188, 89,149,231,228, 57,121, 78,158,147,231,228, 57,121,206,127, 44,248,161, 67, 30, 60,120,240,224,193,131, 7, 15, 94,
-104,241,224,193,131, 7, 15, 30, 60,120,240, 66,139, 7, 15, 30, 60,120,240,224,193,131, 7, 47,180,120,240,224,193,131, 7, 15,
- 30, 60,120,161,197,131, 7, 15, 30, 60,120,240,224,193,131, 7, 15, 30, 60,120,240,224,193,131, 71, 9, 8, 0, 56,114,228, 72,
-233, 7, 1,163,163,163, 9,254,182,240,224,193,131, 7, 15, 30, 60,158, 36,158,107, 45,226,152, 57, 30, 60,120,240,224,193,131,
- 7, 15, 94,139,212, 14, 72, 94,108,241,224,193,131, 7, 15, 30, 60,120,177,197,103,140, 7, 15, 30, 60,120,240,224,193,139,172,
-103, 10,101, 44, 90,188,224,226,193,131, 7, 15, 30, 60,120, 60, 77,177,245,140,106, 17,206,182, 56,174,243,224,193,131, 7, 15,
- 30, 60,120,240,120, 76,129, 85,217, 47, 15, 30, 60,120,240,224,193,131, 7,143, 90, 18, 92,246,255, 79, 76,104,241, 95, 54,231,
- 57,121, 78,158,147,231,228, 57,121, 78,158,243, 31, 11, 33,127, 11,120,240,224,193,131, 7, 15, 30, 60, 30, 27,142, 86, 44,130,
- 23, 90, 60,120,240,224,193,131, 7, 15, 30,181, 39,178, 8, 87,235,252,183, 14,121,240,224,193,131, 7, 15, 30, 60,254, 38,240,
- 22, 45, 30, 60,120,240,224,193,131, 7,143,199, 3, 1,126,232,144, 7, 15, 30, 60,120,240,224,193,227,111, 21, 91, 46, 55, 86,
- 52,115,224,116, 53,200,107, 50,251,224, 52,207,201,115,242,156, 60, 39,207,201,115,242,156,255, 56,206,170,184, 79,227,217, 67,
- 55, 0,103, 1,116,183,253, 86, 40,188,106, 27,252,212, 87,158,147,231,228, 57,121, 78,158,147,231,228, 57,159,119, 84, 24,168,
-148,119,134,231, 81, 21,132,168,124,136,185,170,253, 60,120,240,224,193,131,199, 63, 77,108, 17,225, 72,218, 0, 0, 32, 0, 73,
- 68, 65, 84,113,142, 47, 73, 87,104, 12, 96, 22, 0,111,135,109,191, 0,136,115, 58,110, 7, 0,133,195,186, 30,192, 60, 0,247,
-170, 76, 13,199,137,109,252, 82,219,194, 2, 48, 1, 48, 3,208, 18, 4, 65,241,101,246,212,209, 17, 64,180,237,255, 17, 0, 87,
-170,185,255,185, 66, 72, 72,136,220,199,199,167,207,245,235,215, 37,137,137,137,184,112,225, 2,183,121,243,102,107, 97, 97,225,
-201,172,172, 44, 35, 95, 93,158, 11,244, 5, 48,211,246,127, 17,128, 19,143,201, 71, 40, 20,138,105, 30, 30, 30,253,165, 82,105,
- 29,154,166, 9,131,193,144,169,215,235, 79,209, 52,253,165,173,221,171, 46, 6,251,250,250,190,217,180,105,211,198,169,169,169,
- 25,153,153,153, 59, 0,236, 1, 48,188, 78,157, 58,163,235,215,175, 31,122,231,206,157,123, 5, 5, 5,223, 0, 56,248, 20,211,
-201,131,199, 63, 9, 68,101,214, 8, 87,152,203,113,220,232, 50, 12, 68,121,142,158, 61,123, 14, 58,121,242,164,130,101, 89,216,
- 23,185, 92, 78, 3, 24, 87,133,200,242,187,124,249,114,189,201,147, 39, 15,205,204,204,124, 89,171,213,182, 7, 0,133, 66,241,
-115, 96, 96,224,175,171, 86,173,250,142,227,184,116,130, 32,180,213,204,168, 80, 36, 18,189,225,227,227,211,159,166,233,182, 28,
-199, 65, 36, 18, 93, 47, 44, 44, 60, 65, 81,212, 55, 0,106, 34,222, 36, 66,161,112,138, 84, 42,237, 75,211,116, 75, 0, 16, 10,
-133, 55,205,102,243, 9,154,166,215, 2,176,212,128, 83, 38,145, 72,166, 40,149,202, 40,139,197,210, 18, 0, 36, 18,201, 77,141,
- 70,115,202, 98,177,172,181, 9,206,167, 13, 33,128,104,142,227, 68, 0, 32, 16, 8, 6,183,111,223,190, 30, 65, 16, 44, 65, 16,
- 28,199,113,196,207, 63,255,220,134, 97, 24,210, 86, 63,162, 1,252, 10,128,126, 22,159, 16,127,127,255,133, 44,203,214,169,180,
-208,100,178,151,175, 95,191,222,116,247,238,221,204,215, 95,127, 93, 52,126,252,120,207,201,147, 39, 11,215,172, 89,179, 54, 43,
- 43,235, 61,231,227,253,252,252,150,147, 36,233,239,206,245, 89,150,205,203,207,207,159,254,180,242, 31, 19, 99, 42, 99,238,142,
-143,151, 53, 2,144, 94,195,250,253,247,113,154, 98, 56, 0,136,151,197, 55,138, 49,197, 36,219,255, 63, 46,175, 3,102,174, 59,
-173,237,202,113,192,148, 40, 47,242,113,133, 86,104,104,104,124, 76, 76,204,168,150, 45, 91, 10, 57,142, 3, 69, 81, 48,155,205,
- 77,175, 92,185,210,125,223,190,125, 47,107,181,218,225,213,164,124,235,227,143, 63, 94, 48,127,254,124,127,145, 72, 68, 80, 20,
-213,104,247,238,221,109,223,126,251,237,247, 55,110,220, 88,119,196,136, 17, 94,246,237,115,231,206,109,183,104,209,162,134, 0,
-190,124, 10,233,228,193,227,159,134,110, 40,235,163,245, 57,128,207, 42, 19, 90, 30,182,151,103,142,205,146, 5,135,223, 82,156,
- 57,115,230,144, 80, 40,180, 91,180,218,235,245,250, 32, 39, 43,152, 43,145, 85,127,204,152, 49, 29,247,238,221,187,112,196,136,
- 17,217, 10,133,162,201,171,175,190,170, 37, 8, 66,176,123,247,238, 54, 17, 17, 17,242,129, 3, 7,142,233,217,179,231,135, 28,
-199, 93, 32, 8, 66,237,102, 38, 91,248,250,250,238, 95,178,100, 73,189,190,125,251,138,253,253,253,193,113, 28, 50, 51, 51, 67,
-143, 30, 61,218,239,243,207, 63,255,176,160,160, 96, 8,128,132,106,220,184,118,114,185,124,239,231,159,127, 30,210,175, 95, 63,
- 97,112,112, 48, 76, 38, 19, 18, 19, 19,123,159, 56,113,162,235,198,141, 27,223, 51, 26,141,175,217, 4,134,187,104,239,237,237,
-189,239,191, 31,127, 28,212,225,141, 55,132,190,190,190,224, 56, 14,106,181,186,247,197,109,219,186, 79, 90,178,228,189,226,226,
-226, 97,174,238,247,211,132, 68, 34, 33,183,111,223,222, 90, 34,145, 0, 0, 44, 22, 11, 34, 35, 35,137,231,229, 9, 33, 8, 34,
- 44, 51, 51,211, 91, 44, 22,187,220,207, 48, 12,186,118,237,218, 64, 44, 22,227,203, 47,191,164,242,242,242,218,124,245,213, 87,
-215,119,238,220,233,191,118,237,218,215, 0,148, 19, 90, 36, 73,250,167,167,167,187,228,100, 24, 6, 86,171, 21, 52, 77,195, 98,
-177,160,121,243,230, 79, 53,255,241,241,178, 48, 0,211, 99, 98, 76, 31,216, 54,125, 9,224, 67, 0, 41,168,225, 55,187,254, 6,
- 78,199,250,182,220,225,255, 99,167,213, 1,245, 0,224,216, 13, 19, 0,248, 62,238,125,245,240,240,104,246,250,235,175, 11,213,
-106, 53, 68, 34, 17,172, 86, 43,178,179,179, 17, 25, 25, 41,248,246,219,111, 95,168, 46, 95,163, 70,141,198, 47, 90,180, 40,224,
-216,177, 99,214,237,219,183, 91,162,162,162, 68,227,199,143, 87,118,237,218,181,121, 88, 88, 24,185,101,203, 22,243,169, 83,167,
-168, 49, 99,198, 72,226,226,226, 2,142, 30, 61, 58, 48, 33, 33,225,203, 39,157, 78, 30, 60,254,129, 56,139,191, 66, 60,216,127,
- 43, 21, 90,112, 16, 87,131, 1, 64, 36, 18,181, 9, 10, 10,138,167,105, 58,216,102,213,201,206,201,201,249,146,162,168,223,109,
-199, 30,100, 89,118, 80, 85,150,172, 49, 99,198,116, 60,126,252,248,178, 43, 87,174, 20,231,231,231, 7, 31, 58,116,200,244,225,
-135, 31,166, 2, 64, 74, 74, 74,195,129, 3, 7,134, 78,157, 58, 53,189, 79,159, 62,171,122,244,232,241, 46,199,113,167, 8,130,
-208, 87, 37,178, 34, 35, 35, 47,159, 63,127,222, 75,165, 82,149,217, 81,191,126,125,188,251,238,187,226, 65,131, 6, 69,244,234,
-213,235, 82,114,114,114, 23, 0,127,186, 35,136, 26, 55,110,124,250,204,153, 51,158, 62, 62, 62, 40, 42, 42, 66,118,118, 54, 12,
- 6, 3,148, 74, 37, 70,140, 24, 33,238,214,185, 83,221,169,211,222, 59,157,158,145,209,219, 77,177,213,190, 83,139, 22,167,119,
-198,197,121, 82, 15, 31, 66, 46,151, 67,167,211, 1, 0,188,188,188,240,114,131, 6,194,223,182,109, 11, 29, 29, 27,123,250,215,
-164,164,222, 79, 73,108, 73,109,191,102, 0, 71, 4, 2,193, 96,137, 68, 66, 14, 30, 60, 24,167, 79,159, 38, 76, 38,147,208,102,
-221,161, 7, 15, 30, 12,185, 92, 14,139,197,194,162,100,232,144,126,150,159, 18,137, 68,130,228,228,228, 50,219,180, 90, 45,212,
-106, 53,242,243,243, 97, 54,155, 81, 84, 84, 4,150,101, 9,185, 92,174,102, 89, 22, 36, 73, 58, 11,128, 50, 16,139,197, 72, 74,
- 74, 42,179,141,166,105,232,245,122,152,205,102, 88,173, 86,104,181, 90,185,151,151, 87, 99,127,127,255,116, 0, 7, 11, 10, 10,
-190,204,201,201, 73,123,194,217,207,179, 11,162,248,120,217,125, 0,146,255, 69, 78, 7, 75, 86,168,109,253,143, 90, 74,171, 29,
- 15,143,252,110, 10,183, 89,199, 30,212, 2, 31, 11, 0, 23, 46, 92, 64, 78, 78, 14,242,242,242,160, 86,171, 17, 22, 22, 6,142,
-227,170, 61, 28,151,156,156,188,238,197, 23, 95, 36,110,221,186,117, 2,192,154,221,187,119,143, 43, 40, 40,152, 57, 99,198, 12,
-223,165, 75,151, 22,196,198,198, 46, 2,176,117,247,238,221,239, 52,107,214,172,255,237,219,183, 55, 62,141,116,242,224, 81,219,
-224, 56,174, 29,128, 0,123,219, 98,107,119,253, 28,214,111, 16, 4, 97,113, 56,206, 98,107, 27,156,127,237,176,175,171, 9,130,
-248,213,225, 60, 53, 65, 16,191,214, 52,153, 78,191, 37,157,110, 0, 56,114,228, 8,103, 95, 92,157, 25, 24, 24, 56,173,103,207,
-158,203,174, 93,187,214, 60, 43, 43,203, 39, 43, 43,203,231,218,181,107,205,123,246,236,185, 44, 48, 48,112,154,195,141,112, 62,
-245,180,195, 62,241,229,203,151,235,237,223,191,127,209,233,211,167,139,219,180,105, 99, 57,115,230, 12,221,167, 79,159, 92,219,
- 11,154,238,211,167, 79,238, 79, 63,253,196,116,232,208, 65,126,252,248,241, 71,151, 46, 93, 90,190,119,239,222, 32,142,227, 4,
-174, 56,109, 16,169, 84,170,239,207,157, 59, 87, 78,100, 57,162,110,221,186, 56,114,228,136, 82,165, 82, 29, 4, 32,174, 40,157,
- 54,200,100, 50,217,190,159,126,250,201,211,203,203, 11,185,185,185, 16,137, 68, 8, 12, 12, 68,113,113, 49,178,179,178,144,118,
-247, 46, 72,139, 5, 43,190,152,239, 37,151,203,247,186,104,236,203,113,122,123,123,239,219,185,112,161,103,254,233,211,248, 99,
-193, 2, 88,173,214,210, 33, 87,171,213,138, 75,147, 39, 67,253,227,143,216, 50,119,174,167,183,183,247, 62, 0,178, 42, 56,107,
- 3,142,156,147, 1, 20,216,150,201, 0,174, 68, 70, 70, 94, 75, 76, 76, 68,151, 46, 93,176,103,207,158, 86, 51,102,204,152, 60,
- 99,198,140,201,123,246,236,105,213,165, 75, 23, 36, 38, 38, 34, 50, 50,242, 26,202,250,103,253,221,233,252,219, 56, 25,134, 41,
-179,176,236, 95,239,152, 58,117,234,228,238,223,191, 31, 35, 70,140, 32, 37, 18, 73,214,200,145, 35,165, 23, 47, 94,228,108, 34,
-211,237,116,154, 76, 38, 24,141, 70,232,245,122,164,164,164,200,151, 44, 89,210,249,179,207, 62,107,116,250,244,233,208, 89,179,
-102, 77, 10, 8, 8,184, 30, 20, 20, 84,239, 9,231,221,234,244,127, 5,128,140,106, 90,136,254,110, 78,206,118, 62, 98, 76, 49,
-173, 29, 26,216,234,242, 86,118, 63,179,109,105,213, 3, 72,123,156,186,212,179,103,207, 23, 27, 53,106, 20,180,251,150, 15, 10,
-197, 77,193,138, 85, 96,197, 42, 48,126,237,144, 44,121, 5,225,225,225, 65,158,158,158, 29,171,153,206,237,183,110,221,250,151,
-173,167,156, 15, 96, 89,108,108,236,231, 4, 65, 92,136,141,141,157, 15, 96,153,109,251,130,219,183,111,119, 0,176,243, 41,165,
-243,153,120,222,121,206,255, 45,206, 42,180, 72, 0, 65, 16, 71, 8,130, 56,242,201, 39,159,244, 0,224,231,180,254,111,199,227,
- 0, 72, 92,253,218, 23,135,237, 1, 28,199, 13,112, 56, 47,160,134,201, 39, 92, 44,127, 9, 45, 0,136,142,142, 38,162,163,163,
-237, 59,126, 33, 8,226, 16,128, 95, 68, 34, 81,155,214,173, 91, 15,254,225,135, 31,188, 2, 2,254,186,126, 64, 64, 0,246,238,
-221,235,213,162, 69,139,193, 34,145,168, 13,128, 95,148, 74,229,161, 74,172, 48,170,201,147, 39, 15, 29, 59,118,172,166, 77,155,
- 54, 0, 80,148,144,144,160,232,208,161,131,158,166,105,130,166,105,162, 67,135, 14,250,132,132, 4, 5, 69, 81,218,118,237,218,
-121,244,234,213, 43,117,250,244,233, 99, 92, 8, 14, 71,188,190,120,241,226, 48, 31, 31,159,202,148, 48,180, 90, 45,130,130,130,
- 48,121,242,228, 96,145, 72,244,102,101,119, 75, 40, 20, 78, 89,188,120,113,160, 74,165, 66, 97, 97, 33,194,194,194, 96,177, 88,
-144,148,148, 4,147, 94, 7, 74,171, 1,165, 41,130,250,254, 61,168, 68, 66,140, 25, 20, 29, 36, 20, 10,167, 84, 97, 45,153,242,
- 77,108,108,144, 37, 53, 21, 41,123,246,128,161,203, 27,127,104,171, 21, 55, 55,109,130, 41, 61, 29,139, 38, 76, 8,146, 72, 36,
- 83,158,176, 37,107, 41,199,113,114,142,227,228, 4, 65,172,234,216,177,227,183,114,185,124,114, 92, 92, 92,223,147, 39, 79,246,
- 59,127,254,124,119,154,166, 69, 52, 77,139, 46, 92,184,208,197,100, 50, 9,165, 82, 41,132, 66, 33,135,231, 20, 34,145, 8, 98,
-177, 24,114,185, 28,157, 59,119,190,191,121,243,102, 42, 44, 44, 76,180,111,223, 62,159, 58,117,234,120,172, 89,179,166, 72,171,
-213, 46,118,151,207,106,181,194,108, 54,195,104, 52,194,100, 50,225,204,153, 51, 13,166, 78,157, 42, 52,153, 76,204,192,129, 3,
- 11, 40,138, 50,199,198,198, 42,125,125,125, 63,124,146,249,140,137, 49,177, 54,203,211,109,155,104,121,128,199,244,121,250, 59,
- 56, 1, 88,108, 62, 89,118,248,219,184, 45,181,116, 43,104, 0, 58,155,208, 50, 59, 61, 31, 45, 29, 44,190, 85,162,168,168,104,
-227, 55,223,124, 19, 70, 74, 85,184,104,233,143,239,216,207,113,210,123, 13,114,235,125,132,192,176, 70, 24, 53,106, 84, 32,199,
-113,107,106, 33,205, 95, 1,232, 10, 96, 85, 77, 78,126, 2,233,172,231,225,225,177,199,203,203,235,162,135,135,199, 30,216,134,
-103, 31, 7, 81,141,208,123, 80, 51, 50, 61, 42, 2,220,160,102,100,122, 84, 35, 62,212,192,243, 2, 39, 45,226, 8, 53,199,113,
-209, 28,199, 69, 47, 90,180,104,161,195,251,221,190, 46,119,211, 50, 22,205,113, 92,116, 25,133, 84, 34,176, 30,219,232,230, 98,
- 41,209, 20,142, 74,210, 33,115,165,179, 11,131,130,130,226,227,227,227,189,156, 25,179,178,178,160,209,104, 48,103,206, 28,175,
-177, 99,199,190,151,158,158, 30, 83, 69, 34, 36,217,217,217,109, 71,143, 30, 45,179, 90,173,133, 44,203,146, 26,141, 70,232,237,
-237,205,216, 15,240,246,246,102,138,139,139, 69,122,189, 94,192, 48,140,121,236,216,177,146, 9, 19, 38,188, 12, 64, 80, 17,105,
- 64, 64, 64, 84,255,254,253, 43, 28, 58,160, 40, 10,122,189, 30,122,189, 30, 86,171, 21,157, 59,119,150,110,222,188,185, 79,110,
-110,238,250, 10, 21,135, 84, 26, 21, 21, 21, 37, 42, 40, 40,128,183,183, 55,210,210,210,240,224,193, 3,152,117, 58, 88,117, 26,
- 88,117, 90,208, 90, 13, 56, 77, 49,242,239,221, 65,135,102, 77,197, 59,164,210,190,122,189,126,121, 69,156, 74,165, 50,170,195,
-184,113, 66, 15, 15, 15,116, 31, 93, 50,207,224,120,179,102,224, 24, 6, 44,195,128,161,105,244, 77, 74, 2, 69, 81, 32, 73, 18,
-237, 10, 10,132,202,109,219,162,212,106,245,178,167, 81,217,165, 82,169,112,251,246,237,175, 75, 36, 18,112, 28, 71, 88, 44, 22,
-156, 60,121,242, 31,247,208, 75, 36, 18,200,100, 50, 88,173, 86,212,175, 95,223, 56,122,244,232,203, 95,124,241, 69, 56, 73,146,
- 30, 98,177,248,135,252,252,252,133, 89, 89, 89, 41,238,242, 81, 20, 5,139,197, 2,139,197, 2,163,209,136,251,247,239, 7, 55,
-104,208,128,152, 60,121, 50, 99, 48, 24, 26,174, 94,189, 58,249,228,201,147,138,197,139, 23,191, 10,224,221, 39,157,223,152, 24,
- 83, 51, 0,205,226,227,101, 98,155,229,215,242, 63,198,201,161,196,241, 29,241,178,248, 68, 0,234, 90, 20, 89, 18, 0,222,225,
-126, 66,189, 72, 0, 29, 0, 47,155, 40,120,149, 32,136, 14,205,155, 55,247, 73, 76, 76, 44,228, 56,238, 42,128,239, 0,100, 85,
- 70,198,178, 44,193,178, 44,222,110, 95,132,201, 29, 5,160,168, 98, 20, 23, 23, 35, 45, 45, 13, 9, 9, 9,248,249,231,132,154,
- 62,155,111,122,122,122,246,145,201,100,245,105,154, 38,117, 58, 93,154,193, 96, 56,205,178,236, 70,212,192, 71,237,239, 74,167,
- 29, 30, 30, 30, 75,102,205,154,213,201,219,219, 27,191,255,254,123,195, 93,187,118, 45,209,235,245,143,229, 92, 47, 19,145, 91,
-150,175, 92, 19, 26, 26,168,194,141,243,135, 67, 23,110,216,189, 5, 96,195,120,153,242,236,195, 73,139, 56,138,161, 95, 57,142,
- 27, 64, 16,196, 17,103,161, 84, 45,179,211, 99,158, 95,133, 69,203,249,195,210,101,133, 86, 5, 10, 18, 52, 77, 7, 59, 90,178,
- 56,142, 67, 86, 86, 22, 50, 50, 50,160, 86,171,225,227,227, 3,171,213, 26,236, 78,251,160,213,106,219,251,249,249, 25, 68, 34,
-145,217,104, 52, 66,161, 80,176, 34,145,136,179, 93,135,176,205, 90,100,204,102, 51, 33, 20, 10, 41, 47, 47, 47, 79,179,217,220,
- 20,149,248,146,113, 28,215,222,207,207,207,229, 62,179,217, 12,157, 78, 7,189, 94, 15,157, 78, 7,179,217,140,160,160, 32,208,
- 52,221,182,210, 46, 45, 77,183, 12, 8, 8, 64,102,102, 38,228,114, 57,210,211,211, 97,209,105, 97,213,106, 65,235, 53, 96,138,
-139,193,106, 52, 96,245, 26, 80, 22, 3, 66,155, 52,131,125, 70, 98,133,221,112,139,165,165,159,159, 31,244,250,191,220,205, 56,
-155,192,162,105, 26,180,205, 57,218, 62,156,232,239,239, 15,251,140,196, 39, 4, 51,128, 25, 36, 73,174,146, 74,165,194, 73,147,
- 38, 33, 43, 43,171, 76,157,152, 52,105, 82,169, 79, 86,215,174, 93, 47,200,100, 50, 90,173, 86,195,108, 54,139,158,215,135,158,
- 32, 8, 16, 4, 81, 82, 70, 52, 13,127,127,127,125, 94, 94,222,207, 69, 69, 69,175,215,132,143,162, 40,251,140, 46, 24,141, 70,
-112, 28,135,223,127,255, 29, 50,153, 76,196, 48,204, 45,154,166, 21, 34,145, 8,164,205,249,235, 73,193, 54, 35,240, 75, 0, 97,
- 54, 11,209,155, 40,113, 56,207,112,209,144,184,117,235,220,228,172,190,112, 51,197,216, 45, 77, 25,168,217,112,164, 43,116,111,
-170,146, 44,143,235, 16,168,106, 61,208, 67,175,144, 8,244,108, 90,235,250,255, 93,154,176,107,236,152, 55,189,230,205,155, 87,
-207,223,223, 95,150,156,156,108,154, 63,127,126,131,237,219,183, 19, 40, 25,166,171, 16, 15, 31, 62, 60, 48,107,214, 44,223,254,
-253,251, 55,148, 74,165, 68,113,113, 49,212,106, 53,114,114,114,240,224,193, 3,238,198,141, 27,247,205,102,243,158,234, 36, 50,
- 36, 36,100,243,235,175,191, 62,246,165,151, 94, 18,217, 45,164,122,189,190,205,185,115,231, 6, 29, 63,126,188,139, 94,175,175,
-118,189,124,244,232,209,158,217,179,103,123,188,242,202, 43, 77,165, 82, 41, 89, 27,233,116, 4, 73,146, 65,158,158,158, 56,125,
-250, 52, 84, 42, 21, 72,146, 12,122,220,250,106,178,178,161,117,130,253, 96,186,180, 28, 77, 3,234,193,100,101, 67,121,137,242,
-252, 88,180, 42,120,215,183,179, 91,164,170, 16, 75,198,153, 51,103,206, 34, 8,226,200,204,153, 51,103,185,178,104,217,254, 50,
-142,199, 57, 28,111,174,109,177, 85,173, 64,147, 44,203, 34, 35, 35, 3,153,153,153,200,200,200, 64,126,126, 62, 72,146, 4,199,
-113,238,204, 62,227, 8,130, 96, 79,157, 58,229,115,249,242,101,125,187,118,237,138,236,254, 47, 52, 77, 19, 20, 69, 17, 54,191,
- 24, 34, 45, 45, 77,124,241,226, 69,213,237,219,183,131,108,189, 85,182, 10, 83, 96,185,109,118,129,229,184,152, 76, 38,200,100,
- 50,247, 84,135,237, 69,248,251,181,107, 37, 34, 75,167,181, 13, 25, 22,131,209, 20,131,211,107, 33, 97, 40, 72,192,129, 48, 25,
-220,190,127,142,176,139, 44,171, 77,104, 89, 44, 22, 80, 20, 5,150,101, 65,211, 79,197,175,124, 93,171, 86,173,218, 30, 56,112,
- 96,124, 70, 70,249,119,225,144, 33, 67,240,238,187,239, 98,234,212,169,183, 7, 12, 24,112,227,240,225,195,152, 50,101, 10, 88,
-150,109, 13,160, 24,192,241,231,237,161, 55,155,205,165, 22, 40,147,201, 4,171,213, 10, 84,227,179, 10,206,117,211, 94,182, 52,
- 77,219,185,137, 3, 7,246,227,194,133, 11,100, 66,194,173,176, 73,147, 38,219, 29,238,159,116, 86,211, 81, 50,115, 79, 98,107,
- 40, 44, 40,241,127,170, 40,164, 66, 4, 42, 31,178,227, 42,227,124, 28,180,218,208,106,196, 7, 31,124, 16,133,146, 25,206, 41,
-143,105,209,122, 69, 66, 18, 95, 79,107,233, 43,251,176,149,159, 94, 34, 36,116, 73, 95,207,210, 61, 8, 87,234,131,234, 42, 44,
- 97, 13, 84,117, 22, 46,252, 34,228,246,237, 59,230, 57,115,230, 36,142, 28, 57, 50,240,195, 15, 63,108,190,111,223,190, 46, 38,
-147,233, 27, 0, 69, 21, 25, 93, 6, 13, 26,116, 53, 48, 48,176,193,134, 13, 27,114, 31, 61,122,228, 67, 81,148,135,213,106,101,
-245,122,253, 3,163,209,120,218,106,181,158, 6,112,173, 58,137,245,242,242,106, 53,110,220, 56, 81, 81, 81, 17,132, 66, 33,172,
- 86, 43,114,115,115,209,169, 83, 39,193,161, 67,135, 90,212,228, 6, 20, 22, 22, 46,255,230,155,111,206,238,220,185,179,143, 82,
-169,124, 73, 42,149, 6, 3, 96,180, 90,109,142, 94,175,255,163, 38,233, 44,211,206, 49, 76,206,181,107,215, 34,148, 74, 37, 30,
- 62,124, 8,134, 97,114, 30,183, 14,200,196,228,163,155,231, 15,213,109,230,223, 0, 23, 47, 95,133, 76, 76, 62,226, 67,125, 61,
-247,176,251, 80,193, 81, 64,185, 16, 72,151,227,226,226,228,139, 22, 45, 66, 92, 92,220, 45, 87, 22, 45,187,224,138,139,139,187,
-101, 63,206,225,248,243,143,145,198,138, 45, 90, 21, 41, 72,160,100,118,161, 90,173,246, 81,169, 84,165, 2, 43, 51, 51, 19,153,
-153,153,144, 72, 36, 72, 75, 75,131, 68, 34,201,114,167, 19, 34,151,203,127,107,211,166,205, 11, 41, 41, 41,226,249,243,231,215,
-189,118,237,154,178, 83,167, 78, 47,202,229,114,134,227, 56,152, 76, 38, 50, 49, 49,209,115,217,178,101,161,237,219,183,183,180,
-111,223,254,250,238,221,187,141,168, 36,254, 21, 65, 16,191,100,101,101, 53,172, 95,191,190, 93,180,149, 17, 87,142,130, 11, 40,
- 25,242, 20, 10,133,215, 43, 75,168, 80, 40,188,153,148,148,212, 91, 33,147,194,162,213,192,170,211,128,214,106,193,104,139,193,
- 20, 23, 3,122, 13, 36, 52, 13, 17, 67, 65, 46,147, 33, 35, 61, 29, 66,161,240,102,101,156, 18,137,228,102, 78, 78, 78,111,149,
- 74, 85,250, 18,165,104,186,100, 97, 24, 88,104,186,212,162, 37, 18,137,240,232,209, 35, 72, 36,146,155, 79,186, 38,147, 36,201,
-216, 67, 56, 84,144, 15, 4, 5, 5,177, 29, 58,116,192,148, 41, 83,192, 48,140,173, 24,136,238, 0, 46,162,196,191,229,153,132,
- 43,113,107,119, 90, 55, 26,141,208,233,116, 40, 44, 44, 20,202,229,242, 23, 66, 67, 67,175, 90, 44,150, 61, 52, 77,111,121,240,
-224,129,166, 34, 78,155, 48, 43, 21, 93, 44,203,130,227, 56, 48, 12, 3,138,162, 32, 22,139,217,115,231,206, 99,217,138, 37,136,
-223,178,157, 27, 52,104, 16,113,232,208, 33,176, 44,155,254,132,179,111,177,137,150,202, 26, 13,231,144, 10, 31,161,242,144, 10,
- 21,113, 58,246,254, 28,183, 17, 46,142, 41,135, 15, 62,248,224, 4, 74,134, 12,243,108, 98,238,113, 56,191, 44,250,238, 11, 25,
-104, 70,111, 62,183, 83,247,237, 93,141,126,222,183, 43,127,179, 72, 4,154,151,187, 5,181,108,216,224, 5,129, 74,229, 67,174,
-223,184, 42,127,199,246,189,201, 15, 31, 62,212,172, 93,187,182,227, 11, 47,188,224,253,199, 31,127,132, 86, 36,180, 20, 10, 69,
-227, 55,223,124,115, 92, 97, 97,161, 56, 62, 62,126,119, 86, 86,214,111, 40, 9, 45,227, 56,131,122, 0,128,173, 54, 33, 26,100,
-107,231, 46, 2,152, 95, 89,127,141, 32, 8,252,244,211, 79,229,102, 7,178,143,167,206, 85,141, 26, 53, 26,145,146,146,114, 33,
- 39, 39,103,152,243, 78,177, 88, 60,175, 73,147, 38,125,111,221,186,245, 57,128, 99,213, 33, 54, 24, 12,177,123,247,238, 93, 42,
- 16, 8,234, 48, 12,147,105, 52, 26, 99, 31,219,162, 69,177, 19,226,214,239,218,100,180, 48,225,114,137,224,161,137, 98,223,226,
-117,200,243,107,205,178, 65,237, 96,141, 82, 3, 32,156,214,255,176,189,140, 44, 28,199,217,143, 85, 59, 88,177, 44, 78, 86, 48,
- 87,251,212,143, 17, 44,157,171,168,141,171,200,162,245, 9,128,246, 0,126,201,201,201, 89, 53,118,236,216,101, 59,118,236,240,
-210,104, 52,200,201,201, 65,110,110, 46,132, 66, 33,148, 74, 37,214,173, 91,103,204,201,201, 89,229,120, 14,202, 71,144, 7, 0,
-147,191,191,255,111,219,183,111, 15,254,250,235,175,133, 49, 49, 49,105, 3, 6, 12,104,186,110,221,186, 20,177, 88,204, 49, 12,
- 67,152,205,102,226,237,183,223,142, 88,177, 98, 69,170, 64, 32, 80,140, 24, 49,130,240,240,240,248, 5,149,132, 13, 80,171,213,
-167,190,255,254,251,161,211,167, 79,151, 90, 44, 22,151,150, 44,251, 54,149, 74,133, 75,151, 46, 89, 10, 11, 11, 79, 86, 97,197,
- 56,245,195,177,163, 93,255, 51,114,164,152,210,106, 64,105, 53,160, 53, 26, 48,218, 34, 16, 58, 13, 68, 12, 13,185,152, 69,112,
-152, 12,180,209, 19, 71,127,253,131, 50,155,205,149, 6, 54,212,104, 52,167, 46,198,199,119,111, 95,175,158,240,210,180,105,176,
- 82, 20, 94, 73, 74, 42, 21, 87, 86,171, 21, 7, 91,182, 4, 67, 16,104, 61,113, 34,238,209, 52,173,209,104, 78,253, 47, 62, 12,
- 55,110,220,200, 29, 61,122,244, 53,150,101,219,226, 9,125, 52,243, 73,128,162,168,114,214, 40,134, 97, 74,172,142, 37,150, 3,
-201,209,163, 71,187, 38, 38, 38,138,255,252,243, 79, 92,184,112,161,245,142, 29, 59, 62, 9, 15, 15,111,249,240,225,195,236,170,
-196,155,171,160,191,176,249, 31,238,222,185, 7,239,188,243, 14,145,157,157,141,239,190,251, 14, 85, 5, 79,253, 59, 16, 19, 99,
- 98,227,227,101,117,225,228,247,228, 34,164,194,239,112, 51,164, 66, 69,156,166,152, 18, 43,153, 44,190, 36,216,168, 41,166,100,
- 56, 80, 22, 95,165,165, 12, 49,166, 24,141,205, 33, 62,171, 22, 56,245,160, 25,185,229,220, 78,221,128, 99, 15,181, 87,178,140,
-243, 1,156,128,137,225,238, 93,231,110,188,244,146,143, 63, 0,152, 77, 76,112,227,198,141,187, 9,133, 66, 9, 0,120,122,122,
-190,228,231,231,183, 46, 63, 63,191,179,171, 50,141,142,142,238, 16, 24, 24,216,230,248,241,227,127,100,101,101,221, 2,240,179,
-243, 65, 17, 17, 17,115,110,223,190,221, 78, 36, 18, 17, 85,212, 17, 0, 64,183,110,221, 94,144, 74,165,126,199,238,122, 67, 35,
-110, 4, 78, 80, 12, 8,101, 96, 84,173,144, 38,110,142,176,176,171,126,133,133,133,173,139,139,139,255,168,102,209,247, 24, 58,
-116,232,150,248,248,248,176,110,221,186,113,215,175, 95, 39,157, 71, 17, 34, 34, 34,250, 92,185,114,165,237, 91,111,189,181, 97,
-215,174, 93,147, 81,118,166,109, 85, 72,179,197, 27,172, 53,156, 74,198,105,128,169,103,179,153,241, 10,229, 31,128,234,132, 92,
-120,140,240, 12,143,149,196, 10, 13, 24, 21,108,111,111,139,137,213,158,162,168,223,111,220,184,113,112,196,136, 17,186,252,252,
-124,248,249,249,161,126,253,250, 32, 8, 2,235,214,173, 51, 62,120,240, 96,159, 45,150, 86,251,204,204,204, 65, 54,177,229, 10,
-218,213,171, 87,239,218,182,109,155,234,218,181,107, 2,154,166,149, 77,155, 54, 53, 92,190,124,217, 83, 36, 18,113, 98,177,152,
-189,118,237,154, 34, 34, 34,194, 68, 16,132,244,199, 31,127,204,191,122,245,106,248,140, 25, 51,190, 65,217,105,226,206,216,185,
- 96,193,130,140,148,148, 20,152,205,102,104, 52, 26, 20, 23, 23,151, 46, 69, 69, 69, 40, 46, 46,134, 72, 36, 66,118,118, 54,246,
-239,223,159,101,139, 18, 95,153,101, 99,237,154,117,235,213, 89, 15,211,160, 84,200, 65,107,138,192, 20,231, 3,218, 98, 72, 40,
- 43, 60, 68, 12,234, 54,146, 67,166, 80, 34, 71,163, 67,252,229, 95,179,109, 81,226, 43, 54, 23, 88, 44,107,223, 93,177, 34,135,
- 22,139, 81,111,248,112, 88,109, 67,133,142, 66,139, 33, 8,132,247,234, 5,210,219, 27, 11,247,237,203,177, 69,137,127,162, 96,
- 89, 86, 96,177, 88, 42,203, 7, 88,150, 77, 79, 76, 76,220, 5,224, 44, 65, 16, 28, 65, 16, 28, 74,130,181,233,158,229, 7,153,
-162, 40,204,157, 59, 23, 98,177, 24,115,231,206,197,167,159,126,138,101,203,150, 97,253,250,245,248,246,219,111,113,244,232,209,
- 6, 23, 47, 94, 20,159, 63,127,158,139,139,139,203,139,136,136, 16, 76,156, 56, 81, 37,151,203, 63,168,140, 51, 54, 54, 22, 94,
- 94, 94,136,141,141,197,146, 37, 75,176,121,243,102, 28, 60,120, 16,151, 46, 93,130, 64, 32, 96,211,211, 31,193,100, 50,113,171,
- 87,175,206, 56,120,240,160,113,213,170, 85, 16, 10,133,196, 83,106, 36, 62,176, 9, 42, 71, 75,144,115, 72,133,124, 0, 43, 81,
-181,111, 84, 69,156,144,197,199,215,181,137,163,100, 7, 65,116, 24,192,116, 84, 62,189,218,206, 49, 25, 64,112, 45,112,206,150,
-143,254,191, 68,213,166, 59,247,175,100, 25,103, 3,248,193,158, 39,165, 82, 41, 63,112,224,123, 33, 0,236,219,187, 95,148,148,
-148,228,253,253,247,223,203, 2, 3, 3,241,237,183,223,202,228,114,121, 96, 5,156,204,193,131, 7,205, 18,137,196,111,194,132,
- 9,253,218,181,107,247,190,173, 35,218, 11, 64, 11,148,204, 94,140,186,127,255,126,130,191,191,255,221,147, 39, 79,234,221, 41,
- 32,173, 86,251,205,214,173, 91,235, 23, 48,190, 56,166, 31,138,120,118, 41,142,170,182, 32,173,222,167, 80,212,121, 25,175,191,
-254,122, 29,134, 97, 54, 85,179,220, 95, 31, 50,100,200,214,248,248,248,176, 9, 19, 38,100, 95,191,126, 61, 7, 64, 60,128,237,
-142,203,237,219,183,243,198,142, 29,155,181,105,211,166,144, 17, 35, 70,172, 7, 48,140,127,245,243,224, 81,182, 47,132,170,102,
- 29,186,120,225,150,254,207,205,205, 93, 93, 88, 88,120,233,222,189,123,239, 89, 44,150, 16,130, 32, 56,177, 88,156,157,147,147,
-179,202, 33, 96,169, 43,191,146,222,176,197,218, 32, 8,130,226, 56, 46,189, 71,143, 30, 31,244,234,213,235,171, 35, 71,142,152,
-186,119,239,142,189,123,247,250,247,232,209,195,192,178, 44,119,236,216, 49,255,190,125,251, 26,206,158, 61,171,127,251,237,183,
-155, 54,105,210,100, 98,108,108,172,154, 32, 8,214, 21,167,253, 93, 86, 84, 84, 52,164, 95,191,126,151,246,237,219,167, 84,169,
- 84,160,105, 26, 6,131, 1, 6,131, 1, 28,199,193,219,219, 27,106,181, 26,243,231,207,215, 20, 23, 23, 15,118, 33,220,156, 57,
- 77, 38,147,105,216,228,247,167,159, 90,245,249, 92,175,240, 6, 13,144,127,199, 4,218,100,128,136, 35, 81,247, 5,111,136, 37,
-114,220, 75,210,226,163, 93, 7,180, 70,147,233, 53, 23,189,229,114,156,197,197,197,195, 98, 62,253,244,244,134, 25, 51, 60,219,
- 4, 5, 65, 32, 16,192,108, 54,131, 97, 24,136, 68, 34, 68,198,196, 64, 28, 16,128, 57,187,118,233, 53, 26,205, 48,148,255, 20,
-143, 51,103,109,192,145,115,242,141, 27, 55,198, 54,107,214, 12,147, 38, 77,194,144, 33, 67,202, 28,248,253,247,223, 99,253,250,
-245, 48,155,205, 99, 1, 92, 7,176, 14, 37, 67, 29,112, 18, 89,127,119, 58,107,157,147, 97,152,194,164,164, 36,229,210,165, 75,
- 9,171,213,138,207, 63,255, 28,118,193,105,175,215, 83,166, 76,169,227,229,229,133,207, 62,251,204,146,151,151,215,115,201,146,
- 37,103,182,111,223,238,255,205, 55,223,188, 14, 32,214,153,147,101,217,220,155, 55,111,122,109,216,176,129,164,105, 26,203,151,
- 47, 47, 55, 60, 57,126,252,120, 88,173, 20, 4, 2,161,197,100, 50,183,144,203,229,201,126,126,126,114,174,172,115,215,147,188,
-159,161, 40, 9, 97,224,232,248,110,113,244,207, 66,197, 33, 21,170,195,169,150,197,199,119, 55,197,196,156,181, 9,162, 68,219,
- 49,123,237, 38,253,106,112,218, 5, 97, 77, 56, 79,217,150, 42, 97, 50,153,160, 86,171,145,151,151, 7,149, 74, 5,129, 64, 64,
- 84,148, 78,179,217,252,231, 71, 31,125,116, 99,211,166, 77,189,175, 92,185, 50,240,252,249,243, 61, 78,159, 62,109, 74, 75, 75,
-163, 41,138,226, 66, 66, 66,132,157, 59,119,150,245,239,223,223, 67, 42,149,146,179,103,207,206,251,226,139, 47,252, 81,214,135,
-205, 57,239, 2,130, 32,240, 97, 87, 45, 98,123, 8, 96,177, 88, 81, 84, 84,132,140,140,116, 36, 36, 36,224,202,149, 59,224, 56,
-142,172, 70,185,251, 1,152,253,221,119,223,133, 74, 36, 18, 98,215,174, 93,117,118,237,218, 85,165, 37,117,199,142, 29,117,118,
-239,222, 61,207, 54,122,145,254, 44, 62,239, 60,231,255, 44,231,179, 12,231,200,240,168, 82,104,217,218,249,246,176,125,148,148,
-162,168, 95, 92,132,112,248, 4,192, 92, 7, 43, 88, 85,230, 60, 13,199,113, 23,122,247,238, 61,165, 87,175, 94, 43,250,244,233,
-147,149,149,149,213,112,249,242,229, 97, 52, 77, 91, 19, 18, 18,200,228,228,228,180,223,126,251,173, 81,147, 38, 77, 38,222,190,
-125,251, 28, 65, 16, 86, 55, 50,152,144,156,156,220,169, 71,143, 30,251, 39, 78,156, 24,222,161, 67, 7,137, 74,165,130, 80, 40,
- 68, 74, 74, 10,254,248,227, 15,203,238,221,187,211,139,138,138,170,243, 9,158, 95, 82, 51, 50,162, 70, 76,125,111,223,196, 33,
- 3,253,255,213,244, 5, 73, 72, 72, 8, 96, 52,226,206,195,108, 92,189,243,135,117,243,133,171,106,179,217, 60, 12,238,127,130,
-231,151,223,238,221,235,221,115,198,140,125,243,254,243,159, 32,100,101, 9, 67, 66, 66, 32,145, 72,240,224,193, 3, 36,179, 44,
-189,120,227,198, 28,155,200,122,210, 81,225,165, 0,150,178, 44, 43, 4, 0,185, 92,142,119,223,125, 23,142,159,220, 89,191,126,
- 61,140, 70, 35, 0, 8, 9,130, 88, 10, 96,203,179,110,197,178,163,160,160, 96,206, 43,175,188, 18, 39, 20, 10, 43,140,122,235,
-227,227, 3,173, 86, 11,154,166,153,140,140,140, 59, 62, 62, 62, 16,137, 68,224, 56,206,229,115,148,159,159, 63,103,216,176, 97,
- 11, 72,146,172,200,242, 1,165, 82,153,118,230,204,153,198,111,189,245, 22,249,223,255,254, 55,101,194,132, 9,210, 51,103,206,
- 48, 28,199,237,127,210,247,160, 75,151,157,192,134,152,215, 0,188, 6,148,115,120,207,176,109,171, 86, 72,133, 46, 93,118, 98,
- 3,254,226,116, 28,198,179, 11, 34,155, 21,170,185, 44, 62,126, 5, 74,252, 44, 42,229,238,178,179, 11, 54,196,160, 86, 57,221,
-129,163,246,213,235,245, 96, 24,166, 50,107,222,239,123,247,238, 93,241,219,111,191, 5, 76,153, 50,165,225,127,254,243, 31,101,
-143, 30, 61, 60, 29, 15, 48, 26,141,236,225,195,135,245,235,215,175, 47,190,112,225, 66,234,248,241,227, 59, 84,150,206,135, 15,
- 31, 30, 93,184,112,161,119,255,254,253,155, 0, 40,245,207, 82,171,213, 72, 75, 75,195,159,127,254,153,102,181, 90, 15, 85, 35,
- 75,249, 0,230,141, 26, 53,106,233,182,109,219,234, 76,152, 48, 33,123,247,238,221,127,162, 36, 96,177, 51, 84, 67,134, 12,105,
-185,109,219,182,144, 9, 19, 38,100,163,196,143, 44, 29, 60,120,240,176,163, 59,202,251,105, 85, 58, 50,177,213, 98,177,112, 38,
-147,137, 51, 24, 12,156, 78,167,227,224,250, 43,240, 7, 51, 51, 51,185,244,244,116,238,225,195,135, 92,106,106, 42, 7,224, 91,
- 39,197,235,170,193,242,216,177, 99, 71,163,208,208,208,207, 21, 10,197, 9,129, 64,160, 17, 8, 4, 26,169, 84,250,131,159,159,
-223,167,139, 23, 47, 14,229, 56, 78, 92,137,138,174, 8, 66,145, 72,244, 86, 96, 96,224, 65, 95, 95,223,116, 31, 31,159,244,192,
-192,192,131, 34,145,232, 29, 0,162, 42,148,121, 69,144, 9,133,194,143, 60, 60, 60, 78, 73,165,210, 92,169, 84,154,235,225,225,
-113, 74, 40, 20,126,132,202, 3,169, 86,202, 41,145, 72, 62, 10, 8, 8, 56,165, 84, 42,115,149, 74,101,110, 64, 64,192, 41,137,
- 68,242, 56,156,143,211, 43,177, 11, 45, 3,103, 3, 65, 16, 84,235,214,173, 55,180,109,219,118, 93,219,182,109,215,181,106,213,
-234,107,155, 85,146,179, 89, 91, 12,168, 56,120,227,223,153,206,167,198, 25, 25, 25,185,125,219,182,109,236,156, 57,115, 52, 77,
-154, 52, 41,152, 51,103,142,102,219,182,109,108,100,100,228,246,154,114, 6, 5, 5,213,139,140,140, 44,216,180,105, 19,157,148,
-148,196,109,218,180,137,142,140,140, 44,112,138, 12,255, 36,242, 78, 0,136,176, 89,127, 14, 1,216,131, 18,231,247, 80, 0, 68,
-140, 41,134,179,205, 62, 60, 1,160, 79, 5,101,239, 46,103,152, 41, 38,134,179,249, 84,157, 4,144,232,176,222, 13,101,253,191,
-158, 4,167, 75,180,104,209,226, 30,231, 0,139,197,194,169,213,106, 46, 41, 41,137,187,112,225, 2, 23, 22, 22,118,207, 13, 78,
- 63, 0,111, 3, 56, 28, 28, 28,124,187, 99,199,142, 15, 59,117,234,244,176, 94,189,122, 41, 34,145,232, 10, 74, 34,188, 71,218,
-150,165, 0,154, 84,193,217, 81,165, 82, 45, 12, 11, 11, 59,212,184,113,227, 75,245,235,215,191,226,235,235,123, 68, 38,147, 45,
-194, 95,145,177,171, 91,231,123, 12, 29, 58, 52, 77,167,211, 49, 47,189,244,210,109, 87, 39, 53,107,214,236,162, 78,167, 99, 70,
-142, 28,153, 14, 32,250,159,240,188,243,156, 79,133,243, 31,133,198, 54,193,116,208, 97,249,196,197,113,159, 56, 29,179,213,118,
-110,149, 5,193,113,156,128,227, 56, 15,142,227,188, 57,142,243,229, 56, 78,197,113,156, 39,199,113,210, 42,204,223,124,197,254,
-251, 56, 39,219, 4,148,193,246,223, 25, 85,237,127,174,239,103,104,104,168, 79,187,118,237,166, 30, 56,112,224,163,251,247,239,
-127,116,224,192,129,143,218,181,107, 55, 53, 52, 52,212,231,113,210, 25, 20, 20, 84,175,121,243,230, 95, 53,107,214, 44,189,121,
-243,230, 95, 57,137,172, 39,153,119,137, 77,196, 52,179, 45, 13,109,219, 8,148,196,194, 90,107, 19, 54, 17, 21,244,212,170,195,
-105,231, 59, 4,160,175,109, 57,100,219, 22,246, 20, 56,203,161, 65,131, 6,199, 91,182,108,121,175, 85,171, 86,201,173, 90,181,
-186,215,162, 69,139,123, 77,155, 54,189, 23, 17, 17,113,175,110,221,186,247,252,253,253,143,215,160,140,124, 1,132,160,252,103,
-192,158,118,157,239, 30, 25, 25,121, 85, 38,147,185,140, 13, 38, 20, 10,231,181,106,213,234, 38, 74,102, 74,242,237, 39,207,201,
- 11,173,255, 33,240,149,240,217,227,148,162,242,207,140, 84,181,159,191,159,207, 54,167,203,111,117,217,132, 76, 67,155,192,145,
-212, 2,167, 35,159,189, 78, 69, 56,136,166,167,193,201,215, 37,158,147,231,228,133, 86,173, 67,200,223, 2, 30, 78, 48, 63,230,
-126, 30,207,197,104, 60,126, 0, 0, 32, 0, 73, 68, 65, 84, 54,170, 19, 19,235,113, 56, 93,241,221,127,202,156, 60,120,240,224,
- 81, 91,109,103,119, 0,231,236,189,194,138, 84,105,117,102, 19,212, 68,217,158,230, 57,121, 78,158,147,231,228, 57,121, 78,158,
-243, 31,199,105,199,138, 10,182,223,113, 90,255,250, 25, 21, 94, 79, 36, 76, 15,111, 86,229, 57,121, 78,158,147,231,228, 57,121,
- 78,158,179,166,152,248,140,138,172,110,246, 21,126,232,144, 7, 15, 30, 60,120,240,224,193,163,246, 80,117, 28,173, 61,123,246,
- 8,236,255, 71,141, 26, 53,158, 97,152,169,246,117,129, 64,176,230,187,239,190,219, 82,217, 21,134, 15, 31,206, 84,198,233, 10,
- 85, 93,199, 21,103,139, 38,202, 73,126,222,138,247,138,138, 13, 43, 83, 50,153, 11, 38,147,169,185,125,159, 76, 38, 75,220,178,
-101,203,221,218, 78,231,248,241,227,155, 56, 95,167,126,152,168,187,175,151,236,221,130, 34,221,242, 91,247,116, 95,243,117,236,
-169,192, 31, 64,180,151, 76, 60,168,133, 74,220,241,207,124,211,101,189,149, 57,140,146,217,176,133,207, 99,134,131,131,131,155,
- 42,149,202, 49, 0, 90, 24, 12,134, 64,133, 66,145, 11, 32, 65,163,209,108,207,206,206,190,227, 46, 79,183,250, 72, 3, 16,110,
- 91,125,120, 46, 21,245,220,217, 87, 21,250, 68,192,196, 1, 82,130,128,245,100,242, 95,206,232,125, 27,193,196,114,229,183,247,
-105, 4, 11,199, 65, 76, 0,230,147,247, 33,123,142,138, 74, 9, 32, 10, 37, 33, 28,110,160, 36,252,132,129,127,100,121,240,120,
-174,224, 60, 84, 88,186, 46,172, 64, 76,116, 21, 11,137,175, 56,112, 42,128,243, 51,155,205, 34,137, 68, 2,139,197, 2,133, 66,
-190,246,237, 9,227, 63, 7,137, 34,138,198,187, 91,182,108,169,241,151,174,171,115, 29, 0, 63, 57,159,239,163,148, 47, 56,123,
-248, 99,159,174, 3, 22, 47,178, 60,200,139,213,106,181,164, 84, 42,133,217,108,134,183,183,119,167, 73, 19, 39,190, 68,138, 56,
-139, 88,236,113,121,197,138, 21,217, 53, 77,231, 7, 31,124, 16,108,181,154,254,205,178,172,196, 98,177, 72,157,175,227,173,240,
- 88,124,246,240,199,138,110,209,139, 62, 7,120,161,245, 20, 32,169,231,227,113,110,229,168,238,205, 58,182,104, 12, 54,225, 60,
- 76, 22,235,160,179,233,186, 65,159, 94,201,156,158,174,179,182, 69, 45, 4,172,252, 31,130,160, 97,195,134, 83, 2, 2, 2, 70,
-110,220,184, 81,220,176, 97, 67,200,100, 50, 24,141,198,144,251,247,239,135, 76,154, 52,169,155, 92, 46,223,149,146,146,178, 22,
-238,125, 8, 46,252,236,214,255, 3, 0,116, 26, 51, 63, 28, 37, 31,139, 54, 56,239,235, 62,110,126, 56,128, 25, 40,251, 97,228,
- 44,148,132, 80,112,213,234, 72,142,108, 91,134, 65, 99, 63, 18, 2,152, 84,154,120, 18,248,225,219, 85,232, 55,234,189, 50,219,
- 9, 14,194,195,219,150, 33,122,236, 71, 21,126, 71,177,111, 99,130, 98, 89,174, 66, 75, 60, 73, 18,244,137,123,156,171, 15, 12,
-231,160, 36, 6, 88, 57, 74,148,124,208,217,229,241, 3,154, 10,114,172, 20,227, 50,224,172, 88, 36,200, 61,122,135, 41,119,110,
- 76, 27, 80, 20, 83,210,182,138,133, 96, 14,166,120,159,157, 61,123,182, 48, 58, 58, 26,155, 55,111,238,252,245,215, 95, 79,212,
-106,181, 63,218,238, 91, 50,255,248,242,224,241, 92, 11, 46,215, 66, 75, 40,192,134, 67,251,182, 52,202,201,205, 67,204, 91, 31,
- 98,231,206,157, 40, 44, 44,132,143,143, 15, 36, 98,177,104,229,210,255, 11, 86, 42, 61,130, 99, 38,198,110, 0,208,180,166,169,
-169,230,117, 26, 59,159, 79,216, 62,165, 35, 20,144, 34,137, 68, 66,238,218,181, 11, 69, 69, 69, 80,169, 84,144, 72, 68,228,138,
- 69,159,200,149, 74, 79,249,155,147,103,118, 70, 73,252,159, 26,193, 98,209,117, 62,176,115,139, 82,173, 86, 99,220, 59,177,112,
-190,142, 88, 44,102,236, 47, 22,190,142, 61, 21,204,222,248,238,216,102, 47,122, 1,214, 91,151, 32, 18, 8,160,240,246, 65,148,
- 80, 0, 1,129,230, 49, 39, 82,103, 1,248,244,121,201,108,195,134, 13,167, 12, 31, 62,124,228,130, 5, 11,196, 36, 89, 18,114,
- 78,175,215,195,104, 52, 34, 52, 52, 20,103,207,158, 21,207,153, 51,103,228,247,223,127,143,148,148,148,213,213,229,191,117,235,
- 86,253,240,240,112, 19, 0, 12,108,233,229,188,175,158,125, 31, 0,120,121,121, 85,201,231,167,242, 48,223,186,117,181,133,253,
-188, 41,189, 66,153, 10,182,155, 0, 40, 42,227, 98, 89, 78,120,242,171, 73, 21,238,127,107,193, 14,250,198,158, 11, 77, 27, 54,
-108,104,116,220,238,233,233, 89,209, 41, 65, 58,157, 46,220,121,163,253,120, 43,197, 4, 86,116,189, 62,239,174,119, 41,192, 40,
- 6,194, 29, 59,118, 0, 0,190,252,104,180, 96,211,207,121, 66,161,176,164,169, 93,186,116, 41,230,205,155, 39, 57,113,226, 68,
-255,109,219,182,245, 63,120,240,224,202,138,132, 42, 15, 30, 60,158, 73,145,229,248, 91,177,208, 34, 9,194, 75,233,229,137,215,
- 94,127, 27,199,143,255,128,174, 93,187,150,238,107,208,160, 1,134, 15, 27,140,239,182,174, 0, 0,175,199, 73,209,227, 94,167,
-176, 88,255,105,191,145, 95,205,127,152,173,187,114,228,200, 17,116,233,210,165,204,249,175,143,120, 13,223,126,179, 20,149, 68,
-153,119, 11, 4, 71,138,189,148, 30, 24, 21,243, 14, 92, 93,103,226,184, 33, 71,250, 14, 95,213, 59, 39, 95,191,130,175,103, 79,
- 30,141,130,253,250,180,108,214, 20,133,251,215,226,143, 34, 19,142,103,154,240,102,212,191, 16,233, 43, 71, 23,154, 65,176,135,
-168,103,182,158,122, 46,132, 86,112,112,112,211,128,128,128, 50, 34, 75,171,213, 66,167,211, 65,163,209, 64,171,213,130, 36, 73,
-196,198,198,138,207,157, 59, 55, 50, 56, 56,248,180, 27,195,136, 15,109,150, 44, 64, 32,210,205,157, 59,215, 28, 24, 24,104, 86,
- 40, 20,156, 80, 44,213,118, 31, 55,223, 11, 0, 72,161, 88,187,114,229, 74, 75,104,104,168, 73, 40, 20, 74,222,123,239, 61,210,
-157, 52,155,205,102,206,145,211, 98, 49,151,110, 95,188,120,177, 37, 40, 40,200,172, 80, 40, 56,171,213,125,163,227,205, 7, 5,
-144,138, 5,144,138, 5,144, 73, 68,240,170,223, 14,210,194, 63, 65,211, 52,150, 44, 89, 98, 13, 14, 14,182, 40, 20, 10, 78, 34,
-145,136,167, 77,155, 86,101, 58,199,143, 31,207,169, 84, 42,171, 66,161, 16,207,155, 55,175,220, 76,161, 51, 55, 50, 32,151,136,
-160,144, 10,209,184, 65, 24,164,156,209,237,180, 10, 4,101,189, 17,164, 82, 41, 58,119,238,140, 22, 45, 90,224,224,193,131,221,
-121,161,197,131,199,115,129, 10,103, 24, 10, 1,224,200,145, 35,221, 80,242, 65, 68, 68, 71, 71, 19, 37,103,112,152, 49,101, 24,
-222, 28, 55, 10, 12,195,150,126,231,139, 32, 9, 76,126,163, 63, 88,214,157, 17,137,170,167,120,214,224, 58,165,156, 28, 65, 10,
- 0,160, 81,189, 16,110,226,155,255, 1,195,178,127, 13,148, 8,128,183,199,245, 43,217, 86, 11,233, 20,128,193,135,147, 94,133,
-171,235, 52,109, 84,135,164,173, 38, 16,101, 63,246,248,119,124,108,147,231,116,129, 22,117, 67, 34, 40,163, 17, 38, 19,133,248,
- 59, 5,198, 83, 25,250, 64, 82,149,170, 94,245, 90, 7,153, 64,157,137,122, 94,146,198,217,122,234,185,200,187, 82,169, 28,179,
-113,227,198,114, 34, 43, 39, 39,135,212,233,116,176, 90,173,172, 86,171, 5,195, 48,152, 57,115,166,104,206,156, 57, 99,178,179,
-179,231,217, 53,143, 43, 78,155,223,213,140, 91,183,110,213,155, 61,123,182,181,103,207,158, 15, 27, 52,104,160, 23, 8, 4, 8,
- 9, 9, 89, 21, 21, 21,229,187, 96,193, 2,107,255,254,253, 83, 5, 2, 1, 26, 55,110,172,255,243,207, 63,235, 1,144,187,155,
-119, 71,206, 45,103,214,112, 0, 64, 16, 4,162,162,162,210, 26, 55,110,172, 23, 8, 4,184,123,120, 49,231,238,253, 20, 9, 73,
- 52, 9,245,182, 53, 34, 4, 32,247, 44,245,196,139,138,138, 74,111,218,180,169,142, 36, 73,220,188,121, 51, 12,229, 63,107, 85,
-142, 83, 46,151, 83,175,191,254,250,195, 59,119,238,184, 58, 30, 66, 1,137, 14, 77,109, 6,172,208,182, 64,250,197, 10,211, 41,
- 18,128,158, 51,101,180, 80, 37, 3,164, 94,254,102,141, 70, 3,165, 82, 89, 98, 33,179, 90,241,251,239,191,163, 99,199,142,221,
-246,236,217,115,142,127,222,121, 78,158,243, 47,184,210, 34,207,160, 53,203,241, 67,247,101,124,180,206, 58,103,138, 97,104, 52,
- 8, 15,194,226,255, 27, 15,134, 97,193, 48, 12,104,219, 47,195, 48,160,172,214, 90, 73,217,227, 92,199, 71, 41, 95,240,195,174,
-119,125,122, 14, 89,218, 43,110,246,184, 83, 12, 3,176, 44, 5,138, 2, 24,150, 2,203, 48,160,168,218,113,205,161, 88, 22,245,
-194,130, 17, 55,123, 28,156,175,179,253,187, 61, 3,207, 28,138, 85,116,141, 94,244,225,221, 52,195, 18, 94,216, 63, 89,200,196,
- 82, 33, 39,148,193, 98,161,161,181,176, 22, 0,122, 19,197, 90, 57, 15,127, 25, 0, 8, 73,226,121,154, 93,219,162, 97,195,134,
-101, 68,214,178,101,203,252,215,173, 91, 23, 10, 0,195,134, 13,203,232,213,171, 87, 94, 82, 82, 18, 66, 66, 66,136,188,188,188,
- 1, 0,222,179,157, 59, 3,192,186, 10,120,245,225,225,225,166,128,128, 0,179, 93, 16,145, 36, 9,161, 80,136,240,240,112, 83,
- 96, 96,160,185,113,227,198,122,177, 88, 12,146, 36, 97, 23,122,110,117,243, 8, 2, 2,129, 0,118, 78,103,107,143,157,179, 58,
- 16, 9,201,242,205,155, 3, 39, 73,146, 46,175, 87, 97, 29,146,201, 56, 0, 21, 30, 47, 32, 29,154, 71, 97,229, 30, 2,241,191,
- 67, 4,224, 44,199,113,184,126,253, 58, 82, 82, 82, 32, 22,139, 17, 28, 28,140,121,243,230,193,108, 46,209,187,195,135, 15,239,
- 6,224, 38,255, 4,243,224, 81,138,179,207,160,192,114,182,106, 85,238,163,117,228,200,145,110,209,209,209,231,236, 2,168, 68,
-236,184, 16, 63, 20, 13,138,178, 2, 28, 87, 43, 66,171,162,235, 48, 12, 91,233,117,236, 62, 90, 44,203, 9, 93,138, 44,150, 5,
- 77, 81,181,114,247, 88,134, 2,203, 82,112,117, 29,130, 32, 25, 91,131, 47,230,159,147, 39,143,224,240,122, 36, 21,222, 0, 23,
-104, 19, 66,253,164, 18,228, 25,209,240,133,102,130,223, 13, 20, 46,221, 72,132,191,167,242,185, 41, 23,131,193, 16, 40,147,201,
-160,215,235, 75, 45, 89,235,214,173, 11,181, 88, 44, 36, 0, 8,133,162, 48, 53, 27, 42, 99, 88,192, 91,153,133,194,194, 98, 63,
-142,227, 8,155,224, 89, 10, 96, 11, 42,137,238, 47, 22,139, 75, 5,138,163, 0,146, 74,165, 53, 18, 48,118,216,197,153, 88, 44,
-118,185,221,121,120,173, 42,136, 29,133, 22,184, 18,171,150,147,216, 18, 8, 4,176,251, 70, 85, 5,137, 68, 82,154,119, 87, 16,
- 10, 28,174, 39,168,190, 43,166,213,106,133, 78,167, 67, 81, 81, 17,100,178, 18,131, 25,199,113, 32, 8,226, 61, 0,239,243, 79,
- 49, 15, 30,174,181,200, 51, 44,182, 92, 11, 45,148,152,236, 8, 0,160, 41,171, 75,241,179,231,240, 37, 60,204,214, 35,216,255,
- 23,112,213,140,122, 58,114,228,200,173, 33, 33, 33, 29,236,235, 82,185,167,223,196,119, 63, 3, 77, 91,225, 37, 39,241,214,152,
-126,101, 68, 86,137, 69,203, 82,225, 55, 65, 10,139,245,159,246, 27,190,122,190,183,210,239,138,179,248,137,139,191,246, 90,161,
-198, 28, 70,146,191,162,144, 8, 97,134,191,253,217,120,135,198,253,198,174,245,115,167,187,109, 15, 36, 72,209,107,147, 86, 77,
-228,132,158,205, 21,164,246,252,199,227,254,117,192, 81,204,249,250,250, 30,233,243,218,202,222, 57, 5,188,143,214,211,128,151,
-183,138, 12,123,185, 59, 94,126,239, 43,156,249,228, 99, 14, 40,132, 95, 72, 40,217, 99,202, 23,240,124,121, 32,174,190, 53,134,
- 5, 10,158,139,188, 42, 20,138, 92,131,193, 16, 98, 52, 26,161,209,104,160,209,104,202, 10, 2,145,136,152,248,206, 84,127,145,
- 88, 2,202,106,193,241,237, 95, 84,201,105, 15,225, 48,176,165, 23, 4, 34,137, 54,161, 97,195, 85, 66,161, 16, 36, 73,226,240,
-218,143,223,219,191,252, 93, 47, 0,184,113,100,173,102, 84,236,154,213, 36, 73,194,108, 54, 75,171,147,238, 71,143, 30,133,153,
-205,102,147, 77,160,217,133, 31, 30, 60,120, 80,215,108, 54, 27, 29,183,187, 3,185,194, 11, 80, 53, 0, 20,129,229,172,103,169,
-169,169,117, 40,138, 50, 8,133, 66, 88, 44, 22,183, 84, 17, 73,146,226,155, 55,111,134,177, 44,235,242,248, 22, 17,117,128,224,
-150,128,196,219,237, 60,115,110,116, 68,109, 98,235,137, 69,144,230,193,227, 89,177,108, 61,131,207, 4, 81,193,255, 82,161,213,
-253,200,145, 35,156, 99, 15,145,166, 40,155,200,250, 75,244, 48, 12,139, 76,181, 9, 73, 73,119,177,114,229, 74, 92,186,250,145,
-247,130, 5, 11,164,115,230,204, 49,143, 28, 57,114, 57,203,178,173, 72,146,188,129,191,134, 42,202, 90,133, 88,182,238,181,107,
-215, 26,218,215, 41,138,130,151,151, 23,188,188,188,208,180,113, 88, 57,145,197, 48, 12,172,149, 12, 29,218,125,180, 8,142,229,
- 40,138, 1,195,178,165,226,167, 80, 99, 14, 59,116,250,122, 35,135,195, 95,176,255,233,220,174,121,197, 98,112,210,188,210,124,
-236, 90, 63,119,250,130,205,155,165,133, 76,192,180, 81,175,189, 25, 57,124,212, 24,188,254,234, 43,221,204, 22,203, 65, 1,201,
-177, 84,233,245, 64,130,131,179,143, 22,143, 39,132,228, 34, 61, 37,146,202,225, 25, 92, 31,119,117,140, 88, 32, 16,252,114,191,
-200, 32, 38, 5, 66,144, 66, 49, 18, 10, 77,212,115,148,221,132,228,228,228,144,186,117,235, 66,163,209,128,166,105,118,216,176,
- 97, 25, 66,161, 40, 76, 40, 18, 17,209,163,166,178,217,217,153, 20, 73, 10,192,113, 12, 94, 25, 62,137,144,202,228, 98,171,197,
- 66,163,100,232,208,149, 53,203, 49,132,131, 87, 84, 84,148,175,125, 38,224,254,229,239,122, 57,236, 83,190,244,210, 75,190,142,
-179, 14,221,180, 22, 17, 35, 71,142,148,135,135,135, 19, 0,240,235,246,217,118,235, 25, 49,112,224, 64, 89,120,120,137, 31,254,
-143,107,223,117,155,211, 95,193, 1,197, 15,128,226,212,114,150,172,129, 3, 7, 74, 27, 54,108, 88,173,103,209,230, 0, 95, 97,
-236, 46, 15, 33, 13,100, 95,119,139, 43,166, 13,168, 80, 79, 8,151,191, 66, 66,226,233,103,238,240,241,137,159,121,177,197,131,
-135, 91,112,210, 34,207, 20,186,217, 4, 98,119,219,111,169,224, 18, 2,128,205, 68, 71, 56,232, 44, 80,180,181,156,200, 98, 24,
- 6, 34,194,140,149, 43, 87,226,253,247,223, 7, 0,241,244,233,211, 15, 44, 88,176, 96, 40,203,178,173, 56,142,235, 66, 16, 68,
-101,189,198,179, 33, 33, 33, 57, 28,199,137, 72,146,236,178,118,237, 90,223,254,253,251,195,203,203, 11, 28,203,149, 19, 89, 12,
-195,194,106,181, 84,248,153, 91, 31,165,124,193, 15,123,166,249,244, 28,188,180, 23,195,178,167,236, 34,139,101, 24,128, 45, 57,
- 41, 63, 55, 3, 39,143, 31,196,134,245, 27, 10, 65,112,183,193,129,181,137, 65, 84, 32, 6, 91, 93,252, 53,177, 75,231,118,205,
-177, 96,243,102,233,173,107, 89, 7,166,126, 48, 43,114,248,168, 49,216,243,221,118,144,116,209,117, 71,145,197, 80, 44,138, 11,
-243, 6,254,196,251,104, 61, 45,248,158, 60,117,138, 24, 51,102, 12,171,213,106, 33,150, 72, 88,138,162, 4,255,254,247,191,153,
-247,223,127,159,204,206,206,134, 70,171, 19, 2,240,197,115, 96,214,210,104, 52,219, 39, 77,154,212,237,252,249,243, 98,146, 36,
-161,209,104,208,163, 71,143, 60, 53, 27, 42,155,248,206, 84,255,204,204, 12, 90, 41, 23,154,197, 98, 17,114,115,115,217,110,253,
- 71, 27, 71,141,127,191,206,251,179,227, 54,102, 93, 94,191,206,157,107, 56,206, 4,116,222,183,105,211, 38, 75,104,104,168, 73,
- 42,149, 74,198,141, 27,231,214,248,161,197, 98,225, 22, 47, 94,108,118,158, 93,104,177, 88,184,149, 43, 87, 90,194,194,194,204,
-114,185,156,163,168,170,253, 62, 73,146,160,223, 90,176,131,166,105,186,140, 21,203, 46,178, 40,150,208,125,245,213, 87,214,176,
-176, 48,139, 66,161,224,164, 82,169,216,157,116, 78,157, 58,149,243,241,241,177,122,120,120,136, 99, 99, 99, 31,107,214, 33,197,
- 64,184, 96,109,105,120, 7,169,151,151, 23,180, 90,109,105, 90, 67, 66, 66,120,177,197,131,135, 11,148,211, 34,207,166, 21,206,
-189, 56, 90, 44,160,203,201,205, 11,244, 15,170, 15,154,166,109, 11, 5,154,162, 48,237,237, 81, 88,190,254, 43, 0,176,139,173,
-168,233,211,167, 31, 0, 80,101, 99,182,107,215,174,249,211,167, 79, 87,230,228,228,156,216,186,117,171,239,232,209,163, 49, 99,
-198, 12, 44, 93,186, 20, 34,137, 12,190, 1,117, 75,175, 99,191,110,158,186, 0, 28, 56, 93, 5,118, 58,107, 73, 35, 5,161, 95,
- 64, 61, 80, 12, 5,150,162, 64, 81, 20, 8, 65, 73,214, 78, 30, 63,136,209,111, 76,133, 72,170,244, 89,179,114,137, 49,242,229,
-144,161,115, 38, 76, 48,187, 97, 4, 36,111, 93,203, 58, 48,245,253,216, 40,187,200,218,183,125,253,237, 47,103, 14,222, 41,149,
- 8, 75,175, 67,177, 44, 72, 82,192,251,104, 61, 37,145, 37,149, 74,247, 30, 59,118,236, 94,219,182,109, 9,189, 94, 15,138,162,
-144,151,151,135, 3, 7, 14, 36,112, 28, 7, 31, 31, 31, 28, 59,118,140, 29, 61,122,244, 94,179,217,252,218,179, 46,182,178,179,
-179,239,200,229,242, 93,179,102,205, 26, 53,115,230, 76, 17,203,178, 72, 74, 74, 2, 8,130, 19,137, 37, 32, 73, 18, 34,145, 16,
-197,197, 26, 86,225,169,202,178,114, 2,133, 72, 44, 1, 41, 16, 87, 54, 77,248,161, 45, 24, 41, 72,161, 88,107,159, 9, 40, 22,
-139,113,117,207, 50, 77,247,113,243,149, 0, 32,150,202, 11,251,244,233,147,214,188,121,115,253,111,191,253, 86, 15,229,103, 29,
- 58, 63,159,244,144,113,177, 2,133, 92,166,143,138,138,122,104,231, 76, 61,181, 70, 51,102,242,108,130, 16, 72,244,209,209,209,
-105,145,145,145,122,129, 64,128,196,131, 75, 52, 67,198,197,202,136, 74,130,172,158,184,199,189,117, 99,207,133,166, 95,124,241,
- 5,213,191,127,255, 71,118,127,177,212,212,212, 58, 3, 6, 12,144,174, 88,177,130, 26, 48, 96, 64,250,139,255,207,222,117,199,
- 53,113,254,225,231, 46,155,189, 71, 16, 68, 69, 81, 20,112,139, 11,197, 58,107, 29,173,226,194,189, 71,157,173,179, 14,220, 74,
-221,168,117,214, 90,220, 84,171,162,214, 81, 23, 42, 46, 16, 7, 67, 69, 1, 25, 97, 67,128,144,157,187,223, 31, 36, 52, 32, 35,
- 65, 91,107,127,121, 62,159,124,146,220,189,247,220,123,251,185,239,251, 29, 94, 94,197, 36, 73, 34, 50, 50,210,185, 58, 75,149,
- 6, 70, 70, 70,138, 9, 19, 38,188,123,254,252,121,109,163, 14,171,133,139,139, 11, 40,138, 66,183,110,221, 32,145, 72, 12,150,
- 45, 3, 12,248,111,162, 98, 30,173,170, 51,195, 43,148,138,111,167,204, 94,185, 19, 32, 76,181,238, 2,127, 25,150,104, 16,223,
-127,255,157, 9, 0, 35,141,216,154, 59,119,110,141,101, 78,180, 68, 86,155,128,128, 0, 44, 94,188, 24,155, 55,111, 86,253,248,
-227,143,140,248, 87,137,242,177,211, 87, 20, 84, 88, 15,104,208,197,148,130,250,182, 50,190,124,161,104,133,239, 87, 27, 86,166,
-101,150,220, 25, 59,109,105,217,221, 75, 5,160,144,224,171, 0, 96,207, 79, 63,137, 88, 92,115,147, 33,195, 71, 1, 64,207,157,
-219,130,206,172,193,129,154,197, 22, 77,120,124, 59,119,129,149, 70,100,237,218,186,246,185, 5,145, 25, 60,243,187, 24,133,246,
-122, 0,192,218, 12,103,124,191,218,208, 59, 43, 79,180,221,112,158,253,115,224,112, 56,171,175, 95,191,110,226,237,237, 77,228,
-230,230, 66,165, 42, 61, 34,114,185, 28, 66,161, 16, 69, 69, 69,144, 74,165,104,221,186, 53,185, 99,199, 14,147,153, 51,103,174,
-150,201,100,211, 63,247,237,126,251,246,237,174,115,231,206,225,214,173, 91,195, 22, 45, 90,196,114,116,116, 36, 44, 44, 50, 9,
-133, 92, 6,128,166,179,179,179, 41, 99, 83, 75,129,173,131,243,187,244,140, 44, 15,133, 92, 6, 74, 37,175,210,219, 92,157,222,
-225,251, 23, 47, 94,212,219,180,105,147, 76, 59, 18,112,248,130,157, 59, 90,183,110,109, 29, 28, 28, 44,235,215,175, 95,178,198,
-121, 93, 23,103,248, 43,111, 48,251,197,139,103,205, 42,114,250, 77,222,116, 80,195,169, 29,141,216,255,187,189, 7, 27, 53,106,
-100,237,233,233,153, 92, 29,111,131, 6, 13,196,124, 62, 95,214,164, 73,147, 98, 22,139, 85,106,201, 82, 40, 74, 26, 52,104, 64,
- 57, 56, 56,200,154, 54,109, 90,172,175,211,190,145,145, 17,173,177,138, 85, 6,125,162, 14, 89, 12, 40, 3, 2, 2,202, 50,195,
-127,223,168,145, 96,212,168, 81,252,121,243,230,225,224,193,131,184,123,247,238,123, 98,191,107,215,174,184,125,251,246, 74,252,
-135, 18,235, 26, 96,192,255, 25,170,207,163, 85, 17,135, 14,133,252, 9, 45,159,166,202,176,102,205, 26,174,218,146,213,115,206,
-156, 57, 16,139,197, 86,149, 52,235, 1,117,174,141,202, 68, 86, 80, 80,208, 49,154,166,157, 1,116, 86,169,168, 7,251, 15, 28,
-234, 86,213,250,134, 12, 25,242, 30, 39, 77,144, 12,146, 36,138, 57, 44,250,201, 79,251, 14, 30, 41,215,190,212,249,189, 49, 8,
- 60,221,185, 45, 72, 12,160,103, 69,177,133,191,202,140,148,113,106, 48,117,218,212, 50,145,181,115, 91,208, 85,207, 54,117,191,
- 89, 58,113,117,165,226,108,245,138, 41, 38, 36, 73,116,172,224,163,245, 30,231, 71,128,129,243, 47,116, 11, 8, 8,104,238,227,
-227, 67,106,139, 44,153, 76, 86,150,184, 83,227, 44,158,150,150,134,174, 93,187,146,205,155, 55,247,122,248,240, 97, 55,252, 85,
-206,233,115,221,118,213,219,183,111,119, 56, 58, 58, 94, 91,190,124,249,168,156,156,156,175,242,243, 11,108,194, 14,173, 70,159,
- 33,211,136,174,125, 71,136,100, 52,147,151, 42,200,108,114,243,226, 81,235, 75, 39,118, 65, 46,147, 77, 1, 16,135,191,210, 59,
- 84,228, 44,209,164,113,104,210,164,137, 72, 91,168,212,173, 91, 87,226,228,228, 36,245,244,244, 44,155, 94, 69, 52,223,123,219,
-174, 47,167,218,255, 75, 84,211,254,212,136,182,138,105, 35,140,141,141,161, 17, 95,250,244, 83, 59,218,178,210, 27,101,205, 81,
-135,101,156,234,244, 14,229,116, 90, 72, 72, 72,143,144,144,144, 54, 0,158,160,180,214,161, 2, 40, 29, 74,212,114,154, 15, 84,
-127, 12,215,187,129,243,255,149,243,115, 70, 87,252,229,155, 5,148,250,106,221,170, 82,104,213, 4,141,227, 59, 0,114,238,220,
-185,249, 98,177,216,106,212,168, 81,213, 46,147,145,145,113,240,240,225,195,229, 68,214,160, 65,131,198,133,134,134, 94,203,202,
-202,170,213, 86, 89,153, 27,173,185,117,126,161, 85,215,126, 27,230, 0,248,177, 10, 67, 30,229,217,134,255,205,206,109, 65,103,
- 42,136,173, 95, 1, 12,170, 74,149,246,250,114, 32,142, 30,218,169,241,237, 50,122,254, 56,237,210,176,168, 85,149, 70, 43, 90,
-154,114, 87,169,251, 49,207,224,163,245,207,128,205,102,251, 45, 90,180,136, 45, 18,137,222, 19, 89, 21,133, 86, 97, 97, 33,158,
- 62,125,138,177, 99,199,114,163,163,163,253,228,114,249,141,255,194, 62,200,200,200,136, 87, 39, 35,157,173, 73,225,192,229, 25,
-177, 71,140,159,227, 92, 22,117,120, 98, 23,164, 18, 49, 0, 48,117, 73,239,192,100, 50,217,209,209,209,174, 26,171,149, 92, 46,
-231,106,166, 63,126,252,216, 85,147, 91, 75, 34,145,232, 28,117,248,119,113, 62,123,246,204, 89, 19, 29,169,137, 46,100, 50,153,
-236,200,200, 72,103, 13,167, 84, 42,213, 41,234,144,195,225,176,163,163,163,157, 85, 42,213, 71,139, 58,212, 22,198, 40,173,179,
- 88,174,214,162,218,183,140, 32, 8,130, 54, 12, 27, 26, 96,192,103,143,138,145,146,213, 23,149,174, 9, 26,199,119, 61, 22, 97,
-186,184,184,244, 26, 62,124,120, 57,145,229,239,239,175, 58,125,250,244, 77, 62,159,159, 73,146,100,188,190,253, 40,243,209,194,
-123,111,144, 32, 73,242,105,231,182, 77, 65,146,228,211,165, 19, 39, 74,215,224, 64, 57,177,117,246,204,201,222,169,249, 49,149,
- 75, 51, 0, 54,246,117, 16, 48,238, 91, 4,140,251,214, 10, 64, 39,160,234,104,197,234,250, 97,192,223, 3,130, 32, 56, 78, 78,
- 78,207, 37, 18, 9, 8,130,128, 84, 42, 45, 19, 88, 69, 69, 69, 16, 10,133,101,255,229,114, 57,178,179,179, 81,183,110, 93, 16,
- 4,241,159,246,163,147,203,229,202, 69, 43, 55, 29,102, 48,217, 74,138,146, 19,114,185,124,188, 62,215,249,162, 69,139, 72, 84,
-226,123, 53,115,230,204, 74,167,127, 42,206, 37, 75,150, 84, 26, 37, 56,115,230,204,106,163, 7,171,194,119,223,125,247,209,162,
- 14,117,191,125, 25, 96,128, 1,255, 49, 84, 26,186, 87, 43,161, 69,146,228,211, 74,162, 11, 9, 0, 52, 73,146, 79, 43,201,114,
-160,124,247,238,221, 74, 75, 75,203, 41, 34,145,232,143, 65,131, 6,205,245,247,247, 87, 1,165, 14,242,181,221,162,124,161,104,
-133, 95,255,141,243, 10,138,165,193, 21,231, 85,180, 60,105,196,214,174,237, 65,187,207,132, 30,247,207, 72, 79,221, 93,213,182,
- 85, 37,168,170,138, 86, 20, 22,138, 87,250,245,223, 56, 39,191, 80,108,240,209,250,135,160, 82,169,174, 24, 25, 25, 17,154, 98,
-202,218,214,171,194,194, 66,148,148,148, 64, 93,146, 6, 0, 80, 92, 92, 12, 11, 11, 11,168, 84, 42,250, 63,182, 43,164, 0,230,
-171,173, 85, 0, 48, 63,241,230, 14,237,115,251,153,246,188,106,172, 89, 2, 93, 10, 68, 87,182, 92,117,243,254, 6,206,204,106,
- 10, 68, 87,135, 76, 61,249, 50, 1,128,205, 98,100, 85, 85, 60,154,205, 98,100, 85,227,183,175,231,123, 3, 65, 3, 88,105,184,
-178, 13, 48,224,243,125,255,255, 84, 43,238, 97,224, 52,112, 26, 56,255, 17, 78,174,250,163,235, 60,195,254, 52,112, 26, 56, 13,
-156,255, 54,206,202, 48,249, 51, 17, 90,116, 37, 31, 0,181,180,104, 25, 96,128, 1,255, 58, 72,107, 57,207, 0, 3, 12, 48,192,
-128, 15,199,123,197,164,181,103, 84,165, 74,245,137, 38,168,141,178,189,102,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,243,
-255,142,179, 38,110,237,229, 39, 3,216,247,153,136,173, 79, 18,208, 98, 48,171, 26, 56, 13,156, 6, 78, 3,167,129,211,192,105,
-224,172, 45, 12, 67,135, 6, 24, 96,128, 1, 6, 24, 96,128, 1,255,231,208, 47, 97,169, 1,149,160,238,192,165,160,176, 68,189,
- 59,131,144,114, 54,240,191,182,137,254,254,254, 12,125,218, 39, 38, 90,146, 81,224,111, 54, 55, 97,247, 47, 22, 41, 54, 83, 81,
- 43,130,107, 58, 17,109, 27,180, 26,109,204, 51,158, 46,147,201,234,155,154,153,101,229,229,102,239,201,123,247,108,151, 86, 27,
-243, 7, 15, 30,240,125,124,124,210, 1, 20,105,189, 41, 24, 96,128, 1, 31, 19,150, 77, 93, 64, 16,227, 1,250,175,176, 75,138,
-142,129, 48,238, 80,185,118, 22, 30,227, 64, 18,205,180,166,136, 65, 99, 63, 10, 98, 83,106,120,224, 88, 38, 36, 36,184, 54,108,
-216, 48, 25, 64, 65,197,181, 87, 50,207,112,157, 27,240, 57,163, 43,202, 39, 44, 45,187, 22, 62, 92,104, 53, 26, 84, 31, 74,114,
- 12,104,140, 4,129,104, 36,134, 14,174, 21,143,219, 55,117, 64, 49,219, 1,104, 5,208,173, 76,140,120, 45,197, 50,121, 22, 69,
-211,163,241,230,228, 19,189,249,234,251, 79, 67,213,229, 44, 86, 34, 49,244, 39,189,248, 40,250,135, 71,183, 79,115, 45,141, 9,
- 52,108, 61,104, 1,202,103,112,174, 45, 56, 0,124, 73,146,108,102,108,108,204, 47, 41, 41,201,166, 40, 42, 5,165,227,211,249,
-181,228, 36, 1, 76, 48, 53, 49,233,227,106,198,105,245, 46, 71,152, 86,164, 80,133,163, 52,161,107,254,199, 58,163, 74, 69,150,
-227,190, 57, 35,124,198, 6,205,234, 1, 75,191,141, 11, 74,128,234,132, 22,225,220,184,227,217, 97,195,135,248,205,152, 60,214,
-180,142,157, 41, 4, 57, 34,155,159, 14,134,108, 10, 9, 57,218,111,226,176,158,125, 0, 96,245,234,213, 95,187,184,184,212, 99,
- 48, 24,137,203,150, 45,251,117,197,138, 21, 52, 81,117,165,114,190,250, 28,214,220,240, 77, 0,120, 2,104, 0,224, 45,128, 23,
- 40,159,101,188, 54,248, 44, 56,235,212,169,227, 68, 81,212, 68, 7, 7,135,175, 50, 51, 51, 47,144, 36,121, 32, 45, 45, 45,253,
- 83,222,117,104,154,222, 75, 16,196,100,154,166,247,233,241, 61, 69,159,117,240,120,188, 76,137, 68, 98,175,254,157, 37,145, 72,
- 28,254,174,237,249, 39,215,245, 15,189,127, 79,186,114,231, 69, 31,237, 73,189, 58, 55,171,228,142, 66, 52,187,114, 39,166, 75,
-249,118,158,170, 42,238,129, 4, 77,211, 88,185,114, 37,177,106,213,170,113,110,110,110,141, 72,146,124,185,124,249,242,114,169,
-111, 42,206,211,186,206, 13, 98,203,128,207, 21,250, 21,149,174, 17, 77,253, 77, 32,161,253, 1, 98,108,215,182, 45, 59, 79, 25,
-221,159,160, 25, 60,140,152,180, 80,169, 55,151,235, 88, 46, 24,226, 53,222,205, 26,207, 29,210,191, 7,217,198,179, 30,248,118,
- 22, 0,201,194,222,139, 73, 54,193, 65,203,118, 3,240,169, 69, 47, 87,188,137, 56,102, 47, 40, 80,129, 32, 0,130, 0, 72, 2,
- 40,150, 80,232,245,245,152, 21, 0,126,210,243,174, 68, 90, 26, 19,152,123, 76, 2, 0,140,143,112, 80,234,217,217,217,141,155,
- 61,123,182,137,167,167,167, 37,143,199,227, 72, 36, 18,135,132,132, 4,187,101,203,150,121,138,197,226,243, 0, 30,233,201, 89,
-183,161,179,211,201,224,185, 19,218, 53,111,224, 10,150,172, 24,148, 84,228,242, 42,225,117,135,169,187, 79, 77,138,201,147, 12,
- 71, 45, 74, 38,228,228,228, 16, 0, 96,107,107, 75,151, 23, 89,237,199,110,157,215, 11,115,183, 92, 65,137, 68,118,164, 58, 14,
-235,122, 45, 70,125,243,205, 64,191,181, 63,204, 52, 77,203,149, 35, 58, 81, 12,107, 83, 54, 86,204,159,198,145, 74, 21, 29,118,
-255, 26, 50,121,231,134,133,251, 85, 42,213, 23, 0,218,168, 84,170,199, 0,126, 93,185,114,101, 85, 55,223, 85, 0,150,168, 79,
-232,163, 12, 6,227,106,183,110,221,234, 79,156, 56,145,104,221,186, 53, 34, 35, 35, 27, 28, 59,118,172,199,133, 11, 23, 18, 85,
- 42,213, 51, 0, 47,161, 46,123,162, 3, 88, 0, 26, 51, 24, 12,239,127, 51, 39,159,207, 55,146,201,100, 99,156,157,157, 39,119,
-236,216,209,187,127,255,254, 68,227,198,141, 17, 31, 31,223,250,210,165, 75, 43,194,195,195,159,165,166,166,238,227,112, 56,135,
- 5, 2,129,248, 31,127,142, 19,196,100, 0, 78,106,157,188, 82,135,239,116,148,230,146, 18,232,186, 14,137, 68, 98,175, 41, 97,
- 67, 16,132,253,223,185, 61,122,174, 43,150, 32, 8,107,117, 91, 84,247, 77,146, 36,148, 74,165, 72,165, 82,185,213,192,217, 88,
-253, 34,165,179,214, 5, 80, 93, 34,104, 35, 0,232,213,169, 89, 30, 8,196,148, 89,180,222,127,201,140, 41, 19, 96, 52,154, 93,
-185, 27, 99, 93,206, 10, 86,241, 45,118,229, 74, 98,197,138, 21, 8, 12, 12,236, 15,192,151,162,168,112, 15, 15,143, 29,229, 40,
- 41,170,108,222,138, 21, 43,182, 87,115,157, 27, 96,192,231, 2, 63,232, 83, 84,186,202,247, 31,183,193, 93,160,194, 88, 87, 27,
-123,255, 89, 19,135, 26,121,122, 52,132, 4,166, 72,202, 81,225, 98,216, 37, 0, 56,161,159,213,105,104, 27, 38, 83,114, 56, 40,
-112,126, 19,223,118,158,120,158,166,192,227, 52, 21, 74, 18, 21, 96,144, 10,168, 40, 26,160, 33,169,237, 86,167,230, 43,113,231,
-165, 12, 36, 1, 48, 72,128, 36, 9, 48,200, 90,146, 81,178, 87,171, 15, 69,121,230,100, 82, 0, 37,123,245,129, 7,164,153,187,
-187,251,168, 85,171, 86, 89,102,100,100,152, 68, 70, 70,130,203,229,194,202,202,138,193,231,243,157,182,108,217, 34,158, 53,107,
-214, 87,114,185, 60, 9, 64,142,142,156, 30,125,219,120,223,219, 23,180,218, 66,241,224, 18, 10,142,255, 6, 6, 73,131,109, 98,
-138,250, 70, 70,184,244, 77, 67,107,255,176,196,211, 15, 51, 69, 30, 0,210,106, 34,139,139,139, 99, 72,165,210,225,230,230,230,
-237, 89, 44,150, 3,207,170, 30,149,206,108,147,155, 77, 52,120,155,101, 95,210,101, 94, 15,135, 62,155,231,116,195,220, 45, 87,
-176,237,216,253, 95, 90, 33, 99,121,117,121,179,141,141, 77,167,204,154, 62,209, 52, 53, 71,142, 53,167,115,112,232,118, 33,198,
-248,154, 97,238,151, 22, 8, 24, 49,204,228,212,111,161, 83, 0,236,215, 90, 36,222,195,195,131,136,139,139,171,236,230,107, 5,
- 96,161, 76, 38, 35,217,108, 54,193,227,241, 70,173, 93,187, 86, 62, 98,196,136, 84, 77, 3, 95, 95, 95,248,250,250, 18, 69, 69,
- 69, 13,110,220,184,209, 32, 36, 36, 68, 25, 17, 17, 17, 11,224,108,213, 22, 11,163,119, 18,137,216,133,103,100, 84,242,211,238,
-221,155,187,116,233, 66,113,185,127,165,159,170, 13, 39, 0, 88, 88, 88,236,183,183,183, 39, 22, 47, 94,156,254,177, 56,235,213,
-171,119,165, 93,187,118,221,122,245,234,197,236,212,169, 19,156,156,156,202,230,217,218,218,194,215,215,151, 72, 73, 73,105, 30,
- 30, 30,190,251,202,149, 43, 59,158, 60,121,114, 35, 41, 41,169,215, 63,108,209,218,167, 22, 19, 2, 61,219,127,246, 32, 8,194,
-116,239,222,189,246,154,154,140, 10,133, 2, 42,149,170,236, 91,243,161, 40, 10, 42,149, 10,107,215,174, 85,137, 68, 34, 93,246,
-145, 72,235,173, 89,243,161, 42,251,230,112, 56,182,154,132,189, 53,220,217, 99,248,220,130,166, 38, 38, 38,174, 0,250,194,174,
-209,194,242, 13, 74,223,159, 69, 34, 81,178, 64,106, 25, 3,160, 75, 53,108,150,171, 86,173, 26, 19, 24, 24, 56, 80,203, 74,235,
- 61,100,200,144,138,101,175,188,213,223, 34,130, 32,110,146, 36,121, 30,192, 33,124, 68,171,187, 1,255, 45,208, 52,221, 22,128,
-157,214, 36, 25, 74, 71,133,160,126, 78, 18, 0,108, 42, 76,215,110,167,249,206, 86, 79,183, 83, 47, 71,107,241,102, 19, 4,241,
-168,150, 93,188,133, 42,252,180,152, 0, 16, 22, 22, 70,247,235,215,143,208,124, 87, 46,138,252, 47, 78, 24, 49,160,207, 87,221,
- 59,130,228, 89,225, 85, 22, 16,241,142, 6,147, 84,128, 4,141, 7,119,111,208, 96, 82,135, 43, 44, 85,181,245,164,222,224,239,
-188, 61, 61, 54, 30, 8,154,205,136,205, 98,226, 80,120, 9,228,146, 98,100,103,188, 67, 86,122, 50, 4,169,111,145,246,238,237,
- 51,128, 88,161, 51,231,123, 7, 6, 80, 81,234,119, 64, 10,168, 38,242,178,102, 78,185, 40,174, 65, 99, 79,207,124,142, 10,144,
-139,226,116, 88,125, 85,156, 94,141, 26, 53, 26,241,195, 15, 63, 88,191,120,241,194,168,164,164, 68,122,233,210,165,248,164,164,
- 36,115, 62,159,159, 55,109,218,180, 70, 78, 78, 78,230,131, 6, 13,226, 28, 63,126,252,107,148, 15,107,173,138,211,115, 64,251,
-150, 17, 7,119,108, 53,201, 61, 21, 12, 89,194, 83, 92, 20,136,112, 55,179,132,110, 96,193, 37,190,109,110, 7, 83, 46, 19,171,
- 59, 57,153,246, 61,147,176, 81, 65, 81, 1,213,113,222,187,119,143,111,108,108,188,101,228,200,145,252,153, 51,103,114, 85, 76,
- 75,102,104, 68,174,197,194,221, 17, 78, 37, 82, 57, 99, 68,183,122,152, 55,210, 27,243,182, 93,215,136,172,201,245,235, 23, 80,
- 81, 81, 85,115, 42,228,242,250,206,246,230,136, 78, 18,227,208,237, 66,252,249,131, 19,186,175, 77,199,160, 86, 76,120,212, 53,
-133, 82,174,104, 60,100,200,144,195,234,183,246, 71, 0,190, 30, 50,100, 72, 19, 6,131,113, 29,192,239, 53, 29, 35, 30,175,242,
-234, 41, 86, 86, 86,232,218,181, 43, 60, 60, 60,152, 93,186,116,241,174, 32, 96,202,113,202,229, 50, 62, 69,209, 48, 51, 51, 51,
-178,177,177,177, 50, 51, 51,203,173,236, 65,165, 15, 39, 0, 88, 91, 91, 15,238,218,181, 43,243,216,177, 99, 57,137,137,137, 15,
- 70,140, 24,241,214,220,220,188,156,245,215,196,196, 4,141, 26, 53,194,178,101,203,152,125,250,244,169,145,211,193,193,161,103,
- 72, 72, 8, 8,130, 40,123,104,191,103, 44,118,117,133,163,163, 35,250,246,237,203, 28, 60,120,112,207,164,164,164, 90, 93, 71,
-122,224, 90, 37, 22,173,149, 21,142, 83,149,195,111,149,181,215,225,184,103,105,172, 75,106, 62,124,192,181, 89,237,112, 39,143,
-199, 43,179, 66, 85,178,174,247, 56, 73,146,196,210,165, 75, 65, 16, 4, 88, 44, 22,216,108,118,165,223,126,126,126,250,246, 51,
-133, 32, 8,146,205,102, 47,100, 50,153, 19,165, 82,169, 51,143,199, 75, 87,169, 84,191, 72,165,210,181, 0, 20, 52, 77, 91, 86,
- 33,178, 42,229, 52, 49, 49,113,125,245,234,149,123, 85, 29,145, 74,165,240,246,246, 6,164,136,173,142, 51, 33, 33,193,213,205,
-205,173, 49, 0, 77,137,182,219, 52, 77,119,209,250,175,141,219, 52, 77,127,169,254,253,242,205,155, 55,174, 13, 27, 54,204,255,
-167,206, 79, 3,231,191,143,179, 6, 45, 98, 71, 16, 68,152,113, 48, 25,151, 0, 0, 32, 0, 73, 68, 65, 84,214,181,218, 79,243,
-127,209,162, 69, 75,214,175, 95,255,130, 32,136, 48,237,233,218,237,180,191,213,247,155, 48,154,166,251, 45, 94,188,216,115,195,
-134, 13,235, 52,109,255, 14,145,168,143, 69,203, 60, 91, 98,130,240,119,230, 96, 50, 84, 96,146, 4,152, 12, 0, 52,129,228,164,
- 4, 20, 21, 22,220, 65,226,233, 68,221, 44, 89,254,157, 90,180,240, 10, 58,186,109, 1,249,115,120, 9, 10, 68, 18,196, 61,185,
-137, 71, 55,127,207, 80, 41, 85,191,131,160, 31, 3,100, 36,222, 82,241, 64,104,237,106, 92, 16, 52,179, 84,104,169,197, 85, 57,
-177,245,201,208,188, 73,147, 38,195,150, 45, 91,102, 27, 21, 21,197, 19, 10,133, 69, 71,143, 30, 77,151, 74,165, 73, 0, 46, 39,
- 39, 39, 55,217,190,125, 59, 39, 40, 40,200,203,203,203,139,127,242,228, 73, 89, 37,229,140,222,227,156, 63, 54, 32, 98,226,172,
- 57,188,216,147,187,192,137,141,196,210,167, 57,170, 63, 5, 37, 63, 0,216,134,148,226, 78,217, 18,229,213,173, 93, 93,200,122,
-102,108, 52,180,228,248,197,229, 73,170,181,100, 25, 27, 27,111, 9, 9, 9,113,109,219,182, 45, 9, 0,225, 47,149,220,133,187,
- 35,156, 46,175,239, 68,116,106,102,131,172, 2, 41,102,239,138,198,165,136,172, 63, 52, 34,171,166, 78,154,153,153,101,167,102,
- 21, 58,216,152,242, 48,186,179, 41,186,175, 77,135,127, 27, 46,184,108, 2,241,137, 25,104,232, 86,143,136,190,115,182,141, 90,
-100,181, 21, 8, 4, 0,208, 6, 64, 98, 74, 74, 10,223,199,199, 71,168, 69,151, 15, 96, 35,135,195, 89, 74, 16, 4,221,182,109,
-219,104, 47, 47,175, 98, 43, 43, 43,136,197, 98, 72,165, 82,176,217,108,136,197, 98, 36, 39, 39,227,193,131, 7,176,178,178,210,
-235, 64, 21, 23, 23,195,204,204, 12, 20, 69,125, 48,167, 74,165, 34,246,236,217, 99,242,226,197, 11,147,208,208, 80,135,185,115,
-231,230, 54,109,218,244,241,176, 97,195, 94,219,219,219, 75,159, 62,125,138,123,247,238, 33, 63, 63, 31,237,219,183,215,137, 83,
- 38,147,129,201,100, 66, 44, 22,131,203,229,130,201,100, 66,169, 84,130,162,168, 50,241, 85, 92, 92,140,188,188, 60,176,217,108,
-200,100,178, 79,241, 6,250,158,133,170,186,225,183,218, 88,180,180,133,154,142, 34,171, 38, 75, 84,149,195,157, 5, 5, 5, 70,
-150,150,150, 11, 1, 8,106, 90, 23, 65, 16, 96, 48, 24, 96,179,217, 32, 8, 2, 93,186,116,193,132, 9, 19,208,170, 85, 43, 36,
- 36, 36,224,248,241,227,120,244,232, 17, 88, 44, 86, 89,123,157,199, 39,252,252, 24, 60, 30,239,222,128, 1, 3, 60,127,248,225,
- 7, 94,189,122,245, 16, 27, 27, 91,119,195,134, 13, 11,175, 93,187, 54, 80, 36, 18,181,209,220,237,170,183,210,171,135, 4, 75,
-135, 11,251, 74,165, 82,196,198,198,234,179,204,123,104,216,176, 97, 50, 73,146,175, 41,138, 10, 7,224, 77,211,116, 23,130, 32,
- 46,161,212, 47, 81, 27, 34,154,166,191, 36, 8,162, 16,192, 51,146, 36, 95, 82, 20,149,108,176,219, 24,160,195,125,165, 95,197,
-255, 4, 65,132,173, 95,191,190, 95,101,226,170,146,107,179,220,244, 13, 27, 54,172,211,250,255, 33, 22,213,174, 40,239, 12,239,
-167,182,114,253, 37,180,194,194,194,170, 87, 32, 20, 6,133,157, 62,118,191,187, 28,174,158,173,125,181,172, 67, 52, 34, 31,220,
- 3, 64,255,162, 83, 87,248,253,140, 72, 6,243,151, 61,235,102,146,123,111,150, 32, 37, 61, 11,247, 46,254,130,108, 65,210, 33,
-128,158,139,196,208,194, 15, 62, 18,245, 6,121,217,219,216, 90, 74,228, 52, 40, 26,192,123, 98,235,147,160, 85,227,198,141, 7,
- 71, 68, 68,216, 74, 36, 18,222,157, 59,119, 74, 66, 66, 66, 50,228,114,249, 77, 0,119,213,109,162,178,179,179,135,168,133, 9,
-131,201,100,114,228,114,121,117,190, 11,173,230, 79, 28,115,103,227,158,131,188,215,207,163,177, 61,244, 34, 10, 74, 74, 84, 55,
-179,196, 95, 3,208, 40,250,235, 81, 57,226, 52, 26,180, 11,139, 36,192, 55, 97, 57,198,229, 73,120, 64,229, 67,178, 82,169,116,
-196,200,145, 35,249, 26,145, 5, 0, 57, 69, 10,102,137, 84,193,232,212,204, 6,173,187, 13, 65,228,141, 83, 56,121, 59, 13,110,
-118,198,183,235,155, 20,232,180, 71,179,179, 4,123,182, 6,239,221,186,113,229,124,206,188,190, 22,240,111,195, 2,143, 77,192,
-220,152,133,181, 59,246, 43,162, 30,220,126,202,231,243,195, 0,124, 45, 16, 8,192,231,243,139, 1,188,100, 48, 24,137, 42,149,
-170, 50,167,238,229, 0, 28, 14, 31, 62, 76, 42, 20,138,226,132,132, 4, 56, 58, 58,194,193,193, 1, 22, 22, 22,136,139,139,195,
-159,127,254,137,248,248,120, 80, 20,133, 22, 45, 90,232,117,176,114,115,115,241,244,233, 83,244,237,251,213,220,236,236, 44,115,
- 43,107, 27,209,157,240,219,155,106,195, 73, 81, 20, 1, 0,158,158,158,240,244,244,228,165,165,165, 57,135,133,133,217,175, 89,
-179,230,157,171,171,235, 81,177, 88, 92,206,114,160,171,208,210,136, 11,141, 8,228,241,120, 96,179,217, 40, 44, 44, 68,102,102,
- 38,138,138, 74,131, 54, 45, 45, 45, 63,137,208,170,194, 66,245,209,218,255,205,226,240,189,225, 78, 75, 75,203,145, 0, 22,234,
-184, 45, 80, 42,149, 96,179,217,240,241,241, 65,112,112, 48, 30, 61,122,132,223,127,255, 29,117,235,214,197,216,177, 99, 65,146,
- 36, 94,188,120,161,111, 23,169,136,136,136,133, 95,127,253,181,231,225,195,135,121,201,201,201,136,143,143,135,165,165, 37,130,
-131,131,185,147, 39, 79,110,120,227,198,141,229, 40, 13,126,169, 30, 90,209,133, 34, 35,254, 80,111,111,239,247,154, 56, 58, 58,
- 90, 92,190,124,217,190, 76,128, 85,140, 72,124, 31, 5,203,151, 47,223,234,225,225,177, 77, 61, 92,232, 11,192,132,166,105,191,
-208,208, 80, 2, 0,252,253,253,105,130, 32, 52, 15,164,103,167, 78,157,234, 22, 23, 23, 71, 7, 6, 6, 26,124,180, 12,168, 74,
-139, 76,214, 92,147, 85, 9, 40,125,132,154,182,197, 75,131,197,139, 23,123,174, 95,191,254,225, 7,138, 44,237, 55, 38, 90, 35,
-182,202, 30,166, 85, 14, 25,150,217,190, 72,190,163,189,141,245,162,177,157, 64, 81,128, 82, 5, 40, 85, 52, 68, 37, 98,196, 62,
-127, 84, 2, 30, 17,170, 83,119,184,156,160, 53, 63,204,105, 16,157, 74, 34, 61, 95,142, 91,103,247,210,217,130,164,193, 72, 60,
- 53,254,227,136,172,161,222,142, 14,246,183,142,237, 93, 77, 62,122, 43,131,138, 42,213, 89, 20, 69,151,253,254, 4,112,180,179,
-179, 11,184,127,255,190, 29,151,203,229,189,122,245,138, 58,117,234, 84,190, 92, 46,191,166, 37,178, 0,160, 83,155, 54,109,148,
-166,166,166, 16,137, 68,114,185, 92, 46,169, 70,100, 57,251,181,106,126,123,227,158,131, 60,137, 76, 6,161, 88, 10,134,141,125,
- 69,145, 5, 0, 29,187,185,215,169, 67,240,204, 64, 3, 72, 42,148,167, 87, 37,178, 0,128,203,229,246,152, 57,115,102,185,186,
-120,182,102, 44,165, 49,151,165,186, 27,147, 67, 69,222, 56,133,240, 23, 57, 20,143,205, 80,217,209,111, 27,232,186, 3, 10, 82,
- 99,246,252,126, 46,236,234,119,203,130,138, 75, 68, 69,112,115, 50, 66,113,145, 16,107,215,111, 84, 68, 68,132,223, 92, 56,119,
-106,135, 83,167, 78,109, 64,169, 51, 56, 0,188, 60,117,234,212,152,101,203,150,253,138,191,210, 60, 84, 68,122, 64, 64, 64,106,
-179,102,205,132, 30, 30, 30,194,220,220, 92,196,196,196, 32, 63, 63, 31,219,183,111, 71,108,108, 44, 52, 22, 65,157,124, 85,222,
- 23, 72,200,207,207, 51,165,105, 26,249,121,185, 38, 63,252,240,131, 69,109, 56, 85, 42, 85,185,107,171, 78,157, 58,152, 54,109,
- 26,187,164,164,196,242,221,187,119,230,218,243,116,229,148,201,100,208, 88,134,104,154,134, 76, 38,131, 80, 40,132, 76, 38,195,
-235,215,175,203, 68,150,122,253,159,204,162,165,249,205,227,241, 50, 53,231,178,102, 8,142,199,227,101, 85,213,254, 67,160,181,
- 46, 90,253, 91, 95,113, 88,227,246,232,120,220,193,102,179, 49, 97,194, 4, 60,124,248, 16, 9, 9, 9, 96, 48, 24, 16,137, 68,
- 40, 41, 41, 65,207,158, 61,193,225,112,244,181,104,209,108, 54,123,228,146, 37, 75,120,137,137,137,200,201,201,209, 56,211, 67,
-165, 82, 97,238,220,185, 70, 92, 46,119,164,190,166,123,129, 64,208,251,245,235,215,141, 43,126, 50, 50, 50,132,218, 62,133,181,
- 69,104,104, 40,225,239,239, 79,251,251,251,211, 26,193,101,128, 1,149,161, 10, 45,178,175, 42,139,214,199,176,138,105, 44, 91,
- 80, 7,136,212, 2, 26,145,213, 85, 75,120, 17, 26, 11,151,110, 67,135,110, 67, 91, 58,216, 88,223, 56,188,107,149,105,216,115,
- 2,169, 41, 73,200, 22, 36,163, 77, 7, 63,196, 62,143, 6,165, 80,157,198,235,208,154, 61, 57,235,249,187,123,120, 52,157,222,
-181,131, 23,130,194,138,241, 42,242, 50, 10,178, 5, 59,145,116,234,244, 71, 57, 66,174,254,205, 29,236,173,111,252,186,107,149,
-229,165, 24, 18, 41, 41, 73, 56,251,235, 86, 90, 33,151, 22,160,124, 36,151,222,111,205, 70,148,140, 83, 92,144, 9, 89,145, 10,
- 60,178,132,167,231, 32, 69, 6,128,240,173, 91,183,118,111,223,190, 61, 39, 32, 32, 32, 35, 63, 63,255, 44,128,251, 90,109,154,
-185,187,187,247, 13, 14, 14,118, 72, 73, 73,193,181,107,215, 50, 80, 26,250, 95, 21, 82,111, 71, 63,223,253,231,175,251,231, 27,
- 53,104,130,237, 75,190, 83,134, 62,138, 25, 0,224,146, 86, 27,143, 30,222,238, 97,107,190,159, 65, 82, 81,127,224,105,114, 38,
-222, 10,165,127, 86, 69,152,147,147, 67,148,148,148,184, 90, 90, 90,106,159,144,224,155,136,164, 11,134,186,167,247, 92,120,199,
- 73, 34, 87,129,203, 34,233,217, 3, 93,211, 31,158, 13,181,201,145,228, 16,154,104,196,154, 48,105, 88,143,129,187, 66,206,140,
- 14, 11,187, 48, 93, 46,149,120, 53,105,210,152,126, 28,113,227,233,194,185, 83,251,212,242,136,155, 62,124,248,144,100, 48, 24,
-229, 4,186,182,133, 72, 95, 75,145, 62,208,149,179,162,208,210, 64,169, 84, 18,181,229,148, 74,165,101, 66,171,226,195,189, 50,
-193,248,119,108,191, 62, 22, 42,237, 33, 67,141, 63,157, 68, 34,177, 87,251,108, 57,124, 76,139,214,135, 68, 34, 86, 55,124,169,
- 79,255, 72,146, 4, 69, 81, 96,179,217,104,209,162, 5,194,194,194, 96,109,109, 13,115,115,115,152,155,155,195,200,200, 8, 54,
- 54, 54,101, 66,139, 36,117,142,210,161,165, 82,105,221,186,117,235,226,245,235,215,224,241,120,101, 31, 46,151, 11, 79, 79, 79,
-136, 68,162, 58,248,148,182,123, 3, 12,248,123,239, 43, 97,218, 98,137, 32,136,176, 69,139, 22, 45,169, 45,223,162, 69,139,150,
- 84,102,225,250, 64,193, 85,206,186,197,212, 86,144,149, 42, 73,181,200, 58,180,115,165,249,153, 39, 64,106,106, 34,174,158,220,
- 81,164,144,203,242, 41, 74,225,250, 54, 62, 26, 32,241,139, 78, 93, 32,233,118, 3,251,118, 35,174,190,144,161,176, 32, 27, 47,
- 31, 95, 78,130,152,179,248,163,137, 44, 7,219, 27,135,119,173,180, 60,255,156, 64, 74, 74, 18, 46, 29,219, 94,168,144,203,123,
- 32, 49,244,241,135, 80,143,100,179, 7,178, 93,222,245,155,232,155, 14, 21,161,194,200,216,184, 47,179, 50, 48, 80,112,167,250,
-200, 48,109,100,103,103,159,221,186,117, 43,241,227,143, 63,118,149, 72, 36,191, 1,208, 54, 81,122,185,185,185, 13,223,183,111,
-159,117, 74, 74, 10,235,206,157, 59,162, 27, 55,110,208, 0,206,215, 96,113, 89,208,115,252, 52, 70,171,122,117,102, 70, 37,165,
- 13, 0,240,135,214,108,207,126,173,155,221, 61,184,126,185,153,226,110, 40,138, 5, 41, 88,124, 55,181, 16,128,206,251, 91,161,
- 80, 64, 40, 20, 66, 81,156,171,108,195, 23, 9, 3,135,216, 75, 51,243, 37, 76, 22, 85,162,244, 48,207,146,222,200,125,203, 48,
- 54, 54,214,107, 95,238, 90, 63, 63, 4, 64,200,144, 33, 67, 14, 63,139,184,208,134,207,231, 95,240,240,240, 32, 0,160,138, 8,
-195,170,176, 10,192,220,142, 29, 59, 18, 62, 62, 62, 15,182,109,219,118,165, 58,177, 82, 27,139, 86, 77,208,149,147,162, 40,178,
-138,253, 75,212,150, 83,219,162, 85,147,208,250,148, 22,173,202, 68,139,182, 72,212, 22, 66,255,134,168,195,234,196,148, 62,253,
-211,248,201,177,217,108, 68, 71, 71,195,197,197, 5,114,185, 28,102,102,102, 48, 51, 51,131,169,169, 41,138,138,138,192, 98,177,
-160,231, 54, 83, 60, 30,239, 93, 76, 76, 76, 99, 59, 59, 59,168, 84,170,114, 98,235,213,171, 87, 48, 49, 49, 73,211,215,162,197,
-231,243, 47,171,163, 14,203,193,209,209,209,226, 99,236, 87,109, 75,150,191,191,191, 97,136,208,128,106,173, 89, 85, 88,181,178,
- 43, 88,162,100, 90,255,179, 81,154,195,173,159,250, 55, 42,249, 45,171,100, 90,238,250,245,235,111,104,249,119,101,127,224, 38,
-104, 82, 60,148,139,112, 97,214,100,201,178,183,182,186,113, 96,123,160,249,201, 72, 32, 45, 37, 17,183, 78, 7, 11,149, 42,249,
- 23,160,104, 65,196,181,211,161, 32, 80,130,183,161,183,116,187, 69,160, 85,171,166,174,248,253,133, 2,217,169,175, 64,211,212,
- 33,100,133,148,124,240,209,113, 27,212,194,222,218,246,198,161,224, 64,139, 51,209, 4, 82, 83, 18,113,245,100,112,161, 82, 81,
-210, 29,137,167, 35,107, 75, 59, 1,176, 98,152,240,118, 15,246,107, 53,212,213,205, 25, 20,173, 0,197,166, 49,104,129, 45,243,
-101, 84,201,239,225, 60,225, 73,170,152,154,158,118, 95, 55, 7,186,226,226,226,223, 1, 60, 70,249,244, 10,205, 27, 53,106, 52,
-116,247,238,221,118,169,169,169,188,168,168, 40,241,222,189,123,179, 40,138, 58, 3, 64,151,161,212,239,162,146,210, 14,160,124,
-190,156,230,243,199, 7, 68, 4,140,155,200, 75,188, 22, 2,171,196, 88,124,127, 55, 93,245, 50, 95, 54, 66,109, 93,171, 20,182,
-182,182,116, 78, 78, 78,114, 65, 65, 65, 99, 19, 19, 19,228,230,230, 34, 47, 47, 15, 66,161, 16,210,194, 60,165,141,170, 64, 68,
- 40,243,192, 98,177,144,149,162,128, 74,165,202,208,213,154, 5,192,106,213,170, 85,147, 40,138,210,100, 68, 44, 23, 93,168,213,
- 78,115, 62, 52, 30, 50,100,200, 97,173,168, 67,109,103,120, 77,122, 7, 66,157,222,161,253, 31,127,252, 17,215,167, 79,159,212,
-202,196, 10,151,203,213,219, 81,186,170, 40,198,218,112, 86,101,209,170, 56, 93, 31, 78,205,240,165,198, 9,190,226,116, 13, 24,
- 12, 6, 40,138,130, 14, 65, 21,127,171,104,209,142, 14,172,141,200,169,112,108,170, 77, 28, 90,203, 72,196,143,106,209,210, 28,
- 11, 54,155,141,115,231,206, 97,220,184,113, 80,169, 84, 48, 54, 54,134,169,169, 41, 76, 76, 76,112,250,244,105,104,210, 63,232,
-163, 95, 21, 10,197,145,245,235,215, 47,217,179,103,143, 17, 77,211,224,112, 56,101, 66, 43, 48, 48, 80, 44,151,203,143,232, 36,
-180, 52, 25,223, 41, 58,198,196, 68, 89,109,212, 97,101,203, 84,225,175,101,185,106,213,170, 49, 20, 69, 13, 68,133, 20, 14, 21,
-218,149, 75,253, 96, 72,239, 96,128, 14,247,147, 71,255,226,238,105, 4, 22,161,101,201, 42, 19, 92,100,117,226,197,206,202,242,
-198,254,237,129,230, 71, 31, 17, 72,124,251, 22, 55,127,219, 81, 42,178,222,156,124,130,228,208, 76, 36,134,118,198,219,208,222,
- 58,191, 61, 17, 68, 43, 39,123, 75,228,137, 40, 20,230,188, 3,104, 68,125, 12,145,101,103,101,119,227,231,224, 64,139, 83, 79,
- 72, 36, 38, 38,226,234,201, 29, 66,165, 82,242,197,135,136,172,145,108,246,192, 70,238,206, 9, 75, 39, 13, 28,234,211,208, 17,
- 54,239,226,112,126,236, 80,172, 62,254, 13,204,236, 24,104,215,215, 12, 19,214, 58, 14,229,123,114, 95,243, 59, 99,160, 30,212,
-218, 34,171, 85,253,250,245,135,222,191,127,223,214,219,219,155, 23, 31, 31, 47,217,187,119,111,150, 88, 44,190, 2, 32, 90, 15,
- 78,109,145,213,106,209,228,177, 17, 27,247, 31,230,145,108, 14,130,142,156,199,172,219,169,170, 11,201,133, 67, 80,126, 88,177,
- 82, 72,165,210,107,193,193,193, 82,146, 36,145,151,151,135,156,156, 28,100,101,101,149,125, 23, 20, 20,128,193, 96,224,250,245,
-235,178,194,194,194,251,186,118,240,222,189,123,245,211,210,210, 60, 4, 2, 65, 27,245, 39, 30,165,209,133,166, 90,211,218, 8,
- 4,130,174, 0, 30,105,166,167,166,166,214,123,240,224, 1,191, 38,126, 51, 51, 51,176,217,236,114, 22, 45, 46,151, 11, 7, 7,
- 7, 40,149, 74,156, 56,113, 2, 0,242,170,227, 96,179, 57, 2,146, 36, 64,209,148,148,199,227, 81,124, 62,191, 82,129,165, 15,
-167, 26,169, 95,126,249,165, 36, 50, 50,178, 82,139, 86,109, 56,105,154, 46,233,213,171, 23,210,211,211,193,227,241,202, 30,214,
- 26, 65, 69,146, 36,184, 92, 46, 50, 50, 50, 48,101,202, 20,208, 52, 93,242, 79,223,121,180,125,154,212, 98,136, 0, 64,168,133,
-208,123,126, 90,186,250, 64,105,134, 6,105,154,134, 70,112, 85,152, 95,182, 46, 93,178,183, 87,240,233,154, 92, 80, 80,176,177,
-180, 59,244,222, 10,223,251,244,120, 40,148, 9,173,216,216, 88, 28, 62,124, 24, 5, 5, 5,224,112, 56,200,207,207,199,193,131,
- 7, 17, 19, 19, 3, 14,135, 3,205,190,208, 85,191,249,248,248,108, 12, 15, 15,143, 25, 49, 98,132, 56, 58, 58, 26, 98,177, 24,
-209,209,209,232,221,187,183,228,238,221,187, 9, 98,177,120, 21,116, 25, 58,212,100,124, 87,151,215,145, 74,165,136,138,138,170,
-244, 83,213, 50, 21,145,144,144,224,170, 82,169, 26,211, 52,237, 75,211,180, 57,212, 41, 28,212,255,181, 63, 95,170,231,153,211,
- 52,237,171, 82,169, 26, 37, 36, 36,184, 26,228,132, 1,159, 41,110,105,137, 45, 90, 75,100,221,170,222,162, 69,145,193, 7,118,
-172, 52, 63,242,144, 68, 74,114, 2, 30, 95,220, 45, 84, 81,138, 47,244, 44,135,211, 3, 90,185, 54,120, 70, 38, 94, 20, 81, 26,
-206, 92,152,147, 2,208,140,218, 8,173,114,156,160,200,224,131, 59, 2, 45,142, 61, 38,144,158,242, 6,119,207,238, 18, 42,149,
-210,238,120, 27, 26, 85, 27,206,145,108,246, 50, 22,131, 88,218,171, 83, 75,118,231,150,238, 48,201, 74, 66, 70,106, 58, 78,196,
-102,231, 37,228, 75, 39,222, 37,228, 72,126, 35, 61,208,119,146,181,181,149, 35, 11,253,166,218, 88,223, 63, 95,248, 59,193, 18,
-201,105, 57,189, 94,112,183,172, 44, 69,249,126,190, 15, 71, 51, 51,179, 17,143, 31, 63, 54,231,241,120, 70,143, 31, 63,166,246,
-238,221,155, 43, 22,139, 47, 2,136,208,105,219,223,135,115, 91,119,183, 91,235,118,237,231, 21,139, 74, 32,146,201,193,117,224,
-171,206, 68, 60, 31,140,170, 19, 96,150,227,228,114,185,199,142, 29, 59,214,183, 75,151, 46,174, 94, 94, 94,100, 94, 94, 30,138,
-139,139,203,156,171,237,236,236, 16, 27, 27, 75, 37, 38, 38,166,115,185,220,227,186,246,179, 99,199,142,137, 36, 73,198,171,135,
-209,226, 81, 33,186, 80,171,105, 99,129, 64,208,150,207,231,223, 2, 96,172, 21,117,168,205,169, 73,239,176, 4, 0, 73, 16,196,
-163,232,232,232,226, 62,125,250,192,200,200, 8, 34,145, 8,117,235,214,133, 82,169,196,197,139, 23, 17, 25, 25, 41,162, 40,234,
- 86, 37,226,181, 92, 63, 37, 18,113, 93, 0,164,184,164,164,197,152, 49, 99,186,206,155, 55,175, 92, 72,186,189,189, 61,172,173,
-173,245,226, 4,128,188,188,188,166,127,252,241,199,156,232,232,232,239,250,246,237,107,177,100,201, 18,110,253,250,245,161, 82,
-169,200,218,114,230,231,231, 91, 68, 69, 69,109,234,220,185,243,140, 62,125,250, 48,215,173, 91, 7, 11, 11, 11,168, 84, 42, 24,
- 25, 25,161,176,176, 16,171, 86,173,194,157, 59,119,148, 52, 77,239, 18, 10,133,223,235,121, 46,225, 67,175,205,170, 44, 64, 85,
-165,100,168,162,253,223,222,207, 10, 62, 93, 80,167,112, 88, 88, 69, 6,123,232,122,206,107,132, 22,131,193, 64, 82, 82, 18,246,
-238,221,251, 94, 30, 45, 77,250,135, 42,184, 43,219,118,250,230,205,155, 42,130, 32, 58, 60,126,252,120,225,232,209,163, 39,138,
- 68, 34,103, 19, 19,147,116,133, 66,241,139, 88, 44, 94,139, 82,127, 84,182, 62,247, 16,145, 72,148, 92, 89,212, 97,197, 54,128,
-101,181,156, 21,210, 59,148, 75,225, 80, 97,153,114,169, 31, 42, 73,239,240,183, 31,119, 3,231,191,146,243,115, 23, 91, 85, 39,
- 44,125, 15,173, 38,179, 88, 98,133,119,120, 2,241, 33, 34,235,125,107,137,164, 36, 97,249,177,119, 45,101, 82, 9, 68,194,204,
-151, 72, 58,145,245, 65,155,165,238,231,237, 4, 2, 73,137,111,240, 48,108, 87,105, 63,223,134,214,186,159, 4,176,248,167, 75,
-161,108,194,194, 26, 79,231,140, 67,122,129, 8,151,222,230,159,164, 75,164,211,143, 0,249,184, 3,144, 74,105,248,193, 31, 50,
-118,251, 14,178, 24,106, 91,135,133, 45,243,127, 1,111,145, 13,187, 93,247, 46,250,212, 64,204,224,241,120,225,219,183,111,239,
-225,235,235,203, 29, 50,100, 72,101, 14,242,250, 34,245,209,171, 55, 63, 93,216,179,121,190,141,119,123,236, 92,182, 64,117, 44,
-226,121,197, 40,196,106,225,225,225,161,186,119,239,222,188, 41, 83,166,108,233,209,163,135,211,128, 1, 3, 56,117,235,214, 5,
-151,203,197,155, 55,111, 16, 30, 30, 46,123,251,246,109,122, 73, 73,201,188,230,205,155,235,147,227, 44,127,249,242,229, 27,213,
-235, 32,212,195,133,109,160,142, 46,212, 52, 82, 39, 45,109, 3,192, 56, 48, 48,112, 52, 0, 84, 17,246,189, 28,192, 30, 0, 76,
-154,166, 51, 66, 66, 66, 58,156, 61,123,182,195,220,185,115,217,125,251,246,197,253,251,247,113,245,234, 85,185, 92, 46,143, 80,
- 11, 87, 93, 75,229, 80, 0,162,148, 74,229,243,160,160,160, 14, 12, 6, 99,185,102, 70, 76, 76, 12, 14, 29, 58, 84, 27, 78, 37,
-128, 77,153,153,153, 63,133,132,132, 44,191,118,237,218,248, 49, 99,198,152, 43, 20, 10,196,198,198,226,231,159,127,174, 21,167,
- 80, 40,156, 99,107,107,187,244,226,197,139,191, 92,185,114,229,235, 81,163, 70,145,179,102,205, 66,112,112, 48,126,251,237, 55,
- 74,165, 82,157,101,177, 88, 99,114,114,114, 68,159,226,174,163, 30,134, 75,215,179,214, 97,141,188, 31, 50, 52,168, 35, 4, 31,
- 74,160,217, 14, 63, 63,191, 50, 43,163,198, 10,167,221,134, 32, 8,189,135, 14, 1, 88,210, 52, 77, 1,216,133,210,250,162,218,
- 89,225, 25,248, 43,115,188,174,140,205, 4, 82,203, 24, 72, 17, 91,125, 81,105, 75,128, 70,179, 26,216, 10,150, 47, 95,190,117,
-197,138, 21, 91, 43,166,112,208,110, 84, 49,245,195,202,149, 43, 97, 72,239, 96,192,127, 21,149, 11,173,168,125, 10, 69,131,193,
- 75,182,175, 91,176, 66,169,144, 9,105,200,253,241,230,116,244,135,174,140,166,232, 69,215,143, 6, 6,131, 70, 62,173, 82, 46,
-252,224,222,255, 77,253, 36, 44,172, 81,180,106, 26,126,123,145, 78,103,136, 20,223, 28,145,203,203, 89,131, 74,125,178,168, 97,
- 55, 36,249, 39,172,156, 88,103,230,124, 97, 67, 92,200, 27,173,247,122,178,178,178,206,109,221,186,149,220,188,121,115,215,146,
-146,146,138, 14,242,181,197,130,254, 51, 23, 49,218, 53,114,157,249,240,117,242, 64,232, 48, 92, 88, 17, 29, 59,118, 20,196,197,
-197, 5, 92,185,114,101,196,237,219,183,123,136, 68, 34, 87,130, 32, 96,108,108,156, 44,149, 74,175,113,185,220, 99,122,138, 44,
- 0,192,138, 21, 43,232,149, 43, 87, 18,113,113,113, 52,131,193,248, 19, 64, 34,131,193, 72,210,118,130,215,158,174, 89, 38, 48,
- 48, 80,151, 7,226,237,226,226,226,200, 85,171, 86,117, 89,181,106, 85, 11,181, 85,232, 54,254,242,249,210, 23, 10, 0,183,217,
-108, 78, 58, 65, 16,206,108, 14, 87,116,239,222,189,107, 31,200, 89, 34,151,203, 23,166,164,164,108,217,178,101,203, 90, 19, 19,
-147,182, 49, 49, 49,127,126, 8,167, 90, 68, 13,182,182,182,118, 58,124,248,240,169,131, 7, 15,182,103, 50,153,247, 9,130, 24,
- 34, 20, 10, 63,105, 81,105,117,129,232,149,122,212, 58,212,137,247, 99, 39, 41,253, 59,132,155, 74,165, 42, 94,186,116,105, 86,
- 69,225, 85,209,122,165,249,175, 78,229,162,203, 62,213, 39,138,178, 6,225, 66, 20, 3, 64,105,237,194,210,178, 58,186, 22,149,
- 6, 32,174,233, 58, 39, 73,242, 44,128,151, 36, 73,190,174, 24,232,162, 61,111,229,202,149, 53, 93,231, 6, 24,240, 89, 67,135,
- 59, 91, 32, 9, 4,214,214,147,246, 31, 52, 87,126,156,126, 6,176,217, 43, 73, 96, 62, 0,130, 6,182, 28,145,203,127,168,110,
- 65,199,142, 88, 75, 19,152,171,222,153,235, 50,238, 98, 77, 45,182,189, 14,116,168, 63,168, 39,103, 19, 84, 95, 80,246, 61, 78,
-127,127,127, 70, 21, 15,243,114, 69,165,171, 66,104,104, 89, 22,255,170,250,169,125,190,153, 61,120,240,192,201,199,199, 71,128,
-242, 78,255,149, 77,167,245,220,118, 6, 0,213, 71,222,159,159, 5,167,155,155, 27,231,205,155, 55,178,127,215,181,105,224,252,
- 87,114, 90, 54,117, 1,129, 73,208,206, 29, 84,173, 69, 75, 75,160,209,244,207, 40,136, 77,169,162,159,154,235,220, 50, 33, 33,
-193,181, 97,195,134,201, 0, 10, 42,244,163,178,121,180,225, 24,253,223,115, 86,134,201, 40, 95,138,206,128, 74, 14,132,129,211,
-192,105,224, 52,112, 26, 56, 13,156, 6, 78, 3,103,109,133,214,103, 13, 18, 6, 24, 96,128, 1, 6, 24, 96,128, 1, 6,252, 45,
- 32,170, 81,165,250,152, 4,107,163,108,175, 25, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,191,227,172,137, 91,123,249,
-207,117,232,240, 31,235,183,193,172,106,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,243, 67, 4,203,103, 13, 38, 12, 48,192,
- 0, 3, 12, 48,192,128,207, 6, 61,220,193,103,170, 64,254,241, 70,167, 32,170, 26,209,199, 13,117, 0,224, 99,241,253,159,130,
- 15,224, 43,173,255, 23,160,142,140, 55, 8,173,207, 23,141, 0, 44, 1,160, 93,139,236, 33,128,245, 21,218, 29, 5,160, 93,144,
- 80,132,210, 58,129,175,245, 89, 25, 73,146,235,187,116,233, 50,253,206,157, 59,155,149, 74,229,170, 90,244,215,149,207,231,111,
- 36, 8,162, 53, 0, 22, 65, 16,111, 50, 51, 51,215, 43,149,202, 15,137, 90,105,224,232,232,184, 1, 64, 75,146, 36, 89, 4, 65,
- 36,100,102,102,174, 81, 42,149, 55, 63,128,211,204,193,193,161, 19, 77,211,142, 0, 24, 44, 22, 43, 55, 45, 45,237, 1,106,153,
- 91,201, 63, 48,150, 93, 40, 82,178, 0,192,220,132,169, 8, 13,108, 42,215,117,154,225, 20, 55,192,128,255,111,208,165,145,201,
-229,208,219, 13,107,105, 37,190, 87, 1, 68,175,250,216,113, 57, 17,223, 87,181, 60, 81, 73, 84,115, 69,206,222,110, 88,171,162,
- 75, 57,122,185, 97,211,229, 55,168, 54,210, 94, 23, 78, 13,246, 1,228,100, 29,170, 20, 16,186, 69, 95,255,219,241, 21,202, 15,
- 21,150, 13, 29, 86, 43,180,134,185,131,175, 98,130, 25, 26, 11, 77, 24,175, 25,128, 22,234,135,252,107,148,230, 42, 42,250,192,
-206,125, 46,156,255, 54, 44,167,105, 58,160,220,201, 90, 73, 30,162, 47,190,248, 98,192,149, 43, 87,140, 53,245,238, 40,138,130,
-145,145,145, 18,192, 88, 61,214,101, 63,108,216,176, 69, 7, 14, 28,192,208,161, 67,151,134,133,133,109, 5, 80,172,235,194, 86,
- 86, 86,254,150,150,150,193,251,247,239,183,107,223,190, 3,193,225,112,240,230, 77,130,243,148, 41, 83,188,226,226,226,206,102,
-101,101, 77,212,119,227,173,173,173, 71, 90, 90, 90,110,217,187,119,175,109,231,206,157, 65, 16, 4, 34, 35, 35,157,231,204,153,
-211,226,221,187,119,199, 51, 51, 51,103,232,203,105, 99, 99,227,110, 97, 97,209,109,231,206,157, 70,157, 58,117, 2,143,199, 67,
-116,116,180,233,212,169, 83, 29,211,210,210, 98, 51, 51, 51,111,233, 43,178,158, 69,158,255, 90, 41,151, 6, 1, 0,147,205, 93,
-208,126, 75,196,249,103, 55,206,247,175,105,154,127, 96,236,239, 6,177,101,128, 1, 6,104, 99,164, 19, 28,105, 26,243,175,252,
-188,140, 4,128, 94,227, 87,207, 26,233,132,205, 71,210,171,174, 97,171, 39,223,247, 99,234, 32,248,112, 26, 50, 63,164,159,251,
- 0,114, 14,147, 57,171,157,143,143,237,183,119,239, 38,200,129, 95,254, 79, 14, 81,165,195,156, 85, 10,173,193, 77,177, 74, 89,
-106, 49, 33,250, 52,196,241,171,137,140,240, 47,190,248,162,225,132, 9, 19,136, 86,173, 90, 33, 50, 50,210,253,248,241,227, 95,
- 93,184,112, 33, 65,165, 82, 69, 2,120, 1,221,179, 90,179, 0,120, 50, 24,140,214,255,114,206,127, 51, 76,212,226, 42, 19,127,
- 37, 58,125, 47,225,233,245,235,215,207, 49,153, 76,141, 69,171,157, 72, 36,114,168, 96, 5,211, 5,245, 20, 10, 5,226,227,227,
- 65,146, 36, 11, 64,125,188, 95, 82,163, 42, 56, 27, 27, 27,239,142,120, 24,105, 67, 48,141,144, 47, 1, 32,145,131, 99,234,128,
- 3,135, 66,172,231,205,158, 49,248,230,205,155,225, 69, 69, 69,191,234,209,159,250, 38, 38, 38, 91,159, 62,125,106, 99,108,108,
- 12,138,162, 80, 84, 84, 4, 71, 71, 71,236,223,191,223,114,222,188,121, 1,133,133,133, 55, 37, 18,201,111,250,136,115, 11, 11,
-139,110,207,159, 63, 55,210, 20,148,150,201,100,112,118,118,198,209,163, 71,185,179,102,205,106, 90, 80, 80,144, 42,147,201,222,
-234, 74, 88, 40, 82,178,148,114,105,208,225, 93,129, 46, 0, 48,102, 70, 96, 16,167,200,252,162, 46,211, 10, 69,202, 11, 0, 12,
- 66,203,128,127, 26,173,109,109,109, 67,115,114,114,110, 1,152,136,143, 99,105,112,231,241,120,205, 41,138,114, 36, 73, 18, 12,
- 6, 35, 67, 36, 18, 61, 5,240,170,182,132, 54,110,126,253,193, 53, 30, 7,154,106, 65, 2, 32, 72, 50, 90, 37, 47, 57,148,251,
-234,230,249, 15,226,228, 24,141, 7,232, 22, 36, 64, 17, 36,249,148, 82,150,236,207,137,191,121,233,223,114,112,238, 11,209,216,
-205, 81,247,194,152, 31,131,111,120, 3,240, 73, 10,228,209, 36,221,135, 21,103, 2,125,103,207,158,237, 56, 99,250,116, 98,220,
-216,177,141,110,221,185, 67,116,213,167, 90,193,231,137, 42, 29,223, 43, 21, 90,254, 77, 97, 69, 3, 11,143, 7, 47, 33,153, 12,
- 6, 49, 98,246,250,128,131,187, 54,145, 61,251, 15, 41, 27, 62,241,245,245,133,175,175, 47, 17, 20, 20,212,232,207, 63,255,108,
-116,244,232, 81,101, 68, 68,196, 83, 0, 39,170, 90, 89,111, 55,136, 41,128,199,102, 49, 69, 35,150,253,186,215,199,199, 7, 92,
- 46, 23, 31,194, 9, 0, 61, 27,146,111, 89,214, 13,158,142,152,185, 60,185,125,251,142,244,199,224,252,140,240, 16, 40, 43,106,
-109,229,226,226,210, 73,169, 84,242, 0,128,201,100, 74, 82, 82, 82,102,162,180, 54, 32, 0,156,165, 40,106,128, 30,220, 36,128,
- 21, 3, 6, 12, 88,250,237,183,223,162,110,221,186,152, 53,107, 22, 20, 10, 69,228,165, 75,151,150, 3,216,128, 26, 46, 30,123,
-123,251,229,187,119,239,182,102,114, 76,208,106, 97, 34, 4, 5, 74, 0,128, 41, 23, 56, 55,141,198,172, 89,179,204, 31, 63,126,
-188, 70, 31,161,101,111,111,191,106,255,254,253,214,198,198,198,160,105,186,172, 22, 99,113,113, 49,138,139,139, 49, 99,198, 12,
-243,216,216,216,141,250, 8, 45, 7, 7,135, 78, 59,119,238, 52,226,241,120, 40, 46, 46,102,203,229,114,162,168,168, 8, 37, 37,
- 37,180, 76, 38,147,207,156, 57,147,251,226,197, 11, 63,129, 64,240, 22, 6,252, 91,192, 0,240, 13,139,197, 26,212,176, 97,195,
- 54,175, 95,191,126,162, 84, 42, 79, 3, 56,253, 17, 94,166,186, 59, 57, 57,173, 77, 79, 79,223, 9, 32,228,255,101,135, 58, 56,
- 56,156,190,119,239,158,203,238,221,187,199,110,222,188,249, 34,128,223, 62,128,142,205,102,179, 7,119,237,218,213,101,204,152,
- 49, 28, 7, 7, 7, 72,165, 82, 36, 38, 38,154,159, 60,121,210, 53, 58, 58, 58, 85, 93, 17, 67,231, 23, 10, 27,247,142,166, 96,
-154, 31,239,208,177, 83,231,161,131,191, 49,115,176,177,128, 88,166,194,235,100, 65,221, 63, 46,158,235, 26,199, 54,186, 39,151,
- 11,135,231,190,186, 87,172, 47,103,183,110,221, 59,247,232,222,221,204,194,210, 2, 66,145, 28,111,146,210, 92,111, 92, 61,239,
-203,100, 26,221,166, 8,197,168,172,231, 87, 75, 62,229,177,153, 5, 48, 69, 60,155,230, 45, 58,182,122,220,107,194,154, 54, 52,
- 77,131,164,177,163,162, 53,107, 22,192,220, 81, 90,246, 75, 47, 62,208, 52, 77, 16,216,164,109,205,234,237,134,181, 52,141,239,
- 65,130,232, 93,195, 48,165, 6,189, 0,174,165,181,181,207,212,201,147,137,162,194, 66, 68, 71, 71,151, 84, 20, 89, 91,235,128,
-125,155, 68,189,179, 41,181, 23,219,255, 82,107, 86,165, 67,135, 58,231,209, 50, 54, 54,174,116,186,133,133, 5,186,117,235,134,
-245,235,215, 51, 1,180,174, 48,187,124,145, 85,128, 27,182,103, 49, 44, 76,184,100,221,186,117,205,204,205,205, 63,152, 19, 0,
- 64, 83,245, 59,214,165,191,124,244,235,146,177,215,142,110,241, 20, 21, 21,176, 42, 54, 49, 53, 53, 69,227,198,141,177,116,233,
- 82,221, 56, 63, 28,255, 40,167,163,163, 99, 19, 95, 95,223,214,215,111,221,178, 76, 79, 79,231,166,167,167,115,175, 92,191,110,
-217,161, 67,135,214,142,142,142, 77,202,118, 21, 77,235,211,207,213,187,118,237, 90,126,246,236, 89,210,215,215, 23, 86, 86, 86,
-232,214,173, 27, 46, 94,188,200,220,188,121,243, 58, 0, 75,107,234, 39, 73,146,157,125,125,125, 9,208, 52, 50,132, 74, 60, 88,
-223, 4,209,155, 60, 80, 36,161,145, 39, 44,132, 88, 44,129,177,177, 49, 15,165,195,189,186,110,123,199, 14, 29, 58, 16, 0,202,
-196, 85, 81, 81,233,167,184, 88, 4,153, 76, 14, 46,151,107, 6,128,167, 43, 39, 77,211,142,157, 58,117, 2, 0,200,229,242,178,
- 55,188,130,130, 2, 66, 40, 20, 66, 38,147,129,197, 98,177, 81,179, 95, 99, 25,167,185, 9, 83,193,100,115, 23,140,153, 17,152,
- 50,102, 70, 96, 10,147,205, 93, 32, 51, 43, 84,233, 50,205,220,132,169,248,196,231,167, 29, 73,146, 63,187,185,185,197,146, 36,
-121, 24,128,227, 7,114,182, 5,176,206,200,200,232,154,135,135, 71,138,177,177,241,117,181, 80,239, 80, 75, 78,142,177,177,241,
-245,117,235,214,157,122,242,228,201,208, 63,255,252,179,254,179,103,207, 6, 7, 5, 5, 29, 55, 53, 53, 13, 71,121,191, 68,189,
-175,205,250,245,235, 31,124,240,224, 65,219,142, 29, 59, 30, 0,192,253, 72,215, 59, 3, 64, 75,232, 84,145,227,147, 28,119,167,
- 86,173, 90,185,240,120, 60,244,232,209, 3, 0,252, 62,132,147,205,102, 15, 94,186,116,169,219,178,101,203, 56, 2,129, 0,215,
-175, 95,199,195,135, 15,161, 84, 42, 49,109,218, 52,238,152, 49, 99, 26,152,153,153, 13,214,171,159, 76,243,227,179,231,204,237,
- 51,127,214, 36,179,167,239,228, 56,116,237, 29,126,143, 16, 32,171,132,131,254,131,199, 88,244, 30, 56,172, 55,135,107,113, 92,
- 95,206, 69, 11, 23,246,153, 60, 62,192, 44, 70, 64,225,220,253, 12,220,143, 23, 66,201,178, 68,223,193, 19,173, 90,116,234,243,
- 21, 19,172, 95, 62,245, 49,218, 15,180,159, 61,123,182,221,130, 77, 71,238, 58,181,253,102, 71,118, 62,124,181,133,143, 59, 96,
-105,109, 98,242, 77,124,215,174,147,140, 74,235,197, 86,203, 89,142,175,245,192,224,172,124,116,209,246,207,234, 98,141, 70,234,
- 97, 69,198,149,159,151,145, 52,129, 89, 35,157,202,221, 7, 42,237,231, 77, 96,232,236,185,115, 89, 22, 86, 86,216,181,107, 23,
-164, 34, 81, 57,159,217,238, 46,232,115,205,152,153,218,192,195, 57,182,155, 43, 17,254, 31,124, 95,153, 92,165, 69, 43, 44, 44,
-140,238,215,175, 31, 1, 0,161,177,200, 31,220, 20, 27,135,125,187,110, 41, 65, 18,116, 61,207,142, 49,117,220,154,137,108,108,
-108, 80, 82, 82, 2,169, 84, 10, 54,155, 13,137, 68,130,119,239,222,225,254,253,251,176,178,178,210,171, 39,133,133,133, 48, 53,
- 53,133,169,169,233, 71,225, 92, 60,182, 7,247, 77, 74, 54,247,242,253,155, 93,183, 79,255,173,189, 91, 75,191,103,221,135,205,
-122,110,110,231, 36,121,246,236, 25,238,221,187,135,252,252,124,248,248,248,252, 87, 14,230, 67,181, 79,214, 67, 0, 86, 13, 27,
- 54,116,190,124,237,182, 85,177,132, 50, 79,202, 84,176, 40,138,130,177, 49, 95,121, 34,244,156,112,232,224,254, 68, 70, 70, 70,
- 22,128,135,106,113, 91, 83, 77, 69, 30,128, 38,254,254,254,139,166, 79,159,142,132,132, 4, 76,154, 52, 73,252,240,225,195,220,
-142, 29, 59,218,236,223,191,223,104,222,188,121,184,117,235,214,138,176,176,176, 51, 0, 18, 1, 84, 90,171,141,166,105, 54,155,
-205,134, 82, 45, 27,228, 42,170, 76,223, 23, 22, 22,130, 22,231,131,205,102, 51, 0,216, 65, 71, 63, 58,138,162,216, 44, 22,171,
- 76,100,189,203, 44,196,187,172, 18, 20, 22,203, 32, 22, 43, 33, 19,211, 96, 24,219, 48,129, 36, 7, 0, 73, 80,170, 87, 0, 0,
- 0, 32, 0, 73, 68, 65, 84,186, 90, 71,120, 60, 30,148, 74, 37,138,138, 74,187,161,177,148,201,100, 50, 8,133, 66, 48, 24, 12,
- 83, 0,230, 0,242,116, 33, 84, 59,185,255,174, 30, 6,196,163, 35, 3,108, 95, 95, 88, 92,110,154,185, 9, 83, 17, 58,175, 41,
-195,198,185,197,157,150, 67,127,241, 40,155,246,105,253,179,184,118,118,118, 55, 78,157, 58,213,180, 81,163, 70, 72, 76, 76,244,
- 24, 50,100,136,143, 64, 32,104, 9,253,107, 50, 26,147, 36,185,113,204,152, 49,211, 71,140, 24, 65,184,187,187,131,201,100, 66,
-169, 84, 58, 39, 36, 36,116, 59,121,242,228,194,131, 7, 15,238, 87,169, 84,223, 65,119,191, 63,146,195,225,156,216,187,119,111,
- 23, 31, 31, 31, 28, 62,124, 24, 15, 31, 62,164,218,182,109, 75,142, 30, 61, 26,174,174,174, 62,163, 71,143,254, 93, 42,149,246,
-173,165,101,203,181, 67,135, 14, 46, 12, 6, 3, 29, 59,118,100,223,187,119,175, 21,128,123, 31,184, 79, 77,157,157,157,111,249,
-249,249,181,188,118,237, 90, 84, 70, 70,134,159, 30,219, 11, 0, 3,157,156,156,130, 44, 44, 44,172,244,184,199,150,164,165,165,
-125, 15, 32, 84,199, 69,218,183,110,221, 26,201,201,201,104,210,164, 9,216,108,118, 7,185, 92, 62, 5, 64, 31, 0, 63, 0,136,
-213,163,191,238,221,187,119,119,241,243,243, 35, 66, 67, 67,203,252, 67, 73,146,132, 82,169, 4,155,205, 70,251,246,237,201,200,
-200,200, 58,143, 30, 61,114,135, 14,195,136, 54,110,126,253, 59,118,238,218,185,139, 79,115,114,115,232,107,168, 40, 21, 24,132,
- 18, 76,130, 2,165,224,130,203,102,192,221,179, 13, 35,254,197, 83, 31,153, 84,222, 63,247,213,181,243,186,112,246,233,213,211,
-183,105, 19,119,114,251,239,111, 80,144, 22,171, 74,139,187,157, 67, 50, 72, 52,109,253,133,173,123,179,150,140,150, 62,126,172,
-244,196, 23,221, 36,146, 46, 61,242, 19,110, 95,251, 20, 23,228, 74,128,225, 92,199,246,155,126, 61,253,216,130,244,116,209,201,
-208,243,207, 75, 20,184, 15, 0,183, 0,162, 47,208,220,187, 93,187,174,251, 55,108,176,225,243,249,172, 81, 35, 70, 40,247, 69,
- 69, 69,161,138,161,223,149, 0,195,214,209,177,199,212,169, 83, 25,130,244,116,250,228,233, 11,207, 52,124, 40,125, 75,241,110,
-238,236,209, 15,162,120,189,134, 41,251, 3, 28, 7, 71,199,166, 83,166, 76, 65, 70,122, 58, 14,135,132, 20, 75,128, 8,141, 21,
-235, 28, 3, 59,155,185, 57,142, 91, 48,113, 0,225,194,183,197,212, 21,251, 58,116,147,103,185, 65,240,215,241,215,214, 34,159,
-177,200,154, 92,169,208,170,136,223, 98,177,220,140,141,250, 39, 79, 30, 35,179,139,228,162,132,132, 4,216,218,218,130,207,231,
-195,194,194, 2, 49, 49, 49,184,126,253, 58, 94,190,124, 9,138,162,208,162, 69, 11,189,122,147,147,147,131,167, 79,159,194,202,
-202,234,163,113,186,185,216,225, 91, 23, 59,118,102,110, 33,251,218,195,151, 62,251, 22, 15,110, 70,122, 12, 62,168, 93, 36, 86,
- 38,147,225, 63,130,178,232, 66, 23, 23,151, 78,135, 14, 29, 98, 75,149, 48,115,159, 18,241,163, 72,162, 50, 1, 0, 19, 30, 67,
- 20, 25,212,248,187,213,171, 87,139,198,143, 31,239,145,146,146,178, 94, 7, 91,255,218,238,221,187,207,167,105,154, 53,123,246,
-108, 0,192,152, 49, 99, 10,239,223,191,239, 14, 32,235,250,245,235, 78, 19, 38, 76,120,117,227,198, 13,227,185,115,231, 50,148,
- 74,101, 12,147,201,164,195,194,194, 86, 1, 8,124,239,137, 72,146,143,163,162,162,234, 57,185, 54,134,171, 13, 9,223,165, 47,
- 75,111,112,198, 20, 82,147,222, 32,238,217, 67, 56, 58, 58, 90,240,249,252,216,212,212, 84,121, 90, 90,218, 66,145, 72,180,187,
-134, 62, 70, 71, 70, 70,242, 93, 93, 93, 81, 92, 92,140,212,236, 18,204, 58,109,140, 66,113,169, 17,131, 5, 49, 90,186, 52, 54,
- 51, 34,101, 15,179,178,178,228, 50,153,108,153, 80, 40, 60, 84, 29, 39,139,197,202,125,246,236,153,105,221,186,117, 33,145, 72,
-232,188,188, 60, 66, 36, 18,161,168,168,136,184,112,225,194,215, 2,129,160,109,253,250,245, 9,103,103,231, 85, 2,129, 64,156,
-150,150, 54, 73,151,161, 73,181, 96, 82, 49,153,204,205,147, 39, 79, 30,122,230,204,153,199,161,129, 77, 7,106, 13,151, 88,120,
-122,122, 94,110,222,188,153, 83,200, 38,239, 29, 0,126,252, 23,156, 91,227,150, 44, 89,210,212,218,218, 26, 83,167, 78,197,202,
-149, 43,177,124,249,242, 70, 83,167, 78,157, 12, 96,171, 30, 60, 70,142,142,142,143,182,111,223,238,209,169, 83, 39, 92,188,120,
- 17,199,142, 29,195,219,183,111,149,245,235,215,103,250,248,248, 96,197,138, 21,232,221,187,247,164,153, 51,103,118, 77, 79, 79,
-111,165,163,248, 24,191, 98,197,138,129,157, 59,119,198,216,177, 99,165, 55,111,222, 28, 10,224,202,213,171, 87,191,184,117,235,
- 86,232,145, 35, 71,140,214,173, 91,215, 99,222,188,121, 83, 1, 4,215, 98,251,191,238,210,165,180,134,114,231,206,157, 17, 20,
- 20,212,251, 3,133, 22,199,198,198,230,194,225,195,135, 91, 54,110,220, 24,163, 70,141,106, 53,116,232,208, 11,249,249,249, 61,
- 1,232,116, 67,170, 83,167,206,198,179,103,207, 54,172,106,100,161, 50, 72,165, 82,235,111,190,249,102, 67, 82, 82,146, 94, 66,
-235,232,209,163,248,254,251,239,209,162, 69,139,230,237,219,183,223, 51,101,202, 20,248,251,251,119,143,137,137,113, 64,105,212,
-114,141,224,241,120,205,135, 15, 31,206,121,240,224, 1, 0,192,211,211, 19, 45, 91,182, 68,114,114, 50, 30, 63,126, 12,169, 84,
- 10, 7, 7, 7, 12, 26, 52,136,151,148,148,212, 60, 39, 39,167, 70,161, 69,114,141,199, 13,236,215,215,236,220,125, 1, 84,148,
- 18,109, 26,154,195,199,195, 30,241,169,133,136,140, 77,133, 74,198,134,185,181, 13, 58,116,237,101,157,145,246,118, 92, 46, 80,
-179,191, 22,215,120,220,160,129, 95,153,158,139, 72, 71, 65,122, 28,253,250,225,153,235, 10,137,104, 18, 0, 60,254,243,248, 30,
- 71, 27,163,158,238,173,219, 48,252,122, 14,176, 58,125, 44, 99, 92,254, 63, 83,219,239, 61,220,114,193, 94, 87, 86,206,152, 5,
- 1,190, 52,203,202,249,161,153, 66,177, 83, 51,175, 55,208,107,225,146, 37,237, 39, 78,158,204,163, 40, 10, 71,126,253,181,240,
-105, 84, 84,252,100,128,154, 82, 5,223, 78,192,117,232,192,129, 92, 51,115,115,204,153, 53, 11,102, 10,197,141,178, 93, 2,116,
-159, 51,127,126,167, 25, 51,102, 24,237, 89, 53,253,113,239, 9,107, 90, 83, 52, 77,104,134, 41,143, 86,111,138,107, 59, 97,224,
- 64,152,153,155, 99,246,236,217, 32,228,242,203,101, 2,138,137, 27,227,191,246,245, 9,232,223, 25, 4, 8, 28, 11,187,131,215,
-201,217,207,110, 8,240,230,115, 85, 85, 21, 80,165,143, 86,181, 67,135, 69,114,100,118,255,106,176,192,221,221,189,168, 81,163,
- 70, 69,185,185,185,120,254,252, 57,242,243,243, 17, 28, 28,140,184,184, 56, 80, 20, 85,107, 1, 67, 81, 20, 62, 54, 39, 0, 56,
-216,152, 99, 84,223,118, 76,169, 68,196,203,206,206, 46, 55,124,244, 31, 18, 90,101, 80, 42,149,188,250,245,235,131, 4, 8, 97,
-137,194, 52,227,104, 23, 34,227,104, 23, 66, 88,162, 48,149,201,100,164,169,169, 41,164, 82, 41, 79, 7, 42,214,151, 95,126, 57,
-255,204,153, 51,172,181,107,215,194,203,203, 11,114,185, 28,247,239,223, 79, 5,144,165,110,147,126,251,246,237,116,141, 16, 94,
-191,126, 61, 78,159, 62, 77,244,232,209, 99, 97,101,231,147, 64, 32,216, 56,101,202,148,188,146,162, 60,236, 29, 38, 70,232,168,
-108,252, 60,240, 45, 70,216,156, 66, 94,230, 59,236,219,183, 15, 87,175, 94, 35,174, 92,185,202,190,121,243,166,201, 87, 95,125,
-181,163, 78,157, 58, 97,213,117, 50, 61, 61,125,237,140, 25, 51, 10,138,138,138, 80, 84, 84, 4,177, 88,130, 60, 17,240,108, 75,
- 83, 60,219,210, 20, 18,202, 8,187,118,238, 38,159, 61,123,102,251,246,237, 91,167,254,253,251,111,225,243,249, 7,171,227, 76,
- 75, 75,123,240,237,183,223, 74, 10, 11, 11, 33,147,201,228, 42,149, 74, 38, 22,139, 21,199,143, 31,159,107, 99, 99,211,225,226,
-197,139,172,171, 87,175, 49,111,222,188,197,190,126,253,186, 69,183,110,221, 78, 56, 56, 56,252,162,139,165,140,193, 96,108, 11,
- 9, 9, 25,183,107,215, 46, 7, 31, 31,159,102, 21,134,162,248, 61,123,246,172,247,235,175,191,214, 9, 10, 10, 90,136,210, 0,
-148, 79, 10, 91, 91,219,153, 3, 7, 14,196,174, 93,187,112,254,252,249,121, 59,118,236,192,151, 95,126, 9, 39, 39,167,111,161,
-251,176, 23, 0,252,184,117,235, 86, 15, 15, 15, 15,140, 25, 51, 70, 54,105,210,164,239, 14, 29, 58, 84, 63, 60, 60,156,253,203,
- 47,191,212,155, 58,117,234,236,128,128, 0, 73,131, 6, 13, 16, 28, 28,220,144, 36,201,109, 58, 93,223, 14, 14,115, 71,140, 24,
-129, 77,155, 54,225,230,205,155,131, 81,250, 64,149, 1,184,116,247,238,221,254,235,214,173,195,224,193,131,225,236,236, 60,187,
- 54,150,167,166, 77,155, 46,235,211,167, 15,194,195,195,209,170, 85, 43,116,232,208, 97, 30, 0,219, 90,238, 78,210,212,212,244,
-196,161, 67,135,124,235,213,171,135, 53,107,214,192,205,205, 13, 7, 15, 30,244, 53, 49, 49, 57, 1, 29,221, 55, 44, 44, 44, 76,
-141,141,141,177,112,225, 66,122,240,224,193,121, 53,125,230,205,155, 71,115,185, 92, 88, 89, 89,233, 26,248, 98,196,227,241, 58,
-122,121,121,225,254,253,251,184,122,245, 42,150, 46, 93,138,185,115,231, 34, 59, 59, 27,195,135, 15, 55, 6,224,175,199,118,219,
-219,217,217,161,176,176,180, 46,188,151,151, 23,158, 60,121,130,236,236,108, 56, 59, 59, 35, 35, 35, 3, 54, 54, 54,104,220,184,
- 49, 40,138,178,215,141,146,246,178,181,182, 64, 86,190, 20, 76, 40,209,218,221, 22, 55,158,231,226, 93,182, 12,246, 54,150,200,
-200,202, 70, 29, 27, 30, 92, 92,234,130,166, 41, 47,157, 20, 48,131,108,205,229, 25, 33,175, 72,142,180,216,155,185,114,149,116,
- 74, 65,226,221,148,130,196,187, 41,114,169,100,202,227, 59, 87,115,235, 57, 24,193,197,197, 5, 4, 77,181,251, 20,215,227,144,
-186,112, 49, 49, 98,142,185,250,243, 50, 34,108,255, 98, 66,154,251,174,109, 31,135, 82,203,178, 29, 80,127,200,240,225, 29,191,
-251,238, 59, 94,102,102, 38, 21, 48,108, 88,222,218,192,192,107,127,212,240, 98, 80, 12, 52,234,217,179, 39, 72, 0,127, 92,185,
- 34,202, 0, 82, 1,192, 1,112, 25,240,205, 55, 93,150, 44, 90,100,148,147,155, 75,221, 79, 40, 62, 23,151, 69, 15,178, 86,161,
-190, 46,254, 89, 42,192, 91,195,123,249,242,101, 90, 12, 60, 6, 0, 63, 23,124,219,171,147,167,207,232,129, 93, 32,200,202,199,
-236,181, 63, 99,207,201, 91,151, 45, 20,244, 23,255,161, 71,241,228, 90, 9, 45,245,208,207,123,211, 74, 74,222, 31, 61,248, 80,
- 1,243,119,112, 86,134,255,162,208,210, 64,161, 40, 29, 37,145, 41, 40,200, 20,148,230,173, 22, 98,177, 88,103,138,203,151, 47,
- 31,158, 53,107, 22,182,108,217,130, 87,175, 94,129,205,102,195,203,203,139, 15,192, 84,115,207,111,221,186,181, 61, 73,146,136,
-143,143,199,230,205,155, 49,126,252,120,250,222,189,123, 7, 81,121,190,148, 39,121,121,121, 59,167, 76, 26, 95,144,159,249, 14,
- 10,113, 62,178,210,222, 64, 42, 42,192,154,245, 27, 81,162, 96, 34, 67, 40, 71,134, 80, 14,146,107,141, 61,251, 15, 49,154, 54,
-109,218,135,193, 96,244,171,166,159,247, 51, 51, 51,247, 79,155, 54,173, 32, 35, 35,163,108,251,100, 10, 26, 50, 69,249,243,213,
-216,216, 24,219,182,109,179,112,119,119, 31,200,100, 50,187, 85,195, 41, 72, 73, 73,137,155, 54,109,154, 44, 51, 51, 19, 66,161,
- 16,231,206,157,235, 95,175, 94, 61,171, 13, 63,110, 33, 68,114, 38, 50, 10,228,200, 40,144,131, 99,106,143, 19,161,103, 24,141,
- 27, 55, 14, 96, 50,153, 29,106, 18, 89, 71,142, 28, 25, 61,108,216, 48,179, 31,127,252, 49,239,236,217,179,187, 0,104, 31,144,
-248,109,219,182,157, 60,113,226, 68,209,252,249,243,173,131,130,130,230,125, 98,177,213,109,216,176, 97, 77, 40,138,194,169, 83,
-167,158, 1,216,122,230,204,153, 71, 82,169, 20,195,135, 15,175,175, 30, 70,210, 5,109, 3, 2, 2,166,251,250,250, 98,206,156,
- 57,242,107,215,174,181, 6,176, 5,165, 67,185, 52,128,100, 0, 59,110,221,186,213, 98,230,204,153,210,118,237,218, 97,236,216,
-177,227, 1,248,214,192,219,113,196,136, 17, 30, 20, 69,225,248,241,227, 79, 1, 92,172, 48,255,122,104,104,232,125,153, 76,134,
-145, 35, 71, 54, 0,160,207,141,156,205,229,114, 79,173, 94,189,218, 50, 45, 45, 13,163, 71,143,150,198,199,199, 35, 48, 48,208,
-200,194,194,226,162,214, 53,160, 51,184, 92,238,190,159,126,250,105,160,183,183, 55,166, 77,155, 38,219,189,123,247,172,233,211,
-167,203, 90,183,110,141, 93,187,118, 13,228,112, 56,122,149,232, 72, 79, 79, 47,136,141,141,181,169,233,147,154,154,170,107,120,
-190,177,169,169,105,132,167,167,103,161,151,151, 87, 27,165, 82,137,152,152,152, 55,135, 15, 31,166,188,188,188,176,115,231, 78,
- 4, 5, 5,161, 95,191,126, 96, 48, 24, 58, 11, 45, 6,131, 1,185, 92, 14, 99, 99, 99, 48,153, 76,188,121,243, 70,147, 90, 6,
-108, 54, 27, 0, 96, 98, 98, 2, 35, 35, 35,144, 36,169, 83, 52, 26, 65,128, 46, 44, 81,128,197, 34,193, 36, 41,196, 37, 11, 33,
- 87, 80,224,177, 25, 96, 49, 9,128,166, 96,105,194, 2,143,195, 0, 73, 16,148,142,156, 16,138,228,224,176, 73,176,216, 28,130,
- 84,170,140,202, 30,142, 76,149,145,145, 17,135,176, 53,231,130,199,254, 23,149, 5, 38, 74, 29,203,199, 1, 44,147,186,117,135,
-110,218,188,153, 83, 88, 92,140,193,131, 7,231, 37, 61,122, 20, 34, 6, 30,117,173, 33, 72,137,100, 50,221,253,186,118, 69,100,
- 84, 20,138,242,243, 95, 3,165,206,241, 28, 39,167, 97,219,182,109,227,136, 37, 18, 12, 30, 52,168,224,213,157, 59, 71, 82,138,
- 17,118, 60,185, 84,136,213,120,220,217,108, 71, 13,175, 48, 63, 63, 31, 40, 77, 33,225, 96,103,186, 97, 70, 64,111, 20,149, 72,
-176, 96, 99, 8, 21, 21, 39,248, 54, 60, 21, 95,157, 73,135,240, 63,246, 24,158, 92,225, 3, 64,135,132,165, 26,235, 82, 77, 98,
- 69, 42,149,126,116, 1,244,161,156,149,137,196, 15,229,252, 55,130,201,100, 74, 94,190,124,201, 49,183,113,162,108,204, 88,249,
-245,198,223,177, 0, 0,107, 83,166, 80,174, 82, 80,233,233,233,224,114,185, 18, 29,135, 27, 38,237,219,183,111, 13,128,102, 76,
- 38, 51,236,208,161, 67, 68, 72, 72,136,213,136, 17, 35, 18, 98, 99, 99,211, 60, 61, 61, 93, 15, 29, 58,100, 14, 0, 59,118,236,
-160, 79,156, 56,209, 27,165, 41, 51,170,204,227,146,153,153, 25,152,155,155,123,111,198,140, 25,193, 28, 14,199,202,196,196,196,
- 38, 60, 60,156,144,200,105,180, 93,146, 92, 22,137,104,110, 68,226,246, 98,115, 76,158, 60,153, 17, 27, 27,187, 62, 45, 45, 45,
-172, 26,206,133, 5, 5, 5,225,175, 94,189,218, 98,225,220,210,206,196,117,137,133,207,226,120, 0,128,171, 45, 11,164,250,190,
- 88, 80, 80,128,236,236,108, 76,159, 62,221, 42, 33, 33, 97, 97, 90, 90,218,141,106,172, 90,183,114,114,114, 82, 95,188,120,225,
-199, 98,177, 56, 38, 38, 38,109, 35, 34, 34, 8,137,140, 66,243,133,201,200, 43, 46,237,167,181, 41, 19,143, 87, 59,224,219,111,
-191,101,190,126,253,122,163, 64, 32,232, 92,233,205,140, 36,131,180, 69,214,130, 5, 11,162, 1, 52, 0, 80,110,104, 84,165, 82,
- 17, 35, 71,142,124, 14,192,107,254,252,249,214, 52, 77,207, 91,184,112, 97, 30,128,189,255,244,185,100,110,110,190, 97,202,148,
- 41, 56,113,226, 4,242,243,243,183, 1, 64, 97, 97,225,214,163, 71,143, 30,159, 52,105, 18,126,253,245,215, 13,217,217,217,127,
-160,230, 80,237, 47,135, 15, 31,142, 75,151, 46,225,207, 63,255, 92, 6, 32,166,138,118,175,194,195,195, 23,158, 61,123,118,251,
-136, 17, 35,240,243,207, 63,247, 1, 80,157,131,108,207,222,189,123,227,226,197,139,200,205,205,221, 85, 89,131,130,130,130,221,
-231,206,157,107,223,187,119,111,172, 95,191,190, 39,128,235, 58,108,186,135,133,133,197,161,237,219,183,183,245,246,246, 70, 64,
- 64,128, 68, 46,151,247,153, 63,127,254,249, 99,199,142,153, 29, 62,124,184,205,228,201,147, 31,168,115,190,221,215,201,148, 69,
-146,235, 54,111,222, 60,193,207,207, 15,243,230,205, 83, 94,190,124,121, 0,128, 43,127,252,241, 71,194,130, 5, 11, 46,108,222,
-188,153,177,105,211,166, 9,179,103,207,206,166, 40,234, 83,137,235,213, 59,118,236,104,223,171, 87, 47,188,121,243, 6,247,239,
-223,135, 92, 46,255, 53, 34, 34,226,118,163, 70,141, 86,203,100,178,243, 38, 38, 38, 99,204,204,204, 60, 91,182,108,249,197,227,
-199,143,141,161,155,159, 94,102, 98, 98,162,165,133,133, 5,148, 74, 37,158, 61,123,134,186,117,235, 66, 46,151,227,237,219,183,
-240,246,246, 6,155,205, 70,102,102, 38,180,172,229, 53,136, 34,242, 89, 66, 82,122, 3,107, 51, 19, 64,197,195,147,248, 84,216,
-217, 90, 65, 69,144,200,200, 16,160,101, 19,103, 16, 4,129,130,220, 12, 16, 4,241, 92, 23, 78, 21, 77, 69,190, 75,207,170, 99,
- 99,198,133,119,251, 94, 54, 17,127,100,135,152, 55,232, 52,153,201, 32, 24, 28,174,233,222, 9, 99,199,218, 82, 20,141,130,220,
- 76, 48, 73,242,225,167, 56, 64,167,222, 33,165,171, 27,239, 73,175, 9,107, 90, 18, 52,104,177, 28,135,127,206, 68,190, 49,208,
-114,199, 15, 63, 88,218,216,218, 34, 32, 32,128,202, 77, 75,187, 86,162, 99, 98,229, 6,141, 26, 57,152,154,153,225,238,221,187,
- 96,148,250,216,226, 32,224, 17,180, 96,129,141,189,163, 35,198, 79,152, 64,101,190,123,119, 93, 12,164,235,211,215, 6,110,110,
- 44, 13, 47,169,230, 21, 48, 48,107,254, 0, 95,174,137, 17, 23,235,246,156, 65, 74,142,232,120,132, 0,123,254,163,246,142,125,
-213, 90,180,170,114, 62, 43,117,170, 54,174, 86,172,240,120,188, 50,107,138, 30,111,122, 31,157,179, 38,252, 29,156,159, 16,139,
- 1,156, 5,176, 56, 37, 37, 37,110,194,132, 9,114,165, 92, 90,116,111, 77,131, 69, 81,235,235, 77,139, 8,228, 79,251,125,150,
-197,162, 18, 97, 94,209,142, 29, 59, 20, 41, 41, 41,113,218,203,212,192,253, 14,192,197, 95,126,249,101,247,169, 83,167,224,229,
-229,133,152,152, 24,123,145, 72,212,234,249,243,231,214, 30, 30, 30, 8, 9, 9,193,137, 19, 39,182, 0,184, 90,157,200,210, 64,
-169, 84, 94,203,200,200,104,156,156,156,220,208,210,210, 82, 97,105,105,137,138,145,136,133, 98, 10,185, 5, 66, 88, 91,219,192,
-220,220,188,190, 14,226,252, 98, 70, 70,134, 59,101,213,164,139,123,206, 54, 97,228, 58, 23, 68,174,115,193,197,133, 78,224, 91,
-114,144,159,159,143,236,236,108,100,103,103,131, 32, 8, 40, 20,138,166, 58,112,190, 21, 8, 4, 7,222,189,123,119,214,193,193,
- 1,102,102,102,160, 1,100, 20, 40, 16,189,201, 3,209,155, 60,144, 81,160, 64, 97, 81, 17,234,213,171, 7, 51, 51,179,170,134,
- 40,200, 58,117,234,244, 29, 54,108,152, 25, 0,168, 5, 84,119,154,166,167, 85,242,153,170, 84, 42, 59,105,218,126,255,253,247,
-214, 0,122,255,195,231, 19, 3,192,140, 73,147, 38,181,225,241,120,216,185,115,231, 91, 0, 71, 52,247,250,221,187,119,199, 3,
-192,172, 89,179, 60, 1,204, 67, 21,153,160,203, 76, 67,108,118,235,166, 77,155, 34, 34, 34, 2, 0,206,212,176,238,208,123,247,
-238,161, 81,163, 70,224,241,120,109,107,104, 91,223,197,197, 5,241,241,241, 0,240,164,138, 54, 79,226,227,227, 75,135,123, 8,
-162,190, 14,219, 62,176, 87,175, 94,207,110,220,184,209,182, 99,199,142,152, 48, 97,130,236,193,131, 7,125, 1,220,126,242,228,
- 73,183,145, 35, 71,138,220,221,221,113,235,214, 45,143,145, 35, 71,222, 35, 73,114,141, 14,156,227, 87,173, 90,181,248,235,175,
-191,198,170, 85,171,232,147, 39, 79, 6, 0,184,162,158,119,249,248,241,227,163,215,174, 93, 75, 15, 26, 52, 8, 43, 87,174, 92,
- 12, 96, 90,117,100, 34,145, 72,168, 82,169, 32, 18,137,116, 50,201,235,218,222,214,214,246,203, 94,189,122, 97,233,210,165,168,
- 83,167, 14,206,159, 63, 79, 3, 8, 3, 16, 46,147,201,186, 0,216, 44, 18,137,126,143,136,136, 64,207,158, 61,217, 40, 95, 98,
-164,186,245, 63, 59,122,244,168,212,194,194, 2,174,174,174,104,208,160, 1, 50, 50, 50,144,148,148, 4,111,111,111,180,110,221,
- 26, 74,165, 18, 7, 14, 28,144, 20, 21, 21,233,148,147, 79, 41, 19, 29,190,122,225,180,208,198,140, 11,103,123, 11,212,171, 99,
-141,226,130, 28,100,103,164,163,117,211,186,232,218,186, 30,114,132, 50, 92, 14, 59,157, 95, 84, 84,114, 88, 39, 19,190,180,228,
-208,181, 63,206, 11,173,204,216,104,220,196, 19, 35, 39,204,106,217,178,149,207,213,118,237, 58, 93,254,113,195,186,230,221, 59,
- 52, 37, 82,115, 36,184, 20,118, 38, 95, 88, 88,120,232, 83,220,232, 87, 2, 12,137,133,251,237, 93,103, 35, 15, 52,235, 51,233,
- 64, 92, 42,182, 1,128,130,193,240,232,251,229,151, 72, 77, 77,197,233, 83,167, 4, 37,192, 83, 93,249,140,140,140, 72, 0, 16,
- 10,133,224,170,253,238,148, 64,147,175,190,250, 10,217, 57, 57, 56,122,228, 72,246, 37, 32, 74,159,126,246, 7, 56,198, 70,165,
- 6, 65,161, 80, 8, 2, 40, 4, 0,130,137,190,237,188, 26, 33, 59,175, 16, 55, 30,198, 21,215, 19, 99,122,117, 60,159,177, 35,
-124,237,124,180, 0,228,204,155, 55, 15, 92, 46, 23,124, 62,191, 76, 28,105,196, 10,135,195, 1,159,207,135, 82,169,196,241,227,
-199, 1, 32,167,218, 55, 60, 64, 58, 96,218,122, 74,170,160, 75, 88, 44,214, 71,225, 84,191, 57, 74, 7, 47,248,153,250,227, 94,
-229, 65, 49,181,225,252, 12,208, 78,157, 19,171, 29,128,252,164,164,164,212,161,131, 7, 8,147, 19, 94,100,136, 10,210, 5,133,
-185, 41,130,148,183,207, 51,150, 44,156, 39, 76, 77, 77, 77, 65,105, 46,173,118,233,233,233,154,101,116,193,188,161, 67,135,254,
- 52,105,210, 36, 58, 58, 58, 26, 0, 16, 25, 25,137,177, 99,199,210,163, 71,143,222, 6, 96, 81, 45,250, 45, 18,139,197,229,172,
- 33,114, 21, 85, 54,228, 87, 88, 88,136,244,244,116,200,100, 50,157, 21,241,171,203,155, 94,230, 37, 61, 86,120,186,154,192,211,
-213, 4, 30, 46,198, 32,148,197,101, 34, 43, 59, 59, 91,243,230, 44,209,163,159,133, 82,169,180, 92, 63,181,135, 38, 11, 11, 11,
-145,145,145, 1,149, 74, 85,213,131,140, 74, 75, 75,187,124,226,196,137, 34, 0,248,241,199, 31,243, 8,130,248,147, 32,136,159,
- 42,249,236, 97, 50,153,119, 53,109, 55,109,218,148,135,247,135,196,254, 78,124,237,237,237,157,191,120,241,226,157,179,103,207,
-198,158, 61,123, 32, 16, 8, 22,225,175, 92, 60, 84, 78, 78,206,130, 93,187,118, 97,220,184,113, 88,190,124,249,166, 86,173, 90,
- 21, 2, 24, 89, 21,161,157,157,157, 51,147,201, 68, 84, 84, 84, 33,128, 55, 53,172, 63, 35, 42, 42, 42,147, 32, 8,240,249,124,
-183,234, 26, 90, 91, 91, 55, 52, 51, 51, 67, 90, 90, 26,160,126, 99,174, 4, 73,233,233,233, 52,135,195,129,147,147, 83,163,154,
- 54,222,202,202,106,193,129, 3, 7,152, 47, 94,188, 64,247,238,221, 83,111,221,186,213, 19,128, 38, 36, 61, 42, 50, 50,210,183,
- 91,183,110, 47,175, 94,189,138,141, 27, 55, 18, 45, 90,180,152, 86, 19,167,171,171,235,212,241,227,199, 35, 56, 56, 24,123,247,
-238,157, 6,224, 84,133, 38,199,118,237,218, 53,107,239,222,189,152, 48, 97, 2,234,215,175, 63,178, 58,190,228,228,228,133,126,
-126,126,145,175, 94,189,210,169,226,129,142,237,187,249,248,248, 52, 20,139,197, 56,116,232,208,155,134, 13, 27, 62, 58,117,234,
-212, 60,188,255,192,254,253,244,233,211, 24, 53,106, 20, 90,180,104,113, 8,192, 8, 93, 46,203,216,216,216,148,235,215,175, 83,
-108, 54, 27,174,174,174,232,215,175, 31, 2, 2, 2,208,188,121,115,200,229,114,156, 62,125,154,122,254,252,121,170, 76, 38,211,
- 41,151, 82,238,171,155,231, 19, 19,255,199,222,121,135, 71, 81,181, 81,252,204,246,190,155,186, 73, 72, 72, 8, 45,149,142, 84,
-233,161, 72, 23, 81, 68, 16, 43,162,130, 72,177,125, 34, 86, 4,105, 34,136, 20, 69, 65, 4, 20, 69, 90,164,136, 40,145, 78, 2,
-132, 0, 33,129,244,186,233,101,179,125,103,238,247, 71,138, 33,164,236, 38, 40,150,251,123,158,121, 38,185,179,115,246,206,157,
-118,246,189, 45,225,212,197,115, 81, 54, 1,159, 7,127, 31, 55, 60, 24,209, 13,207, 76,238,143, 30, 33,190, 72,203, 51,226,248,
-241,159,109, 41, 41, 73,103, 28,233,113, 88,173, 25,127, 45,246,244,213,139, 39,237, 66, 1,131,144,224,142, 88,244,191, 87, 93,
-151,188,253,154, 75,199,118,254,136, 77, 46,197,207, 71, 15,217,178, 51, 51,126,189, 87, 61, 14, 79, 0, 34,165,132, 81,240,121,
- 60,176, 60, 73, 5,191,170, 35, 77,167,176,176, 32, 47,111,111, 68, 70, 70,130,231, 68,143,208, 19,128, 72,169,172,172, 5,215,
-235,245,168,214,107, 31, 28, 28,236, 31, 16,128,159, 34, 35,193,231,184,235,131,156, 28, 96,244, 70,101, 53,116,141, 46, 3,152,
- 94,104, 13, 85,251,214,218, 96, 87,141, 2,231, 98,111,194,108, 35,231,191, 41,198, 61, 29,143,236, 79,100, 38,154, 89,117,184,
- 98,227,198,141,189,190,248,226,139,225,243,231,207, 87,206,152, 49, 3, 82,169, 20, 6,131, 1,126,126,126, 96, 89, 22,135, 15,
- 31, 70,116,116,180,158,227,184,159,113,231,176, 1, 17,168,213, 75,227, 72, 18,100,149,126,203,208,107,223,195, 15,223, 21, 77,
- 0, 80,222,228,212,133,109, 44,219,215,238, 62, 57,105,199,145,139,204,203, 83, 7,241,122, 4,183, 6, 0,120,121,121, 65,173,
- 86, 59,173,121, 23,248,211, 53,107, 87,235,230,230,230,222,200,205,205,205,123,246,217,103, 67,170, 27,190, 75, 36, 18, 83, 85,
- 36,171,184,190,125, 28,200,167, 21,192, 11, 95,124,241,197,254,210,210,210, 35,175,188,242, 10,150, 44, 89,130, 3, 7, 14, 12,
- 0,112,170,153,199,206, 22, 23, 23,151,156, 63,127,222,171, 67,104,119,180,213, 10, 49,240,173, 68, 16, 66,224, 46, 39, 40, 47,
- 41,194,165, 75, 23, 81, 94, 94,126,206,153,124, 90,173,214,146,188,188, 60, 15,173, 86,139,162,162, 34, 20, 20, 20,212,152,172,
-226,226, 98, 20, 21, 21, 17,134,185, 99,204,150,198, 52, 43,242,242,242, 12,241,241,241, 98,175,214, 29,208, 78, 43, 66,239,255,
-221, 0, 8,129,191, 27, 15,229,101, 37, 56,115,230, 12, 74, 75, 75,127,107, 72,147,227,184, 5,211,166, 77,227, 3,120,252,149,
- 87, 94,113, 3,208,245,213, 87, 95,253, 25,117,122, 22, 10, 4,130,143,183,111,223,222,169,186,138,241,181,215, 94, 91, 13,224,
-139,191,234, 90,114,119,119, 95, 16, 25, 25,169,178, 90,173, 88,187,118, 45, 86,175, 94,189, 5,119, 14, 84, 25,249,233,167,159,
-174,231,241,120, 47,206,158, 61, 27,207, 61,247,156,188,103,207,158,243,115,114,114,190,169, 79, 51, 43, 43,107, 81,143, 30, 61,
- 22,231,229,229,125,232,144, 89, 78, 76,156,217,163, 71,143, 69,121,121,121,203, 27, 59, 71, 10,133, 66,193,178, 44, 82, 82, 82,
-138,129, 6,219,119,152, 82, 82, 82,178, 88,150,245,147,203,229,110, 77, 93,159,197,197,197, 31,246,236,217,243, 29,157, 78,119,
- 20,192, 7,245, 24,242,203, 57, 57, 57,225,115,231,206,157,179,108,217,178, 73,185,185,185,187,154,210, 76, 75, 75,251,112,200,
-144, 33,111, 37, 36, 36,108, 69,195, 85,192,159,190,251,238,187,214,237,219,183, 63,159,146,146,178,180, 9,205,131, 5, 5, 5,
- 7,157, 56,191, 13,125,190, 70,147,207,231,191,186,108,217, 50,222,198,141, 27, 65, 8, 89,201,178,108, 67,249,140,221,187,119,
-239,182,254,253,251,207,216,189,123,183, 52, 60, 60,252, 57,179,217,188,179,169,235,211, 96, 48,236,217,189,123,247,164,216,216,
- 88,191, 25, 51,102, 72,131,130,130, 96,181, 90,145,147,147,131,141, 27, 55,154,226,226,226, 50, 75, 74, 74,246, 56,243, 12,177,
- 91,202,166,158, 62,190,111,103,106, 98, 92,223,193,163, 38,184, 90,172,126,144, 20,242, 81, 82,152,139,195, 7,247, 20,167,164,
- 36,157, 49, 24, 74,166, 58,163,105, 53,151, 62,122,230,215,253,187, 50, 83,226,251, 12, 28, 50,218,213,100, 9,128, 68,196, 67,
-161, 46, 11,135, 35,247, 21,165,164, 36,255,110,178,153,159,184, 87,207,121,126, 32, 62,224,231, 70, 63, 59,107, 92, 55,200, 92,
-253, 46, 9,129,181,253, 1,153,135,151,151,168,234,222,129,178,178,205,163, 67,154, 58, 64,220,161,170,150,202, 96, 48, 64, 8,
- 88,158, 4,132,158,158,158, 50, 0, 72, 72, 72,128,188,178, 86,195,169,124,234, 1,133,188,150, 46, 15, 48, 20, 10,224,219, 94,
-173, 96, 0, 32, 51,183, 16, 22, 91,163,239,141,127, 58,155,107, 25,174,205,205, 17, 16, 1,136, 80, 42,149, 75, 22, 47, 94,188,
-242,220,185,115, 43,199,142, 29,187, 82, 34,145, 44,169, 42,108, 81, 35, 39,226, 47,211,188,175, 21,220,134,180, 99,162, 70,180,
-103,184, 89, 3, 92,217, 39,122, 43, 44, 67,135, 14, 93,223,194,124,182,228,102,249, 51, 53,247,217,108, 54,130,202,106,187,125,
-104,184, 74,240,141, 90,219,115,211,211,211, 73,213,223,206,228,211, 99,202,148, 41, 92,121,121, 57,121,228,145, 71, 8,154,158,
-194,167, 81, 77,137, 68, 50,100,224,192,129, 54, 93,126, 17,185,145,156, 69,206,198, 92, 35, 71,142,159, 38,187,246, 68,146,117,
-235, 55,145, 46, 93,186, 88, 0, 4, 56,163, 41, 16, 8,134, 14, 25, 50,164, 80,167,211,145,248,248,120, 18, 21, 21, 69,190,255,
-254,123,178,105,211, 38,178, 97,195, 6,210,186,117,107, 29, 0, 47,103, 52,101, 50,217,132, 7, 30,120,192, 86, 82,102, 32, 41,
- 89,133,228, 74,124, 10, 57,117,254, 10, 57,124,252, 20,249,102,231,110, 18, 22, 22,102,114, 64,147,207,231,243,215,237,218,181,
-171,140, 16, 66, 38, 76,152,144,137,219, 7, 82,109,187, 96,193,130, 60, 66, 8, 89,190,124,121, 33,234,111, 8,255,103, 95, 75,
-163,124,125,125,111,136, 68,162, 72, 0,143, 55,177,223,163, 2,129,224,128,183,183,247, 5, 0, 15,222,131,251,104,172, 86,171,
- 61, 11,160,169, 25, 14,170, 63, 55,241, 95,114,191,255, 25,154, 67, 5, 2, 65, 20,208,248, 36,194,181,158,215,239,243,249,252,
-159, 0, 12,115, 50,159, 29, 61, 60, 60, 30,113,117,117,125,217,213,213,245,101,173, 86,251,136, 88, 44,238,216,146, 99,119,239,
- 24, 49,206,191,251,248,189,173,187,142, 73,243,239, 54, 54, 45,176,199,132,189,238, 29, 35,198,181, 84, 51,160,199,132,125,254,
-221,198,166,251,119, 27,151,218,246,190, 9,123, 61,130, 35, 30,184,151,231,232,113, 95,180, 26,222, 22,118, 18,245, 22, 33, 81,
-111,145,136,182,224,250,186, 32,172, 23,160, 26, 25, 17,177,138,176,236,170, 73, 19, 39,174,234, 0,184, 19,128, 95,119,169, 79,
-179, 59,160,174,217,119,194,132, 85,237, 0,143,225,128,124,208,128, 1, 43, 9,203,174,154,246,232,163,171,252, 1,239,250,244,
- 26,210, 36, 0,223, 23,104, 85, 91,215, 3,104, 63, 57, 16,225,111,140, 11, 36, 36,234, 45,242,238,195, 65,164,135, 23, 30,111,
- 66,179,161, 72,209, 63, 58,162,229, 44,138,170,135,235,210,170,181,226, 46, 92,132,119, 93,179,143, 15,130, 34,218, 51,241,163,
-131, 5, 69,168,236,146,172,248, 23, 62, 36,183, 90, 44, 22, 98, 50,153,136,193, 96, 32,122,189,190,174,129,170, 49,100,217,217,
-217, 36, 51, 51,147,164,167,167,147,212,212, 84,130, 63,218,222, 56,156, 79,181, 90,253,197,195, 15, 63,204, 10,133,194,117,119,
-227,216,221,220,220,150,246,238,221,219,250,201, 39,159,144,189,123,247,146,207, 63,255,156,204,158, 61,155,116,234,212,201,236,
-226,226, 50,181, 57,154,222,222,222,139,130,131,131, 11,183,108,217, 66,190,249,230, 27,178,102,205, 26,242,230,155,111,178,126,
-126,126,185, 42,149,106,100,115, 52,181, 90,237,230,251,239,191,223,186,121,243,102,242,243,207, 63,147, 29, 59,118,144, 5, 11,
- 22,144,144,144, 16,179, 66,161,120,200, 65, 77,190, 64, 32, 88, 53,107,214,172,220, 86,173, 90, 69,214,217, 38, 15, 11, 11,187,
- 48,109,218,180,108, 0,175,253,139,174, 79,170, 73, 53,169,230,159, 96,180, 30,107, 5, 95, 2,240,229, 34,209,163,131, 6, 12,
- 88, 41, 2, 30,117,214, 20, 73,249,252,201,253,123,247, 94, 41, 2,166, 86,127, 86,202,231, 79, 30, 52, 96,192, 74, 33,159, 63,
-189, 33,189,198, 52, 9,192, 23, 9, 4,175,245,239,219,119,149, 0,248, 95,117,218,208,182,204,245, 5,163, 90,147, 1, 1,204,
-205,233, 90,200,255,197, 70,235,174, 35,248, 19, 46,194,127,138,230,223,229,166,238, 80,101,152,246, 57, 17,209,218,135,202, 89,
-212, 59, 52, 51,159,178,187,124,236,157, 61, 60, 60, 14,117,232,208, 33,191, 77,155, 54,217,174,174,174, 59, 1,248,181, 80, 51,
-220,219,219,251,107, 47, 47,175, 68, 31, 31,159, 88, 15, 15,143,143, 81, 57,234,124,179, 53,133, 66, 97,111, 47, 47,175,223, 2,
- 3, 3, 75, 2, 2, 2,116, 30, 30, 30,187,234,137,100, 57,162,233,131,250, 31, 42,162,170,109,244,165, 67, 53,169, 38,213,188,
-205,192,140,104,135,101,195,219,194, 62,188, 45,216, 17,129,248,184,182, 65, 25, 11,200,154,107,138,158, 0, 36,117, 63,223,148,
- 94, 83,154, 4,224,247, 3,148,117,247, 25,237,135, 48, 7, 53,255,233, 17,173,234,231,188,115,195, 59, 52,128,253, 79,200,228,
- 63, 69,243,239,194, 77, 52,210, 24,185, 22, 75,239,226,119, 26,239,242, 49, 92, 41, 40, 40,120,160,160,224,174,246, 77,184,154,
-155,155,251,248,221, 20,180,217,108,231,116, 58,221,224,187, 32,213, 80,215,107, 43, 28,236,150, 77,161, 80,254, 59, 48, 0,139,
- 36,188, 30,209, 17,107, 5, 44,120,135,147,145, 85,167, 75,158,145,105,142,102, 37,236,214,122,158,241, 76,115,243,249, 7,250,
- 59, 52, 50,113,141,249,239,156,182, 28, 84,182,209,106,177,209,162, 80, 40, 20, 10,133,242, 23,112, 44,145,254, 16,251, 7, 16,
-137,219,163,111,145,181,140,104,131,161, 79,103,122, 82, 52, 39,124,122,140,106, 82, 77,170, 73, 53,169, 38,213,164,154,255, 57,
-205,106, 26,154, 59,245, 70,157,255,155,213,139,239,191, 2,173,103,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,102,
-143,163, 69,161, 80, 40, 20, 10,133, 66,105,156, 6,163,110,212,104, 81, 40, 20, 10,133, 66,161,180, 12, 31, 84, 78, 81, 21,137,
- 63,166,170,218, 76,141, 22,133, 66,161, 80, 40, 20, 74,203, 25,131, 63,122, 27,222, 22,221,226,209,178,161, 80, 40, 20, 10,133,
- 66,105, 49, 51,107,173,105, 27, 45, 10,133, 66,161, 80, 40,148,187,132, 99, 61, 35, 15, 30, 60, 72,104, 89, 81, 40, 20, 10,133,
- 66,185, 87,252, 67,189, 72,117, 20,235,142, 89, 62,104, 68,139, 66,161, 80, 40, 20, 10,165,101,108,174,101,184,110, 75,163, 70,
-139, 66,161, 80, 40, 20, 10,165,101, 84, 27,172, 72,212,153, 82,141, 7,208, 42, 67, 10,133, 66,161, 80, 40,247,150,127,184, 23,
-217, 92,181,220, 49, 93, 82,117,175,195,193, 85, 7, 56,152,158,106, 10,133, 66,161, 80, 40,247,128,127,178, 23,241, 65, 3,109,
-180, 40, 20, 10,133, 66,161, 80, 40, 45, 99,102,157,117, 13, 12, 45, 27, 10,133, 66,161, 80, 40,148,187, 98,180,106, 67, 39,195,
-166, 80, 40, 20, 10,133, 66,249, 39, 67,103, 54,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,127,129,153,168, 51, 42, 60, 64,
-135,119,160, 80, 40, 20, 10,133, 66,185, 27, 38,107,115,125,255,211,185, 14, 41, 20, 10,133, 66,161, 80,254, 36,104, 68,139, 66,
-161, 80, 40, 20, 10,165,101,108, 70, 61,163,194, 83,163, 69,161, 80, 40, 20, 10,133,114,247,204,214, 29,208,170, 67, 10,133, 66,
-161, 80, 40,148,150, 49,179,161,255, 25, 52,220,115,224,152, 19, 95,208,156,222, 7,199,168, 38,213,164,154, 84,147,106, 82, 77,
-170,249,159,211,108, 74,251, 24,254,121, 52,216, 24,254,207,134,118,125,165,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,
-234, 41,120,170,151,154,169,120,104, 27, 45, 10,229, 31, 14,217, 13, 62,138,131, 3, 65, 72, 43,240,197, 57,200,185,146,196,188,
- 3,174,197,154,186,176, 0,200,108, 94,176, 75,243,161,139, 77,110,169, 38,133, 66,161,252,139,201, 65, 3, 17, 44,106,180, 40,
-148,127, 58,249, 33, 65, 16, 96, 41,120,240, 1,177,222,130,103,216, 82,224, 90, 92,139, 53, 69,220, 7, 96,121,126, 32,214, 4,
-104,131,151, 1, 55,174,209,112,241,142,135, 0, 0, 32, 0, 73, 68, 65, 84,194,166, 80, 40, 20,231,248,203, 27,195, 11,133, 66,
- 29, 0, 78, 42,149,238, 1,157,229,154,242,231,226, 83,117,157,113, 85,215,157, 51, 40, 5, 2,193, 98,185, 92,254,171, 68, 34,
-201,147, 72, 36,121, 10,133,226, 87,129, 64,176, 24,128,242,239,114,128,228,235, 78,114,240,216, 7, 44, 54,206,247,240,149, 18,
-173,193,204, 6,129,103, 31, 77,182,116, 84,182, 72, 83,192,140, 48, 89, 57,255,111,206, 27,188, 42, 44,246, 80, 16,180, 72,179,
- 22, 46, 34,145,232, 48, 0, 15,122,121,254, 59, 9, 5,122,246, 20, 8, 22,134, 0, 67, 65,231,211,165, 80,254,122,163,101,179,
-217,180, 5, 5, 5,204,182,109,219,198,107, 52,154, 91, 2,129,224, 13, 0,162,255, 74,129, 43,149,202,211,106,181, 90,167,209,
-104,116,106,181,250, 98, 83,233,255, 82,130, 60, 61, 61,211,220,220,220, 18,106, 39,122,118,121,176, 95,135,254,143,191,237, 30,
- 54, 97, 80, 11,245, 69, 2,129,224, 13,141, 70,115,107,219,182,109,227,179,178,178, 24,155,205,166,117, 98,255,129,174,174,174,
-215,207,157, 59,247, 86, 65, 65,193,160,140,179, 91, 60,115,207,109,242, 76,251,109,213,224,232,159,214,189,229,226,162,185, 6,
- 96,224,223,162, 36, 77,156, 23,120,252, 33, 87,115, 12,242,156, 50,155, 87, 76,170, 65, 5,240, 7,195,210,130, 31, 49,165,156,
- 23, 64,134, 94,206, 52, 42, 78, 23,121,122,253,158,100, 86,131,199, 27, 2, 19,227,221,226, 7, 14,143,247, 60,199,113,195, 69,
- 34,209,203,244,241,251,239, 68,204,227,245, 63, 61,126,252, 7,175,117,233, 50, 39, 4, 24,215,128,217, 98, 0,188, 20, 18, 18,
-114, 8,192,163,119,241,235, 63, 10, 14, 14,206, 2, 48,151,158, 9,202, 95, 76,247,234, 31,248,168,211, 70,203, 97,163, 53, 57,
- 16,253,167,182,197,137, 71, 2, 81, 62,165, 45,244,211,219,226,228, 67,129, 24,218,156,220,184,187,187, 99,224,192,129,252,172,
-172, 44,217,130, 5, 11,222,150, 74,165, 41, 0, 70, 54, 71, 75, 38,147, 69,203,229,242, 12,129, 64,112, 91, 94,228,114,121,180,
- 66,161,200, 16, 8, 4,195,106,167,171, 84,170,211,106,181, 90,167, 82,169, 46, 54, 96,132,162,213,106,181, 78,169, 84, 70,215,
- 78, 23, 8, 4,195,148, 74,101,166, 74,165,170,155, 62, 84,165, 82,101,212, 77,111, 8,161, 80,232,151,145,145,161,205,204,204,
-212,138,197, 98,175,218,233,233,233,233,218,140,140,140,219,210,157, 65, 32, 16, 12, 85, 40, 20, 25,114,185, 60,186,190,244,186,
-199,212, 16,181,202,110,168, 35,233,206,154,172, 17, 35, 70,156,204,201,201,241,119,113,113,113,169,189,193, 77,227, 50,242,235,
- 45,235,231, 79, 24, 61,226,121,207,208,137,157,155,169, 63, 82, 42,149,166, 44, 88,176,224,237,172,172, 44, 89,223,190,125,249,
- 60,158, 83,191, 39, 34, 38, 76,152,176, 79,167,211,249,118,237,218,149,111,183,219,113,117,255, 98,200, 99, 95,134, 52,101, 35,
- 90,203,242, 5,183,126, 94,230, 55, 98,112,207,125,184,199,141, 65,201,238, 80, 17, 24,110, 32, 71,136,231,245, 44,147,231,152,
-241, 15, 11, 46,101, 24, 61,109, 44,235, 6,240, 7,147,175, 2, 36,205,210, 20,216, 6,112,132,120,253,146, 42,244, 28,242,200,
- 28,254,241, 84,129,167,141,101,221,193,195,160,230,104,214,190,252,249,124,254,252, 85,171, 86,241, 0,204, 6, 32,254, 47, 61,
-133,123,181,130,239,208,246,252,243,221,125,208,255, 46,202,134, 87,221,239, 65,127,151,227,180,112,220,141, 93,201,201, 71,166,
-183,111, 63,246,181, 46, 93,158,172,199,108, 49, 0, 94, 91,182,108,217,227, 87,175, 94,245,108,219,182,237,115,119,233, 71,255,
-154,101,203,150,189,122,245,234,213, 86,129,129,129,239,130, 14, 95,244,175,130, 16, 34, 38,132, 12, 33,132,140, 33,132, 12, 35,
-132,244,170,250,251,190,170,101, 12, 33, 36,162,206,250,190,170,125,171,183,247,110, 64, 99, 76,221,253,106,237, 83,247,255,219,
-254,174,199,104,141, 65,101, 91,173, 49,183, 29,192,193,131, 7, 73,237,117, 93,166, 4,226,157, 57,253,124, 13,215, 15,236, 32,
-250,140,100, 82, 28,127,137, 92,218,252, 33,153,115,159,167,225,177,182,248,200,249,242, 34,228,212,169, 83,228,234,213,171, 68,
-175,215,147,196,196, 68,210,187,119,111,163, 92, 46,255, 5, 64,160, 51, 98, 42,149, 74,247,203, 47,191,144, 17, 35, 70,148, 42,
-149,202,149,213, 55,151, 90,173,214,157, 58,117,138,140, 24, 49,162, 84,165, 82,173, 1,192, 7,128,135, 30,122, 40,143, 16, 66,
- 60, 61, 61,179,235,211,155, 48, 97, 66, 49, 33,132,104, 52,154,234,170, 38,190, 74,165, 90,243,226,139, 47,234, 47, 92,184, 64,
- 92, 93, 93,171,211,121,106,181,122,229,236,217,179,245, 49, 49, 49,181,211, 27,197,205,205, 45,131,101, 89,114,224,192, 1,162,
-213,106,107,242,224,234,234,154,193,178, 44,217,183,111, 95,131,121,107, 44, 80,160, 84, 42, 87, 76,159, 62,189, 60, 53, 53,149,
-184,187,187,235,106,165,175,156, 49, 99, 70,121,122,122, 58,241,240,240,112, 40,143,238,238,238,186,211,167, 79,147, 73,147, 38,
-149,213, 46, 83,119,119,119,221,153, 51,103,170,211, 87, 56,242, 32,107,213,170,213,115, 90,173, 54, 91,171,213,102,187,184,184,
- 44,241,241,241,201,205,207,207, 39,132, 16,210,174, 93,187,188,218,145, 44,109,248,248,121, 27,119,159, 57, 23, 21, 87,152,223,
-101,248,243, 43, 52, 93, 38,104,156, 40,131, 64,185, 92,254,203,160, 65,131,140, 25, 25, 25,164,162,162,130,196,198,198,146, 83,
-167, 78,145,155, 55,111, 18, 0,196,145,203, 73,169, 84,102,153,205,102,206,108, 54,115,249,249,249,108, 94, 94, 30, 27,191,210,
-135,144, 47,133, 53, 75,201,190,113, 36, 55,106, 41,167, 86,202, 51, 1,168,238,217,131,103,125,152, 31,217, 20,188,235,218, 98,
-255,248,168,101,163,108, 36,245, 56,217,241,164,167,237,196, 60,223, 91,100, 67,200, 15,100, 83,104,235,102,105,110, 8,221, 17,
-251,166,255,141,117,239,190,100, 75, 75, 75, 35, 11,103,140,178, 31,157,227,155, 68, 54,134,236,110,142,102, 45,166, 62,248,224,
-131,250,244,244,116, 18, 22, 22, 86,193,231,243,159,254, 47,153,172,136, 32,113, 86,236, 55, 11,185,113,225,242,194,187,100,182,
-194,181, 90,109,193,214,173, 91,137, 74,165,202,251, 27,153, 45, 38, 4, 24,191,173, 75,151,125,220,228,201,236,182, 46, 93,246,
-133, 0,227,171, 12, 22, 3,224,245,229,203,151,199,216,108,182,152,175,190,250, 42,102,252,248,241, 49, 0, 22,182,240, 59, 63,
-249,232,163,143,136,205,102, 35, 95,125,245, 21, 25, 63,126, 60, 1,176,214,209,157,149, 74,101,135,206,157, 59,111, 15, 11, 11,
- 75,239,218,181,171, 37, 52, 52,212, 20, 20, 20,148, 26, 30, 30,190, 85, 34,145, 4,130,242,151,208,152, 23, 33,132,244,122,253,
-245,215,223, 0, 64, 94,127,253,245, 55, 8, 33, 99,170,252,196,152,218,127,215, 93, 87,155,167,234,255,235,211,168, 94,234,211,
-172,239, 59,234,124, 15, 26,136,100,205,188,227,224, 14, 30, 60, 56,232,224,193,131, 39,234, 30,220,195,109,209,111, 78, 63, 95,
-163, 49, 63,135,196,125,248, 50,249,117,136, 31, 57, 53,216,155, 36,204,127,144,228,124,179,134,188,208,205,213, 48,185, 45,134,
- 56,107,180, 98, 98, 98, 72, 76, 76, 12,185,120,241, 34, 73, 73, 73, 33,165,165,165,228,219,111,191,101,221,221,221,141, 18,137,
-100, 25, 0,153, 35, 98,106,181, 90, 71, 8, 33,102,179,153, 44, 89,178,196, 84, 21,169,242,210,104, 52, 58, 66, 8, 41, 41, 41,
- 33,203,150, 45, 51,105, 52,154, 88, 0,173, 60, 60, 60, 50,146,147,147,137,151,151, 87,189,102,198,213,213, 85,119,227,198,141,
-106,227,228,235,234,234, 26,183,127,255,126, 43, 33,132,100,102,102, 18, 55, 55, 55, 29, 0, 47,119,119,247, 75, 7, 15, 30,180,
- 18, 66, 72,118,118,118,117,186, 67, 70,203,104, 52,146,163, 71,143,222,150,135,234,244, 67,135, 14,221,102,192, 28,192, 75,163,
-209,196,124,251,237,183, 22,150,101, 73, 92, 92, 92,181, 73,244,114,113,113,185,184,123,247,110, 11,203,178, 36, 62, 62,222, 97,
- 51,216,166, 77,155, 60, 66, 8,177,219,237,100,227,198,141,230,234, 50,173, 78,183, 88, 44,228,179,207, 62, 51,171,213,234, 24,
- 0,141, 70,223, 60, 60, 60,178, 45, 22, 11, 41, 41, 41, 33,189,123,247,214,159, 58,117,138,148,149,149, 17, 66, 8,105,211,166,
- 77, 30, 0, 4, 15,122,250,253,115,137,250,178,167, 94, 93,255, 93, 96,175,199, 62, 60,114, 62, 43,243,139,189,209, 49, 30,225,
- 19, 70, 57, 18,212,148, 72, 36,203,124,124,124, 76,191,255,254, 59,107,181, 90, 73,122,122, 58,185,120,241, 98,205, 53,118,229,
-202, 21,135,140,150, 64, 32, 88,124,238,220, 57, 43,203,178, 92, 65, 65, 1,155,151,151,199,230,229,229,217,235, 26, 45,242,165,
-144, 20, 28,122,150, 68,110,158,107, 17,137, 68,139,239, 77, 52, 11,124,178, 41,120, 2,217, 20, 28,179,117,186, 71, 65,249,197,
-157,132,252, 60,151, 36,189,223,150, 44, 30,165, 42,231, 54, 5,199,144, 77, 33,147,201, 59,131, 4, 78,105,110, 14, 29, 71, 54,
- 5,199,124,244,112, 64,225,165,152, 11,228,196,137, 19,228,179, 53,203,201,156, 8,223, 10,110, 83,112, 12,217, 16, 58,201, 25,
-205,218, 72, 36,146,196,147, 39, 79,146,168,168, 40,242,238,187,239, 18,185, 92,158,126, 55,162,122,100, 67, 80, 0,249, 60,104,
- 16,217,210,209,135,252, 54,232,111,215,193,167, 87, 43,248, 14, 15, 18,103, 22, 92,218, 75, 72,209, 77,146,187, 50,140,140, 10,
- 22,182,212,108,133,107,181,218,252,212,212, 84,146,155,155, 75, 86,175, 94, 77,212,106,245,223,218,108, 5, 3, 19, 0,188,177,
- 98,197,138, 26,147,181,126,253,250,152, 43, 87,174,196,248,251,251,255,212,130,239, 90,187, 98,197,138, 26,147,181,126,253,122,
-114,229,202, 21, 18, 16, 16,144,209,212,142,211,167, 79,151,247,235,215, 47,102,218,180,105,134,173, 91,183,146,212,212, 84, 18,
- 27, 27, 75, 86,172, 88, 65,222,126,251,109,242,229,151, 95,146, 73,147, 38, 85,244,238,221,251,220,228,201,147,165, 78, 70, 20,
- 4, 85, 81, 24, 49, 33, 68, 72, 8,169, 54,154, 2, 0,194,234, 31,255, 20,199,188, 72, 67,102,170, 33,131, 85,119, 91, 35, 70,
-172, 81,195,230,192,247,221,105,170,234, 70, 66,106,253,253,219,216,177, 99, 7,221,241,242, 33,120,111,230,130,247,165, 41, 91,
- 87, 67,247,237,167,224,151,232, 32, 44, 47,132,249,100, 36,108, 39,247,227,241,190,125,101, 50,134,249,192,217, 2, 21,139,197,
- 16,139,197, 16,137, 68, 48, 24, 12,200,206,206,198,253,247,223,207,187,120,241,162,244,185,231,158,155, 43,147,201,210, 1, 76,
-108,242,110,102, 42, 35,210,167, 79,159,198,179,207, 62, 43,217,190,125,123, 87, 79, 79,207,203, 44,203,138, 1, 32, 62, 62, 30,
- 83,166, 76,145,236,220,185,179, 83,171, 86,173, 46, 90,173, 86,185, 68, 34, 1,159,207,111, 80, 79, 44, 22,195,102,179, 73, 58,
-118,236, 24,123,249,242,229,240,177, 99,199, 10,211,210,210,144,156,156, 12,155,205, 38, 14, 10, 10,186,114,241,226,197,174, 99,
-198,140, 17,102,100,100, 32, 45, 45,173, 38, 31,142,228,215, 98,177, 64, 34,145,160,118,149, 22,195, 48, 48,155,205, 16,139,197,
- 14,107, 9, 4,130,161, 33, 33, 33, 87, 46, 95,190,220,125,194,132, 9,162, 11, 23, 46, 32, 51, 51, 19, 44,203,138, 67, 67, 67,
-175, 92,190,124,185,219,248,241,227, 69,177,177,177,208,233,116,112,180, 10,173,250,115,151, 47, 95,198,180,105,211,196,135, 15,
- 31,238,230,227,227, 19,107,183,219,197, 0,112,229,202, 21, 76,153, 50, 69,124,228,200,145,238,173, 91,183,142,109,162, 42,145,
- 15, 0, 54,155, 13,207, 61,247,156, 66,173, 86, 35, 35, 35, 3, 28,199,129,101, 89, 0, 64, 97,113,225,149,203, 87,226,226, 31,
-159,250,240, 32,163,213,108, 62,115, 62,250,122,187, 54, 1,126, 12, 67,218, 52,145,213,137, 10,133, 34,125,229,202,149,243, 82,
- 83, 83, 37, 33, 33, 33,188,164,164, 36,148,151,151, 67, 36, 18,213, 92, 99,142, 30,183, 88, 44, 30, 28, 22, 22, 38, 48,153, 76,
-224, 56, 14, 0, 8,143,199,171,247,100, 72, 75, 78, 34,212,203, 46,148,201,100,131,239,201, 19,169, 44,204, 29, 28,134,167,229,
- 91, 36, 18, 23, 63,149,210, 39, 8, 72,143, 66, 91, 79, 9,248, 60,190,244, 66,178, 65, 1,144,225,240, 47,112,119, 78,147, 27,
-158,156,103,145,216,220, 58, 41, 91,249,249,163,176,176, 16,173,219,133,192, 36,246, 20,159,190, 89,161, 4,227,164,230, 31, 12,
-232,216,177,163,119,135, 14, 29, 80, 80, 80,128,238,221,187,195,213,213,213, 21,192,240,102,155,172,175, 2, 36, 40, 67,127,128,
-183, 18, 44,243, 46,108,130,165,184,153,223,157,108,234, 46,252, 59,153, 44,181, 82,124,118,231,174,111,125,221,253, 67,129,200,
-167,224,229, 34,193,150,231,187,187,121,106, 36,251,154,105,182,194,189,188,188,142,159, 59,119,206, 67, 42,149,226,226,197,139,
- 8, 11, 11,195,234,213,171, 61, 93, 93, 93,163,254, 38,102,139,196, 3, 7, 62,138,141,253,106,251,173, 91, 7,167,183,111, 63,
-118, 90, 80,208,146, 89,143, 62,250,244, 75, 47,189,132,229,203,151, 99,223,190,125,232,223,191, 63,102,206,156,105, 75, 79, 79,
-223,214,204,239,249,116,229,202,149,115,230,206,157, 91, 87,211,154,150,150,214,104,109, 75, 88, 88,152, 95, 98, 98, 98,214,252,
-249,243,187,111,223,190, 93, 38,151,203, 81, 82, 82,130,207, 63,255, 28,111,188,241, 6, 24,134, 1, 33, 4, 95,126,249,165,252,
-201, 39,159,236,117,235,214,173,172,128,128,128, 38,155,117, 16, 66, 24, 66,136, 20,128,188,106, 81, 0,144,239,220,185, 83, 51,
- 97,194, 4,117, 85,154,172,106,145,128, 82,151,122,189, 72,173,119,229,193, 58,229, 61,182,110, 90,221,109,132,144,177,141,105,
- 56,105,160,235,251,190,200,198,204, 86,237, 55,208,224,122, 93, 36,208,197, 59, 48, 24,165, 63,239,134, 76,192, 64,198,175, 90,
- 4, 12,120, 73, 87,208, 90, 42,132,141,144,240,230, 26,173,234, 69, 40, 20,194, 96, 48,128,101, 89,188,241,198, 27,146,163, 71,
-143,186,243,120,188, 31,154,210,169,109,152, 18, 18, 18, 16, 26, 26,202, 28, 56,112,192,107,246,236,217,178,234,239, 41, 45, 45,
- 69,135, 14, 29,152, 67,135, 14,105,223,124,243, 77,101, 99,102,134, 97, 24,136, 68, 34,204,157, 59, 87,118,254,252,121,183, 86,
-173, 90, 33, 41, 41, 9, 69, 69, 69, 80, 42,149,152, 59,119,174,236,220,185,115,158,173, 90,181, 66,106,106, 42, 74, 75, 75,161,
- 84, 42,157, 54, 90, 34,145,232,182,125, 24,134,129,213,106,117,202, 24,104, 52,154, 29, 49, 49, 49,158, 26,141, 6,177,177,177,
-176,219,237,208,104, 52,152, 51,103,142, 44, 38, 38,198,211,197,197, 5,241,241,241, 32,132, 64,173, 86, 59,149, 71, 0,224, 56,
- 14,241,241,241,104,211,166, 13,162,162,162,180,179,102,205,146, 86,167,223,188,121, 19,126,126,126,136,138,138,210, 42, 20,138,
- 29, 13,105,113, 28,135,156,156, 28, 92,189,122, 21, 73, 73, 73,200,207,207, 71, 65, 65, 1,202,203,203, 97,183,219, 1, 0,242,
-242,178,200,157,223, 29,184, 44,147,201,228, 97, 65, 29,253,175,196, 93,203,147,201,100,242, 0,127,255, 32,224, 29, 94, 35,134,
-240,135,180,180, 52,247, 39,159,124, 82,148,155,155,139,226,226, 98, 8, 4,130, 59,174, 45,177,216,177,166, 64,118,187, 61, 84,
- 42,149, 50, 86,171,181, 38, 2, 38, 22,139, 49,111,135, 1, 97,139,113,219,242,232,154, 60, 16,214, 6,139,197, 18,250,151,191,
-193, 0, 6,140,165, 35, 24,166,251,217,164, 10,183, 1, 99,167,138,144,124, 24,224,108, 0, 79,128,193, 93,252, 4,251,174, 84,
-120,129,160, 11,204, 8, 33,164,233,158, 95, 4, 96, 0,107, 7,128,233,121, 52,209,238,222,255,193,231, 69, 89, 89, 89, 16,137,
- 68,144, 72, 36,232, 62,244, 33,193,206,203, 54,111, 48,232, 10, 43,130, 29,209,188, 45,236, 40,147,189,245,246,219,111, 43,106,
-107, 62,253,244,211, 10,141, 70,243,118,179, 77, 86,133,188, 47,236,100,238,213, 44, 67,155, 37,145,185,161,183,242,140,193, 32,
-100, 62, 96,235,118, 23,204,214, 96,137, 68,146, 12,224,254, 22,153, 44,149,248,204,174, 93,223,250,186,181,174, 52, 89,176,155,
- 0,161, 12,222,158, 46,216, 50,111,136,155,167,139,204, 89,179, 21,238,229,229,245,203,217,179,103, 61,164, 82, 41, 98, 98, 98,
- 32, 18,137, 32,149, 74,209,185,115,103,108,218,180,201,211,205,205,237,111,101,182,150,197,198,110, 93,122,245,106,194,235,225,
-225, 33, 19, 21, 10,183, 23,167, 77,211,188,249,230,155, 7,247,239,223,255,213,152, 49, 99, 10,206,159, 63,255, 49,128,221,206,
- 70,204, 0,172, 95,181,106,213,139,213,198,237,205, 55,223,252,114,255,254,253, 75,199,140, 25,147,115,254,252,249,249, 0,214,
- 55, 38,160,215,235,247, 47, 90,180, 72,243,224,131, 15, 86,255,143,147, 39, 79, 98,219,182,109, 80, 40, 20,183,125,118,252,248,
-241,120,246,217,103, 93, 45, 22, 75,163,239, 36,173, 86, 59,236,236,217,179, 97,168,236,224, 37,169, 54, 90,113,113,113, 46,101,
-101,101, 46, 74,165,210,197,199,199, 71, 85,109,182, 30,124,240, 65, 23,129, 64,112, 63, 40,104,202,139,212, 54, 58,142,164, 53,
-247,243,142,154,173, 58, 73, 13,142,161,117,155,209, 26, 59,118,236, 9, 52,208,147,202, 90,164,131, 4, 44,100,124, 6,114,126,
- 45,179, 5, 14,130,210, 60, 48,205,232,192, 91,223,203, 80, 44, 22,131,207,231,195, 98,177,160,176,176,208, 41, 83,160, 86,171,
-161, 84, 42, 97, 52, 26, 97,183,219, 33,149, 74,171,205, 8,212,106, 53,132, 66, 33,132, 66, 33,164, 82,233, 29,209,164,186,209,
- 28,145, 72, 4,133, 66,129,156,156, 28,164,165,165,129,227, 56, 40,149, 74, 40, 20, 10,136,197, 98,100,103,103, 35, 59, 59, 27,
-132, 16, 40, 20, 10, 40, 20, 10, 56,211,224,154,101,217,122, 95,254, 54,155,205,169,136,150,221,110,199,245,235,215,145,158,158,
- 14,169, 84, 90,115,172, 18,137, 4, 55,111,222, 68,110,110, 46,228,114, 57,212,106, 53, 52, 26,141,195,186,213,199,162, 82,169,
- 32,147,201, 80, 92, 92, 12,131,193, 80, 83,166,106,181, 26, 10,133, 2,165,165,165,200,203,203,107,244,216, 89,150, 69,118,118,
- 54,242,243,243,145,145,145,129,130,130,130, 26,179, 85, 21, 53,106, 89, 96,167,172, 12,133,133,133, 53,145,200,134, 22, 71,224,
- 56, 14,229,229,229, 56,123,246, 44,195,113, 28, 74, 74, 74,184,252,220, 92,246,133,108, 49,246,189,179,129,124,123,248,146,105,
-231, 79, 49,198, 61,191, 92, 53,174,223,115,197, 40,237,253,174,253,158, 60,134, 62, 11,215,192, 38, 28, 81,160,183, 73,242,173,
- 34,141, 87,120, 4,144,124, 8,224, 9, 0,169, 43,250,116,106,139,180, 98, 86,113, 67,103,145,130,193, 72,172, 15,114,117, 72,
-147, 21, 14,207, 47,183, 73, 82,173,158,234,208, 46, 61,160,211,233, 32,145, 72, 32,145, 72,208,179,127, 4,146, 11, 89,249,181,
- 44,163, 28, 4, 35, 28,210,252,131,118, 74,165,178,239,253,247,223,207,212,214, 28, 61,122, 52, 24,134,233, 12, 32,196,169,135,
-220,218,118, 98, 88,229,125, 32, 32,115,175,229, 24, 90,237,139, 51, 5,141,155,248,144,219, 39,199,242, 66,175,231,154, 3, 65,
-108, 11, 64,172, 61, 90, 96,182, 6,169, 84,170,131,235,214,173, 11,148, 74,165,135, 0, 12,104,142,136, 82,198,223,248,214,139,
- 83,125, 93,171, 77,150,205, 0, 8,100,128, 80, 6, 8,100,240,214,122,224,131,103,135,187,201,165,194, 61, 78, 24,214,157,235,
-215,175,247,172,107,178,170,151,238,221,187, 99,241,226,197,158,110,110,110, 59,238,241,203,114,132, 70,163,217, 30, 17, 17,113,
- 54, 91,165,122, 54,167, 71, 15,241, 47, 26, 77,233,176,210, 82, 77, 64, 92,156, 53, 24,184, 2,224,179,204,204,204, 81, 78,152,
-172, 71,213,106,117,204,176, 97,195,172, 42,149, 42,125,245,234,213, 47,204,158, 61, 27,203,151, 47,199,162, 69,139, 62, 7,240,
- 12,128,255,101,102,102,182,106,202,100, 1, 64,110,110,238, 99,175,189,246, 90, 65, 65, 65, 1, 0,160,115,231,206, 40, 41, 41,
-193,194,133, 11,241,242,203,149,157, 98,187,117,235, 6, 66, 8,116, 58, 29, 86,174, 92,169,203,205,205,125,162,137,103,123,198,
-238,221,187,123, 89,173, 86, 63, 84, 86, 15, 74, 74, 74, 74,212, 69, 69, 69, 42,171,213,170,224, 56, 78,225,226,226,162, 4, 32,
-127,252,241,199, 5,215,174, 93, 11,181,219,237, 89,212, 91,253, 65, 99, 94,164, 57, 48, 12, 19,217,146,200, 85,125, 17,177, 6,
-104, 60,162, 53,118,236, 88,166,246,250,182,136, 17,131,216,244,232, 40,184,133,247,184, 45,154, 37,231, 51,144,169, 53, 72,206,
- 72,131, 8,204,213,187,101,180,138,139,139,241,194, 11, 47, 24, 31,123,236,177, 66,142,227, 30,114,212, 20,104, 52, 26,104, 52,
- 26, 92,187,118,141, 76,154, 52, 73,183,122,245,106, 99,109,163,149,144,144, 64, 70,140, 24,145,247,246,219,111,235, 27, 51, 90,
-213, 17,173,101,203,150, 25, 7, 15, 30,156,127,245,234, 85, 82,109,166,148, 74, 37, 86,174, 92,105, 28, 50,100,136,238,194,133,
- 11,164, 58,205,153,136, 22,143,199,171, 49, 90,181,247,225,241,120,224, 56,206, 41,163, 85, 81, 81,241,216,152, 49, 99,116,241,
-241,241,164,250, 56, 53, 26, 13, 86,175, 94,109, 28, 62,124,184,238,234,213,171,164, 58, 77,173, 86, 59,108, 6,171,191, 95,165,
- 82, 65,173, 86,227,218,181,107,100,196,136, 17,186,181,107,215,154,106,167, 95,191,126,157,140, 31, 63, 94, 87, 94, 94,254, 88,
- 99,230,165,186, 58,207,110,183,195,100, 50,161,160,160, 0, 25, 25, 25, 53, 85,135, 70,133,122,212,212, 71,198,117, 53, 26,141,
-134,107, 9,137,233,157, 59,133,105,141, 70,163, 33, 45, 61, 61, 1,120,135,107, 68,251,161,240,240,240,194, 23, 94,120,193, 88,
- 92, 92,220, 98,163, 37, 22,139,227, 5, 2, 1, 25, 48, 96, 0,177, 88, 44, 36, 35, 35,195, 86, 80, 92,108, 15,249,240, 67,114,
-117,222, 60, 70, 22, 29, 45, 81, 42,149, 76,149, 38, 47, 41, 41,137,147,201,100,241,127,249,147,136,199,121,131, 33,247,255,158,
-168,119, 25, 62,110,138,152,201, 61, 15, 88,245,128,196, 21,144,184, 66,160,112,199, 3, 3,186,241,183,158, 45,243, 6,225,250,
- 65, 36,241,107, 82, 83, 72,188, 0,110,192,207, 9, 38,215,251, 39,207, 17, 23, 21, 21,129,207,231,215,152, 34,185, 66,129, 97,
- 19, 31,231,125,121,222,236, 13,144,254, 96,248,126, 78,220,235,175,190,245,214, 91,162,226,226, 98,240,120,188, 63, 52,229,114,
-204,154, 53, 75,162, 86,171, 23, 57,252,240,219, 29, 42,130, 80,210, 7, 32, 47,223,200, 53,181,218,127,197, 24,188, 96,217, 22,
- 89,120,183, 94,120,110,176, 86,182, 44, 50, 47,252,114,134,177, 45,192,206,131,221,210,179, 25,102,107,128, 74,165,138,140,142,
-142,150,143, 30, 61, 26, 43, 87,174, 84,200,100,178, 67,205,121,240, 87,232,217,217,239,173,253, 90, 23,251,241, 72,192, 90, 81,
-105,176,106, 45,121,122, 14,139,183, 28, 47,181,217,200, 84, 71, 53,141, 70,227,140,103,158,121,166,112,207,158, 61,119,152, 44,
-169, 84,138,148,148, 20, 44, 89,178,164,168,168,168,232,137,123,105,178,102,207,158,189, 36, 51, 51, 51,248,231,159,127, 22,228,
-231,231,107, 87,125,241, 69,233,247,165,165, 69, 75,227,226,110,252,175, 83,167,142,175,119,233,242, 68, 35, 67, 63,212,107,178,
- 94,124,241,197,157,153,153,153,221,143, 29, 59, 38,204,207,207,247,123,241,197, 23,177, 98,197, 10, 44, 90,180,104, 19,128,231,
-224, 88,135,151, 63, 2, 8, 86,235,141,226,226,226,177, 35, 71,142, 44, 41, 46, 46, 70,151, 46, 93, 48,110,220, 56,120,123,123,
-163, 85,171, 86,152, 48, 97, 2,130,130,130, 80, 88, 88,136,169, 83,167, 22,229,231,231,143, 4,144,212,152,102, 97, 97,225,173,
- 29, 59,118, 36,204,153, 51,167,123,102,102,102, 40, 0,247,242,242,114, 69,121,121,185,196, 98,177,200, 92, 93, 93, 93,187,117,
-235,230, 49,115,230, 76,229,165, 75,151, 66, 51, 51, 51,245, 0,210,168,189,170, 49, 89, 13,122, 17, 0,249, 85,134,199, 82,103,
-157,223,196, 54, 71,247,173,247,111, 7, 62, 87,215,108,213, 94,238,168, 58,172,255, 98, 4, 22,111,219,189,213, 36,246,239, 0,
- 77,112, 87,200,165, 82,200,196, 98,200, 92,221, 97,230, 56,124,145,146,107,168, 32,100,145,179, 5, 90,247, 69,200, 48, 12, 62,
-253,244, 83,123,223,190,125, 77,199,143, 31, 95,103, 52, 26,253, 1,236,117,198, 20,172, 93,187,214, 48,119,238,220,203,121,121,
-121, 93,165, 82,169,165, 58,125,221,186,117,134,199, 31,127, 60, 46, 51, 51,179,187, 92, 46, 55, 52,212, 62,171,182,209,146, 72,
- 36,230,188,188,188, 94, 79, 63,253,116,252,103,159,125, 86, 33,151,203,161, 80, 40, 32,145, 72, 44,121,121,121, 93, 95,120,225,
-133,203, 43, 86,172, 48,200,100, 50, 40, 20, 10,167,170,229, 8, 33,119, 24,170,218,233,142, 98,183,219,143,231,229,229,117,157,
- 59,119,238,165, 79, 62,249,164,162,218, 0,213,206,227,170, 85,171, 12, 74,165,210,169,136, 86,245,231, 20, 10, 5,214,172, 89,
- 99,152, 51,103,206,229,188,188,188,174, 18,137,196, 82, 43,189, 98,246,236,217,151,242,242,242,186,218,237,246,227,141,252,194,
- 99,203,202,202, 32, 16, 8, 16, 23, 23,103, 22,137, 68,224,241,120,184,121,243,102,141,209,114,115,115, 11,235,218,185, 83,200,
-215, 59,119,159,144,137, 36,146,190,189,122,134, 38,165,166,101, 18,194,164, 54,145,213,189, 70,163,209,255,248,241,227,235,250,
-246,237,107,250,244,211, 79,237, 13, 69,182, 28,193,108, 54,159,184,120,241,162, 77, 42,149, 50, 57, 57, 57,118, 62,159, 15,150,
-101,137,185, 87, 47,115,231, 79, 62, 33,215, 94,127,157, 81, 43, 20, 2,145, 72, 4,185, 92,206, 28, 62,124,216, 98, 48, 24, 78,
-252,245, 70, 11,114, 48,144, 37,230,153, 85, 82,158,157, 65,194,222, 74,147, 37,117, 1,164,174,128,212, 21,190,190,126, 56,159,
- 98, 80,129, 7, 49, 88, 7,198, 16, 35, 68, 1, 6,242, 56, 29, 84, 66,177,140,201,205,205,173, 49, 68,213, 75, 96,135, 80, 92,
- 76,211, 43,193, 16, 9,248,112,102, 8,146,177,238,238,238,130,156,156,156, 59, 52,195,194,194,248, 54,155,205,241,161, 93,178,
- 89, 31,128,123, 49, 33,215,228,243,227,229,138,224,121, 75,191,148,201,216, 18, 32,122, 45,194,219,181,194,188,201,221,196,111,
-238,207, 15,191,144,106,104, 7, 62,121, 14,156,222,211,137,124,222,175, 82,169, 14, 93,184,112, 65,174, 82,169,144,148,148,132,
- 94,189,122, 97,243,230,205,114,185, 92,254, 19, 0,167,218,227,157,211, 33, 77, 95,206,246,125,117,119,122,110,108,142,253, 54,
-147,149, 95, 65,240,204, 71,251, 75,138,203, 76, 15,157,205,104,248,254,169,135, 75, 37, 37, 37, 35, 22, 45, 90, 84,152,159,159,
-127,155,201, 74, 75, 75,171, 54, 4,131, 1, 92,189, 87, 47, 75,141, 70, 51,109,233,210,165,184,112,225, 2, 70,143, 30,141,168,
-168, 40, 20, 21, 21, 97,215,161, 67,137, 59, 18, 19,255, 87,221,102,171,129,161, 31,234, 69,173, 86, 47, 88,186,116, 41,162,163,
-163,107, 52, 11, 11, 11,177,116,233,210, 76, 0,207, 59,107,178,170,201,203,203, 59,127,227,198,141,145, 93,186,116,185,190,110,
-221,186, 76, 31, 31, 31,110,230,204,153,120,230,153,103,224,233,233,201,174, 89,179, 38,125,192,128, 1,113,183,110,221,138, 48,
- 24, 12, 87, 28,249, 45, 80, 80, 80,112,122,243,230,205,103,135, 14, 29, 42,159, 49, 99,134,231,190,125,251,220, 13, 6, 67, 43,
-137, 68,162,181, 88, 44,226,235,215,175,243,191,255,254,123,239,107,215,174,165,152, 76,166,243,205,205,251,127, 13,134, 97, 46,
- 48, 12, 19,201, 48,204,177, 58,235, 11,141,109,115, 98,223,134,254,110,244,115,117,178,185,185,206,226, 56,211,218,225,157, 89,
-157, 84,134,211,211,251,144,220,153,247, 19,221,148, 80,114,114,144, 27,121,186, 61, 83, 49,163,153,195, 59, 24,141,198,154,101,
-207,158, 61,196,219,219,187, 66,165, 82, 57, 61,188,131,183,183,183,174,172,172,140,220,119,223,125, 69,158,158,158, 53, 67, 17,
-248,248,248,232, 42, 42, 42, 72,159, 62,125,138,180, 90,109,205,240, 14,126,126,126, 25,132, 16, 18, 16, 16,144,221,144,158,221,
-110, 39,222,222,222,213, 61,244,132,110,110,110, 27,122,247,238, 93,164,211,233,136,143,143, 79,205,208, 9,158,158,158, 43,123,
-245,234, 85, 55,189,169,252,102,100,102,102,146,204,204, 76,210,186,117,235,236,218,233,105,105,105, 36, 45, 45,141,248,249,249,
- 57, 61,188,131,167,167,231,138,122,242,210,172, 60,250,251,251,235,140, 70, 35,233,215,175,223,109,101,234,239,239,175, 51,153,
- 76,213,233, 14, 13,239, 32,147,201,158,147, 74,165,217, 82,169, 52, 91, 34,145, 44,105,211,166, 77,222,119,223,125, 71,214,172,
- 89, 83,221, 37, 29,158, 97,227,251,118,232,247,196,255, 60,195, 38, 44,104,201,240, 14, 42,149,234, 23,111,111,239,138, 61,123,
-246,220,118,125, 25,141, 70,135,135,119,144,201,100,153,122,189,158,211,233,116,182, 83,167, 78, 25,162,163,163, 13,113,113,113,
-134,148,148, 20, 99, 97, 94,158, 85,167,211, 25, 75, 75, 75,205,151, 47, 95, 54,203,229,247,102,120, 7,178, 57,168, 3,217, 16,
-178,255,214,123,129,215,230, 14,148,155,174,124,208,149,144, 31, 30, 36,228,167,103, 8, 57,254, 42, 57,191,105, 38,233, 23, 40,
- 97, 79, 45,108,157, 64, 54, 6,255,232,200,144, 12,100,115,231, 14,100, 67,200, 79,137,239, 6, 94,155, 49,160,149,233,139,207,
-214,144,115,231,206,145,184,184, 56,146,148,148, 68,126,218,251, 29,233,215, 78, 94,169,185, 33,100,191,147,195, 60,244,151, 72,
- 36,250,213,171, 87,147,179,103,207,214,104,238,223,191,159,200,229,114, 3,224, 88,175,101, 2, 48,100, 67,216, 68,251,103,193,
-191,191, 57, 92, 89, 94,120,240, 85, 66,174,108, 37,100,115, 56, 33, 95,245, 38,228,187, 49,132, 28,120,130,156, 93, 51,153,244,
- 15, 20,217,200,198,224, 40,178, 41,204,225,198,246, 66,161,176,108,207,158, 61, 36, 59, 59,155, 68, 69, 69,145,232,232,104, 18,
- 31, 31, 79,210,211,211, 73,100,100, 36, 17, 10,133, 38, 52, 99,218,178,222, 94, 8,136,232, 40,202,185,188,172, 63, 33,251,166,
-146,252, 29,211,200,216, 78,170,162, 62,173, 91, 52, 30, 93, 55,119,119,247,130,200,200, 72,146,146,146, 66, 78,156, 56, 65,180,
- 90,109, 1,128,240,123,253, 66,140,136,136, 56, 71, 8,137, 25, 61,122,116, 12,128,195, 17, 17, 17, 49,201,201,201, 49,189,122,
-245, 58,139,198,135,126,104,144, 97,195,134, 89, 9, 33,100,244,232,209, 4, 64,118, 68, 68, 4, 73, 78, 78, 38,189,122,245,178,
-220,165,108,243, 1, 60, 33, 20, 10,191,112,115,115,251,213,213,213,245, 56,159,207,223, 12, 96, 58,154, 63, 30, 23, 31, 64, 43,
- 0, 97, 0,122, 86, 45,161, 85,105,180,199, 33,229, 78, 38, 7,162,255,147,237,152, 19,143,181, 69,249,212,182,208, 63,213,158,
-113,100,192,210,136,134,140, 22,199,113, 36, 33, 33,129, 12, 25, 50,164, 66,161, 80,100,193,241, 1, 75,111,211,244,240,240,136,
-214,106,181,119, 12,162, 89, 43,253,182, 1, 75,181, 90,237,105, 31, 31, 31,157,167,167,231,197,250, 52, 61, 60, 60,162,125,124,
-124,116, 30, 30, 30,183, 13,238,201,231,243, 71,123,120,120,100,213, 77, 23, 8, 4, 67,181, 90,109, 70,221,244, 6,142, 29,222,
-222,222, 25,217,217,217, 36, 63, 63,159,248,251,251,103,215, 53, 96,185,185,185,183, 25, 48, 71, 52,155,202, 75, 35,121,172, 87,
-211,129, 50,109,206,121,175, 38,200,215,215, 55,111,213,170, 85, 68,169, 84,230,213,222, 16, 60,240,169,183,206, 37,234,203,158,
-121,109,195,119,245, 12, 88,234,232,224,160, 35, 21, 10, 69,214,144, 33, 67, 42, 18, 18, 18, 8,199,113,132,227,184,134,140, 86,
-125,154,163,122,246,236, 89, 88, 80, 80,192,150,151,151,219, 51, 50, 50,204,201,201,201,198, 15, 62,248,192,154,159,159,111,210,
-235,245,150,216,216, 88,179,143,143, 79, 62,128, 81,206,158,163,230,190,187,234, 86,159,145, 77,161,253,201,198,208,200,248,183,
- 3,174, 63,209, 91, 97,142, 89, 53,154,144,227,175,146,179, 27,158, 33,125, 3,197,149,134,104, 83,200, 33,242,101,208, 64,178,
-182,157,216, 33,205, 47,218, 15, 32,155, 66, 14, 93, 91, 28,112,253,193, 30,158,150,157, 91, 55,145,155, 55,111,146,253,223,239,
- 32,125,218, 86,153,172,141,161, 71,201,134,208, 33,142,104,214,103,182,182,108,217, 66,110,222,188, 73,126,252,241, 71, 71, 77,
- 86, 68,125, 70,235,141, 8,101,201, 51,189,165,230,169,221,196,150, 9,225, 34,235,136, 14, 34,123,191, 0, 1,219,213,135,199,
-133,122,130,140, 8,150,153,201,198,224, 40,178, 49,116,164,163,249, 20,139,197,233,168, 53,166, 78,221, 69, 34,145,228, 55, 98,
-180, 34,154, 52, 91, 65,146,156, 95,222, 27, 74,198,117, 81, 21, 58,104,178,154,186,150,186,121,120,120, 20,124,245,213, 87,196,
-203,203, 43,223, 65,147,245,167, 95,159, 26,141,102,187, 94,175,143, 57,114,228, 72, 76, 68, 68, 68,204,246,237,219, 99, 78,158,
- 60, 25, 35,151,203,183, 87, 7, 39,234,154,173,208, 59,159,255, 17,117, 34, 90, 49,229,229,229,228,200,145, 35, 36, 34, 34,130,
-108,223,190,157,156, 60,121,146,200,229,242,152,230,230,243,207, 56,118,170,249,159,102, 38, 26,168, 58,252,211,127,220,212,103,
-180, 76, 38, 19, 89,184,112,161, 69, 42,149, 26, 68, 34,145,179, 83,240,252,163, 47, 66, 15, 15,143,211, 94, 94, 94, 58, 47, 47,
-175,219,204, 94,237,116, 15, 15,143,139,255,242, 27, 48, 72, 36, 18,165, 9,133,194,219,167,224, 9, 27,223,183,125,255, 25,139,
-188,194,199, 63,208,194,124,138, 68, 34,209, 27, 82,169,212,176,112,225, 66,139, 94,175,119,198,104, 1,192,112,185, 92,158,181,
-109,219, 54, 99, 98, 98,162,173,168,168,200,126,238,220, 57, 91,116,116,180,229,157,119,222, 41,151,203,229, 89,104,120, 88,130,
-191,164, 60,201,218,118,226,106,179,117,101, 81, 64,252,184, 78,114,235,230,249, 35, 72,223, 54,117, 76, 86,195, 35,185,215,175,
- 89,101,182, 46,189,233, 31, 63, 36, 72,105, 95,186,104, 30,233,211, 86,118,187,201,114, 66,179,174,217,146,203,229,229,111,191,
-253,182, 51,145,172,219, 13,225, 23,193,254,100, 83,200,246, 74, 19,213,196,178, 33,248,115,242,105,176,255,223,229, 62,234,237,
-133,128, 97, 65,146,171, 78, 68,178, 28,201,103, 55, 87, 87,215,235, 78, 68,178,254,138, 99, 31, 49,107,214,172,152,228,228,228,
-152,164,164,164,152,147, 39, 79,198, 76,156, 56, 49, 6,192,136, 90,159,169, 49, 91,214, 73,147,204,221,120,188,121, 77,104, 62,
- 58,107,214, 44,146,156,156, 76,146,146,146,200,201,147, 39,201,196,137, 19, 9,156,155,190,135,154, 34,106,180,238, 9,127,246,
-132,159, 17, 0,142,213, 78,144, 74,165, 58,147,201,228,169, 84, 42,247,234,245,250, 57,168,236, 22,217, 34,205, 63, 35,159, 84,
-243, 95,161,233,163, 84, 42,215,233,245,250,137, 82,169, 52,223,100, 50,121, 57,161,233, 34,145, 72,230, 73,165,210, 33, 6,131,
- 33, 8, 0, 20, 10, 69,130,217,108,254,213,104, 52,126, 12,160,228, 94, 31, 59, 89,219, 78, 12,177,184, 39, 8, 94,143, 73,175,
-104,187,244, 72, 81,192,252,161,174,233,253,218, 43, 82, 32,228, 62, 2, 99, 62,207, 60,153,102,118, 90, 83,198,244, 2, 43,124,
-253,124,170,161,205, 71, 63,151, 7, 44, 24,162, 76,239,215, 78,153, 14,130,143, 32, 49,156,113, 86,179,174,217, 82, 40, 20,219,
- 42, 42, 42,158, 5,240,171,179,199, 78,118,135,138, 80, 97,243,133,141,223, 9,164,145, 41,124, 8, 49,128,199,143, 67, 46,116,
-204, 59,215,173,244, 62,250,203, 53, 71, 40,149,202,105, 33, 33, 33,237,174, 93,187,150,100, 48, 24,190, 1,112,180,238,251, 39,
- 4, 24, 34, 23, 8,186, 26,237,246,168,235, 64,116, 19,154,143, 42,149,202, 5, 33, 33, 33,225,215,174, 93,187,106, 48, 24, 86,
- 1,216, 69,207,209,191, 74,243, 95,201, 95, 62,138,114,245,203, 78,175,215,211,210,167,252,217,228,232,245,250, 73, 85,215,157,
-179,251,150,152,205,230,197,102,179,121,113,245, 15,146,226,226,226,191, 85,163, 85,230,165, 36, 11, 89,219, 46, 26, 98,241,178,
- 30,254,178, 57,123,102,201, 12, 32, 76, 38,132,220,154, 38, 76, 86, 83,154,231, 33,179, 45,235, 21, 32,123,249,199,231,100, 6,
- 16,228,130,224,227, 38, 76,150,163,156,170,168,168,104,219,236, 99,126,248,186, 21, 64, 10, 1, 82,241, 78, 35, 63, 20,223, 1,
- 97,104, 35,227,123,201, 81,189, 94,127,244,252,249,243,141,125,134,196, 3, 4,249, 91,179, 0, 0, 32, 0, 73, 68, 65, 84,199,
- 97,119,184, 51,192, 46,189, 94,191,171, 9, 77, 10,133, 26, 45, 10,229, 31,200,223,246,133,205,188,148,100, 33,187, 67, 47,160,
-128,191, 16, 60,180, 5,236,105,168,176,231, 50, 47,165, 89, 90,168,121, 14, 5,204, 92,240, 17, 4,177,253, 22,244,150, 92,230,
-249, 52,203,223,230,184, 1,130,119,168,145,162, 80, 40,127, 27,102,226,246,158,134, 53,255, 83,163, 69,161,252,195,169,138,242,
-100, 86, 45,127, 91, 77, 10,133, 66,249, 15, 26, 46, 48,104,184, 65,155, 51,117,175,205,105, 20,119,140,106, 54, 75,147, 15, 64,
- 3,192, 5,149,211, 56, 84,119, 19,110,106,152,141, 7, 0,216,104,121, 82, 77,170, 73, 53,169, 38,213,188,199,154, 77,105,255,
- 19,219,126,213,215,203,112,243, 95,241,197,180, 71,198,221,101, 36, 45, 79,170, 73, 53,169, 38,213,164,154,255, 82,205,127, 37,
- 60, 90, 4,255, 40,164,180, 8, 40, 20, 10,133, 66,249,219,209,189,106,237,131,202,232,150, 79,245,134,123,218, 70, 75,230,222,
-209, 7, 2, 94, 23,134, 35, 33, 0, 64,120, 76, 60,236, 92,172,177, 48, 49,167,165,218,202, 86, 65,110, 4,226,221, 12, 44, 15,
-235,179, 19,138, 90,170,215, 41, 72, 61,201,203, 67, 53, 45,183,176,116,219,213, 27,250,125,206,236,171,209, 4,104,164,110,174,
-147,205, 86, 91, 39,177, 72,148,110, 45, 41,219, 92, 92,156, 84,222,140,108,184, 53,182,241,157,119, 8,115, 48,231, 34, 35,146,
- 91,121,238,106, 17,163,135,158,232,115,148, 92, 96, 73, 10,249,254,251,135,137,179,231,134,225, 97,176, 66,165,234, 33,145,202,
-123,201, 85,174, 29, 57, 2, 20,233,178, 82, 45, 54,251, 73,214, 98,136, 33, 28,126,187, 27,231,138, 66,161, 80, 40,148,127,129,
-209,186, 8, 96, 12, 42,171, 12,155,110, 12, 31, 16,118,255, 5,169, 84, 22, 8, 0, 28, 33,224, 8, 80, 81, 86, 18,147,155, 20,
- 61, 18, 0, 60,218,116, 63, 34,148,170,123,112,164,114, 59,203, 1,118,171, 41,165, 44,237,220,125,142,228, 72,225, 25,244,224,
-208,136, 97,147,198,142, 29, 19,220,185, 83,231,246, 0,112, 37,238,202,173,131, 7, 35,111, 28, 63,198,236,169,200, 79,248,177,
- 37, 71, 76, 32,125,191,103,207,110,247, 71, 71, 95,124, 15,192,139, 45, 45, 65,119,119,229,156,163, 63, 44, 28, 56,108,210, 74,
- 5,224,156,209,146,186,185, 78,158, 48,110, 84,183, 87, 94,154,197,123,102,225,135,129, 23, 78,253,182, 92,233, 19, 94, 66, 56,
-219,209, 10,221,148,223, 27,155, 56,185,174,127,108,200, 96,125, 83,116,152,183,230,171,190,174,198,162, 91, 83, 8,199, 78, 97,
- 24, 6,124,177,252,123,207,118,247,127,231, 50,120,126, 49, 0,135,123,140,169,125,194, 34,180, 62,126,123,166, 60, 53, 79, 42,
-215,120, 9,192, 23, 1, 96,144,157,122, 29,199,119, 45,117,125,249,221, 45,221, 79,197,166,217,127,249, 97,189,137, 17, 9, 39,
- 25,114,174,209,177, 84, 40, 20, 10,133,242, 95, 38,178,202, 92, 69,214,221,208,160,209,146, 74,101,129,103,127, 59,232,246,227,
-201, 12, 0, 64, 68,119,111,252,239,131,117, 35,182,175,141,190, 1, 0,125,135,142, 13,122,239,141,151,112,250,106, 30, 8, 33,
-232,214,193, 29, 15, 76,120,216, 49,227,225, 21,122,223,228,201, 15, 61,182,112,225,130,241, 55,111,222, 76,221,185,115,231,239,
- 0, 48, 96,224,192, 14, 31,126,248,225, 35, 43, 93,221, 36,223,126,255, 67,150, 73,119,253, 66,115,142, 86,218,170,157,111,112,
-199,182,211,190,253,114, 29,111,240,200,135,166,166,162, 98,169, 41, 59, 41,203,145,125, 61, 60, 60,230, 10,133, 66, 13, 0,112,
-220, 31,254,199,106, 37,222, 0, 96,103, 57,149,107,171,224,114,190, 72,202, 74, 36,162,107,229,122,253,182,178,172,235, 95, 52,
-166,105,182,217,194, 95,126,254, 73,222,165,164, 66, 4,134, 15,224,175, 89,250, 38, 56,214,230, 58,239,141, 15, 38, 71,159,251,
- 22, 21, 58,156,112,240,208,132,117, 19,124,125,251,240,223, 95,170, 28,206, 48,120, 34,160,239, 83, 19,223,219,250,189,176,103,
- 7, 53,204, 54, 14,135, 98, 10,251,110,248,248,253, 21,167, 54,140, 57, 0, 96, 19,128, 95, 0, 52,105,234,220,220,221,190,153,
-187,232, 99,101,133,229,143, 97,138,170, 76, 22, 62,223,182, 27,151, 51, 56,132, 4,135, 8,188,231, 46, 87,110,250, 96,230, 86,
- 67,229,220, 93, 20, 10,133, 66,161,252, 87,201,193,237,141,223, 55, 55,105,180, 0, 64, 41, 19,224, 70,114, 46, 0,192, 69, 6,
-204,121,110, 6, 10, 11,242,131, 44,118, 14, 79,205,152,142,139,241, 57,184,145,146, 15, 66, 8,130,252,228, 14,231,134, 15,174,
-231, 83, 79, 63, 53,232,200,209,163,231,223, 90,244,214,215, 12,131, 51, 0,176,105,243,231,125, 23,191,189,248,217,233, 51,166,
- 15,255,254,251,239,175, 2,104,150,209, 18, 48,170,117, 43,150, 45, 17,103, 22,152, 76,115, 23,190,206, 45,152, 63,119, 13,128,
-135, 28,114, 50, 66,161, 38, 51, 51, 83,201,227,221,222,124,237,163, 37,175, 71, 13,159,180, 50, 49, 53,189,228,210,145,253,251,
-239, 11, 11, 11, 67,102, 86,110,255,229,159,108,236,122,232,136,236,201,242, 50,227, 36, 67,193,245,122, 39,109,150, 8,133, 87,
-223, 93,190,161, 27,231,210,129,247,191,103, 71, 35,188,125, 43,100,229,149, 96,224,200,241,130,152, 11, 23, 70, 0, 14, 27,173,
-186, 3, 52, 78,182,112,121, 93, 63,220,118,110,216,196,126,173,122,242,120,124,232,141, 54,228,151,154,193,114,192,128, 80, 13,
- 70,109,255, 68, 80, 84, 97,123,240,131, 31, 50, 30, 60,179,118,172,206, 84,154, 61, 27,192,158,198,191,134,184,249,105,213,184,
-145, 81, 94,175,201,170, 48,217, 1, 0, 34, 62, 11, 6,196,157,222, 95, 20, 10,133, 66,249,143,211, 96,175, 67, 30, 0, 28, 60,
-120,176,222,246, 59, 44, 75,112, 35, 37, 7, 55, 82,114,112, 62, 62, 31, 86, 34,196,154,229,239, 98,213,210,183, 81,100,228,225,
-199,211, 25, 72, 72,201, 69, 66, 74, 46, 10,138,235, 29,233,253,182, 42,165,149, 75,101,221, 63,254, 88,189, 98,196, 64,197, 96,
- 55, 87, 87,215,196,171, 95, 87, 44,158,175, 11,125,247,229, 12,145,208, 34,201, 84, 40, 21,253,118,239,254, 46,204,203, 83,171,
- 80, 42, 85,175,202,125,187,110,209,104,186,104, 26,211,172,139, 76, 27, 50,126,252,152, 81, 67,189,189,189,184, 89,107, 98,226,
- 59,133,134,216, 58,118,232,216, 95,166,237, 56,190,145,221,106, 52, 57,142, 3,143,199,131, 78,167, 67,118,118, 54,146,147,147,
-145,144,144,128,140,140, 84, 29, 71,136,144, 5,199,243,241,241,131, 64, 32, 70, 96,155, 0,108, 88,179, 84,254,193, 59,255,235,
- 37, 85,136,247,213, 49, 66, 53,154,166,162,226,239,127, 58,124, 52,235,208,206, 13, 44, 0,228, 21,235,113,252,194, 77, 92,188,
-150,225,236,137,172, 59,132, 67,155,172,180,155,101,246,148, 72,254,123,111, 46,200, 56,121,242, 84,106,105,185, 5,229, 6, 43,
- 12, 38, 27,204, 22, 22, 54,150, 67,128,167, 20,123, 95,239,132,253,191,198,122, 49, 12,243,113, 83,229,105, 54,219,216,251, 67,
- 20,152, 58,164, 53, 66,252, 20,200,186,113, 6,115, 23,125,140,232,100, 51,138,139, 75, 96,171, 40, 0,167,207, 68, 65,202, 69,
-216, 89,150, 52,117,222,239, 18, 84,147,106, 82, 77,170, 73, 53,255,197,154, 13,121,145,127, 8,155,235, 89, 80, 99,180, 26,226,
- 86, 70, 17,110, 36,231,162, 71,136, 47,218,183,241,193,249,132, 98,124,115, 60, 3, 91,142,164,225,248,229,124,112, 2, 21,114,
-203,128,196, 84, 29, 18,211, 10,154, 28, 63,155, 47, 17, 78,121,249,229,210,133,157,195,202,250,252,118,104, 14,124, 61, 19,195,
- 94,123,173,100, 14, 95, 34,156,226,218, 90,181,243,245,133,243,166,169,228,114,177,197,108, 65,187,182, 1,210,151,102,207,121,
-146,113,149,236,116,244, 40, 85,190,161,174, 18,153,236,139, 15,222,121, 85,242,241,143,137,233, 21, 22, 84,236, 57,163, 75, 90,
-240,250,226, 34,129, 80,186, 65,229, 27,234,234,168,150,205,102,131,217,108,134,197, 98,129,213,106, 69, 86,198,245,241,191,252,
-248,202,200,182,173,221, 70, 74,164, 82, 16, 0,101, 70, 59,146,115, 12, 24, 50,108, 56,191, 71,247,238,225, 74,159,208,167,235,
-211, 42, 45, 77, 43,229, 8, 95,117,112,239, 14,254,119, 63, 95,194,215, 7, 47, 96,223,175,151,112,254,196, 33, 59,225,108, 53,
-243,127, 41,125, 58, 4, 41,125, 58,167, 41, 91,117,209,213, 44,190,157,162, 27, 45, 83, 62,143, 12, 25, 22,113,236,185, 23, 95,
-250,205, 80, 94,152,247,197,186,119,179,242,179, 83,175, 75, 68,140, 93, 46,225, 67,111,178, 99,235, 47,217,152,188,244, 50,174,
-165,235, 65, 8,105,114, 2,111, 14,152, 63,229,233, 87, 88,155,213,138, 96,127, 37,118,108, 94,134,241, 67,186, 98,104,103, 87,
-220,215, 94, 1,185,192,140,171,241, 55,176,107,199, 86, 59,199,241, 22,208, 31, 50, 20, 10,133, 66,161, 17,173,154,197,167,246,
-134, 6,171, 14, 77, 38, 99,202, 67, 83,166,195, 71,235,173,156, 48,248, 9, 81,204,173, 18,228,231,164,225,102, 66, 28, 12, 38,
- 27, 68,174,109, 1,169, 55,218, 4, 6, 32,246,198, 62,235,218, 21,145,122,206,110, 78,105, 72,111,252,120, 31,191,155,241, 12,
-111,197,114,255,179, 9, 55,138,123,236, 88,244, 21, 30,123, 76,233,177, 98,185,255,217,212, 36, 5, 79, 46, 37,253,158,156, 49,
-149,225, 49, 4,175,189,182, 16, 19,198,142,194, 83, 79, 62,206,108,219,182,181, 79,137,131, 71,201, 65,248,233, 27,111,190, 43,
-214,149,216, 45,231, 19,244,102,185, 66, 38, 59,149,168,175, 8, 15,244,151,141,158,244, 68,118,228,238, 47, 62, 6, 48,195, 17,
-173,106,131,101,179,217, 96,181, 90, 1,128, 5, 0, 30,175,114, 93, 88,110, 65, 94,137, 25,186, 18, 51,236, 44,135, 73, 83,102,
-200, 46, 68, 95,158, 1,160,129,246, 90, 28,103,179,219,176,231,231,139,200,186,240, 61,199,240,248,165,181, 26,195, 67,233,211,
- 33,200,219,219, 63,106,236,164,199, 61,197,210,202,106,216,242, 10, 51,182,109, 92,222,104, 62,121, 12, 67, 56,214, 94, 98,183,
-217, 42,218,181,109,151, 21, 18,214, 85,122,242,183, 35,227, 79, 29,219,163,183,183,123,220,229, 86,106, 14,248, 66, 9,248, 34,
- 41,204, 86,199,126, 44,232,110,158, 93, 15,128,121,250,133,133,107,230,189,242, 63,254,252,181,191,195, 98, 50,192,108,172, 64,
- 89,105, 49,100, 2, 27,174,158,222,111, 39,172,109, 94, 69,206,165,245,244,254,162, 80, 40, 20,202,127,156,186,211,239,212,164,
- 53,104,180,210,174,157,188, 15, 0,130,122,142, 40, 84, 74, 5,110, 2, 30, 3, 93,230, 45,108, 91, 57, 23, 28, 71, 48,250,217,
- 21, 80, 5,122, 67, 38,226,195,172, 47,212, 23,221, 58,209,104, 91, 29,134,177, 13, 95,191, 41, 43,240,133,231,219,169,119,236,
-208, 11, 1, 96,199, 14,189,240,249, 89,173,213,159,109, 74, 9,236,125,127, 15, 16,150,197,216, 9, 15, 97,202,163, 83,144,154,
-107,192, 15, 81,233,168, 48, 90, 28,234, 45, 39,243, 8,233,234,225,238, 57,234,229, 39, 70, 41, 4,124,134,233, 24,160,225,103,
-228,219,236,124,190,144, 61,112,161, 52,123,210,164, 71, 61,142,255,244,221, 80,214, 35,164,171,177, 32,254,114, 83,122,102,179,
- 25, 44,203,194,108, 54,195,102,179,193,205,163,237, 79,195, 31, 90,153,153,147, 91, 30,153, 91,108,234, 93, 97,179, 67, 87, 98,
- 70, 94,137, 25, 37, 21, 86,120,171, 92, 97,183, 89, 58, 55,164, 71, 8,249,122,226, 67,211, 31, 7,192, 99,120,246,175,244, 57,
-241, 9,149, 91,254, 48, 89,163, 38, 60,230, 25, 21,115, 11, 55,163, 15, 21, 19,206, 94, 57,138, 59,195,101, 54, 94,174, 32,124,
- 6,156, 72,192,216,248, 60, 30,103,181,234,109, 90,173,231,241, 19,199, 15,143, 51,217,147,192, 23, 73,106, 62,107,180,176, 14,
- 95, 49,186,155,103, 63, 5,128, 79,214,174, 89,213,111,248, 99,162, 19, 23, 83, 96,180, 1,125,187, 7, 97,239,183,159,155, 9,
-177,189, 82,145,115,233, 83,122,111, 81, 40, 20, 10,133,114,155,193,138, 68,101,227,248,219, 35, 90,213,117,163, 99,199,142,173,
-219,224, 26, 89,186, 34,184, 43, 5,240,108, 21,136,105,115, 87,225,235,143,231,131,101,109, 32, 4,176,179,142,141, 76, 64,136,
-240,231, 23,159, 15, 12,105, 19,200,247,156,246,152,220,248,205, 14,131,108,218, 99,114, 99,167,206,238,165, 47, 62, 31,152, 82,
-110,242,239,111,103, 89,156,186,154,135,184,148, 82,196,165,150, 65, 41,115,124,152, 47,190, 88,244,252,242,101, 75, 69, 2, 62,
-195, 92, 77,211,235, 51, 11,237,122,190, 80,104,149,203,196,196, 66, 4,230,212, 2, 82, 56,108,226,147,198, 3,219, 63,121, 26,
-192,236,134,116,170,123, 26, 86, 71,178,170,215,132, 16,194, 0, 28,199,176,108,102,129, 9,122,171, 13,186,226, 63,140, 22, 99,
-111,184,230, 84,233,211, 33, 72,173, 82, 30,230,243,249, 18, 66, 0,155,213,254, 8,124, 58,140,212,231,220, 76,168,109,178,206,
- 94,205,198,173, 75,199,116,172,213, 48,221,144,119,227, 23, 71,143,157, 97, 64,248,124,112,124, 30,195, 49, 12, 56, 33,143, 88,
- 64, 8, 87, 55, 71, 6, 39,140, 86,181,217, 18, 11,249,139,142,238,250, 88,251,212,152, 80,124, 27, 85,233,249, 76,229,249,101,
- 21, 89,212,100, 81, 40, 20, 10,229,238,210,152, 23,249, 7, 69,181,238,140,104, 53,118, 64,132, 0,137,105, 5,104,227,231, 9,
-191, 54,237,145,112, 61,246,143,109, 0,236,172, 99,213, 81,251,247,231,100,174, 90,165,230,230,207, 47,237,187,124,185,255,153,
-231,103,181,214,116,234,236, 94,250,234,171,233,125, 87,175,214,156,249,249,172,144, 37, 85,227,117, 85,143,205, 69,136, 51,237,
-226,120,189,186,134,181,229,191,187, 35, 49,253,151, 43,229,121, 34,145,200,230,237, 42,101, 84, 74, 49,159,207, 19,138,205, 54,
-158, 57, 40,188, 59,255, 0,143,233,222,152, 74,181,209,170, 91,117, 88,152,127,107,252,209, 31, 22,118, 26, 60,113,133, 91, 86,
-190, 17,165, 22,126, 77,213, 33,159,199,224,202,245, 52,128, 47,138,171, 79, 83,173,114, 59,178,243,155,175,253, 87, 47, 95, 2,
-171,157,197,139,243,223,194,147, 51,166, 31,129, 79,135,145,254,129,193, 49,191, 31,248, 74, 62,114,214, 6,164,221,136,206,181,
-155,203,118, 57, 99,178,106,204, 22, 64, 88,194,241,138,138,203,148,102, 59,164,168,199,247,153,173, 92,179,174, 28,189,209,142,
- 3,231,114,113,240,199, 93,208,168, 20,244, 73, 64,161, 80, 40,148,187,206, 63,212, 92,161,142,185, 2, 26,138,104, 53, 70,128,
-159, 23,206,197,165,160,115, 72, 91,104,212, 42,196,223,202, 4,159, 39, 4,143, 1,108,118,199,205, 16,177,218,190, 93,189, 90,
-131,180, 20, 5,239,179, 13, 41,129, 47, 62, 31,152,178,122,181,230, 12,177,218,190, 5, 48,157, 16,160,210,108, 85, 26, 46,214,
- 9, 95, 64, 56, 91,107, 47, 55, 57, 63, 58,169,162,144,199,227,155,221, 53, 82,206, 93, 35,225,185,171,196, 66,145,144,207,217,
- 9,207,234,167, 13, 52, 17,142,235,234,136, 94,237,170, 67,150,101,193, 48, 60,182,202,136, 41, 50, 10,141, 40, 53,241,161, 43,
- 49,163,184,220,138,142,190, 10, 28, 59,254,189,129,181, 25,119,212,167,197, 23,138, 52,237, 3,253,240,191,247, 87,195,104,102,
-145,152,165,135, 72, 34,241,246,242, 14,191, 60,253,133,215, 37, 47,109,190,133,167,135,186, 99,254,239,183,178, 12, 58,233,235,
-206,156, 89,150,101, 97, 52, 89, 68,186,130, 98,215,178,242, 10,181, 76, 42, 49,122,186,105, 10,234,251,172,201,201,136, 86, 53,
-114,169, 0,227,250,120,195,100,157, 10,163,217,142,211,191,236,161, 79, 4, 10,133, 66,161, 80,254,160,193, 9,164, 29, 50, 90,
- 74,185, 20,132, 47,197,239, 49,183, 16, 28,214, 5, 91,247,159, 71,135,206,125,144, 83,110, 7, 1,175,201,222,134,213, 44,124,
-195,120, 17,192,197,241,227,229,126, 15, 62,232, 59,156, 16,225,207, 27, 54,149,101, 2, 64,219, 78,149, 50, 28, 71, 64, 8, 64,
-184, 74,195,229, 48,140, 32, 45, 37,167,172, 77,160,183, 2,215, 50,173,102,133, 68,196,115, 85,136,249,158, 26,177, 72, 36, 16,
-128, 37,140, 57, 39,231,150,153, 1, 82, 29,145,171, 91,117, 40, 87,250,252, 52,108,226,138,252,212,244,210,232,142, 69,134,174,
-165, 86, 49, 8, 1, 58,250, 42, 16,119, 54,146,213,101,221, 76, 52,234,110,108,172, 79,139,227,192,183,218, 57, 92, 78, 42, 69,
- 73,133, 13, 37,122, 43,250, 15, 25, 39,234, 31, 49, 30,191,199, 21,128,179,219,176,252,243,200,114,150,216,166, 0,215,109, 78,
- 28, 52,239,220,197,171,126,249,197, 21, 18,161, 64, 80, 18,210, 33, 32, 89, 44, 18,218,203,202,202,196,183,127,138, 15,133, 76,
-140, 34,189, 13, 0,108,206, 94, 61,165, 21, 54,236, 63,155,139, 3,123,118, 66, 38,147,129,208, 27,138, 66,161, 80, 40,148,218,
-248,160,114,250,157,200,170,117,141,249,114,104, 82,105,150, 35,240,112,119,131, 84,161, 70,138,206,138,114, 70,139, 98, 3, 1,
-203, 86, 70,180, 26, 9, 60,213, 59,187,247,254,253, 57,153,251,246, 21,108,217,191, 63,167, 86, 67,239, 63, 34, 89, 53,107,142,
- 56,172,201, 16,246,216,254, 67,191,149,142,239,237,233,202,227,243,141, 34, 33,207, 44, 16,241,173, 34, 1,207, 38, 18,240, 44,
- 94,106, 33,255,183, 3,187,196,132,193,111, 77,105,154, 76, 38, 68, 68, 68, 96,244,232,209,152, 48, 97, 2, 30,126,248, 97, 4,
- 5,133,106,121,124,198, 66, 24,142,243, 20,151,163,189, 39, 3,129, 41, 3,191,236,250,200, 16,119,106,239,101,214,108, 26,135,
-219, 45,231, 31,154,132,112, 69,165,102,152,172, 44,138,245, 86, 20, 87, 88, 97,247,236,139,189,167,179, 97,180,176, 72,139,249,
-222,152,159,155, 57,215,156,119, 51,165,137, 83,241,218,237,255,146,204,103,158,154,145,175,146,242,110, 14,232,119, 95,190,135,
-187,155,157, 97,254,136,188, 50, 12, 3,169, 90, 11, 87, 23, 21, 82, 46, 30,194,209,229,195,140, 0,222,116,164, 60,107,163,150,
- 11, 48,190,183, 55,198, 77,154,138,206,125, 70, 58, 98,172,233,140,246, 84,147,106, 82, 77,170, 73, 53,255, 75, 84,207,113, 88,
-189,118,108,100,248,106, 3,212,206, 71,129, 14,190, 10,152,172, 90,152, 44, 44, 42, 76, 44,202, 12, 86,148, 25,108, 72,201, 53,
- 32,110,127,203,115, 88, 25,197,170, 28,241,147, 16, 0, 76,165,193,115, 52,122, 34,182, 90,222, 95,181,252,195, 71,118,117,239,
-102,121,105,140, 79,235,216, 20, 75, 54,195,240,140, 60,190,192,230,166, 18, 8,227,227, 99,243,207, 68,253, 52, 80,106,103, 31,
- 55, 52,162, 99,183,219, 75,125,125,125, 1,220, 62, 5, 79,104,123,217,132, 83,145,175,181, 29, 52,126,185,231,199, 75, 22, 26,
-120,124, 17,199, 8, 68,113,172,205,184,211,168,187,177, 1,141,216, 15,158, 72,122,253,220,165,107,125, 92,220, 90,227,102, 86,
- 5, 42, 76,118, 88,237, 28, 92,149, 34,100, 94, 57, 98, 77,137,143,254, 78,159, 29,187,181, 25,197,182, 35,225,122,156,223,168,
- 81, 35, 31,234,211,167, 47,127,241,226,183, 16, 28, 28, 12,163,209, 8, 30,143,135,214,109,218, 35, 37,225, 18,206, 70,190,207,
- 26, 10, 83, 55, 2,120, 15, 64,190,179, 95, 82, 80,102,193,161,232, 60, 68,254,248, 45,248, 66, 49,189,157, 40, 20, 10,133, 66,
-185,147,153,117,214,155, 29, 50, 90, 38,147, 41,229,254,136,113,224, 56, 2,150, 0, 28, 91, 21,121,226,254,136, 62,177, 54, 83,
- 74, 75,115,199,113,236,249, 79, 55,111, 25,221,189,215, 32,126,152,191, 18,101,133,185, 56,123,234, 87, 59, 56,114,198,145,253,
- 11, 11, 19,245, 50,175, 14, 15, 61, 50,249,193,221, 51,158,154, 85, 50,112,200, 16,133, 86,235,109,206,204,202, 52,124,185,253,
- 27,219,145,159,246, 13,228, 96,127,180,176,240,166,190, 49,157,210,210,210, 79,234, 75,151,136,149,253, 1,180,229, 11, 24,139,
- 49, 63,209,169, 22,225, 5, 89, 25,147, 62,124,255,157,212,199,158,157, 39,110,231,219, 30,121,165,124,164,100,230, 34, 62,106,
-159, 57, 43,225,194,143,101,153, 23,159,118, 80, 42,167,158,180, 76, 0, 31,159, 61,123, 38,124,212,168, 81, 35,135, 14, 29, 74,
-102,206,156, 9, 66,128, 95, 54, 63, 79,138, 82,206,126,143,202, 40, 86, 82, 51,207, 75, 90,212,153, 75,110, 15, 15,236, 41,112,
- 87, 61,141, 45,223,254,100, 3,225,210,232,253, 68,161, 80, 40, 20, 74, 13,205,111,163,149,113,189,114, 60,173, 63,155,242,220,
-188,233, 91,183,126,253,193,215,219,119,245, 55, 89, 44,190, 4,162, 12,214,110, 57,161,103,177,216, 81, 13,163,238,102,180,187,
-123,199, 78, 95,126,254,233,155, 95,110,249,108, 16, 56, 54,132, 1, 82, 9,131,223,164, 54,118, 70, 83, 38,171, 81,179, 84, 80,
-190,105,248, 67, 43,141,133,133,250,175,157,221,215, 88,120, 35,151,199,183,182,222,180,230,253, 21, 60, 30,127, 4,203,114, 66,
-142,181,221,100,173,166,143,140,249, 55,246,195,225, 86,110, 40,106,100,219, 85, 0, 87,143, 31, 63, 62,224,248,241,227,189, 0,
-124,130,202, 57, 20,163, 91,114, 94,204,133,229,195, 94, 89,248,202, 47, 11,192, 4,112, 28,129,157,229,210, 68, 70,195, 48,122,
- 79, 81, 40, 20, 10,133, 82,195, 76,220, 57,104,169, 99, 17,173,191,138,226,226,164,114, 20,227,165,150,234, 20, 22, 38,234, 1,
-220,209,115,207,208, 66,221,184,196,178, 31,144, 88,246, 67,115,247,175,200, 75,206, 7,146,103,180, 48, 27,142, 52,100,255,189,
-106,185, 43, 20, 20, 92,175, 64, 1,122,211,123,136, 66,161, 80, 40, 20,167, 13,151, 99,141,225, 41, 20, 10,133, 66,161, 80, 40,
- 77,154,172,218,107, 0,149,109,207, 27,234, 57,224,204,204,220,205,233,125,112,140,106,182, 88, 83, 8, 64, 12, 64, 9,160,169,
- 42,205,145,168,154,175,145,150, 39,213,164,154, 84,147,106, 82,205,123,168,217,148,246, 49, 80,254, 84, 3, 70, 53,169, 38,213,
-164,154, 84,147,106, 82,205,255,158,230, 63,153,153,245, 44, 0,254, 70,109,180, 40, 20, 10,133, 66,249,171,112,119,239,168, 4,
-106,218,245, 54,137,220, 35,212, 11, 0, 12, 5,215,117,180,244, 40,245, 80,123,158,195,187,210, 70, 75,200, 19,136, 95,145,171,
-220,175, 43, 52,238, 89,255,241,194,101,130,218, 40,230, 12, 31, 24,184, 55,184,173,108,130, 51, 59,202, 61,131,190,242,110,223,
- 59, 93,161, 13,154, 3,159,238,178,150,100, 66,161,109,235,169,108,221,243,148,202, 55,252,129, 63,225, 24, 37, 97, 97, 97,125,
-195,194,194,250, 2,144,220, 13, 65,185, 54,104,170, 95,135, 62, 81,218,118,221,126, 85,120,117,156,124,183, 51,172,244,233,224,
-174,108,221,227, 7,101,171, 46,197, 74,159, 46,101, 74,191, 30, 39, 84, 30,161,237,154,218,175,245,248, 15, 67,222,221, 25,183,
-179,245,248, 15, 67,234,219,238, 58,106,173,234,237, 93,137, 75,220,199,125,164,164,207,149,230,209,186,255, 84, 23,159, 65, 11,
-220,157,221,207, 55,168,207,213, 54,225, 3,242, 90,117,236, 29,231,232, 62,126,193,125, 47, 6,132,245,215,249, 5,245,141,166,
- 37,239, 24, 82,207,182,125,165,174,254,145, 18, 87,255,159, 36,110,109,135,180, 84,207,199,199, 71, 22, 18, 18, 50,170, 79,159,
- 62,207, 13, 27, 54,236,229,110,221,186,205, 12, 8, 8, 24,113, 47,127,232,203,181, 65,111,152,133, 76,129, 89,200, 20,200,181,
- 65,111, 52,253,124, 13,254,128,225,177,217, 12,143,205, 86,104,131, 63,248,187,156, 43,137, 87, 80,128, 92, 27,180, 90,229, 29,
-118, 94,166,237, 56,206,217,253, 93, 93, 93, 71,120,122,122, 78,172, 94, 92, 93, 93, 71,208, 59,160,217,212,142, 98,181, 56,162,
-197, 23, 74,228, 39, 31,123,234,197, 78,203,222,121, 93,186,102,203, 94,172, 89,178,240,154,185,162, 36,236,239,120,228, 30,109,
-123, 69,243,121,124,191,218,105, 44,199,102, 22, 36,159,239,121, 55,244,131,219,200,158,126,243,213,233,243,167, 62, 18, 17, 16,
- 49,118, 46,115, 35,217,184,207,113,139,134,174,223,253,240, 99,235,168,223,126, 93,187,101,203,230,247,242,237,193,171,133, 18,
-193,167,101, 25, 87, 75,156,201,131,218,179, 93, 91,129,194, 35,234,254, 9, 47,122,199, 28,251,102, 43,107,225,134, 27, 10,106,
-205,254,221,124, 60,219,183,111,127, 31,159,207,119,159, 51,103,142, 8, 0, 62,254,248,227, 14, 44,203, 22,222,186,117,235, 2,
-154, 49,248,105,165,193, 12,158,254,201,138,119,191,126,224,129,209,200, 46,168,192,242,213,235, 7, 31, 62,248,221,195, 21,186,
-196,239,239,198, 57,113,113, 9, 84, 67,164,186, 50,247,213,247,180,163, 6,223,199,215,155,236, 56, 28,117,105,192, 55,235,223,
- 59, 15,132,246, 42, 47,184,222,224,152, 98,156,161,116,145,151,146,140,226, 12,165, 0, 48,245,142,151,189,210, 22,225, 41, 99,
- 71,249, 72, 4,151, 10,129, 38, 39,125,116,105,211,255,136, 80, 34, 9,224,241,120,224, 49, 0,143,199,128,207, 48,149,243,132,
- 90,141,105, 89,241,191,143,252, 59,220, 39, 42,255, 94,185,224, 11,220,121,204, 31,249, 99,120, 85,107, 66,202,114, 19, 79,186,
-223,133,175,209,116,234,224, 18,222,191, 67,197,151, 39,146,139, 20,130,129, 47, 71, 50,132,247, 89,250,239,171, 47, 59,100, 0,
-164, 82,215, 3, 7, 14,120,142, 26, 53, 74,163, 13,159,112,194,145,125,196,124,125,216,193,131,251, 69,163, 70,141,116,226,250,
- 12, 26, 14, 30,111, 59, 3, 8, 57,142,124,204,231,200,119,250,194,132, 91,128,115,179, 79,201,180,193, 79,243, 64, 28,126,206,
-112, 96,162,141,121, 55,182, 52,183,112, 5, 18,245, 48,161, 72,244,114,219,160,206,221,179, 82,111, 70, 87,232,203, 87,219,205,
-165, 39,156, 22,178,217, 95, 57,246,123,204, 3, 2,161,144, 25, 53,172, 55,223, 12,252,218,146,147,238,229,229, 53,113,221,186,
-117,237,250,246,237, 11, 0,176,219,237,234,221,187,119,123,191,255,254,251,138,132,132,132,230, 78,156,234,235,233,233,233, 47,
- 22,139,125, 1,192, 98,177,100,229,231,231,167, 3,104,242,135,191,194,171,157, 7, 8,222,251, 61, 42, 74, 0, 0, 3, 6, 12,
-252,192,255,254,217,174,124,145,210, 88,111,113, 88,202, 21, 37,183,126,157,119,246,220, 25, 6, 0,250,244,238,251,186,220, 35,
-244,211,123, 25,217,146,106,131,123,243,128,249,125, 6, 68, 76,154,242,232,116, 94,120, 71,127,140, 24, 62,244, 53, 35,112,192,
-169,107, 70, 32,144,157, 63,127,190, 61,143,199,227,219,237,118, 83,159, 62,125,210, 91,146,175, 86, 65,125, 79, 51,224,181,182,
-218, 45,159,231, 39, 69,127, 0,220, 49,113, 12, 95,211,186,251,155,224, 11,158,229, 56, 46,163, 60, 61,186,223,191, 48,162,117,
-103, 57, 59,171,196, 19,136, 95,158,250,228, 11,157,230, 45,248,159,116,238,154,227,136, 92,255,122,193,223,213,100, 1, 0,159,
-199,247, 59,114,244,136, 86, 46,230, 3, 0,244, 38, 59, 30, 24, 53,170,233, 55, 66,155, 94,191,241, 24, 38,184,122, 66, 27,214,
-110,149, 10,132, 98, 19, 83,105,144,192, 0,240,104,213,230,184,151,253,164,124,234, 35, 17, 1,219,119,253,156,153,158, 89,232,
-244, 67,141,225,139,208,103,224, 8, 68, 12, 31,169, 57,127,238,244,123,155, 55,110,120,195,110,181,109,224,108,220,106, 83,209,
-205,236, 38, 31,230,222, 29,123,136,149, 30,135, 39, 61,247,190,187,137,231,134,197, 75, 62,241,136, 58,180,227, 68, 86, 70, 87,
- 46, 45, 45,195, 68, 24,230, 90,113, 81,206,203, 21,185,183,110, 56, 90,100, 74,165,178,157, 82,169,236,218,165, 75, 23,233,194,
-133, 11,133,131, 7, 15,254,195,178,207,156, 41,250,237,183,223,124, 86,174, 92, 57, 58, 54, 54,214,164,215,235, 47,235,245,250,
- 36, 56,209,208,222,219,219,115,246, 67, 15,142,195,208, 73, 47,130,229, 24,204,124, 97, 30,142, 28,218, 51, 11,192, 93, 49, 90,
- 54,185,250,253,103,159, 91,232,217,231,190,110,252,247,118,220,128, 76, 44,192,200,158,193,204,147,115, 22,185,108, 89,251,222,
- 23, 40,192,160,250, 34, 89,156,161,116, 81, 39, 15,203,163,227,251,182,197,254,157,150, 71, 49,236, 85,240,228,154, 15, 50,246,
-255, 47, 30, 0,218,141,154,163,146,176,249,235, 90,185,240,181, 18, 54,127, 93,187, 81,115,142, 37, 29, 94, 87,222, 88, 94,132,
- 18, 73,192,206, 29, 59, 58,186,170, 68, 16,240, 24,240,249, 12, 4,124, 30, 76, 22, 22, 15, 63,242,232, 93,187,204,101,218,142,
-163,121,192,147,149, 47,108,124,101,204, 75,252,201,153,115,194,240, 69,238, 7,247,255, 40,208,106, 36,224,243, 25,240,121, 0,
-159,199, 32, 85,103,196,211, 79, 63,169,105,169, 97,127,160,191,246,190, 87,166, 4,143,236,211,201,173,203,183,103, 24, 77,159,
- 7,166,184, 23,152,228, 79,236,218,247,235,163,100,192,188,115,132,112, 43, 50, 79,126,114,180, 49, 17,179,217,172, 27, 57,234,
- 1, 53, 35, 80,200,143,237,221, 58, 80,192, 99, 96, 99, 9,236, 44, 1, 91, 53, 55, 42, 83,245, 11,134,199, 99, 64, 56,130,103,
-159,125, 26, 35, 71, 61, 96,224,236, 92,166,227, 15, 57,222,246,195,199, 78,121,154,109, 28, 86,174,219,242, 94, 69,105,254,123,
-201,241,238,169,250,210,130,121,198,188, 68,135,231,193,224,129,244,204, 72,138,123,110,199,193,179,232, 20, 22, 10,150,171,204,
-103,176,159, 2, 59, 34,207, 34, 36, 56,164, 50,223, 28,249, 63,123,103, 29, 29,197,245,183,241,103,214, 53,238, 9,193, 3,193,
- 18,220,221,139,107,209, 66,113, 90, 74,141, 34, 45, 45, 80,180, 20,167, 64, 11,148, 82,160,184, 7, 11, 14,165,104,128,144, 0,
- 73,136, 19,223,216,186,239,220,247,143, 77, 40, 18,217, 0,125,251,107,123, 63,231,236,217,204,100,247,217, 59,115,103,238, 60,
-247,123, 13,181, 3,229,104,214,180, 25, 0,188,150,209,226,137,156,190,233,208,123,244,130, 62, 67,199,193,219,203, 11, 28, 98,
-233,115,238,196,111,125,126,217,248,253, 23, 86,131,106, 69,133,196,136,237,217,115,129,176,236, 27, 71,157,252,253,253,189,154,
- 53,251,115, 58, 70,171,213,138,106,213,170, 33, 61, 61, 61,248,117,234,105,126,126,126,189,231,205,155,231,221,171, 87, 47,190,
-175,175, 47, 0, 32, 43, 43, 43,224,244,233,211,141,231,205,155,151,147,153,153,121, 2,101,204,232, 99,179,112, 4, 28, 30,184,
- 98,177,212,126,140, 96, 56, 51,166,189, 23,234,227,231,111, 44,233,243, 10, 69,150,112,230,135, 23, 25, 30, 79, 80,244,121,112,
- 8, 97,153, 50,162, 68, 93,249,124,126,137, 45, 20,102,174,115, 75,194,119,153,192,225,114,236, 23,171,213,162, 40, 72,189, 91,
-183, 2,145,184,250,124,161, 96,211,224, 97,227, 90, 15, 25,212, 31,126, 94, 46, 56,247,123, 36,166, 76,251,204, 98, 53, 91, 86,
-189, 86,225,193,229,242,114,114,114,146,221,220,220,124,223,252,121,203, 84, 63,123,230,148,247,185,243, 23,102,175, 92,179,110,
-170,217,100,181,176,132, 60, 91,199, 88, 34, 17,241,187,245,121,215,217,187,102, 75,241,186,121, 19,248,255,194,136,214,230,183,
- 98,180,132, 18,167,119,191,158,249,145,120,225,174, 27, 56,177, 97, 74,174, 78,149,235,245,172,166,224,236,122, 87,171, 42,108,
-252, 58, 41,148,123,213,110,197,112,121,147, 25, 46, 87,198,112, 24, 33,107, 99,159, 90, 77,166, 69,250,188,184,204, 55, 61,122,
-150, 37, 56,248, 71, 78,197, 12, 16, 65,208,206,189,135,189,125, 92, 69, 48,152,109, 24, 54, 98, 52,118,236,216,225,228,229, 34,
-132,193,100,197,247, 43, 87,170, 53,201, 39,188,147,159, 22,164,119,237,251, 89,120, 66, 82, 78, 84,106,166, 97, 95, 69,211,102,
- 52,219,160,210, 89,161, 51,114, 80,171,126, 51,124,191,170,142, 56, 53, 37,241,179,237,191,108,157,254,240, 33,119, 7,203,229,
- 44, 48,100, 62,122, 90,226, 77,231,219,160,135,179,155,199,238,129,147, 23,187,198,229,240, 64, 96, 70,188,179, 24,239,142,157,
-238, 92,195, 87, 2,153,152,235,154,152,146,238, 55,227,139, 47,126, 79,176,145,230, 42, 69, 66, 98,121,233,169, 90,181,234,160,
- 62,125,250, 72, 63,255,252,115,126, 96, 96, 32,126,249,109,127,149,118, 61,134,246,205,200,204, 14, 36,132,192,199,219,251,233,
-196,247,135, 30, 63,121,242,100,202,211,167, 79,249,203,151, 47,111,113,248,240,225,122, 89, 89, 89, 14,215, 76,109,132,192, 96,
-180,193, 86,244,128, 84, 40,141, 21,246,167, 1, 1, 1,162,244,244,116,227,115, 81, 6,230,207, 64, 33,211,163, 75,135, 22,188,
-159, 78, 37, 65, 99,176, 65, 38,230, 35, 41, 91,135,166,141, 66,152, 45, 54,107,195,146, 4,199,191,219,123,174,143,156,244,236,
-215,170, 58,188,221,164,216,246,195, 98, 28,187,158,216, 51, 91,195, 96, 61,225, 78,246, 19,241,186,201,216,204,245, 29,155,214,
-244,237,220,164, 10,110, 55,173,233,123, 37, 34, 38, 86, 50,116,229, 71,233, 26,254,185,130,211,211,213, 37, 23, 60, 28,184, 59,
- 9,240,243,153, 20, 72,197, 60,200,196, 60,200, 68,246,119, 14,135,121,179, 90,173, 95,221, 64, 46,107, 27,207,229,242,198, 15,
-127,119,168,255,200,225, 67, 9,184, 28,236, 63,120,188,255,174, 93, 59, 51, 45,102,211, 86, 27,135,251,115,105,215,207, 11, 39,
-148, 3,120,187, 8,241,197,214, 40, 56, 75,248,112,146,242,225, 44,229,163,115,168, 23,184,175, 63, 9,140,219,148,254, 53,122,
- 77, 25, 88,181, 83,112,101,121,173,251,241,202,135,227, 23,221, 89,115,169,176,211, 39, 63,172,174,231,161, 41, 52,241,190,153,
- 49,145,151,150,145,209,105,255,241,203,157,109,166,113, 49, 86,179,246, 75, 69,228,254, 18,163,194,105, 49,215, 27, 7,180, 28,
- 34, 54,107, 44, 15,238,199,164,213, 44, 48,138, 16,157,172,130, 76,204,131,188,248,220,138,121,144,137,249,144,139,121,200, 72,
- 75, 66,190,150,251,123,186, 7,167, 19, 46, 95,183, 86, 36,225, 6,179, 13,247, 18, 53,168, 26,220, 8,126,126,254, 48,245, 26,
- 85,245,230,133,131, 71,111, 93, 62,178, 84,151,245,248, 75, 71,117,126, 11,187,129,217,159, 78,142, 96,128,187, 69, 15,233,198,
-223, 44,219,208,228,219,217, 31,190,176,111,198,130,117, 77, 94, 63,146,229, 52,183,243,192, 15, 22,180,235, 54, 16,234,252,108,
-252, 17,190, 15, 61,250, 12,198,168,113, 31,195,213,213,243,251, 85,139,102,222,183, 26, 85, 23, 94, 41,115,125,235,180, 13,105,
- 80,119, 87,128,191,127, 32,203,218, 87,249, 32, 4,208,168,149,152,249,201, 68,176,132,160, 97,227,230,157,197,237,186, 17, 82,
-180, 26, 72,110, 94,174, 54,230,241,195,174,134,156,152,155, 14,159, 75,131,193,162, 80, 40,112,239,222, 61,196,198,198, 34, 58,
- 58, 26,121,121,121,112,113,113,209,104,181,218, 10, 5,239, 67, 67, 67, 71, 94,184,112, 65,236,230,230,246,108,167,201,100,130,
-147,147, 19, 70,142, 28,201,239,222,189,123, 64,239,222,189,199, 68, 69, 69,253, 6, 64, 85, 98,122,242,159,100, 56,249, 4,255,
-216,161, 99,135,169, 0, 32,113,246, 75, 92,255,203,241,232, 50, 43,180, 46,254, 85, 90,183,110, 83, 19,132,128, 1, 89,171,203,
-139,205, 42, 35, 74, 36,187,113,227, 70, 13, 46,151,203,251,243, 25,196, 98,227,182,189,117,206, 94,125, 48,104,217,247, 43,196,
-206, 50, 17, 20, 74, 19, 38,140, 26,232,240, 51, 88,226, 19,220,171,117,235,246, 71,191, 93,240, 53, 79, 46,147, 33,252,102, 2,
- 62,250,228, 11, 67,102,114,212, 10,194,242, 55,232, 20,177, 57,111,248,168, 36,120, 11,212,170, 36,135, 83,191, 30,226, 41,239,
-245, 19,155, 44, 54, 20,106, 45, 48,154,109,176,177, 4, 74,173, 5, 15, 83,213,240,116,174,248, 82,110,132,144,102, 0,188, 0,
- 40, 24,134,185,253,252,118,113,133,174,216, 27,191,180,157, 91,244,124,240, 0, 96,130,125,164,254,179,203,167,104,187,180,253,
-197,223,127, 8,160,110,145,166, 13,192, 45,134, 97, 10, 74, 49, 91,175, 68,185,120, 97, 97, 97,164, 79,159, 62,207, 74,252,151,
-183, 95, 70, 36,224,251,203, 92,188, 64,200, 35, 60,191,128,177,183,111, 64,222,138, 85,107,220,167,125, 48, 57, 69, 85,152, 95,
-165,104,247, 57, 71, 30, 22, 60,134,187,170, 67,155,150,221,167,126,240, 1,130,107, 84, 18,216,108, 54, 18, 21,155,104,217,254,
-243,182,177, 87,174, 11,215,168,210,162,230, 62, 23,130,172,208,176, 79, 27,107, 75,123, 57,130,101, 99,109, 47,215,110, 95,209,
-100, 24,192, 85, 46,196,143,167,146, 64, 8,192,128,192, 69,198,199,158, 75,105, 72,140, 56,164,234,211, 80,165, 29,185,108,126,
-231, 78,189,166, 95,120, 24,111,216,151,147, 99, 56, 3, 32,171, 44,205,146, 11,116, 22, 70,179, 13, 22,171, 21, 7,142, 31, 71,
-207,206, 45,208,186,117, 11,180,111,215,154,119, 39, 34,114,220, 7, 83, 39, 6,226,207,209, 29,207, 52,197, 62, 65,205,228, 46,
-158,251, 6, 77, 93,238,244, 32,205, 10, 30, 23,168,238, 43,129,187,147, 0, 38, 43,131,100,133,185,232,206,113,197, 71, 51,218,
- 68,194,144, 0, 0, 32, 0, 73, 68, 65, 84, 22,184,207,254,108,234, 73,149, 66,216, 0,120,100, 46,235,216,117, 58,157,112,244,
-232,209,124,139,197, 98, 30, 57,225,227,238, 89, 89,138,254, 27,215,126, 39,242,246,246,129,206, 96, 69, 68,244,147,186,223,126,
-187,160,250,241,211,151,142,204,255, 98,202,209,158, 61,123,186,236,221,187,151, 45,239,124,190, 80, 67,204,206,253, 97,219,174,
- 3, 59, 86,175, 88,130,152,148, 2,252,252,211, 6, 16,155,245,199,114, 78,213,243,154,100,244,232,209,146, 35, 71,142, 84, 74,
- 75, 75, 83,233,116, 58,197, 11,241, 8, 14,195,203,206,215,193,211, 73, 8, 1,143, 3, 31, 55, 49,188, 93, 68,224,115, 1, 14,
-195,216, 74,210,252,121,223,137, 69,172, 78,137, 99,187, 77,195,183,253,176, 24,227,166,125,133,168, 92,225,105,142,212,101,209,
-135,195, 7,205,246,146,216,122,250,187,114,188, 59, 55,169, 10,153, 88,128, 57,211, 71,163,121, 68,178,119,122, 33,251,149, 66,
-207,109,180,224,244,179,197,186,207,189, 24, 28,177, 71,176,156,164,124,156,222,245,125,142, 86,169, 80, 22, 55,201,153,140,134,
- 20, 7, 47,227,115, 37,212,108,103, 55, 10,169,191,120,234,164,241,156, 54,173,154, 19, 14,135,143, 92,181,137, 33, 4,248,228,
-163, 41,248,112,202, 68,223,167, 25, 57,223,108,216,240,227,220, 11,103,201, 66,173,226,241,252,178, 52, 57,140, 61, 10, 36, 23,
-243, 32,151,216,141,139, 92,204,131,193,100, 3,195,128,235, 90,185,177,146,177, 71,114, 51,242, 83, 74,173,129,191,160,233, 94,
-185,254,249,179,137, 78,117, 10,246, 21, 92, 79,202,136, 94, 20, 17,153,125, 11, 64,126, 96,123,215, 49,102, 43,129,198, 96, 69,
- 82,182, 14, 86, 51, 97,198,189, 83, 5,213,134, 48,193, 75,182,221,221,113, 42, 18,206,207, 21,250, 47,104,166,223, 56, 96,240,
-104, 48,112,216,234,117, 63,221, 94,177,248, 43,110,174,210, 4,150, 16,136,133, 92, 72,132,188,162, 23, 23,122,173, 18, 27, 54,
-109,201,178,130, 25,132,203,151,173, 21,185, 62,193,146, 81, 3,123,181,223,195, 0, 66,134, 35, 72,243,175, 82,181, 74,151,190,
- 99,197, 93,250,141,134,205,106,154, 29,113,149, 92,212,229,196,156,119, 68,179, 65,189,186, 96,128,187,218,156,216, 41, 0, 32,
-243,174,253, 99,157,224, 58, 77, 94,222, 23, 20, 20,220,196,145,124,127, 22, 41, 21, 59, 77,115,115,247,250, 42,184,126, 35,239,
-236, 2, 35,227,228, 81, 9, 73,113,247,176,123,211, 55, 59, 89,131,105,193,249, 19,251, 22,175,249,249,240,187, 93,122, 14,196,
-182,141,223,205,201,203,124,102,180,206, 61, 23,173, 26,181,125,235,230, 64,190, 80, 4,139,149,133,197, 70,236,239, 86, 27,242,
-243, 11, 96,177,178, 16, 75,157, 96,101, 25, 88,108, 44, 44, 86, 22, 70,147, 85, 54,101,116,239, 15, 12,192,205,146,210, 25, 80,
-167,195, 25,129, 72, 84,133,192,190,118, 45, 33, 4, 73, 89,122,142,159,159,223,111, 0, 32, 18,137, 32, 18,137,192,178, 44, 34,
- 98, 20,211, 60,131,107, 79, 69,145,193,179,153, 77, 41,133,201,215,122,148,118,236,190,190,190,125, 95, 54, 89, 6,131, 1, 26,
-141, 6, 87,175,223,118,217,186,227, 64,207,164,148,180, 26, 44,113, 49, 58,121,215,232,161,206, 73,232, 91,218,249, 84,103,199,
-124,224,220,114, 34,231,243, 15,199, 4,173,219, 30,118,235,201,153, 69,101,246,211,170,214,101,150,233,243,201,131,155, 46, 91,
-251,115, 92,193,181, 31, 63, 45, 47,143,120, 60, 30, 95,161, 80, 60,187,191,215,111,217,221,244,110, 76,250,128, 53,171,215,136,
- 35, 18,212,120,144,148,129, 49, 93, 43,219,107, 56, 14,228,187,204,167,134,103,245,154, 53,127,219,176,118, 25, 47, 46,195,128,
- 31, 14,221,194,133,163, 63, 94,205,202,185,217, 19,217,153,250,215, 41, 67,222,130,209, 42, 85,243, 98,100, 46, 52, 6, 43,140,
- 38, 43, 44, 44,129, 74,103, 65, 78,161, 9, 42,157, 25, 26,189, 21, 99,186, 85, 46,241,123,229,248, 17, 47,134, 97,194, 8, 33,
-125, 8, 33, 93, 1, 8,139,183,237,207,108, 38,172,200,144,189,176, 61,123,246,236, 47,151, 46, 93, 26, 93,252,217,226,253,197,
-159, 45,107,255,115,223,247,152, 51,103, 78,131,101,203,150, 45,105,213,170,213,158, 63,254,248, 35, 17, 64,129,163,205,135,188,
-231, 15, 38, 44, 44,172,188, 19, 93,195,108, 49,139,156, 37,124, 84,175, 86, 25,239,127,185,205,243,215,101,227,115,196, 66, 30,
-247,212,169, 83,238,121, 38, 57, 56, 28,174,195, 85, 20,185, 87,173,214, 2,129,240,196,202,149, 43, 49,188,111, 59, 73,106,174,
- 69, 19,153,170,207,214,154, 96,245,246,170, 45, 92,180,100,153,124,217,242,239, 63, 12, 59,198, 22,106,178, 31,126, 95,114, 19,
- 95,211, 59, 92,230,185, 62, 88, 12, 3,194,218,210, 10,146,111, 55, 5,128, 55,233,139,165, 49, 88,192, 45,234, 91,195, 48,128,
-206, 96, 5,151,203,228, 20,198,236,123, 56,114,225,162,206, 59,247,156,205, 32, 28, 87,181, 86,155, 36,133,125,205,193, 10, 99,
- 48,217, 96,180,216, 16,125, 63, 2,237, 91,214, 67,235,166,117,160, 51,216,160, 51, 90, 81,173,102, 48, 0,120,150,152,113, 92,
- 78, 34,177, 89, 12,132,216,156,250, 52,243,130,183,171, 16,126,110, 34,136,132, 60, 88,172,128,222,196,194, 96,178, 33, 57, 71,
- 15,181, 94,130,144, 14, 67,171,123,248,221, 49,102, 37, 75,142,228,167,222, 25, 84,166, 57,181,217,176,253,183, 3, 65, 25, 25,
-217,253, 79, 30,217, 37, 82,168, 44,136, 76,214, 34,167,208, 8,112,189, 48,111,201, 15,162, 89,159, 78, 26,176,125,247,193,148,
- 46,237, 90,164, 84,244,152,117,138,152,157,251,246, 31,248,177, 79,159, 1,146,232,155, 39, 17,119,239,252, 98,109, 78,133,250,
-103,113, 26, 54,108,104,157, 52,105,146,122,201,146, 37,129,199,142, 29,171,166, 80, 40,238, 1,176,184,186,186,214,169, 29, 84,
-229,126,248,233, 83, 1,189, 7, 12,229,167,229,234,225, 34, 21,160,138,183, 20,215,175,158,177, 8,133,252, 18,251,155, 20, 53,
- 15,142, 64,151,153, 56,118, 61,177,103,116,158,248,210,196,241, 99, 82,194,175,196,228,173,223, 17,254, 93,128,220,114, 79,204,
- 42,214,223,105, 90,211,119,246, 71,163,177,116,221, 78, 92,142,136,201,209,114,252, 22,103, 26,173,103, 75, 15,165, 3, 60, 46,
- 3, 39, 9, 31, 90,149, 66, 25,127,247,116,237,183, 20,166, 30, 19,126,100, 39, 39, 95,109,193,211, 92, 3,147,145,175,134,141,
- 37,112,149, 10, 96,101, 9, 10,243,115,153, 93, 59,119,224,246,237,235, 28,112, 57, 19, 0,204, 47,243,132, 50,246,166, 66,185,
-152,111,143, 8, 73,236,239, 22, 27,139,224,160,154,216,188,126,149,179,167,183, 15,218,182,119,188,111,180,147, 71,149,134,123,
-126, 89,143, 75,127,220,237,120,121,205, 15,205,228,254, 94,235, 24,198,182, 2, 4, 6,163,217, 6,101, 97, 1,132,166,167,104,
- 30,160,128,187,212,134,100,149, 31,162,178,226,228,229, 21,248,121, 81,135,239, 49,100,192,220, 3,199, 47, 44,237,209,173, 35,
-162,146, 85,144, 8,121, 16, 11,185, 16, 11,185,224, 51, 54,172,218,244,163,165, 64,169,238,147, 23,125, 52,247, 53,174,207,115,
- 69,181, 95,187,185,179,105,188,118,174,155,251,235,196,153,203,123,244, 28, 56,150,137,186,125,241, 75, 29,112,222,177,138, 30,
-113,104, 31,203, 58,254,140, 19, 59,121,174,157, 62,107,209,244,238,125,134,130,203,229,193, 98,177,224,224,222,157,248,229,135,
-121,143, 77,154,188,177, 0, 88, 83, 14,119,210,190,157,155,134,206,252,102, 21,211,160, 97,243, 22, 23, 51, 95, 93,142,150,229,
- 50, 63,189, 55,126,242, 48, 31, 31, 31,167, 63, 35, 90, 4,181,131,235,161, 87,191,193, 56,115,244, 48, 30, 70, 71,130, 37,118,
-195,196,178, 4,133, 5,121, 89, 86,139,105,123,169, 45, 30, 98,113,149,109,191,236,168,197,225, 48, 48, 91, 88,152,172, 44, 62,
-253,224,125,211,148, 79,190,108,219,171,123,135,104, 33, 23,170,228,212, 76,215,235,119, 31,133,176,124,121,224,248, 25,171, 4,
- 6,163, 13, 74,157, 5, 39,127, 46,221,235,136,221, 42,183,170,218,164,215,248, 41, 95,111, 22,137,184, 28,115,253,218,129,137,
- 29, 90,214,127, 90,217,223, 83,253,237,178, 31,154,255,126,243,110,175,119, 71,142, 23,143,169,211,132,241,247,144, 56,189, 63,
-114, 96,168,205,106,126, 79,151,255,180,212,249, 5,249, 82,183,194,202,213,130,116,127, 70,140,106, 31, 98, 8,170,191,224, 60,
- 24, 36,234,179, 99, 7, 1,128,159,127,101, 3, 95,228,172,174, 64, 4,134, 0,192,186, 45,187,155,222,143,205,152,184,122,245,
- 26,105, 68,130, 26,247, 18,148, 16, 9, 56, 48, 91, 88, 48, 14, 6,181, 89,194,157,252,213,156,217,206, 5, 90, 27, 46, 69, 42,
- 16,125,231, 34, 49,105, 12, 35,165, 86,231, 65,240,118,122, 15, 64, 77, 0,241, 12, 67,126,210,102,251, 30, 5, 46, 91, 43,122,
-221,179,172,189,190,236,236, 85,163,186,141, 39,234,197, 23,202, 90, 49, 12,169,207, 16,184, 1, 36, 61,191,232,153,234,168, 83,
-211,102,199, 98,249,146,111,176,118,235, 97,100,228, 25,224, 98,123,138,163, 63, 47,194,231, 75,127,131,222, 88,122,175,134,242,
-252, 72, 73,198,232,101,195, 85,252,119,241,231,150, 46, 93,218,231,165,188,233, 83, 74,158,189,242,185,226,239, 47, 91,182,108,
-201,115,255,215, 57,106,178,158, 25,173,226,131, 42,199,108,213,246,242,171,242,199,209, 35,135,220, 10, 52,102,136, 5, 92, 84,
-174, 22,132,249,235,143,122,189,211,212, 19,185,102, 23,236,222,188, 34,223,160, 83,239,117,168,176,240, 14,110, 33,145,203, 78,
- 30, 58,120, 24, 53, 42,123, 11,118, 93,205, 79,186,155,168,127, 22,234, 85, 41, 82,132,213,156,117,188, 65, 3, 7, 74,207, 95,
-184,248,137, 6, 40,209,104,113, 25,110,165, 45, 59, 14,122, 59, 73,248, 96, 24, 64,173,183, 98,226,123,131,223,252, 49, 70, 88,
-238,248,177, 99,192, 20,153, 44, 85, 94, 22,190,156,245,129, 65,102,137,123,152,154,156,154,222,181,239,231,231, 85, 26,198, 48,
-108,244, 7,183, 31,198, 46, 45,208,233, 94,111,145, 31,163,201, 6,163,153, 69, 66, 66, 60, 62, 29,211, 13,124, 46, 7, 92, 46,
-107,239, 44,109, 45,253, 98,212,100,196,230,195, 87, 48,100,231,202,105, 91,252,125,188, 61,228, 50, 9,145, 75, 69, 76,253, 58,
-181, 4, 45, 91,182, 22, 86, 11, 14, 21, 92,125,164, 71,170, 66,143,196, 12, 37, 68, 62,141,120,195, 59,191,131,157,107,102,116,
-204, 79,189,195,193,171,157, 20, 95,224,236,165, 27,125,183,110, 90, 45,202, 46, 52,227,113,170, 6, 89, 5, 6,100, 22, 24,145,
-149,111,128, 92,194, 71,251,126,147, 68, 39,142,254,212,183, 75,187, 22,235, 94,231,184, 19, 19,147, 78, 36,167,103, 14, 13,109,
-220, 28, 59,127,253,165,157,171,107, 53,231,194,194, 36,149,163,185,179,104,209, 34,225,178,101,203,120,235,215,175, 87,181,108,
-217,210,119,206,156, 57, 61,114,114,114,110, 85,173, 90, 53,248,204,161,237, 23, 26,181,239,223, 12,172,217,171, 93,135, 78, 2,
- 17,203, 67,120, 88,152,121,223,222, 93,121,122,189,122, 74,153,134, 67,234,178, 40, 91,195,192, 43, 32, 32, 90, 46,180,117,227,
-113, 10, 99, 11, 78, 79,223, 81, 0, 28,170,209,243,163,115, 23,239,196,196, 54,141, 72,246,190, 16,241, 36, 39, 95,103,174,157,
-112,250,243, 50, 11, 94, 46,195,128,207,229,192, 73,194, 3,167,168, 84,149,251,135, 62, 1,195,120, 21, 71, 78, 25, 48, 69,239,
- 0,195, 32,163, 32,245,158, 3,125, 54, 24,194, 18, 32, 38, 77, 11,141,193, 30,154,175,228, 41,133, 34, 59, 13, 27,215,109,199,
-221, 59,183,209,253,157,126,216,176,101, 23, 38,190, 55,212, 80, 94,237,135,195, 41,138,104, 61, 23,205,146, 75,120, 0, 24, 20,
-106, 45, 56,248,251, 83,212,172,206,113,248,193, 0, 0, 78,114, 41,148,106, 61, 56, 2, 39,196, 71,156,148,158,186,120,115,206,
-220,133,171,191, 40,200,140, 76,125,242,224, 42,130, 61,149,168, 30, 96, 70,116,150, 51,238,228, 85, 67,112, 80, 13,112, 4,183,
- 29,210,206,141, 14, 89,126,148,115,176, 79,211, 70,245, 90, 85,241,118,133,222,100, 43,138,106,113,241,203,182, 29, 72, 78, 74,
- 27,159,247,240,232,221,183,225,104,181, 57,137, 10,145,119,208,135, 15,110,158, 79, 28, 56,242, 67,248, 5, 84,110, 88,152,122,
-207,225,110, 11,142,236,179, 57,104,180, 4, 82,215, 57,159,126,245,221,244,238,189,135,224,198,213,243,184, 23, 29,143, 22, 45,
-154,225,157, 1,195,161, 86,229,215,217,191, 99, 77, 55,171, 78,125,134, 39,178, 78,111,222,186, 51,195,218,108,136,123, 28, 21,
- 95,146,150, 62, 51,230,222,245,204, 24,231, 23,154,167, 60,235, 52,148,187,184,223, 51,154,109, 72, 79, 79,195,181, 63, 46, 53,
-214,103,198,220,171,200,249, 18, 9,184, 8,191,155, 3,179,133,133,217,202,162,125,135,110, 38, 1,199,216,110,241,234,109, 45,
- 51, 51, 50, 57, 50,103, 79,214, 61,160,174,192, 79,100, 54,222, 79, 80, 10,204, 22, 22, 53,252,101,101,106,122,249, 7, 45,153,
- 49,227,211,186, 92,129, 4,106,173,209,148,153,145,238,187,121,247, 69,205,163,199, 15, 2, 42,121,187, 56,127,183,230, 39,129,
-202,192, 32, 71,105, 68,190, 90,197,140,156, 60,211,127,235, 15, 75, 71,149,101,180, 74,232, 46, 82,253, 68,248,213, 58,110, 78,
- 2, 70, 99,176,178,121, 42,179,109,228,128, 55, 27,116, 89,100,178, 38,173, 94,181, 70,122, 55, 65,141,251, 9, 74,136, 5, 92,
- 8, 5, 28,152, 44, 44, 28,188,157, 56,190,222,190, 83, 90, 55, 13,193,153,123,185,224,114, 57,208,171, 11,116, 60,228,197, 54,
-237,216, 93,218,164,121, 75,116,234,216, 1, 79, 98, 99, 42,135, 29, 59,216,229,250,181,203, 89, 86,115,237,105, 90, 69,236,225,
- 10, 5, 22,116, 58,174, 69,232,251,190, 95, 64,213, 54,131,134,191,239, 82,165,114, 0,227,237,233, 1, 43,225, 97,210,123,131,
- 29,190,243,237,198, 28, 88,182,112, 14,140, 70, 19,188, 92,133, 32, 4,216,182,110, 62, 76, 38, 19,252, 61, 68, 80,106, 75, 95,
- 77,174, 60, 63, 82, 90, 20,170, 66,125, 79,158, 51, 99,101,237,103, 24, 38,108,246,236,217, 95, 2, 32,179,103,207,254,178,120,
-123,233,210,165,122, 0, 25,229, 52, 29,110,126,193,104, 21, 31, 92,233,119,183, 32,216,211,195,239,122,248,153,211, 46, 71,238,
-179,184,113,248, 14,122,183,240,131,128,199,129,212,197, 31,247,147,148, 56,113,104, 83,225,209, 61, 63,165, 27,141,198,239,203,
-111,107, 14,106, 42,151,202,206,252,186,115, 47,235,233,225,193,217, 24,174, 72,200, 83, 91,159, 53,105,197,222, 60,198,222, 57,
-179,217,143,128, 57, 45, 22,139,131, 76, 38,147, 91,121, 25,187, 45, 60,165,168, 19, 47,243, 54,202, 86, 48, 92,174,109,231,174,
-157,240,116, 22,194,104, 97, 49,251,139,143,245, 99,186,203, 11, 71,190, 59,188,115,167, 94,211, 47,240,101,181,206,183,110, 92,
-139, 52,106,212,168,144,203,229, 58,212,149,194,219,219,123, 62,135,195, 25, 33, 20, 10,157, 76, 38,147,218,196, 26,164, 90,131,
- 9, 6, 51,160,211, 25,192, 23,216,205, 34,159,203, 64,111, 48, 65,167, 55,149,125, 99,100, 69,253, 14,160,182,234,185,152,210,
-249, 71, 53,132,191,237, 63,250,241,144,119,135,205, 13,104, 56, 64,158,148,169,132,128, 49,163, 89, 93, 63, 92, 60,125,152,164,
- 37,199,126, 90,158,201, 2,128, 28, 69,126,160,151,151, 15,238, 38,106,144,158,167, 71, 86,145,201,202, 44, 48, 66,173, 87, 35,
-180,138, 63, 10,149,202,192,215, 62,191,192,225, 51,103,206, 12,237,213,127, 24,166,127,177,160,237,207,155, 86, 68,202,132,252,
-113,218,236,184, 75,142, 24,173,168,168,168,252, 89,179,102,213,220,178,101, 11,103,212,168, 81,250,144,144, 16,241,232,209,163,
-219,238,216,177, 67, 44,149,138,245,247,175, 30,155, 59,225,163,217,253, 55,175, 93,212,176,160,160,128,177, 90, 44,167,204, 5,
- 5,179, 53,229,152,185,167,199,190,124, 60, 47,193, 60,182, 91, 59,175, 99,238, 82, 78,125, 17, 49, 13, 71,221,249,123,241,104,
-190, 57,225,244,122,181,100,232,202,143, 50, 10,217,175, 12, 28,239,197,229,153, 44, 0,224,112, 25,152,172, 54, 56, 73,248,224,
-112, 56,197, 38,222,239,151,189,167,164, 94, 46, 66,240,185, 28,240,184, 12, 84, 58, 11,114, 85,102,124,248,190,163, 51,132, 16,
-214,106, 35,208,155,172,208, 21,213, 14,213,170, 92,204,249,226, 51,188,211,119, 32, 38, 76,249, 12, 5,122,224, 78,162, 26,102,
-139,165,220,155,130,195,112,160, 51, 90, 49,174,123, 21,228,107,204,208,234,173, 48, 89, 89, 72,133, 60,240,121, 28,200,196, 60,
- 56, 75,249, 0, 33,130,226,194,132,207,231, 27, 44, 22,203,206, 50,106,244,168, 22,232, 3,189,133,131,230,195, 86,160,107,171,
-218,136,254,253, 32,239,242,141, 7,213, 63,249,226, 43,124, 60,177, 47, 14, 60,174, 9,119,239, 42,144,203, 36,176, 16, 14, 0,
-226, 96,135,189,249, 44,199, 60,112,196,143, 91,182,197,124,251,205,108,113,161,150,129, 72,192,197,133,243,231,112,253,230,157,
-181,185, 15,143,238,196, 91,132, 79, 56, 62,206,206,206, 16, 11,185, 48,153,141, 38,199,187, 46, 16, 16,160,177,204,187,246,143,
- 69, 53,254,198, 54, 22, 37,236, 43,223,104,241,196,206,179,167,125,241,237,146,238,189,135, 32, 60,236, 0,246, 31,216,107,107,
-213,115, 60,119,215, 47,155,208,182,107, 63,180,237, 62, 12,167, 14,239,248, 76,203, 50,245, 38, 77,159,187,176,125,231, 94, 8,
- 63,113, 0,217, 89,105, 43, 29, 77, 47,151,207, 76,239,220,173, 47, 12, 38, 27,218,117,233,131,211,199, 15,127,132,162, 65, 22,
-142, 63,196, 94, 42,159,193,177,126,246,233,116,126, 78,161,137,175, 80,153,144,166,208, 33, 41, 91,135,163,123,126, 38,142,151,
- 23,166,102,237, 67, 43,241, 39, 45,191,240, 52,176,146,159,145,111,212, 75, 98,227, 19,234, 76,120,127, 12,191,122, 80, 29, 78,
-142,210, 8,133,210,136, 92,165, 17, 26,131, 21, 65,149,106,113, 44, 86,166, 85, 69,243,217,211, 69,200,223,112, 60, 17,206, 50,
- 62, 90,215,121,253,129,182, 44,203,254,105,178, 86,219, 77, 86,100,162, 18, 34, 1, 23, 34, 1, 7, 34, 1, 23, 86, 27,113,168,
-226, 34,241,174,221,235,195,105, 31,248,155,172, 64,158,210, 4, 30,151,129,183,167,155,172, 89,195, 17,216,182,226, 35, 0,192,
-196, 89, 27, 49, 97,220,104,212,173, 31,130,194,130, 2,223, 17, 67,122,173, 6,112,216,209,180,158, 12,191, 84, 57,252,202,221,
- 89, 31,206,152, 39,127,183,111, 39,238,189, 4, 37, 50,243,141,136,143, 85, 87, 40,242, 6, 0, 86, 27, 11, 2,130,237,123,195,
- 32, 17,242,160, 80,154, 65, 8,193,162,245,251,224, 36,225, 35,179,192,222,220, 95, 22,101,250,145, 50, 34, 82, 21,136, 54,246,
-129,189, 47,151,151,163, 17,173,165, 75,151, 70, 47, 93,186,180,196, 8,217,115, 38,235,245, 22,149, 22, 8,100,117,156, 61, 60,
-111,132,159, 62,233,116,248,190, 13, 23,239,231, 97, 72,187, 74,208,228,167,226,251, 47,222,205,103, 64, 76, 28, 46,183,208,168,
-215, 29,210,235,181,139, 1,152,203,188,104,124,107, 55,150,137,229,231, 54,108,254,213,234,233,237,141,157, 87,243,211, 10,180,
- 86,203,159,205, 86, 22,230,206,153,205,213,173,172,165,167, 33,251,201,237,242,106,226, 44,129, 96,233,166,163, 0, 8, 88,150,
- 5, 97, 89,240,197,114,153,103,141,150,217, 69, 5,157,152,199, 97, 12,207,151, 0,132,181,166,229, 38,150, 29, 6,101, 0,184,
- 72,249,216,123, 57, 29, 0,178,185,234,136, 71, 35,223,181, 55, 23, 26, 76, 98, 85,253,154, 53, 73,179,102,205, 10, 37, 18,135,
-166,191,226,250,248,248,220,154, 59,119,110,157, 9, 19, 38,136,132, 66, 33,172, 86,171,251, 79,155, 55,179,155, 23, 79,196,160,
-143, 54, 64, 32, 20, 65,111, 48,131,207,231,161, 64,169, 65,161, 74, 7,181,206, 82,241, 43, 40, 33,193,164, 0,150, 31, 57, 44,
- 28,216, 67, 30,218, 92,200, 17,160, 73,176, 31, 46,158, 57, 66,110,156,222, 54, 81,159, 19,251,171,131, 23, 34, 52, 6, 11, 50,
-242, 12, 72,207, 51, 32,171,192,128,172,124, 35,178, 10, 12, 96, 24, 6, 6,147,245,141, 30, 92,218,156,152,253, 59,127,221,218,
-207,104,198,240,246,221, 7,226,179,121, 27,170,236,252,113,217,185, 68,194,105,227, 96, 71, 91, 91,116,116,116,242,251,239,191,
-223,112,247,238,221,220, 6, 13, 26,232, 31, 61,122, 36, 45, 50,145,102,185, 92, 42,249,249,135,165,103,154, 55,111,190, 39, 61,
-246,241,133,162,246,244,114, 11,246, 42, 29,198,138, 36,230,187,147, 42,203, 90,247,168,225, 43, 69,101,153,186, 71, 29,249,253,
-239,243, 58,127,188, 68,113, 97,109, 78,166,209,122, 86,161,231, 54, 74,215,240, 29,234,131,103, 49, 26, 82, 6, 13, 25, 14, 46,
-195,129,217,160, 75, 41,190,184,188, 93,132,152,191,235, 49,228, 98, 62,156, 36, 60,200, 37,124,180,173,231,142, 10,148,103,196,
- 98, 99,161, 51,218,160, 55, 90, 97, 48, 89,225, 25,232,134, 45, 59,247, 35, 53, 71,143,163,183,115, 17,147,162, 70,173, 74, 50,
- 16, 82,126, 49,201,218, 44,218,190,131, 71, 57,113, 57, 12,184, 28,134, 83,175, 78,109,228,107,204, 16,240, 56, 16,136, 37,144,
-137,120,112,150,240, 33, 16,240,145,147,147, 3,163,209,136,202,149, 43,139,203,182,130, 4, 78,114, 9,106, 85,247,135,217, 98,
-197,201, 43, 15,177,248,211, 65,232,214,190, 41, 24,190, 28,143,141,141,225,228,238, 4,150,195,129,217,202,194,100,182, 1,224,
- 24, 74,211, 11, 12, 12,236, 44,147,201,100, 58,157, 78,157,154,154,122, 41, 43,230,112,170,141,219,127,210,233,240, 11, 59,251,
-188,211, 13,119, 35,163,113,224,240,177,171,185, 30,202, 25,197,223,169, 95,191,126, 75, 79, 79, 79,121, 94, 94,158, 42, 42, 42,
-234,214,235,214, 11, 8,135,243, 73,171,182, 29,161, 41,204, 65,246,211, 36,135,107,209,117,171, 56,225,235,165, 27,154, 4,215,
- 14,110, 98, 35,118,227, 85,175,178, 19, 62,159,183,174, 73,205, 90,181,155, 20, 15, 8,169, 91,185,236,105,217,120, 82,167,238,
-239, 77,248,108,105,191, 33, 99,113, 33,252, 24, 86, 45,254, 98,167,204,197,171,174,187,155, 75,163, 6, 45,187,227,234,185, 99,
- 16, 59,249,194,205,195,183,237,168,113,211,186, 14, 25, 53, 25,215,175,158,195,218,101, 95,238,176, 25,213,191, 57,146, 86,153,
-119,117,175,134,141,155,143,116,114,247, 65,161, 82, 13, 39, 55,111,212, 13,109, 54,242,225,125,227, 44,109, 78,162,226,181, 77,
- 7, 33, 48,154, 9, 10, 52,102, 60, 85,232,145,156,101, 55, 90, 44, 91,129, 62, 65, 54,150,145,139,121, 60,119,203,147,202, 15,
-206, 93, 32, 85, 2,125,152,229, 11,191,224,154, 33,134,162,208,110,178, 20, 42, 19, 20, 74, 19, 52, 6, 11,220,101, 60,176, 54,
-182,194,181,238, 2,141, 25, 78, 82, 62, 92,164, 2,135,163,140, 37,177,233,151,189,193,247, 99, 51, 6,172, 90,181, 70,122, 47,
-241, 57,147,197,183, 71,179, 68, 2, 46,108, 44, 11, 56,112,199,243,121,252,233,253,123,117,197,211, 92,189,125,212, 50,135, 65,
-173,144,230,240,148,176,232, 50,108, 54, 0,160,111, 47,123,215,182,196, 76, 45,142,223, 80, 0, 47,118,236, 46,187, 44,214,235,
-185,155,119,157,248,100,255,190, 61, 46, 6, 27, 15, 63,157, 74,134,206,104,133, 88,192,133, 72,192,133, 68,192,125,161, 63,118,
-249, 70,203,222,231, 46, 53,215, 2,157,193, 0,149,222, 2, 2,224,214, 19, 13,244, 38, 43,148, 90, 11, 90,214,113,123,179, 64,
- 8,195,156, 32,132,244,126,217, 16,189,108,150,158,139, 72,149,164,113,251,121,141,226,207,151,102,228,158,239,179, 5,160, 66,
- 35,184,120, 47, 59,199,231,183, 5, 50,183,186, 46, 78, 46, 55, 78,159, 10,147, 31,190,207,226, 82,164,221,100, 89,244,185, 88,
- 57,107, 68,154,170, 48,183, 19,128, 4, 71,127, 76,234, 89, 55, 84, 44, 20, 93,248,110,205, 79,102,111,159, 0,246,208,141,194,
- 28,165,206,246,130,155,176, 25,141, 28,194, 18,129, 33,251,137, 67,109, 8, 28, 14, 99,158,247,209, 64,176,132, 96,254,154,253,
- 88, 50, 99, 24,228,146, 81, 82,134, 97,164, 90,131, 21,159, 46,216,138,149, 95,143,119,146,138,120, 96, 24,123,159,168,247,134,
- 15,116,236, 2, 52, 88, 17,127,115,183, 70,157, 24,246,232,249,230,194, 22,109,223,185,211,162, 69,139, 66, 55, 55, 55, 72, 36,
-146, 63, 35, 21,165,224,227,227,243,245,188,121,243,130,167, 76,153,242,108,178, 79, 30,143,135, 15, 63,248,128, 99,179, 17,156,
- 58,181, 13, 94, 85, 27,227,216,217, 27,232,217,185, 25, 52, 58, 3,242, 11,213, 96,193,125,237, 11, 81, 93,152,123, 33, 43,249,
- 65,243, 54,157,250,226,210,153, 35,228,198,169,159, 39, 86,100,142, 30, 55,119,183,167, 17, 15,226,235, 50,140,187, 61,162, 85,
-100,178, 76, 22, 22, 85,124,164,120,154, 28, 15, 87, 23,151,167,142,234, 73,188,130,251, 51, 28, 50,133, 1,217,166,205,142,219,
- 15,128,104, 51, 31,141,216,255,219,230,200,232,168,123,139,251,140,156,206,235, 62,228, 3,238,143, 75,167,125, 9,192,209,137,
-247,204, 49, 49, 49, 15,199,143, 31,223,250,250,245,235, 54, 0, 58,134, 97, 44, 92, 46, 87,106, 50,153, 4,157, 58,117, 82, 62,
-126,252,248, 50, 74,238,180,248, 2,109,223,223,239,201,136,212,239, 8, 89,243,136, 42, 78,234,110,157,218,181, 66,171,250,129,
-120,218,174, 21, 0, 76, 79,209,200,131, 13, 53,183,238,181, 88, 37, 39,127,252,229,248,146,137,195,186,126,186,147, 55,127, 85,
-102,216,252, 50, 59,162, 62,125,116,185, 71, 73, 54,158,199,229,192, 73,194,135, 92,194,131,147,132, 15, 39, 49, 31, 22, 43,169,
- 72,205,145, 88,172,172, 61,162,101,178, 66,163,183,226,194,189,108,100, 41, 77, 40, 84,155,161, 55,219, 64, 64,236,181, 81, 7,
- 74,115,197,147,107,174,197, 79, 82,215,202,141,149,155,215,175,112, 62,248,123,218,179, 17,125, 46, 82, 33,156,164,246,209,216,
- 87,174, 92,129,135, 71,249,181,125,150,101,113,224,244, 45,172,218,126, 1,167,183,205,132, 88,192, 69,104,255, 5, 24, 59,160,
- 5, 88,194, 34, 62, 38, 58,187, 86,189,134, 62, 28,142, 4, 28,134,129,209,194, 2, 32,165,158, 79,147,201,228,145,154,154,170,
- 10, 10, 10,242,245,247,247, 31,194,229,114, 9,212,247,140, 71,246,228,235,206,135,253, 38,213,234,141, 54,169, 85,185, 45, 40,
- 83,223, 27, 65, 65, 96, 24,134, 56, 59, 59, 11, 46, 92,184,160, 9, 9, 9,241,122,205, 91,137, 35,241,174,189,118,194,212, 79,
-134,212,172, 81, 3,251,127,219, 6, 66,152,131,142,126,121,215,241,235, 88, 56,231,197, 17,134,159,207, 91,215,100,229,130,233,
- 47,236,155, 58,103, 85,153,163, 14, 37, 34,249,140, 65, 35, 38,225,206,173, 63,240,253,130,207,247, 24, 53,249, 99, 45, 86,203,
-208,252,204,196, 61,213,235,181, 0, 49,171, 17,190,111, 5,134,141,158, 40,234,222,103, 8,174, 95, 61,135, 37, 95, 78,221,165,
- 43,204,121, 31, 14,118,114,102, 9,127, 74,167, 30, 3,248,122,163, 25,235,150,127,131,201, 51, 22,163,101,231,190,252,168,123,
- 55,166, 0,248,214,225,238, 16,102, 27, 58,133,120,218,205,179,133,197,177, 68, 46,175,164, 43,144,199,101, 56,141,106,184, 66,
-111,178, 66, 85, 78,165,146, 39,224,103, 21, 42, 85, 85,127, 88,242, 9, 87,107,176, 66,161, 52, 33, 71,105, 68,110,225,159, 6,
- 43, 87,105,132, 66,105, 2,159,199, 32, 54, 33, 5, 28, 62,175,194,253,243, 10, 52, 22, 52,175,237,102,191, 71, 95,179,117,196,
-194,115,110,113,250,242,253, 65,171, 86,173, 22,223, 79, 82, 35, 50, 81, 85, 20,201,226, 66,196,231, 64, 88,244,183,141,181,247,
-141, 44, 11,103,175, 26,213,199,188, 55,170,139,179, 92,130,140,184, 28,240,184,246, 41, 98, 92,188, 3,225, 34, 50, 96,218,212,
- 73,240,244,112, 69,106,174, 17,107, 15,199, 34,242,225, 19,176,250,138, 29,246,186,159,246,244,156,240,225,231,174, 28,190, 16,
- 59,206, 36,217,211,201,181,225,241,141,227,134,140,248, 7, 90,141, 42,143,128,216, 28,236,131,204, 16,171,205,126,185, 45,153,
- 63, 27,123,182,111,196,153,136,156,103, 87,224,239, 7, 87,226,147, 57,139,144,171, 50,161,164,235,178, 44, 63, 2, 64,241, 92,
- 36,234,149,237,231,204, 81, 73,219, 76,209,182,169, 20, 13,211, 75,230,202,244,210,126,211, 75,122, 37,205,253,183,185,220,166,
-195, 87, 76,145,171, 87, 3,169, 88,246,199,169, 83,199,101, 71, 34,201, 51,147,101,214,229,146,197,211,251,166,169, 10, 21,221,
- 43,100,178,188,106, 53, 16, 73, 69,151,231, 46, 90,107,244, 9,168,106, 61,121, 79,149,167, 54,216,172,175,246, 65,144,217,100,
- 46, 94, 6,158, 80,180,138,175, 55,125,147,155,251, 72, 91, 94,228,137, 37, 4, 97, 55,179, 64,136,189,138,180,239, 74, 58,138,
-106,230,176,177,246,102,149,179,247,114,192, 43,234,135,226,104,248,123,211, 79, 27, 85,189, 67,148,218,145, 75,230, 63,107, 46,
-108,217,208, 30,201,114,118,118,134,171,171, 43,228,114, 57,202,107, 58,100, 24,230,189, 9, 19, 38,188, 82,251,207,201,201, 65,
-215, 46,157,176,126,227, 22, 52,236, 50, 6,103,175,157,129,217,194, 34,180, 94, 13, 84,245,119,195,211,108,245,107,221,232, 50,
-159,224, 15,155,119, 26,240,101,219,206,125,113,225,244, 33,114,227,244, 47,147, 42, 58, 17, 98,239,174,173,143, 47, 92, 56,191,
-250,220,197, 63,136,156,196, 60, 60,210,152,192, 97, 24, 84,241,145,194, 67,198,193,165, 35, 59, 12,195,250,182,118,120,114,188,
-192,192,128,157, 43,215,111,150,173, 92,182,160,211,157, 8,230,130, 38, 35, 54, 31, 0,116,217, 49,203, 31, 3, 15, 43,253, 17,
-126,178, 97,135,129,240,241,175,209, 45, 49,251,177,195,102, 3,128, 46, 33, 33, 33,113,238,220,185,193,203,150, 45, 35, 92, 46,
-151, 5, 32, 90,179,102,141, 46, 46, 46,238, 30,236, 67,115, 81,222,195,166, 75,183,250,159,202,133,182,150,238, 82, 78,253, 26,
-190, 82,180,170,111,111, 21, 29,214,187, 45, 2, 43, 87, 70, 66,150,174, 81,190,142,229,107, 76,220, 26, 27,126,138,188, 93,205,
-147, 59,209,170, 55, 61, 4,112,180,162,249,195,224,207, 14,242,197,209, 44, 39, 9, 31,172,253, 90,169,144,209, 50,154,109,208,
- 27,109,208,155,172,208,154,108,208,153,108, 96,137,253,158, 96, 24, 6,102, 43, 11,135,170,205, 47, 93,251,206,238,158,168, 81,
-141,129,179,212,158, 54,231,162,233, 30, 24, 0, 30, 30, 30,240,246,246,118, 40, 42,106, 50,219,111,113,147,133,125,214,172,111,
- 50, 91, 65, 8, 65,108,108,204,204,228,196,196,254, 65,181,130,218,215, 11,109,232, 46, 21,113, 0,160, 84,163,165,211,233,108,
- 78, 78, 78,222,238,238,238,156,244,244,244,103,230, 57,168, 81, 39,235,225, 67, 7, 49,104,208, 64,205,163, 91,247,159, 13,113,
-215,235,245, 76,155, 54,109,156, 3, 3, 3, 57, 70,163, 81, 85,209,108,146,121,213, 30,224,230,225,190,248,189,247, 39,215,238,
-212,181, 39, 46,158, 15,199,209, 67,187,127,213, 41, 98,195, 29, 21, 9, 14,174,243,202,168,195,154,181,106,191, 50,234,176,106,
-245, 90,101, 26,173,122,161,205, 90, 16,134,135, 51, 97,251,136,129, 99,158, 10,128,181, 25,212,251,246,110,250,250,219, 17, 83,
-230,212,236,213,111, 4,222, 27, 61, 22, 60, 30, 23,151,206, 30,199,202, 5,159,157,208, 40,115,198, 56,210, 77,192, 30,122,171,
- 43, 8,144, 4,126, 92,185,102, 3, 68,220,184,138,248,216,168,232,251,183,175,215, 15, 10,105, 9, 47,255, 42, 31,167,120,114,
-151,225,209, 35,115,121, 50, 38,131, 33,101,236,152,209,120,126,212, 97,171,198,193, 30,204,203, 55, 0, 0,157, 58,199,252,243,
-138, 79,227,138, 71, 29,178,102, 83, 74,105,186,202, 2,197,129, 75,215,110,206,232,223,187, 39, 39, 87,101,178, 71,176,148,166,
-162,151, 17,185,197,127,171,140,168,229, 47, 71, 76,116, 4,107, 80,230, 30,172,224,125,105, 24, 59,180,199,195,226,107,151,101,
- 9, 24,192, 80,225,102, 41,190,243,164,229,223,175, 18,223, 79,212, 32, 50, 73,101,111, 42,228,115,237, 6,139,207,121,102,186,
-236,163,217,203,137, 14, 49,220, 37,227,198, 12, 71,174,202, 12,150, 5,120, 92, 78,209, 75,128, 84, 53,131,167,106, 29,114, 11,
- 20, 72, 76, 78, 65, 97, 86, 60, 56, 28, 14, 60,253,107, 59, 60,147,180,141, 8,253,116, 38, 18, 50,164,119,123,222,161, 63, 50,
- 33, 21,241, 96, 84,103,227,212,222, 21, 10,163, 70,181, 88,175,211, 28,114,100, 62,199, 63,187, 32, 48, 10,149,198,224, 35,226,
-115,177,127,251, 15, 24, 58,118,234, 11,165,239,204,175, 22, 2, 28, 6,249, 5,106, 48, 12,163,168, 88,185,196,220, 46,107,251,
- 53, 35, 99,111,172, 81,130,217,122,181,162, 80,122,109,148,156, 10, 63,125, 92,246,123,178, 8,183, 98, 50,139, 76,150,130, 93,
-244, 81,239, 52,181, 50,191, 7,128,216,138,213, 11, 57, 61,134,141,155, 17, 93,163,118, 61,227,197, 40, 77, 82,161,214, 82,106,
- 63,135, 86, 67,230, 70,223, 57,177,190,151,210,146,240,129,204,175,158,141,181, 90,151,235, 21,177, 11, 74,105, 58, 20, 46, 88,
-187,255, 89,179,225,172,101, 59,236,127,219,108,176, 17, 22,132, 5,166,125,189, 9, 86,214, 6,214,102, 3,107, 35,176,216,136,
-180,188,228,122,251, 87, 61, 84,240,120, 95,157,145,223,190,218, 92,232,234,234, 10, 15, 15, 15,120,120,120,192,217,217,185, 92,
-163,197,231,243,229, 60,222,139,167, 58, 37, 37, 5,201,201,201,112,118,118, 6, 97, 45, 48, 89,128, 6, 45,187,227, 65,124, 20,
-206,253,126, 15,132,181, 65, 38,175,248, 42, 47, 50,159,224, 15,154,117,236,255, 67,231,126,227,113,246,208, 79,228,246,149,227,
-147,245, 57,177, 91, 29,142,208,219,108,140,197, 98, 65,239,238, 29, 83,238, 70, 63, 57,253,213,140, 41, 61, 91,247,153, 44,106,
- 21, 28, 0,131,201,134,180,228,120, 92, 58,242,139,161,118,117,191, 51, 93,218,181, 72,177, 88, 44,176,217,108,229, 62,200, 13,
- 38,115, 46,151, 47,145, 13, 31, 62,146,127,251,214,173,131, 50,175, 90,251,109, 12,231, 62, 67,216, 80,134,144, 65,161,161,117,
- 97,182,176,208,233, 84, 5, 21, 61,102,181, 90,157,184,109,219,182,234, 99,198,140,145,214,171, 87,143, 31, 31, 31,143,149, 43,
- 87,230,169,213,234, 68, 71, 53,194,175,196,172,225, 49, 5,113,197, 17,173,212,182,173, 48,188, 79, 91,236, 57,241, 59, 46, 93,
-189,142, 20,141,252,158,198,202, 59,242, 52, 37,195, 88,223, 93,117,176, 95,171,170,220,253,219, 11, 14, 70,119,156,253, 46, 33,
-162,240,220,203,243,181,142,223,220,128, 90,111,129,179,212, 62,223, 83,113,100,139,203, 48, 14, 59, 34, 6, 72,188,122, 61,162,
- 65,211, 90,245,112, 55, 81,137,156, 66, 35,244, 70, 43, 88,150,128, 5,129,135,147, 16, 98, 1, 7,169,201,137, 96,137, 57,169,
-130,143, 10, 69,135,246, 29,120, 0, 3,134, 33, 60, 62,143, 7, 2,251,252,138, 18,137, 68,227,237,237,237, 80, 68,203,108,181,
- 98, 80,207, 22,104,217, 44, 20,253, 39,219,231,204, 60,255,235,108,184,201,249,216,179,115, 43,158, 94, 89,179,179,122,171, 41,
-225, 81, 15,162, 7, 71,223,253, 99,228, 59, 77, 36,141,124,121, 25,130,210,194,164, 90,173,246, 32, 0,161, 64, 32,232,217,190,
-125,123,247,131, 7, 15, 22,122,122,122,178, 66,129, 64,209,175,111, 31,150, 47, 16,228, 23,127,246,218,181,107,252,201,147, 39,
- 59, 21, 20, 20,164,102,103,103, 95, 7, 96, 41,187, 34, 24,220, 21, 28,236, 6,195,136,229, 18,105, 74,181,106, 53,252,155,181,
-108,225, 50, 96,208, 80,136,132, 34,156, 13, 63,141,117,171,151,237,211,100, 62, 26, 87,145, 51,249,182, 70, 29,166,165, 38, 37,
-234,244,198,144, 6, 77, 59, 50, 87,195,143, 76, 55,195,115, 53, 87,100, 94,209,117,208,212,154,137, 25, 26,172, 91, 58, 19,110,
- 46, 50, 36,197, 63,214,199, 61,122,176,201, 98, 80,205,116,216,100, 1,144,230,217, 6,183, 26,221,211,205,104,182,225,202,133,
- 19, 6,214,202,246,188,126,249,100,124,165,218,205,196, 13,154,117,113,203, 61,186,117,144, 14,216, 83,158, 78,250,227, 87, 35,
-184,196, 84,152,116,254,194, 57, 23,159, 42,245,185, 12, 24,152,141, 6, 40, 18,110, 91,117,217,143, 85,170,244, 40,135, 70,225,
-230, 61,197,215,115,230,125,247, 65,179,166, 77,101, 4,226, 23, 34, 88,197, 6, 43, 87,101,130,167,147, 16,122,149, 2,113,183,
- 79, 27,116, 10,110,153,243,157, 89, 77, 90,105,110, 78,182,240,207,238, 12,177, 45,203,250,124,110, 78,182,208,106,210, 74,203,
-127,212,113,225, 44, 19,226, 65, 82,250,179,142,239, 34,190,189,111,150,144,207,125,214, 79,171,184, 44, 40,135,142, 2,177, 43,
-210,243, 12, 96, 64,192,218,172,176, 90, 76,221, 61,207,163, 0, 0, 32, 0, 73, 68, 65, 84, 80,171, 84, 72,207,200, 66,118, 86,
- 54,212,234, 66, 72,229,110,104,208,168, 57,156,100, 98,220,191,180, 15,132, 16,135,230, 53,180, 48,252,224,102, 45,219,137,162,
-146,237,125,177,196,124,130,227,187,151,229,105, 84, 57,237, 52,153,113,113, 21, 45,139,173, 54,219,185,200,135,113,245, 43,249,
- 85, 99,238,197, 43,177,115,203,122,152,138, 34,155, 22,139, 13, 81,169, 90,100,230,235,144,154,240,136,176, 54,219, 57,252, 71,
-224,149, 30, 0, 4, 47,180, 65, 93,116, 31, 53, 0, 27, 55,110, 66, 66, 98, 50,187,120,122,175, 84,141,186,240,157, 10,152,172,
-174, 40,154,107, 67,151, 29,179, 92,239,214, 44,237,216,221,124,142,222, 68,202,236,224, 35,246,170,130,118,227, 86,158,209,171,
-243,133, 54,163,142,119,124,231,184,221, 37,105,218, 29, 52, 76,139, 63, 31, 6,185,132, 7,134, 97, 80,220, 92,184, 97,225, 36,
- 72, 69,246,182,101,189,209,138, 81,159,174,194,206, 85,159,129, 0, 24, 49,244,119, 93,105,233,132,125,237,194,105,126,184, 85,
- 41, 37, 57, 39,189,107,223,207,207, 27,204, 34, 99,159,129, 99,238, 52,109,218,180, 80, 34,145, 64, 34,145,192,217,217, 25,110,
-110,110,112,117,117, 45,247,216, 45, 22,139,198,100, 50,121, 8,133, 66,176, 44,139,164,164, 36, 36, 37, 37, 65,169, 84, 66,161,
- 80, 64,171, 81, 89,111,157,223,207,107,208,170, 23,252,107,132,160, 74,173,134,224,115, 25,240,120, 28, 92, 58,182,165,180,116,
-150,108,178, 58,244,219,208,165,255, 4,156, 61,180,153,220,190,114,124,138, 62, 39,118,139,163,121, 84,212,220,115,127,208,160,
- 65, 33,147, 39, 79, 22,204,155, 49,249,204,137,240, 75,177,251,195, 54,247, 45, 40, 40, 12, 36,132,192,213,197,229,233,176,190,
-173,143,119,106,211, 44,229,252,249,243,236,238,221,187,141, 12,195, 60, 40, 75,211, 94, 72,229,252,122,254,220,133,249,237, 58,
-116,196,214,237,187, 59, 68, 63,124,212, 33, 62, 62, 14,129, 85,106,160, 90,245, 90,208, 49,110,184,112,249, 42, 52,133, 57,191,
- 58,146,206,151,162, 90, 76, 65, 65,193, 31,195,134, 13,235,254,251,239,191,115,134, 13, 27,166,203,205,205,189,246, 92, 20,139,
-148,167,121,253,199,129, 10, 0,191, 86,233, 48,118, 95,186,185,240, 99, 0,203, 42, 87,169,140, 75, 87,175,227,250,239, 55, 55,
-229, 74, 43, 47, 24, 55,234,253, 73, 85,251,113, 39,244,107, 85,149,235,237, 38,197,111,155, 87,114,143, 93, 79, 94,149,156,103,
-219,186,236,242,252,133,142,228,209,179, 7,135,218,140, 54,117,221, 97,177, 17,176,196, 94,224, 58,137,249,165, 21,188,175,104,
-242, 76,162,113, 83, 38, 79,142,111, 16,218,232,147, 81,239, 79, 17, 52,170, 17,136, 91, 79, 10, 1,134,129,187,175, 12,153,153,
-153,184,114, 96,179,181, 32,253,241, 38, 46,151,253,182, 2,231, 19, 5, 41,247,130,158,219,156,148,155,155,139, 75,151, 46,161,
-216, 96,121,121,121,149,102,180, 94,208,204,203,206,184,182,240,251,159,218, 76,124,111, 32,250,116,172,143,203,183,227, 97, 42,
-154,175,169,120, 40,121,226,245, 31,133, 31, 15,171, 97,250, 96, 80,109,149,222, 34, 76,254, 58, 73,121, 5,246, 53, 88,217, 82,
-210,105,202,207,207, 63, 22, 19, 19,211,182, 97,195,134, 85, 79,158, 60,153, 31,125,243,204,244,231, 19,241,249,231,159,203, 55,
-110,220, 40, 37,132, 92, 51,153, 76, 9, 14, 29, 59, 7,191, 69,220,185,227, 97,182,176,184,122,243,126,221, 46,109, 26,129, 37,
-192,237,219,183,177,245,231,173,134, 7,145,247, 86,104,179,125,191, 45,195,188,148,120, 62,109,111, 54,234,240,153,102,102,122,
-242,138,179, 39, 14,236,108,214,161, 47, 70, 78,251,246,219, 75, 39,118,207,111,210,174, 15,167,110,179,238,136,184,126, 1,231,
- 78,158,254,206,172,201,159,143,242,251,142,148,152, 78,145, 68,250, 81,189, 38, 29,144,154,146,140,164,184,168, 95, 13,249, 79,
- 50, 82,226,185,191,102,164,165, 76,169, 94,191, 13,126, 63,179,103,122, 25, 70,171,204,107, 62,208, 75,178,249,100,216,177,225,
-105,105, 63,250,106,245, 6, 17, 33,196, 32, 18,242,178,228, 28,245, 94,149,195,233,124,100, 86,100, 84, 29, 52,116,212,148, 19,
-235,214,173,230,251,184, 74,145, 85, 96,128, 74,111,134, 90,103, 6,135, 97, 16,228, 47,131, 78,157,143,203, 7,190,183,152, 52,
- 5,195,128,120,115,105,154, 50,239,224, 69, 5, 79, 46, 76,251,124,234, 69, 8, 93, 2,253,171,117,158, 83,102,180, 78,157,126,
-175,239,231, 83,143, 7, 19, 66,186,200,188,131,213,218,156,152,185,165, 29, 59,195,216,239,239,145,157, 2, 97,182,218,231, 31,
-179,178,128,141,101,139,162,124, 0,121,214,158,207,148,115,236, 12,187,247,196, 53,100,100, 23, 66,111,178,192,104,178,194,108,
-177,129,195,229,194,213,205, 21,181,170, 53,134,139,171, 51,178,179, 50,112,253,252, 49,196, 70, 94,190,198, 16, 44,208, 43,226,
-206, 59,146, 71, 2,137,107,176,159,191, 47, 39, 83,101,130, 68,200,197,189,203, 39,205, 22,147,113,133,131, 38,235, 21,205,194,
-188,252, 85,159,204,248, 98,196, 47,219,182,251,134, 84,119, 70, 90,174, 30,105, 10, 3,212, 6, 75,145, 17, 99, 97,212,228, 34,
-242,194,246, 44,155, 65,189, 10,255, 17, 74, 53, 90, 86,179, 65,125,240,244, 45,143,217,243,191,231, 62,137, 79,176, 44,250,184,
-119,154, 94,163,234, 85,225, 72,214,115,252,242, 97,245, 61,127,197, 65,188,210, 92, 72, 88,176,132,224,248,205,172,103,205,133,
-108, 81,207,203,187,241,101, 47, 35,248,252,218,133, 29,123, 77, 63, 27, 25,163,222,165,215,103,187, 60,126,178,162, 0, 0,184,
- 92,238,179, 87,113,223, 44,131,193, 96, 42,167, 9,101,199,150, 45, 91,102, 77,153, 50, 69,244,244,233, 83,196,199,199,163,176,
-176, 16, 98,177, 24,167, 79,159,182,128,181,174,136,252,253,112, 82, 76, 68,248, 55,193, 77,187, 87, 10,105,213, 11, 82,169, 12,
- 60,226,120,103, 76,169,119,237,225, 77, 59,244,251,161,203,128,137, 56,119,120, 11,185,125,249,216, 84,189, 34,118,115, 69,207,
-101, 97, 97, 97, 52,128,184, 21, 43, 86, 52,218,186,117,107,245, 25, 51,102, 36,236,248, 97,254, 58, 0,200,203,203, 3, 0,220,
-189,123,151, 76,157, 58,213,104, 48, 24, 18, 11, 10, 10, 34, 80,206, 0, 8, 0,208, 43,164, 75,182,110, 88,214,224,105,122,230,
-192, 26, 13,154,195,171,122,115,248, 6,181, 64,129,218,140, 91, 79, 50,144,240,232, 60, 30, 93, 61,112, 82, 39,183,206, 71, 5,
-231, 55,110,216,176, 97, 32,135,195,169,166,209,104,124,235,213,171,215, 80, 38,147,221,109,216,176, 97, 99, 30,143,151,118,231,
-206,157,228,138,104,165, 92,222,110,172,210, 97,236,218, 20,181, 83,167,132, 44, 93,227, 20,181,211, 93,157,200,229, 51,197,133,
-181,198, 95,184, 1,171,136, 57, 55,122,255,118,213,193,223, 54,175,228,142,154,244,185, 45, 74,233,246, 49, 79, 34, 60, 91,177,
-112, 53, 39,243,131, 49,253,255,156,222,161, 40,146, 85,244,183, 67, 97,122,165, 50, 82, 9, 96, 86,228, 67,254, 15, 81, 31, 79,
- 94, 24,218,172,205,232,246,239, 12,227, 88, 5,114,156, 57,252, 35, 73,140,188,176,159, 71,108, 95,233, 29, 88, 13,160,220,230,
- 32,147,201, 17,147,245,106, 26,159,202, 58,238,223,253,243,216,131,135, 15, 45, 29,208,175,191,199,134,175,223,197,247, 63, 29,
-129, 76, 34, 2, 97, 89,188,219, 41,112,200, 55, 19,234,244, 13,244, 17, 7, 28,188,152,118,101,218,234,168, 89, 58,157, 57,214,
-129, 72, 12,201,205,205,189, 42,151,203, 21,109,219,182,109, 41, 18,137,152,220,220, 92,158,183,183,183,213,197,197,197,148,150,
-150,166, 51, 26,141, 7, 1, 84,104,218,113,179,133, 69, 82,182, 1, 71, 15, 29,196,253,155,231,241,232, 81,140,250,209,195, 71,
-235, 25, 30, 89,173,205,142,203, 7, 42, 92,193, 7, 91,226,168, 67, 82,225, 81,135, 54,163,250,183, 29,155, 22,117,214, 25,140,
- 99, 27,182,238,141,170,117,219,112,204, 22, 27, 30,220,190,136,139, 7, 86,127,111,214,228,207,126,147, 60,246,175, 84,189, 22,
-225, 10,241,199,165, 19, 32, 44,187, 9, 0, 8,203,110,186,251,251,201, 41, 45,122, 77,128,187,119,213,134,133,169,119, 25,188,
-198,236,225, 2, 30, 71,123,234,224, 47,135,147,146,146,240,248,241, 99, 60,121,242, 4,249,249,249,248,237,183,164, 10,229,143,
-174, 32,249,108,236, 67, 78,143,193,239,142, 60, 62,100,248,123,226,234,181, 66, 56,193,149,220,224, 33,231, 33,230, 73, 50, 98,
-239, 68,178, 49,183, 78, 26,204,170,156, 1,250,130,228, 82,141,159,212,179,174, 15, 96,155, 93,188,118, 97,171, 86,109,130,191,
- 88,188,180,165,135,151,119,137,229,120,158, 34, 71, 56,115,218,177,224,235, 55,254,112,104,173, 67,214,102,203,155, 52,118, 24,
-203,181, 47, 20,138,103,113,234,162,179,103,175, 76,217,247, 19,214, 90,110, 4,255,253,129,237, 96,101, 89,104,245,102,168,180,
- 70, 40,213, 6,100,230,228,225,126,100, 36, 46, 31, 63,134,248,152,251,137, 22,147, 41,156,195, 97, 14,232,179, 99, 47, 87,172,
-165,137, 87,221,195,221, 29,137,249, 26,136,133, 60, 36,199,222, 49,106, 85,202, 93,175,123, 29,233,243,226, 50,115,184, 76,247,
- 97,195,134,159,238,220,163,159, 75,179,214, 93,165,158,206,174, 16,240, 8,226,146, 50, 16,113,237,180, 54,225,254, 21,149,197,
-164,233,249, 54, 86,125,249, 31,167,252, 81,135,102,163,182,239,136,254, 29, 14,113,185, 60, 33,203, 90,141,102,147,113,240,155,
-152,172,191, 10, 66,108,105, 99, 71, 12,124,161,110, 96,101,137,100,196,208, 51,250,231,235, 10, 22, 27,145,142, 24,122, 77,103,
- 47, 64, 74,239,216,231,231,231,222,187,120,237,194,148,148,188,219,249,249,198,139, 0,210, 12, 6,195,107,167, 49, 59, 59,123,
-225,226,197,139,251,232,116,186, 58, 29, 59,118, 20, 57, 59, 59, 35, 47, 47, 15,225,225,225,150,176,176,176,135, 57, 57, 57,223,
- 0, 57, 86, 61, 26,255, 26,105, 56, 60, 38,230, 78,248, 55,117,154,246,168, 20,210,186,151,227,133,153, 72, 50,177,115,191,241,
-204,185, 35, 91,200,173, 75, 71, 62,208, 43,226,126,122,131,211,106, 54, 24, 12, 55, 13, 6, 67,212, 87, 95,125,213,204,199,199,
-199,231,155,111,190, 17,171, 84, 42,254,134, 13, 27, 12,185,185,185, 89, 42,149,234, 58,202,232, 79,243, 42,119, 45,202,116, 12,
- 58,117,112, 75, 39,114,112, 75, 55, 87,207,128,238, 46, 94,149,106, 22, 42,210, 19,149,138,140,112, 0,231,138, 38,138,172, 16,
-141, 26, 53,170,193, 48,204, 48, 0, 13,100, 50, 89,144, 92, 46, 23, 17, 66,234, 48, 12, 19,205,178,108,100,189,122,245,194, 30,
- 62,124, 88,161,201,100, 83, 46,111, 55, 6, 6,183,217,157,175, 99, 5, 38,142, 96,119,202,229,237, 70, 0,200, 57,251,133, 14,
-192,209,135, 29,103, 13, 58,118, 61,121, 93,116,129,203,116,197,165,165,199, 42,154,102,101,218,253,160,183,117,253, 27, 50, 31,
-166, 1, 24, 27,121, 7, 43, 31,220,189, 62,143, 33,224,219, 96, 93,164,207,121,114,231,109,232,243,249,124, 67, 64, 64, 64,137,
-163, 11, 69, 34,145,193,104, 44, 43,128,114,217,170,201,196, 86,160,195,246, 67,251,182,143, 61,114,236,232,210,246, 93, 6,120,
-136, 43, 85, 66, 53,111, 6,219,103, 55,153,126,254,174,226, 86,191, 47,174,108, 76,200, 48, 68,162,130,253, 97, 52, 26, 77, 44,
-128, 2,141, 70,211,159, 16,242,148, 97,152,192,130,130,130,123, 22,139,229, 65,133, 13, 1,139,145,173, 90, 53,255,141, 97, 24,
- 30,177,178,203,175,243,185,187, 13,153,143,210,240,134,203,146,132, 84,115,198,167,223,172,109, 82, 51,168,118,147,226,181, 14,
-235, 87,117,194,228, 89, 43,155, 84,173, 94,171,201,159,235, 31,150,219, 77,128, 88,116, 5,227, 14,253,188,252,202,221, 27, 23,
-191,244,244,171, 90, 53, 43, 45,225,209,211, 39,247, 22,218, 12,170, 67,111,154,207, 73, 79,162, 87,111, 93, 49,107, 70,102,122,
-226, 86,157, 34, 46, 10, 0,116,138,184,168, 71, 17,248, 58, 55, 43,109, 70, 94, 78,194,138,215, 61, 23, 90,173, 54, 99,215,174,
- 93,174,109,218,180,225,248,248,248, 64,161, 80,224,226,197,139, 44,203,178,233, 21,214,202, 79,188,168,205,103,220,127,253,233,
-135,229, 2,153, 83, 47,171,213,234, 79, 8,192,227,241, 50, 77, 58,213,105, 53, 71,246, 5, 10,146, 13,101, 63, 51, 88, 6, 0,
-167,120,237, 66,150,101,153,229,235,182, 39,243,197, 78, 37, 78,134,104, 49,168,165, 44,203, 58,188,214, 97, 97,106, 68,205,183,
-117,127, 51,132, 44,104,216,180,229,151, 22,139,217, 80,116,127, 24, 0, 24, 8, 65, 30,135,195, 92,230,178,150, 51,170, 55,168,
- 76, 49, 12,156, 9,195,131,147,132, 7, 6, 12, 52,202,124, 82,145, 62, 89, 37, 26,226,156,216,104, 93, 78,135, 42,167, 76,251,
-198, 92, 56,123,114,168,205,102,171, 86, 20, 51, 72, 50,234,181,251, 53,153,110,191, 2,119,172,248,247,115,162,216,108, 49,127,
-241, 15, 57,212,140,242,191,164, 25, 92, 93,210,191, 82,128,207,152,164,228,156, 91, 9, 79,117,191,226,197,101,117,222, 36,157,
- 92, 31, 31,159,175, 25,134, 25, 45, 20, 10,229, 38,147, 73, 75, 8,217,145,157,157,189, 16,175, 44,254,219,152, 47,241,214,143,
- 17,138,165,115,205, 6,237, 31,186,156,216,145,229, 29,187,212,171,118,119,177, 76, 54,203,160,215,238,208,101,199,110,127,203,
-231,211, 69, 36, 18, 53,150,203,229,252,220,220,220,155, 0,148,255, 75,249,222,176, 97,195,202, 28, 14,167, 26,203,178, 62, 0,
- 92, 96, 31, 21,146,203,227,241,210,139, 34, 90,164,162,154,109,223,223,239,217,165, 91,253, 79,195,175,196,172, 41,106, 86,124,
- 70,192,144, 85,226,209,189, 58,125,254,235,161,163, 37,141, 58,252,199, 93,243,255,127,154, 29,120,114,191,220,177, 28,161,203,
-162, 46,193, 6, 93,110, 70,250,212,171, 15, 20, 55, 1,168,223, 36,157, 2,129, 96,148,217,108,150, 8, 4, 2,189,217,108,222,
-245,191,114,236, 18,239,224,241, 28, 16,135, 87,166, 96,193,220,121,105,208,202,191,229, 90,226,134,132,132,180, 19, 8, 4,149,
-109, 54,155,212,100, 50,233,244,122,125, 82,114,114,242, 31, 40,125,225,243,191, 52,157, 50,239, 90,171, 5, 2,209,199, 0, 96,
- 54, 27,215,106,115,226, 62, 45,235,139,101,124,254, 31,157, 71,158,213,154,198,241,184,124, 47, 20, 77,204,205, 90,173,138,236,
-196,219,181,254,198,116, 82, 94, 51,115,169, 38,213,164,154, 84,243,101, 56,244,124, 82,205,191, 83, 83,236, 87, 55, 80,236, 87,
-215,225, 73,151, 75,249, 60, 61,159,148, 98, 38,149,240, 2,224,192,132,165, 20, 10,133,242, 23,192,210, 83, 64,249, 59, 49,100,
- 62,122,250, 87,126,158,242,159,163,212, 62,209, 76, 25,174,180, 34, 33,193,215,113,182,231,168, 38,213,164,154, 84,147,106, 82,
- 77,170,249,159,211, 44, 79,251,159,216, 36, 57,233,165,237, 19, 0,254, 95, 58,252,211,176, 42,213,164,154, 84,147,106, 82, 77,
-170, 73, 53,255,107, 60, 51, 94, 28,122, 46, 40, 20, 10,133, 66,161, 80,254, 26,104, 31, 45, 10,133, 66,161, 80, 40,148, 55,163,
-164,166, 67,106,180, 40, 20, 10,133, 66,161, 80,222, 2,165,118,134,167, 77,135, 20, 10,133, 66,161, 80, 40,111, 70,113, 68,203,
- 15, 47, 77,239, 64,141, 22,133, 66,161, 80, 40, 20,202,219, 33, 19, 37, 69,183,194,194,194, 72, 73,127, 83, 40, 20, 10,133, 66,
-161,252,127,240, 15,247, 34,207, 71,178, 38, 21,109, 3,120, 46,162, 69, 13, 22,133, 66,161, 80, 40,148,255, 21,179,245, 15,163,
- 56,146, 85,252,202,124,197,104,245,233,211,135,161,102,139, 66,161, 80, 40, 20,202,223,197,191,209,139,112, 94, 62, 64,154,205,
- 20, 10,133, 66,161, 80,254, 78,179,245,111, 58, 30, 58,189, 3,133, 66,161, 80, 40, 20,202,155,225, 7,160,247,115,219,255,111,
- 75,240, 80, 40, 20, 10,133, 66,161,252,219,153, 84,218, 54,141,104, 81, 40, 20, 10,133, 66,161,188,125,179, 69,161, 80, 40, 20,
- 10,133, 66,249, 39, 67, 87, 54,167,154, 84,147,106, 82, 77,170, 73, 53,169,230,191,157,226,121,180,128,210,230,209,162, 80, 40,
- 20, 10,133, 66,161,188, 22,189, 97,159, 63,107, 82,209,123,111,106,180, 40, 20, 10,133, 66,161, 80,222, 46,175, 44,191, 67,141,
- 22,133, 66,161, 80, 40, 20,202,219, 53, 88,155,169,209,162, 80, 40, 20, 10,133, 66,249,139,161, 70,139, 66,161, 80, 40, 20, 10,
-229, 47,130, 65,233, 35, 7,206, 85, 64,231,117, 70, 31,156,163,154, 84,147,106, 82, 77,170, 73, 53,169,230,127, 78,179, 60,237,
-115,248,231, 81, 60, 51,252, 9,252,217, 17,126,243,255,199, 15,211,161,175, 84,147,106, 82, 77,170, 73, 53,169, 38,213,252,183,
- 51,233,165,247,103,208,166, 67, 10,133, 66,161, 80, 40,148,183,107,182,232, 18, 60, 20, 10,133, 66,161, 80, 40,111,137, 82,155,
- 9,105, 68,139, 66,161, 80, 40, 20, 10,229,205, 40,117, 81,105,106,180, 40, 20, 10,133, 66,161, 80,254, 26,195, 69,141, 22,133,
- 66,161, 80, 40, 20,202, 91, 52, 89,147, 74,252,111, 88, 88, 24,161,231,136, 66,161, 80, 40, 20,202,223,197,191,214,139, 20, 31,
- 24, 53, 91, 20, 10,133, 66,161, 80,168, 23,169, 48,126,248,115,180,225,164,162,109, 0,116,212, 33,133, 66,161, 80, 40, 20,202,
-155,210, 27, 47,142, 60,156, 84,188, 77,141, 22,133, 66,161, 80, 40, 20,202,155, 51,169,204,255,210,102, 67, 10,133, 66,161, 80,
- 40,127, 39,255, 70, 47,194,208,108,165, 80, 40, 20, 10,133, 66,121, 35, 74,138,102,109,166,167,133, 66,161, 80, 40, 20, 10,229,
-175, 53, 92, 20, 10,133, 66,161, 80, 40,148,191,194,100,253,213, 19,150,210,149,205,169, 38,213,164,154, 84,147,106, 82, 77,170,
-249, 95, 49, 89,207, 79,241, 0,128,142, 58,164, 80, 40, 20, 10,133, 66,121, 83,232,162,210, 20, 10,133, 66,161, 80, 40,127, 17,
-116, 81,105, 10,133, 66,161, 80, 40,148,255,103,195, 69,141, 22,133, 66,161, 80, 40, 20,202, 91, 52, 89, 47,152, 45,218, 71,139,
- 66,161, 80, 40, 20, 10,229,205, 40,181,143, 22,131,210, 71, 14,156,171,192, 15,188,206,232,131,115, 84,147,106, 82, 77,170, 73,
- 53,169, 38,213,252,207,105,150,167,125, 14,255,124, 38,225,255,105,194, 82, 58,244,149,106, 82, 77,170, 73, 53,169, 38,213,164,
-154,255, 53,232,244, 14, 20, 10,133, 66,161, 80, 40,111,219, 88,189, 12, 53, 90, 20, 10,133, 66,161, 80, 40,111, 6,157, 71,139,
- 66,161, 80, 40, 20, 10,229, 47,194, 15,246,168, 86,241,123, 99,106,180, 40, 20, 10,133, 66,161, 80,222, 14,189, 97,143,106, 21,
-191, 83,163, 69,161, 80, 40, 20, 10,133,242, 22, 41,113, 30, 45, 6, 0,194,194,194, 72,209,118,199, 62,125,250, 92,166,231,138,
- 66,161, 80, 40, 20,202,255, 39,255, 86, 47,242, 44,162,213,167, 79, 31, 6,192, 37,154,213, 20, 10,133, 66,161, 80,254, 14,254,
-141, 94,132,243,146,147,236, 72,179,153, 66,161, 80, 40, 20,202,223,193,191,209,139,240, 94,114,145, 20, 10,133, 66,161, 80, 40,
-127, 11,255, 96, 47,226, 7,123, 71,248, 19, 69,239, 64,209,148, 15,116, 30, 45, 10,133, 66,161, 80, 40,148, 55,163,120,180,225,
- 43, 75,239,208, 40, 22,133, 66,161, 80, 40, 20,202,155, 81,210,204,240,155,233,105,161, 80, 40, 20, 10,133, 66,249, 11,161, 17,
- 45, 10,133, 66,161, 80, 40,148, 55,231,249,168,214,255, 91, 52,139,174,108, 78, 53,169, 38,213,164,154, 84,147,106, 82,205,255,
-146,201,122, 97,155,206, 12, 79,161, 80, 40, 20, 10,133,242, 23, 65, 71, 29, 82, 40, 20, 10,133, 66,161,188, 25,197, 35, 14,159,
-223,166, 70,139, 66,161, 80, 40, 20, 10,229, 45,154,173, 87,160, 77,135, 20, 10,133, 66,161, 80, 40,111,198,164,210,254, 65,141,
- 22,133, 66,161, 80, 40, 20,202, 95,100,184, 24,148, 62,114,224, 92, 5,132, 95,103,244,193, 57,170, 73, 53,169, 38,213,164,154,
- 84,147,106,254,231, 52,203,211, 62,135,127, 30,127,219,132,165,116,232, 43,213,164,154, 84,147,106, 82, 77,170, 73, 53,255,179,
-208,166, 67, 10,133, 66,161, 80, 40,148,255, 1,163,229,197,227,241,190,148, 72, 36, 27, 37, 18,201, 79, 60, 30,111, 5, 0,183,
-138,254,160, 76, 38,155,238,235,235,251,216,215,215, 55,173,114,229,202, 39,157,156,164,159,212, 16,161, 61, 0,254, 91, 58,158,
- 96, 0,159, 72, 36,146, 71, 98,177, 56, 25,192, 78, 0,159, 0,240,124, 19,225,133,254, 24, 28,245,113,255, 35, 11,253, 49,248,
-165,127,245,246,241,241,185, 10,160,251,219,202,148,225, 82,116, 29, 34, 67,234, 16, 25, 82,135, 75, 95,191,214,224,228,228, 52,
-218,207,207,239,186,135,135, 71,186,159,159,223, 53,177, 88, 60,164,130, 18,222, 62, 62, 62,223, 7, 6, 6,198,250,251,251,175,
-129,125,117,242,255, 89,218,137,208,174,165, 8,138, 86, 66,168,219, 8,177,177,149, 16,221,186, 1,210,215,148,107, 11,224,128,
-179,179,243, 61, 30,143, 23, 6, 96, 80,209,245, 53,136,199,227,133, 57, 59, 59,223, 3,112,160,232,115,175,115,157,126, 15, 32,
- 29,192,146,162,237,143, 2, 3, 3,213,161,161,161,201,161,161,161,191, 4, 5, 5,189,231,168,152, 84, 42,237, 22, 24, 24,120,
-176,114,229,202,201,173, 90,181,202, 15, 8, 8,136,169, 84,169,210,118,145, 72,212,145, 22,113, 20, 10,133,242,191, 79, 95, 0,
- 75, 1,172,143,140,140,140, 32,132, 68, 16, 66, 34, 34, 35, 35, 35, 0,108, 4,176, 12,165,135, 16, 95,216,239,225,225,177, 96,
-209,162, 69,134,204,204, 76,162, 80, 40, 72,108,108, 44, 89, 61,119, 22,219,195,157, 71,106,120,185,233,252,252,252,226,171, 84,
-170,180,167,190,156, 51, 11, 64, 77, 71, 52,159,195, 77, 34,145,220,156, 59,119,174,230,234,213,171, 26,147,201,164, 97, 89, 86,
-147,145,145,161, 57,119,238,156,166, 77,155, 54, 26, 0,159, 2,224, 86, 64,243, 25,223,250,227, 50,249,249,107,242,173, 63, 46,
- 63,191,191, 78,157, 58, 15, 89,150, 37,131, 7, 15, 54, 2, 8,168,136,230,203, 4, 0,226,250,206,112, 29, 34, 71,182,117,251,
- 66, 66, 54,204, 32, 67,100, 72,125, 29, 77,111,111,239,163,211,167, 79, 87,165,167,167, 19,163,209, 72, 82, 83, 83,201,228,201,
-147,149,222,222,222,187, 28, 60,118,143,144,144,144,236,235,215,175,179,133,133,133,228,210,165, 75,108,131, 6, 13,178, 29, 52,
- 91, 93, 95, 74,203,102,127,127,255,147, 21,121,121,123,123,111,173,104, 30,181, 16, 33,213, 28,113,145,144,219,225,228,216,224,
- 86,100,117,211, 74,100,144,187,176,176,173, 16, 31,117, 40,121, 42,147,210, 52,135,118,232,208, 65,251,224,193, 3, 91, 94, 94,
- 30,121,248,240, 33, 59,113,226, 68, 3,128,232,137, 19, 39, 26, 30, 62,124,200,230,229,229,145, 7, 15, 30,216, 58,116,232,160,
- 5, 48,161, 2,233,228, 0,216, 54,127,254,124, 66, 8, 33,139, 22, 45, 34,161,161,161,164,115,231,206, 68,163,209, 16, 66, 72,
- 50, 33,228, 23,171,213, 58,214, 17, 77, 23, 23,151,209,211,167, 79,215,232,116, 58, 82, 12,203,178,164,176,176,144,172, 95,191,
- 94,235,235,235,123,178,148, 74, 6,109,242,160,154, 84,147,106,254,175,105,254,147,241,131,189,159, 86,241,203,225,192,196,136,
- 89,179,102, 21,155,170, 83,109,219,182,189, 53,118,236,216,136,177, 99,199, 70,180,109,219,246, 18,128, 51,119,238,220,137,152,
- 57,115,102, 4,128, 17,229,100,132, 91,235,214,173, 11,179,178,178, 72,173, 90,181, 72,213,170, 85, 73, 86, 86, 22, 33,132,144,
-219, 67,155,144,243,117, 65,158, 94, 57, 69,194, 15, 31, 32, 19,253,120,164,157,159,139,197,207,215, 55,207,211,211,115, 49, 94,
- 92,147,177,164,204, 29, 88,183,110, 93,117,116,116,180, 38, 46, 46, 78,179, 96,193, 2, 77,231,206,157, 53, 33, 33, 33,154, 65,
-131, 6,105,214,173, 91,167, 49,155,205,154,173, 91,183,106,156,157,157,163, 75, 48, 91,175,109,180,120, 60,222,218,200,200, 72,
- 18, 31, 31, 79,138,162, 20,165,105,186,184,186,186,246,116,115,115,251,212,213,213,181, 39, 0, 23, 0,168, 5,200, 27,186,160,
-242, 71, 13,107,212, 9, 27,209,181,230,250,174,205,154, 12,113,226, 20, 90,126,152, 65,200,224,202,175,101,180, 92, 92, 92, 70,
-127,242,201, 39,106,163,209, 72,116, 58, 29,209,104, 52, 68,167,211, 17,181, 90, 77, 70,140, 24,161, 18,139,197, 3,203,211,244,
-244,244, 92,120,229,202, 21,107, 86, 86, 22,185,114,229, 10, 57,121,242, 36,217,176, 97, 3,235,237,237,189,170,162, 55,160,175,
-175,239,217,240,240,240,136,187,119,239, 70,220,188,121, 51,194, 98,177, 68,152,205,230, 8,179,217, 28, 17, 22, 22, 22,113,232,
-208,161,136,189,123,247, 70,152, 76,166, 8,147,201, 20, 97, 52, 26, 35,170, 87,175,126,186,162,121,212, 92,132,167,166,171,199,
- 8, 89,245, 33, 81,126, 55,149, 20,126,214,139,228, 76,110, 79, 54, 54,171, 68,218, 75,112, 28,175,174,237, 89,162, 38,159,207,
-191,156,156,156,204,206,153, 51,199, 84,175, 94, 61,229,184,113,227, 12, 70,163,145, 16, 66,136,209,104, 36,227,198,141, 51,212,
-171, 87, 79, 57,103,206, 28, 83, 82, 82, 18,203,227,241,206, 85, 32,157,203,138, 77,214,229,203,151,201,243,104, 52, 26,210,185,
-115,231,228,208,208,208, 95,170, 85,171, 54,178, 60, 77,185, 92,222,127,246,236,217, 26, 82, 2, 22,139,133,168,213,106,146,148,
-148,196, 86,173, 90, 53, 3,128, 7, 45,204,169, 38,213,164,154,212,104,253,101, 76, 42,103,187,228,147, 56,115,230,204, 8, 66,
- 72,196, 87, 95,125, 21, 81, 20,217, 18, 0,144, 23,189,120, 0,134,207,158, 61, 59,130, 16, 18, 49,107,214,172,226,207,148,150,
- 17,125,247,239,223,111, 94,179,102, 13,241,241,241, 33,190,190,190,100,237,218,181,132,101, 89,146, 21,182,139,156,175, 11,242,
-232,203, 49,132, 16, 66, 98, 23, 79, 35,231,235,130, 36,108,250,150,140, 26, 53, 74, 39,149, 74, 71,148,145,185,238, 77,154, 52,
- 81,235,245,122,205,246,237,219, 53, 82,169,244, 54,128,122,176, 55, 69, 50, 69,105,125,175, 94,189,122,170,168,168, 40,205,238,
-221,187, 53, 0, 22, 56,120,193,212, 4,208, 73, 38,147, 13,154, 29,192,143, 35, 63,127, 77,102,251,224, 1,128, 6, 0,188,138,
- 62,227, 63,107,214, 44, 66, 8, 33,129,129,129, 87, 74,209,116, 9, 9, 9,153, 21, 23, 23, 55,207, 98,177,204,187,123,247,238,
-188,218,181,107,207,233, 87,221,175,213,145, 17,221, 26, 43,191,157,218,152,172,252, 44,100,197, 59,205,187,238, 25,214,113,196,
-251,213, 60,175,142,243, 22,235,222,117,225,170, 95,106, 58,116,232,194, 14, 8, 8,184,153,154,154,250,204, 92,169,213,106,146,
-158,158, 78, 18, 19, 19,201,213,171, 87,137,159,159,223,249,242, 52,125,125,125, 31,166,166,166,146, 77,171, 87,147,193, 13,234,
-144,246,174, 78,164,131,155, 19,105, 42, 23,107,235, 2, 77, 43,106,180,238,221,187, 23, 1, 32, 2, 64, 68, 94, 94, 94, 68, 94,
- 94, 94, 68, 65, 65,193,179,125, 0, 34,148, 74,101,132, 82,169,140, 48,153, 76, 17, 53,106,212,168,176,209,106, 35, 70,155, 22,
- 98,228,183, 18, 65,223, 55,192, 51, 99,106,117, 79,219,141, 17,173, 72,193,135,157,201,154,198, 1,164,173, 16, 31, 57,168,217,
- 87, 40, 20, 94, 2, 48,163,200,148,143,233,217,179,167,142, 16, 66,122,246,236,169, 3, 48,166,104,255, 39, 69, 38,171,167,131,
-233,228, 4, 5, 5,105,139, 35, 89, 0,254, 8, 10, 10,210,134,134,134,146,208,208, 80, 18, 24, 24,168, 46,210,118,168, 64,171,
- 89,179,102,172, 94,175,127,102, 0, 11, 11, 11, 73, 70, 70, 6, 73, 72, 72, 32,209,209,209,228,246,237,219, 36, 57, 57,153,236,
-219,183,207,230,234,234,122,130, 22,230, 84,147,106, 82, 77,106,180,254, 82,163,245,242,235, 69,194,194,194,200, 75,187,190,187,
-115,231, 78,196,236,217,179, 35,202,113,102,147,190,250,234,171,226,168,215,210, 50, 30,254, 91, 99, 99, 99,201,152, 49, 99, 72,
-112,112, 48, 9, 14, 14, 38, 99,199,142, 37, 74,165,146,104,158, 68,145,243,117, 65,110,191,219,148, 16, 66,136,250,209, 93,114,
-190, 46, 72,196,168,214,228,254,253,251,164, 82,165, 74,225,101,252,254,241,107,215,174, 41,118,237,218,149, 5,123,127, 44, 62,
-128,150, 0,214, 74, 36,146,109,176, 55, 23, 86, 5,224, 86,171, 86,173,124,157, 78,167, 25, 60,120,176, 6, 64,229, 50, 52, 59,
- 4, 7, 7,199,111,221,186,149,228,228,228,144,252,252,124,178,188, 77,109, 66,126,254,154, 44,106, 90,149,221,180,105,147,113,
-198,140, 25, 90,119,119,247, 48, 0,254,131, 7, 15,182, 18, 66, 72,251,246,237,179, 75, 18,115,117,117,237, 25, 23, 23, 55,207,
- 96, 48,204, 43, 44, 44,156,151,159,159, 63,239,216,145, 35,243,122, 52,168, 61, 70,249,237,212,198, 71, 70,116,107,252, 78,128,
-219,160, 85,221,155, 77, 73,159, 51, 97,240, 87,173,235, 61, 50, 44,251,248,226,208,234, 62,223,191, 78,110,123,121,121,101, 26,
-141, 70, 2,224,149, 87,124,124, 60,241,240,240, 72, 45, 79,195,221,221,253,171, 79,134, 15,179, 13,172, 26, 64,226,215,204, 37,
-150,179,187,137,229,228,118,242,228,187,207, 72, 63, 95, 79, 85, 75, 1,103,182,163,233,241,245,245, 61,123,243,230,205, 23,140,
- 86, 65, 65, 65,137, 70, 75,165, 82, 69,152, 76,166,136,160,160,160,211,111,122,213,183, 20,162, 70, 7, 9,247,246,221, 49,237,
-136, 98,106,103,210,211,133,159,252, 6,114,195, 1, 92, 2, 48,170,130,223,227, 0, 88, 86,108,168,190,251,238, 59, 66, 8, 33,
- 65, 65, 65, 90,188,217, 96, 20,151, 58,117,234, 36, 78,152, 48,193, 90,183,110,221,156, 54,109,218, 20,222,186,117,139, 92,190,
-124,153,156, 60,121,146, 28, 56,112,128, 68, 69, 69,145,244,244,116, 18, 27, 27, 75,122,247,238, 93, 8,160, 3, 45, 11, 41, 20,
-202,255, 50, 37,120,145,127, 60,156,226, 3,235,211,167, 15,243,220, 1,186, 0, 16, 55,109,218, 84,177,108,217,178,149,176,207,
- 5,193,132,112, 49,180,179,132,119,191,179,132,119, 63,132,139,161, 69, 17,163,205,139, 23, 47, 94, 24, 26, 26,154, 9, 64, 2,
-192,183,164, 31, 34,132,180,243,240,240, 64,106,106, 42, 92, 92, 92,224,226,226,130,212,212, 84, 16, 66, 96, 37,128,133, 0, 70,
-179, 25,122,189, 30, 6,150, 64,207, 2, 42,141, 6,190,190,190, 48,155,205, 53, 74, 73,127,195,119,223,125,183, 70, 72, 72,136,
- 98,230,204,153, 25,176,247,149,217, 54,126,252,248,179,127,252,241, 71,136, 70,163,201,143,142,142, 54, 52,104,208,160, 39, 0,
-223,184,184,184,209,235,215,175,199,152, 49, 99, 80,198, 67,167, 65,239,222,189, 79, 70, 69, 69,213, 24, 53,106, 20, 46, 93,186,
-132,229,203,151, 35, 55, 55,151, 0,128,209,104, 36, 54,155,205,220,186,117,107,243,154, 53,107,154,183,111,223,254,102,245,234,
-213,185, 0,144,152,152,248,164, 36, 65,134, 97,106, 87,169, 82, 5, 70,163, 17, 10,133, 2, 81, 81, 81,112,114,113, 65,100, 70,
-174, 79,199, 85,155,242,190, 60,114,150, 63,188,121,136,251,167,221,218, 24,151,132, 95,170, 85,207,223,199,199,100,182,248,198,
-102,102,103,188, 78,166, 10, 4,130,212,220,220, 92,152, 76, 38,232,245,122,168, 84, 42,228,229,229, 33, 55, 55, 23, 25, 25, 25,
- 16, 8, 4,241,229,105, 56,231,231, 95, 73,188,118,153,217,247,227,119,168, 97,205, 7,239,224, 90,240,142,110, 68, 77,147, 2,
- 63,205,157,236,100,242,240,154,239,236,228, 84,224,234,234,186, 25, 64, 80,121,122,141, 27, 55, 70, 94, 94, 30,242,242,242,224,
-225,225, 1, 55, 55, 55,184,185,185,161,176,176, 16, 74,165, 18, 42,149, 10,181,106,213, 66,195,134, 13,177, 99,199,142,183,114,
-113,223, 48, 33,193, 10,219,212,179, 49, 25, 16,200,100,168,238, 38,175,210, 76, 14,247, 50,190,210,153,207,231,239,119,119,119,
- 15, 7,240, 33, 0, 25,128, 15,221,221,221,195,249,124,254, 0, 0,139, 0,236,170, 96, 50,150,204,159, 63,127, 86, 92, 92,156,
-244,254,253,251,152, 57,115, 38, 22, 44, 88,128, 39, 79,158,252, 0,128, 45,250,204, 7, 30, 30, 30, 97, 28, 14,103, 11,128, 94,
- 0,122,250,249,249,117, 41, 71,119,192,140, 25, 51, 12, 77,154, 52,137,125,244,232,209,128,107,215,174, 53,253,236,179,207,148,
- 41, 41, 41,136,141,141,133,159,159, 31, 2, 3, 3,161,209,104, 80, 80, 80,128, 1, 3, 6,184, 56, 59, 59,143,160,197, 56,133,
- 66,249, 95, 54, 89, 47,121,145,127, 90, 68,171,196,237, 18,107,212, 82,169,116,126, 68, 68, 68,171,208,208, 80, 30,128,125, 0,
- 16,194,197,144, 1,173, 27,109, 59,178,249,187,208, 67,107,230,134,246, 8,173,181, 45,132,139,226, 81,108, 97, 77,155, 54,117,
-139,136,136,104, 45, 18,137, 62, 42, 37, 17, 4, 0,220,220,220,224,226,226, 2, 87, 87, 87,184,185,185,129,101, 89,104,116, 6,
-104,109,128,218, 96,130, 82,169,132,186,104, 91, 99, 52, 67,171,213, 62,251,110, 9,116,156, 48, 97,130, 98,253,250,245, 57,153,
-153,153,223, 1,104, 48,102,204,152,254,235,214,173,195,133, 11, 23, 12,189,130,107,122, 44,110,215,104, 97,189,204, 39,243,130,
-249,152, 8,224,202,149, 43, 87,208,186,117,107, 48, 12, 51,172, 36, 65,137, 68,178,113,207,158, 61,146,232,232,104,212,172, 89,
- 51,122,216,176, 97, 67,191,251,238,187, 26, 50, 77,254,239, 0, 96,205,203,138,158, 54,109,218,215,139, 23, 47, 86, 40, 20, 10,
-179, 78,167,251, 63,246,190, 59, 44,138,171,125,251,158,237,203,238,210,219,210, 85,138, 96, 65,197,222,176,183,136,157,216, 53,
-246, 88,162,209, 24, 99, 11,197,168,177, 68,141, 26, 19, 77,108, 17,141, 5, 81, 17, 99,195,222, 21, 80, 84, 4, 65,144, 38,101,
-105,203, 22,182,176,229,124,127, 32, 4, 13,213,188,239,239,123,147,204,125, 93,123, 45,236,156,185,231,156,153,115,102,238,121,
-206,115,158,199,110,248,240,225,200,204,204,196,155, 55,111,238,214, 34, 50, 95,198,197,197,145,210,210, 82,164,166,166, 34, 46,
- 46,206,228,235,175,191,238,100, 96, 48, 70,100,195,116,218,212,238, 29, 58, 77,234,210, 14,135,239, 61,225,220, 74, 74,179,232,
-208,196,201,242,113, 86,110, 83, 29,133, 87, 31,114,181,229,114,249,246,111,190,249, 70,161, 80, 40,144,157,157,141,167, 79,159,
-226,197,139, 23, 72, 79, 79,199,166, 77,155, 20,197,197,197, 59,234,227,112,228,179,190,216,188,100, 6,197, 74,184, 11, 60,185,
- 1,148,201, 1,149, 2,154,196, 88, 28, 72,204,195,174,147,167,184, 25,153,153, 22,199,142, 29,155,233,234,234, 26, 11,192,171,
- 46, 62, 66, 42, 46, 33,131,193,120, 95,132,130,193, 96,200, 1,228, 9,133,194, 44, 83, 83,211, 44, 6,131,145, 71, 8, 81,254,
- 71,222, 36,244, 40, 7,147, 9,112, 77,192, 96,215,153,218,243,227,113,227,198, 29,205,202,202, 26,148,154,154,218,117,199,142,
- 29,223,240,249,252,248, 29, 59,118,124,147,154,154,218, 53, 43, 43,107,208,184,113,227,142, 2,152,210,152,227,123,122,122, 46,
- 8, 14, 14,198,166, 77,155,208,182,109, 91,120,121,121,149,133,132,132,108, 7,176, 26,192,103,158,158,158,183, 23, 44, 88, 48,
- 93, 34,145,136,179,179,179,219,254,240,195, 15,115,182,111,223,222, 49, 39, 39,135, 95, 15,117,143,129, 3, 7,226,252,249,243,
- 0,144, 11, 32,181,168,168, 72,159,147,147, 3, 31, 31, 31,116,234,212, 9, 10,133, 2, 10,133, 2, 82,169, 20,110,110,110, 48,
- 26,141, 93,233, 91, 57, 13, 26, 52,104,252,159, 10,174,154,133, 22,159,207,183,244,243,243, 67,179,102,205, 44,241,118,181,150,
- 53,151,181, 98,241,204,241, 2, 81,236, 5, 80,113, 87, 48,174,103, 43,129, 53,151,181,226,237, 46, 44, 55, 55, 55,158,159,159,
- 31,132, 66,161, 83, 45, 7,191,158,151,151, 7, 63, 63, 63, 88, 88, 88,192,220,220, 28,126,126,126, 40, 47, 47, 71,169, 92, 14,
-165, 1, 40,211, 25, 81, 90, 90,138,226,130,124,148, 25, 0,189,169, 53,210,211,211,193,100, 50,211,106,225,116,240,240,240, 40,
-136,143,143, 47, 0,112, 19,192,167,161,161,161, 88,190,124, 57,130,130,130,142, 10,114, 95, 15, 60,122,254,140,245,145,144,121,
-182, 94, 92,106, 60,128,242,172,172, 44, 88, 88, 88, 64, 40, 20,214, 40, 12,252,253,253,219, 11,133, 66, 28, 60,120,144,100,103,
-103,119, 71,197, 18,254, 52,138,170, 16,123, 38, 12,148, 2,216, 30, 27, 27,219,249,235,175,191, 78,234,223,191, 63,187, 75,151,
- 46, 88,187,118, 45, 0, 68,213,196, 41,149, 74,239, 79,153, 50, 69,123,237,218, 53, 36, 38, 38, 10, 79,159, 62, 29,184,118,237,
-218, 86, 25, 25, 25,188,179,191, 95, 24, 18,150, 37, 11,220,120,233, 22,127,221,197,235,247,109,204,132, 45,155,218, 88, 33, 46,
-227, 13,199,192,196,195,250,174,104,103, 54,115,102,111, 62, 43,174, 39,143,145,219,155,207, 66,159, 74, 59, 0, 0, 32, 0, 73,
- 68, 65, 84,138,237,200,102,206,144,203,229,199, 34, 35, 35, 47, 46, 89,178, 68, 33,145, 72, 96,106,106,138,162,162, 34,172, 95,
-191, 94, 17, 23, 23,119, 82,171,213,158,173,143,215, 96, 36,237, 93,154,184, 2,175,226,171,126, 43, 55, 18, 60,212,114, 16,240,
-233, 34,120,251,248, 64,171,213,162,117,235,214, 84,104,104,168,208,220,220,252,203,122, 69, 15,227, 79,221, 77, 79, 81, 84, 30,
- 33,228,141, 66,161,200, 54, 49, 49,201,224,112, 56, 25,197,197,197,217,132,144,252,255,132,206, 34, 12,124,209,173,181, 39,192,
- 51, 65, 70,145, 34,231,145, 2,197, 53, 21, 52, 53, 53,157,177,107,215, 46,254,190,125,251,116, 11, 22, 44,208,204,153, 51,135,
-173, 82,169,236,230,204,153,195, 94,176, 96,129,102,223,190,125,186, 93,187,118,241, 69, 34,209,232, 15,169,136, 78,167, 67,124,
-124,252,198,148,148, 20, 33, 42,194,141, 44, 10, 9, 9,153,154,156,156,204,223,185,115, 39,194,195,195, 17, 30, 30,142, 17, 35,
- 70, 96,225,194,133, 8, 14, 14,174,139, 78,208,166, 77, 27, 63,107,107,107,220,184,113, 35, 7, 64, 6,128,246, 34,145,200,116,
-196,136, 17, 24, 52,104, 16,212,106, 53,202,203,203,171,132, 22,147,201,132,133,133,133, 53,125, 15,164, 65,131, 6,141,255,186,
-200,122, 71,108,177, 0,160,210, 84, 23, 16, 16, 64,213,245, 96, 52,148, 72, 32, 85,150, 33,189,180, 12,153, 37,198,119,182, 25,
-141,198, 58,143,158,147,147,115,246,222,189,123, 51,252,252,252, 88, 57, 57, 21, 51, 98,126,126,126, 40, 43, 43, 67,206,147, 7,
- 80, 26, 1,161,135, 47,148, 74, 37, 74, 94, 60,134,168, 77, 87, 88, 15,157,132,173, 59,119,106,138,138,138,118,215,196,201,229,
-114,217,206,206,206, 5,105,105,105,122, 0,197,230,230,230, 3, 93, 93, 93,113,253,250,117, 0, 56, 76,128,205,136,187, 6,220,
-136, 0,169, 48,169,136,220,220,220, 32,145, 72,160, 80, 40,174,215,196,121,239,222,189,100,157, 78,215,122,248,240,225,212,175,
-191,254,122, 92, 38,147, 5, 1,120,170, 49,130,249, 36, 43, 31, 74, 3,248, 0, 6, 88, 90, 90,126, 30, 28, 28,220,111,193,130,
- 5,136,140,140,196,165, 75,151,202, 81,225, 11,118,175, 6,218,210,212,212,212, 61, 75,151, 46,237,194, 96, 48, 62,189,124,249,
-178,222,203,203, 75, 86, 94, 94,110,104,238,237,205, 8, 10, 93,195,153,255,233,108,139,162, 50, 36, 12,106,238,208,141,162,128,
-132, 55,146,140, 20, 5,138,234, 58,167,254, 92,102,212,200,238,109,252,103,140, 27, 38, 18,122,180,132,242,217, 3,241,158, 19,
-191,111, 53,137, 75, 14,184, 33,145,140,136,140,140, 12,188,126,253,250,124,173, 86,219,140,199,227,189,146, 74,165,223, 43, 20,
-138,122, 69, 22,147,201, 28,170,113,112,182,148, 22, 23,131,255,214, 18, 37,211, 25, 81,168,209, 35,209,194, 11, 19,156, 93,170,
-166, 65,243,242,242, 32, 22,139, 41,131,193, 48,172, 46,206, 75,151, 46, 33, 32, 32,160, 82,120,130,162, 40, 80, 20, 85,232,237,
-237,157,207,227,241,138, 56, 28,142,108,243,230,205,106,181, 90, 13, 22,139,197, 55, 24, 12,204,191,210,219, 59, 9, 96,199, 35,
-212,143,115,134,247,233,223,182,165, 15,185,249,232, 9, 85, 82,166, 62, 80,135, 21,240, 7, 79, 79, 79, 86,113,113,241, 89, 0,
-137, 58,157,238,200,241,227,199,249,147, 39, 79, 86,159, 56,113, 98, 34, 0,247, 45, 91,182, 4, 42, 20,138, 70,165, 84, 72, 73,
- 73,249, 97,221,186,117, 95,173, 90,181, 10,135, 14, 29, 90,144,146,146,178,252,173,165,107, 68,112,112, 48, 54,111,222,140, 67,
-135, 14, 25, 19, 19, 19,127, 55, 26,141, 41, 75,150, 44,105, 99,111,111, 95,152,155,155,155, 82, 7,109,135,193,131, 7,107,110,
-223,190,205,149,203,229,183, 0,124, 62,119,238,220,153,157, 59,119,150,141, 27, 55, 78, 84, 92, 92, 44, 21, 8, 4,220,189,123,
-247, 90,178, 88, 44, 40,149, 74, 80, 20, 5,185, 92,174,165,239,131, 52,104,208,248, 95, 69,109, 90,228,111,130, 90,159, 13,172,
-154, 26, 88, 86, 86,150,159,153,153,233,243,230,205, 27, 61, 0, 61, 0, 20,105,245,223,174,219, 27,177,111,116, 23, 79, 97,174,
- 78,135,211,143,158,151, 21,105,245,149,206,239,250, 55,111,222,200, 51, 50, 50, 76, 85, 42,149,162,150, 99,221,253,241,199, 31,
- 85,215,174, 93, 51, 77, 77, 77,133,193, 96, 64,251,246,237,241,242,229, 75,148, 36,198, 67,232,211, 30,194, 94, 1,120, 30,251,
- 8,113,151,162,241, 90,161,213, 39,173, 94, 87,170, 80, 42,131,203,203,203, 79,215, 68,200,102,179,139, 1, 16, 66,136, 1, 0,
-100, 50,217, 83,133, 66,209,211,222,222, 30, 9, 9, 9, 66,165, 1, 11, 3, 87,108,221, 65, 8, 49,112, 42, 86,115, 45, 30, 55,
-110, 28, 98, 98, 98, 0, 32,166, 38, 78,153, 76,182, 96,214,172, 89,215, 14, 30, 60,200, 74, 77, 77, 29,180,111,223,190, 65, 73,
- 73, 73,132, 42,206, 52,220, 46, 99,195,125,234,194,142, 63,185,121, 95, 10, 8, 8,128,131,131, 3,246,238,221,139,239,191,255,
- 94, 55,111,222,188,228,239,191,255,190,163, 68, 34, 57, 82, 75,251, 75,165, 82,233, 5,107,107,235,249,173, 90,181,146, 43,149,
- 74, 20, 21, 21, 33, 39, 39, 7, 86,214,214, 12, 61, 24,221,108, 45, 44,142,156,205,147, 11, 89, 23,238,227, 65,118,110,157,214,
-172, 46,108,230,148,209,254,237,252, 63, 91,181, 66,132,219,167, 65,205, 10, 6,217,247, 13, 22,125, 18,104,170,214, 28,233,165,
-124,146, 62, 57, 86, 38, 11,147,201,100,225,141,236, 44,131,187,117,235,118,116,221,186,117, 38, 43, 55,173,195, 22, 31, 39,232,
-139,138, 80,160, 49,160, 80,163,135,172, 36, 17, 9, 9,207, 97,109,109,131,215,175, 95, 67,173, 86,227,197,139, 23,132,201,100,
-158,173,207,162, 83,137,106,211,133, 82, 30,143, 87,196,102,179,243, 89, 44, 86,113,106,106,170, 82,173, 86,131,193, 96, 8, 13,
- 6,131, 73, 3,234,234,108, 99, 99,179, 4, 21,193, 68, 35,229,133,133,219,253,216,176, 0, 11,189,221,108,172,135,172,158, 51,
-217,198,213,209, 78,154,154,252, 74,183,251,226,157, 66,181,166,246,197, 26, 0,162,138,139,139,171, 44,146, 39, 78,156, 88,116,
-226,196,137,153, 0,246,163, 34,239, 86,180, 84, 42,253,233, 3, 6,223,234,147, 39, 79,126,181,106,213, 42,152,152,152, 84, 5,
- 79, 53, 49, 49,225, 3,192,111,191,253,134,132,132,132,206,120,235,175,101, 52, 26,143,230,230,230,214,199,233,238,235,235,155,
- 26, 17, 17,193, 5,224, 56,119,238,220,174, 59,118,236,192, 39,159,124, 82,240,252,249,243, 46, 0,210, 0,184,127,250,233,167,
- 15, 15, 29, 58,100,105, 52, 26, 81, 82, 82, 2,173, 86,155, 70,223,202,105,208,160, 65,139,173,255, 10,252, 0,196,161, 34,126,
-214, 80, 0,231, 80,225,214, 81, 43, 92,222,170,179,139, 0,134, 87, 62, 31,107,113,134, 7, 42, 86,100, 93, 0,240, 11, 0,251,
-218, 72,173,173,173,191,156, 58,117,170, 46, 59, 59,155,228,229,229,145,240,240,112,178,120,198, 84,195, 0, 15, 71,163,135,163,
-189,210,214,214,246,165,131,141,213,129,118, 2, 44, 6,224,220,128,134, 77, 77, 74, 74,154, 61,117,234,212, 25,111,143, 59,227,
-232,209,163,138,203,151, 47, 43,152, 76,102, 20, 42, 66, 59, 84, 10,202, 41,195,134, 13, 83,104, 52, 26,133,183,183,119, 49, 42,
- 28,247,107, 67, 96,239,222,189, 75,206,159, 63, 79, 12, 6,195,159, 98, 20, 21, 20, 20,144, 75,151, 46,145,238,221,187, 75, 1,
- 76,238,215,175,223,245, 59,119,238, 92,239,209,163,199,201,250, 42,108, 99, 99,179,226,201,147, 39, 49,233,233,233,177,231,206,
-157,139, 61,114,228, 72,236,167,159,126,250,180, 77,155, 54,170,228,228,100,163, 94,175, 39, 79, 30, 63, 38,222,205,155, 43, 1,
-184,213,198,211,215,132,245, 80,182,247, 27,162, 94,251, 9, 81,143,116, 33, 0,136,124,235,151, 36,127, 65,127,242,114,254, 16,
-210,135,207,188,247, 33, 61,197,202,202,234, 98, 76, 76, 12,145,203,229,228,217,179,103,100, 74,192, 32,114,111,102,127,114, 97,
-144, 39, 57,212,171, 41,217, 58,176, 13, 25,212,171, 39,249,241,199, 31, 73, 68, 68, 4, 89,177, 98,133,209,198,198, 70,142, 58,
-124,180,196, 98,241,229,227,199,143,199, 2,136,101, 50,153,177, 50,153, 44, 86, 46,151,159,205,202,202,218,229,237,237,253, 85,
-171, 86,173, 38,250,248,248,244,237,211,212,237,171,126,166,188,151,253,205,248,175,154,139, 4, 91,241,231,184, 87, 85, 48, 7,
-220, 60,220,221,229, 55,110,220, 48,106, 52, 26,114,235,214, 45, 99,139,230, 94,234, 45, 99, 7,159,124,189,119,195, 73,245,249,
- 95, 47,150,157,249,249,206,137,105, 1,241,189, 5,140, 95,187, 10,171,194,113,124, 40,198, 3, 56,141, 63, 86, 29, 78, 5,112,
- 6,117,175, 66,100, 0,216,191,118,237,218,234, 43, 13, 1,128,209,166, 77,155, 88, 66, 72,108,155, 54,109, 98, 27, 91, 17,129,
- 64,176, 36, 50, 50, 50,196,213,213,117,211,184,113,227,246, 74,165,210,115, 19, 39, 78,140, 71,197, 98, 16, 10, 21,217, 17,134,
- 57, 59, 59, 23,196,197,197,145,235,215,175,147, 49, 99,198,200, 57, 28,206, 36,250, 54, 78,131, 6, 13, 26,255, 21,204,174,229,
-187, 78,172,139,143,143,175,140,161, 53,183, 46,242,229,203,151,199,198,196,196,196,162, 34, 74,124,157, 96,177, 88,167,230,205,
-155, 71,236,237,237, 21,118,118,118,167,216, 76,230, 76, 23, 19,248,225,195,150,186,247, 12, 11, 11, 27,241,195, 15, 63, 12, 5,
-208, 25, 0,219,201,201, 41, 39, 47, 47, 79,113,231,206, 29, 69,247,238,221, 21, 54, 54, 54, 18, 95, 95, 95,197,150, 45, 91, 20,
- 58,157, 78,177,100,201, 18, 5,254, 28,239,171, 38,240, 1,204,231,114,185,167, 90,180,104, 17,191,122,120, 95,221,166,133, 51,
-201, 84, 79, 91, 5,128, 31, 0,204, 3, 96, 1,128, 29, 24, 24,120,229,197,139, 23, 23,125,125,125,247, 52,128,215,177, 85,171,
- 86, 87,143, 30, 61, 26, 19, 17, 17, 17,251,229,151, 95,198, 88, 91, 91,103, 39, 39, 39, 27,213,106, 53, 41, 41, 41, 33, 82,169,
-148,156, 59,119,206, 96,101,101,181,179,214,134,243,152,185,228,210,225, 26, 67, 56,100,173,154, 68,186,115, 25,111, 62,164,167,
- 8,133,194,226,162,162, 34,146,151,151, 71, 82, 83, 83,201,201,147, 39,201,224,110,157,200,177, 79, 71,147,195, 51, 70,144,205,
-131, 59,145,206,166,124,165,216, 84, 20, 99,106,106, 42,105,200,170, 67,177, 88,124, 89,163,209, 84,133,111,112,118,118,142,245,
-246,246,142,240,245,245,221, 26, 25, 25,185,104,219,182,109, 35,250, 52,117,251,106,253,160,110,170,178,232, 19, 68,126,252, 7,
-178,188,189,151,250,173,152,175, 17, 78,214, 86, 97, 55,174, 95, 55, 86,138, 95,189, 94, 79, 78,159, 58, 69,198, 14, 25, 16, 95,
-122,225,183, 95,110, 5, 47, 56,186,164,189,215,233,238,124,140,175, 75,176, 85,189,138,136, 96,237,111,198,216,245,145,171, 85,
-110, 79,115,198, 15, 93, 76,223, 73, 47, 53,214,203,203, 43,149, 16,146,235,227,227,147, 10,224,176,143,143, 79,245,255,167,213,
- 66, 91, 21,156, 52, 36, 36,132,188, 29, 31, 12, 0, 65,235,214,173,139, 37,132,196,122,122,122,222, 6,128,182, 66,216,244, 50,
-103,252, 50,220,221,190,168,151, 57,227,151,182,194,154, 83, 70,185,113,208,188,167,173,224,214, 8, 79, 7,121,111, 39,243,155,
-135, 15,236,219,244,209, 71, 31,237, 5,176, 19,192, 55,214,214,214,183,198,143, 31,159,112,232,208,161,132, 45, 91,182,148, 39,
- 39, 39,147,233,211,167, 43,121, 60,222, 55,244,125,144, 6, 13, 26, 52,254,107,168,140, 12,239,208, 24,161, 53,236,171,175,190,
-138, 37,132, 84,198,210,154, 92, 67,153,225,171, 86,173,138, 37,132, 84, 70,135,127, 63,128, 89, 77, 1,205, 66,118,237,218, 69,
-120, 60,222, 47, 31,216,152,234,156,226,145, 35, 71,118,145,201,100, 29,237,237,237, 59,190,181, 92,185,216,216,216,164, 30, 57,
-114, 68,161, 82,169, 20,132, 16,133, 94,175, 87,196,196,196, 40,122,247,238,173,168,246,214, 95, 95, 61,223,193, 74, 49,110, 63,
- 90, 61,131,172, 20,227,246,123,155, 38,237,223,191,255,124, 90, 90,218, 89, 51, 51,179,101, 13,228,116,177,181,181, 13,178,178,
-178,186,104, 99, 99,179,210,202,202, 42,183,188,188,156,148,148,148,144,151, 47, 95,146,235,215,175,147,123,247,238, 17, 43, 43,
-171,236,218,234,217,207,132,117,191,100,211,124, 98,220,191,142,104,119,172, 32, 0,136,116,219,114, 82,248, 99, 40,121, 52,107,
- 16,233,205,103,222,253,128,243, 9, 11, 11,139,159, 79,157, 58,101, 76, 73, 73, 33, 81, 81, 81,228,220,185,115,100,225,194,133,
-164,185,163,131,166, 11,151,145,223,147,199,186,248, 33, 1, 75, 53, 26, 77,172, 76, 38,139, 85, 40, 20,177, 45, 90,180,136,237,
-212,169, 83, 68,151, 46, 93,182,158, 56,113, 98,209,250,245,235, 71,244, 51,229,189, 44,139, 62, 65,200,151, 67, 8,153,223,131,
-188,154,217,155,244, 53, 97, 61,169,149,211,222, 62,187, 50, 90,187, 82,169, 36, 55,111,222, 36, 87,175, 94, 37, 98, 27, 27,153,
-191, 9,115,118,119, 30,122,117, 55,131, 69, 67,235,217,199,156,113,224,254,143,223, 26, 84,231, 15,145,223,166, 14,209,247,182,
- 96,236,170, 86,238, 24, 33, 36,119,204,152, 49,175, 9, 33,185, 39, 79,158,204, 34,132,228,142, 30, 61,250, 53, 33, 36, 23,192,
-209,154, 56,223, 11, 78,186,255,173,200,154, 31, 18, 18, 18, 75, 8,137, 13, 9, 9,137, 5, 42,130,168,246, 50,103, 28,124,176,
-103,179, 81,115,238, 32, 57, 49,125,168,161,151, 57,227, 96,141,245,180, 96,157,141,219,191,141,104, 47, 30, 38,167, 22, 78, 52,
-244, 16,155,221,240,242,242,218,188,104,209,162,136,123,247,238, 61, 53, 24, 12, 9,169,169,169, 9, 59,119,238, 76,232,218,181,
-235,109,107,107,235,120, 46,151, 59,175,190,107,244, 31, 2,205, 73,115,210,156, 52, 39,141,247, 13, 76,117,108, 59,187,113,227,
- 70, 33, 33,100, 73, 96, 96, 32, 54,108,216, 48,182, 85,171, 86,227,157,156,156,108, 1, 32, 39, 39,167,236,217,179,103,178,192,
-192, 64, 4, 5, 5, 97,211,166, 77, 91, 81,225,203,242,127,137,188,211,167, 79, 59, 47, 88,176, 64,178,126,253,122,227,244,233,
-211,125, 0, 60, 43, 44, 44,108, 62,113,226,196,249, 44, 22, 43,208,205,205,205, 55, 55, 55,183, 64,165, 82, 29, 6,176, 7,245,
-204,153,214, 6, 30, 3,134, 14, 77, 28,112,145, 1, 67,181,159,135, 4, 5, 5,141, 27, 61,122,116,249,182,109,219,244, 50,153,
- 44,178,129,116, 89, 5, 5, 5,107, 42,255,177,178,178, 18, 63,121,242,100,158,157,157, 29, 35, 53, 53, 21, 26,141, 6, 41, 41,
- 41, 70, 84, 76, 77,213, 8,133,158,108,255,233,228,101,239, 37,147, 2,204,202, 18, 31,131,195,100, 66,199,230, 34,239,254, 69,
-236,191,153, 40, 83,150, 99,199,135,180, 83, 42,149,126,183,112,225,194,137,203,150, 45,227,187,185,185, 81,119,239,222,197,241,
-227,199, 53, 18,137,100, 48,128, 27,127,132,126,106, 28,140, 70, 35,184, 92, 46, 0, 96,249,242,229, 96, 48, 24,108,137, 68,194,
-165, 40,138, 71, 81,148,128,162, 40,166, 46, 45, 1, 70, 89, 9,242, 75,164,200,202,151,214,201,103, 48, 26,143, 63,120,240, 96,
-113,187,118,237, 24,143, 30, 61, 66, 65, 65, 1, 82, 82, 82,136,129,144,163, 55, 85,134, 10,167, 68, 77,195,235, 39,176,178, 30,
-217,214,146,199,224, 30, 8,130,191,150,193,220,109,196, 24, 84,196,210, 2,128,253, 20, 69,113, 0, 20,181,104,209,162,207,139,
- 23, 47, 76, 90,180,104,161, 74, 76, 76, 60, 79, 81,148, 19,128,131, 53,113,154,152,152, 20, 2, 40, 60,121,242, 36, 0,204, 66,
-197,201,107, 31, 28, 28,156,123,243,230, 77,132,132,132,228, 3,216, 5, 0, 34, 75,235,225,190,230, 28,138,251,107, 8,186,106,
-192,216, 97, 36, 53, 90, 93, 69,118,246,125, 91, 9, 25, 96,239,251, 26, 29,197,222, 12,174,190,188,117,104,104,232, 77,133, 66,
-161, 57,118,236,152,118,218,180,105,204,228,228,228,135, 0,110, 1, 56,137,183, 62,150, 52,104,208,160, 65,227,191,138,247, 45,
- 88,245,250,104,189,175, 90, 55, 0,248, 41, 41, 41,169, 42,169,116, 82, 82, 82, 44,128,221,168,136, 6, 63,172, 17,138,119,245,
- 91,139,214,158, 15,108,204,251,156,124, 63, 63, 63,147, 23, 47, 94,112, 80,115, 18, 71,234, 3, 56,255,132,154,114, 29,122,121,
-121,125,175,211,233, 34,118,239,222,125,130,201,100, 78,252, 11,106,223,205,211,211,179,228,200,145, 35,198,168,168, 40,178,122,
-245,106,131,131,131, 67, 9,254,236,163,245, 14,167, 63,151, 25,190,212,199, 73, 22, 51,185, 7,121,181,104, 56,185, 53,169, 55,
-153,237, 36,146,249,243,153,199,255,226, 91,137,167,185,185,249,126, 19, 19, 19,153,153,153,217,101, 0,221,254,202, 53,178,182,
-182, 62, 36, 22,139, 47, 87,255,216,219,219, 71,216,218,218,254, 96, 99, 99,179,218,194,194, 98,142, 59,159,187,109, 81,115, 71,
-117,252,200, 22, 36,186,187, 45,153,100,195,125,127,234,240,253,122, 58,184,187,187, 23,133,133,133, 25,207,158, 61, 75, 86,172,
- 88, 97,108,210,164,137, 12,117,248,181,213,105,209,178, 96, 30, 15, 31,221,197,152, 63,212,137,108,240, 49, 53,246,177,100,214,
-182, 66,113,210, 91, 1, 60,181, 62, 78, 15, 15,143,221,132,144, 3,107,215,174, 61,128, 63,114,129, 14, 8, 13, 13, 13, 38,132,
- 4,135,134,134, 6, 3, 24, 4, 0,254,230,140,176,195, 35, 58, 24,114, 62,114, 36,223,250,136, 12,254,230,140,176, 26, 45,153,
- 86,172,211,103,102, 14, 53,230,206,236, 78,130, 60,133,134, 46, 86,188, 43, 92, 46,119, 17, 42, 44,206,157, 0,112,233,183,102,
-154,147,230,164, 57,105,139,214,255,156,240,106, 16,196, 86, 86, 86,251,155, 53,107,118,194,205,205,237,132, 72, 36,218,138, 10,
-167,249,198, 94, 8,247,117,235,214,201,204,205,205,219,254, 7, 47,174, 29, 0, 39,252, 57,113,238,127,172,195,172,113,192,130,
-228,101, 99,159,172,113,192,130,106, 63,119,242,241,241,249, 22, 21,209,188,255,106, 39,116,179,178,178,218,105,101,101,149,253,
-214, 55,203,173, 33,156, 29,152,204,137,125,248,204,187,221,184,140,188, 62,124,214,157,142, 76,230,132,191,233, 0,172,107,177,
- 69,109,156,206, 54, 54, 54,219,172,172,172,114,108,108,108,118, 54, 82,100,189,195,217,214, 4, 14,125, 45,152,167,187,153, 82,
-202,190,230,204,147, 29, 4,181, 47,234,104, 68,219,253, 66, 66, 66, 62, 33,132,124,226,232,232, 24, 88, 77,248,251, 6, 5, 5,
- 5, 16, 66, 2, 42, 35,192,119, 18,192,174,183, 5,243, 72,119, 51, 74,218,219,130,121,164,147, 0,118,181,213,179,143, 5,243,
-120,119, 51, 74,234,111,198, 56,226,202, 67, 19,250,102, 78,115,210,156, 52, 39, 45,180,254, 25, 66,139,238, 48, 52, 39,205, 73,
-115,210,156, 52, 39,205, 73,115,210, 66,171,102, 97, 85,253, 83, 53,195,198,162,207, 13, 13, 26, 52,104,208,160, 65,131,198, 95,
- 66,173, 1, 75,169, 58, 84,105, 99, 28,219, 63, 68,217, 70,211,156, 52, 39,205, 73,115,210,156, 52, 39,205,249,175,227,172,143,
-251,255,122, 97,221,223, 26,180, 89,149,230,164, 57,105, 78,154,147,230,164, 57,105,206,127, 45, 24,244, 41,160, 65,131, 6, 13,
- 26, 52,104,208,248, 75,240,123,251,253,126,224,210,154,125,180, 88,157,214,230,235,245,122, 59, 0, 96,177, 88, 18,221,195,213,
- 14,117,177,179,129,126,250,138,244, 59, 96, 1,179,244,192,229, 26, 56, 47,235,245,122,203,183,156, 37,186,135,171, 7,213,201,
-217,105,237,197,234,229,245, 15, 87, 15,120,191, 12, 1,152,236, 78,107,115,222,171,171, 99, 67,207, 10,133,119, 98, 98,253,215,
-234,249,119,225,252, 55,131,221,121,109,190, 78, 87,209,143,216,108,150,164,252, 65,221,253,136,211,121,109, 78,245,242,186, 7,
-171,237,235,226, 20,152,240,138, 60,156,108,183,214,197,153,154, 83,184, 68, 89,166,182,174,139,179,177, 99,211,197,193,161,159,
-225,237,216,100, 2,179,178,115,115, 47,255,143,245,165, 14, 0, 86, 3, 48,171,246, 91, 60,128,207,233, 94, 73,131, 6,141,191,
-153,208,138, 67, 69,158,195,159,223,138,173,159,107, 21, 90,122,189,222, 46,246, 84, 48,148, 26,160,223,148,181,118,238, 35,247,
-252, 41, 81,178, 94, 93,194,149, 62, 63,230,203,212,201, 44,109, 89,229,102, 57, 57, 57, 20, 0, 80, 20,245, 11, 0,215, 26, 56,
- 45, 99, 79, 5,163, 76, 11,248,143, 15,181,116, 5,204, 10, 56,156, 47, 76,132,194, 62, 42,149,170, 21, 0,152,152,152, 60, 87,
- 41,149,215,108,203,203,183,188, 95,190,182,150, 85,175,107,223,201,107,237,124, 70,238, 89,104, 48, 26,185,111, 30,237,246, 87,
- 23, 38,179,216,122,205,174,149,192,249,224, 26, 68, 85, 45,124,127, 28,247,227, 21,214,108,160, 47,151,207,111,107, 97,105,217,
-211, 72, 72, 11,163,209, 72, 25,244,250, 4, 89,105,233, 45,163, 94,255, 68,175, 85, 90,199, 70,126,107,172,171,158,239,183,229,
- 99,128,117, 10, 8, 20,138, 68,125,152,108,118, 55, 0, 48,232,116,119,149, 10,197,181, 81, 64,120, 67,218,222,208,243,243,161,
-229,255,109,208,233,244,118,105, 23,131,161,209, 1,126, 99,190,181,107, 51,241,215, 35, 0,160,149, 60,177, 87, 36, 71,118, 6,
- 0,161, 71,192, 3,158,216, 47, 31, 0, 88, 25,185,118, 47,163, 86, 65,163, 3, 90, 4,132,218,213,199, 57, 45,232,184,245,178,
-217,163,121, 0,112,233,228, 15,205,175, 70,252, 52, 4, 0,250,142,158,123,126,224,152, 5, 47, 1, 96,211,207, 17,214, 71,191,
- 29, 91, 39,103,195,198,102, 41,167, 52, 57,202, 83, 43,203,181,112, 17,178,196,201,201,201, 12, 0,112,116,116,108,208,216,116,
- 6,204,115,129,249, 12, 38,179,167,135,167,167, 31, 0,146,250,234, 85,156, 65,175,191,237, 0,236,250, 15,247,165,133,132,188,
- 27,156,149,162, 40,186, 67,210,160, 65,227,239,134,115,111,197,213,185, 63,189,204,214,182,135, 82, 3,220, 72, 1,122,117,105,
-131,217, 19, 63, 18, 85,223, 22,190, 39,212, 53,249,209, 25,159,125,191,110, 97,180,105,211, 6,105,105,105, 13,170, 69,153, 22,
-184,158, 12, 64,250,194,180, 68, 40,124,181,109,243,102,179, 1, 3, 6,176, 28, 29, 29, 65, 81, 20,242,242,242,186, 68, 71, 71,
-119, 88,188,120,241,167,144,190, 40, 41,211, 66,126, 61,185,126,222,202,186,182,106,222, 4,171, 23,140, 53, 7,128,149, 83,118,
-117,120,148,148,111,245,234,213,171,126, 95,125,245, 85, 17,243,218,181,159,108,128, 3,249, 64, 86, 67,234,121,232,236, 3,190,
-121,238,111,238,147, 22, 44, 56,233,233,233, 41,114,115,115,163, 76, 77, 77,193,100, 50, 81, 82, 82,226,250,236,217,179, 33, 15,
- 31, 62, 84, 70,223,248,133, 27,243,112,120,170,132,223, 89,221,160,182,171,114,248,151, 76, 77,159, 79, 30, 53,202,121,236,216,
-177,124, 15, 15, 15, 0,192,171, 87,175,188,194,195,195,199,159, 60,121, 50, 8,170, 28,125,153, 22,234,250,218, 94,197, 9,128,
- 15,116,179,176,179,155,196,100,179, 91,233,245,122,167,183,214,134, 55, 6,157,238,185, 84, 34, 57,252,126,121, 26,127,134, 70,
- 7,188,200, 5,250,247,244,195,228,209,253,133, 0,240,213,184,117, 93, 50, 94,167,112,180, 90, 45,154,123,183,232,254,205,183,
- 91, 47,130,193, 64, 88, 68,116, 85,249,134,112,198,191, 72, 67,240, 55,219,144,243, 52,188,139,161, 52,165,143, 92, 86,202, 4,
- 0, 51,115,243,209,225,199,126,187,230,232, 27,120, 63,165,176,188, 65,156,117,141,205, 11,199,118, 58,100, 63,187,214,242,199,
- 75,251,217,174,174,174,120,250,244,105,227,198,102,105,146,169,209,193, 33, 97,203,151, 95,138,253,253,253, 33, 18,137,192, 98,
-177,160,215,235,251,223,190,125,187,127,112,112,240, 92,148, 38, 41, 27, 58, 54, 27,128, 45, 20, 69,245,153, 54,123,161,195, 71,
- 35, 2, 49,122,112,119,186, 35,210,160, 65,227,239,134, 74,235, 85,245,149,135, 63,215, 41,180, 88, 44,150,100,192,212,245,118,
- 61, 59,183,198,163, 39, 47, 75,211, 51,115, 21,149,219,138,159,135, 55, 31,209,221,169,229,205,155, 55,160,209,104,112,247,238,
- 93, 60,121,242, 4,175, 95,191,198,156, 57,115, 52,111,167, 14,107,226, 44,241, 31, 31,106,137,210,100,145, 23, 55,169,105,116,
- 98, 34, 83,173, 86,227,230,205,155, 40, 41, 41, 1,151,203,133,179,179, 51, 6, 14, 28,200, 74, 76, 76,180,234, 55, 96,176,185,
-255,224, 9,105, 48,247, 82,176, 88,172,146,218,242,136,176, 88, 44, 73,191, 41,107,237, 90,122, 53,193,171,244,156,210,213,223,
-238, 83, 24,141,132,149,250, 58,163,252,198,141, 27,240,243,243,195,229,203,151,173,139,139,139,191,222,181,107,215,106,246,198,
- 31,183,235,180, 69, 75, 81, 59, 95,137,255,248, 80, 75,107,201, 9,183,171, 23, 78,115,158, 63,127,206,217,189,123, 55,138,138,
-138,192,229,114, 97, 97, 97, 1,177, 88,140,230,205,155, 83, 43, 87,174, 20, 5, 4, 60,199,103,179, 2,221,202,221,103, 38,213,
- 86,207,170,182, 43, 50, 4, 54,178, 75, 30, 17,231,206, 49,122,244,232,241,206,107,123,179,102,205, 48,104,208, 32,254,164, 73,
-147, 60,198,142,159,104,244, 31, 58,237, 21, 68,110,101,245,114, 42,179, 76,172,203,238, 57,246, 31, 63, 62, 50, 52, 52,212, 66,
- 44, 22, 67, 40, 20, 2, 0, 74, 75, 75,157,211,211,211,187, 4, 5, 5,141,121, 16,127,140,229, 31,144,149, 3,161,139,170,174,
-243,249,111, 5,155,205,146, 84, 90,145, 76,133, 38, 37, 89,217,249, 74, 0,208,106,181,208,106,181,208,104, 52,152, 55,119, 14,
-115,214,152, 78,158,110, 61, 23, 62,126,253, 38,191,184, 69,244,125,171,202,125,117,245,112,178,202, 94, 75,165,153, 87,102, 5,
-127,249,165,216,222,254,143, 25,193,176, 67,135,152,197,197,197,253,131,131,131, 91, 18, 65,111,105,139,128, 80,139,186, 56,235,
- 26,155,210,151,231,154,126,179, 96, 80,219, 61,223, 70,193, 96, 48,224,222,189,123,184,121,243, 38,182,110,221, 74,206,159, 63,
- 95,106, 38, 20,206, 66,157, 99, 51,201,180,135, 67,158,251,198,141, 39, 41, 30,143,135, 51,103,206, 32, 49, 49, 17, 12, 6, 3,
-109,218,180,193,228,201,147,209,191,127,127,241,236,217,115,136,255,224,113,169, 48,247,150,255,197,190,196, 0,176,112, 69,240,
- 70,135, 41, 51,231, 99,211, 55, 43,105,161, 69,131, 6,141,191,179, 53,171,214, 16, 15,136,138,138, 34,111, 63,189, 0,128, 0,
-140,102, 35,247, 28, 61, 17, 99, 60,215,108,228,158,163, 4, 96, 16,128, 97, 6, 52,105,215,174,157, 78, 42,149,146,135, 15, 31,
-146,121,243,230, 41,183,111,223,126,237,220,185,115,225,250,242,242,189,142, 14, 14,223,145, 90, 28,236, 9,192,112, 3,204, 5,
- 2, 65, 65,102,102, 38,249,253,247,223, 73, 72, 72, 8, 57,124,248, 48, 57,127,254, 60,137,142,142, 38,231,207,159, 39, 71,143,
- 30, 37,241,241,241,228,229,203,151, 68, 40, 20, 22,184, 1,230,117,112, 50, 9,192,108, 62,114,247,210,147,143,116,161,222, 35,
-247, 44, 38, 0,211, 18,240,105,215,174,157, 33, 60, 60,156,132,133,133,145, 95,127,253,149,196,199,199,147,194,194, 66,194,226,
- 9, 11, 42,247,171,173,158, 4, 96, 56, 57, 57, 21, 72,165, 82,226,226,226, 66,184, 92, 46,177,183,183, 39,205,155, 55, 39, 93,
-186,116, 33, 67,134, 12, 33, 19, 39, 78, 36, 95,127,253, 53,145, 74,165,132,207,231,231, 87,238, 87, 27,167, 31, 96, 34, 20, 10,
- 51, 99, 99, 99, 73,109, 80,169, 84,164,176,176,144, 92,188,120,145, 8,133,194, 76, 63,192,164, 46, 78, 19,160,189,175,175,111,
- 65, 97, 97, 33, 41, 47, 47, 39,153,153,153,228,217,179,103, 36, 49, 49,145,100,102,102, 18,149, 74, 85,197,253,242,229, 75,226,
-238,238, 94, 96, 2,180, 39,244, 34,136, 90,251,210,251, 31, 87,123,251, 33, 98,177, 88,117,242,228, 73,242,230,205, 27,114,240,
-224, 65,194, 0,214,189, 95,174, 46, 78, 46, 48,176, 71,143, 30,134,123,247,238,145,199,143, 31,147,229,203,151,147, 65,131, 6,
-145,193,131, 7,147,224,224, 96,146,157,157, 77,178,179,179,201,144, 33, 67, 12, 92, 96, 96,125,253,179,166,177,105, 14,184, 6,
- 4, 4,168,202,203,203, 73,106,106, 42,105,213,170, 85, 54, 19,152, 36, 4, 90,246, 2,120,245,245, 79, 39,192,210,193,193, 33,
-247,222,189,123, 36, 34, 34,130,184,185,185, 21, 48,129,105,102, 64, 51, 51,160, 25, 19,152,214,172, 89,179,130,123,247,238,145,
-162,162, 34,226,234,234,154,235, 4, 88,254,133,190,196, 0,176,127, 69,240, 70,146,148,173, 36, 43,130, 55, 18, 0,153,132, 16,
-130, 26,124, 60,105,208,160,241,207,199,251, 90,228,159,130,170,155,100, 64, 64, 0, 5,224,122, 93,133, 85, 76,230,250, 77,155,
- 54,177,212,106, 53,246,237,219, 39,255,120,204,152, 19,189,122,246, 76,109,234,230, 38,165, 24,140,122,179, 13, 23,240,120,139,
- 54,109,218,100,161,213,106, 17, 19, 19,131, 14, 29, 58, 64, 44, 22, 67, 36, 18, 65, 36, 18,193,206,206, 14,222,222,222,144, 72,
- 36, 48, 53, 53,197,178,101,203,204, 11,120,188, 69,245,241, 26,141,132, 5, 0, 6,163,145,203, 1,102,187,119,236, 24, 19, 20,
- 20,196,176,182,182,134,149,149, 21, 68, 34, 17, 18, 19, 19,161,213,106, 33, 48, 17, 52, 40, 72, 43,131,193, 96,136, 68, 34, 92,
-189,122, 21, 11, 23, 46, 68,183,110,221, 96, 97, 97, 1, 83, 83, 83,180,106,213, 10, 3, 7, 14,196,172, 89,179,144,154,154, 10,
-170, 1, 78, 37, 9, 44,214,252, 89,179,102,217,249,249,249,213,184, 93,173, 86, 67, 42,149,162,160,160, 0,206,206,206, 8, 12,
- 12,180, 75, 96,177,230,215,198,103, 13,136,157,189,188, 34, 31, 62,124,104, 35, 20, 10, 17, 22, 22,134,211,167, 79,227,194,133,
- 11,248,253,247,223, 17, 21, 21,133, 51,103,206,160,160,160, 0, 0,224,229,229,133,227,199,143,219,136,236,236,162,172, 1, 49,
- 61,164, 27,134,140,252,252, 75,173,242,242,108, 38, 77,156,120, 75,161, 80, 96,210,164, 73, 88,191, 97,195, 74, 54,176,184, 33,
-251,123, 3,230, 86, 14, 14, 7, 54,110,220,200,200,203,203,195,168, 81,163, 10,183,108,216, 48, 35,238,226, 69,143,216, 11, 23,
- 60,214,135,134,206,232,213,171, 87, 97,118,118, 54, 14, 29, 58,196,176,119,117, 61,224, 13,152, 55,182,158,114, 96,225,247,223,
-127,207, 87,171,213, 24, 48, 96, 64,170,241,249,115,111, 61,240,155, 2, 72,188, 14,148,215,183,127, 46, 48,127,217,178,101, 98,
- 30,143,135, 47,190,248,162,176, 44, 35,163,181, 30,248,181, 20, 72, 47, 5,210,245,192,175,242,180,180,214, 83,166, 76, 41,228,
-241,120,216,182,109,155, 56,247,143,164,219, 13, 69, 7, 0,145, 0,110, 0,200,153, 54,123,225, 52,191, 78, 93,113,104,239, 46,
-124, 27,250,213, 1, 0, 31, 83, 20,117, 24,192, 82,186,231,209,160,241,239, 68, 67,180,200,255, 40,106, 77,185,195,170,174, 36,
- 1,244,174,139,197,210,218,186, 67,235,214,173,113,243,230, 77,248,250,250, 62,180,176,176,208,115,120, 60,176,217,108, 16, 99,
-189, 58, 11, 38, 66, 97,191,254,253,251,179,238,223,191, 15,119,119,119,152,152,152,128,205,102,191,243,225,112, 56,112,112,112,
-128, 76, 38, 67,191,126,253,216, 59,118,236,232, 7,141,230,155,122, 31,136,201,207, 68, 5,247, 55, 78,252,229,224,129,102,254,
-254,254, 40, 45,149,193,104, 52, 66, 32, 16, 64,171,213,130,197, 98, 85, 76, 1,233,136,172, 33,103,204, 96, 48, 24,152, 76, 38,
-220,221,221,177,126,253,122,168,213,106,112, 56, 28, 0,128, 76, 38,131, 84, 42,197,179,103,207,144,158,158,142,183,111,225,117,
-194,212,220,252,163,177, 99,199,214,152,240, 87,163,209,160,180,180, 20,165,165,165,144, 74,165, 80,171,213,232,218,181, 43,247,
- 92, 84,212, 71, 40, 42,218, 82,227, 62,124,254,152, 67,135, 14,217,113,185, 92,168, 84, 42,200,229,114,100,101,101, 33, 35, 35,
- 67, 45,145, 72,244,166,166,166, 12, 55, 55, 55, 6,143,199,227,141, 28, 57,146,146,201,100,160, 40, 10, 1, 1, 1,214, 71,194,
-194,198, 66,171,221, 74, 15,233,134,225, 18,160,105,175,213, 14,235,220,169,211,213,135,143, 30,249, 45, 90,180, 8,241,241,241,
- 27, 5,199,142,221, 40, 3,158,212,181,111, 42, 48,255,187,106, 2,134,100,100,248,150, 3, 5,213,138,164,187,165,165, 93,152,
- 50,101,202,211,248,248,120,155,109,219,182,137, 63, 30, 53,106, 62,128,117,141,169,163,169,185,121, 71, 7, 7, 7,156, 63,127,
- 30,153,175, 95,127,165, 7, 84,141,122,227, 98, 50,123,248,251,251,227,204,153, 51,200,206,200,248, 74,255,110, 29, 43, 94,148,
-128, 2, 86,106,234, 87, 7, 14, 28,216, 63,125,250,116, 48, 89,172, 30,208, 55,106,226,240, 79,142,239,211,231, 44,194,129,159,
-119, 28, 0, 48, 19,128, 17,192, 67,186,199,209,160,241,239,182,106,213,167, 69,254, 70, 98,235,231, 70, 91,180,236,236,236,156,
- 68, 34, 17,114,114,114,208,194,199, 71,194,227,241,192,101,179,193,231,114, 27, 84,131,178,178, 50, 95, 71, 71, 71,148,150,150,
-194,198,198, 6, 28, 14,167,234,195,229,114,171,254, 54, 53, 53, 5,131,193,128,171,171, 43,202,202,202,124,235,229,205,127,102,
-119,108,199,220,121,247,110,156,111, 54,106,212,104, 88, 90, 90,193,197,197, 25,118,118,118, 48, 49, 49,129,139,139, 11, 60, 60,
- 60,200,150, 45, 91, 32,176,107,211,160, 27,121,117,241,196, 98,177, 96, 48, 24,144,159,159,143,164,164, 36,196,199,199,227,222,
-189,123,120,252,248, 49,228,114, 57, 26,160,179, 80,166, 82,181,101,177, 88, 53,138, 44,169, 84, 10,169, 84, 90, 37,180, 10, 10,
- 10,144,158,158, 14,133, 82,217,174, 14,209, 59,186,117,235,214, 76, 0, 48, 49, 49, 65,187,118,237,176,103,207, 30,253,217,211,
-167,199,181,188,119,207,202,229,226, 69,139, 95,118,239, 30, 23, 24, 24,104,184,127,255, 62,100, 50, 25, 94,188,120, 1, 91, 91,
- 91, 22,151,207, 31, 75, 15,231,198, 33, 22, 80,218,200,229,131,187,117,235,150, 86, 90, 90,138,205,155, 55, 51,216,166,166, 63,
-135,214, 50,197, 87, 5, 38,179,187,191,191, 63, 34, 35, 35,145,147,145,177, 60,163, 6, 1,147, 1, 20,100,166,166, 46, 63,112,
-224, 0, 6, 14, 28, 8,138,197,106,180,163, 82,151, 46, 93, 90, 27,141, 70, 60,125,250, 20, 22,192,131,198,238,239,225,233,233,
- 87,105,249, 21, 2,183,106, 43, 39, 4,110,197,197,197,193,196,196, 4, 45, 90,182,108,223,200,195,108,161, 40, 42,119,250,156,
- 69,136,184,112, 7, 0,112,224,231, 29,249,213, 68, 22, 13, 26, 52,104,139,214,223,213,162, 85, 41,172,170,127,240,142,208,106,
-160,248, 0, 0,176,217,108,112,121, 60,112,185,220, 10,129,196,227, 53,152,131,162, 40,240,249,252, 42, 97, 85, 93, 96, 85,255,
- 91, 32, 16, 52, 72,192, 0, 64, 73,202,133,158, 51,103, 76,231,242,120, 60,104,181, 26, 16, 66,192,227,241, 97, 97, 97, 1,119,
-119,119,200,100, 50,116,235,222, 75,147, 37,229, 68, 89,183, 24, 25,255, 33,103, 79,175,215, 67,169, 84,162,164,164, 4,197,197,
-197,144,201,100, 80,169, 84, 13, 94,138,110, 52, 26,153, 89, 89, 89,248,237,183,223, 80, 84, 84, 4,160,194,209,186, 82, 92, 85,
-126,167,165,165, 33, 44, 44, 12,175, 95,191,110,212,245,233,217,179, 39,162,162,162,152,189,251,245,219,123,217,205, 45,231,178,
-155, 91, 78,239,126,253,246, 70, 70, 70, 50,157,156,156,144,158,158,142,152,152, 24,148,148,148,128, 16, 66,175,159,255, 0,188,
- 2, 74,202,138,139,167,175, 92,185,146,136, 68, 34,108,254,238,187,182,235,128, 9, 13, 21, 48,230,117, 8, 24,243,191, 38, 96,
- 64, 8,129,209,104,132,193, 96,248,160,182, 81, 20, 69,177,217,236,198,134, 86,104, 76,225, 42,199,247,101, 95,175,199,239,103,
-194, 43,127, 79,166, 69, 22, 13, 26, 52,254, 1,168,213, 17,158, 85, 77, 65, 86,125,215,134,252,252,252, 55, 74,165,178,153,155,
-155, 27,178,179,179,237, 92, 93, 93, 51,184,108, 54, 56, 92, 46, 40, 70,253,154, 64, 32, 16, 60,205,201,201,233,238,228,228, 4,
-189, 94, 95, 37,170,222,159, 58,172,180,210, 60,126,252, 24, 2,129,224, 41,212,117, 70, 78,128, 65, 91,210,164,125,251,246, 85,
-150, 33, 11, 11, 11, 88, 88,152,131,199,227, 99,213,170, 85,198,109, 91,182,236,114,237, 27, 90,250,201,226,149,100,229,186,189,
-255,209, 51,219,208, 7,147, 64, 32,120,234,226,226,210,213,220,220, 28, 17, 17, 17, 72, 79, 79, 71, 73, 73, 9,202,202,202,160,
-209,104, 80, 86, 86, 6,173, 86, 11, 62,159,143,150, 45, 91,194,204,204, 12,209,209,209, 79,161,209,212, 44, 46,139,138, 34,158,
- 62,125,218,181, 83,167, 78, 85, 22,149, 62,125,250, 80,125,250,244,177,169,178,162,149,149,161,176,176, 16, 15, 31, 62, 68,116,
-116, 52, 40,148, 28,221,209, 0, 0, 32, 0, 73, 68, 65, 84,138, 66,114,114,178, 65,163, 82, 29,165,199,196,135, 65, 13,220,101,
- 30, 56,176,255,211, 79, 63,157,209,189,123,119, 24,128, 33, 0,194,254, 63, 10, 24, 0,192,189,123,247,158, 25, 12,134,238,205,
-155, 55,135, 20,232, 12,224, 76,163, 68,100, 74, 74,156, 94,175,239,215,182,109, 91, 68,156, 56,209, 19, 64,122, 77,229,148, 64,
- 79, 63, 63, 63,168, 84, 42,188, 72, 72,136,109,132,200,218,187, 34,120,227,180, 41, 51,231,227,208,222, 93, 56,240,243,142,172,
-253,123,182,187,160, 1,254, 99, 52,104,208,248, 87, 89,179,234,213, 34,255,163,152, 93,155,248, 98, 53,134,165,180,164, 36, 54,
- 46, 46,174, 89,251,246,237,177,119,239,222, 78,221,186,118,125,195,225,114,245, 92, 14, 7,140, 6, 60, 72, 84, 74,229,149, 43,
- 87,174,116, 30, 57,114, 36,235,254,253,251, 16,139,197, 85, 66,171,242,155,197, 98,129, 16, 2,129, 64,128, 83,167, 78,149,171,
-148,202, 43,245, 90,139, 12, 70, 3,227,173,208, 35,132, 64, 42,149,130,195,225, 96,235,214,109,216,185,101,203, 68, 3, 16,238,
- 37,180,253, 18, 0,255,255,219, 3,186,172,236,234,239,191,255,222, 33, 40, 40,136,237,236,236, 12,169, 84,138,146,146, 18, 20,
- 21, 21, 65, 38,147, 65, 38,147,161,164,164, 4, 82,169, 20,124, 62, 31,241,241,241, 58,117, 89,217,213,218,248,120,106,245,201,
-169, 83,167, 46,139,139,139,115, 96,177, 88,208,233,116, 48, 26,141, 48, 26,141, 40, 47, 47, 71, 74, 74, 10,158, 63,127,142,196,
-196, 68, 20, 23, 23,131,205,102,131,201,100,226,241,227,199, 37, 66,157,238,132,150, 30,211, 31, 12, 54, 16,113,251,246,237, 25,
-147, 39, 79,134,163,179,115, 47,100,103, 55, 72,192,156,174, 67,192,148,126,152,128,249, 67, 0,201,229,143,210,210,210,186,247,
-238,221, 27, 14,206,206, 27, 91,102,103, 95, 78,104,132,159,150, 65,175,191,117,251,246,237,126, 83,166, 76,193,222,189,123, 55,
-218,166,165, 93, 40,120,111,154,211, 22,176,109,234,225,177,113,218,180,105,184,116,233, 18, 12,122,253,173, 58, 40,171, 71,124,
-111, 50,109,246, 66,151,247, 28,223,247, 80, 20,181, 0,192,102,186, 71,209,160, 65,227,159,108,209,106,212,212,161,137,193,176,
- 98,233,210,165, 58, 6,131,129,209,163, 71,155,158,137,140, 12,124,252,228,137,187, 68, 34,177, 48, 24, 12,245,114,217,106, 52,
-219,151, 46, 93, 42,213,106,181,240,246,246, 70,113,113, 49, 12, 6, 3, 88, 44, 22, 88, 44, 22, 40,138, 2,131,193,128, 72, 36,
- 66, 92, 92, 28,246,239,223, 47,179,213,104,182,215,251,144, 48, 24,158,134,133,133,129,201,100, 18, 62,159, 15,138,162,192, 98,
-177,176,109,219, 54,201, 78, 32, 2, 0,152, 12,134, 22, 0, 24, 12,170,161,222,187,245,206, 91,114,185, 92, 24, 43, 22, 1,212,
- 91,214, 82,163,249,126,211,166, 77,242, 23, 47, 94, 64,169, 84, 86, 89,223, 20, 10, 69,149,115,189, 84, 42, 5, 69, 81, 80, 42,
-149,136,140,140,148, 91,106, 52,223,215,198, 87, 4,228,101, 39, 39, 15,239,212,169, 83, 81, 90, 90, 26, 74, 75, 75,241,244,233,
- 83, 68, 71, 71,227,248,241,227,184,116,233, 18, 82, 82, 82,160,215,235,225,228,228, 4, 66, 8, 78,159, 62, 93,170,151,203,135,
- 20, 1,121,244,152,168, 29, 77,196,226,126,246,118,118,153,182, 54, 54,217, 77,196,226,126,239,111, 55, 7, 94,190,124,249, 18,
-122,189, 30,238,238,238, 86,117,249,105, 17,189,254,246,237,219,183, 49,101,202, 20,184, 52,107,182,193, 13,176,125,191,140, 27,
- 96,235,230,225,177,161, 82,192, 16,189,254,118, 99,235,108, 10,236,248,242,203, 47, 85, 28, 14, 7,199,142, 29,115,215,121,122,
- 38,178,128, 9, 34,192,167, 55,192,169,111,127, 7, 96,215,215, 95,127,157, 71, 81, 20, 14, 31, 62,108, 99,238,225,241,140, 5,
- 76, 53, 7,154,152, 3, 77, 88,192, 84,115, 15,143,103,199,142, 29,179,209,235,245, 88,188,120,113,158, 3,176,171, 14,202,133,
-132,144, 97,132, 16,127, 66,136,203,254, 61,219,241,251,153,240, 74,145, 53, 19, 21, 78,239,147, 1, 60,163,123, 28, 13, 26, 52,
-254,201,168,209, 12,197,234,180, 54, 31, 32,118,189,186,180,193,163, 39, 73,165, 54,150,102, 23, 43,183, 21, 63, 15,111,222,215,
-215,172,205,143, 63,254, 8, 54,155,141,172,172, 44, 36, 36, 36,192,204,204, 12, 19, 39, 78,212,168,228,242,225,213,114, 29,246,
- 7, 16,253,150,179, 34,159, 90,105,178,200,131, 21,223,236,194,239, 81, 76,115,115,115, 40, 20, 10, 48, 24, 12,240,249,124, 8,
- 4, 2,152,152,152, 32, 38, 38, 6, 67,135,141, 48, 20, 8,252,255, 8, 88,250, 71, 62,181, 42,206,202, 88, 67,157, 1, 65, 28,
-240,133,157,163,227,210,213,171, 87,155, 12, 26, 52, 8, 28, 14, 7,206, 77,188,242,220, 7,111,222,193, 96, 80,250,236, 34,217,
- 42,143, 38,142,230, 9,201,233, 0, 40,137,238,225,106,199,106,185, 14,255, 84, 79, 87,237, 13,247, 83,191,110, 49,107,215,174,
-194, 31, 93, 42,149, 34, 63, 63, 31, 18,137, 4, 82,169, 20, 74,165, 18, 0, 16, 21, 21,133,223,111, 38,202, 84,206,129,169,181,
-213,243,143,182, 39,153, 58,150, 63,104,122, 36,236, 87,166,173,173, 45,242,243,243, 81, 80, 80, 0,169, 84, 10,149, 74, 5,131,
-193,128,226,226, 98,236, 59,240,171,161, 72,228,255,186, 42, 32,100, 93,156,202, 44, 19, 43,197, 29, 39,191,150,110,100,198,140,
- 25,166,102,102,102, 48, 26,141, 40, 41, 41, 65,102,102, 38,210,210,210,112,243,230, 77,165, 68,170,133,210,102, 64,118, 85,192,
-210, 26, 56,255,131,248,219,113, 86,143, 91,229,232,224,144,147,145,145, 97,103, 48, 24,224,228,228,164,151, 22, 23,111,224, 2,
-151, 76,129, 92, 0,164, 16, 88,253,253,142, 29,211, 71,140, 24,129,142, 29, 59,102,229,229,231, 55,173,169, 47, 17,128,233, 13,
-152,151, 57, 59, 63,127,248,240,161, 56, 51, 51, 19, 83,166, 76, 41,204,120,245,106,121,165,191, 86, 41,208,211,205,195, 99,195,
-177, 99,199,108,154, 53,107, 6, 95, 95,223, 60,126,102,102,171, 36,160,180,150,254, 89,235,216,148,190, 60,215,116,238,168,214,
- 29,231,205,155, 7,189, 94,143,155, 55,111,226,193,131, 7,200,200,200,192,157, 59,119,164,102, 66,225,184,106,185, 14,107,236,
-159, 67,188,148,238,135, 15,135, 81, 28, 14, 7, 7, 14, 28, 64, 92, 92, 28, 0,192,207,207, 15,211,166, 77,131, 94,175,199,164,
- 73,147,201,185, 36,147,212,186,250, 39,128,214, 0,190, 67,133,200,235, 72, 8,225, 83, 20,149, 3,192, 5,141,243,201,162,251,
- 39,205, 73,115,254,123, 56,255,145,168, 55,215,225,218,159, 96,254,110,154,143, 89, 57,225,123, 66, 89, 61,122,250,251,132,134,
- 4, 51, 58,117,234, 4, 23, 23, 23,248,249,249, 33, 51, 51,147,103, 97, 97, 81, 95, 62, 53,133,255,224, 9,105,109,218,180,177,
- 88,190,124,185,249,192,129, 3,217, 46, 46, 46, 32,132, 32, 46, 46, 14, 17, 17, 17,229,123,247,238,149,149,217, 15,147,198, 94,
-251, 77,209,144,124,106, 15,128, 50, 0,107,156,115,114,126,158, 63,119,110,112,187,246,237,103,132,132,132, 48, 68, 2, 19,246,
-250, 85, 51,249, 0,176,246,135,227,230, 35, 2, 39,226,123, 79,160,215,132,154,243,200, 85,175,103,102,246,172,140,143, 70,245,
-243,252, 98,193,116,195,216,177, 99,133,102,102,102,112,113,113,129,165,165, 37, 82, 83, 83,145,157,157, 77,206,158, 61,171,184,
-247,248, 37,251,244,165, 71, 25,124,115,135,134,228, 37,148,251, 15,250,248,245, 71, 31,125,100, 57,117,234, 84,211, 14, 29, 58,
-176,121, 60, 30,120, 60, 30,242,243,243,145,146,146, 82,126,246,236, 89, 69,153,221,144,146,216,107,199,228, 13,204,117,168,242,
- 31, 31,154,114,235,114,200,226,231, 79,159, 78, 54, 2,109,203,203,203,157, 12, 6, 3,197, 96, 48,114,141, 70,227,211,114,185,
-124,191,198, 47,100, 27,157,235,176, 97, 48, 24, 12, 28,131,193, 0,169, 84,138,203,151, 47,179, 94,189,122,181,250,201,147, 39,
-171,115,114,114,160,211,233, 48,102,204, 24,248,249,249,225,218,181,107, 40,200,207, 63, 91, 23, 87, 18, 80,202,203,206,158, 54,
-107,214,172,243, 97, 97, 97,140, 39, 79,158,216, 28, 56,112, 96, 95, 77, 2,102,242,228,201,198,252,204,204,105, 26,160,180,142,
-254, 89,215,216, 44,188,112,108,231,147,145,163, 3, 91,134, 4,173,102,119,235,214, 13, 54, 54, 54,232,217,179, 39,202,203,203,
- 45, 90,180,104, 81,223,216,148,251, 15, 30,151,218,182,109, 91,225,182,109,219,196,211,167, 79,199,130, 5, 11, 0, 0, 42,149,
- 10,151, 46, 93,194,226,197,139,243, 50, 89,157,149,245,245,207,183,150,170, 74, 1,118, 3,128, 63,128, 84,208,142,239, 52,104,
-208,248,103,162, 50,169,180, 3, 42, 18, 75,159, 67,197,203,121,253,185, 14,111, 61,120,134,234,105, 62, 42,224,144,160,119,157,
-250,106,206,210, 13,190, 76,157,204,146, 77,169,205,146, 95,190,164,234,203,121, 88,149, 79,205,220, 75, 97,157,118,180,211,250,
-181,107, 23,125,255,253,247,253, 42, 67, 56, 8, 4,130,167, 42,165,242,138,173, 70,179,189,204,220,235, 74, 99,115,243,101, 3,
-249, 0,230, 90,198,198,238, 8, 24, 49,102, 19,223,202,157,189,114,221, 94, 53,147,193,208,166,228, 20,224,123, 79, 64,216,128,
- 5,146,101, 90,224,185,212, 65,159,111, 29,152,244,245,151, 95,126,177,118,205,154, 78, 34,145,168, 87,185, 94,239,101, 52, 26,
- 1,163, 49,185, 76,169,188, 65,202,203, 31,106,252,130,182,240,205, 29, 72,131,243, 18, 90,180,144, 91,189, 14,239,116,112,255,
-254,133, 39, 78,156,248, 83,219,173, 53,154, 29,101, 22, 45,162, 27,210,246,234,101,212,192, 93, 72, 36,119,235, 50, 93,210,185,
- 14, 27,248,246, 97, 52,206,182,180,180, 60,212,175, 95, 63,126,255,254,253, 49,116,232, 80,116,235,214, 13, 70,163, 17,132, 16,
-200,229,114, 28, 63,126, 28,155, 54,109, 74,110, 10,172,169,143, 79, 3, 92,225,253,254,251,144,182,109,219, 30,168, 75,192,188,
- 21, 89,245,250, 36,214, 61, 54,121,201,122,243,225,233,227,231,175,247,212,202,114, 45,172, 5,122,241,243,103, 79, 25, 13, 31,
-155,222,114, 67,220,241,206, 99, 70,141,154,207,100,177,122,190, 93, 1, 73, 94, 36, 36,196, 86, 38,149,134,223,180,203,141,236,
- 75,149,177,235,104,199,119, 26, 52,104,252,211,133,214, 80, 84,248,107, 85,165,228,169, 53,215, 97,165,213,135,197, 98, 73, 82,
- 79,207,153, 88, 23, 59, 27,232,247,214,146,133,122,115, 29,190,253, 59, 29,144, 67,163,249,230,157, 96,164,213, 86, 23,178,223,
- 43,223,152,176,136, 37, 64, 18,244,154, 0, 72, 18,128,200,185, 21,124,157,214,126, 85,189, 77,181, 62,100,223, 57, 46,167, 88,
- 13,220,130, 66,113, 11, 10, 69,141, 78,187,108, 22,167,184,190,122,190,223,246, 76, 64,246, 87,219,254, 62,103,189,226,225, 47,
-156,207,127, 27,222, 20, 22,158, 6, 32,114,142,138,178,191, 16, 21, 53,246,139, 37, 75,198, 56, 56, 58,122,216,216,216, 88,154,
-154,154, 50,238,223,191,159,166, 87,171,119,180, 3, 14,190,181,166,214, 11, 13,112,197, 59, 51,179,213,199,163, 70,205,167, 88,
-172, 30,213, 5, 12,209,235,239,184, 3,187,234,178,100,125,232,216,116,225, 57,244,123,107,201, 2, 19,152,213,144,190,145, 93,
- 81,143,117,208,235,215, 33, 62,190,134, 62,223,232,190,180,150,162, 40, 57,104,199,119, 26, 52,104,252,115, 81,153,239,240,220,
-255,245,129,251,211,156, 52,231, 63,136,147,137,138, 85,116,244,249,164, 57,105, 78,154,147,230,164,209, 32,176,232, 83, 64,131,
- 70,131, 97,192, 31,211, 96, 52,104,208,160, 65,131, 70, 37, 42,125,179,170,227,103,160,194,117,167, 54, 85,218,152,213, 4, 31,
-162,108,163,105, 78,154,147,230,164, 57,105, 78,154,147,230,252,215,113,214,199,253,119, 92,205, 88,233,147, 85,229,155,245,127,
- 5,218,172, 74,115,210,156, 52, 39,205, 73,115,210,156, 52,231, 63, 29, 14,111, 69, 86,245, 15,128, 70, 6, 44,165, 65,131, 6,
-141,127, 42, 66, 66,192, 32, 4, 20, 33, 33, 12, 66, 78, 48, 9, 9,100, 18,130,191,148, 10, 36, 48,176,230, 96,182,159, 77,180,
- 52,165,207, 56, 13, 26,255, 40,228,162,150,164,210,180,143,214,255, 95,184,138,197,226, 61, 0,168,188,188,188,217, 0, 50,233,
- 83,242,191, 7, 43, 43,171,126,122,189, 30, 50,153,236,202, 63,177,125, 45, 61, 48,138, 48,208,162,234, 7,130,204, 23, 41, 56,
- 84, 83,217, 22,158,152, 2,234,143, 88, 92,148, 17, 47, 18, 94,225, 84, 35, 14,199, 24,210,223,101, 23, 0,156,143,206,154,143,
-255, 78, 92,173,230,182,182,182, 23, 89, 44, 22,203, 96, 48,204,149, 72, 36, 81,181, 11,161, 64, 38, 0,176,201,181, 21,210, 60,
-187,229,159,127, 74,177,203, 52,251,165, 26,149,178,148,201,102,190,230,177,197,183,231, 76,103,156, 47, 81,116, 77,168,105,255,
-240,240,240, 90,179,120,183,242,196, 16,134,161,229, 48,191,214,105,169,223,109,239,244,125, 47,119, 27,118, 90,214, 99,209,198,
-221,165,123,184, 22,110,195,166,140,165,162, 88, 2,106,242,254,253, 69, 10,122,148, 53, 28,235, 1,171,114,192,151,205,227,185,
- 24,244,122,123, 10, 32, 76, 22, 43, 95,167,209,100,113,128,248, 21,128,244,159,206,201,225,241,156, 13,122,189, 61, 0,252, 47,
-214,147,198,187,168, 85,104,137, 68,162, 24, 6,131,225, 92, 61, 25,110,101, 62,193,202,223,170,111,163, 40, 10, 6,131, 33,187,
-164,164,164, 67, 35,142,111, 6, 96, 44,128,202, 37,234, 71, 0, 28,199,135, 59, 28,155,113, 56,156,165, 66,161,176,175, 74,165,
-106, 5, 0, 38, 38, 38,207,149, 74,229,213,242,242,242,239, 62,144,151, 5,224, 99,145, 72,212,135,193, 96,244, 33,132, 80,132,
-144,107, 10,133,226, 42,128, 19, 0, 62, 36, 82,130,137,157,157,221, 58, 43, 43,171, 9, 43, 86,172, 40,178,182,182,246, 94,188,
-120,241,163,226,226,226,223, 10, 11, 11, 87,161, 17, 57,234,254,203,240, 16,139,197, 71,216,108, 54, 51, 43, 43,171, 15, 0,184,
-184,184, 92,211,106,181, 6,137, 68, 50, 17,192,171, 70,242, 9, 1,116, 17,137, 68, 29, 68, 34,145,191,193, 96,104,241, 54, 63,
-227, 11,133, 66,113,179,188,188, 60, 6,192,125, 0,202,255,161, 49, 98,202, 98,177,194,222,246,117, 47, 0,242,127,218, 77,128,
- 48,208, 34,225,121,162,119,149,240,106,229, 83,123, 97, 10,174, 53,148,109,176,208,234,219,203, 97,216,240,225, 3, 24, 0,160,
-213,157, 31,118,245, 70,238,153,255,112,115,154,143, 30, 61,250,110, 88, 88,152,165, 70,163,193,236,217,179,143, 68, 71, 71,239,
-146,201,100, 43,234,188,113,136, 44, 23,111,222,118, 73, 64, 81, 12, 0,176, 51, 26, 13,118,111,222,188,242, 74,120,118,119,240,
-243,231,247,214,171, 18,175,222, 55, 82,236, 57,229,232,153,216,144, 74,180,112, 71,192,176, 49,163,134,174, 89, 19,130, 9,227,
- 38, 52,121,254, 92,109,226,100,150,202, 45, 86, 9, 61,173,109,237,134,175, 89, 27, 78,221,190,117,122,120,216,129,208,171,211,
-167, 91,247,165,197, 86,131, 64,173,101,177,186,152,123,122,250,143, 59,125, 26, 34, 23, 23, 22,139,199, 99, 0,128, 94,163,113,
- 81,100,101, 57, 28, 27, 62,188,115,200,203,151,215, 67,128, 7, 52,231,255, 23, 78, 26,141, 17, 90, 12, 6,195,249,205,155, 55,
-118, 66,161,176,226,102, 76, 8, 12, 6, 3, 12, 6, 67, 85,242, 98, 66, 72,213,183, 94,175,135,143,143, 79,131,222,104, 1,244,
- 5,240, 73,239,222,189, 3,191,251,238, 59,182,175,175,111,101,202,144,158, 43, 87,174,252, 33, 46, 46,238, 36,128,131,168, 8,
-222,216,208, 55,222, 65, 66,161,240,240,230,205,155,205, 6, 12, 24,192,114,116,116, 4, 69, 81,200,203,203,235, 18, 29, 29,221,
- 97,241,226,197,115,149, 74,229, 36, 0, 23, 27,113,126, 90,155,154,154,134,143, 26, 53,202,185, 87,175, 94,252,150, 45, 91,194,
- 96, 48,224,241,227,199,211, 99, 98, 98,198,159, 60,121, 50, 88, 46,151, 7,162,225,249,218, 40,145, 72, 52,213,204,204,108, 93,
- 80, 80,144,213,164, 73,147,184,207,158, 61, 43,113,119,119,167,110,223,190,109,123,252,248,241,185, 27, 54,108,248, 88, 38,147,
-173, 82, 40, 20,191,162, 1, 57, 20, 77, 77, 77, 99, 24, 12,134,115, 67,132, 48,128,198,136,225,118, 77,155, 54, 61,126,235,214,
-173,166,233,233,233,134,145, 35, 71, 30, 2,128,171, 87,175,250,234,116, 58,106,224,192,129,231,179,179,179,199, 2,120,220,192,
-182,183,177,178,178, 58, 51, 97,194, 4, 43, 15, 15, 15, 65,211,166, 77, 41,161, 80, 8, 38,147,137,210,210, 82,199,103,207,158,
-245,127,240,224,129, 42, 58, 58,186, 88,163,209, 12, 7, 16,223,136,235,212,205,206,206,110, 50,155,205,110,173,215,235,157, 0,
-128,197, 98,189,209,233,116,207, 36, 18, 73, 24,128,187, 31, 58, 64,236,237,237,119,174, 91,183,206, 70, 34,145,144, 13, 27, 54,
-236,148,203,229, 83,255,169, 55,131, 35,191,157, 64,204,163, 7, 64, 69,218, 28,170,134,254, 71, 1,224,124,254,249, 18,116,232,
-216, 25, 19, 39,124, 92, 47,231, 71,253,156, 55,179,185, 28,107,181, 90,125,183,180, 76,115, 66, 40,224,143,157, 48, 62, 32, 25,
- 0,206, 95,184, 62,182, 83, 39,203,107,230, 2,222,199,124, 62,191,155, 78, 91, 94,244,251,149,236, 47, 27, 35,170,156,156,156,
- 46, 90, 90, 90, 10,138,139,139,243, 10, 10, 10,126, 26, 54,108,216,218,131, 7, 15, 90,166,165,165, 33, 43, 43, 11,139, 22, 45,
- 18,101,103,103,207,143,143,143,191,167,213,106,107,181,108,201,229,197,219, 87, 46, 31, 17,100,110,110,195, 20, 10,204, 96,106,
-110, 5,119,143,182,232,210,109, 24,134, 12,157,129,148,228,184, 46, 7, 15,172,137,123,243, 38,250, 91,145, 85,179,181, 82,105,
-211, 90,239, 75, 45,155,163,215,240, 81, 21, 34, 43, 40, 40, 4, 47, 19, 19,229,233,175, 25,159,157, 59,205, 18, 12,233,231,195,
-211,107,243,210,111,223, 58,221,180, 71,207,145, 0,208, 33,236, 64,232,213,207, 38, 90,246,219,121,164, 68, 78, 63,146,106,191,
-119,174, 97,179,167, 14,218,182,205,206,111,238, 92,142,226,245,235,242,212,221,187,203,242,111,222, 52,176,120, 60,226, 50,120,
- 48,101,219,167, 15,127,238,139, 23,156, 59, 27, 54,248,179, 67, 67,221, 87,149,151, 31,166, 57,255, 79, 57,255,237,168,116,130,
-175,190,250,240,231, 58,133, 22, 69, 81, 16, 10,133, 56,118,236, 24,216,108, 54, 88, 44, 22,216,108,118,173,127,187,186,186, 54,
-164, 34,163,197, 98,241, 15,187,118,237,178, 31, 52,104, 16,248,124,126,213, 6, 38,147,137, 1, 3, 6,160,127,255,254,236,156,
-156,156,241,199,142, 29, 27,191,126,253,250,124,169, 84,186, 0,111, 19, 67,215,129, 62,222,222,222, 17,151, 46, 93, 50, 81,171,
-213,184,121,243, 38, 74, 74, 74,192,229,114,225,236,236,140,129, 3, 7,178, 18, 19, 19,173, 6, 12, 24, 16,241,242,229,203, 0,
- 0,215, 26, 80,215, 14,118,118,118, 55, 78,156, 56,193,111,219,182, 45,149,146,146, 2, 63, 63, 63, 0, 64,105,105, 41, 70,142,
- 28,201,159, 52,105,146,199,248,241,227,239, 75, 36,146, 94, 0, 98,234,225,107, 47, 22,139,127, 29, 53,106,148,227,250,245,235,
-205, 76, 77, 77,145,158,158,158, 43, 22,139,189, 42,207,247,248,241,227,185,195,134, 13,115,216,180,105,211,246,240,240,240, 47,
- 37, 18,201, 84, 0,177,117,170,214,183,130, 88, 32, 16, 32, 63, 63, 31, 71,142, 28,193,252,249,243,193,100, 50, 33,145, 72,112,
-252,248,113,124,246,217,103,149,130,166, 65, 98, 88, 32, 16,244,247,244,244,220,119,245,234, 85,103, 11, 11, 11, 56, 58, 58, 50,
-190,254,250,235,214,238,238,238, 38, 77,154, 52, 97,230,230,230, 34, 34, 34,194,125,242,228,201,103, 50, 51, 51,167,107, 52,154,
-122,167,212,236,237,237,247,159, 59,119,206,245,249,243,231,216,189,123, 55,138,139,139,193,229,114, 97, 97, 97, 1,177, 88, 12,
- 47, 47, 47,106,249,242,229,130, 97,195,134, 9, 22, 44, 88,176, 95,171,213,182,107,192, 53,106,107,103,103,183,167, 79,159, 62,
-238,161,161,161, 22, 98,177, 24,149, 47, 6,165,165,165,206,233,233,233, 93,130,130,130, 2, 99, 98, 98,210, 36, 18,201, 28, 0,
- 79, 26, 57,112,218,181,108,217, 50, 96,228,200,145,204,220,220, 92,132,133,133, 5,200,229,242,118,141, 16,151,127, 43,196, 60,
-122,128,217,243, 22, 41, 28, 93, 92, 56,151, 46,238, 27, 29,126,170,249, 35, 11,147,138,132,212, 82, 21,202, 3, 71,189,236, 56,
-112,208, 12,206, 71, 67, 71, 42,126,254,113,187,168, 33, 66,139,205,229, 88, 31, 57,188, 53,243,214,237,152,214,151,163, 31, 12,
- 30, 61,124, 56,225,112, 44,220, 1,224,203,197,159,179, 35, 34, 35, 15, 12,232,223, 57,167,103,143, 14,153, 19, 39, 45,113,109,
- 68,117,155, 55,111,222,252,122, 92, 92,156, 61,143,199, 67,113,113,177,245,207, 63,255,188,181, 71,143, 30,140,212,212, 84, 36,
- 38, 38,226,245,235,215, 40, 45, 45,197,128, 1, 3, 68,177,177,177, 63, 1,168, 85,104,149, 51,250,174,115,108,162,219, 97,109,
- 34,108, 90,110,144,217, 17, 93,110,203,203,231, 46,183, 57, 26,166,242,179,119,240,241,250,100, 90, 48,214,172, 61,201,254,237,
-200,198,160, 43,209, 71, 1, 70,211,218, 51, 2, 16,116, 91,185,106, 5,100,114, 13, 38, 77,152,133,201, 19,102, 89, 19,104, 29,
-136, 65, 45,212,170, 74, 44, 76, 57, 47,162,118,237,221, 58, 10,128,115, 53,177,117,133, 22, 91,181, 99, 13,139,213, 57,224,135,
- 31,108, 91,207,156,201,123, 18, 26,170, 44,188,121, 83,229,249,209, 71, 37,126,159,126,170, 1, 0,249,235,215,156,151,193,193,
- 2, 91,127,127,147,174, 75,151, 90, 26,180, 90,241,154, 53,107, 58, 5, 85, 36, 47,111, 20,167,235,216,177,134,160, 3, 7, 58,
-222, 92,178,164, 55,165,211, 49, 7,119,237,250,120, 67, 88,216,155,191,194,249,159,172,103,206,141, 27,154, 98,119,119,248,141,
- 28, 89,228,106,103,167,249, 79,182,253,175,212,147, 70, 21, 42,125,181,102, 87,127, 67, 69, 84, 84, 84, 47, 0,215, 1,132, 6,
- 4, 4,132, 0,128,185,185,121,190, 84, 42,181,139,136,136,168, 87,100,177,217,108, 56, 56, 56,192,203,203, 75, 34,145, 72,236,
-235,168, 64,150,209,104,116, 38,132, 84, 89, 95,106,131, 70,163, 65,114,114, 50,218,180,105,147,141,138, 68,180,181, 26,117, 4,
- 2, 65,106, 98, 98,162, 77, 66, 66, 2, 98, 98, 98,224,238,238, 14, 75, 75, 75,176,217,108,232,116, 58,200,100, 50,120,123,123,
-131,199,227,161,125,251,246,133, 74,165,210,189,158, 41, 32,158, 80, 40, 76,190,113,227,134,139,159,159, 31, 30, 62,124, 8, 23,
- 23, 23,136,197, 98, 0,192,235,215,175,113,251,246,109,124,244,209, 71,136,139,139,195,152, 49, 99,178,148, 74,165, 23, 0, 77,
-109,132, 86, 86, 86,185, 87,175, 94,205,246,245,245, 85, 43,149, 74, 70,126,126, 62,251,230,205,155,122,185, 92, 46, 42, 45, 45,
-101, 75,165, 82,182, 76, 38, 99, 41,149, 74, 54,131,193,224,168, 84, 42,246,149, 43, 87,152,229,229,229,117, 6,200,172,188, 78,
-145,145,145,240,245,245, 69, 68, 68, 4,190,248,226, 11,220,185,115, 7, 46, 46, 46, 56,113,226, 4,150, 46, 93,138,164,164, 36,
-216,216,216,160,101,203,150,245, 93, 35,120,120,120,164, 60,125,250,212,131,195,225, 84,230,117,172,204,151,135,130,130, 2,188,
-122,245, 10,111,222,188,129,167,167, 39, 38, 76,152,240,234,205,155, 55,158,245,245, 60, 39, 39,167,130,231,207,159,219,180,105,
-211, 6,249,249,249,176,176,176,128,185,185, 57, 44, 44, 44,170,254,118,119,119,199,146, 37, 75, 32, 22,139, 37,106,181,218,190,
- 62, 17,228,235,235,123,241,202,149, 43, 54,102,102,102,200,203,203,131, 76, 38, 3,139,197,130, 64, 32,128,141,141, 77,149,144,
- 79, 78, 78,198,208,161, 67, 11, 83, 83, 83, 7, 53, 66, 36, 49,236,237,237, 19,227,227,227,189, 8, 33,200,204,204, 68, 82, 82,
- 18,230,205,155,151,172, 86,171,125,240, 15,202,217, 87,205,239,138, 51,117,218,108,206,168, 17,221,180, 47,158, 71, 81, 60, 99,
- 18,218,181, 54, 43, 5,128,199,207,100,230, 26,134, 55, 90,180, 10, 32,167,206,220,229,254,122,240,103, 54,140,176, 7,133,164,
- 23,201,248,166, 54,238,129,125, 28,102,126,254,249,244,214,189,123,244, 98,200,149, 74,187,159,126,218,214, 62, 53,245,133, 29,
- 0,184,187,183,144,204,157,187, 56,214, 84, 40,148, 92,191,125,195,248,253,247,251,159, 93,186,150,187,183, 1, 85,118,247,242,
-242,186, 23, 25, 25,105, 99,103,103, 7,115,115,115, 40,149, 74,148,151,151, 35, 33, 33, 65,125,236,216, 49,157,153,153,153,105,
- 94, 94, 30,164, 82, 41, 40,138, 66,100,100,100, 38, 0,183,247,137, 42,125,180, 0, 96,222,144, 22,236,150,125,189, 44, 57, 60,
-189,137, 9,251,165, 3, 40, 3,143, 34, 34,251,243, 23, 31,183, 57,127,249,225,196, 81,163,191,176,237,217,107, 20,130, 86, 7,
-234,114,114, 50,253,202,209, 51,177, 38, 31, 45, 31, 79,244, 29, 57,102,212,199,107,214,132, 32, 36, 40, 20, 81,145,167, 75, 69,
- 66,134,198,204,130,109,238,223,165,187,122,201,252, 17, 89, 10, 69,142,203,154, 77,199, 38, 12, 29,177,196,185, 71,207,145,184,
-125,235, 52,194, 14,132,198, 80, 38,132,158, 70,124, 15, 33,128,165,133,187,251,156,133,201,201,156, 39, 33, 33, 10,125, 78, 78,
- 73,135,197,139, 11,107, 42,155,125,249,178,144,235,232,104,102, 57,124,184,213,118, 55, 55,162,147, 72,246,212,228, 99, 84, 19,
-103,180, 72,100,113,244,252,249,126,132,205,238,181,236,171,175, 76, 2, 2, 2, 32,147,201,112,242,228, 73,236,217,189, 91,227,
-224,224,240,212,241,217,179,184,214, 50,217,234,134,114,118, 88,188,184,208, 96, 48, 80, 31, 47, 93, 58,224,249,235,215,125,243,
- 36,146, 38, 0,224, 96,101,149,213,193,221, 61,102,127, 84, 84,210,206,166, 77,141, 13,173,231, 47, 23, 46,216,135,167,167,207,
-180,178,178, 50,201,151, 72, 88, 60, 46,183,168, 75,203,150, 39,126, 92,181,234,186, 62, 62,158,195,119,118, 54, 51, 15, 8,104,
-116,219, 59, 44, 94, 92, 88, 44,151,179, 22,174, 93,219, 61, 35, 63,191,137, 66,163,241,148,202,229, 98,131, 78,199, 48, 19, 8,
-138,154,121,123, 75, 84, 55,111,230, 54, 43, 43, 91,180, 23,144,252,183,174,117, 77, 90,228,111,132,247,227,104,253, 41,215,225,
-245,128,128,128, 63,173,174, 33,132, 52,200,154,197,102,179,223,153,166,170, 3, 28,138,162, 16, 27, 27, 11,107,107,107,136,197,
- 98,240,120,239, 38, 31, 44, 40, 40,192,157, 59,119,240,226,197, 11,180,109,219,182,114, 26,163,118, 69,196,227,125,190,105,211,
- 38, 11,173, 86,139,152,152, 24,116,232,208, 1, 60, 30, 15, 28, 14,231, 29, 17, 40,145, 72,208,170, 85, 43, 44, 91,182,204,124,
-253,250,245,159,107, 52,154, 90,223, 72, 89, 44,214,130, 89,179,102,217, 85, 90,176,178,178,178,208,190,125,251,170,237,182,182,
-182,120,252,248, 49, 58,116,232, 0,103,103,103, 4, 6, 6,218,133,133,133, 45,208,235,245,223,213,198,201,229,114, 25,190,190,
-190, 29, 1, 64, 40, 20,130,193, 96,188, 52, 51, 51,179,181,183,183, 23,154,153,153,253,169,141, 7, 14, 28,144, 50, 24, 12, 93,
-189,106,128,193, 64, 94, 94, 30, 90,183,110,141,210,210,138, 12, 46, 74,165, 18,158,158,158,144,201,100, 85,162,213,209,209, 17,
- 42, 85,221,174, 95,109,218,180, 9,241,241,241, 25, 40, 20, 10,121,108, 54, 27, 79,158, 60,129,159,159, 31,142, 29, 59, 6, 87,
- 87, 87, 8, 4, 2, 36, 39, 39,195,215,215, 23, 55,110,220,128,173,173, 45, 90,181,106,197,179,179,179,187, 85, 92, 92,124, 45,
- 35, 35, 35,164,142,122, 50, 68, 34, 17,110,220,184,129,253,251,247,227,245,235,215,200,201,201,129,169,169, 41,218,181,107,135,
-150, 45, 91,162, 91,183,110, 72, 78, 78, 6, 85,127,103, 18,123,121,121, 69, 61,124,248,208,134, 16,130,176,176, 48, 40, 20, 10,
-104,181, 90, 48, 24, 12,240,249,124, 88, 90, 90,162,111,223,190,176,181,181,133,151,151, 23,142, 31, 63,110, 51,100,200,144,223,
- 37, 18, 73, 59, 0,121,245,157, 87, 75, 75,203, 69,193,193,193, 46,118,118,118, 72, 79, 79, 71,105,105, 41,236,237,237,209,187,
-119,111,167,232,232,232, 69, 58,157,110,219, 63,229, 65, 86,205,241,157,186,116,113,223,104,175,102, 37,190,109,189, 5, 46, 17,
- 81,246, 46,199,162, 36,173, 0,160,117, 11,251,231,163, 3, 4, 89, 79,158, 71,101, 93,186,120, 58,230,197, 75, 68,160, 1, 83,
-219,165,101,154, 19,151,163, 31, 12,246,107,219,222,184,105,227,210,161,243,231,205,228,217,217,207, 64,126,230,105, 68, 95,141,
-117, 93,250,197, 44,219,239,182,252,114,254,114,244, 3, 70,105,153,102,117,195, 76, 89,174, 59, 15,254,216,205, 70, 94, 24,142,
-148, 68, 46, 76, 76, 91,195,221,189, 57,100, 50, 25,248,124, 62,127,194,132, 9,134, 21, 43, 86,148,153,153,153, 9, 40,138,194,
-181,107,215, 36, 0, 6,213,199,171,182,179, 36,134,114,157,158,112,153, 70, 66,153,170, 40, 67, 49,247, 89, 66, 26, 6,246,239,
-147,223,163,115,235,245, 43,214,108, 89,233,213,220,207,118,250,204, 80,246,218,144,137,187, 65,161,103, 77, 60,137, 41,184, 74,
-157, 56,101, 2, 96,232,154,111, 66,144,154,154,108, 57,251, 19,105, 40,139,103,226,232,227,214,221,116,247,254,107,131, 61, 61,
-155, 54, 89,178, 32,240,220,214, 31,182, 14,173,110,217, 58,120, 32,248, 12,128,126, 13, 57,183,255, 34,180,153, 28, 21, 5, 69,
-102,166,174,248,214, 45,117,191, 31,126, 40,116, 25, 52,104,155,182,188,220,166,242, 86,193,160, 40, 80,149,174, 19, 70, 35,197,
- 90,182,140, 65, 88, 44,232, 44, 45, 63, 65, 73, 73,243,250, 56,191,200,205, 29, 61,113,230,204,161,103, 46, 92, 64,211,166, 77,
-171,158,103, 22, 22, 22, 88,186,116, 41, 22, 47, 94,204,123,252,248,113,167,240,240,240, 78,223,109,222,108, 15, 96,116, 67,234,
-121,233,254,125,203, 79,215,172, 89,213,182, 67, 7,215, 67, 71,142,240, 60, 60, 60, 0, 0,175, 94,189,242,218,184, 97,131, 91,
-107, 95,223,252,245,159,127,126,240,249,138, 21,173, 0,220,170,139, 51,239,230, 77,109,120,122,250,204,171,215,174, 89,180,110,
-221, 26, 0,144,148,148,100,183,125,251,246, 89,173, 2, 3, 39,173,153, 59,119,117,128, 90, 45, 53, 43, 40,224, 5,236,220,201,
- 58,250,241,199,245,114, 86,214, 19, 0,122, 79,159,254,121,207, 62,125, 90,142,158, 57,211,202,213,213,149, 18,137, 68, 40, 47,
- 47, 71, 78, 78,142,229,243,231,207, 61,162,228,114,217,169,251,247,195, 96, 48, 12,248, 47, 94,235, 26,181,200,223,204,146,245,
-103, 77,241,246,187,119, 84, 84, 20, 1,208, 59, 32, 32,224, 70,229, 3,220, 96, 48, 52, 72,100,177, 88, 44, 80, 20,213, 80,177,
- 5, 66, 8, 10, 11, 11, 81, 88, 88, 88, 53,117, 36,145, 72,112,245,234, 85, 36, 39, 39,131,205,102,131,195,225,160,188,188,254,
- 28,180, 66,161,176,127,255,254,253, 89,247,239,223,135,187,187, 59, 76, 76, 76,170,234, 85,249,225,112, 56,112,112,112,128, 76,
- 38, 67,191,126,253,216, 59,118,236,232, 95,151,208, 50, 55, 55,255,104,236,216,177,220,202,255, 21, 10, 5,152, 76,102,149,104,
- 81, 40, 20, 40, 46, 46,134, 84, 42,133, 90,173, 70,215,174, 93,185, 81, 81, 81, 31, 21, 21, 21,125,215,144,246,151,149,149, 41,
- 36, 18,137, 69,207,158, 61, 45, 15, 30, 60,152,212,181,107, 87,239,119,122,218,245,235,106,181, 90,205,102, 48, 24, 13,202,163,
-119,248,240,225,170,115,255,230,205, 27,236,222,189,187,106, 91,114,114, 50,118,236,216, 1, 66, 8, 8, 33,117, 94, 35, 31, 31,
-159, 33, 97, 97, 97, 29, 14, 29, 58, 84,194,100, 50,145,148,148,132, 35, 71,142,128, 16, 2, 91, 91, 91,148,149,149, 33, 63, 63,
- 31,215,174, 93,131, 94,175,135, 72, 36,130,147,147, 19,127,193,130, 5, 61, 66, 67, 67,217,117, 9, 45,131,193, 96, 96, 50,153,
-112,115,115, 67, 80, 80, 16,212,106, 53, 56,156, 10,125, 41,147,201, 32,149, 74, 17, 23, 23,135,244,244,116, 16, 66,234,124,200,
-240,249,252,192, 67,135, 14,217,113,185, 92,168, 84, 42,200,229,114,100,101,101, 33, 35, 35, 67, 45,145, 72,244,166,166,166, 12,
- 55, 55, 55, 6,143,199,227,141, 28, 57,146,170, 20,156, 1, 1, 1,214, 97, 97, 97,227,180, 90,109,125, 34,201, 86, 44, 22,175,
-156, 53,107, 22,191,122,159,205,203,203,195,232,209,163, 5,119,239,222, 93, 33,147,201,142, 0, 40,248,135, 61,208, 72,248,169,
-230,143, 98,162,147,124, 35,162,236, 93, 50,178, 13,221,151,126,185,133, 5, 0, 63,239,249,182,123, 68,212,155, 59, 62, 77,243,
-179,194, 79, 53,127,100,105,249,162, 62, 33,192,232,219,203, 97,152, 80,192, 31, 59,122,248,112,242,211, 79,219,218,207,159, 55,
-147,231,214,124,105,133,133,147,109,135,126,250,111,168, 50,213, 43,254, 79, 63,109,107, 63,122,248,152,184,215,175,211,247,244,
-237,197, 59,126,245, 70,238,217,186, 44,134,118,214,124, 39, 1, 79, 9, 39,247,150,240,110, 33,196,227, 39, 73, 56,121,226, 30,
- 90,180,234, 2,141, 70, 3,189, 94, 47, 28, 54,108, 88,217,177, 99,199,212, 47, 95,190,148,171, 84,170, 94, 0, 94,214,215,248,
-236,236, 4,163,183,184, 75, 57,199,132,167,151,151,114,202,150,175, 14,255,184,125,231,129, 29, 44, 29,156,216,182, 66,227,217,
- 33, 3, 58, 29,217,191, 55,104,241,234,224, 35,232,216,105, 96,215, 23, 73,183, 90, 2,120, 90,163,120, 77, 69, 20,227,228, 41,
-125,106, 74,202,208,140,244,244,236,230,246, 98,237, 43, 41,209, 45, 90,254,203,128,158,189, 2,219,120,180,240,231,190, 72,184,
- 65, 5, 45, 27,247,219,154, 77, 91, 39, 84,138,173, 43,151,127,235,245,201, 39,247,184, 7, 15,214,110, 29,255,183,129,195,227,
- 57,139,220,220, 88,175, 15, 30, 84,185, 15, 27, 86, 2, 0,218,242,114,155,215,233,233,230, 2,129, 0,132, 16,232,116,186,119,
-124,136, 43,253,134, 91,123,123,219, 55,132,243,245,215, 95,183, 89,182,108, 25,242,242,242,160,215,235,193,102,179,223,191,103,
- 67,169, 84,226,147, 79, 62,193,206,205,155,187, 52,132,211, 96, 48, 80,159,174, 89,179,234,171, 85,171, 60,230,204,153,195,168,
-126,239,181,178,178, 66,248,201,147,220, 93,187,118, 57,175,220,185,243,147,137, 60, 94, 42, 52,154, 58, 57, 11, 61, 61, 97,149,
-159,111, 82, 41,178, 0,192,219,219, 27,187,119,239,230,205,152, 49,131, 59,108,216,176, 45,143,219,182,221,190,173, 71,143, 20,
-235,230,205,205,184, 60,158,115,125,156,149,231, 19, 0,228,106,117,235,109,219,183, 91, 62,120,240, 0,249,249,249,200,203,171,
-120, 31,165, 40, 10, 29, 59,118,164, 38, 79,158,108,222,204,197,165, 19, 12,134,255,230,229,254,147, 22,249, 27, 97,118, 13,191,
-253,225,163,245,182, 65,212,219, 6, 82,213, 30,142,239, 8,150,250,132,214,135, 64, 42,149, 66, 42,149, 98,239,222,189,224,112,
- 56, 85, 15, 95, 0,208,106,181, 13, 17, 45,190,142,142,142, 40, 45, 45, 69,243,230,205,223,177,100,113, 56, 28,176, 88, 44,112,
- 56, 28,240,120, 60,104, 52, 26,184,186,186,162,172,172,204,183, 46, 78,149, 74,213,206,202,202,170,234, 1,171,121,219, 89, 53,
- 26, 77, 85,125,181, 90, 45, 74, 74, 74,160, 80, 40, 32,151,203,161, 84, 42,253, 26,210, 94,163,209,136,103,207,158,189,242,246,
-246,110,199,100, 50, 33, 18,137,132, 74,165,178,202,183,168,184,184, 24,191,254,250,171,114,202,148, 41, 54,145,145,145,245, 10,
- 45,138,162,240,217,103,159,129,199,227,161,172,172, 12, 63,253,244, 19, 22, 46, 92, 8, 14,135, 3,185, 92,142,221,187,119, 99,
-201,146, 37, 96,177, 88,208,106,181,216,190,125,123,173, 92, 9, 9, 9,175,239,223,191,239,215,190,125,123,203, 83,167, 78, 21,
- 12, 24, 48,192,118,208,160, 65, 48, 49, 49,129, 74,165,130, 78,167, 67,151, 46, 93,224,227,227, 3,137, 68,130,243,231,207, 23,
-122,121,121,217, 60,120,240,192,152,151,151,151,241,255,216,187,238,240, 40,170,246,123,102,123, 73,175,164,144, 80, 34,164,211,
- 12,160,244, 18, 90, 18, 12,162, 20, 69, 81, 81,154, 5, 20, 68, 16, 5, 68, 52,128,162,136,130, 82, 44, 96, 16,144,110,168, 1,
- 19,144, 34, 66, 8, 37, 29, 2,169,187,201,110, 54,201,110,178,125,218,239, 15,146,124, 33, 38,217, 77,192,239,167,126,115,158,
-103,159,157,157,189,115,230,222,185,119,102,206,125,239,123,223,107, 67, 92,179,141, 44,134,160,105, 26,229,229,229,168,174,174,
-134, 90,173,134, 66,161, 64, 73, 73, 9, 4, 2, 1,108,232, 44,120,120,120, 60, 21, 25, 25,201, 7, 0,153, 76,134,222,189,123,
- 99,233,210,165,148,209,104,156, 12,224, 88, 93,178,113, 91, 22,186,136,224, 0, 0, 32, 0, 73, 68, 65, 84,183,110, 61,112,238,
-220, 57,129,159,159, 31,178,179,179,225,229,229, 37,144, 74,165, 54,133,150,143,143,207,247,191,252,242,139,123,189,184,174,191,
-206, 6,195,189,234,152, 56,113,162,251,142, 29, 59,190,167, 40, 42,230,223,246, 82,115,149, 65,212, 59,210, 89,187, 59, 73, 21,
-177,240,237,117,130,208,200,123,157,215,153,179, 32,248,244,147, 5, 17,211,226,157,143,184,202,116, 34, 91, 60,227,162, 3, 54,
- 62,241,196, 40,222, 51, 83,227,242, 68, 34,215,160,205, 91, 62,240,246,238, 48,163,145, 12,115,134,135,167, 51,130, 58,137,137,
-189, 71,178,188, 23, 47,249,208,156,184,227,179,252,159,118, 37,141, 21, 11,147, 71, 31, 59, 85, 60,167, 37,238,220,219,213,135,
- 13,102,105,152, 78,115,157,112,239, 48, 16,189,123,133,192,219,171, 10, 91,191,223,141, 46, 93,251,194,108, 54,195,217,217, 89,
- 78,211,180,149,207,231, 39,218, 35,178, 0,224,244,233,106, 38, 34,162,218,194,175, 97,168, 87,223,248,244,201, 81,227,158, 8,
- 31, 49, 34,154, 57,153,124,210, 58,176,143, 85, 57,110, 76,239,242,227,201, 27,243,148,138, 59,221, 35,122, 12, 66,102, 70,202,
- 88,150,197, 77,130,104,222,250,148,113, 11,199, 77, 76,102,202,238,221, 51, 25, 35,115, 85,182,234,163, 27,227, 98, 99,167, 71,
- 14, 25, 60,132, 73, 62,245,171, 69,140,138, 44,231, 65, 3, 74, 95,125,121,220,129,111, 19,191, 24,125,252,216,247,221,180,186,
-194, 36, 78,100, 53,233,164, 81, 84, 7,129, 68,194, 83,167,164, 80, 61,102,204, 48,215,223,143,114,185, 28,135, 14, 29,130, 88,
- 44,110,248,136, 68,162,134,237, 14, 29, 58,128,168,155, 70,106, 15, 39, 0, 40,149, 74,148,149,149,193,197,197, 5, 94, 94, 94,
- 40, 43, 43,195,133, 11, 23,144,155,155, 11,161, 80,136,177, 99,199,130,215,130,111,115, 83,206, 73, 11, 23,142, 10,235,209, 35,
-176,169,200, 2, 0,171,213,138,202,202, 74,196,199,199,243,142, 29, 59,230,115,188,168,232, 9, 0,137,173,113,246,137,141,213,
-148,239,221,219,236,185, 31,125,244, 81,226,252,249,243,146,177, 99,198,188,185,224,163,143, 54,126,185, 99, 71, 49, 77, 81, 62,
-109, 41, 59,143,199,227, 17, 4,129,128,128, 0, 84, 86, 86,162,182,246,222, 8,182,163,163, 35,220,220,220, 64,146, 36, 24,150,
- 21,254,149,117,221,146, 22,249,135, 96, 75, 35,193,181,229, 79, 22,173,186, 66, 1,192,176,198, 47, 22,134, 97,236, 18, 89, 66,
-161,208,166,207,149, 61, 86,174,166,176, 71,104,213,231, 85, 42,149, 54,220,104,141, 5, 86,125, 62,121, 60, 30,248,124,190,205,
-151,120,157, 24,226,215,212,212, 96,223,190,125, 24, 58,116,104,195,176,148, 86,171, 69,117,117, 53,180, 90, 45, 76, 38, 19,238,
-222,189,139,211,167, 79,163, 91,183,110,128,157,193, 95,243,243,243,175,116,233,210, 37,170,254, 37, 62,124,248,240,142, 63,252,
-240,131, 34, 38, 38,198,143,101, 89,188,247,222,123, 21,143, 61,246,152,103,227,151,188, 45,240,249,124, 92,184,112, 1,221,186,
-117, 3,203,178, 16,137, 68,200,201,201,129,183,183, 55, 24,134,129, 64, 32,128, 90,173,134,147, 83,235, 49, 18,111,222,188,249,
-226, 75, 47,189,164,112,113,113,233,169,209,104,148, 18,137,100,240,217,179,103, 3,172, 86, 43,156,157,157,225,236,236,140,163,
- 71,143,194,213,213, 21,243,231,207, 47, 50, 26,141, 23, 28, 28, 28, 58, 24,141,198,235,101,101,101,239,181,165,190, 41,138,130,
- 94,175, 71, 85, 85, 21, 42, 43, 43,161,211,233, 96, 50,153,108,230,177, 57, 12, 30, 60, 24, 73, 73, 73,252,132,132,132,111,243,
-243,243, 1, 0, 65, 65, 65,152, 63,127, 62,223,223,223, 31,119,239,222,197,149, 43, 87, 96,181, 90,193,178,108,171, 55,175, 64,
- 32, 24,254,252,243,207, 15, 10, 12, 12, 36,172, 86, 43, 24,134,129,217,108, 70,253,118, 81, 81, 17,194,194,194,120,157, 58,117,
-122, 60, 63, 63,127, 56,236,155, 88,193, 1, 64,121,209, 65,248, 11,189, 1,158, 51, 88,227, 65,104, 42,218, 23,197, 69,165, 82,
-125,180,232,253,243, 51,190, 92,107,237, 80,162, 4, 66, 34, 39,160,123,248, 72,188,248, 28,133,132, 79,246, 33,176, 83, 8, 10,
- 11, 11, 49,124,248,112,145, 66,161,120,169,182,182,118,161,189,220,201,201,191,211, 39,143, 30,123,122,210,148,233, 81,209,209,
- 49,212,137, 19, 71,113,243,250,137,140,151,166, 60,165, 98,153, 90,194,221, 85,118, 53, 39,251,114,247,158,189,135,193, 66,209,
-131,129, 21,107,129, 21,108,203,247, 59, 44, 71,142,248,242,142, 28,252,254,185,103,166,189,208,107,228,200,209,228,137,228, 95,
-112,229, 98,242,181,117,107, 95, 57,147,240,197,158,225,163,198, 62, 21,225,213,225,194,209,200, 96,243,203, 1, 30, 46,183,183,
-254, 80,201, 53,150,230,238, 77,169,148, 65,221,115,145, 71, 16, 96, 89,246, 62,145,213, 84,104,241,120, 60,155, 6,128,198,156,
-141,223, 69,245, 29,234,205,155, 55, 67, 34,145, 64, 44, 22, 67, 40, 20,218,116,191,104,204,153,113,247,238,136,237,137,137,146,
-230, 68,150, 70,163,129, 70,163, 65,109,109, 45,166, 78,157, 42,250,224,242,229, 71, 81,231,250,209, 18,103,160,175,175,217, 65,
- 38, 43,207,204,204,244, 11, 15, 15,191, 47,191, 58,157, 14, 50,153, 12,137, 59,119,138,226, 98, 99,231,142, 60,122,116, 29,108,
-196,191,106,174,236, 4, 65,192,219,219, 27,110,110,110, 32, 8, 2, 20, 69,161,172,172, 12, 25, 25, 25,184,124,249, 50,248, 4,
- 65,253,149,117,220,156, 22,249, 7, 90,181,182, 52, 59,116,216,210,152,104, 91,132, 22,159,207,111,183, 85,171, 37,216, 51,116,
- 40,151,203,111, 40, 20,138,129,254,254,254,160, 40,170, 65,104, 53, 29, 58,172,183,126,164,167,167, 67, 46,151,223, 48,153, 76,
-173,114,178, 44,251,120,191,126,253,176,127,255,126,164,164,164,224,206,157, 59, 48, 24, 12, 48,155,205, 48, 26,141,200,200,200,
- 0,195, 48,136,140,140,132,131,131, 3,228,114,249, 13,179,185,245,142,168, 94,175, 87, 10,133,194, 16,153, 76,214,176,207,215,
-215, 23, 26,141,134, 33, 73, 18,219,183,111,215,249,248,248, 56,200,100, 50,187,133, 43, 65, 16, 80,169, 84,232,216,177, 99,131,
-143, 86, 77, 77, 13,188,189,189,235,133, 5,204,102, 51,156,156,156,108, 14, 29, 2, 48,221,186,117,107, 65,163,223,125, 39, 77,
-154,244,211,238,221,187,187,158, 58,117, 10,151, 46, 93,130,151,151, 23, 62,254,248,227, 59, 5, 5, 5,207, 0,184,172, 82, 61,
- 92,191, 72,123,218,144, 70,163,217,119,227,198,141,199,251,245,235,215,240,148, 24, 62,124, 56, 49,124,248,112,207,198,166,126,
-181, 90,141, 63,254,248, 3,167, 78,157, 2, 65, 16,200,203,203,163,141, 70,227, 79,173,141, 82,248,251,251,255,176,116,233, 82,
- 71,138,162, 26,218,182, 76, 38,131, 84, 42,133, 72, 36, 2,159,207, 71, 65, 65, 1,226,227,227, 93,190,250,234,171,239,205,102,
-243, 35, 0,172,248,151,160,218, 8,107,250, 77,157, 75,100, 88,135,140, 45,155, 19, 6,206,156,133,250,161, 67, 42, 50,204, 59,
- 35,253,102,185, 75,148,183,237,242, 30, 59, 85,252,170,133, 60, 54,254,216,241,212,201,111,191, 57, 95, 24, 20, 20,166, 58,245,
-107, 90,224, 72,234, 67,194,195,211, 25,154, 10, 29, 10,138,202,145, 95,104, 97,131,130,194, 84, 87,254,184, 33,249,228,243,245,
-221,245, 6, 83,253,208, 97,171,237,244,183, 11,119, 38,172,219, 32, 57, 51,253,165,190, 98,153,204, 15,149, 21, 55, 16, 24,232,
-133,248,184,158,248,110,199, 5,184,184,184,163, 67,135, 14,224,241,120, 14,246,150,189,162,162,130,216,183,235,183, 25,207,191,
-240,202, 99, 99, 70,199, 82,199, 79, 28, 17,164,156, 60,124,225,251, 45,239, 30, 96,249,122, 57,193,214,200, 58,119,241,185,126,
-251, 86,250, 51, 35,162,167, 66, 38,114,234, 6,132, 54,219, 96, 27, 38, 24,176, 40,218,191,123,133,244,249, 23,102, 14, 24, 51,
-230, 9,234,196,137,131, 56,113,116,199,239,203,151,119, 62,122,167,116,167,232,226,229, 18,233,132,167,231, 84, 37, 29,203,178,
- 60, 53,190, 75,174,159, 67,111, 35,112,135, 83, 85,141, 59,146, 2, 65, 57,101, 54, 7,116, 28, 51,134,111, 40, 44, 20, 58,118,
-232, 64, 1, 0, 73,146, 54,133, 22, 90, 24,130,110,202,105,111, 94, 12, 6, 3,152, 22, 98, 39, 54,229, 44, 83,169, 58,215,117,
-194, 27, 64,146,100,131,200,210,104, 52,168,174,174,134,131,131, 3,212,102,115, 7,123, 56, 71,247,239,191,253,131, 21, 43, 22,
-238,221,183, 79,212, 88,100,213,127,132, 66, 33,214,172, 93, 43,122,227,237,183,231,204, 21, 8,230,129,162,236,190,158,245,157,
-118, 62,159, 15,129, 64,128,194,194, 66, 20, 21, 21,161,176,176, 16,133,133,133,144,201,100, 96,255,226, 73, 64,255, 96,255,172,
-122,145,213,248,187,193,202,213,106,120,135,182, 56,195,219, 43, 12,232, 54,140,239,218, 35,180,244,122,253,169,211,167, 79,247,
-159, 48, 97,130,224,247,223,127,135,143,143, 79,131,208,170,255,174, 31,142,146,203,229, 56,112,224,128, 85,175,215,159,178,113,
- 51,157, 62,122,244,104,212,178,101,203,132, 47,190,248, 34, 50, 51, 51, 49,107,214, 44, 84, 87, 87, 67,167,211, 65,163,209,192,
- 96, 48,160,127,255,254,144, 74,165,184,126,253, 58,105, 48, 24, 78,219,176,216,177, 42,149,170,214,203,203,203,183,233,127, 79,
- 63,253,116,135, 77,155, 54, 25,178,179,179,201,129, 3, 7, 58,219, 43, 56,234,177,107,215,174, 6, 75, 93,110,110, 46, 54,109,
-218,212,224,147,149,150,150,134, 79, 63,253,180, 33,246, 89, 27,113,185,162,162,130, 34, 73, 18,221,186,117,131,191,191, 63, 76,
- 38, 19,214,175, 95, 79, 1,184,252,255,213,154, 77, 38,211,222,233,211,167,191,115,245,234, 85, 95,129, 64,112,207,164, 93, 87,
- 62,171,213,138, 91,183,110, 33, 35, 35, 3,217,217,217,168,172,172,108,232, 8,164,167,167, 87,145, 36,185,167, 37, 94, 47, 47,
-175,247,190,251,238, 59, 31,185, 92,126, 95,123,174,183,134,214, 91, 73,213,106, 53, 92, 93, 93, 49,114,228, 72,239,211,167, 79,
-191,103, 54,155,151,253, 75,222,105,196,211, 79,230,246,125,227,213, 9,152, 24, 39, 47,222,159, 84,122,254,211, 79, 22,212, 57,
-195,123,103, 76,140,243, 47,190,150,227,138,167,159, 60,216, 23, 64, 9, 90,119,216,102,126, 61,163, 60,212,175,159, 91,202,254,
-195,135,191, 95,178,232,205,180,133, 11, 94,241, 50, 24,111, 75,131, 58,137, 9, 0,200, 47,180,176,215, 51, 25,211,167,235,222,
- 76, 75, 88,251, 21,175, 92, 83, 61,235,143, 63, 90, 14,111,208, 88,188,240,120,144, 6,133, 14, 85,116, 15, 30,212,229,247, 11,
-137,112,148, 27, 17, 18,218, 23, 99, 70, 63,142,148,212,116,148,169, 77, 80, 42,149, 48,155,205,173,134, 75,200,190,126,224, 57,
-150, 96, 3, 9,150, 40, 34,120,172,244,185,233, 47, 15,142,141,125,130, 77, 74, 58, 76, 29, 60,144,120,110,207,143, 27,246,242,
- 68, 66,129,209,226, 98, 33, 8,147, 22,188,155,153,181,250,123, 29, 26,161, 68,212,178,249,181, 46,176,107,120, 68,168,207,115,
-211,103,185,196,140,139,103,143, 30, 61,200,236,217,189, 61,101,207,182, 30,137, 12, 79, 39, 82, 22, 27, 36, 90, 29,169,101, 9,
-177,107,173,142, 49,148,231, 63, 98,242,139,125,218, 10,236,229,212, 85,227,247,128,217, 92, 82, 91, 92,236,235, 62,116,168,228,
-214,138, 21,242, 14,253,251,155,136, 58, 31,226,214,132, 22,159,207, 7,120, 60,198, 30, 78,123,243, 98, 52, 26,193, 0,100,123,
- 56, 41,138,186, 79,100,213, 11,173,250,251,197, 30,206, 45,203,151,255, 30, 56,102, 76,101,106,106,106,135, 97,195,134, 17, 53,
- 53, 53,168,169,169,185, 79,108,249,249,249, 17,225,145,145,242, 93, 41, 41, 65,246, 94, 79,123,202,206,227,241,254,114,161,245,
- 15, 71,139, 11, 73,183,186, 4, 79,189, 69,203, 30,161,101,167, 69,139, 36, 73, 18,222,222,222,168,168,168,104,241,197,207,227,
-241, 32,147,201,234,199,136, 91,157,121,103, 54,155,215, 47, 92,184,240,181,113,227,198,121,134,132,132, 64,173, 86,163, 67,135,
- 14,144, 74,165, 13,190, 99,245,124,105,105,105,248,238,187,239,116,102,179,121,189, 13,206,207,215,174, 93,251,234,196,137, 19,
-221,125,124,124,224,230,230,134,235,215,175,195,205,205, 13, 58,157, 14, 57, 57, 57,112,114,114,106,240,219, 57,124,248,112,141,
-217,108,254,220,134,120, 99,207,158, 61,107,117,114,114,186,174, 86,171,249,149,149,149,130,170,170, 42,129, 78,167, 19,106,181,
- 90,225,241,227,199, 61, 93, 92, 92, 12,191,254,250,171, 58, 48, 48,144,127,231,206, 29, 62, 73,146, 54,213, 43, 65, 16,152, 55,
-111, 30, 68, 34, 17,204,102, 51,214,175, 95,143,133, 11, 23, 54,248,100,173, 93,187, 22, 75,151, 46,109, 16,206, 91,183,110,109,
- 83,203, 97, 89, 22, 86,171, 21, 36, 73,130, 36, 73,187,196,239,131,192, 78,193, 94,150,151,151, 23,215,175, 95,191,147, 63,255,
-252,179, 71, 93, 76, 50,148,151,151,163,188,188, 28,106,181, 26,181,181,181,160, 40, 10,254,254,254, 40, 47, 47,199,193,131, 7,
-181, 53, 53, 53, 99,208,202,140, 67, 62,159, 63,125,240,224,193,130,166,121,168,239,229,213,139,119,137, 68, 2,133, 66,129,225,
-195,135,139, 83, 83, 83,167, 3,248, 71, 11,173,198,225, 29, 70,143,153, 33, 10,139, 24, 96,185,150,145, 84, 28,218,165,188,120,
- 90,188,243, 17, 0, 72,191, 89,238,114, 45,199, 21, 97, 17,113,236,232, 49,110, 81,229,101, 91,122, 0,176,182,182, 92, 15, 0,
-184,200, 37,147, 70, 69,247, 87, 56, 57, 56,240, 62, 93,183,245,216,215, 95,127,254,232,222, 35,255, 9,239,240,233,186,123,225,
- 29, 70, 69,247,103,178,179,178, 39, 1,216,102,175,120,137,139, 27,127,245,187, 31,190, 67,118,198,175,126,239,204,235, 41,174,
- 44, 39, 33,115, 12, 64, 84,239, 14,216,242,195, 13, 92,187,118,173,204, 98,177, 12,111,181,125, 19,108, 96, 70,230,205,224, 30,
- 17,225, 62,207, 77,159,233, 28, 23, 23,143,164,164, 67,248,113,251,182,179, 79, 77,157,248,109,105,149,142,239, 45,148,139,228,
- 44, 35,230,139, 92, 4, 34,137, 76,101,177,220,155, 3, 33, 20, 74,157,129, 73,173,190,120,102,207,156,230, 50, 34, 58, 30, 71,
-142, 30,194,143,219,183,156,121, 63,226,233,109, 93,250,132, 17,253, 31,253,100, 78,151,174, 93, 58,233,107,203,117, 60, 66,108,
- 53,153, 24,167, 79,182, 23,124,150,191,116,122, 62,128,117,224,102, 29, 54,198,245, 31, 99, 98,250,189,113,251,182,200,107,208,
- 32,153, 34, 37, 69, 94,183, 18, 73,171, 66, 75, 32, 16,128,109,121,168,235, 62, 78, 98,199, 14, 30,128, 86, 39, 97,137, 68, 34,
- 24, 12, 6,144, 45, 91,176,239,227,244, 61,113,162,248,246,237,219,221,221,221,221,239, 19, 89,149,149,149, 13,219, 38,147, 9,
- 6,131, 1, 50,153, 44,195,216,252,136,200,125,156,229,103,207,154, 86,207,155,183,236,153,169, 83, 55,156, 58,125, 90,234,225,
-225, 1,173, 86,123,159,208,178, 88, 44, 24, 49,114,164,104,237,213,171,207, 65,167, 91,110,207,245,236, 48,124,184, 77,127, 96,
- 62,159, 15,230, 47, 30, 58,252, 23, 96,102,115,194,139,103,107, 8,199,222, 89,135, 45,188, 32,155,174,238,189, 52, 42, 42,202,
-148,155,155,139,192,192,192, 6,177,210,248,156,206,206,206,112,117,117, 69, 90, 90, 26, 62,250,232, 35, 35,128,165, 54, 56,107,
- 12, 6,195,148, 81,163, 70, 25, 5, 2, 1, 66, 67, 67, 27,226,103, 49, 12, 3,177, 88, 12, 7, 7, 7, 92,189,122, 21,227,199,
-143, 55, 24, 12,134, 41,248,115, 12,173,166,156, 90,131,193,240,236,232,209,163, 13,153,153,153, 24, 60,120, 48,174, 93,187,134,
-218,218, 90,212,214,214,226,238,221,187, 8, 15, 15,135,193, 96,192,166, 77,155,140, 6,131,225, 89, 0,218,214, 56,107,106,106,
-198, 47, 92,184,144,255,211, 79, 63,117,241,247,247,143,232,219,183,111,200,200,145, 35, 31,121,242,201, 39, 59,197,196,196,248,
-118,239,222,221, 52,102,204, 24,175,113,227,198,121, 25, 12, 6,225,249,243,231,149, 36, 73,142,179,145,207, 6,113,146,155,155,
-219, 48, 84, 40, 16, 8, 80, 81, 81,209, 16,185,191,254,161,212,130, 16,142,182, 37,182,235, 5, 86,189,224,178,195,207,173, 57,
- 78,155, 7,137,197,226,122,139, 39,107, 7,103,122, 86, 86,214,168,161, 67,135,166,207,152, 49,163,166,172,172, 12, 78, 78, 78,
- 8, 10, 10, 66,112,112, 48, 60, 61, 61, 97,181, 90,113,224,192, 1,253,193,131, 7,111,104,181,218,225,248,115, 12,173,232, 38,
-215,241,110,115, 15,217,122,107, 86,189,208,146, 74,165,240,247,247,175,191,182,119,219,114, 61,219,137,191,150,179, 78,192,140,
- 28, 49,166,107, 76,236, 4,151, 3,135, 46,136, 55,108, 60,120, 35, 42, 26, 91, 61, 58,235, 14,123,116,214, 29,142,138,198,214,
- 13, 27, 15,222, 56,112,232,130, 56, 38,118,130,203,200, 17, 99,186,102,102,100,135, 52, 94,247,176,185,124, 74,165,210, 1,131,
- 7, 69, 85,165,158, 59,195, 36,172,253,138, 55, 98,248, 83, 87,183,125,123,224,192,182,111, 15, 28, 24, 49,252,169,171, 9,107,
-191,226,165,158, 59,195, 12, 30, 20, 85, 37,149, 74, 7,216, 83,246,217, 51,167,185,196,198,196, 35, 41,233, 0,181,119,215,166,
-181,187,247,229, 13,125,249,181,179,229,185,185,215, 88, 85,201, 9, 8,121,133,200,202,202,210,214,137,172, 92,123, 56,103,189,
- 50,173,177,200,250,205,195,103,240,214,172, 44,208,201,201,191,144,167, 79, 95, 53,254,150,174,210, 94,201,172,168, 84,168, 43,
-239,232,116, 26, 11,195,208,160,105,154,255,193, 7, 13, 14,187,205,214,209,192,129,195,240,235,169,157,216,254,195,102, 45,195,
-192, 52,105,239, 94,122,210,164, 21,108,167,206,157, 59, 37,238,218, 73,196, 61, 49,193,133, 5,152,241, 19,227, 93,127,218,253,
- 19,209,181, 91,215,206, 65, 65, 13, 33,109,254,121,109,233, 47,224, 92, 1, 84,233, 10, 11,207,164,125,245,149,185,195,148, 41,
-238,226, 14, 29,156, 65,211, 68,253,243,189,165,143, 64, 32,104,106,129,105,145,211,223,211,179,244,240,225,195, 8, 14, 14,134,
-191,191, 63, 26,251,200,214, 7,228,246,240,240,192,190,125,251,192,222, 31,156,186, 69,206, 62, 93,186,164,173, 89,189,218,194,
- 48, 12,170,170,170,254,100,205,170,170,170, 2,195, 48, 56,122,228,136, 69,119,111, 37, 16,187,202, 62,156,207,175,125,102,200,
-144,132,216,216, 88,235,237,219,183,193, 48, 12, 26, 91,182, 84, 42, 21, 28, 29, 29, 97, 50,155, 3, 0,200,237,225, 84, 29, 63,
-238, 0, 27,207,245,102, 44, 90,127, 69,189,255,211, 69, 86,227, 5,165,103,218,101,209,162, 40, 10, 1, 1, 1,247, 45,233,194,
-227,241,238,251,180,113,198,225,142,204,204,204, 19, 99,198,140, 89,246,216, 99,143,205, 94,182,108, 25, 63, 36, 36, 4, 90,173,
- 22,110,110,110,240,246,246, 70, 78, 78, 14, 14, 31, 62, 76, 87, 84, 84,124, 3, 96, 37,236,155, 66,159,146,151,151, 23,215,179,
-103,207,221,139, 23, 47,118, 25, 61,122,180, 48, 32, 32, 0, 44,203,226,234,213,171,216,191,127,191,117,219,182,109,186, 58,145,
-101,175,243,242, 73,133, 66,241,212,184,113,227, 18,167, 79,159,238, 68,211,180,240,238,221,187, 48,155,205, 32, 73, 18, 69, 69,
- 69,214,164,164,164, 90,131,193, 48, 13,192, 73, 59,248,210,170,171,171,195,147,147,147,167,159, 63,127,254,163, 25, 51,102,120,
-140, 28, 57, 82, 68, 81, 20,206,157, 59,167,238,211,167,143,183, 74,165,178,238,219,183, 79, 99, 50,153,150,210, 52,109,215, 18,
- 60, 4, 65, 64,167,211,193,211,211, 19,102,179, 25, 12,195,192, 98,177,192,209,209,177, 97,217, 36,150,101,209, 22,231,250, 38,
-109,128,111,181, 90, 49,117,234, 84, 48, 12,131,245,235,215,131,162,168, 54,147,185,184,184, 92, 73, 79, 79,143,235,221,187,119,
-131,120,169,111, 67, 18,137, 4,158,158,158,240,240,240, 64, 82, 82, 18,132, 66,225, 21, 91,254,110,117,184, 86, 81, 81,209, 39,
- 57, 57,121,192,141, 27, 55,158, 7,208,219,106,181,250,211, 52, 77,240,120, 60, 37,203,178,215,117, 58,221,183,176,115, 9, 30,
-149, 74,245,209, 11, 47,188,208,103,231,206,157,142, 2,193,127,110, 13,129, 64, 0,137, 68,130,250,224,152, 44,203,194, 98,177,
-224,189,247,222,211,233,245,250,143,254, 45, 79,137,168,190,253,177,101,211, 23,142,167,127, 61,161,206,202,195,254,102, 66, 56,
-148,148,151,109,233,161, 40, 46,118,140,234,219,223, 46, 78,210, 98,213, 60, 59,237,173,192,186, 37,120,222,187,123,183, 96,115,
-226,142,207,242, 1,224,147,207,215,119, 47,215, 84,207,202,206,202,158,180,121,243,174, 1,164,197,170,177,135,243, 63,226, 37,
- 81, 11, 22, 38, 0,151,174,222, 40,239, 50,126,202,241,165,221,186, 58, 63,161,210, 24, 75,107,107, 13,175, 3,200,183,183,236,
-131, 6, 14,197,175, 39,127,194,143,219, 19,117, 44,195, 55,121,122,122,178, 0,144,149,229,201,102,101, 85,179,255,241, 43,118,
-213, 11,217,107, 43,223,122,125,228, 91, 90, 93,229,231,235, 55,181, 62,148,210,179,215, 99,232,217,235, 49,188,246,250,187, 46,
-225, 17,161,129, 0,176,119, 47,232,136,110,153,191, 44,123,127,197, 19, 43, 87,174,128,174,198,140,250,229,122,114,110,102, 30,
-201,207,135,133,123,103,221,143,101, 20,117, 9,111,189,213,221, 80, 89,233, 53,232,157,119, 60, 5,111,191,205,107,205, 25,190,
-241,253,107, 15,231,229,235,215,143,204,122,249,229,210,229,203,150,141,249,102,243,102, 89,143, 30, 61, 80, 86, 86,134,208,208,
- 80,248,251,251, 35, 57, 57, 25,251,246,236,209, 87,215,212, 44, 5,240,181, 61,156, 59,142, 30,205, 9,137,136,168,216,188,121,
-179, 95,108,108, 44,161,215,235,161,213,106,161,213,106, 97, 54,155, 81, 23, 16,154,205,205,203,203, 34, 73,242, 27,123,203, 78,
-171,213,210,149,253,251,151,136, 24,102,205, 83, 19, 39, 46, 92,249,225,135,146,174, 93,187, 18,102,179,185,193,170,101,181, 90,
-225,232,232,104,181, 88, 44, 30, 0, 12,246,112, 74,182,109,163,212,106, 53,188,188,188, 26,194, 53, 53,142, 75, 88, 83, 83, 3,
-150,101,185, 96,186,237, 64,139, 10,201,205,205,237,138, 64, 32,232,216,216,186,213,220,218,121,141,247,145, 36, 89, 82, 81, 81,
- 17,213, 68,241,182,228, 15, 21, 4,224,227, 17, 35, 70, 60,181, 96,193, 2, 34, 53, 53, 21, 7, 15, 30,100,243,243,243,247,214,
- 89,177,242, 91,233,233,180,196,233, 36,145, 72,230, 59, 56, 56, 68,215,135,112,144,203,229, 55,244,122,253,169,186,225,194,154,
-118,112, 58, 75, 36,146,121, 14, 14, 14,163,234,150, 95,129,147,147, 83,186, 94,175, 79, 54,155,205, 95,160,229,133,170, 91,227,
-148,185,184,184,124,228,233,233,249,236,219,111,191,237,113,246,236, 89,229,175,191,254, 42,170,174,174,222,105,177, 88, 90, 91,
- 84,250, 79,156,238,238,238, 87,248,124,126,199,191,168,142,208,179,103,207,164,241,227,199,199, 78,155, 54, 13, 36, 73,226,235,
-175,191, 70,114,114,242,145, 91,183,110,197,217,232,141, 54,229,244,236,216,177, 99,234,236,217,179, 59, 77,157, 58, 85,238,230,
-230, 6,129, 64, 0,189, 94,143, 91,183,110,225,234,213,171,236,161, 67,135,106,211,210,210, 74, 12, 6,195, 48, 0, 21,109,184,
-158, 15,210,107,190,143, 83, 32, 16, 12, 13, 8, 8,216,181,124,249,114,167, 81,163, 70,201, 60, 60, 60,192,231,243, 65,146, 36,
-148, 74, 37,110,222,188,137, 19, 39, 78,232,247,238,221,171,215,104, 52, 83, 1,156,249,255,200,231,195,228, 12,235,142,247,155,
- 44, 20,221, 98,180,119, 27,105,109,230,115,196, 80,223,248, 73, 79,141, 27, 11, 0, 63,239, 59,118,220,142, 69,165, 91,204,167,
-173,188,218,195, 25,218,141,183, 60, 35,243,230,125, 1, 45, 35,194, 35,115,195,122, 76, 92,101, 15, 81,163,200,240,247,149,189,
-209,112,108, 99,155,238,125,195,172, 97, 65,136,139,159,244,100,236,187, 75,151,224,227,143, 18,112,232,231, 3, 71,178,242,239,
- 91, 38,232, 31,215,150,254, 98, 78, 98,149, 64,240,152,220,215,119,200,122,134, 89,114,237,230, 77,199,198, 29,182,122,203,115,
-227, 78,165,159,159,159, 74,169, 84,118,176,135, 51,238,203, 47,173, 6, 7, 7,201,146, 53,107,134,214,154, 76, 67, 87,174, 92,
- 41,184,124,249, 50, 54,125,245, 21,101, 42, 41, 73, 84, 3,243, 90, 24, 13,105,145,179,211,188,121,210, 69,155, 54,189, 24,212,
-173,155,247,243,207, 63, 47, 20, 10,133,208,235,245, 40, 46, 46,198,201, 19, 39, 44,153, 89, 89,153, 58,157,238, 9, 0, 10,123,
- 57,227,190,252,210,234, 26, 20, 4,185,151, 23,123, 58, 37,197,101,214,252,249,179, 59,119,233,226, 50,102,236, 88,161,179,179,
- 51,170,170,170,112,247,238, 93, 28, 56,112, 64, 85, 91, 91,235, 7,128,182,135, 51,241,252,249,158, 71,207,156,121,122,213,170,
- 85,226,200,200, 72,184,184,184,160,166,166, 6, 55,111,222,196,153, 51,103,204,223,124,243,141, 86,171,213,206,166,105,250,240,
- 95, 88,239,255, 6,171, 86, 61,182,216, 20, 90,255,197, 27, 48, 10,192,251,117,219, 31,194,246,154,129,255,166,135, 79,160,187,
-187,251, 22,147,201,196, 26,141,198, 89, 0,138,254,134,249, 20, 68, 69, 69,109, 82,169, 84, 3, 88,150,133,139,139,203,133,140,
-140,140,185,104, 97,230,141, 13, 78, 62,128, 1,142,142,142,253,157,156,156,134,154,205,230,176,186,225,183, 44,189, 94,127,198,
-106,181, 94,170,179, 62,209,255,207,101,231, 3, 24,229,231,231,247, 50,195, 48,221, 8,130,112,165,105, 26, 36, 73, 86, 51, 12,
-115, 75,171,213,110, 3,144,252, 55,200,231, 67,225, 12,127, 4, 79,178, 60,132,181, 36, 8,238, 19, 90, 77, 4, 4,193, 32, 43,
-243, 54, 14,180, 33,159,188,113,209, 1, 27,129,123, 51, 19, 97,219,185,246, 63, 66,203, 14,241,210,102,145,249, 8,255, 5,150,
- 96,239,227, 36, 88,162, 40,180,231,147, 63, 62,136,208,178, 23,225,193, 24, 10, 22, 3, 24, 22,151,178,111,225,215,127,241,179,
-238,161,113,126, 12,184,127,229,230,118,129, 39, 16,248, 0,224,213, 89, 95, 24,134, 32,104,150, 32,168,198,195, 91, 77, 58,150,
-173,114, 90,129, 30, 66,137, 36,128,166,168, 14,101,128,227, 81,154,126,212,196,178,181, 29,129,247,211,129,156,246,228,211, 10,
-244,224, 75, 36,129, 71, 89, 54, 94,237,224,208, 83,101, 52,122, 1, 96, 29, 29, 28,178,116,122,253,118,147,201,180, 17,127, 30,
-185,176,201, 41,146, 72, 58,210, 20,213, 1, 0,120, 2,129,106,183,217, 28, 80,226,236,252,188,201,108,238,228,232,232, 72, 90,
- 44, 22,157,201,100,154, 70, 81,212,233,182,148,253, 22, 69,133,159,231,241, 6, 91, 29, 28, 60,172, 4,225, 96,161, 40,171,197,
-106, 45, 54,153, 76, 55, 0,124, 6,224,246, 95, 92,239, 28,218,121,179,112,156, 28, 39,199,201,113,114,156, 28, 39,199,249,215,
-115,202, 1, 4,214,117, 22,255,137,101,255, 55,193, 62, 31, 45, 14, 28, 56,112,224,192,129,195, 63, 6, 6, 52,227,147,197,225,
-255, 23, 68, 43,170,180, 45, 38,193,246, 40,219, 83, 28, 39,199,201,113,114,156, 28, 39,199,201,113,254,207,113,218,226,254, 39,
- 14, 73,182,184,214,225, 95, 13,206,252,203,113,114,156, 28, 39,199,201,113,114,156, 28,231,255, 44,120,220, 37,104, 17, 29,234,
- 62, 15, 59, 45,135,127,119, 91,104, 10,255,186, 79, 91,210,251,114,151,156, 3, 7, 14, 28, 56,161,245, 87,191,180, 30,228,229,
-246,160,194, 39,129, 32,160, 32, 8, 40, 0, 36, 60,196,180,182,224,231,233,233,249, 70,120,120,120, 98,135, 14, 29, 94, 3,224,
-221,198,227,187,203,229,242, 47, 28, 28, 28, 82, 29, 28, 28, 82,229,114,249, 23, 0,186, 63,164,122, 35, 0,204,146, 72, 36, 41,
-190,190,190,165, 98,177, 56, 5,192,108,180,127,230,106, 8,238,197, 73,251, 16, 64,207,182, 28,232, 29, 17,191,199, 43, 34,254,
-186, 87, 68,252, 77,143,200,241,221,189, 34,226,111,122, 69,196, 95,247,142,136,223,243, 23,180,215, 7,169,223, 4,130, 64, 17,
- 65,160,200,206, 99, 63, 35,128, 98,130, 64,201, 67,104, 75, 28, 56,112,224,192,225,159, 6, 63, 63,191,167,124,125,125, 79,249,
-250,250, 38,251,249,249, 61,101,199, 33,209,205,188,120,104,130, 0,109,227, 69,210, 90, 58, 91,230,202,198,199,126,106,103,209,
- 26,115,118, 32, 8,208,108, 29, 8, 2,140,183,183,247, 6, 95, 95,223,132,166, 31,111,111,239, 13, 4, 1,166, 81, 90,186,145,
-192,107,171, 89,181,195,115,207, 61,247,115, 85, 85, 85,146,197, 98, 73,202,203,203, 75, 26, 54,108,216,238, 38,214,141, 22, 57,
-165, 82,233, 51,253,250, 15, 72, 59,115,238, 82, 94,238,173, 2, 69,102,206,157,130, 95,142,159,190, 28,217,163,231, 31, 82,169,
-244,153, 54,212, 17, 1, 96,150, 64, 32, 72,113,116,116, 44, 17, 8, 4, 41, 0,230,240,249,252,195,171, 87,175, 46,200,200,200,
- 40, 63,127,254,124,245,153, 51,103, 74,103,204,152,113,139, 32,136, 95,154, 17,236,209,205, 88,105,154, 90,117,150, 21, 22, 22,
- 30, 87, 42,149, 39,100, 50,217, 71,118,164,111,224,244,138,136,191,174,210, 90, 89,149,214,202,122, 69,196,179,141,182,175,183,
-241,154,219,170,163, 63,181, 5,137, 68, 18,104, 67,208, 71,183,116, 44, 0,159,186,255,162, 0,124, 89,247,169,159,122,238, 35,
-149, 72, 30, 86, 91,122, 24,101,231, 56, 57, 78,142,147,227,252,111,115,254,147,209,167,238,219, 23,247,252,181, 26,222,221,109,
-157,117,248,106, 94, 94,158, 35, 0, 4, 7, 7,207, 5,176,175, 45, 66,130, 32,176,136, 97, 88, 30, 0,240,120,196, 59,195,135,
-143,232, 35,147,201,238,139,130,108, 52, 26,197, 41, 41,191,142,100, 24,150,168, 75,183,136,101,241, 5,128,114,123,207, 97,177,
-152,121, 66,161, 24, 60, 30,241, 86,100,100,143,206, 21, 21, 21,103,121, 60, 94, 98,105,105,105, 85,155,205, 56, 4,129,173, 91,
-183, 6,251,250,250,254, 41, 90,179, 82,169, 20,199,199, 63,209, 38,190, 23, 0,137, 89, 34,233, 47, 34, 8, 95,154,162, 92, 1,
- 64, 32, 16, 84, 93, 22,139,163, 62, 94,181, 74, 78, 16, 4,163,209,104, 96, 52, 26,241,230,155,111,202, 50, 51, 51, 39, 84, 84,
- 84,108,180, 65, 27,220,179, 87,159, 55, 79,156, 56, 30,166,171,172, 50,109,253,124,115,154, 81, 32, 50,116, 9, 15, 21,109,218,
-178,221,109,230,139,211, 94,207,206,206, 72, 71,243,203,145, 52, 6, 15,192,129,249,243,231, 71,196,197,197,137,107,106,106,164,
- 70,163,177,115, 98, 98,226,123, 81, 81, 81,142,189,123,247, 22,239,218,181,139,208,106,181, 96, 89, 86, 30, 26, 26,202, 78,158,
- 60,217,180,123,247,238,215, 0,108,104, 69,248, 46,186,119, 45,121,235, 67, 66, 66,150, 3, 64, 94, 94,158,168,209, 53, 22,134,
-133,133, 57, 0, 64, 78, 78,206, 7, 44,203,204, 7, 0,150,197, 90, 0, 75,154, 49,173,229, 69, 12,154, 4, 16,232,150,113,238,
-103,105,196,224, 73, 38,176,184, 69, 0,121,117, 29,130,149, 64,163,184, 80,247, 35, 75,161, 80,180,107,109,194,216,216, 56,130,
- 32,136,189,105,105,105,251, 84, 42, 85, 23,134,161, 95,105, 45,159, 77,218, 17,225,225,225,241, 66, 69, 69, 69, 2,128,151,179,
-178,178,250, 0, 64, 88, 88,152, 8,192, 21,103,103,231,129, 86,139,133,224,158, 85, 28, 56,112,224,240,143, 21, 90, 87, 1,196,
-226, 63, 75,240,108,105,143,208, 18, 3,192,217,179,103, 1, 64,210,142,140, 16,141, 5,204,188,121,243,224,235,235,219, 84,188,
- 32, 53, 53,229, 65, 10,123,223, 57, 62,252,240, 67,199,234,234,234,232,111,191,253,118, 8,203,178,159, 42, 20,138,223,109, 28,
- 95,206,178, 88,203,227, 17,239, 16, 4, 1,137, 68,154, 59,123,246,236,171,117,255,117,254,229,151, 95,228,227,199,143, 55, 0,
- 40, 0, 0,137, 68,234,207,231,243,130, 89,150,173,127,225,182, 40, 8,159, 6,130, 40,177,120,196,172, 47,191,164, 30, 29, 63,
- 94,224,224,229, 69, 0, 64, 65,118,182,199,218, 79, 62, 25, 88,149,159, 47, 54,122,120,104, 52,122,189, 49, 55, 55, 23, 18,137,
-132,224,243,249,143,218, 42,176,131,131,195, 27,171, 62, 94,227,160,171,172, 54,154,116, 53, 22, 62, 69,154,157,100,114,186,188,
- 76,165,113,148, 57, 24,222,121,127,133,248,213, 87,166,191,161,215,235,231,218,160,122,237,173,183,222, 10,235,215,175,159,255,
-158, 61,123, 8,173, 86, 11,129, 64,224,216,187,119,111, 68, 69, 69,209,191,254,250, 43,209,165, 75, 23, 68, 70, 70,226,220,185,
-115,184,112,225, 2,209,167, 79, 31,249,254,253,251,159, 35, 73,114,131, 45,113,205,231,243,222, 12, 13, 13,237,237,224,224, 96,
- 9, 14, 14,198, 43,175,188, 2,150,101, 17, 29, 29, 29,233,232,232,184, 79,175,215,139,115,114,178,135,216, 18,217,170,140, 67,
-147,235, 45, 91, 0,122,128,197, 45,117,198,161,198,195,143, 97, 57, 57, 57,143, 85, 85, 85,225, 94,189,176, 13, 11,152, 15, 25,
- 50,164, 45,109,169,156,101,177,118,252,248,184,119, 0,130,136,142,142,174,126,237,181,215,120,217,217,217,207, 62,249,228,132,
-200,188,188, 91,104, 37,159,141,219, 17,241,194, 11, 47,150, 59, 58, 58, 78,220,187,119,111,142, 82,169, 20,136, 68, 13, 58,147,
-239,237,237,237, 21, 28, 28, 60,199,221,221, 93,197,231,241,188, 89,176,172,173,182,196,129, 3, 7, 14, 28,254, 86, 56, 82, 39,
-174,142, 52,253, 67, 0, 0, 73, 73, 73, 13,145,105,227,226,226, 90,236, 85,179, 44, 91,126,237,218,181, 0,131,193, 0,150,101,
-237,121, 9, 52,158,162, 89, 78, 16,188, 77, 60, 30, 49,151, 32, 8, 68, 70,246,184,179,126,253,250,230,214,244,178, 68, 70,246,
-184,195,231,243,186,178, 44, 11,130,224,125,205,178, 76,121, 11,156,205,190, 24,197, 98,201, 34, 0,240,241,241,205, 63,118,236,
-152,229,233,167,159,198, 39,159,124, 34, 90,188,120,241, 66,129, 64,240, 90, 81, 81, 81, 89, 43,249, 4,128, 37, 94, 94,222,242,
-173, 91,183, 6,207,158, 61,251,170, 82,169, 92, 2, 0,190,190,190, 9, 0,194, 1, 20, 52,218,135,111,190,217, 93,250,202, 43,
-175,228,170, 84,170, 37, 45,113, 78, 4, 30, 9, 8, 13, 29,177,242,236, 89,150,103, 54, 19, 21,191,253,166, 83,151,151,147,183,
-213,106,249, 15, 87,174,196,189,151,144, 32, 12, 8, 12, 68,234,225,195,158, 21, 6,131, 90,107, 54,155,202,203,203, 89,138,162,
- 46,216, 81,246, 8,111, 47,111,249,230,207,190,190,236, 36,228, 51,222, 29,253, 9,161,187,187,128, 39,119, 22,243, 5, 60,115,
-215,206,221,197, 0, 34,108,213,145, 72, 36,122,110,244,232,209,242,221,187,119, 19,145,145,145,112,117,117,197,111,191,253,134,
-244,244,116, 84, 85, 85,241, 72,146, 68,223,190,125,177,102,205, 26, 4, 6, 6,162,186,186, 26, 69, 69, 69,158, 98,177,216,139,
- 36,201,150,174,231,125,237,105,209,162, 69,240,245,245, 5, 69, 81,168,172,172, 4, 69, 81,112,116,116, 4, 0,148,148,148,224,
-240,225, 67,246,180, 37,155, 96, 89, 22,143, 63,254,120, 13, 65, 16, 89, 77, 45, 90,109,225,244,247,247,223,165, 86, 87,140, 27,
- 49, 98, 4,170,170,170,200, 21, 43, 86,160,103,207,158, 8, 14, 14,182, 39,159, 75, 68, 34,241,183,157, 58,117,250,108,222,188,
-121,190,238,238,238, 48,155,205,239,149,149,149, 97,206,156, 57, 0,128,152,152,152,158, 66,161,240,216,140, 25, 51,208,165, 75,
-151,210,202,202,202,162,180,180,180, 87, 12, 6,195,205,246,150,221, 78,112,156, 28, 39,199,201,113,254,173, 56,237,213, 34,127,
- 83, 40,113,127, 56,135, 45,247, 9,173,184,184, 56, 34, 41, 41,137,181,163, 96,154,142, 29, 59, 6,200,100, 50, 0,208,180, 53,
- 23, 12,195,188,230,225,225,161, 90,178,100,201,160,224,224, 96,203,107,175,189,118,179,160,160, 96,105,227, 52,157, 59,119,254,
-232,171,175,190, 66,110,110,110, 65, 66, 66,194, 57,141, 70,211,214,117,204, 22,179, 44,214,215, 89,199, 42, 14, 31, 62,220,243,
-236,217,179,115, 63,255,252,115,175, 87, 95,125, 85,244,198, 27,111, 76, 3,240,137, 45, 18, 62,159,111,104,110,184,176, 57,248,
-250,250, 90,248,124,126,139, 65,226,226, 0,153, 84, 44, 30,190,242,236, 89,214, 82, 80, 96,248,110,221, 58,167,205,127,252,177,
-156,100,217, 14,222,222,222, 24, 60,112, 96,173,148,207,175, 80,149,149, 49,222,143, 60,194,191,123,236,152,167, 81, 44, 86,236,
-222,189, 91,171,209,104, 14,218, 52,225, 17,132,142, 97, 89,139, 99,199, 64,242,233, 9,163, 34, 47, 95, 74,207,118,242,246,228,
-245,233, 29,217, 51, 59,183, 32, 13, 12, 99, 37, 8, 66,103,139,199,197,197, 37, 88,163,209, 64,167,211,193,203,203, 11,235,215,
-175,135,143,143, 15, 12, 6, 3, 50, 50, 50,216,142, 29, 59, 18,103,207,158, 69,199,142, 29,161, 86,171, 97,144,143,144,232, 0,
- 0, 32, 0, 73, 68, 65, 84,177, 88, 80, 83, 83,163, 50,155,205, 45,173,205, 88,206,227,241,191,231,241,136, 23, 9,130, 64,215,
-174, 65,133, 27, 55,110,180, 48, 12,131,176,176, 48, 60,249,228,147,216,191,127, 63, 50, 50, 50,234, 45, 79,150, 78,157, 58, 23,
-242,120, 68,167, 58,173,212,110,171, 78,253,210, 62, 10,133, 98, 98, 59,111, 26,158,159,159,223,180,110,221,186,205,125,230,153,
-103, 72,177, 88, 12,189, 94, 95,127, 45,200,113,227, 98,170,199,143,143,115, 57,114,228, 72,171,249,180, 88, 44,249, 90,173,246,
-229,183,222,122, 43,241,155,111,190,113, 91,186,116, 41, 24,134, 1,203,178,160, 40,170, 97,209,111,134, 97,112,224,192, 1,220,
-190,125,251,163, 38, 34,139, 3, 7, 14, 28,254, 39,208, 6, 45,242,119,132, 47,238, 13, 27,162,169,216,250,175, 71,134,231,243,
-249,155, 79,158, 60,217,123,200,144, 33,130,145, 35, 71, 70, 30, 63,126, 60,178,180,180,244,102,157,245, 32,114,228,200,145,145,
-222,222,222,248,226,139, 47, 12,124, 62,127,115, 59, 79,211,240,210, 43, 43, 43,187, 10,224,211,253,251,247,175,157, 53,107, 22,
-124,124,124,194,149, 74,229,127,181,204,206, 18, 73,159, 25,235,215, 83, 66,146,228,125,249,233,167,206,235, 82, 82,214,238,249,
-249,103,193,227,143, 63, 78,176, 44,139, 27,215,175,203,214,108,216, 32,159, 58, 97, 66, 65, 78,126, 62,117,232,196, 9,178,188,
-180,180,178, 84,173, 94, 6,160,210, 22, 63, 73,146, 23,243,242,242,252, 6, 15,125,220,255,204, 31, 55,211,159,158, 16, 51, 66,
- 40,224, 17,183, 10, 74,174,248,250,120,186,164,166,156, 50,146, 36,121,209, 22,143, 94,175,191, 75, 81,148, 59,203,178, 94,169,
-169,169,240,242,242, 66, 85, 85, 21, 72,146,132,197, 98,177, 24, 12, 6,169, 70,163,129,201,100,130,217,108,134,179,179, 51,110,
-220,184, 81, 78, 81,212,175, 45,113,210, 52, 61, 67, 34,145,124, 40, 20, 10,197, 34,145, 72,113,229,202, 21,232,116,186,206,174,
-174,174,159, 80, 20, 5,133, 66,129,179,103,207,190,237,236,236, 92, 0, 0, 82,169, 20, 98,177,196,195,108, 54, 83, 0, 74,219,
-123,205, 89,150,109,119,125,249,248,248, 4,202,100,178,149,239,188,179, 40,172, 87,175,222, 80,171,213, 96, 24, 6, 14, 14, 14,
- 48, 24, 12,112,118,118,198,128, 1, 3,238,174, 92,185, 82,201,178,152,105, 75, 12,170, 84, 42,181, 64, 32,120,109,214,172, 89,
- 31, 6, 7, 7,119,101, 89, 22,221,187,119,199,232,209,163,113,236,216, 49,228,230,230, 66,175,215,211,191,255,254,251, 79, 74,
-165,242, 23,238,113,203,129, 3, 7, 14,255, 56,252,201, 55,235, 62,139,214,127, 19, 42,149, 74,157,157,157,125, 60, 45, 45, 45,
-110,242,228,201, 72, 77, 77,125, 1,192, 91, 0, 32,145, 72, 94,152, 60,121, 50,210,210,210,144,157,157,125, 92,165, 82,169, 31,
-198, 57,197, 98,177,201, 98,185,103,156,146, 74,165,210, 54, 30,222,185,110,200, 16, 0, 58,183,178,175,101,211,136, 64,224,219,
- 99,236, 88, 65, 85,122,186,110,235,165, 75, 31, 38, 38, 38, 10, 6, 13, 26, 68,144, 86, 43,104,134, 65, 80, 80, 16, 49, 50, 58,
-218,225,251,196, 68,119, 90,175, 63,187,234,157,119,126,219, 50, 99, 70,109, 94,157, 31,152, 45,152,205,230, 13,115,231,188, 28,
-157,146,250,155,127,120,232, 35,238,199, 79,166, 92,245,240,112,145, 7,119,235,230,160,169,170,164,151, 46,126, 91, 96, 54,155,
-191,180,197, 99, 52, 26, 15,156, 58,117,106, 66, 64, 64,128,215,205,155, 55, 97,177, 88, 64,211, 52, 70,142, 28, 9,150,101, 37,
- 0, 24,129, 64,128,236,236,108, 88,173, 86, 85, 94, 94,158,226,214,173, 91, 18, 0,171,109,228,175,208,108, 54, 35, 43,235,222,
-168, 93,199,142, 29, 71,197,198,198,130,162, 40,140, 29, 59, 22,135, 14, 29, 26,149,149,149,181,174,177,230,123,208, 58,175,179,
-144,133,249,249,249,237,175,219,101,151, 19,188,191,191,127,100, 80, 80,208, 55,171, 87,175, 22,117,236,216, 17, 44,203,194,205,
-205, 21, 6,131, 1, 21, 21, 26,132,135,135, 35, 32, 32, 0,171, 87,175, 6,128,159,236,181,184, 41, 20,138, 91, 10,133, 98,178,
- 74,165, 18, 85, 87, 87, 71,141, 26, 53,234,139,232,232,104, 92,189,122, 21,191,253,246,219, 84,137, 68,162,178, 90,173,148,143,
-143,207, 76,130, 32,156,173, 86,235, 78,141, 70,163,228,158, 93, 28, 56,112,224,240,143, 64,189,143, 22, 26,125,183,205,162, 21,
- 22, 22,230, 80, 80, 80,240,124,231,206,157,197, 0, 32,147,201,194,131,130,130, 22,230,231,231,215,180, 53, 55, 6,131, 97, 79,
- 98, 98,226,232,207, 62,251, 76, 20, 19, 19,243,200,254,253,251,251, 1, 64, 76, 76,204, 35, 78, 78, 78, 72, 76, 76,180, 26, 12,
-134,135, 22, 19,137, 36,201, 33,125,251,246, 69,101,101, 37, 10, 10, 10,218, 52, 44,243,203, 47,191,200,113,207, 47,171,213,125,
-173,129,178, 88,220, 92,253,253,121,165, 41, 41,214, 74,157,206,119,200,208,161, 4,105,181,130,199,227, 65,163,209,160,168,168,
- 8, 46,174,174, 68,118, 94,158,227,182, 69,139,126,233,220,171,151,152,182, 88, 60,218,144, 77,125,133,170,252,197,215, 95,123,
-245,192,206,157, 63,121, 85,235,116,183,101, 50,185, 89, 34, 17,249,204,123,253,117,186,178,178,114, 58,128, 90, 59,120, 86,239,
-220,185,115,236,216,177, 99,175, 7, 6, 6,122,171,213,106,159,234,234,106,186,178,178,146,143,123,190, 86, 4, 0,164,164,164,
- 64,167,211, 81, 52, 77,159,197,189, 88, 88, 22,123, 51,218,169, 83, 39,151,168,168,168, 97, 94, 94, 94,208,106,181,240,240,240,
- 64,239,222,189,135,241,249,252,111, 11, 11, 11,181, 15,179,213, 39, 39, 39, 59,177, 44,251, 24,203,178, 24, 59,118,172, 93,199,
-208, 52,253, 82,108,108,172,136, 32, 8, 24,141, 6, 72,165, 50, 56, 56, 56,194,201,201, 25,193,193, 33, 80, 40, 20, 24, 51,102,
-140,229,246,237,219,155,148, 74,101,155,219,168, 86,171,141, 31, 48, 96,192,130, 57,115,230,128,162, 40,196,199,199,163,184,184,
-120,221,221,187,119,119,251,249,249, 77,123,233,165,151,188, 60, 60, 60,176, 96,193, 2, 25,128, 15,184,103, 23, 7, 14, 28, 56,
-252, 35,208,212, 71,235,207, 22,173,214,198, 68,125,124,124, 6, 19, 4,241,158,209,104, 20,215, 15,201, 16, 4, 33,246,242,242,
- 58,100, 52, 26, 19,148, 74,101,155,156,226,170,171,171,117,119,238,220, 57,116,241,226,197, 73, 19, 39, 78, 68,114,114,242,116,
- 0,152, 56,113, 34, 46, 94,188,136, 59,119,238, 28,170,174,174,214, 61,140,146,251,251,251,143, 27, 58,116,232,196,190,125,251,
- 34, 41, 41, 9, 52, 77, 95,104,203,241,141,103, 24,162,153, 89,135,245,251,236, 34,227,243, 65, 16, 4, 40,138, 2, 0, 84,168,
-213,200,205,201, 65,101, 85, 21,204, 38, 19,244, 6, 3, 29,220,165,139, 81,107,177, 8, 9,160,173, 99, 95,133,105,151,127, 47,
- 50,232,245,222, 30,110,238, 70,185, 92,130,106,157, 86,116,229,242,239,181, 0,110,219,201, 97, 97, 89,118,232,177, 99,199,150,
-241,249,252,201,142,142,142,152, 59,119, 46,127,216,176, 97, 16,137, 68, 48,155,205,168,174,174, 70, 98, 98,162,154,166,233,174,
-117,199, 56,202,229,242,237,124, 62,191,164,166,166,230, 61,155, 39,176, 88, 98,226,226,226, 4, 22,139, 5,171, 86,173,194,242,
-229,203, 49,118,236, 88,193,229,203,151, 99, 0,236,124, 88, 45,158, 97, 24,140, 26, 53,170,177, 51,124,150, 61,199, 9,133,194,
-200,110,221,186, 65,173, 86, 67,173, 86,195,203,203, 11,126,126,126,240,241,241,193,186,117,235,216, 47,190,248,226,184,213,106,
-221, 84, 81, 81, 81,222,142,182, 56,115,250,244,233, 51, 39, 77,154,132,218,218, 90, 92,188,120, 17, 3, 7, 14,196,218,181,107,
-125,207,158, 61,251, 86,223,190,125, 33, 20, 10,145,154,154, 10,138,162,138,185,231, 22, 7, 14, 28,254,215,240, 15,245,207,106,
- 21,173, 90,180, 2, 2, 2, 92,105,154,126, 59, 54, 54,118,212,132, 9, 19, 48,102,204,152,251,254,223,185,115,167,211,190,125,
-251, 18, 54,108,216, 48,214,106,181,174,110,203, 80, 31,195, 48, 7,118,238,220, 25,243,248,227,143,203,135, 15, 31, 30, 4, 0,
- 18,137,196,178,115,231, 78, 3,195, 48, 7,218, 81,150,250,224,142,229, 0,224,231,231,215, 83, 32, 16, 76, 28, 55,110, 92,207,
- 23, 95,124, 17, 25, 25, 25, 72, 76, 76,188, 21, 28, 28,124,174,188,188, 77,239,200, 2, 27,179, 14, 19,108, 89,183,248, 98,177,
-166,186,172,204,213, 49, 48, 80,232,230,228,164, 76, 74, 74, 10,136,142,142, 38,138,139,139, 81, 85, 85, 5,147,201,132,203,151,
- 47, 51, 2,160, 80,224,230, 70, 20, 94,188, 72,240,197, 98, 13,238,159,201,103, 19, 1,190,110,221,223, 95, 60,187,179,201,108,
-138,208,106,181,148, 64, 40, 20,118,244,113, 45,206,185,221,166,145, 56,179, 92, 46,143, 2, 32, 96, 24,198,224,238,238, 46, 63,
-121,242, 36,196, 98, 49, 8,130, 64,143, 30, 61, 32,149, 74, 69, 44,203, 22, 1,128,147,147,147,120,243,230,205, 46,211,166, 77,
-251,205, 22,113,159, 62,125,132, 18,137,228,137,224,224, 96, 92,188,120, 17, 55,111,222, 44,188,120,241, 98,167, 62,125,250, 32,
- 48, 48,240, 9, 95, 95,223,159,175, 94,189, 74, 62,140,134,125,111,198,106,219,157,225,105,154,102, 8,130, 0,143,199, 3,195,
- 48, 80,171,213,232,218,181, 43, 54,110,220,136,245,235,215,175, 82, 42,149,135,219,147,159,176,176, 48, 81,215,174, 93,167, 79,
-154, 52, 9,249,249,249, 72, 72, 72,168, 80, 42,149, 41, 39, 78,156,120,106,206,156, 57,252,129, 3, 7, 66,163,209,224,251,239,
-191,167,174, 92,185,242, 93, 89, 89,217, 14,238,145,203,129, 3, 7, 14,255, 98,161, 21, 16, 16, 48, 73, 36, 18, 45,152, 50,101,
- 10, 63, 36, 36, 4,229,229,229,112,118,118, 38, 9,130, 16, 2,128,171,171, 43, 41,147,201, 48,123,246,108,244,234,213,107,240,
-162, 69,139, 6, 10, 4,130,141, 10,133, 98,187, 61, 39, 86,169, 84, 6, 30,143,183,119,238,220,185,171,211,211,175,118, 5,128,
- 63,254,248,227,142, 66,161, 88,172, 82,169, 12,109, 44, 71,125, 80, 76, 66, 34,145, 94,234,222,189,251,221,168,168, 40,231, 9,
- 19, 38,192,203,203, 11,105,105,105, 88,179,102, 77,158,197, 98, 89,118,230,204, 25,234,191,125,145, 41,179,185,236,202,193,131,
- 78,195,158,125,214,121, 94,108,236,167,175,206,157,251,217,251,239,191, 47, 8, 9, 9, 33, 12, 6, 3, 46, 93,186,196,238,219,
-183,143,252,254,195, 15,215,195,193, 65,120,113,223, 62,177,197, 98, 41,108,163,181,100,232,160, 33,131, 67, 62,253,108, 3, 76,
-198, 90, 92,186,112, 4, 85, 85,106,108,222,178, 63,196,223,159, 29, 90, 90, 90,122,198, 94, 46,130, 32,130,147,147,147,189, 89,
-150,133, 88, 44,198,202,149, 43,225,231,231, 7,103,103,103,212,212,212,224,173,183,222,114,153, 63,127,190, 11, 0,100,100,100,
- 52,132,103,176, 5,133, 66, 49, 96,246,236,217, 78, 20, 69,225,248,241,227, 22,130, 32,222, 59,117,234,212,183, 61,122,244, 16,
- 15, 30, 60,216,105,199,142, 29, 3, 1,164, 62, 44,161,213,206,227,110,157, 60,121,178,239,228,201,147, 89,161, 80, 72, 84, 87,
- 87,195,213,213, 21, 27, 55,110,212, 43,149,202, 35,237,110, 3, 20, 37,150,203,229, 98,150,101,177,119,239, 94, 20, 22, 22,190,
-164,209,104,202,104,154,222,255,246,219,111, 47, 12, 9, 9,233,146,147,147, 83, 88, 83, 83,179, 86,165, 82,221,229, 30, 77, 28,
- 56,112,224,240,143, 66,189, 19,124,253,236,195, 35,184, 55,156,216,178,208,162,105,122,246,137, 19, 39,248, 12,195, 96,203,150,
- 45,184,114,229, 10, 43,151,203,223,147,203,229, 95,201,100, 50,218,104, 52,206,122,229,149, 87,166, 45, 95,190,156, 55,120,240,
- 96, 92,188,120,145,215,181,107,215,233, 0, 26, 11,173,104,180, 18,107, 67,171,213, 94, 46, 47, 47,235,218, 40, 64,101, 87,137,
- 68,122,217, 70, 97,154,114, 54, 13,138,217,127,229,202,149,122, 95, 95, 95,203,205,155, 55,241,205, 55,223, 48, 87,174, 92, 73,
- 17,139,197,155,149, 74,165,217, 78,206,135,129, 6, 78, 49, 69,165,253,184,112, 97,216,163,241,241,204,203, 11, 22,212,138,100,
-178, 55, 62,221,176, 97, 81,117, 77,141, 31, 8,130,245,112,113, 41,220,178,114,101,194,216, 39,158,168,205, 56,115, 70,154,158,
-156, 44,244, 34,201,107,109,201,103,105,105,233,153,212,212,223,240,195,214,207, 96,181,154,161, 44,189,167,211, 42, 52, 90,216,
- 16, 89,127,226,164, 40, 74,251,212, 83, 79,137, 0,200,158,123,238, 57,177, 74,165,194, 35,143, 60, 2, 0,208,233,116, 56,114,
-228, 8, 66, 67, 67, 1, 0, 55,110,220,104,216,182,149, 79, 7, 7,135, 39, 6, 14, 28,136,194,194, 66,100,100,100,156, 86, 42,
-149, 26, 0,167,139,139,139, 99,250,246,237,139, 3, 7, 14,140,111, 69,104,181,169,142,236, 20, 90,127,226,148,201,100,139,247,
-239,223,255,210,133, 11, 23, 38, 47, 92,184, 80, 56,114,228, 72, 0, 64, 77, 77,141, 1, 0,221, 30,206,198,121, 34, 73, 18, 12,
-195,192,221,221, 93,175,209,104,160, 82,169,238,170, 84,170,185,183,111,223,110, 23,231,195,104,159, 28, 39,199,201,113,114,156,
-127, 19,206,127, 3,236,143, 12,207,178, 44,197, 48, 12, 82, 83, 83,177,127,255,126,218,106,181,206, 84, 42,149, 55, 26, 37,217,
-144,150,150,150,252,212, 83, 79,109,207,201,201,225,103,102,102,130,101, 89,186, 45,185, 49,153, 76, 36, 65,252,121,223,131,150,
-242,135, 31,126, 64, 89, 89,153,181,184,184,248, 20, 69, 81, 7, 30,112,246,226, 3,207, 58,252, 1, 48, 63, 99,177,156, 90, 62,
-104,208,168,101,201,201,146,151,223,125,215,252,194,139, 47,190, 77, 91, 44, 36, 95, 36, 98,196, 14, 14, 60, 90, 34, 17,102,156,
- 57, 35,253, 98,206, 28,119,163,217,124, 60,177, 13, 14,230,245, 22,173, 97,195, 6,227,133,151,223,132,177,145, 69,235,226,229,
- 92,152,173,104,147, 69,203,108, 54, 71, 40,149, 74, 72,165,210, 34, 0, 62,207, 63,255, 60, 24,134,129,209,104, 68, 77, 77, 13,
- 20, 10,133,246,197, 23, 95,164,235,196,147, 96,226,196,137,206,246,240, 6, 5, 5,249, 9,133, 66, 28, 63,126, 28, 66,161,240,
- 8, 0, 8,133,194, 35,201,201,201, 49, 83,167, 78,133,191,191,127, 80,126,126, 62, 1, 27,254,105,222, 17,241,123, 88,160, 59,
- 8,116,187,103,130, 67, 55,175,136,248,235, 4,144, 87, 23, 53, 62,171, 79,159, 62,128,157,126, 89,141, 81, 55,185, 99, 61, 73,
-146, 63, 47, 90,180,104,110,255,254,253, 71, 47, 95,190,156, 0,192,127, 24,119, 32, 69, 81, 15, 20,122,130, 3, 7, 14, 28, 56,
-252,173,173, 90,127, 66,139, 66,139, 32,136, 45, 67,135, 14,157, 9,128, 79, 16,196, 55, 10,133,226, 70,211, 52, 74,165, 50,215,
-207,207,239,147, 46, 93,186,204, 2,192, 18, 4,177,165,141,153, 42,103, 89,172,225,241,136, 69,247,196, 93,187, 2, 84,214, 47,
-117,178, 8, 0,193,227,241,183, 95,189,122,245,221,162,162, 34,181,157, 22,136, 86,241, 48,102, 29, 2,192, 79,192,221, 41,133,
-133, 39, 22, 68, 70, 70,143,157, 51, 7, 61,199,142,117,246,235,212,137, 54, 90,173,204,141,115,231,136, 11,123,247,138,210,147,
-147,133, 70,179,249,248, 1,160,168,173,249, 44, 45, 45, 61,243,107,202,153,147, 79, 79,140, 25, 29,212,197,239,158,104,184,171,
- 64, 69,165,246,100, 91, 68, 86, 19,209, 27,191,113,227,198,195, 34,145, 72,208,120, 41, 27,171,213, 90,105, 54,155, 35, 0,160,
-170,170,202,111,203,150, 45,187,120, 60, 94,161, 45,190,204,204,204, 67,203,150, 45,155, 88, 80, 80,112,178,184,184,184, 0, 0,
-138,138,138, 10, 72,146,220,174, 84, 42, 39, 22, 22, 22,238,131, 29,147, 0, 88,160,123,198,185,159,123, 0, 64,196,160, 73,200,
- 56,247,179, 20, 64,143,136, 65,147, 0, 0,237, 93,203,176, 49,234, 66, 43,188,119,241,226,197,157,163, 71,143,126, 5, 15, 16,
-211, 11, 0, 44, 22, 11,105, 52, 26, 41,154,166, 5, 86,171,149,181, 88, 44, 36,247, 76,226,192,129, 3, 7,251,193,178,108, 95,
- 0, 94,117, 63,235, 13, 40, 94, 77,182, 45,168, 91, 46,176,254,241, 91,247, 91, 77, 16,196,229, 70, 28, 13,251,237, 56, 22, 0,
- 42, 0, 92, 39, 8,162, 37, 35,200,150,150,126,183, 40,180, 20, 10,197, 62,216,177,104,180,189,233, 90,193,146,186,117,226,128,
-246,175,237,214,192, 65,211,116,121, 81, 81,209, 3, 87, 40,143,199,187, 59,126,252,248, 54,165,183,149,102, 55, 80,248,186,217,
-188, 35,233,203, 47,123, 31,255,230, 27,127,154,162, 60, 8,128,229,139,197, 26,139,197, 82,224, 69,146,215,218,106,201,186,207,
- 26,115,167,116, 76,254,157, 82,116,235,214,141,189,117,235,214, 61, 91,207,131,225,154, 94,175, 15,176,213, 4, 12, 6,195, 96,
- 59,197,224, 79,165,165,165, 63, 53, 35,216,119, 41,149,202, 93,246,102,170, 97, 81,105,128,199, 16,204,211, 17,131, 38,237, 5,
-192,212, 47, 42,253, 48, 81, 86, 86,150,131,186, 56,111, 15,130,194,194, 66, 51, 65, 16, 63,174, 89,179,230,185,244,244,244,221,
- 10,133,194,204, 61, 54, 57,112,224,192,161,109, 34,139, 32,136,164,186,223,113,117, 70,161,164,166,219,245,105,234,211, 53, 78,
- 83,207,209,116,127,107,199, 2,192,226,197,139,223, 77, 72, 72,144, 3,176,119, 49,230,118, 47, 42,253, 87,161,252,111,194,209,
- 88, 20,108,253, 43, 10,250, 37, 96, 1, 69,253, 14,170,145, 79, 62,249,112,141, 27,183,110,221, 34,254,205, 55, 92,253,162,210,
-141, 16,249, 79,200,119, 65, 65,193,198,192,192,192,205, 10,133,130, 2, 7, 14, 28, 56,112,104, 11,188,154, 19, 70, 45,136,178,
-184,214,254,191,175,227,222, 76,186,230,126, 19, 4,145,148,144,144, 16,215,134,252, 54, 88,180,120, 92,221,113,224,240,223,195,
-255,199,172, 87, 14, 28, 56,112,224,208, 60,154, 90,177,234,197, 87,211,223,139, 23, 47,126, 23,173,143, 56,249,226,158, 21,203,
-183,238,119,131,191, 22,129,123, 51, 7,154, 67, 91,102, 19, 68,183,163,124,167, 56, 78,142,147,227,228, 56, 57, 78,142,147,227,
-252,159,227,180,197,125,170, 25, 65, 20,219,210, 80, 95,107,195,136, 77,183,109, 29,107, 43, 45, 65, 16, 45,133,249,169, 31, 42,
-108,250,253,151, 35,154,227,228, 56, 57, 78,142,147,227,228, 56, 57, 78,142,243, 65,192,178,108, 95,150,101, 99,113,111,194, 20,
-203,178,108, 44,203,178, 99, 23, 47, 94,188,164,126,223,226,197,139,151,176, 44, 59,178, 62, 93, 93,154,134, 99,234,247, 53,253,
-110,186,175,181,180,173,100,113,102,147,237,134,223,127, 23, 31, 45, 14, 28, 56,112,224,192,129, 3,135,102, 81, 63, 99,176,145,
-181, 73, 13,224, 70, 66, 66, 66, 85, 35,223, 41, 53,128,107, 0,122,213,165, 83,215,137,180,198,190, 85,150,186,223,150,102,210,
- 88,236, 73,219, 2,182,180,176,205, 9,173,150,208,203,135,247, 97, 96, 71,239,168,186, 10, 0,203, 48, 0, 0,166, 46, 6, 18,
- 91, 31, 12,137, 97,192,178, 44, 20,170,234,180, 27, 42,188,223,222,243, 5,251,193,221, 91, 42, 93,207,176,236,160,186, 93,103,
-180, 26,243,155, 25, 58, 84,219,203, 17,218, 1, 97, 82, 30,222,102, 88,244, 4, 0, 30,129,235, 38, 6,159,100,151,183, 61,158,
- 84,115,237, 60,194, 11, 51,197, 50,249, 20, 23, 87,183,110, 85, 85, 21,121, 86,147,249,231, 76, 53, 54,163,237,235, 50, 34,200,
- 13,143, 49, 44,222, 5,192, 19,242,176, 46,175,210,238,153, 28, 28, 56,112,224,240,160,214,145, 7,138,139, 71, 16, 4,221, 12,
- 39,241,128,156, 92,128, 61, 59,196, 86, 51,187,255,104,102,223,229,191, 83,190,219, 36,180,194,189, 48, 7, 4, 86, 0, 96,193,
-226,131, 76, 53,190,110,211,241,190,136,150,242,249,219, 0,240, 77, 86,122, 1,203,224,108,179, 23,147,135, 33, 82, 17,127, 29,
- 0,198, 68,211, 51, 50,149,246,251,139, 69,248, 99,172,128,225,253,200,176,172,144,102,216,237, 96,145,228, 40,194,249,223, 75,
- 97,106, 75, 94, 3, 59,122, 71, 29,252, 67, 57, 58,229,235,121,232,223,243, 17,176, 52, 5, 48, 36,228,131,223,198,233,207,159,
- 71,255,176, 64,176, 12, 9, 48, 20, 28,199,125,138,113,145, 46,236, 13, 85,251,214,193, 14,246,131,123, 39, 79,239,155, 91,183,
-110,243,241, 11, 10, 39, 24,202,138,156, 63, 78, 78,155,191,104,217,136, 8,104, 35,237, 17, 91, 61,125,241,114, 96,231,144,183,
-223, 92,241, 25,223,215, 47,192,129, 33,205, 84,217,221,172, 62, 27,214, 46,219, 39,226, 21,174,187,174,196, 54,123,219,114,184,
- 23,102, 9, 36,226, 73, 50,169, 67, 55,131,161,230, 22,109, 37,127,230, 9, 5, 99, 63,249,116,125,239, 97,163, 98, 28,233,154,
- 50, 30,201, 32,124,207,238, 93,157,190,220,184, 41,230,166,146,126, 2, 0,211,150, 50, 51, 44, 22,229,238,152, 25, 35, 20,240,
-137,176,151,182,242, 1,170, 93, 66, 43,204, 27,207, 16, 44,108,134,151, 96, 9,252,150,165,194, 79,237, 57, 71,168, 55,190, 37,
- 88, 4,131,192, 94,130,197,174, 76, 53, 84,220, 35,143, 3,135,127, 23,120, 60, 94, 10,195, 48,195, 31,178, 48,120,140,101,217,
-223,185,171,251,191,141,182, 89,180, 8,172,202,184, 93,236, 6,218,138,136,224,160, 15,129,182, 9, 45, 41,159,191,253,114, 94,
-185, 15, 40, 43,182,126, 52,119,183,133, 4, 40,210, 10,154, 34, 65, 83, 36, 40,202, 10,154, 36,193,146,102, 44,251, 46, 5,176,
-212, 32, 42,178,251,118,128,246,181,247, 28, 66,150,247, 99,218,185,147,238,132, 69,139,159,190, 78,120,189, 88, 93,251,250,169,
-235,138,138,112,111,227,146, 76, 21,190,111,139, 32, 72,249,102, 30, 18, 15, 28, 41,249,226, 91,125, 54,195,178,112,119,150,133,
- 76,139,203, 8,216,113, 40,165,120,253,118, 83, 54, 0,184, 56,136, 67,166, 95,207, 11,124,144, 74,240,150, 74,215,111,222,244,
-165,143,175,135,140,160, 46,172, 6, 69,211, 8,232, 20,203, 95,242,218, 52,223, 85,159,111,251, 28, 58,243, 11,173, 29, 31,226,
-141,240,206, 93,194, 22,108, 63,114, 33, 80,175, 83, 89, 78,238,124,247, 54,204, 32,125,252,195,132, 31, 38,124,198, 95,250,206,
-188,183, 44,116,201,165, 28, 21, 50,109, 61,107,194,188,113, 40, 97,245,167, 61, 71,140,139,115,100,106,213,124,147,190, 54,120,
-235,119,219, 86,132,246,236, 39, 31, 28,217, 81,164,250,121, 54, 97,172,169,132,149, 39,149,140,136,136,118, 54, 62, 55,149,220,
-250, 67,226,107,153, 42,108,104, 75,153,105,246, 63,109,143, 97,218, 31,117,157, 96, 49, 56,253,247,148, 89,180,226, 50, 88,154,
- 4,104,107,195, 55,104, 18, 44,115,239,187,255,236,239, 0,180, 79,104,241, 88,140, 62,117,238,178,111,121,153,178,239,231,159,
-126,188,132,189,124,249, 24,104,252,152, 85,137, 51,109, 21,152, 28, 56,112,248, 91, 91, 76, 40,150,101, 5, 15,153, 51,134,101,
-217,163, 15, 72,243, 54,128,151,235,182,183, 1,248,228, 33,100,173, 35, 0,159,186,237, 50, 0, 37, 92, 11,120, 32, 52,117,126,
-111,119, 28, 45, 41, 88, 6,216, 59, 1, 0,100,109,205, 5, 11, 72, 65,240, 1, 82,143,248,113,163,224,233,237, 3,144, 6,192,
-106, 0, 72, 35, 64,234, 1,210,136, 10,101, 33, 96,213, 3,249,199, 64,177,172,164,205,197, 53,107,129,220,159, 49,178, 79, 32,
-188, 92,164,152, 23, 31,238,185,229,120,238,182,109, 39,115,162, 51, 85,152, 98, 87, 94, 89, 22,253,123,116,195, 23,219,244,217,
-191, 92, 85,143, 1,128,152, 94, 30,199,251,135,119, 10, 88,191,221,148,125,244, 70,213, 88, 0, 24, 27,225,124,172, 95,136,111,
- 32,131,246, 91,125, 25,150, 29,236,215,185, 27, 65,167,111, 6,163, 43,129, 78,103, 68,201,221, 29,112,243,127,148, 71, 51, 24,
-106,235,120, 25, 31,139,223, 88,186, 70,104,208,149, 91, 24,171,154,246,226, 87,241, 5, 98,134, 64,233, 25,115, 45, 83, 77,191,
- 57,243,121,106,193,251, 31, 45, 6, 48,173, 53,158,112,111,188,182,110,221,250, 30, 3,163, 66,189,203,246,205, 35,106,171,202,
- 65,241,229,146,248,199, 7,194,181,123, 56, 83,158,186,142, 16, 7, 69,195,213, 35, 8,165, 23,118,162,224,247,253,196,160, 62,
- 19, 37,223,255, 36,122, 14,176, 54, 43,180,186,121, 98,208,152, 33,253,118, 7, 5,250,249,178, 44, 3,134, 97,193, 50, 52,106,
- 77, 36,150,236,201, 7, 77,211,120,106,204,160,145, 14, 98,130,101, 24, 6, 44,203,160,184, 76, 99,248,245, 82,246,200,252, 42,
- 92,178,199, 82,213,235,177,225,131,174,167,253, 30, 74,230,254,130,168,105, 9,217, 4,112,174, 81,155, 27,116,245,196,247,161,
-192,119,237,215,114, 4,232,130,227,171, 17, 56,100, 38,127,243, 79,199,189,180,234,210,233,251,118,108,122,250,235,205,155, 19,
-179, 85,152,205, 61, 95, 56,112,248,119,128,101,217,135, 46,182, 10, 11, 11, 21, 15, 34,182,252,253,253,135,148,150,150,174,173,
-247, 86, 33, 8, 98,109,231,206,157,151,253,167,163,122, 95, 95, 79, 75,211,244,180,210,210,210,179,173,113,198,198,198,250, 29,
- 57,114,164, 75, 35,206, 46, 0,186, 52,151,214,213,213,149, 30, 48, 96, 64,193,145, 35, 71, 20, 92, 11,105,151,224,106,179,208,
-202, 46,250,121, 94, 31,179,178, 22, 0,178,237, 72,127,223,144,159,137,164, 87,255,176,226,249,213, 17,157,221, 81,163,183,224,
-228,149, 2,208, 52, 9,154,162,234, 44, 91, 20,104,138,196,152, 94,158, 24, 96,154,141, 13, 73, 57,160,104, 38,161, 53,206,166,
-176,178,204, 51,189,163, 39,239, 97, 24, 86, 44, 17,242,180,193, 1, 30,222, 11,158,234,197,155, 23, 31, 1,163,149,154,188, 51,
-245,246,175, 89, 42,108,181,139,147,249,115,200, 35,182,185,125, 52,101,179,236,173, 88,163,250, 71, 15, 27,236,204,154,181, 32,
- 43,242, 81, 99, 32,145,175, 33, 81,102,170,134,132, 80,218,197,201,176,232,217,209,223, 87,126,126,247, 59,119, 61,248, 58,129,
- 55,159, 18,137,121, 20,104,134,229,179,213,153,102,247,208, 81,194,122,191,173,214,242, 41,147, 59, 61, 63,100,116,172, 75,209,
-206,153,132, 44,120, 12,188,251, 4,224,238,217, 31,160,186,146, 4,141,162,128,112, 54, 85,163,131,199, 35, 24, 55,109, 10, 62,
-153,210, 23, 53,186, 26,240,149,183, 93,196, 66,137, 43, 96,109,150,147,165, 49,109,221,154,143,124, 5,124,222,189,235, 89,255,
-161, 73, 24,205,102,128,166, 32, 21, 48, 32,216,250,255, 72,208,164, 85,222,115,226, 59,115, 1,250,146,173,178,103,169,240, 83,
-184, 23, 6,131, 33, 67, 89,210, 8, 2, 56,151,169,254,143,248, 9,243,198, 51,143,142,121,113, 48, 75,224,183,246,212, 81,164,
- 7,226,162,186, 56, 58, 56,232,178, 81,178,247,117,220,134,148,237, 48,240,101, 60,243,210,107,242, 45, 91,182,140, 7,216, 57,
-184,223, 71,237,175, 88,100,149,227,228, 56,255,145,156,206,206,206, 93, 59,119,238,188,140, 36,201, 33, 34,145,168,131,213,106,
- 5,195, 48,101, 98,177,248,183,130,130,130,149, 58,157,238,206,223,173,236,215,175, 95,111,139,216,178,201, 41, 20, 10,145,147,
-147,115,171, 13, 98,235, 84,147,227,127, 60,119,238, 28,246,236,217, 3, 0,200,205,205, 69,247,238,221, 29,154, 59,240,238,221,
-187, 14,195,134, 13,251, 17, 64, 64,107,156, 55,110,220,232,250,203, 47,191, 96,239,222,189, 0,128,156,156, 28, 4, 7, 7, 55,
-155,153,115,231,206,241,159,125,246,217,174, 0, 20,255,133, 58,250, 55,136,172,198,223,255, 17, 90, 73, 73, 73,108, 92, 92, 28,
-209,116,187, 25,228, 7,186,137,251,192, 68, 3, 64,126, 91,115,144, 85,142, 53, 95,236, 56, 49,246,244,222,141, 67,164, 34, 30,
-150,111, 93, 80,172,174,172,121, 76, 64,220, 27,126,161, 88,240,220, 28,197, 23, 19,166,247, 10,172,170, 53,225,240, 31,165,103,
- 51, 85,109, 51,145,102, 42,145, 12, 48,174,247,126,209, 48, 25, 85,193,211, 63, 73,222,181,107,241,216,158,111,198,247,196,161,
- 11, 5,111, 2,148,205,168,239, 44,195,128,101,168, 6,231,247,186,174, 3,192,220,191, 40, 48, 3,246,222, 62,166,109, 22,173,
-161,128,160,202, 27,227,156,228,226,175,102,205,122,197,153, 84,231,161,210, 34, 66,113,149, 9,101, 70, 33,106, 5,222, 40,205,
-190, 65,243, 8, 36,219, 52,185, 16,208,177,148,201,213, 77,236,200,139, 28, 53,215, 95,119,252,221, 42, 49, 65,241,157,159, 92,
-229, 90,113,250,179, 2, 74,175,214, 19, 4,108,134,159,119,113,113,237,110,210, 20,240,181, 85, 21,112,245,137,192,216,201,113,
-248, 32, 54, 28, 53, 58, 61,212,149, 23,217,110,190,206, 68,225,111,137, 88, 58, 46, 12,154,114, 37,204, 36, 64,232,205,149, 38,
-139,169,182,197,235,200,195,230,249, 11, 23, 61,211,201,215,203,161,126, 82, 1,203,208,232, 21, 22,132, 81, 67,250, 35,249,220,
-121, 92,190,145, 11,166,110, 82, 1,203, 48, 40, 81, 85,149,155,172,244, 15,109,186,160, 52, 5,150, 52, 53, 43,196,208,142, 33,
-195, 72,111,200,105,224,253,190, 93,157,102, 44,142,235,228,228, 32, 33, 96, 34,105,152, 44, 36,106,206,127, 5,143,206, 61, 32,
-151, 74,137, 62, 48, 10,174, 2,220,186,133, 28, 56, 52,194,211, 79, 63, 45, 45, 47, 47, 79, 13, 8, 8, 8, 31, 53,106,148,124,
-240,224,193,208,235,245, 56,121,242, 36,244,122,125,167,128,128,128, 78, 39, 79,158,156, 88, 84, 84,148,217,177, 99,199, 97,123,
-247,238,181,219,135,182, 78, 0,241, 27, 30,193, 0, 69, 16, 4,234,246, 17,117,251,218,189,206,173, 88, 44, 70, 97, 97,225, 67,
-183,108,149,150,150,222,106,143,101,171,182,182, 86,228,239,239, 15, 47, 47, 47,208, 52, 13,189, 94,143,131, 7, 15, 66,171,213,
-130, 97, 24,200,100, 50,172, 90,183, 21,217, 87, 83,113,233,210, 37,104,181, 90,145, 45,206,146,146, 18,162, 87,175, 94, 48,155,
-205,160, 40, 10, 38,147, 9,167, 78,157,106,248, 45, 16, 8,176,232,195,207,145,123, 37, 21,233,233,233, 40, 41, 41,249,175,172,
- 54,210, 6, 45,242,119, 68,139, 49,179,254,235,179, 14,105,154, 90,178,101,251,174,139, 75,102, 79,193,107, 83,163, 3, 86,110,
-220, 31,157, 85,129,237, 0, 16,230,137,233,207, 13,239, 22,232, 42, 23,226,131,157, 87, 0,150, 93,242,160,231,203,168, 68,110,
-120, 7,230,205, 3,151, 10, 83,223,157,210, 7, 65,190,206,221,171,196,149,226,252,124, 59,214, 20,100, 40,184, 57, 74, 66, 98,
-122,121, 28, 7,195,192,213, 73, 18, 10,154,130,171,163, 36,100,108,132,243, 49, 0,112,150, 11, 67,155,179,124,181,132,168, 0,
-225, 76,185, 68, 48,211,193,201, 53,240,133,241,163,100, 49,227, 39,202, 28,133, 20, 52,151, 78, 66, 39,236, 8,210,189, 19,204,
-100, 37, 74,238,220,166, 79,255,158, 85, 90, 81, 99, 94, 96, 51,155, 44,206,150,222,201,241,234,218,115,148, 91, 69,210, 82, 85,
-215, 23,119,118,225,129,225,213, 36, 62, 89,238,224,221, 79,246, 71,254,157, 90,134,109,214,162,115, 31,116, 90,109, 1, 73,195,
-215, 72, 11,156,110,167,124,143,197,227,122,160,170, 82, 5,147,149,130,214, 72, 89,125, 92,165, 18,243,157,155, 48, 91, 41, 88,
- 72, 6, 66, 87,127,156,188,120,163,130, 33,201, 99, 45,113,230,107,144,158,127, 48,221,177,241,190, 32, 79,244,122,199, 89,150,
- 14,210,136,194, 18, 5,182, 31,185,216, 39, 95,131,244, 7,169,103,150,161,238, 13, 63, 55,178,100, 17, 44, 6,183,199, 9, 62,
-212, 27,253, 68, 82,209,151,107,223,124, 54,252,241, 96,119, 9, 83,114, 17, 4, 99,133, 3, 45,128, 81, 76,195, 37, 32, 8,140,
-165,134, 53,152, 76,213, 25, 0, 23,233,157, 3,135, 70, 8, 9, 9,241, 41, 45, 45,205, 88,184,112,161,251,147, 79, 62,137, 3,
- 7, 14, 64,167,211,225,135, 31,126,192,250,245,235,177, 98,197, 10,144, 36,137, 45, 91,182,200,247,237,219,215,111,211,166, 77,
- 37,129,129,129, 17, 69, 69, 69,101, 54, 4, 22, 1, 64, 2, 64, 88,247,238, 34, 0, 48, 71,143, 30, 69, 76, 76, 12,142, 30, 61,
-202,212,237,163,113,175,243,211,174,245, 68,197, 98, 49,196, 98, 49,180, 90,237, 67, 17, 91, 66,161, 16,142,142,142, 16,139,197,
-168,169,169,105,179,216,162, 40,138, 95, 82, 82, 2,173, 86,139, 81,227,199,227,243,132, 4, 12, 31, 62, 28,163, 70,141, 2,203,
-178, 56,117,234, 20,162, 7, 70, 98,202, 19,195,144,149,149, 5,138,162,236,202,111, 89, 89, 25,202,203,203, 49,118,252,120,108,
-221,180, 9,253,251,247, 71, 72, 72, 8, 40,138, 66,106,106, 42,158, 30, 51, 16,210, 9,209,200,205,205,229, 26,181,253,214,172,
-135,226,163,245,192,200, 80,227,119,230,208,153,164,169, 99,250,197,141, 31, 20,142,173,187, 79,127, 4, 47,221, 46, 0,240, 48,
- 75, 86, 61, 63, 60, 8,153, 69, 85, 56,157,174, 72,202,170,192, 67,153,173,193,208,240,244,112,150, 3,124, 49,140, 86,134,114,
-206,183,237,192,204,176, 44,228, 67,222,193,115,227, 51, 3,250,135, 7, 4,212,207, 58,116,140,249, 12,211,111,220, 10,236, 27,
-226, 19, 8,154, 4,104, 18,206, 83,118, 2, 31, 58,216,204,199,192, 46,226,228,249,243,230, 13, 24, 55, 97,178, 76, 44,119, 1,
-173, 43, 6, 89,118, 3,154,188,179,208,203,187,163,172, 48, 31,123, 78, 92,210,230,149,104,116, 60, 30, 78,150,107,205,111,231,
- 87,161,214, 22,175,137, 68,194,178,165, 11, 98,247,236,218,237, 36, 9, 26, 68,220,254, 42, 70, 43, 22, 80, 18,175, 46,143,242,
- 12, 82, 79,246,227, 31,118, 59,235, 45, 88,109,139,199,160,215,237, 63,117,242,248,148,110, 93, 7, 57,221,189,124, 4, 70,147,
- 25,102, 18,136,232, 55, 12, 52,205,138, 9, 30,193, 56,243,249,132, 74, 83, 5,130,164,203,127,187,118, 87,121,238, 90, 62,223,
-236,132,213,173, 70, 23,105,170,238, 9,254, 27,227,135,245, 6, 72, 35,158, 24,210, 3,159, 39,158,126, 29,160, 95,124,176, 74,
-190,103,209, 98,129, 65,225, 94,248,134,101, 49,232,202,193,245,161, 81, 19,230,163, 45, 22,173, 8, 79,140, 11,235,234,247,253,
-231,171,222,113,247,232,216,157, 79, 48, 36, 88,159,158,128,174,132, 37, 74, 46,194,197,191, 63,104,191,129,216,178,225,211, 90,
-134, 97,119, 1,224,166,100,115,224,208,248,121,100, 50,237, 95,179,102,141,123, 92, 92, 92,189, 69, 6, 23, 47, 94,196,182,109,
-219,224,224,112,255,115, 50, 38, 38, 6, 44,203,186, 47, 95,190,124, 63,128,199, 91,226, 28, 48, 96,192,248,244,244,116, 69,239,
-222,189,243,235,196,150, 8, 0,239,230,205,155,188,226,226, 98,194,205,205,141,245,243,243, 35, 21, 10, 5, 3,128,126,233,165,
-151,248, 63,255,252,115, 55,189, 94,127,166,189, 66, 75, 44, 22, 63, 20,159, 45,161, 80, 8,130, 32, 32, 22,139, 33, 18,137,192,
-178,108,155,196, 22, 77,211,130,163, 71,143,226,202,149, 43, 88,209,187, 55,222,244,247,135,187,187, 59, 82, 83, 83,193,178, 44,
- 28, 28, 28, 80, 89, 89,137, 93,187,118, 97,196,136, 17,160, 40, 74,100, 15,239,222,189,123,145,150,150,134, 15,163,162,240,166,
-139, 11, 28, 29, 29,113,234,212,189,209, 64,137, 68,130,194,194, 66,156, 58,117, 10,195,134, 13,227, 26,245, 3,194,238,198, 51,
- 20, 16, 84, 18,240,177, 90,140, 96, 41, 22, 32,224, 23, 22, 6, 81, 86,214,253,206, 57,246,128,199,195,210, 13,219,147, 98, 63,
-155, 63,158,152, 25,223,199,111,229,247, 41,115, 0, 96,198, 83,193,254,114,137, 0, 95, 28,202,100,121, 60, 44,125, 24, 5, 12,
- 11,131,136,208, 96,206,168,254, 33, 80, 84, 91,112, 91, 81,253,107,150,157, 67, 61,167, 63,123, 14, 59, 14,167, 22,175,223, 97,
-202,102, 89, 22,174,142,146,144,233,215,111, 7,126,127, 52,173,104,221, 30, 83, 54,203,176,112,149, 11, 67, 95,204, 26,104,115,
-214, 97, 84,128,112,230, 91, 11, 22, 12,140,127,113,161,148,202,254, 25,150,219, 39,192, 88,141,208, 89, 69,168,230,251,160,164,
-168, 8, 31,111, 73, 42,214,233, 45, 83, 50,212,109, 19,152,121, 26,212, 10, 8,221,147, 31,127,240,110,114,194,170,229,142,198,
-252,212, 90, 62, 65, 25,249,157,135, 10, 86,173,248,140,168, 49, 91, 38,231, 87,161,198, 22,143,217, 9,171,215,172,219, 16,251,
-202,180,137,217,193,221,135,122,208,138, 59, 30, 38,157, 78,181,243,120,154, 79, 93, 79,145, 0,128,219, 37, 26,168,181,122,138,
-166,200, 51, 78, 66,172,204,180,199, 58, 88,135,174,222,240,138, 27, 20,241,172,151,147, 8,198,218,106,120, 59, 9, 49,166,255,
- 35,207,146,127,228,190,115, 71,213, 22,185,214, 84,104,145, 96, 73, 35,126, 95, 61, 34,148,165,201, 80,208, 36,172,215,127,108,
-187,101,140,192,155,175, 13,113,116,118,179,220,229, 65,239, 0,200, 60, 65, 56,119, 2, 92,186, 16,194,176,201, 80,228,103, 80,
-175, 63, 59, 77,115,167,160,228, 91, 79,217, 67,153,249,195,129,195,191, 10,133,133,133,207, 47, 89,178,228, 92,255,254,253, 59,
-120,122,122,162, 71,143, 30, 4, 75, 75,198, 0, 0, 32, 0, 73, 68, 65, 84, 56,124,248, 48, 22, 46, 92,216,144,166,119,239,222,
- 96, 89, 22,149,149,149, 88,179,102, 77,153, 66,161,120,190,213, 14,122, 70, 70,246,142, 29, 59,134,132,135,135, 91, 69, 34, 81,
- 53, 0, 73,117,117,181,180,178,178,146, 48,153, 76, 96, 24,134,113,113,113,161, 21, 10, 5, 57,101,202, 20,243,133, 11, 23, 30,
-209,235,245,133, 15, 98,209, 10, 8, 8,184,169,209,104,180, 4, 65, 60,112,232,135,122,145,229,233,233,233, 85, 91, 91,203, 0,
-168,106, 79,232, 7,138,162, 16, 21, 21,133, 19,103,175,226,232,233, 11,208, 41,114, 48,231,149,231,209,163, 71, 15,156, 56,113,
-162,221,117,214,171, 87, 47, 28, 63,117, 14,231,174, 92, 67, 97,238,117,188, 62,231, 21, 68, 68, 68,224,248,241,227, 92,131,182,
- 31, 71,112,191,111,214,145,166, 66,107, 88, 82, 82, 82,125,207,252, 79,242, 53,212, 19,189,132,174,226, 31,151,143,123, 36, 76,
- 56,106, 57, 8,161, 12, 63,119, 63, 62,112,233,199, 95,101,243,189, 11,167,221, 84,217,158, 29,118,223, 77,163, 66, 6,123, 41,
-251,167,107, 89,161,207, 62,209, 63, 0, 91, 15,203,223, 7,128,201,131,187,226,143, 60, 53, 46,229,170,126,202, 84, 35,227, 65,
- 75, 29,233, 13, 57, 93,129,159,214,188, 17, 63,172, 83, 71, 31,108, 59,112, 14, 4,129,253,118,189,112, 89,150,237, 31,222, 9,
-235,119, 52,157, 97,232, 19,184,110,143, 41,251,100, 70,205, 56, 0, 24, 21, 42, 63,214,247, 17,183, 64,182,177,227, 86, 51,144,
-137, 5,179,198, 77,124, 78, 74,229, 30, 6, 10, 78,129,160,204, 48, 90, 25, 40, 43,106, 96,112, 9, 64,234,197,107, 70,173,201,
- 50, 63, 83,221, 62, 43, 94, 86, 5,242, 69,151,175, 21,213,234,141,190,114,175, 71, 76,124, 30,195,212,154, 89,252,145, 89,160,
-203, 44, 67,142, 61, 28,249,249,176, 60,230, 79, 13,254,102,251,158,101, 66,145,120, 50,159, 0,225,237,234,224,245,205,103, 31,
-194,201,201, 17,140,165, 22,208,171,241,228,171, 31,171,111, 42,200,174, 0,208,221, 3,142,131,187, 10,183, 11,120, 68, 73,202,
-109,235,123,182,206, 65,144,152, 61,109, 76,111, 33, 99,209,227,141, 53,187,177,249,157,120, 60, 55, 50, 76,120,228,124,238,108,
- 0, 43,219, 91,215, 44, 77,129, 37,141,120,252,221,179,217, 4,112,142, 5, 6, 93,217,179, 42, 20,184,106, 55, 71, 31, 64, 72,
- 11,136,176,158,129, 14, 34,166,228, 60,152,146,243, 44, 63, 96, 32,136,192, 33, 4,225, 19,197,126,185,118,133,126,235,214,109,
- 39, 25, 30, 62,176, 35, 84, 6, 7, 14,255,171,200, 87, 40, 20, 99, 99, 98, 98, 78,159, 56,113,194, 61, 50, 50, 18, 0,112,229,
-202,149,123,157,206,168, 40, 4, 7, 7,163,188,188, 28, 83,167, 78,173, 80, 42,149, 99, 97,195,231,183,166,166,230,206,222,189,
-123, 59,232,245,250,222,239,189,247,158,170, 83,167, 78, 58,147,201, 68, 84, 87, 87, 51, 20, 69,193,205,205, 77,220,187,119,111,
- 12, 24, 48,160,246,226,197,139,157,139,139,139,107, 0, 20,180, 39,243,241,241,241, 56,123,246,222,164,189,135, 17, 87, 75, 36,
- 18, 33, 50, 50,210, 63, 63, 63,191,180,238,221,210,230,103,124,227,215,203,181,107,215,112,230,106, 9, 4, 22, 35,196,106, 5,
-126, 63,176, 23,227,103,205, 5, 69,181,223,139,225,255,216, 59,239,240, 40,170, 54,138,159, 41,219,178,233,101,211, 11, 33,144,
- 64, 32,244, 78, 16,144,166, 18, 62,138, 84, 65,154, 64, 64, 20, 16,165, 35, 69,165, 35, 69, 58,168,244,142,148,160, 2, 81,122,
- 9,157,132, 36, 4, 2,132,180, 77,239,217, 62,229,251, 35,197, 4, 82,118, 19,108, 56,191,231,153,103,182,204,158,157,153,187,
- 59,247,204,123,239,125,239,253,251,247,113, 60,244, 6,204,165, 52, 30, 61,122,136, 35, 71,142, 96,226,196,137,181,210,172, 33,
- 85,122,145,127, 56, 74, 84,210, 79,139, 6,128,160,160,160,139, 37,209,138,178,248,248, 64, 34, 45,192,130, 30, 45,220,102, 12,
- 14,172, 71, 25,242,146,193,177, 28, 40, 17,224,232, 96,133, 61,123,246,215,221,127,240,224,245, 77, 27, 55,173,231, 24,102,110,
- 68, 26, 84, 38,236,212,130,111, 15, 94, 25,188,103,122, 23,122,226,187, 13,237, 0, 64, 76,147, 88,119,242, 33, 3, 96, 65,109,
-142,182,157, 27,100, 5, 6,140,119,180,183,158, 63,251,163,222,118, 93, 90,249,225, 98, 88, 4,214, 31,185,126, 73,146,134,221,
- 70,255,184, 57, 3, 94,246, 79, 21,141, 58, 4, 87,125,191, 75,150,229,157,197,230,182,208,199,157, 7,244, 26,104,180,122, 36,
-100,178, 72,200,210,128,150,139,113, 59, 38, 81,109,159,130,144, 90, 28, 54, 97, 46,151,185,126,249,205,106,119,141,186,128,201,
-203,206, 96,196,146, 27, 34,185,153, 84,105, 74, 87,133, 27, 73,208,188,229, 45,106, 9,112,148, 68,198,171,230,124, 54,202, 60,
- 41,242, 12,234,147,201, 32,120, 30,102,254,189, 97,105, 70,137, 3,235,136,226, 1,192,220, 92, 46, 89,190,232,115,235,169, 51,
- 23, 85,219, 7,204, 31, 16,251,249, 56, 79, 13,240,178,197,165, 59,209,184, 20,254,226,225,165,219,143, 26,119,109,226, 10, 63,
-119,155, 41,146,236,156,101, 81, 48, 61, 66, 90, 84, 48, 12, 96,208,148,142, 58,244,119,196,176,214,131,231, 85, 54,218,176, 66,
-188, 1, 46,134,229, 65, 80, 20, 64,144, 69, 35, 32, 19,174,130,182,241,225,247, 31, 58,174,218,177, 99,247, 87, 81, 25, 66, 20,
- 75, 64,160, 58,114,115,115, 31, 68, 69, 69,245,106,218,180,233,206, 79, 63,253,212,114,248,240,225,174,227,198,141, 35, 1, 32,
- 53, 53,149, 91,187,118,109,242,119,223,125,151,155,145,145, 49,218, 96, 48,132, 27,243, 15, 87, 42,149,215,190,255,254,251,244,
-203,151, 47, 55,110,211,166,141,180,101,203,150,156,173,173, 45, 45,149, 74, 89,157, 78,167,137,137,137, 97,159, 62,125,234,146,
-147,147,243, 4, 64, 44,106,208,172, 95, 28,189, 90, 76, 81,212,151, 60,207, 7,188,142, 62, 90,114,185,220, 21,192, 19,130, 32,
-234,155,218,108,248, 74,133, 77,211,200,206,206,134, 42,229, 33,100,137,143,209,212,156, 68, 35, 91, 11, 88, 89, 89,213,202, 20,
-229,230,230, 2,133, 73,184,114,229, 62,192, 48,176,182,182,134,181,181,245, 95,110,180, 42,243, 34,255, 18,198, 87,240, 90,213,
-125,180, 26, 41, 48,209, 76,135,181, 19,122,215, 19,123,123,186, 67,155,120, 27,247, 19, 10, 48,183, 93,155, 72, 74,106,169,153,
-240, 97,223, 86, 3, 6,214, 65,151, 14,173, 9,111, 23,235, 41,203,190,221,252,113, 35,100,124, 30,153,134,117,198,236, 81,100,
- 58,158,113, 72,219,113,254, 65, 98,176,187, 92, 13,142,227,113, 62, 92,137,240,184,236, 29,209,233,120,102,202,209, 53,114, 65,
-119, 26,228, 65,158,231,101,214,230,230,249,141,252,220, 29,186,183,111, 70,190,211,185, 21,196, 20,112,229,230,125, 76,251,246,
-216, 13,142,227,123, 27, 61, 66,140,227, 94, 49, 80, 69, 35, 12, 13,229, 70, 24,242, 60,207, 23,141, 58,172,186,219, 23, 69, 17,
- 41,170, 23,183,156, 69,246,190, 80,199,158, 71, 92, 54,135, 23,105,249,200,163,157,161, 77, 74, 2,120, 46,254, 98, 45, 58, 86,
- 59, 56, 56, 56,214,109,228, 87,111,195,174, 35,208,171,114,241,236,194, 78, 20,100, 43,241,245,150,147,245,220,220,236, 59, 39,
- 37, 37, 93, 52,225, 98,227,247, 91,200,126, 71,240, 0, 37,146,226,244,166, 67,200,176, 55,131,131, 92, 12, 78,157,142, 9, 83,
-135, 91,191,219, 99,184, 53, 0,188,120,116, 15, 94,114,181, 81,186,122,123, 12, 24,220,181,129, 13, 12,106,236,250,245,158,134,
- 4,222,217,125,246, 97,108,215,134, 54,178,193,129, 94,182,139,147,115,222, 71,102,205,146,138,150, 68,180, 74, 35,124, 53, 24,
-109,120, 4, 96, 27,114,136, 61,120, 45,205,124, 96,143,150,114, 49, 77, 16,124, 65, 18,120, 51, 7,108,222,117,184, 64, 98,248,
-107,102, 98, 23, 16,120, 19, 80,171,213,119,212,106,117,147, 47,190,248, 98,216,156, 57,115,222, 50, 55, 55,175, 11, 0,133,133,
-133,207, 12, 6,195,165,226,255,167, 41,163, 3,121, 0, 79, 98, 99, 99,159,197,198,198, 58,237,221,187,215, 6,128,172,248, 61,
- 13,128, 28, 0,169,168,197,136,195, 18, 83, 69, 16,196,151,175,235, 60,148,152, 42,130, 32,234,215,228,243, 36, 73,178, 4, 65,
-128, 32, 8, 72,165, 82, 92,190,124, 25,131,122,247, 64,212,233, 28, 4,216, 88,160,205,232, 9, 56,120,238, 28, 40,138, 2, 65,
- 16,160, 40,202,164,122,132,166,105, 92,185,114, 5, 35,134, 14,132,148, 6,172,173,173,241,197, 23, 95,224,196,137, 19,160,105,
- 97,150, 62, 19,216, 86,198,112, 25,153, 71,139,192,226,115, 59,151,136,193, 26,112,106,231, 42,132, 68, 20,232, 30,165, 99,110,
-131,116,172, 61,130,124, 46,253,219,221,193,231,174, 68,172, 28, 51, 36, 72,254,118,215, 30,120,187, 75, 87,186,113,235,206,243,
-129,114, 70,171, 59,170,200,181,193,114,248,106,219,175,209, 19, 14, 94,136, 33,160,207,199,144,158,173,121,150,195, 87,213, 28,
-204, 43,154,214,102, 22, 7,175, 92,191,110, 11,125, 1,226,238,253, 46,171, 83,183, 30,192,234,241,228,201, 99,124,183,235, 39,
-238,194,205, 71,123,116, 12, 62,125,154,141, 66, 99, 53,139,156, 21, 3,107,115, 73,131,119, 26, 91,253,194,129,135,141, 92,220,
-144,231, 88,216,200, 69, 13,123, 52,148,255,194,243, 60,111,105, 38,106,200,179,134,106, 53,213, 58,102,235,174, 31,118,172, 30,
- 59,118,172,121, 70, 98, 10,146,243, 34, 80, 32,113,131, 65,238,129,216,123,151,212, 42, 45, 99, 76, 37, 94,233,249,204,200,200,
- 72,187, 19,150,133,131, 91,150,194,160,211, 34, 45,177,200,171, 38,103,228,193,202,193,237,122, 82, 82,146,209,154,122,134,203,
- 29, 48,124,188,216,204, 18,102, 35, 6, 4, 73, 98, 51,181,104,225,106, 89,116,209, 40, 72, 71, 84,232, 21,116, 41,238, 99,250,
- 52,129,132, 87, 51, 87,163,246,211, 82, 38,254,244,221,150,110,120, 22,175,196,229,135, 73,187,158,101, 33,153,141, 86,238,138,
- 77,206, 9,238,219,206, 19,107, 78, 68,126, 2, 24,246,155,114,236,254,142, 24,198,243, 8, 44,234, 12,175, 6, 15, 4,250, 59,
- 98,152,145, 35, 13, 95,209,164,197,248, 96,245, 47, 47,230, 29,190,149,209,119,198, 7,157,172, 58,116,120, 79, 2, 70,135,124,
-181,214, 16,149,131,188,218,148, 81, 45, 16, 52, 5,205,127,171, 38, 11, 96,143,193, 96,216,147,147,147,243, 58, 53,147,241,106,
- 94,167, 90, 29,123,217,102, 66,158,231,233,226,104, 86,117,157,225,171,212, 44,219, 76,200,243,252,207,197,209,172,234,162, 90,
-229, 52, 57,142, 75,110,213,170,149, 93,159, 62,125,192,178, 44, 30, 63,126,140, 23, 9, 9,232, 30,252, 9,108,108,108,112,233,
-193, 3, 60,122,244, 8, 95,126,249, 37, 12, 6, 3,142, 31, 63,158, 88,157, 38, 77,211,250,122,245,234,137,251,245,235, 7,134,
- 97,240,244,233, 83, 36, 37, 37, 97,218,180,105,176,182,182,198,157, 59,119, 74, 53, 51, 50, 50, 64,211,180,190,130,232,214,159,
-241, 91,250,183,243,138,201,170,218,104, 1, 44, 88, 3,114,207, 45,192,186,203,208,235, 13,104, 24,153,142,231,145,127, 68,164,
- 54, 83, 97, 15, 78, 61,136,136,126,118,231,234,219, 18,164,133,195,212, 59,137,199,153, 80, 90,202,242,243,161,207,183,194,211,
- 95,240, 60, 53,191,224,113, 38,148, 38,223, 49,112, 44, 1,189, 10, 80,222,198,181, 75, 23,113,225,198,125,220, 10,143,102,175,
-221,137, 57, 72,114,248, 42, 42, 19,143,107,112, 23, 2,139,222,107, 48, 42,252,137,103,107, 63, 39, 79,176, 12,120,206, 0,235,
- 33,251, 49, 58,178,131,103,107, 31, 27,207,162, 72,150, 1,182, 31,253, 14,172,150, 85,169,119, 59,193,176, 77,114,226,204,251,
-249, 57,153,237,186,117,110,111,110,237,255, 46, 50,158,196,224,241,253, 43,234, 59, 17,177,215,110, 39, 24,106, 21, 45,113,115,
-115,123,171, 91,231, 6, 24, 50, 97, 54,244,170, 92, 60,189,240, 3, 10,178, 82,112,249,186, 5,162,243,242,218, 3, 48, 58,162,
-117, 61,158,105,140,248,108,116,172, 35,138,183,132,214,249,195,160, 62,144, 18, 26,112,218, 60, 16,170, 12,196, 38,233,114,223,
-223,146,192, 2,128, 92, 74,208,230,124,174,149, 81,145, 71, 47,123, 95, 57,101,192,238,115, 15,193,113, 69,211, 55,113, 28, 54,
-239,254, 61, 54,248,171, 17, 45,208,200,211,182,217,189,164, 52, 2, 38,132,252, 9, 30,157,110, 29, 92,212, 80,243,219,124,128,
-211,227,202, 20,187,134,157,214,101,117, 66, 13,167,219,137, 72, 70, 18,128, 96,208,170,173, 83,214,253, 58,191,213,185,200,192,
-233, 31,245,181, 2, 47, 76,192, 46, 32, 32,240,215, 83, 80, 80, 48, 97,244,232,209, 91, 69, 34,145, 2, 0,193,113, 28, 56,142,
-163, 87,174, 92, 41, 98, 89,150, 36, 73,146,165, 40,138,249,249,231,159, 13, 44,203,166,107, 52,154, 9,213,105, 50, 12, 19, 59,
-105,210,164,122,213,141, 80, 60,112,224, 64,137,201,138, 21, 74,194, 40,147, 85,118, 93, 26,229,170,188,242,224,177,168,227,136,
- 5, 11, 0, 16,224,177, 48, 50, 29,207, 95,222, 36, 60, 11,201,141, 40,253,180,198,173, 59, 47, 40,249,140,169,123,166, 97,217,
-129,173,155,248, 29, 0, 0, 45,207,142,168,201,209,229,105,213,131,155,183,110,127,144,227,121,154,225,249, 29, 36,135,163, 26,
- 6, 81,198,140,180,171,140,228,180,156, 59,239, 6, 88,243, 64, 81,147, 97,105,115, 97,113, 26, 7,158,231,249,210,230,194, 85,
- 50,100,228,106,171,205, 3,117,245,185,174,135,142,185, 53,254,236,213,123, 19, 88,150,119,166, 40, 34, 69,173, 99,182,214,214,
-100, 1, 64, 82, 82,210,197,208,115, 73,103, 31, 52,115,234,233, 32, 47,142,114,169,128, 12, 21,206, 38,165, 23, 92,172,137,102,
-118,161,161,239,156,181, 39, 78, 74, 68, 20, 13,158, 47, 74, 40,202,243,208,232,217,172,235,241, 76, 99, 0,104, 98, 7,215, 47,
-142, 51, 7, 40,138,120, 81,157, 94,216, 35,229,154, 33,203, 66, 63,127, 24,151,189, 35, 46, 7, 17, 0, 16,151,131,136, 67, 87,
-158,207,143, 77,201,255, 60,226, 69,246, 42,152,216,175,130, 39,112,185,245,144, 5,175,188, 86,219,243, 25,173,196,125, 0,253,
-129,196, 30, 67,166,127, 55,157, 32, 32, 76, 63, 33, 32,240, 31,162, 36,170, 69,146,228,226,215,168,249, 51, 65, 16,239, 1,120,
- 98,194,199,194, 10, 10, 10,154,188,230,195,203,100, 24, 38,211,152, 13,255,134, 14,241,255, 86,254,182,174, 37,221, 5,205,191,
- 94,179,126,253,250,188, 9,134, 69, 56,159,130,166,160, 41,104,254,167, 52,121,158,167,106,179, 84,162, 73,212,102, 17,202,232,
- 95,207,248,202,158, 11,205, 33,111, 32, 79,158, 60, 33,132,179, 32, 32, 32, 32, 80, 49, 4, 65,176,127,130,166,144,188, 88,160,
-196, 96,149,139,110,145,194, 57, 17, 16, 16, 16, 16, 16, 16, 16,120, 45, 38,171,236,186,200,132,163,242,240,159, 41,163, 9,106,
- 18, 66, 12, 21, 52, 5, 77, 65, 83,208, 20, 52, 5, 77, 65,243, 63,167, 89,157,182, 48,154,241, 79, 54, 96,130,166,160, 41,104,
- 10,154,130,166,160, 41,104,254,247, 52,255,205, 84,218, 71, 75,104, 58, 20, 16, 16, 16, 16, 16, 16, 16,248,147, 16, 58,195, 11,
- 8, 8, 8, 8, 8, 8, 8,212,142,106, 39,149, 22, 16, 16, 16, 16, 16, 16, 16, 16,168, 25, 85, 79, 42, 45, 32, 32, 32, 32, 32,
- 32, 32, 32, 80, 99, 76,159, 84, 90, 64, 64, 64, 64, 64, 64, 64, 64,192, 40,182, 9,167, 64, 64, 64, 64, 64, 64, 64, 64,224,175,
-161,252,168,195,144,144, 16,190,236, 90, 64, 64, 64, 64, 64, 64, 64,224,175,228, 77,245, 34, 66,211,161,128,128,128,128,128,128,
-128, 64,237, 24, 47, 24, 45, 1, 1, 1, 1, 1, 1, 1,129, 63,135, 74,251,104,149, 36, 44,237, 82, 28,170,235, 34,156, 43, 1,
- 1, 1, 1, 1, 1,129,191,129, 55,219,139, 8,253,179, 4, 4, 4, 4, 4, 4, 4, 4, 47, 34, 32, 32, 32, 32, 32, 32, 32, 32,
-240, 79, 66,152,235, 80, 64, 64, 64, 64, 64, 64, 64,224, 47, 54, 92,127,186,209, 18,102, 54, 23, 52, 5, 77, 65, 83,208, 20, 52,
- 5, 77, 65,243,191,100,178,202,153, 45, 97,212,161,128,128,128,128,128,128,128, 64,237,168,118,212,161,128,128,128,128,128,128,
-128,128, 64,205, 24, 15, 32,168,248,113, 16,202, 68,181,132,136,150,128,128,128,128,128,128,128, 64,237,216, 6,192,165,216, 96,
-157, 6,160, 20,140,150,128,128,128,128,128,128,128,192,235,161,108,191,172,222,101,204,151, 96,180, 4, 4, 4, 4, 4, 4, 4,
- 4,106, 73,165,125,180, 8, 84, 62,114, 32,212,132, 47,168,201,232,131, 80, 65, 83,208, 20, 52, 5, 77, 65, 83,208, 20, 52,255,
-115,154,213,105,135,226,223,199,120, 83,204,215,235, 68, 24,250, 42,104, 10,154,130,166,160, 41,104, 10,154,130,230,127,150,215,
- 62,234,176, 5, 96, 38,156,214, 55, 18,167,226, 69, 64, 64, 64, 64, 64, 64,160,106,254,156, 81,135,254,192, 71,195, 3, 20, 91,
- 12, 17,233, 86, 17,128,170,170,109, 21, 10,197, 86,185, 92, 62, 92,165, 82, 21, 18, 4,193,149,188,206,243, 60, 0,148,157,235,
-232,105,122,122,122,167,234,190, 91, 34,145,172,117,114,114,250,168,160,160, 64, 69, 16, 4, 79, 16, 4, 8,130, 0,128, 87,214,
- 44,203, 38,102,102,102,182,250, 87, 23, 33,207, 83, 14, 78, 78, 55, 69, 20,229,102,234, 71, 89,142,123,158,150,154,218,222,132,
-143, 44, 37, 8,204, 40,250, 90,172, 0, 48,251, 77,251, 71,240, 0,101,204,118, 1,128,101, 12, 48,132, 37,201, 79, 68,192, 70,
- 45,199,109, 1, 0, 2, 96,107,250,221,218, 48,212, 35,120, 52, 35, 8, 88,243, 60,114,121, 2,247,165,109, 17,251, 55,157,138,
- 1, 34,145,168,175,149,149,149, 69,102,102,230, 69, 0, 7, 0, 12,181,183,183,239,156,151,151, 87, 96, 48, 24, 78, 0, 56, 86,
- 19,225, 78,205, 48, 83, 34, 22,141,209,232, 13,203,175,222,199, 15,157, 91,192,158,225,176, 76, 38,166, 59,105,117,204,138, 43,
- 15,176,195, 68, 73,162,120, 41,185,102,152, 60, 71,218, 97, 35,203, 29, 0,142,219,218,250, 73, 21, 86,191,137, 36,212,243,156,
-212,130,225, 3,211,210, 18, 6,213,162,220,255,137, 56, 56, 56,140, 34, 73,242, 27,158,231,193,178,236,220,172,172,172,157,175,
- 73,122, 46, 0,155,226,199, 57, 0,190,169,165,222, 11, 0,158,197,143,227, 1,120, 9,245,122,141,217,252,211, 79, 63, 5,119,
-237,218, 21,107,214,172,193,230,205,155,227,210,211,211,151, 1,216, 5, 64,247, 55,232, 8, 84, 70, 35,224,189,149,189,218,178,
-134, 31,191,226,202,188,220,189,146, 63,243,247, 31,126,248,161,158,231,121,254,209,163, 71,188, 78,167,227, 13, 6, 3,207, 48,
- 12,207, 48, 12,111, 48, 24, 74, 23, 55, 55,183,164,151, 62,254,138, 38, 73,146,235,222,127,255,253,124,158,231,249,219,183,111,
-243,106,181,154,215,106,181,188, 78,167,227, 53, 26, 13,175, 86,171,203, 45, 78, 78, 78,169, 85,105, 90, 89, 89,221,182,181,181,
- 77,181,181,181, 77,181,179,179, 75,181,179,179, 75,181,183,183, 47, 93, 28, 28, 28, 74, 23,133, 66,145,170, 80, 40, 82,237,236,
-236,110, 87,183,159,197,244, 2,112,209,136,165, 87, 5,159,237, 94,214,104,185,184,184,164,242, 53,192,221,221, 61,193,136,253,
- 44,193,137, 32,192,150,124,150, 32,192, 73,165, 82,207,178,239,227,213, 72, 87,181, 33,101, 87, 87,215,247, 93, 92, 92, 66, 93,
- 92, 92,206,185,186,186,190,111,196, 79,172,156,166,165,165,229,109, 7, 7,135, 84,103,103,231,180,146,197,197,197,165,220,226,
-234,234, 90,186, 56, 57, 57,165,218,218,218, 86, 90, 70, 60, 64, 85,182, 92, 0,104, 41,240, 54, 77, 81, 33, 78, 78, 78,121,225,
-225,225, 44,207,243, 60, 73,146, 73, 37,219,152,114,236, 47,155, 44,213, 21,204,205, 56, 47, 13, 43,120,190, 44, 55,227,188, 52,
- 76,117, 5,115,181, 97,168, 87, 83, 77, 35,169, 72,115,228,200,145, 35,239,167,166,166, 38,229,228,228, 40,183,108,217, 18, 35,
-147,201,174,108,217,178, 37, 38, 39, 39, 71,153,154,154,154, 52,114,228,200,251, 0, 38,153,160, 9, 0,104,223, 12,237,198, 14,
-112, 81,221, 63, 62, 66,245,118,107,250, 94,199, 0, 4,245,104, 47, 78,218, 48,203, 95,117,105,123,160,170,107, 75, 50,194, 68,
- 77,130,166,233, 14,158,158,158, 99, 20, 10,197,135,197,203,136,146,197,217,217,121,132,179,179,243, 8, 91, 91,219, 65, 85,105,
- 30, 6, 40, 99, 22, 15,153,172,195,160,186,158,170, 23,139, 23,242,225, 83, 63,225,199,248,120,228, 13,116,116,172,243, 55,148,
-209,159,170,233,232,232,152,108, 48, 24,120,189, 94,207,219,219,219, 39,191,198,253, 92,197,243,252, 42,158,231, 87, 1, 88,245,
- 26, 52, 75,175,103, 38, 24,236,170, 52,101, 52, 73, 78,151, 75, 36,231,164, 52,157, 38,165,233, 52,185, 68,114,142, 38,201,207,
- 1,200,254, 73,101,244, 39,104, 90, 40, 20,138,103,107,215,174,229, 85, 42, 21,175, 82,169,248,181,107,215,242, 10,133,226, 25,
- 0, 11, 19, 52,107,170,243, 38, 69,176, 94, 94, 94, 95, 68,203, 31,104,245,118,179,250, 71,167,140, 26, 2,238,200, 90,162,154,
- 59,166,239,219,183,106, 53,102,215,174, 93, 0,128,225,125,251,162,103,155, 54,176,180, 48,135, 68, 82,180, 59, 4, 79, 64, 44,
- 18,163,223,180,207,140,249,250, 21,253,250,245,251,224,200,145, 35, 22, 0,176,121,243,102, 12, 24, 48, 0,118,118,118,144,203,
-229, 16,139,197, 16,137, 68,229,214,213, 65, 81,148,123, 82, 82,146,163, 76, 38, 43,141,178,113, 28, 87,110,225,121,190, 36,250,
- 6,134, 97,224,235,235,107,236,233,154,149,155,155,251, 86, 97, 97, 97,169, 70, 69, 75,221,186,117, 1,224,140, 49,130,223,124,
-253, 21, 56,166, 16, 52, 13, 48, 12,160,213,147,224,248, 10,205, 13, 38, 77,154, 84,186,223, 53,161,119,239, 32,130, 32,136, 35,
-119,238,220, 57,154,150,150,230,205,113,236,184, 26, 70,186, 62,126,252,248,177, 5, 0,248,249,249, 77, 2,112,212,148,253,160,
-105,218,253,193,131, 7,142, 82,169,180,210,200,101,153, 8, 38,244,122, 61, 90,180,104,193,152,242, 29, 78,128,103, 22, 73,142,
-107,222,178,229,248, 5,253,250,201,110,222,188, 41, 35, 73, 18, 12,195, 96,229,202,149, 12,207,243, 54,141, 0,171, 72, 32,175,
- 10,153, 57, 0, 70, 21, 87, 6, 59, 0,172, 44,231, 22,120, 52, 83, 27,164, 65, 79, 11,250,181,105, 91,103, 38, 34, 31,134,183,
-241,177, 56, 14, 75, 90, 27, 11,252,181, 81, 45, 43, 43,171,190,107,214,172, 81,236,216,177, 35,239,209,163, 71,250, 45, 91,182,
- 40, 38, 76,152, 96,169,215,235, 17, 28, 28,156,222,160, 65, 3,241,154, 53,107, 20,199,142, 29,123,187,176,176,112,147, 73,229,
- 69,224,171,161,125,123, 66, 99, 32, 97, 48, 48, 10, 23,133,229,158, 41, 35,187,136,120, 94,135,221, 39,238,192,192,112, 63,152,
- 24,201,106, 63,112,224, 64,159,253,251,247,211,209,209,209,116,195,134, 13,193,113, 28, 88,150,133,193, 96, 0, 0,112, 28,135,
-250,245,235,215,250,188,140, 1,252, 28,156,236,206,181,127,239, 93, 51, 23,153, 20,118,217,233, 24, 43,166, 45,119,202,181,123,
- 1,116,120,163, 34,187, 60, 15,154,166,145,144,144, 0, 71, 71, 71, 51,142,227,148, 0, 22,102,103,103,111,195,155, 75, 27, 9,
- 77, 31,221,253,195, 58,231,182, 29, 58, 80, 78, 46,142,136,121, 28, 15,154, 96,187, 63,184,117,167,203,152,137,211,167,232, 24,
-230,125, 0, 55,223,180, 3,119,238, 48,169, 63, 65, 82,155, 9,158,195,162, 13, 39,243,151,174, 88, 43, 15, 30, 55,146,154, 54,
-109, 26, 60, 60, 60,188,251,247,239,191, 2,192,196,106,117,218, 78,234, 15,138,220, 12,158,199,130,239, 78,230, 47, 89,177, 86,
- 62,177, 6, 58,255,114, 42,253,143,212,218,104,249, 3, 62,141, 61, 28,207, 46,157, 49, 81,196,255,242, 35,169,202, 76,171,116,
- 91,133, 66,177,245,157,119,222, 25,190,115,231, 31,209,232,246, 1, 1,232,255,118, 32, 28,237,173, 33, 55,151, 20, 85, 71, 28,
-129,251,143,158, 27,101, 8, 60, 60, 60,130,143, 30, 61,106, 81,214, 76,136,197,226,210,165,172,201, 42, 89, 74, 42,224,170,144,
-201,100, 8, 13, 13, 5, 77,211,160, 40, 10, 52, 77,151, 46,101,159, 83, 20, 5, 39, 39,147,186, 46, 45,179,182,182,110,154,159,
-159,111,149,147,147, 3, 79, 79,207, 60, 0, 15,202,188,223, 52, 61, 61,221,202, 20, 65,142, 41,196,180,177,254, 16,233,110, 64,
- 39,106, 3, 53,221, 17,215,110, 69, 33,228,204, 69, 36, 37,167, 32,176, 93,115,124, 56,108, 32,206,157, 59, 7,150, 53,185,165,
- 35,149,231,177,162, 79,159,160,153, 0, 65,116,239,222, 61,103,242,228,201,100,116,116,244, 7,253,251,247, 11,120,252,248, 73,
-113, 84,145,152,193,243, 88, 7, 32,213, 72, 93, 9, 0, 92,186,116, 9, 0,164, 53,249,237, 73,165, 82, 92,191,126, 29, 37,205,
-196, 36, 73,130, 36, 73, 80, 20,133, 83, 79, 28, 80,168, 35,161, 74,141,192, 39, 65,158,168, 91,183, 46, 72,178,250, 46,137, 93,
- 0,217, 53,160, 63, 33, 18, 77,115,113,117,245,238,236,227, 35, 15, 13, 13,165, 0,192,203,203,139, 87, 42,149, 57, 39, 78,156,
-200,167,129,205, 94, 60,191,171, 42,147,229,225,225,209, 49, 41, 41,233,155,146,115, 78, 16,196,138, 58,117,234,124, 89, 90,110,
- 28,135,133, 63, 20,138,166, 76,153, 42,110,219,101, 30, 0,160,109,159,253,200,123,186,212,159,200,154, 99,253, 87, 95, 37,242,
-242,242, 14,214,175, 95,159,202,204,204,188, 6,224,133,193, 96,152,181,103,207, 30,199,177, 99,199,166,237,221,187,119, 25, 0,
-215,229,203,151,119, 41, 44, 44, 60,100,138,110, 96, 83,188,215,178,105, 64, 59, 79, 15, 15, 92,188,118, 19, 98,137,200,102,210,
-168, 32, 88, 88,208, 88,181,227, 52,247, 34, 49,107,242,149, 7,216,101,130,201,106, 51,112,224, 64,239,253,251,247, 75, 0,224,
-193,131, 7, 72, 73, 73,129, 66,161,128,153,153, 25, 68, 34, 17, 40,138,130, 72, 36,122, 45, 38,203,218,195, 62,236,248,241, 19,
-102,118,118, 54,216,240,217, 20,124,152,150, 10, 27, 75, 11, 24, 10, 10,189,223,176,138,194,175, 83,167, 78, 50,150,101, 81, 88,
- 88,136, 11, 23, 46, 88,155,153,153, 89,187,187,187, 47,128, 9,163,167,100, 50, 89,170, 70,163,113, 44,126,156,166,209,104,156,
- 0,228, 73,165,210,146,235,116, 65,241,218,216,230,196, 23,120,181,153, 48,158, 32,136,178,175,213,148,214,109, 90, 55, 13, 61,
-118,100,159, 69,110,126, 10,108,108,211, 64, 34, 23,219,182,109,132,153,153, 21, 22, 44,152, 67, 63,239,254,182, 91,175,247,222,
- 15,125, 24, 21,211,253,141, 51, 91, 60,177,173,123,159,225,118,102,114,203,226,186,196,128,157,219,167,128, 36, 73,124,249,229,
-151,104,220,184,241,248,135, 15, 31,206, 3,144, 85,181, 12,182, 53,121,107,176,157, 68, 86, 84,196, 28,107,192,150, 3,159, 23,
-233,204,158,128,161,125,234,142,255, 98,224,179, 95, 27,251, 32,191,248,198, 92, 45, 34, 17, 79,180, 69,169, 97, 8, 9, 9,233,
- 28, 20, 20,116,177,178,231,255, 2, 92,240, 71,254,172,114,230,139, 14, 9, 9,225,131,130,130,136, 50, 7, 87,238,121, 85, 52,
- 3, 28,108,173,229,161,155, 23, 78,177,160,111,156,166,212,241, 79,144,172, 41, 87,145,151, 27,162, 41,151,203,135,239,220,185,
-179, 92, 72,201,211,201, 17, 98,177, 8, 34, 49, 1,155, 78, 69,217,235,115, 46,135,128, 32, 42, 53, 89,229, 52, 11, 11, 11, 53,
-247,238,221,179,216,177, 99, 7, 28, 29, 29,225,237,237, 13,185, 92, 14,153, 76, 86,206, 92,149, 53, 92, 21, 24,173,114,154, 37,
-239,211, 52, 13,146, 36,113,238,220, 57, 48, 12,131,129, 3, 7,190, 98,178,104,154,174,204,184, 85, 54, 60,245, 12,128, 7, 60,
-207,191, 85, 92, 1, 63, 0,208,185,204,251,189, 20, 10,197, 44, 0,203,140,213,164, 40, 30,148,230, 26, 56,247,181,160, 19,166,
- 64, 39,106,134,243, 87,238, 96,231,214, 53, 0, 0,239,134,173, 49,168,127, 80,105, 52,206,200,253, 44,197,205,205,237, 64,122,
-122,198,187,111,191,253, 54,178,179,179, 13, 11, 23, 46, 68,211,166, 77,225,231,231,103, 84, 25, 85,114,231,156,250,224,193, 3,
- 15,181, 90, 13,158,231,141, 49,103,175,104, 18, 4,129, 61,123,246, 64,163,209,188,178,177,109,231, 37,248,124,128, 23, 70,127,
-178, 11, 43, 30, 29,194,166, 77,155,170, 60,118, 57,208, 84, 99, 93,127,157,132, 98,154, 46,155,243,177,244,195, 15, 63,164, 70,
-143, 30,141,248,248,120,140, 29, 59, 86,115,238,220, 57, 93,138, 82,121, 66,194,113, 27,244,229,141,113,165,154, 82,169,116,247,
-153, 51,103,112,232, 80,145, 47,137,137,137,129,175,175,175,121, 57,147,156,117, 24,249, 47, 54, 32,236, 84, 52,218,246,217,143,
-176, 83,195,192,230,156, 22,181,242, 69,174, 41,231,179, 6, 84,164,121, 40, 51, 51,179,212, 68,237,221,187,215,108,239,222,189,
-253, 0,156, 4,112, 8, 0,178,178,178,190, 53, 81, 19, 32, 48,122,240,128,126,160,197,150,136,126,146,136,206,237, 91,192,201,
-209, 17, 15,162, 98,241, 34, 41, 43,149, 32, 48,170, 87, 7,201, 50,181, 90, 55,239,242,125,124, 95,141, 38,225,238,238,238,119,
-248,240, 97,113,153, 8,116,233,127,156,162,168,210,231, 37,198,187, 38,191,207, 18,147,101,233,110, 17,246,213,198,142,230, 97,
-225,123,225,235,245, 30,108,223, 11,194,247,103,207,226,241,195, 72,141, 78,197,116,251, 27,202,232,207,210,244, 27, 48, 96,192,
-181,125,251,246,217, 36, 36, 36,224,210,165, 75,240,246,246,134, 74,165, 50,230,134,183,156,166, 70,163,113, 44,249, 12, 65, 16,
-142, 37,129,119,157, 78, 87, 82, 24, 37,127, 68,155, 50,219,217, 84,161,233, 89,102,187, 18,115,229,245, 26,142, 93, 34, 19,139,
- 15, 31, 63,118,192, 34, 50,250, 18,154, 55,107, 7, 11,235, 70,224,216, 20,100,102, 21, 32,251, 73, 50,190,254,122, 5, 22, 44,
-156,139,147, 63, 29,177,104,224,223,236,168,142, 97,234, 3,208,188, 49,229, 78,240,227, 67, 79,237,221, 76,240, 28,212,169,209,
- 82, 81,225, 51,249,240, 97,239, 83, 67,134, 12,193,201,147, 39,241,240,225,195,205, 85,152,172,208, 50,145,249,241, 17,151, 14,
-109, 6,207, 67,157, 22, 45, 21,171,159,201, 71,126, 48,136,250,112,104, 79,220,248,125, 29,122, 54,127, 22,225,234,136,254,217,
-197, 22,155,166,144, 41,149,225, 42, 31,134, 27,101,204,214, 5, 0, 68, 25,131,117, 1,127,244,193,252, 55,208,187,216, 88,141,
-127,249,198,132,174,137,193, 2, 0, 95,192,130,144,136,195,118, 46,248,216, 85, 30,255,144,214, 70, 92, 71,178,150,227,183,196,
- 49, 92, 11,192,236, 46,160,126,249, 51, 42,149,170, 48, 54, 54,214,108, 84,255,254,232, 16, 16, 0, 23,123,123,212,119,119,135,
-153, 84, 2,137, 88, 84,238,150,213,232, 54, 4,130,224, 27, 52,104,128, 62,125,250, 64, 36, 18, 65, 46,151,195,194,194, 2, 18,
-137,164,194,104,150,177,119,185, 60,207,131,162, 40, 68, 68, 68,224,197,139, 23,176,177,177,193,213,171, 87,209,173, 91,183, 87,
-162, 90,101,205,153, 41, 33,250, 10, 42,254, 18, 35,118,198, 20, 45,150, 37, 80,192, 55,131, 44,110, 50, 84, 68, 11,104,181, 12,
-180, 90, 45,190,191,162,199,205,216, 66,232,245, 58,104,181,218,170,190,179, 50, 72, 87, 87,215,225,245,235,215,159, 52,108,216,
- 48,131, 68, 34, 65, 97, 97, 33, 84, 42, 21, 30, 62,124,104,120,247,221,247,114,250,244, 9,178, 62,125,250, 52, 95,220,116,152,
-106,130,118,166,155,155,155, 71,113,243,108,102, 77,126,213, 4, 65,148,154,152,151, 25,245,109, 36,104,170,168, 76, 54,111,222,
- 12,150,101,193,243,124,165,133,164, 33,136,223, 22, 46, 89,109,189,124,237, 15,176,182,115,194,197,139, 23,217, 95,127,253, 53,
-159, 0, 98, 30, 63,124,248,237,255,128,159, 15, 3,122, 83,246, 47, 59, 59,219,204,219,219, 27,238,238,238,224, 56, 14, 6,131,
-161, 52,250,146,153,153, 9,181, 90, 13, 59,243, 28,212,179,119, 7,147,127, 1,202,136, 69,112,177,136,198,174, 51, 58, 67, 75,
- 63,220,255, 7, 92, 56,126, 44, 94,106,121,215, 12, 55, 71,103, 15,144,188, 1,201,105,153,232,215,187, 39, 40,177, 5,158, 39,
-100,160, 89, 35, 31,151, 15,254,215,209,133, 34, 24,204, 88,182,127, 18,192,125, 95,157, 92, 65, 65, 1, 27, 29, 29,141, 7, 15,
-138,252,174,149,149, 21,204,205,205,203,253,199, 73,146,172, 85, 68,171,196,100, 45,217,220,205,156, 20, 21, 34,143, 13,197,142,
- 61,119,208,172, 65, 16,182,132,221,210,176,169, 89,221, 87,105, 52, 49, 7,254,197,193, 12,103,103,231, 9, 28,199, 45,224,121,
- 62, 39, 48, 48,208,105,255,254,253,182, 73, 73, 73,184,115,231, 14,190,252,242,203,116,150,101, 25,158,231, 9,158,231, 23,189,
-134,175,227,202, 24,172,215,137, 72, 46,195, 39, 14, 86, 68, 95,154,180,242,102,242, 10,158,103,232,248, 19, 42,134,251, 14,128,
-161,202,139, 27, 73,126,116,228,224,102, 87, 7, 5,135, 46,138,183,161, 76,213, 99,201,103, 35,145,153,153,143,239,183, 47, 5,
- 32,129,158,161,240, 86,151,247,225,232,232,134,241,227,198, 59,111,222,186,229, 99,134,227, 86,225, 13, 33,229,218,166,159, 0,
-132, 42, 20,138,135, 31,143, 31,175,240,246, 30, 1,153, 76,134, 3, 7, 14, 96,255,134, 13,236, 90, 96,144, 20, 56, 31, 12,252,
- 84,165, 78,216, 31, 58, 83,130,131, 21,254,254,193,144, 74,165,248,253,215, 31,161, 73,217,147,223,187, 3,244, 42, 13,122,215,
-233,195,219,197,157, 34,178, 68, 34, 60, 1, 0,145, 12, 74, 0, 47, 55,131,253,219, 12, 86, 9,167,241, 71,191,172,241,229, 34,
- 90, 53,190,118,138, 36,225,219,167, 14,245,114,130,150,208, 93, 57,133, 36, 45,199, 46,127,172,167,238,230,242,159, 71, 85, 96,
-178,138,127,216,156,167,167, 39,222,110,213, 10,253, 59,117, 2, 77,211,144, 73,196,176,148,153,129,103,139, 34, 89, 37, 77,135,
- 85,212,137,168, 40,250,100,111,111, 15,177, 88, 92,106,176, 76,136,102, 85,168,201,113, 28,104,154,198,131, 7, 15, 16, 24, 24,
- 8, 15, 15, 15, 28, 58,116, 8,189,122,245,122,165, 41,209, 84,147, 85, 98,180, 94,106,198,235, 5,160, 36,146,101,146,209,210,
-232, 8,100,232,154,129, 32, 2,192, 48, 0,203, 3, 90,141, 6, 60, 15,240, 60, 96,208,235,160,209,104, 74,191,211,152, 38, 89,
-103,103,103, 79, 51, 51,179,197, 51,103,206,240,111,214,172, 57,210,211,211,193,113, 28,204,205,205,161, 82,169, 96,101,101,133,
- 14, 29, 58, 60, 95,188,120,177,146,231, 49,222, 68,147, 85,107, 74,206,249,217,179,103,203, 53, 27,150, 44,133,202, 68,140,254,
-116, 47, 36,116, 81,211, 82, 73, 31,158,170,174,187, 93,223,234,136,107,119, 99,152,143,102,172,211,138, 50,239, 44,115,230,184,
-157,137,181, 56, 46,158,231,145,145,145,129,212,212, 84,244,237,215, 15,251,247,237, 67, 92, 92, 28, 26, 53,106,132,174, 93,187,
-194,209,209, 17,113,113,113,184,121, 89, 11,109,118, 22,178,116,119, 32,183,108,139,227, 23, 99,181, 95,110,214,199,254,141, 23,
-140,190, 0, 70, 90, 89, 89,213, 85,169, 84, 74,134, 97, 14, 3, 56, 12, 96, 16, 77,211,131,228,114,185, 75, 94, 94,222, 51, 20,
-141, 38, 58, 81,157,152,153, 76,102, 47,149, 89,129, 99,180,160,105, 26, 30, 30,222,224, 89, 29,178,243,212, 24, 53,164, 15,238,
- 62,136,194,175,231,111, 48, 6, 3,183,222,152,211, 74, 81, 20,239,231,231,135,180,180, 52,136, 68, 34,152,153,153,193,194,194,
- 2,179,103,207,198,134, 13, 27, 74, 77, 86, 77,141,214, 24,192,207,202,211,226,198, 55, 27,139, 76, 86, 74,178, 18,169,137, 34,
- 40,236,157,176,126,195,218,194,236,184,148,182, 63, 0, 49,255,246, 74,150,227,184, 69, 73, 73, 73,142, 52, 77, 59, 51, 12,131,
-132,132, 4,220,190,125, 27,147, 39, 79, 78,205,204,204,236,130, 26, 30,163, 76, 38, 75, 43,137,100, 21, 55, 29, 86,214,156,152,
- 83, 38,146,149, 83,133,100,101,205,132, 62,222,238,150,231,182,175,153,230,217,186,109, 7, 82, 78, 91,101, 23, 60, 73, 9,188,
-114,233, 98,135,201,107,190,255,248, 69,118, 65, 79, 0, 79, 43, 19,149,138, 68,239,182,235,216,145, 6,159, 10, 90, 18,136, 21,
-203,135, 32, 61, 35, 15,217, 89,249, 16,139,205,161, 51, 80, 96, 57, 2, 29, 2, 59,225,199, 93, 7,209,120,220, 88, 74, 34, 18,
-245, 96,116,186, 55,198,104, 21,179,244,187,239,190,243,108,208,160, 1,118,238,220,137,243,187,119,227,195,220, 92, 92, 36, 73,
-202, 32, 18, 57,252,108, 48,108, 67, 53, 70,171,172, 78,227,198,141,241,195, 15, 63, 96,207,158, 61,241,195,187,165, 29,157, 54,
- 28,142,122, 61,222,185,243, 8,118,117,250, 0,119, 30,193,174,101, 3,212,103,104, 60, 33,136,242,233,160, 66, 66, 66, 58,151,
- 93,255,203, 80,162,146, 38,118, 26, 64,151,144,144, 16,190,236,186,218, 11,232, 44, 71,207, 0, 0, 32, 0, 73, 68, 65, 84,167,
-194, 55,120,105,207,186, 94, 1,245, 60, 9,195,161,117, 72, 40,100,116,243, 30,233, 37,143, 11,248,105, 81,192,218, 42,238, 32,
-120,138,162, 96,105,102, 6,133,141, 77, 81,152,159, 36, 1, 14,224, 12, 0,193, 22, 25, 0,158, 35,192,179, 38, 93, 48, 32,145,
- 72, 42,236,248,110,106,223,172,178,154,249,249,249,120,254,252, 57,198,143, 31, 15,185, 92, 94,228,220, 83, 82,224,229,229, 5,
-154,166,145,148,148,132,223,127,255, 29,117,235,214,133, 84, 42, 53,201,109,149,137, 46, 53, 69,209, 40,195,166, 74,165,210,202,
-197,197, 5, 38, 71,180, 56, 30, 42, 45, 1,157,142,197,227,199,143,145,156,156,140,231,207,158,160,117, 97, 30,120, 80,224,121,
-222,164,136,150,155,155, 91,128,143,143,207,150,101,203,150,137,221,221,221,193,243, 60,108,109,109,160, 82,169,144,145,145,137,
- 70,141, 26,193,195,195, 3,203,150, 45, 3,128,253,127,181,201,122,233, 55, 85,106,180,202, 26,174, 79,255,231,137,172, 44, 11,
- 80, 20, 89,106,156,171,233,163, 37, 6,128, 46, 61, 7,208,231,126,253,217,156, 1, 22,167, 80,212, 98,186,250,114, 52,176, 28,
- 39,175,236,253,132,132, 4,136, 68, 34, 28, 57,124, 24, 89,169,169,104,214,172, 25,218,180,105,131, 39, 79,158,224,238,221,187,
-176,183,183,135,194,189, 61, 46, 62,211, 35, 50, 89, 13,107,107,107,196, 38,146,127,103,202,128,113,221,187,119,255,242,219,111,
-191,117,116,118,118, 22,165,167,167, 55,216,184,113, 99,179,141, 27, 55, 78,249,248,227,143,157, 62,254,248, 99, 91,133, 66, 65,
-167,164,164,248,125,246,217,103, 45, 67, 67, 67,235, 2, 88, 93,149,160,185,185,165, 29, 37, 54, 7, 65,208,176,177,182, 5, 45,
- 49, 7,199,208, 96, 57,192,202, 90,129,107,119,143,224,106,120,254,132,180, 76, 28, 54, 42, 62, 86, 92,238,246,246,246,175, 68,
-170, 39, 79,158,140,237,219,183,151, 54, 35,214,212,100, 45,217,216,205,130, 40, 54, 89, 41, 9, 52, 8,109, 93,156,250,233,122,
- 78,118, 92, 74,224,155, 96,178, 74,174,113, 60,207,227,217,179,103, 80,169, 84,184,124,249, 50, 22, 45, 90,148,254,178,201,114,
-116,116, 28,103,101,101,181,176,160,160, 96, 69, 74, 74,202,186,106,111,252,138, 76, 84,201,227,146,117,133,205,137, 70,238,170,
- 87, 69,145, 44, 15, 23,217,153,187,151,247,122, 89,243,247, 9,188, 24, 15, 60,206,123,104, 25,230,248,214,123,173,123,147, 45,
- 54,125, 85,167,205,132,217,103, 18,242, 52, 13, 42,139,108,113, 44,219,194,220,194, 18, 64, 26,238,220,190, 80,106,178, 50,179,
-114,161,213, 83,208,234, 8,104,244, 36,222,238,254, 14, 54,108,217,131,164,180, 44,176, 44,219,228, 13, 51, 89,118, 1, 1, 1,
-193,131, 6, 13,194,226,197,139, 17,250,237,183,186,137, 4,145, 71, 3,252,105,150, 5,199,243, 4,105, 92, 39,246,114, 58,171,
- 86,173,250, 9,192,208,101,147,209, 62,187, 0,163, 92,251,240,118,117,250, 20,109, 56,112, 38, 15, 0,118,233,161,229,171,204,
-160,160, 32,162,164,101,205,212, 22,182,127, 58,116, 80, 80,208,197,144,144, 16,148, 93, 87,245, 1, 75,167, 6,239,125, 49,125,
-210,242,214,189, 58, 17,202,233, 61,144,149,167, 97,230, 68,234, 37,137,234,170, 77, 86, 89,190,216,184, 17,119, 99,138,254,199,
-238,142,142,152,241,193, 7,224, 25,224,234,195, 72, 28, 12, 13,197,144,238,221, 97, 46,147, 25, 29,217,224, 56,174,194, 40, 86,
-217,104,150,169, 81,167,156,156, 28, 28, 62,124, 24,109,218,180,129, 92, 46, 7, 77,211,104,218,180, 41,162,162,162,224,227,227,
- 3,130, 32,112,252,248,113,244,239,223, 31, 79,159, 62, 69,251,246,237, 45, 94,188,120, 97,178,209,138,140,140,180,226,121,254,
-173,146,232, 71, 77,209,106,181,136,142,142, 70,159, 62,125, 96,107,107, 11, 55,183,253, 8, 61,179, 23,242,128, 15, 65, 16, 48,
-201,104,177, 44, 59,166,119,239,222, 98,130, 32,160, 86,171, 32,147,153,193,220,220, 2,150,150, 86,240,243,107,128,228,228,100,
-244,234,213, 75, 23, 27, 27,187, 73,169, 84, 30, 50,117, 95,253,253,253,205,227,226,226, 62,172, 83,167,142, 4, 0,204,204,204,
- 26,249,248,248,124,254,244,233,211,124, 83,163, 90, 37, 6,139, 32, 8, 80, 20, 85,106,180,104,146,132,139,179, 99,233,243,226,
-254,105, 68, 21, 90,121, 73,153, 90, 41, 0,120,122,122, 98,195,214,147,100,239,222,189, 49,101,202, 20, 24, 12, 6,108,218, 84,
- 52,200,110,216,176, 97,208,235,245, 56,122,180,104,144, 36, 77,211, 85,134, 77,110,223,190,141, 59,119,238,192, 96, 48, 32, 55,
- 55, 23,191,252,242, 11, 46, 94,186,132, 3,199,127, 67,220,179, 39,104,218,192, 11, 99,199,142,129, 72, 36,194,174, 93,187, 16,
- 24, 24,248,183, 94, 16, 68, 34,209,240,237,219,183,187,236,220,185, 51,231,248,241,227,133,237,218,181,147,174, 93,187,214,113,
-195,134, 13, 10,157, 78,135,169, 83,167,166,221,184,113, 67,219,175, 95, 63,243,109,219,182,185,212,171, 87,175, 7,195, 48, 21,
- 25, 45,115, 0, 67, 0,140,200,206,215,209, 57,249,106,112,140, 14,207,226,158, 35,183, 64, 7,142,213, 35, 62, 49, 25, 5, 26,
- 22,153, 89,249,104,218,162,231,119, 23, 46, 92,152,171,215,235,231, 0, 8,169,110, 63, 31, 62,124,136, 27, 55,110, 32, 46, 46,
- 14,207,158, 61, 43,239, 20,199,141,195,158, 61,123, 76,142,104, 85,108,178, 40, 16, 90, 31,132, 28, 15,203, 73,123,162,124, 99,
- 76, 86,241, 53,104,129,139,139,203, 2, 23, 23, 23,217,217,179,103,173,235,212,169, 3,134, 97,116, 47, 71,178,186,116,233, 50,
-111,251,246,237, 46, 62, 62, 62,147, 1,172,251, 39,236, 59, 73, 98,220,138,205,193, 14,150,146,248,100, 60, 94, 93,156, 75,144,
- 2, 84,121,192,133,125,160, 59,206,127, 62,185,223, 76,219, 89, 59, 23,143,227,192, 85, 58, 66, 54,246,105, 2, 54,111,222,128,
-105, 83, 71,225,199,239, 87,128,227,104,104, 13, 20, 60,189,219, 65,171,231, 64,144, 52,154,181,104,133,243, 23, 46, 67, 68, 2,
-135,119,110,126,195,124, 22,178, 34, 34, 34, 54, 29, 63,126,252,147, 41, 83,166,128,227, 56,201,194,205,155,213,233,233,233, 75,
- 97, 90,254,171,151,117,250,111,222,188, 57,102,214,134,244,159,166, 13, 7, 21,119,138,200,186,243, 8,118, 3,103,242, 56,178,
-156, 64,203, 6,200,146, 87, 92,197, 95,122,105,253,102, 24,173, 18, 39, 89,118, 93, 17, 45,124,235,126,101,109,103, 59,134,180,
-116,115,152, 49,101, 34,253, 52, 69,131,163,117, 62, 40,248,125,247,122,243, 20, 70,250, 93, 44, 52,107, 77,249,226,131,191,255,
- 94,250,120,229,254,253, 21,190,167, 28, 56,208,232, 59,179,202,162, 88,166, 70,178, 0, 64, 46,151,219,244,232,209, 3,221,186,
-117,195,251,239,191, 95,218, 39,171,121,243,230, 56,112,224, 0, 6, 12, 24,128,123,247,238,193,197,197, 5, 13, 27, 54, 68,195,
-134, 13,241,243,207, 63,155,122,145, 3,203,178, 8, 8, 8, 40, 25,117,216, 52, 49, 49,209,170,166, 5,169,213,106,145,153,153,
- 9, 59, 59, 59, 72, 36, 18,180,109,219, 6,159,124,218, 22, 14, 46, 63, 32,192,191, 1, 10, 11, 11, 75,135,191, 27, 81,217, 6,
-212,175, 95, 31,233,233,233, 72, 79, 79,135, 66,161,128,171,171, 43,156,157,157,177,122,245,106,126,221,186,117,191,234,245,250,
- 77, 25, 25, 25, 38, 71,178,156,157,157, 59, 17, 4, 49, 79,173, 86, 75,202,220,225, 74, 20, 10,197, 9,181, 90,189, 84,169, 84,
- 26,221, 17,148, 32, 8,232,245,122, 16, 4,129,211,207, 92, 81,168, 35,144,151,120, 7, 83,254,231, 85,206,120,137, 68,162,106,
-155, 75,121,158, 47, 28, 58,116,168,163,135,135, 59, 18, 98, 31,226,200, 17, 30,223,126,251,109,201,168, 72,196, 20,223, 24,148,
- 60,239,218,181, 43,188,189,189,193,155,144, 43,131,227, 56, 60,120,240, 0,251, 79, 92,132,139,151, 63,226, 31, 71,227,238,207,
-167, 80, 71, 97,135,198, 45, 90,193, 96, 48,212, 42,245,198,235,192, 96, 48,236,240,245,245,229,117, 58,221, 69, 0, 27,194,195,
-195, 71, 41,149,202,169, 39, 79,158,116, 29, 52,104, 80,242,169, 83,167,214, 2,216, 25, 30, 30, 30,252,245,215, 95,119, 99, 24,
-166,194,209,130, 20, 69,253,248,217,103,159,117, 25, 52,104, 16, 33, 38, 13,186,179,103,118,209, 12, 99, 32,190,152,179,131,189,
-112,229, 34,201, 48, 6,226,253,161,159,113, 63,255, 30, 78, 78,248,116, 37,219,188, 93,111, 68, 68, 68, 56, 7, 5, 5,125,109,
- 48, 24,170, 52, 90, 37,145,170,202, 34,148, 20, 69, 97,212,168, 81, 56,112,192,248, 30, 84, 99, 1, 31, 43, 47,139, 27, 75, 54,
-118,183, 32,232,130, 50, 38,171, 30, 66,142,135,229,164, 62, 78,126,163, 76, 22, 0,100,102,102,110, 5,176,149,227,184, 84,115,
-115,115,228,231,231, 87,244,251,147,133,135,135,203, 36, 18, 9,122,246,236,105, 23, 26, 26, 26, 67,146,228,186,228,228,228, 74,
- 29, 71, 69,205,132, 21, 53, 39,162, 22,163, 14,109, 21, 8,106,219,169,133,229, 35,235,197,150, 50, 90,115,175, 78,140,204,138,
- 0,144,171,117,122,118,237,197,144, 60, 34, 77,218,188, 85,215,150,176,162,205,131,114,152,252, 10,141, 22, 73, 81,119,115,179,
-115,222,205,203,215,225,202,213, 8, 12, 29, 82, 31, 90, 61, 1,142, 35, 81, 80,168, 5, 40, 17, 72, 0,195, 62, 24, 9,158,160,
-145,149,154, 12,138,162,194,193, 48,120,195,152, 29, 28, 28,252,238,156, 57,115,234,206,152, 49, 3, 51,102,204,240,218,190,125,
-251,214, 37, 75,150,204, 72, 79, 79,111,130,106,146,143, 87,161, 83,231,212,129,249,211, 79, 92,222,146,219,187,131,250,113,203,
- 6, 69,145,175,150, 13,144, 37, 18,225, 9, 77, 33,147,231,203,119, 51, 10, 10, 10,234, 92,118,253, 47,227,229, 78,240,165,207,
-141,234,163, 85,191,174,219, 59, 45,154, 7,124, 58,119,206, 92,203,168,107, 23, 48,235,171, 13,188,111,171, 30,249, 91, 47,223,
-213, 21,152,123,191, 91,144,241,228,170,177,254, 2, 0,222,121,123, 0,154, 54,106,243,202,155,129, 93,139,146,181, 95, 57,127,
- 27,169,233, 73, 70, 87,182,197,230,160,194, 62, 89,198, 12,233,127, 25,181, 90,157, 19, 17, 17,225,152,152,152, 88,174,227,187,
-183,183, 55, 8,130, 64, 88, 88, 24,110,220,184,129,161, 67,135,130,166,105,136, 68, 34, 92,188,120,209,164,104, 76,153,232, 82,
-201,168,195, 94,238,238,238,149,141, 54,172, 86, 75,173, 86, 35, 55, 55, 23,103,206,156, 65,253,250,245,177,100,201, 18,184,186,
- 56, 97,238,220,233,224, 56, 14,121,121,121, 96, 89,214,216,136, 22, 87, 18, 45,226, 56, 14,233,233,233,168, 91,183, 46, 54,110,
-220,136,181,107,215,126,173, 84, 42, 79,154,186,143, 30, 30, 30, 54, 44,203,126,209,187,119,239, 30,253,250,245, 67,175, 94,229,
-243,177,238,219,183,207,242,232,209,163, 75,215,175, 95,255,142, 94,175, 95,150,150,150,150,110,140,238, 15, 63, 20,165, 95,146,
-183, 91,128, 89,131,234, 96,196,164, 93, 88,189,250, 24,164, 82,105,185,138,119,241,226,197, 85,154, 24,142,231,125,197, 25,215,
-146,167,207, 92,229,184,116,105, 40, 66, 67,211, 64,146, 36, 92, 92, 92, 64,146, 36,158, 63,127, 14,146, 36,225,229,229, 5,146,
- 36,145,148,148, 84,210, 39, 48, 27, 21,140,122,172,248, 46,156,132, 70,163, 65, 66,124, 28, 18, 99, 99, 96,145,151, 2,133,149,
- 28,217, 15, 31,160,233,216,113,165,249,159,254,102,246,232,116,186, 61,101,158,175, 58,117,234,148,142, 32,136,247, 81,212, 79,
-163, 36,162,241, 53,195, 48, 95, 87, 38,210,174, 93,187,230,115,230,204, 17,149,164,219,112,245,252,134,209,235,245, 28, 0, 52,
-104,250, 86, 57,183,255,228,201, 19,172, 94,189, 26,133,133,133, 16,139,197, 98, 99,206, 3,199,113,165, 35, 12, 43, 50, 97,166,
-152, 44, 0,176,247,114,255, 46,236,206, 69,246,126,236, 22,117,248,163, 95,204,148,241, 36, 72,221,155,107,178, 94,142,108,185,
-187,187, 47,224, 56,142,231,121,126,126,153,183,164,158,158,158,151,207,158, 61,107,207, 48, 12,214,175, 95,111,147,146,146, 98,
-243,214, 91,111,205, 2, 80,169,209,170,168,153,176,162,230, 68,148, 25,117, 40,149, 74,237,116,186, 74,131, 39,175,140, 58,100,
- 89,248, 89, 89,218, 32, 27,137,208, 58, 24,154,231,216, 51, 89,231,148,227,238,185,190,104,209,200,156, 53,212, 37,243,116,112,
-147,219,128,227,249, 74,135, 70,107, 13,134, 95,238,221,185,219,211,211,163, 62,117, 50,228, 18,250,246, 31, 4,173,150,132,198,
- 64,128,160, 68, 32, 40, 49,154, 52,109,129,134,141,155,130, 7,112,251,230, 53, 70,103, 48,156,123,147,202,222,165,227, 39, 67,
- 9, 2,235,192,115,124, 5,121,180,234,246,239,223,127, 41,128, 79,171,211,113,108,247,201, 80,146, 44,210, 41,155, 71,235,179,
- 79,130,241,240,166,200,250,210,157,229,226, 94,237,112, 58, 61,148,128, 92,246,199,168, 67, 17, 89,171,212, 28,255, 22,195, 85,
-189,209,242,240,240,176,177,146,202,126,248,120,236, 24,203, 23,247,175, 35, 37, 50, 12, 87, 47,197,100, 31, 60,122, 44,171, 48,
- 51,109,172, 9, 38,171,180,153,207,222,185, 14,188,253, 95, 53, 90, 50, 11, 5, 0,192,219,191, 13, 40,115,211,210, 8, 85, 20,
-205,170,137,201, 42,123,193,174, 40,135,214,132, 9, 19,176,125,251,118,116,236,216, 17,190,190,190,165, 23,123, 83,163,102, 21,
- 68,151, 76, 30,109, 88,150,252,252,124,120,121,121, 97,219,182,109, 8, 15, 15,135,165,165, 37,134, 14, 29,138,252,252,252, 82,
-131,101,108,103,120,158,231,159,156, 61,123,182,245,224,193,131,121,145, 72, 68,228,228,228,192,198,198, 6, 27, 55,110, 44, 84,
- 42,149,167,107, 96,178, 6,137,197,226,233, 67,134, 12,161, 26, 52,104,128,212,212, 84, 88, 89, 89, 25, 8,130, 16, 1,128,141,
-141,141,193,204,204, 12,193,193,193,104,214,172, 89,167, 25, 51,102,116,164,105,122, 99,114,114,242,174,170,126, 75, 4, 65,148,
- 86,168, 99,215, 69, 67,167, 43,170,160, 55,109,218,132,226,190,110,127, 52, 17,196,198, 2, 70,140,100,177,176,176,128,175,175,
-111,133,101,223,169, 83, 39,220,190,125,187,168,105,146,166,225,232,232,136,171, 87,175, 26, 53,146,170, 36, 17,100, 68, 68, 4,
-252,189, 29, 16, 30,122, 22, 14,114, 17,154,185, 58,195,189, 83,103,196,196,196,252,157,209, 44, 2, 69,253, 48,186, 23,255, 6,
-119, 0,152, 80,230,249, 70, 0,223,153, 34,200, 48, 12, 79,146, 36,145,144,144,160,151,203,229,132,157,157, 29, 45,149, 74,161,
-213,106, 75, 13,215,147, 39, 79, 16, 18, 18,130,196,196, 68,216,217,217,145,214,214,214,208,235,245,217,198,232,251,249,249,193,
-217,217,185, 92,199,247,177, 99,199,214,200,100,141, 2, 2,182,127,179,172,142,148,164,172,253, 29,222,193,179,232,231, 26, 82,
- 7,217,127,193,100, 1, 64, 78, 78,206, 86, 0, 91, 75,158, 59, 56, 56,140,166, 40,106,174, 86,171,181,190,120,241,162,141, 66,
-161, 32,118,237,218,101,152, 63,127,126, 14, 69, 81,217, 4, 65,172,249,251,205, 33, 34, 51,114, 99,189, 68,182,174,220,125, 13,
-127,109,106,194,172,134,217,162,250, 10,162,113, 0,250,167, 69, 93, 25,205,196,118, 72, 85,166,144, 60,184,200, 42,174,193, 59,
-102,205, 89,252, 69, 76,244, 93, 79,153,149, 12, 19,130,231,224,244,175,231, 65,144, 34, 92,190, 22, 6,157,158, 69, 70, 86, 46,
-134, 12, 27, 14,119, 23, 7, 68,222, 56,147,206,112,220,198, 55,203,100,115, 27,122,246, 29,109, 43, 53,147, 23,159, 19, 22,123,
-190,159, 14,146, 92,135, 47,191,252, 18, 1, 1, 1,147, 34, 34, 34, 22,161,154, 60, 90, 4,193,109,104,210,121,152,173, 88, 90,
-164,195,115, 44,182, 29,158, 85,156, 71,107, 26, 54,110, 61,218,164,177,247,179,133, 85,229,209,122,131, 76, 86,217,117,213, 70,
-203,203,203, 75,106, 46,194,120, 17, 69,207,248,248,131,126,138,180,216,135, 72,140,186, 91,212,188,160, 87,235, 83, 30, 71, 25,
-147, 10,189, 59,202,231,239,224,171,106,186,210,104,140,186,163, 47,167, 89, 82,225,190, 28,205, 50,209,100,189,162, 89,214,108,
-149,205,155,229,225,225,129,165, 75,151, 26,147, 71,235,229, 99, 47,161, 23,138, 58,192,151,237, 12,223,203, 72,147, 85,161,166,
- 66,161, 64,102,102, 81,134,132, 46, 93,186,160, 75,151, 63,198, 51,232,245,250,210, 40,150,165,165,101, 69, 17,173, 87, 52,205,
-204,204,102, 29, 59,118,108,204,181,107,215, 6,127,254,249,231,162,110,221,186,149,152, 57, 21,140,155,219,173,156, 38,203,178,
-193,103,206,156,161, 56,142,195,182,109,219,112,251,246,109, 94, 46,151,207,147,203,229, 27,204,204,204, 88,181, 90, 61, 97,220,
-184,113,195, 23, 46, 92, 72,118,234,212, 9,215,175, 95, 39,235,214,173, 59, 18, 40,151,196,178,194, 99, 15, 11, 11, 3, 73,146,
- 96,178,226, 49,105,214, 65,152,155,209,136,142,142, 70, 86, 86,214, 43, 73, 76,141, 57,159,101, 35, 37, 37, 75,167, 78,157, 74,
-155, 33,219,182,109, 11,138,162,112,239,222,189,202,154, 97,203,106,242,246,246,246,165,191, 15,177, 88,140,243,231,207,227,171,
-175,190,130,167,157, 13,178,163,194,225,220,229,109,244, 24, 51, 14, 67,135, 14, 5, 69, 81,176,179,179, 43,141,252, 26,241, 91,
-170, 13,101, 53,199,248,251,251,143,140,140,140,116,111,210,164,137, 75, 68, 68, 68,215,128,128, 0,175,240,240,240,146,231, 82,
- 24,215, 55,167, 84,243,214,173, 91, 71, 54,108,216, 16, 60,106,212, 40, 49,199,113,236,139, 23, 47, 12, 0, 8,103,103,103,234,
-214,173, 91,220,201,147, 39,161, 86,171,225,238,238, 78,186,185,185, 17,231,206,157,227,162,162,162,194,120,158,159, 99,204,177,
-179, 44, 91, 46,141, 67,201,227,125,251,246,153,252,127,175,211,208,111, 73,183,183, 26,120,100, 36,223,131, 50, 41, 22,108,174,
- 66, 31,114,252,148,214, 68,147,245,103,151,209, 95,169,185,248,241,227,199,110, 90,173, 22, 18,137, 4,155, 54,109,210, 47, 93,
-186, 52, 50, 35, 35, 35, 16, 21,143, 40, 47,167, 89,195, 81,135, 89, 85,104,190, 50,234, 48, 55, 19,167,143,159,184,213,218,162,
-255, 14, 76, 74, 78, 47,237,216,200, 19,132,221, 49,167, 70,129,242, 54, 77,146,200,159, 23,144,249,172,234,116, 21,199,174, 83,
-235,116,131,250, 15, 24,246,219,129, 3,251, 45,230, 47, 88,128,171, 97,225,200,204, 41, 0,199, 83,224, 8, 2,115,231,206,135,
-179,131, 29,242,146, 31,171,180,122,125,127,148,207,161,245,175, 47,119,130, 32, 39,159, 59,185,107, 29, 73,128, 43, 76,125, 36,
-165,242, 99,229, 35,134,246,167, 7, 13, 26,132, 99,199,142, 33, 34, 34, 98, 75, 21, 38,171, 84,147,231,201,201,225, 23, 15,174,
- 35, 0, 78,157,254, 72, 74, 23, 60,147,143,252,160, 63, 61,116,232, 80,252, 20,114, 13, 7, 78, 61,219,124,224, 20, 78,225,205,
-198,244,204,240,150, 52, 34, 2, 27,249,184,117,106,209, 88, 70,179,106, 36, 70,197, 34,171, 80,131,115, 15, 95,228,144, 60, 89,
-227,220, 58, 69, 23, 72, 49,226,227, 31, 87,112,103, 37, 43,174,208, 53, 38,105,146, 36, 89, 46,154, 85,155, 72, 86,217,253,116,
-114,114, 42, 55,157, 75,217,138,187,164, 15, 80, 13, 82, 59,204,138,143,143,183,138,143,143, 7,207,243, 8, 11, 11,179,106,219,
-182,237,172,218, 68,179,166, 79,159, 94, 26,181,122,121, 93,209,107,213, 81,220, 41,125,173,193, 96, 56, 60, 99,198,140, 73,109,
-219,182,237,185, 96,193, 2, 2, 38, 76,192,251, 82, 52,135,225, 56, 14, 23, 46, 92,192,177, 99,199, 88,189, 94, 63, 94,169, 84,
-134,151,217,100,253,157, 59,119,206, 13, 24, 48, 96,215,163, 71,143,168,200,200, 72,240,124,245,227, 78,213,106, 53,124,125,125,
-193, 48, 12,150, 79,242, 64,126,126, 19, 48, 12, 3,150,101, 97,110,110, 94, 26,197, 43,107,158,171,251, 29,177, 44,251,138,209,
- 10, 11, 11, 3, 69, 81, 8, 12, 12,196,221,187,119, 75, 35, 90,213, 69,160,244,122,125,188,147,147,147,211,226,197,139, 75,247,
- 43, 61, 61, 29,103,207,158, 69,187,246, 29,208,104,252, 4, 36, 39, 39, 99,205,154, 53,112,117,117,197,146, 37, 75,144,149,149,
- 5,134, 97,254,234,112,250,187,145,145,145,238, 31,124,240, 65, 90,120,120,184,123, 72, 72,136, 77, 80, 80,144,249,176, 97,195,
-210,194,195,195,221, 9,130,232, 0, 19, 59, 65,115, 28, 55,123,238,220,185,191, 46, 89,178,100,214,167,159,126,218,118,212,168,
- 81, 34,145, 72,196, 37, 37, 37, 49,251,247,239, 39,124,125,125, 73,177, 88, 76,156, 57,115,134,187,121,243,230, 13,134, 97,150,
- 3,184,108, 74,196,185,172,201,162, 40,202, 88,147, 85,142,169,142,210,145,150,100,122,224,134, 77, 75,201, 6,222,238,250,221,
-251,207, 38, 92,190,254,248, 41,165,101,166,254, 80, 69,106,128, 55, 25,138,162, 14,249,251,251,143,158, 60,121,178, 89,175, 94,
-189,164, 11, 23, 46,204,205,207,207,175,204,100, 85,112,195,252,151,140, 58,252,126,246,231, 33, 83, 63,107, 50,218,231, 35,231,
- 58, 8, 45, 76, 67, 54, 77,145, 86, 54, 36, 90,120, 81,200,207,120,162, 56,245,219,206,231, 0,170,203,203,118,235,206,131,136,
-238,141,155, 52, 63,186,124,201,114,199,121, 51,103,136,142,134,252, 2,158,209, 35,236,226, 69, 88,136, 89, 62,234, 78,104,170,
- 86,175,235,135, 55,112, 10, 30,229,213,239, 14, 0, 56, 97,103,103,119,127,204,168, 81,190,254,254,195, 32,151,203,113,228,200,
- 17,236, 89,191,158, 93, 11, 12,150, 2,119,131,171,201,167,151,118,163, 84,231,222,184, 49, 99,252, 90,180,248, 8,114,185, 28,
-135, 15, 31,198,174,181,107,141,214,249,151, 83,146, 25,254, 52,254,200, 16, 95, 77, 31, 45,146,200,191,241,248, 69, 65,216,227,
- 23, 5,224,120,158,227,121, 45, 73, 34,161, 80,175, 95,242,248, 89, 82,141, 76, 65, 73,211,225,215,223, 76,126,125,109, 30,101,
-204, 79, 77,135,116, 87, 96,178, 18,203,206,145, 86,182,146,174,236,177,193, 96, 72, 52, 82,126,153,167,167,231, 43,175,213, 60,
-244,203,155,100,178,140,205,163, 5, 0,153,153,153, 74, 0,243,174, 95,191,190,175,103,207,158,227, 0, 36,213,176,140,182,117,
-238,220,121, 60, 0,138, 32,136, 45,201,201,201,225,175,252,225,149,202, 24, 87, 87,215,149,222,222,222, 19,138,110, 76,137,109,
-213, 84,228,207,154, 52,105,162,175,168, 44, 42,123,206,113, 92,181,101,148,147,147,131, 54,109,218,188, 50,167, 37,207,243,120,
-241,226, 69, 73,196,169,244,220, 87,101,224, 10, 10, 10, 38,124,242,201, 39, 91, 69, 34,145, 39, 0,162,196,228,178, 44, 75,125,
-247,221,119, 50,150,101, 41, 0, 4, 73,146,140, 72, 36,210, 28, 59,118,140, 97, 24, 38, 94,171,213, 78,248,139, 47, 16,135,137,
-162,169, 24, 10, 35, 35, 35, 27, 20, 71,178, 18, 35, 34, 34,238, 29, 56,112, 64, 1,224, 96, 13,117, 47,171, 84,170,203, 75,151,
- 46,237,180,105,211,166,217, 19, 38, 76,104, 51,116,232, 80,186, 75,151, 46, 56,125,250, 52,123,225,194,133, 48,181, 90,189,204,
- 20,131, 85, 92,150,185, 30, 30, 30,165,134,171,154,255,114,149, 29,121,237,189,164, 27,134, 79,116,149,109, 91,118,182, 32, 35,
- 89,119,205, 80,160,155,179, 19,136,192,127,152,212,212,212,207, 1,204, 95,179,102, 77,114,179,102,205,164, 98,177, 88,103,172,
-201,250, 11, 97,184,156,130,247,190,237, 49,240, 68,231,185,159,120,247,232, 26, 40,247,168,227,232, 22, 21,155,138, 39,215, 79,
- 23,222, 63,245, 77, 28,175,205,238, 11,192,152,158,235, 55,181,122,125,253,233, 51,166, 79,146,136, 68, 61, 89,150,109,218,237,
-220,113,158,162,168,112,157,193,112,174,184,185, 80,243, 6, 23,249,215, 43, 87,174,244,245,247,247,199,145, 35, 71,112,110,239,
- 94, 12,201,200,192,121,138,162, 72,177,216,254,148, 94,191, 10,198, 25,164,175, 87,175, 94,237, 23, 16, 16,128, 67,135, 14,225,
-204,174, 93, 24, 92, 51,157,202,234,186,214, 0, 20,197, 79, 51, 0, 60, 2,208, 18,128, 25, 0, 45,138,166,118,114, 40, 91,133,
- 21,191, 87,242,254, 37,130, 32,254,204,142,176,213,103,134,127,153,136, 39,113, 45, 95,247, 94,168,213,234, 44, 95, 95, 95,147,
-198, 92, 27, 12,134, 42,219,112, 25,134, 73,244,241,241, 49, 58,106, 97,140, 41,202,202,202,106,245, 39, 22, 70,173,250, 98,149,
-171, 68, 56, 46,206,197,197,133, 43,169,244, 43, 50, 97, 21,189,198, 3,207, 77,249,158,148,148,148, 71, 0, 62,171,233,126, 38,
- 39, 39, 31,133, 17,147, 70, 27,187, 29, 0,100,103,103,191,246,201,124, 9,158, 79, 90,184,112,161, 73, 6, 27, 60, 95,149,249,
- 12, 47, 40, 40,104,107,204,119,235,245,122,252,141, 28, 42, 94,200,136,136,136,113, 4, 65,244, 66, 81,147,192, 22,188,158,108,
-222,151,243,242,242, 46,175, 88,177,162,211,182,109,219,166,242, 60,143,188,188,188,181,166, 26,172,210,187,231,180,180,211,175,
-235,192,179, 82,117,191,239,223,146,248,182, 58, 71, 63,117,123,129,110, 23, 4, 74,131, 81, 60,207,255, 56, 98,196,136,118, 0,
-118,214, 86,172,146, 81,135,181,229, 57,151,157,219,236,252,244,175,198,156,183,177,236, 13,150,110, 0, 29,121, 10,186,204,211,
- 0,126,128,113,221, 28, 74,143,151,225,184,213,140, 78,183,186, 76,229,242, 95, 40,103,187,128,128,128,169,163, 71,143,198,252,
-249,243,113,102,213, 42,253, 68,130,200, 21, 1,252,175, 69, 55,154, 36, 1,204, 52, 86,103,228,200,145,152, 63,127, 62,126, 94,
-190,188,166, 58, 85,161, 32, 8, 34, 4, 0,102,205,154, 53,103,233,210,165,182,179,103,207,110,186,108,217,178, 37,197,207, 31,
-150,188, 95, 92,215, 5,205,158, 61,187,113,153,247,243, 1,220,250,147,207,103,133,153,225,255,108,186, 11,154,130,166,160, 41,
-104, 10,154,130,166,160, 41,104,214, 6,158,231,123, 23,173, 42, 95, 87,246,184,204,250,111,129,134,128,128,128,128,128,128,128,
-192,191,144,178, 81,172,154,188,255, 26, 41,233,163, 85,150,109, 64,209,176,238,202, 92,169, 41,163, 30,106,226,108, 67, 5, 77,
- 65, 83,208, 20, 52, 5, 77, 65, 83,208,252,207,105, 86,167,253,202,231,121,158,239, 77, 16, 68, 8,207,243, 65,149,173, 75,140,
-213,203,143,203,172, 95, 91,183,131, 10, 40,233,155,245, 74, 31,173, 63, 27, 33,172, 42,104, 10,154,130,166,160, 41,104, 10,154,
-130,102,173, 40,105, 2, 4,192,207,154, 53,107,246, 63,176,233,208,165,216,100,149, 93, 0, 84,209,116,200,243,135,169,164, 36,
- 88, 73, 36,114, 49, 0,232,116, 42,189,155, 27,242, 8, 98,208,223, 57,225,173,192,191,147,146,225,222,169,175,121, 91, 1, 1,
- 1, 1,129,255, 6,233, 37,145, 42, 0,233, 0,136,226,231,186,226,117,122,177, 33,123,249,113,185,247,255, 68,148,168, 36,146,
- 69, 87,102,178, 50, 50,228, 14, 52,157,237,199,178,154,134, 0, 64,211,100,116, 70,134,109, 12,207, 31,206,168,137,217,114,112,
-116,188, 35,162, 40, 55, 99,182, 53,176,108, 82, 70,106,106,249,212,241, 4,241, 38, 24, 60, 99, 77, 68,109,204,198,159,110, 84,
- 28, 28, 28,156,156,156,156,254,103,101,101,213, 62, 39, 39,231,102,122,122,250, 79, 85,204,123,184,148, 32, 48,163,232,119,133,
- 21, 0,102, 87, 33,109,202,182, 47,227, 43,151,203, 39, 17, 4, 17, 80,252, 7,139, 80,169, 84,155, 0, 60,254, 15, 94,144,204,
- 0,244,163,105,122,164,131,131, 67,155,148,148,148,133, 0,106,154,205,155, 6, 48,221,198,198,102,136,141,141,141, 79, 86, 86,
-214,211,188,188,188, 67, 0, 86, 3,168,118,168,244,194, 79, 93,218,119,233,213,101,222,133, 51, 23,190, 94,184, 94,121,253,149,
-247,167,187,216,247,236,209,113,254,133, 83,215, 22,207,217,152,156,101,226,190,145,197, 11, 80, 52, 58,146,199,171,201, 94,107,
-139, 8, 64, 31, 0, 93, 0, 92, 0,112,202,152,227,174,132,118, 0,230, 20,239,243,106, 0,231,255,225,191, 35,115, 39, 39,167,
-229, 0,250,208, 52, 29,153,148,148, 52, 30, 64,226,223,188, 79, 52,128,214, 0, 2, 80,148,134,227, 22,140, 75,225, 80, 45,246,
-246,246, 65, 52, 77, 79, 42, 78,237,178, 41, 51, 51, 51,228,159, 90, 48, 18,137,100,173,179,179,243, 71,106,181, 90, 69, 16, 4,
- 95, 54,223, 35,195, 48,137, 25, 25, 25,173,222,180,139, 26, 65, 16,183,254,225,187, 56,190,130,215, 42,207,163,149,148, 4, 43,
-154,206,246, 75, 75, 9, 31,146,172,124, 48, 24, 0, 92, 93,154, 30,114,116,110,114, 48, 41, 73,162,119,110,208,223, 66, 36,167,
- 55, 81,148,168,185, 70,167,117, 16,209,162, 12, 61, 99,184, 71,234,248, 73, 41,143,126,170, 48,217,162,136,162,220,226, 98,206,
- 59, 50,250, 44,136,100,174, 16,153,121, 86,186,183,174,174,174, 53, 58, 74, 91, 91, 31, 75,189, 84, 54, 85, 36,162,122,112, 60,
- 19,192,115, 0, 73,136, 34, 24,214,240,155, 88,171,253, 54, 59,251,105,126, 77,207, 96, 3,123, 56,243,192, 80, 16,232, 1, 30,
-231, 8,224,192,163, 76,164,152, 32, 97,172,137,168,141,217, 40,251,217, 53, 0, 62,127,221,191, 36, 55, 55, 55,219,160,160,160,
-181, 95,125,245,149,153,133,133, 5, 17, 31, 31,223,107,230,204,153,111,221,190,125,251,179,164,164,164,228,151, 77, 31, 65, 96,
- 6,199,241, 36, 0,144, 36, 49, 83,161,112,148, 83, 20,245, 74,110, 35,150,101,229,233,233,105,147, 57,142, 39,138,183,157,193,
-243, 88,103,140, 97,148,201,100,195, 2,154, 52,255,108,249,202,213, 22, 78,142,142,230, 12,203,233,159,191,136,147,207,155,245,
-121,219,216, 39,143,215,105, 52,154,253, 53,249, 95, 83, 20, 53, 68, 42,149, 6, 1,240, 47,126, 45, 74,171,213,134,176, 44,123,
-208,216, 10,221,201,201,233, 18, 69, 81,117, 76,249, 98,150,101,227, 83, 83, 83, 3,107, 88, 68,131, 60, 61, 61,127,232,220,185,
-179,188, 77,155, 54,144, 72, 36,152, 63,127,254,116,165, 82, 89,157,209,162, 1, 76,151,203,229, 67,204,205,205,125, 10, 10, 10,
- 98,213,106,245, 81,137, 68,210,125,221,186,117, 30, 29, 59,118,180, 76, 77, 77, 37, 40,138,114,250,249,231,159, 63, 92,187,118,
-109, 47,134, 97,186, 85, 87,201,229,198,242,243,164,125,252, 59,229,198,158,159, 7,224,221,151,223,103, 52,178,145, 60,229, 17,
-164,230,239, 38, 20,155, 15,163, 77,150, 72, 36, 90,231,236,236, 60, 90, 83,148, 43,128,127,185,194, 1, 0,157, 78,151,157,147,
-147,211,160, 38,127,121, 0, 99,109,108,108, 70,127,241,197, 23,182,239,190,251, 46,246,238,221,251,241,246,237,219,179,243,242,
-242,126, 68, 81, 34,204, 71, 38,106,206, 72, 73, 73,121, 79, 36, 18, 17, 30, 30, 30,148, 90,173, 54,197,104,249,161,104, 18,230,
- 91, 0, 54,161, 40,117, 65, 87,160,232,255, 14, 96, 69,137,113, 35, 73,114, 83,131, 6, 13,254, 23, 21, 21,181, 25,192,215, 53,
-253,175, 59, 59, 59,111,221,184,113,227,224,190,125,251, 82,233,233,233,110,205,154, 53,219,151,146,146,210,233, 53, 92, 70,198,
- 72,165,210,105, 77,155, 54,109,244,232,209,163,152,188,188,188,213,197,231,179,170,255,148, 59,128,238, 54, 54, 54,221,230,206,
-157,107, 17, 20, 20,132,109,219,182,189,183,125,251,246,130,252,252,252,223, 80,212,167,167, 86, 38,144,166,233, 73,137,137,137,
- 14, 60,207,195,197,197,101, 18,128,127,164,209, 34, 73,114,221,128, 1, 3, 70,239,219,183, 79, 30, 23, 23, 39,119,115,115, 43,
- 77,158, 77, 16, 68,141,235, 79,129, 90,179,173,140,225,170, 62,143,150, 68, 34, 23,179,172,166, 97,178,242,193,224,183, 58,127,
-103, 13, 0,151, 46,126, 50,216,209,185,113,132, 68, 34,143,145, 90,201,142, 13,232,211,189,249,192,160,206,132,187,139, 35, 18,
-149,105, 78,223, 31, 56,243, 78,200,153,243,199, 80,148, 64,172, 66, 24,125, 22,204,244,161,120,116,101, 61, 28,186, 36, 99,195,
-207,137,184,126,255, 57, 84,185, 25,168,227,108,134,149, 83,123,194,217, 86, 94,179, 91, 47, 71,223,174, 12, 45, 61,248,193,176,
- 17,214,255,235,231, 47,242,114,118, 6,207, 75, 17, 19, 91,208,225,151,179,231, 91, 31, 61,188,127,146,185,200,119, 72, 97,218,
- 99,163, 47,110, 45, 92, 96, 86,168, 71, 63,154, 34, 62,236,216,170, 81,183, 97,239,117, 34, 27,249,215, 71,228,195,168,158, 39,
-126, 15, 91, 73, 94,123,248, 27,195,242,187,205,197, 56,126, 87, 89,101, 66,191, 87, 12, 71,183,110,221, 59, 73,165,210,114,201,
-147,180, 90,173,248,183,223, 66,219,213,196,108,148,124,135, 78,167, 37, 69, 34, 9, 72,146,248, 44, 32,160,137,127, 70, 70,198,
-121,130, 32,126, 72, 78, 54, 45, 90,240, 9, 32,201,166,233,150,164, 84,234,194,234,116,246, 0, 64, 72, 36,217,207, 73,178,201,
-220, 57,115, 44, 40,138,226, 50, 51, 51,161, 82,169,136,113,227,198,201, 98, 99, 99, 7, 36, 37, 37,173,175,230,142, 4,219,183,
-111,247,115,113,113,121,101,246, 88,165, 82, 41,233,219,247,127, 53, 41,122,191,166,205, 90, 76, 59,115,230, 87,255,188,172,108,
-205,246, 53, 91,239, 24,100,114,109, 93,255, 6,162, 77,219,118, 89,143, 31, 61,252,147,232,232,135,247, 96,218,124,117,158,102,
-102,102,199, 86,173, 90, 21,208,181,107, 87,145,163,163, 35, 82, 83, 83, 17, 21, 21, 21,240,251,239,191,247,219,181,107,215,116,
-181, 90, 61, 0, 48,106, 66, 84,223,223,118,255,224,104,110,103, 15,214, 96,128,107,211, 22,165,249,205,158,252,126, 22,140, 94,
- 15,206, 96,128,127, 80,191,226,104, 50, 15,127,127,255,154,102,221,117,109,220,184,241,158, 37, 75,150,136,181, 90, 45,194,194,
-194,112,254,252,121, 78,169, 84, 86,151, 16,151, 38, 8,226,236,130, 5, 11,220, 3, 3, 3, 45, 51, 50, 50,192,178,172,195,241,
-227,199, 39, 53,111,222,220,202,195,195, 67,178,123,247,110, 20, 20, 20,128, 97, 24, 59, 31, 31, 31,187, 97,195,134,233,118,239,
-222, 61, 29,192,242,202, 34, 89,121,177,252, 60, 37,225,243, 78,131,150, 35,145, 66,252,250,206,180,119,240,139, 85, 61,162, 52,
-178,245,142,143,143,101, 94,146,124,166,133, 85, 19,187,188,164,208,153,239,248,248,108,255,245,169, 81, 55, 67,100,113,101,243,
-193,129, 3, 7,228, 81, 81, 81,114,127,127,127,112, 28, 87,154,129,191, 36,225,172,175,175,111, 77,206,227,178,224,224,224,153,
-131, 7, 15, 70,211,166, 77, 75,147,162,126,249,229,151,152, 57,115,166,237,165, 75,151,166,239,223,191,127,250, 79, 63,253,180,
- 28,192, 44, 19,163, 49, 37,152, 90,198,139,158, 61,123, 54,232,216,177, 99,195,103,204,152,225, 11, 96, 50,128,249,153,153,153,
-157,139,163, 49,146, 98,163, 53,102,250,244,233, 19,103,205,154,133,247,222,123,111,126, 88, 88,216, 55, 53,140,242, 81, 12,195,
-188,215,183,111, 95,202, 96, 48,192,220,220, 28, 6,131,161, 94,109,131, 18, 0, 54, 78,152, 48, 97, 98,112,112, 48,108,109,109,
- 97, 48, 24,252, 14, 28, 56,176,125,254,252,249,237, 1,140,173,100, 95, 71, 78,156, 56,241,253, 17, 35, 70,160, 85,171, 86,160,
-233,162,211,184,106,213, 42, 44, 94,188,216,226,236,217,179,253,118,239,222,221,239,196,137, 19, 71, 81,126,218, 46,147,224, 56,
- 14, 52, 77, 35, 33, 33, 1,142,142,142, 82,142,227,206, 16, 4,177, 45, 43, 43,235,167,127, 80,101,190, 98,208,160, 65, 31,236,
-219,183,207, 2, 0, 86,174, 92,137,105,211,166,193,201,201, 9, 22, 22, 22,130,213,249,231, 68,180,198, 87, 27,209,170, 14,149,
- 74,213, 98,246,167, 31,130, 36,139,238, 26,235,215,245,196,210, 57,227,137, 19, 33,103, 90, 84, 25,131,151,185,226,209,149,245,
-144,122, 76,133,214,192,224,198,253,103, 56,183,178, 87, 81,109,249,238, 92,104,245,221, 74, 42, 27, 59,137,153,217, 10, 29,203,
- 94,133,179,115, 24, 94,188, 72,175,206,100, 41,156,157, 66,182,108, 89,110, 22, 80,175, 1,244,140, 1, 73,105, 73, 32, 8, 41,
-220,221, 44, 49,102,228,187,162,206,157, 93, 29, 22, 45,218,122, 58,133, 67,127, 85,198,227,106, 19,134,250, 57, 96,103,139, 0,
-223,193,195,122, 7, 74,155, 4, 52,134, 88,106, 86,250, 94,203, 86,173,208,178, 85, 43,114, 86, 65,126,143,155,183,238,244, 56,
-114,246,134, 86,101,120,113, 40, 38, 3,163,170,185,200,148, 26,142, 41, 83,166,192,201,201,169,220, 6,169,169,169,248,253,247,
-223, 42,252,140, 9, 23,178,210,239,248,230,155,111, 44,179,179,179,223,221,177, 99,199,219, 28,199,125,147,146,146,114,197, 24,
-145, 17, 64,157, 92,169,180,219,232,213,171,185,230,255,251, 31,101,227,236, 76,114, 44, 75, 36, 63,125,106,191,102,253,250, 46,
- 89, 79,158,152, 21,218,217,101,101,171,213,170,152,152, 24,200,100, 50,130,166,233,214, 21, 72,165,242, 60, 86,144, 36, 49,147,
- 32, 8, 72,165,178,152,224,224,224,187,197,239,213, 57,117,234,148,188, 79,159, 62, 42, 0,113, 0, 32,149,202,220, 40,138,222,
- 54, 21,243, 0, 0, 32, 0, 73, 68, 65, 84,244, 43,202,196,142, 21,198, 24, 76,115,115,243, 79,191, 94,178,220, 60, 47, 43, 71,
-173, 47, 44, 52, 40,172, 44, 8,194,194,146,202,203,205,207, 79, 82,166,107,231, 46, 92, 76, 77, 24, 51,226,211,194,194,194, 73,
-198,154,172,102,205,154,221, 60,118,236,152,163,189,189, 61,114,114,114,144,153,153,137,155, 55,111,130,227, 56, 12, 24, 48, 64,
-218,161,109,155, 22,115,230,206,187,158,144,148,212,222, 24,179,101,110,231,128,149,129,205,139, 42,235,184,204,210,242,217, 54,
- 40,168,116,155,197,137,185, 37,209,185,218, 76, 33,213,190, 91,183,110, 98, 0, 24, 59,118,108, 94,126,126,254, 82, 0,251, 80,
-125, 70,255,233,243,230,205,115,171, 91,183,174,215,190,125,251, 80, 80, 80, 0, 0,142,117,235,214,133,159,159, 31,123,225,194,
- 5,248,249,249,193,210,210, 18,151, 46, 93,194,245,235,215,209,170, 85, 43, 75,177, 88, 60, 88,175,215, 87,104,180,186,244,234,
- 50, 79,218,199,191, 83,131,150, 35, 97, 97,229,130,237,251, 15,226,209,157, 93,157,180,250,168,121, 98,246,226, 8, 53, 47, 29,
-149, 30,111, 49,171, 78,171,206,246,245, 27,255, 15, 94, 45,239, 58,104,216,203,207,230,245,168,187,140,150,105,118, 45, 92,173,
-204,172,204,100, 1, 88, 57, 96,192,128, 65, 7, 14, 28,176, 1,128,240,240,112,164,166,166, 66,161, 80, 64, 38,147, 65, 36, 18,
-149,206, 79, 90, 67, 70,109,218,180,169,212,180, 49, 12, 83, 58, 11,128, 92, 46,199, 91,111,189,133,230,205,155,227,167,159,126,
- 26, 85,137,209, 10,108,219,182,237, 94, 47, 47, 47,143,178, 47, 22, 22, 22, 98,232,208,161, 0,128,206,157, 59,119, 51, 51, 51,
-227, 75, 12,161, 82,169, 44,184,117,235, 86, 15, 0, 97,149, 56, 75,117, 82, 82, 18,190,248,226, 11, 60,127,254,252,227, 45, 91,
-182,188, 0, 32,147, 72, 36,165,247,199, 0,252, 26, 55,110,188,110,218,180,105,136,141,141, 69,100,100,228, 77,212,188, 41,149,
- 53, 55, 55,127, 98, 48, 24, 90, 49, 12, 3,181, 90,141,254,253,251,203,142, 30, 61,154, 74, 81, 84,116, 70, 70,198,112, 20,245,
- 73, 49, 22, 25,128,213,193,193,193, 19,103,204,152,129,223,126,251, 13, 39, 78,156,192,136, 17, 35, 48,117,234, 84, 88, 88, 88,
-140,158, 58,117,234,117, 20, 77,104,254, 50,221, 54,109,218, 4,150,101, 95,249,111,200,100, 50, 4, 6, 6,162, 81,163, 70, 56,
-113,226, 68,183, 90, 24, 45,175,192,192, 64, 9,199,113, 40, 44, 44,196,133, 11, 23, 44,204,204,204, 44,220,221,221,199, 1,248,
-199, 24, 45, 47, 47,175,224, 3, 7, 14, 88,148,109,253,145, 74,165, 40,243, 59, 16,248,251, 35, 90, 85,222, 97,149,162,211,169,
-244, 52, 77, 70,187,186, 52, 61,116,233,226, 39,165, 77,135, 0, 25,173,211,169,244, 0,192,114, 60,242, 84, 12,204,164, 36,226,
- 82,242,241,240,105, 70, 69, 82,229,134,104,138,204, 60, 33,109, 19, 7,158,231,161,211,179,208,230,166, 96,233,105, 21,162, 18,
- 53,208, 21,102, 67,167, 47,234,134,229,224,224, 64,159, 57,243,203,180,208,208,223, 39,254,248,227,143, 84,162,181,117,100, 62,
-208,162, 34, 77, 91, 91, 31, 75, 78, 34, 57,180,121,203,124, 51,158,122,138,152,248, 66,212,119,111, 3, 7, 27, 15,164,100, 20,
-226,106,228,207,136,126, 28,130,186, 46, 94,152,250,233, 59,178,175,151,236, 59, 40,102,188, 61,115,114,158,231, 85,182,159, 37,
-119, 81, 91,127,141, 1,147,245, 20,108,102, 44,216,252,228, 87, 54,176, 80,120,162,101, 87, 55, 40, 60,234, 73, 71, 77, 93, 60,
- 18, 40,103,180,202,106,166, 18, 4,185,153, 36,137,137, 4, 65,160,105,211,102,137,171, 87,175,174, 40, 21,184,190,105,211,102,
-137, 20, 69,186, 23, 93,216,201, 77, 60,207,165, 86,179,159,229, 76,141, 68, 34,157, 81, 20,246,119, 73, 56,125,250,180,126,208,
-160, 65, 88,181,106,149,100,230,204,153,115, 41,138, 26, 91, 65,243, 94, 57,205,254,128,167, 77,189,122, 61,191,185,122,149, 23,
- 25, 12, 68,214,205,155,121, 57, 74, 37,147,146,159, 47, 57, 28, 29,253,222, 71,159,127, 46,241,240,240,192,149,144, 16,251,244,
-194, 66, 62, 71,171, 85,231,228,228,240, 12,195,220,172, 68,115,182, 66,225, 40,223,190,125,187, 95,112,112,240, 93,165, 82, 57,
- 27, 0, 92, 92, 92,150, 2,104, 4, 32,174,204,107,216,178,229, 96,210,184,113,227, 98,210,210,210,102, 87,181,159,101,104,236,
-168,112,148,239,223,186,251,129,157,165, 25,169,112,119, 37, 69, 54, 54, 52, 35, 49, 19,115,128,186,174, 71, 61,115, 0,141, 43,
-249,236,203,154,132,153,153,217,177,147, 39, 79, 58,138, 68, 34,176, 44, 11,133, 66,129,231,207,159, 35, 39, 39, 7,249,249,249,
-120, 22, 29, 5,111, 15, 15, 44,154, 53,211,101,242,204, 89,199, 84, 42, 85,171,151, 42,179, 87, 39, 64, 54,232, 95,137,236, 85,
- 52,139,193,203,205, 94, 70,150,123, 89,158,199,199,199,195,194,194, 2, 1, 1, 1, 22, 87,175, 94,189, 92,133,201, 42, 59, 9,
-240,224,142, 29, 59, 90,238,219,183, 15,173, 90,181,130,181,181, 53, 46, 92,184,128,240,240,112,232,245,122,178,160,160, 0, 22,
- 22, 22, 88,182,108, 25, 60, 61, 61,145,159,159,143,184,184, 56,123,145, 72,228,240, 82, 70,251, 82,205, 11,103, 46,124,157, 27,
-123,126, 94, 10,241,235, 59,219,247, 31,196,184, 97, 67,224,204, 63,189,108, 93,143,248,186,103,159,142, 95,242,148, 71,144,185,
-101, 83, 91,223,128, 62, 16, 75, 44, 48,121,198, 98,196, 68,156,178, 85,229, 63,248,152, 96, 19, 60, 22,174, 62, 60,165,130, 99,
- 39, 0,144, 30, 30, 30, 31, 29, 62,124,216,178, 52,244, 66, 81,165,115, 30,150,157, 4,190,138, 9,223,171, 61,159, 4, 65,224,
-249,243,231,112,116,116,132,133,133, 69,233, 4,226, 81, 81, 81,184,113,227, 6, 74,102,163,168, 68,115,120,104,104,168,135,185,
-185,121,185, 13,120,158, 71, 70, 70, 6, 24,134,129, 92, 46, 7,203,178,208,235,245, 48, 24, 12,208,104, 52, 22,141, 26, 53,154,
-100, 48, 24,194, 42,210,228, 56,238,179,193,131, 7,119, 12, 11, 11,243, 89,191,126, 61,116, 58,221,202,148,148, 20,188,255,254,
-251,224, 56, 14,221,186,117,107,199,243,252,163,185,115,231, 2, 0,166, 77,155,102, 40, 44, 44, 12,174,201,177, 23,211,168,101,
-203,150, 62,191,253,246, 27, 58,117,234, 4,173, 86,139, 85,171, 86, 89,109,217,178,197,106,247,238,221,138, 25, 51,102,252,144,
-158,158,222,171, 26, 77, 2,192, 74,103,103,231,137, 93,186,116, 49, 43,158,195, 20,187,118,237,194,162, 69,139, 14, 0,152,251,
-203, 47,191, 44, 56,113,226,196,200,143, 62,250, 8,139, 22, 45,154,154,147,147,179,163, 50,205,103,207,158, 65,161, 80,192,202,
-202,170,232, 98,169,215,227,222,189,123, 56,119,238, 28, 26, 54,108,104,204, 49, 85,182,159, 94, 3, 6, 12,248, 97,255,254,253,
-150, 9, 9, 9,184,116,233, 18,188,189,189,161, 82,169,140,153, 27, 54,244, 79,168,176, 43,213, 84,171,213,154,248,248,120,139,
-229,203,151,195,197,197, 5, 94, 94, 94,144,201,100, 32, 8, 2, 6,131,161,170,233,213,170,221,207,206,157, 65,103, 36,217,246,
-181,182,177,253,152,231,121, 58, 55, 55,123,171, 30, 57, 71,158, 62,133,238, 47, 60,246,127, 51, 45, 0,220, 69,249, 57, 15,149,
-165, 70, 43, 36, 36,132, 15, 10, 10, 34, 74,214,110,110,200,203,200,176,141,113,116,110,114,208,209,185,113,241,188, 95,100, 52,
- 69,217,198, 56, 57,169,242, 0, 64,207,240,184, 22,157,131, 7, 79, 82, 16,254, 36, 5,230, 82,227,130, 47, 90, 61, 83,212, 99,
-149,231,161, 41,248,227,166, 85,175,202,134, 86, 95,212,221, 67,167, 85, 33, 55, 61,146, 24,212,191,135,108,226,196, 9,112,113,
-113, 83, 84,166,167,151,202,166, 78,158,246,158,141,157,141, 8, 33, 87,127, 69,187,134,253, 33,147,138,144,153,171, 1, 8,224,
-241,211,115, 0,103,137,136,152,120,180,109, 44, 71,175,158,254,255,103,239,186,195,162,184,218,239,153,237,176,187,244, 94, 44,
- 88, 0,123,239, 40, 98, 67, 99,239, 88, 98,239,216, 27,106,140, 37, 42, 26, 77,236,189,196, 96,239,137,216, 80, 84, 44, 88,233,
-136, 88, 0, 41, 11, 82,150,165,108,223,157,157,249,253, 65, 9, 42,101, 65,243,253,190,228,219,243, 60,243,192,236,206,156,125,
-231,222, 59,115,207,188,247,222,247, 21, 94,190, 16,191, 4,192,106,125,236, 37,211,158,131,227,218, 15,108,157, 22,218,156,120,
- 80,121,201,128,192, 30, 10, 66, 8,113, 70, 50, 94, 63,188,168,215, 59, 35, 69, 81,115,172,173,173,243, 86,173, 90,213,189, 97,
-195,134,154,217,179,103, 71, 38, 39, 39, 47,250,236,109,229,215,125,251,246,225,221,187,119,162,141, 27, 55,222,207,201,201,249,
-161,154, 21,237, 71,211,216, 81, 60, 20,151,115,229,202,149, 54, 33, 33, 33, 11,118,236,216, 97, 55,119,238, 92,238,220,185,115,
- 39, 3,248,169,178,225,194, 2, 30,175,215,198, 7, 15,104, 50, 45, 77,117, 98,247,110,238,222,208,208, 85, 26,138,114,180,182,
-181, 37, 58,119,232, 32,227, 51, 24, 57,226,204, 76,210,166,126,125,102,210,237,219, 86,180,177,113,250,141, 27, 55, 10,164, 82,
-105,133,169,115,152, 76,166,188,188,225,194,242,224,224,224,160, 46,111, 14, 87, 37, 29, 98, 1, 69,211, 26,243,122,245,232, 62,
- 61, 59, 53,124, 23,159,144, 96,100,110,206,116,109,232,226, 30,251, 58,233, 57,173,211, 41, 9,130, 40,208,107,172,132,201, 28,
-189, 99,199,142,230,166,166,166,160, 40, 10,102,102,102,200,206,206,134, 90,173, 70, 65, 65, 1,212,133,249, 80,231,231, 35, 58,
- 57, 9, 93,186,119,199,200,190,125, 26, 7, 92,249,115,180, 78,167, 59, 83,233,120, 94,139,214,165,158,172,245,117,173,254, 26,
- 11, 74,205, 43, 21, 93, 91, 90,187,130, 35, 20,162,247, 34,191,175,185,209,195,175, 93,187,118,125,216,176, 97,223, 45, 89,178,
-132,145,145,145,113, 51, 41, 41,169, 11,128, 87,149,157, 36, 20, 10, 27,228,228,228, 64, 42,149,194,204,204, 12, 59,118,236,128,
-157,157, 29,228,114, 57, 94,188,120, 65, 59, 59, 59, 19,247,239,223,135,179,179, 51,196, 98, 49, 52, 26, 13, 20, 10,197, 71,181,
- 90, 93,225,112,121,241,240, 96,191,133,125,113, 35, 62,236,247,174, 78, 68,226,139, 81,139, 61,223,197, 71,191, 78, 9,186,253,
-248, 39, 82,105,148,154,151,118,103,121,189,118,225,214,115,150,174,195,158,173,107, 16,255,236, 65,174, 93,237,130,189,198,132,
-234,120,101,246,202,100, 50,229,235,215,175, 77, 34, 35, 35, 65, 16, 4,204,204,204,192,231,243,203, 21, 91, 53, 0,163,172, 7,
- 74, 38,147,129,195,225,192,202,202, 10, 71,142, 28, 41,237,120, 93, 92, 92, 42,227, 56,216,187,119,239,209,181,107,215, 54, 41,
-251, 97,187,118,237, 48, 99,198, 12,236,223,191, 31,161,161,161,159,228,211,252,248,241, 99,134, 86,171,173,236,186,243, 50, 51,
- 51,251, 14, 29, 58, 52,236,225,195,135,166, 71,142, 28, 1, 73,146,229,110,135, 15, 31,198,211,167, 79, 87, 3,120, 93,195,118,
-212,104,248,240,225, 15, 78,158, 60,105,158,157,157,141,146,182, 33,147,201,160,211,233,224,238,238, 78,144, 36, 89,213,188, 55,
- 6,147,201,188,178,123,247,238,129,211,166, 77, 3,139,197,130, 90,173,198,238,221,187,177,124,249,242,204,226,151, 82, 13,128,
- 85,199,143, 31,159, 48,104,208, 32,180,108,217,178,241,189,123, 21,207,236,144, 74,165,144, 74,165, 96,179,217,176,183,183,199,
-134, 13, 27,160, 86, 23, 61, 86,220,220,220, 74,111, 99, 0, 7,221,220,220, 6,190,121,243,102, 27,138,230,174,125, 1,123,123,
-251,161, 52, 77, 79,215,233,116,133, 93,187,118,181, 58,125,250,180,137, 72, 36, 66, 88, 88, 24, 86,175, 94, 45,161, 40, 74, 71,
- 81, 20,161, 80, 40, 18,109,109,109,195,120, 60,158,177, 92, 46,207, 21,139,197,155, 0,220,252,255,234,201, 9,130, 32,216,108,
- 54,166, 76,153, 2, 22,139, 5, 99, 99, 99, 40,149, 74,104,181,218, 82, 49,143,106, 14, 75, 55,108, 40,180, 98,129, 51,205,194,
-164,201,130,145,243, 7,216, 56, 56, 58,193,220,148,135,184,184, 87, 93,238, 6,223,222,205,101,197, 31,160,212,218, 3,241, 31,
-242,255,246,100,247,159,107,145,127,168,208,250, 34,231, 33,171,252,202, 28,169,163,233,243, 57, 34, 17, 87,195,229,242,223,148,
-120,185,236,236,228, 5, 4, 49, 82,103,211,116, 48, 72,141,182,248, 65, 65, 23,111,122, 10, 45,173, 14,239,226, 99,240, 48,232,
- 79, 88,203, 69,200, 73,108, 5,112,154, 67,173,200,135, 82,173, 41, 22, 37, 58, 68,134, 5,163, 32, 63, 23,205,218, 14, 0, 24,
-140,167, 21,241,153, 89, 17, 3, 58,183,105,193,124,151, 18,131,118,110, 35, 80,223,185, 43,146, 51, 10,144, 39, 85, 65, 82,160,
- 68,171,102,126,200,150, 40, 80, 32, 87,226,213,187, 0, 56, 57,214,103, 16,172,132,158,250, 10, 45,213,171, 75, 80,189,254, 3,
-156, 58, 93,192,117, 31, 4,102, 29, 15,164, 68,221, 67,228,141,237, 72,139,125, 4,154,210,193,193,173,189,190, 55,201,238,155,
- 55,111,182,239,210,165, 11,171, 87,175, 94, 45,175, 95,191,222, 50, 35, 35, 35,178, 88, 96,180,236,213,171, 87, 75, 27, 27, 27,
-236,220,185, 83, 65, 16,196,238, 26, 86,118,169, 7, 44, 43, 43,235, 57,128,141,151, 46, 93,218, 61, 99,198, 12,216,218,218, 54,
- 79, 79, 79,175,240,196,108, 54,187,229,196, 77,155,104, 54,147, 73,159,217,179,135,179,238,230,205, 95,126, 59,126,156,211,195,
-203,139,160,105, 26, 17, 17, 17,252, 45,123,246,240,199, 14, 30,252, 33, 57, 43,139, 12, 9, 13,213,100,164,165, 21,102,201,100,
-235, 50, 50, 50, 62,254,127,180,108,173, 86,251, 36, 49, 41,209,169,109,135, 86, 54,225,113,137,177,222, 61, 58,119,102, 48, 24,
-140,248,132,228, 80, 27, 27, 83,254,237,160,219, 26,173, 86,251, 68, 31, 46, 30,143, 55,160, 71,143, 30, 44,137, 68, 2, 71, 71,
- 71,100,103,103, 67, 36, 18, 21,121, 28,242, 37,208,228,231, 67, 91,144, 7,157, 76,138,196, 23,207,209,170,126, 61,222,121, 30,
-111,128, 92, 46,175, 84,104,149,188,101,150,151,232,186,228, 51,174,137, 9,184, 66, 33,136,234, 15, 27, 14, 54, 55, 55, 95,158,
-151,151,119, 29,192, 6,141, 70,227,187,124,249,242,118,187,118,237,178,222,184,113,163,233,244,233,211,207, 75,165,210, 86, 40,
- 74,170, 90, 81, 7,246,158, 36, 73, 43, 0,118,193,193,193,176,181,181, 69,126,126,126,137,167, 69, 45,151,203,141,196, 98, 49,
- 84, 42, 21,212,106, 53, 76, 77, 77,241,242,229,203, 92,146, 36,175, 86,101,156,105, 3, 98,131, 74, 19,247,131, 85, 99, 65,186,
-134,180,240,204,202,165, 36,107,127,201, 88, 15,224,151,190,245,235, 31,214, 80, 15, 18,223,198, 92,181, 72,122,113, 63, 55,253,
-173,172,254,145,235,137,149,205,209,162, 1, 80, 4, 65,208,110,110,110,200,206,206, 6,147,201, 4,159,207,135, 80, 40,196,138,
- 21, 43,176,123,247,238,154, 8, 45, 35,129, 64,176,137,193, 96,140,102, 48, 24, 54, 58,157, 14,126,126,126, 24, 56,112, 32,184,
- 92, 46, 52, 26, 77,169, 71,179,196, 75, 85,133,167, 35,226,233,211,167,166, 79,159,126,242,216,242,178,182,182,190,171, 82,169,
-144,144,144,128, 43, 87,174,116, 7, 16, 82,205,186, 78,136,136,136,232,235,225,225,241,123,155, 54,109, 26,208, 52,141,230,205,
-155,195,199,199, 7, 1, 1, 1,136,140,140, 68,126,126, 62,117,251,246,237,223, 0,108,171,110, 31, 94, 92,190,238,195,135, 15,
-127,116,234,212, 41, 11,177, 88, 12,133, 66, 1,153, 76,134,243,231,207,163, 75,151, 46,176,182,182,198,201,147, 39, 73,154,166,
- 43,171,123, 6,131,193, 56,114,224,192,129,129, 83,167, 78,197,222,189,123,113,230,204, 25, 12, 26, 52, 8,163, 71,143, 70,118,
-118,182,221,214,173, 91, 39, 20, 15, 19,174,241,241,241,129, 84, 42,197,139, 23, 47,226,244,188,231,145,151,151,135,188,188, 60,
- 24, 27, 27,151,189,199, 8, 0, 1,219,183,111, 31,179, 96,193, 2,212,175, 95,127, 77, 98, 98,226,118,148,179, 74,148,162,168,
-153, 34,145,200,130,197, 98, 89,145, 36,137,212,212, 84,188,124,249, 18,115,230,204,201,205,205,205,157, 1, 32, 25,192,170, 41,
- 83,166,108, 88,180,104, 81,105, 91, 90,180,104, 81,224,245,235,215,251,254,167,189, 57,110,110,230, 77,185, 76,222,124, 73, 33,
-211, 74, 34,145,148, 62, 59,212,106, 53, 84, 42,213, 39,158, 44, 14,135,109,213,174, 85,237,107, 10,121,225,202, 87,111,243, 42,
- 76,144,222,184,129, 89, 11,190,192,108, 65,151,174, 61,198,245,233, 59,132, 73,106,181,184,117,235, 42,142, 30,221, 7, 47, 15,
- 55,212,111,216, 28,115,231,205, 55, 83,169, 73,191,219,183,111, 46, 55,127,250,240,102, 97, 65,222,138,202, 56,255,199,113,173,
- 88, 92, 93, 43,119,232,176, 60, 5, 89, 28,194, 65, 82,188,107,109, 97, 97,177, 71,167,211,121,153,154,154,130,202,123,131, 87,
- 47,159, 33, 87,194,134, 74,161, 3, 69, 23,137, 45,189,132,139, 74,141, 7,183,254,192,142,237,191, 64, 44, 22,195,163, 91,119,
- 72, 89,181, 80,187, 86,109, 40, 21,242,226,155, 6,208,168,181,176,177,171,131,240,240, 72,109,129, 76, 86,225, 3,137, 99,164,
-105, 92,219,206, 13, 42, 77, 39, 24,113,185,200, 47, 84, 67, 82, 44,178, 78, 94, 24, 5,149, 92, 1, 82,173, 1,169,214,194,166,
-246,112, 52,178,235, 1, 74,119,181,105,181,138,143,210, 65,147,244, 0,154,164, 7, 48,238, 52, 15,127,250,143,249,172, 35,213,
- 47,239,110,118,118,118, 86,108,108,236,213,136,136,136,161,163, 70,141,194,189,123,247,166, 3,152, 85, 60,124, 51,125,212,168,
- 81,136,136,136, 64,108,108,236,213,236,236,236,172,111, 81,243, 92, 46, 87,161, 82, 21,245,177,124, 62,223,168,138, 99,157,218,
- 13, 27,198,200, 15, 15, 47,216,254,248,241,154,195, 71,142,112,122,245,236, 73,104, 73, 18,148, 78,135,134,174,174, 68,159, 62,
-125, 4, 1,231,206, 89, 49,181,218,167, 75,125,125,131,247,143, 31, 95,248, 92, 38,211,119,162,121,221,226, 33, 67, 0,168, 91,
-201,103,122, 67,165, 82,237,154, 57,109, 82,175,144, 7,143,106,213,174,229,100,122,235,118, 72, 36,207,152,203,168,239,210,128,
- 41,201,207,101,173, 95,179,210, 88,165, 82,233, 43, 90, 27, 91, 91, 91,227,227,199,143,120,247,238, 29, 84, 42, 21,180, 90, 45,
- 40,185, 12,106, 73, 30,212,249,185, 32,148, 10,240,116, 58, 40,115, 50, 81,183,126, 61,224,175, 21,137, 85, 14, 69,149, 39,180,
- 74,254, 26,153,154,130, 35, 16,130,193,102,235,157, 28, 29, 64,155,246,237,219,159,187,120,241, 34,103,242,228,201, 29,238,220,
-185,179, 7, 64,178, 72, 36,234,185,122,245,234,231,123,246,236,225,205,152, 49,195,125,219,182,109, 19, 0, 28,172,136, 68,169,
- 84,158,187,118,237,218,216, 58,117,234,216, 69, 71, 71, 67,169, 84,130,162, 40,244,235,215, 15, 40,154, 91, 3, 0,136,143,143,
- 87, 40,149,202,172,152,152,152,130,228,228,100, 13,244, 88, 37,184,118, 87,198,147,130,143, 15,134,217,217, 59, 61, 53, 50,174,
-235, 66, 75,195,135, 46, 28,225,180,117,251, 5,145,242,102, 66, 66,225, 15,189,235,109,150, 21, 70,205, 49,119,150,238,189, 25,
-152,168,207, 68,248,210,213,133, 86, 86, 86, 96,177, 88, 96,179,217,224,112, 56, 32, 8, 2,243,230,205,195,161, 67,135,170, 26,
- 58,252, 68,100,153,152,152,196,174, 91,183,206,121,198,140, 25, 28, 35, 35, 35, 72, 36, 18,156, 60,121, 18, 83,166, 76,193,209,
-163, 71,203,157,255,162,199,144,210,231,222,210, 5,227,199,143,135, 90,173,134,143,143, 15, 14, 31, 62,188, 64,167,211,133,212,
-224,150,126, 26, 25, 25,233, 26, 25, 25,105, 10, 96,208,232,209,163,143, 15, 31, 62, 28, 33, 33, 33,184,122,245,106,119, 20, 45,
-250, 80, 0,240, 7, 96, 91,252,183,178,251, 83, 96,103,103,183,143,162,168, 65, 54, 54, 54,145,110,110,110,205, 78,157, 58,101,
-158,149,149, 85,178,248, 1, 73, 73, 73, 56,118,236, 88,198,145, 35, 71, 10,116, 58,157, 21,131,193,184,150,151,151,183,162, 18,
-193,118,100,251,246,237,147,138,135, 3,113,241,226, 69,250,151, 95,126, 33, 86,175, 94, 13,137, 68, 2, 47, 47, 47, 28, 56,112,
- 96,190, 84, 42,109,249,203, 47,191, 76, 27, 57,114, 36,214,175, 95, 15,153, 76,182,189,170,151,149, 74,196, 23, 1,160,243,246,
-237,219,235, 44, 88,176, 0, 23, 47, 94, 68,155, 54,109,140, 19, 19, 19,247, 3,152, 90, 94,253,209, 52,141,196,196, 68,200,229,
-114, 60,122,244, 8,107,214,172,145,148, 17, 89,243,103,205,154,181, 97,254,252,249,216,180,105, 19, 29, 29, 29,157, 53,124,248,
-112,187, 67,135, 14, 49, 27, 54,108, 56, 95, 46,151,255,199,132,150,123, 67,203,205,237,218,116, 93,238,224,212, 16, 39, 79,157,
- 70,110,110,110,105,153,148,148, 11, 77,211, 40, 44, 44,196,199,143, 31, 97,102,106,130,173,219, 54,124, 55,123,250,164, 90, 40,
- 10,131,241,165,203,178,190,197,182,225,163, 39, 47,246, 25, 59, 9,209,145, 97, 8, 56,126, 16, 49,209, 17,165,124,164, 86,131,
- 55,113, 47,241, 38,238, 37,236,236,235,160, 79,175,238,196,152, 49, 99,250,141, 31, 59,218, 6,192,223, 22, 58,226, 31,236,205,
- 2,190,140,163,117,232, 19,161, 85,133,187,206,218,194,194, 34,246,236,217,179, 86, 30, 30, 30, 76,146, 36,113,243,214, 45,204,
-153,245, 61, 38,140,247,131, 6, 22, 32,213, 28, 80, 28, 35,189, 44, 81, 40,228,160, 65, 67, 38,147, 33, 52, 52, 20, 52, 69, 34,
-224,208, 47,160,105,170, 84,104, 1, 52,212, 26, 13,156,106,187, 99,223,225,141, 36,216,236,231,208,150, 31,186,166, 64,204,212,
-105, 73, 26,162,172, 20,164,100,196,192,204,164, 54, 88,236,218, 16,231,201,193, 98,216, 67,171,140,135,174,248, 92,185, 44, 13,
- 10,205,215,213,159,174, 28,239, 41, 93,141,135,174, 66,161, 56,113,226,196,137,239,126,253,245, 87,110,255,254,253,221, 46, 92,
-184,208, 25, 0,250,247,239,239,102,106,106,138, 19, 39, 78,168, 21, 10,197,137,111,232,241,233,209,190,125,123, 72, 36, 18, 36,
- 37, 37, 69, 86,122,109,106,181,149,208,214,150,153,117,239,158, 54, 91, 34,169,213,163, 71, 15, 66, 75,146, 96, 16, 4,114,243,
-243,145,252,225, 3,204,205,205,137,216,248,120,225,238,185,115, 47,187, 53,107,198, 42, 89,145,168, 15,174, 94,189,202, 71,209,
-188,172, 74, 63,171, 38,100, 89,153, 31, 39,249,250,250, 94, 62,113,226,164, 89,102, 86,230, 27, 30,151, 75, 10,133, 70,142,227,
-199,205,102,229,229,229,141, 5, 32,213,151, 76, 34,145, 32, 49, 49, 17,198,198,198,224,176,217,160, 20,114,232,100, 82, 40,115,
-179,193,212,168,193,213,233, 96,201,231,161,150,157, 29,106,219, 88,235,197,249,238,110, 80,233,196,247,178,195,133, 91,219, 55,
- 6, 87, 32, 4,215, 68,136,217,129,247,139,223, 70, 57,192,234,159,244,161,181,118,114,114,250,243,212,169, 83,156,236,236,108,
- 68, 68, 68, 68, 2,200, 7, 96, 2,128,138,139,139,187, 19, 19, 19, 51,160,120,213, 93, 85,171,197,126,185,116,233, 82,111, 15,
- 15, 15,210,197,197, 69,144,149,149, 85, 75, 34,145, 80, 25, 25, 25,159,184,132,130,130,130,120,133,133,133, 50,138,162, 46, 23,
-139,172, 42,227, 23, 45, 28,225,100, 20, 26,142,121,158,222,117,155,155, 90,183, 64, 46, 25,222,252,105,100,198,188,133, 35,156,
-118,109,191, 32, 82, 26, 19,170,227,132, 46,181, 22,203, 72,169,239, 36,102, 26, 40,154, 43, 21, 26, 26,138,228,228,100, 36, 38,
- 38,126, 34,168,166, 79,159,142,128,128, 0,189, 60, 90, 2,129, 96,211,218,181,107,157, 23, 44, 88,192, 41, 35,138,224,235,235,
-139,252,252,124, 28, 62,124, 24,190,190,190,213,238,248, 63, 67,189, 30, 61,122,244,119,112,112,128, 88, 44,134,189,189, 61, 60,
- 60, 60, 6,134,132,132,184, 0, 72,170, 97,187,159,237,237,237,189, 97,221,186,117,208,106,181,152, 50,101, 10,222,190,125,123,
-238,237,219,183, 59,106,215,174, 61,111,217,178,101,118,118,118,118, 24, 53,106,148,128, 36,201, 97, 21,145, 88, 90, 90,250, 31,
- 60,120,112,108,255,254,253, 25, 26,141,166,219,221,187,119,241,225,195, 7,168,213,106,144, 36,137,247,239,223,195,215,215, 55,
-163,120,117,227,123, 61,236,154,188,106,213,170, 73,243,230,205,195,150, 45, 91,176,118,237,218,223,204,204,204,154,181,106,213,
-170,245,218,181,107,177,116,233, 82,212,169, 83, 7, 86, 86, 86,141, 86,175, 94,221,120,209,162, 69,216,181,107, 23,214,172, 89,
-243, 27,128, 99, 53, 41, 8,138,162,136,205,155, 55,183,220,190,125,187, 67,137,200, 98, 48, 24, 56,123,246, 44,194,195,195, 7,
- 38, 36, 36,148,119,206, 1,123,123,251,233, 14, 14, 14,220,219,183,111, 11,235,212,169, 3,146, 36,181,197, 34,107,119,237,218,
-181,231,188,127,255, 30,253,251,247, 71, 66, 66,194, 9, 0, 19,204,204,204,100,139, 22, 45,226, 27, 27, 27,155,201,229,242,255,
- 84,231, 13, 38,131,152,184,105,253, 82,188, 8,143,199,165, 75, 28,188,120,241, 2,118,118,118,224,241,120,160,105, 26, 42,149,
- 10,217,217,217,208,106, 84,104,222,180, 30,126, 63,178, 25, 89, 89,217, 0,131,168,112,202, 13,193, 32,198, 77,250,126, 40, 30,
- 62,186,133,253,251, 15, 66, 42,149, 85,240,242,109,132,134,110,141,225,228,104,139,212,180, 84, 16, 12, 88,255,157,215,250, 15,
- 31, 58, 44,125, 4, 65,159,240, 14,101, 97,110,110,190,227,204,153, 51, 86, 94, 94, 94, 76,153, 76, 6,138,162,208,213,195, 3,
-243, 22, 44,192,213, 83,167,224,218,193, 7,132, 90, 8,146,175,223,170, 7,165, 66,142, 38,173, 59, 99,228,168,209, 72, 73, 78,
-134,247,128,225, 80, 42,229,165,111, 24, 37, 30, 45,181, 90, 3,107,219, 90, 8, 10, 10, 98, 98,202,148, 87,216, 93,190, 83, 66,
-167,225, 70,189,121,175,236,146,167, 8, 71,232,139, 0,104, 84, 26, 52,111,190, 26, 26,202, 10,182,206,211,161,213, 94, 65, 65,
-246,221,162, 97, 12, 43, 47,164,165,164,128,193,228,196,214,180, 4, 41, 89,246, 87, 61,116,243,243,243,243, 19, 19, 19, 47,132,
-134,134,142, 27, 54,108, 24,130,130,130,166, 1,192,176, 97,195, 16, 26, 26,138,196,196,196, 11,249,249,249,249,223,162,182, 29,
- 28, 28, 6,117,239,222,221,167, 93,187,118, 8, 12, 12, 4, 77,211, 15,245,186,177,217,108,154,193, 96,128,162, 40, 16, 0,196,
-121,121,120,251,246, 45,196, 57, 57,208,106,181,144, 73,165, 84, 99, 55, 55, 41, 77, 81, 38,213,177,167,236, 10, 67,148,179,234,
-176,228,179, 26, 92,106,242,243,167,143, 83, 10,165, 82, 27, 11,115,139, 66, 46,151,171,147,228,229,229,191,138,141, 86,235,217,
- 57,148, 32, 46, 38, 38,166, 89,122,122, 58, 82, 82, 82, 64,202, 10,193, 84,169,193, 80,201,209,179,115, 39, 24,131,134, 17, 40,
-176, 41, 45,216, 76, 54, 10,139, 86,231, 85, 57,220,161, 43,243,146, 80, 34,178, 8,130, 40, 26, 46, 20, 8,192, 21,154,124,226,
-225,210,167, 61,241,120,188, 83,231,207,159,119,112,114,114,194,250,245,235,225,236,236,220,200,209,209, 81,110,102,102,102,108,
-103,103,135, 38, 77,154,160,115,231,206,184,113,227, 6,244, 40, 3,146,166,233, 62, 15, 31, 62, 92,252,248,241,227,145, 2,129,
-128,152, 59,119, 46,171, 95,191,126,224,241,120,144,203,229,144, 72, 36, 56,125,250,116, 14, 69, 81, 37,139, 82,172,248,124,254,
- 49,130, 32,146,100, 50,217,130,207, 9,127,255,181,185, 99, 86, 46, 53,133,150,242,135,122,122,215,109,222,195,187, 23,234,185,
-246, 64, 15,239, 20, 0,216,108,201,250,224,243,243, 42,243,203,230, 38,196,177,160,155,183,215,120,120,246, 88,181, 92,122,111,
-195,150, 67,121, 85,206,167, 35, 8, 2, 20, 69,125, 18, 59,232,243,239, 39, 76,152,128,179,103,207, 86, 89,142, 12, 6, 99,244,
-140, 25, 51, 56,159,121,158, 33, 18,137, 48, 96,192, 0, 12, 27, 54,236, 19,161,101,109,109, 13,123,123,123,124,248,240, 1, 0,
-196,122,182,171,121,147, 39, 79, 38, 20, 10, 5,166, 78,157,138,195,135, 15,195,199,199,135, 8, 9, 9,153, 7, 96, 65,117, 27,
- 59,131,193,216,186,108,217,178,197,190,190,190,200,205,205,197,245,235,215,209,175, 95, 63,156, 61,123,214,230,250,245,235,155,
-188,188,188,192,100, 50, 17, 24, 24, 8,146, 36, 43,141,245,197,225,112, 6,245,239,223,159,145,154,154, 10, 14,135,131,182,109,
-219, 34, 45, 45, 13,114,185, 28, 34,145, 8,243,231,207,255, 40, 22,139,187,235,123, 31,113, 56,156, 5,243,230,205,195,153, 51,
-103,224,231,231,119, 28,192,212,252,252,252,145,143, 31, 63, 62, 51,120,240, 96,136, 68, 34, 92,190,124, 25,107,214,172, 33, 38,
- 76,152,128,189,123,247, 98,254,252,249,191, 21,123,157, 42,106,248,133, 89, 89, 89,102, 13, 26, 52, 64,102,102, 38,164, 82, 41,
- 46, 95,190,108,123,227,198, 13, 23, 39, 39, 39,211,196,196, 68,221, 79, 63,253,196, 93,176, 96, 1,118,236,216,129,136,136, 8,
- 4, 4, 4,160, 71,143, 30,100, 66, 66, 66,185, 94,178,226,144, 13,151,105,154,190, 45, 16, 8, 80, 88, 88, 88,114,223, 45,241,
-243,243,243,245,247, 47,114,178,167,167,167, 99,226,196,137,227,131,131,131, 41, 47, 47, 47, 62,135,195,129, 82,169,148,253, 39,
-123,109, 74, 71, 1,160,224, 82, 75,136, 91, 87,143, 32, 44, 50, 1, 97,145, 49,224,242,138, 38,193, 43, 20,114,180,110,222, 16,
- 29,218,182, 71,122,134, 8, 39, 2,142,192,210,218,169,210,231, 8, 77,211,224,176,116,104,236,102,143, 83, 1, 7, 17,120, 61,
- 24, 1, 39, 78,151,206,121, 99,177,216,104,213,186, 3,218,182,245, 64, 66,226,123, 28, 57,178, 31, 54,182,181, 12,131,131, 53,
- 68,233,208, 97,217,191,159, 41,255, 30, 30, 30, 30, 76,169, 84, 10,165, 82,137,143, 31, 63,226,195,135, 15, 48,183, 48, 71, 66,
-122, 18,186,243, 53,248, 72, 21, 32, 46, 50, 86, 71, 48,217, 17, 85,253, 96,127,207, 86,128,103, 43,204,153,236, 83,201, 43, 43,
- 13,129,169,117,209,208, 13, 73,190,195,174, 93,100, 69, 66,139,212,105,239,220,186,125,183,253,228, 9,131,216, 65,119, 15, 67,
-171,166,160,208,154, 65,166, 84, 67,166, 97,131, 97,214, 15,200, 9, 1,147,197, 67,199,150, 13,113,249,210, 13, 13, 77,106,131,
-245, 46, 32,187,102, 32, 51, 99,202, 8,173,172,207,198, 29, 44,245, 30, 58, 44,237,120,117,186,179, 39, 79,158, 28,210,169, 83,
- 39,190,151,151, 87,131,226,142, 83,115,242,228, 73,121,113, 48,204,234,226,147,104,240,246,246,246,173, 57, 28,142, 79,191,126,
-253, 90, 79,154, 52, 9,175, 94,189,194,137, 19, 39,222, 52,108,216,240, 94, 70, 70,197, 43,178,153, 92,174, 88,154,149,101, 46,
-116,113, 97, 89,152,152,164,223,184,126,189, 78,175,222,189,137,148,148, 20,136,197, 98, 40,149, 74, 68, 68, 70,210,108, 38, 51,
-141, 48, 53,101,196,135,135, 51,152, 92,174,184, 34,111, 99, 57,248, 80,197,170, 67,255,154,122,183,106, 57, 88, 52, 88,227, 55,
-179,158, 82,165,108, 86, 80, 80, 64,178,216,108,182,179,189,121,114,252,123,253,159,137, 42,149, 42,240,206,157, 59, 67,122,245,
-234,197,123, 19, 21, 1, 50, 63, 31,234,124, 9, 56,148, 14,150,173, 91,130,169, 81, 1,106, 45,156, 26,211, 80,230,241, 17,242,
- 44, 94,171, 82,169,170, 12,106, 88, 34,180, 24,159, 9, 3,174, 80, 8,158,137, 41,120, 66,225,231,130,161,170, 55, 57,126,159,
- 62,125,122,118,236,216, 17, 52, 77,227,208,161, 67,208,104, 52, 92,141, 70, 3,181, 90, 13,141, 70,131,130,130, 2, 4, 4, 4,
- 96,223,190,125,143, 1,252,166,199,229,147,198,198,198,131, 9,130,176,101,177, 88,114, 27, 27, 27,193,217,179,103, 75,195, 77,
-180,106,213, 10, 38, 38, 38, 28, 20, 7,133,180,181,181,101, 31, 61,122,212,124,224,192,129, 15,202, 29,238,104,222,104,105, 61,
-210,194,211,200,184,174,139,169,117, 11,212,115,237, 1, 0,232, 61, 96, 50,234, 53,172,141,130,156, 40, 23,165,226,195, 80, 14,
- 75, 98, 17,187, 75,244,202,184,127,179, 73,178,172,251,111, 81,254,242,254,114, 59, 10, 6,131, 81,225,112,172, 62, 34,171, 72,
-179, 48,108, 74,230,249, 0,128, 88, 44, 70, 70, 70, 6,226,226,226,224,238,238,142,220,220, 92, 56, 57, 57, 65,173, 86,163, 93,
-187,118, 80, 40, 20,216,190,125, 59, 30, 61,122,244, 24,192,124, 61,126,195,216,213,213,117, 98,235,214,173,113,253,250,117,188,
-120,241, 66,116,235,214, 45, 39, 15, 15, 15,184,184,184, 76, 74, 74, 74, 90, 89, 60,212,167, 47, 4, 30, 30, 30,115,125,125,125,
- 17, 19, 19,131,153, 51,103,138, 83, 83, 83, 47,159, 59,119,110,234,154, 53,107, 24,222,222,222,200,200,200,192,214,173, 91,117,
-143, 30, 61,218, 6, 96,125, 21,229,248, 58, 53, 53,213, 89,169, 84, 34, 55, 55, 23, 36, 73, 66, 46,151,227,198,141, 27, 8, 8,
- 8,200, 44, 22, 89,239,244, 53,174,101,203,150, 77, 24, 12, 6,206,156, 57, 3, 0, 63,160, 40, 98,255,229,161, 67,135,138,126,
-250,233, 39,167, 21, 43, 86, 96,218,180,105,208,104, 52,216,178,101, 11, 86,172, 88,113,173, 88,100, 85,246, 16,253,213,222,222,
-126,250,204,153, 51, 27, 45, 90,180, 8,161,161,161,182, 47, 95,190,108, 27, 17, 17,129, 90,181,106, 65, 44, 22,179,172,172,172,
-176, 99,199, 14, 44, 92,184,240, 34,128,156, 39, 79,158,140, 78, 76, 76,244, 7,176,181, 10,209,126,192,201,201,105, 58, 77,211,
-180, 92, 46,255,224,231,231,183,117,227,198,141, 88,184,112, 33, 98, 99, 99,145,159,159, 15, 19, 19, 19, 98,217,178,101, 19,127,
-248,225, 7, 76,153, 50,133,150,201,100,251,254,211, 29, 53, 77,235, 32,151,196, 64,167,178, 64,171,230,238,104,213,172, 46,110,
-221, 13, 3, 0,244, 28,238, 1,185,172, 16,199,143, 31,194,187,119,111,193, 98,179, 97,110,105,175,143, 39, 16,234,130,215,200,
-211,100,160,151, 87, 91,244,243,238,142,223,126, 63, 11, 82,171,193,212,201, 99, 33,201,203,195,239,191, 31, 65, 66,226,123,176,
-216,108, 88, 89,255,253,129, 80, 43,211, 34,255,120,161,165,199,240, 19, 40,138,130, 72, 36,194,203,151, 47,145,148,148, 4, 62,
-159, 15, 5,169,163,246,223,121, 68, 17, 4, 39,141,162,233,199, 52, 89, 26,165,248, 75, 14,157, 78, 84, 38, 98,173,153,133,133,
- 5, 87,165, 82,128, 36,181,101,122, 21, 2, 32, 0, 14, 11,112,112,172,135,212,148, 84, 90,169, 84,222,175,244, 13, 74,165,220,
-241,199,229,243,190,157,187,120, 88,247,235,185, 14,151,175,172,134,164,160, 0, 74, 13, 27, 50,165, 6,114, 37, 96,110,233,134,
-118,205, 91, 32, 61, 93,140,168, 23, 33, 82,150, 74,174,207, 68,209,183,187, 87, 77,118,157, 60,103, 41,140,235,116,129, 42,238,
- 50, 40,105,102,169, 71,203, 72,104, 1,203,218,141,145, 39, 83,225,124,112, 24, 80,141, 84, 47, 89, 89, 89,114, 38,147,121,210,
-215,215,119, 75, 88,216, 75,103, 0, 8, 11, 11, 75,203,200,200, 88,158,149,149, 85, 93,159,116, 73, 52,120,194,200,200, 56,172,
- 97,195,134,233,109,219,182, 53, 27, 58,116, 40,172,173,173, 17, 17, 17, 1,127,127,255,215, 26,141,102,105, 72, 72, 72,165, 67,
- 61,106,181, 90, 20,118,229,138,105,247,239,191, 55, 95, 58,112,224, 86, 95, 95,223, 29,235,215,175,103,187,186,186, 18, 90,141,
- 6,209,209,209,244,169,147, 39,181,251, 86,172,216,206, 21, 8, 88,207,255,248,131, 77,170, 84,162,255,239, 70,236,228,228,228,
-233,209,173,107,227,109,191,238,130, 82, 33,197,179,208,107,144, 72,178,113,240,208,165,198, 78, 78,180,167, 72, 36, 10,209, 87,
- 0, 31, 59,118,108,113,135,214,173, 91,215,175, 85, 11,209,201, 73,224, 82, 58,112, 72, 18, 76,141, 10, 12, 82,137, 90,205,104,
- 16, 12, 19,100,124, 44,192,198, 51, 23, 98,244, 17,198,141,190, 27,132,245,105,249, 32, 8, 2,191,116,106, 6,174,137, 16, 28,
-129, 16,179,255,188, 91, 42, 12, 2,215,175, 0, 87, 40, 68,131, 14,122, 5,132,151,223,187,119,239,101,116,116,116,187,102,205,
-154, 97,241,226,197,248,240,225, 3, 40,138, 66,102,102,166, 50, 35, 35, 67,148,157,157,253, 1, 69,241,127, 14, 87,209,137,149,
- 85, 29, 78, 33, 33, 33,165,195, 13,193,193,193,112,116,116,132,153,153, 25, 10, 10, 10, 48, 99,198, 12,243, 31,127,252, 17, 0,
-240,242,229, 75,148, 21, 40,159, 35, 58, 44,110, 91, 94, 33, 45,161,165,225, 67,115,201,240,230, 61,188, 83,209,123,192, 36,220,
- 14,252, 13,119,111,221,129, 37,235, 67, 18, 4,133, 55,114,146,114, 10,210,100,174, 7, 26,183,153,202,204,144,221, 58, 48,119,
-208, 27,166,131, 3,117,126,197,254,130,188,202,108,117,117,117,133,157,157, 93,233, 28, 45, 22,139,133, 41, 83,166,128,166,105,
-125, 69, 86,113, 95, 67,101, 43,149, 74, 59,196,253, 47,128, 0, 0, 32, 0, 73, 68, 65, 84, 35, 35, 35,124,252,248, 17,239,223,
-191, 71, 66, 66, 66,105,232, 0,138,162,180, 75,150, 44, 97,207,157, 59, 23,251,247,239,199,253,251,247, 31, 3, 88, 7, 64,223,
-151,181,177,163, 70,141, 50, 81,171,213, 56,125,250, 52, 9, 96,192,249,243,231, 95,182,107,215,142,213,183,111, 95,147,189,123,
-247,142, 45,174, 35,189,133,150,169,169, 41, 71,163,209, 96,239,222,189, 72, 77, 77,245, 4, 16,247,252,249,243, 3,163, 70,141,
-218,215,172, 89,179,134, 49, 49, 49,111,165, 82,233,108, 0, 81, 85,145,101,102,102, 78,110,219,182,237,121,138,162,234,244,234,
-213, 75,240,235,175,191,154,198,199,199,195,217,217, 25, 20, 69, 69,163,154, 41,172,222,190,125, 27,151,145,145,209,184,123,247,
-238,184,113,227,198,102,157, 78,183, 9,192,150, 89,179,102, 57, 37, 39, 39,163,117,235,214,176,180,180, 68,124,124,124, 97, 70,
- 70,198, 62, 20,165, 36,170,202,133,155, 8, 96,249,129, 3, 7, 90, 28, 56,112,192,199,210,210,178, 99, 68, 68, 4, 30, 62,124,
-136,109,219,182,225,199, 31,127, 68,215,174, 93,177,120,241,226, 28, 0, 62, 0,200,196,196, 68,189,226,230,149,120,182, 0,160,
- 77,155, 54,233,254,254,254,152, 58,117, 42,125,244,232,209,157, 39, 79,158, 92, 48,118,236,216,210, 62,112,226,196,137,244,137,
- 19, 39, 38,162, 40, 13,211,127, 18, 90,141, 70, 13, 83,203,122,144,230,165, 32, 59, 53, 20,124, 19,123,120,247,104, 9,185, 66,
-141,171,127, 92, 68, 84,116, 36, 24, 12, 6,236,236,107,193,220,194, 26,111,222,188, 5, 42, 95,109,172,213,104, 52, 48,177,168,
- 11,105,126, 42,212, 89, 97, 48, 22,218, 98,210,247, 67, 33, 87,104,112,233,242, 69,196,196, 68,129,201,100,194,222,161, 22,204,
-204,139, 56, 9,186,242, 21,204, 6, 0, 40, 39,158, 86,149, 66,139,201,100,222,187,121,243,230,136, 14, 29, 58,176,222,189,123,
-135,119,239,138, 94,110, 36, 18, 9, 73, 64,119, 33, 43,250,143, 49,149,156,222, 11,197,171, 51,202,230, 46, 20,154,152,136,226,
- 95,199,217, 73,114, 51, 17, 25,254, 8,239,222, 68, 35, 41, 33, 14, 26,141, 18, 76, 6, 3, 12, 38, 3,117,235, 53,197,163,199,
-161,106, 37, 73,134, 86,196, 89,100, 71, 66,161,192,214,117,244,134,245, 43, 3, 23, 46, 93,107, 60,114,196,126, 68,197,191,130,
-148,180, 7, 77, 3,246, 86, 2,180,170,191, 12,162,244,108,156,249,109,175,156,210,104,198,125, 22, 67,235, 11, 78, 0,176,203,
- 65,147,125,135,126,155,114, 56,224,212,218,165,115,103,216, 13, 30, 54, 14,220,220, 87,208,166,135,161, 94,187,126, 32,120,230,
-184, 30,116, 23, 33, 47, 95,101, 82, 58,122,173,157, 24, 71,223, 84,193, 89, 22,121,121,121, 79, 62,126,204,112, 46, 19, 5,222,
-153,199, 51,170,106,117,220,231,156,159, 68,156,103, 50, 25,109, 54,108,216,160,181,179,179,211,196,196,196, 96,255,254,253, 84,
- 88, 88, 88, 16,131,193,216,157,145,145,161,172,138,211, 70,171,141, 60,229,231,215,164,253,176, 97,244,152,185,115,229,224,241,
-230,109,253,229, 23,191,108,137,196,145,166, 40,216, 88, 90,166,109, 93,177,194,127,196,168, 81,146,216, 71,143,140, 67,175, 92,
- 49,230,146,100,152, 30,118,126, 11, 84,200, 41, 18,137, 66,238,223,127,136,227,135,127,133, 70,163, 66,134, 40, 25, 0,144, 35,
-206, 71, 21, 34,235,115, 78, 90, 46,151, 15,251,225,199, 31,159,254,176,112,129,125,183,158,189,144, 18, 25, 1, 77,110, 54, 8,
- 45, 9, 54,193,130, 44,139,143,172, 76, 41,150,159, 56,151, 37,149,203,135,149,211, 73,148,107,103,137,199,138,103,106, 2,142,
- 64, 8,174,208,228, 19, 47,150,145,169, 41,184, 2, 33, 88, 92,110,121, 19,184,191,224,148, 74,165,195, 71,140, 24, 17,245,252,
-249,115,139,169, 83,167,162,115,231,206,225, 10,133,194, 11, 64, 97, 77,203,147,162, 40, 81,183,110,221, 24, 4, 65, 8,199,141,
- 27,199,203,206,206, 46,141,172, 46,149, 74,113,227,198, 13,184,187, 23,173,234,143,141,141, 69,211,166, 77, 43,228,156,182, 60,
- 70, 4, 96,253,194, 17, 78, 91,159, 70,102,204, 3,176,185, 94,195, 90,184,123,235, 14, 30,222, 13,245,235,216,140,218,245,221,
-184,118, 63,241,189, 70, 45,109,220,102, 42, 83,104,234,128,223, 47, 93,100,198,133, 29,217, 40,151, 71, 55,192,254,203, 75, 42,
-178,147, 32, 8,208, 52,253, 69, 40, 7, 38,147,137,147, 39, 79, 86,247,218,207, 29, 62,124,120,214,204,153, 51, 57, 25, 25, 25,
-120,253,250, 53,100, 50, 25,140,140,140,112,235,214, 45, 18,192,222,147, 39, 79,222, 58,121,242,100, 95, 20,173, 38, 10,174, 78,
-251, 20, 8, 4,190,222,222,222,120,253,250, 53, 94,188,120,113, 17, 64, 84,120,120,248,197,119,239,222,141,238,218,181, 43,126,
-251,237, 55, 95,133, 66,113,184, 58,156, 20, 69,149,141,153, 84,146,241, 33, 82, 42,149,118, 12, 13, 13,173,110,189,103,136,197,
-226, 46,197,194, 58,213,206,206,206, 52, 50, 50, 18,181,107,215,134, 70,163,233, 80,221,182,148,159,159,255,235,238,221,187,143,
- 78,158, 60, 25, 63,253,244,211,184,115,231,206,141,251,238,187,239,208,191,127,127, 28, 59,118, 12, 81, 81, 81,155,161, 95, 90,
-177,242,174, 61, 10, 64,148,157,157,221,156, 90,181,106, 97,219,182,109,136,142,142,246, 95,191,126,253,138,168,168, 40,184,187,
-187,243,226,226,226,200,154, 60, 67, 0,192,212,212,212, 84,171,213,226,202,149, 43,207, 0, 44, 28, 55,110,156,237,142, 29, 59,
-124,132, 66, 33,114,115,115, 21, 49, 49, 49, 99, 1,252,241,159,126,214,209, 4,177,106,234,180,121, 7,166, 77, 29,107,212,182,
- 77, 43,200, 11,210,160,144,102, 66, 94,248, 17,187, 15, 7,129, 32, 24,176,177,113,128,173,189, 51,146,147, 83,240,248,218,117,
-181, 76,174,216,193,213, 82,155, 43,231,156, 91,196,217,186,136, 83, 46,203,130, 66,154, 85,202,105,107,235, 88,204,153,140, 71,
-161,215,149, 10,153,236, 87, 53, 77,252,252, 55, 95,251, 63, 25,213,203,117, 88, 22, 18,137,100,254,140, 25, 51,188,150, 47, 95,
-110, 69,146, 36,211,210,210, 18,201,201,201,228,133, 11, 23,114,165, 82,233,252,154, 88,195, 98,179,163, 92,221,220,189, 6, 15,
- 30, 76, 14, 26, 52,144, 51,126,114, 95,150,141,173, 45,242,243,196,120,243, 58, 2,241,175,194,224,234,222, 18,107,214,111, 7,
-204,205,171, 76, 36, 89,156, 86,103,192,186, 31,150,156,237,226,217,199,212,189,105, 75, 78,171, 6,102,208,104, 73,164,165,165,
-225,143, 43,145,154,152,151, 15, 11, 40, 82, 61, 90,158,163, 95, 10,158, 16,128,132, 24, 7,155,217,106, 78,110,218,186,123,241,
-222,131,199,151, 46,159, 55, 85,208,213,163, 55,162,239,252,134,139,129,103,101, 74,149,122, 43,135,137, 95, 98,196,144,191,169,
-102, 25, 40,149, 74,205,231,253,169, 82,169,212,124,109, 77, 31, 59,118, 12,153,153,153,234, 15, 31, 62,220, 36, 73,242, 92, 37,
-201,158,191,192,110, 64, 61, 84,165,186,243,131,135, 71,223, 31,110,221, 50,154,184,108,153,122,220,248,241, 75,160, 82,105,192,
-229,210, 44,129,128, 1, 30,143, 29,251,232,145,241,206, 89,179, 44, 9,181,250,246,241, 74,194, 6,148,131,111,190,234,176,196,
-163,213,189,123, 87, 76,156,186, 16,138, 50, 30,173, 39, 47,222, 64,165,129,222, 30,173, 98,164,124, 72, 77,237, 56,111,213, 15,
-151, 70,123,247,108,220,172, 78, 93,158,141, 75, 93, 8,237,237, 33,206,206,198,163, 23,241,218,245,103, 47,197, 20,139, 44,189,
-226,202, 80, 20, 85, 52,201, 29, 64,207,249,203, 65, 48,153, 64,113, 24,135,146,149, 67, 46,237, 58,131, 96,177,160,163, 41,168,
- 84, 42,125, 38,253,165,189,127,255,126,248,184,113,227,130, 3, 3, 3, 25,222,222,222,173, 46, 95,190, 76,125, 77,219, 81, 40,
- 20, 29, 1,192,200,200, 40,201,220,220,220,105,242,228,201,208,106,181,144,203,229,200,207,207, 71, 90, 90, 90,222,228,201,147,
- 53, 0, 96,108,108,204, 29, 49, 98,132,105, 85,156,219, 47,136,148, 11, 71, 56,237,178,100,125,240, 41,200,137,114,177,100,125,
- 72,234,216,140,218,181,253,130, 72,105,234, 40,219,144,243, 33,228, 77,134,236,214,129,223, 47, 93,100, 78, 24, 58, 92,231, 44,
-124,235,103,100, 75, 95,168,138,151, 32,136, 47,130,147,234, 41,178, 62, 65, 97, 97,225,138,213,171, 87,247,151, 72, 36,206,125,
-251,246,229, 52,110,220, 24, 79,159, 62, 69, 96, 96, 32,249,228,201,147, 84,153, 76,182, 18,128, 18, 64, 80, 77,202,212,205,205,
-205,133,197, 98,149, 12,165,237, 41,254,120,207,229,203,151, 71, 79,157, 58, 21,117,235,214,109, 18, 23, 23,199, 67, 53,238, 35,
-154,166, 75, 71, 25,190, 37, 8,130, 72,216,185,115,167,147,189,189, 61,113,227,198, 13,146,201,100,214,196,115,115,236,200,145,
- 35, 29,180, 90,237,180,233,211,167,195,211,211, 19, 36, 73,226,196,137, 19, 56,114,228,136,190, 34,171, 82,188,121,243, 38, 44,
- 53, 53,181,219,146, 37, 75,176,109,219,182, 21, 75,150, 44, 65,106,106, 42,222,188,121, 19,241, 53,188, 5, 5, 5,138,148,148,
- 20,126,167, 78,157,218,198,196,196,196,120,121,121, 53,157, 58,117, 42, 54,111,222, 76,223,191,127,127, 4,128, 27,255, 31,189,
-119,252,187,220, 0,182,142,117,107,253,134, 95,127,108, 80,223,101,230,148, 73,163,152,110,174, 77, 33,203, 79,131,149,181, 29,
-156,107,213, 67,118, 86, 14,110,222,188,161,203,201,201, 59,166, 99, 16,235,222,189,203, 77,255, 26, 78, 39,231,122,200,202,202,
-194,245,235,215,117,121,146,130, 67,208, 50,214,199, 37,231,101,194, 0,125, 60, 89,211, 81, 73,148,248,202, 96,109, 97, 97,113,
-218,212,212, 52,211,212,212, 52,211,194,194,226, 52,160,215,234,131, 94,101,158, 14,204, 79,182, 17, 35,140, 96,100,212, 17, 44,
-214, 34,115, 11,139, 27,102,102,102,226,238,221,187,171, 15, 28, 56,160,140,139,139,165, 68,162, 84,218,204,204, 44,191,244,248,
-242, 56, 63,131,133, 69,125, 19,129, 67,211, 31,205,156, 91, 61, 18, 58, 52, 41, 20, 58, 52, 41, 52,115,110,249, 88,224,208,100,
-173,133, 69,125, 19,189,236,172, 0,245,108, 97,227,106,141,189,238, 54,132,194,213, 26,123,235,217,194, 70,239,107,175,124,216,
- 79, 71, 16,208,161,104, 25, 54,106,192, 89,194, 65, 49,153,204,227,206,206,206, 14,168, 94,192,186, 47, 56,199, 3,117,199,243,
-120,211,206,251,249, 77, 76,186,127,127, 92, 65, 98,226,152,252,132,132, 81, 17,103,207,142,222, 51,122,244,248, 49, 60,222,244,
- 17, 64,125,125, 57, 29, 28, 28,252,195,194,194, 2,245,221,202, 8, 47,189,203,179,126, 61,167, 91,222,189, 58,208,190, 51,134,
-209,190, 51,134,209,222,189, 58,208,245,235, 57,221,250,138, 58, 34,152, 76,166, 15,159,207, 63, 45,224,243,163, 5,124,126, 52,
-159,207, 63,205,100, 50,125, 80,249, 28,170, 79, 56,173,172,172, 94,218,217,217,101, 86,103,179,182,182, 14,175,134,157, 99, 92,
- 92, 92, 82, 25, 12,198,246,106,222,211,149,113,186, 26, 27, 27, 39, 8, 4,130,180,178,155,177,177,113,217,192, 80, 86,124, 62,
-255,170, 64, 32,216,161, 15,231,207,171,154,254,248, 56,104, 78,212,207,171,154,254,248,249,119,115,135, 88, 76,126, 26,188, 78,
- 60,119,136,197,100,125,236,180,181,181,189,111,107,107,155, 97,107,107,155, 97,103,103, 87,233,102,109,109,253, 82, 15, 78, 35,
- 19, 19,147, 29, 38, 38, 38,153, 2,129, 64, 39, 20, 10, 51, 5, 2,193,118,148, 9,109, 81,211,242,100, 48, 24,155,155, 52,105,
-162,100, 50,153, 71, 63,251,106, 91,131, 6, 13,148, 44, 22,107,107, 53, 57, 77,187,118,237,170,139,140,140,164, 61, 61, 61,105,
- 0, 22,223,176,222,237, 45, 44, 44,110,152,154,154,166,152,152,152,236, 6, 32,168, 33, 39, 1,192,199,201,201, 41,162, 71,143,
- 30,114, 39, 39,167, 80, 0,131,191,161,157,253,135, 12, 25, 66,165,164,164,208, 52, 77,211, 41, 41, 41,244,144, 33, 67, 40, 20,
- 5,138,252,154,103,242,170, 89,179,102,209, 79,158, 60,161,159, 60,121, 66,135,134,134,210,253,251,247,167, 0,124,255,149,207,
-121,124,171,107,111, 92,207,186,126,163,134, 22,231,198, 14,247,160,130,254,216, 78,175, 89, 57,147,238,237,217,148,118,111, 96,
-113,201,213,213,202,245, 91,112,254,184,114, 6,221,171, 91, 19,170,113,125,139,179,141,235, 89,215,255, 15, 95,251,191,209,171,
-133,191,123,194,217, 95,174,197, 79,197, 82,249,112,116,116,132, 88,220,193,136,197,242,224,241,120, 94, 12, 38,243, 94,110,118,
-246,130,226,215, 45,221,127,202, 85, 91,105,135, 94, 31,220, 74, 82, 18,212,132,243,147,137,236, 53,228,172, 14,135, 94,156, 21,
- 37,149,166, 84,170,116, 43,146,124,185, 27,149,150,193, 39,156, 78, 78, 78,211, 40,138,114,209,215, 32, 6,131,145, 36, 18,137,
- 14,215,164, 60, 27, 54,108, 72, 23, 15,111, 19,223,178,222,255,142,182,244,191,196,249,251,175,205, 29,221,155, 55, 90, 26, 29,
- 22,183,173,120, 88,177, 20,107,231, 90,152,120,244,232,190,250,209,221,251, 63,173,221, 45, 41,252,127,190,118, 6,244,156,211,
-246, 13, 56, 75,130,132, 86,139,147,205,102, 31,104,223,190,253,180,167, 79,159, 30,213,233,116,211,255, 71,219,103,127, 38,147,
-185,196,205,205,173,213,155, 55,111, 34,116, 58,221, 54,148, 19, 40,178, 6,118,174,116,113,113,153,205,225,112,120, 82,169, 84,
-146,158,158,190, 26,192,185,255,182,242,108,220,208,178, 45, 77,151, 6,221,222,248,250,125,238,243,111,198, 73, 83, 58,138,102,
-110,120,147, 40, 14,255,127,168,247,127,155,200, 58,244,159,248,225, 94, 6, 78, 3,167,129,211,192,105,224,252,230,156,198,134,
-242, 52,112,254, 11, 57,255,149, 96, 25,138,192, 0, 3, 12, 48,224, 31, 7,133,161, 8, 12, 48,224,191, 14,101,189, 90,165,222,
- 44,162, 18, 85, 90, 29,151, 96, 77,148,237, 29, 3,167,129,211,192,105,224, 52,112, 26, 56, 13,156,255,115,156,255, 86,145,117,
-168,146,253,191, 13, 6,183,170,129,211,192,105,224, 52,112, 26, 56, 13,156, 6,206,255, 5,161, 85,238,190, 97,232,208,128,191,
- 29,187,134,194, 9, 0,230, 93,134,232,239, 56,222, 0, 3, 12, 48,192, 0, 3,254,159,113, 8, 21, 12, 29,254, 55, 8, 45, 71,
- 0, 29, 81,148,248, 54, 30,192, 67, 0,146,175,224,179, 6, 48,138, 32,136,145, 0, 64,211,244,121, 20,173, 26,201,209,231,100,
- 35, 35,163, 76,165, 82,105, 91,252,127,150, 82,169, 44,155,203,128,192,151,171,217,232, 50, 91,185,112,113,113,201, 84,169, 84,
-182,122,252,124, 62, 77,211, 81, 12, 6, 35, 90, 40, 20,222,125,243,230, 77, 96,117, 46,220,203,203,107, 34,147,201,220, 8, 0,
- 58,157,110,213,189,123,247,142,255,141,245,214,161,150,163,253,111, 26,173,134,204,204,206, 93,141, 47, 3,249, 1, 0,246, 14,
-128, 63, 65, 98,105,241,255, 91,231, 4, 86, 30, 71,167,186,199, 87,130,182,108, 54,219,215,206,206,174, 95, 90, 90,218, 75, 0,
-203,128,170,163, 26,215,170, 85,235,123, 22,139, 53, 78,167,211,213,103, 50,153, 9, 36, 73,158, 76, 77, 77, 13, 48, 60, 67, 12,
- 48,192, 0, 3, 12,208, 67,108,125,129,106, 9, 45,119, 43,216,211,128, 15, 8,244, 6,141,219, 4,112, 38, 94,140,143,250,158,
-255,157, 59,180, 90,178,232, 55, 57, 12,232,110,188,103, 28,234,215,175,159,243,220,185,115,209,185,115,103, 60,125,250,180,211,
-177, 99,199, 38,159, 59,119, 46,138,162,168,123, 0,158, 2,122,133, 82, 16,160, 40, 78,203,216,126,253,250,245,218,184,113, 35,
-179,105,211,166, 80, 40, 20,184,127,255,190,199,214,173, 91,119, 60,126,252,248, 14,128, 83,197,130,160,194, 4,120, 74,165,210,
-182, 36, 25, 39, 65, 16,182, 35, 70,140,120, 94, 86, 92, 21,231, 87, 35,104,154,126, 66, 16, 68,168, 78,167,123,122,225,194,133,
- 84,119,160,195, 12, 23,206,133, 5, 73, 26,231,207, 57, 85, 42,149,237,149,159, 55,129,197,227, 65, 85, 88,128, 78,147,254, 18,
-189,183,127, 92, 10,130, 34,193, 4, 45,241,218,176, 35, 10, 64,116,122,122,122,148,167,167,103, 82,117,107,152,201,100,110,188,
-121,243,166, 3, 77,211,240,246,246,222, 8,224,239, 18, 90,188,142,109, 91,222,187,122,241,180,145, 52, 55, 19,125, 7,143, 62,
-249, 54, 53,107, 34,128,139,159,136,166,126,176, 35, 8, 44,157,181,233, 20, 19, 0,246,173, 28,187,108,123, 31,236, 90, 24,132,
-143, 0,188,138,197, 15, 0,252, 12,224,222,222,126,176, 3,176,124,214,166, 83, 4, 0,236, 95, 57,118,233,222,126,216, 57,231,
- 70,181,195, 86,204,158, 56,113,226,174,141, 27, 55, 50, 29, 28, 28, 32, 18,137,250, 54,105,210,196,173,160,160,160, 9, 42,153,
- 68, 92,183,110,221,179, 93,123, 12,172, 55,108,164, 15,223,198,218, 2,233, 25, 57,166,103, 79, 31,157,193,124,114,191,223,135,
- 15, 31, 70, 27,158, 33, 6, 24, 96,128, 1, 6, 84,128,154, 71,134,111,237, 0, 99,153, 6, 67, 88, 76,226,251, 46,109,155,244,
- 28,243, 93, 87, 70,147,198, 13,241, 42, 54,174,207, 31,119,159,109,101,132,198, 6,147, 58, 58, 64,192,193,149,240,140,202, 87,
-194,104, 73,176,130,174,156, 42,234, 9, 39,143,101, 62,127,254,188, 97,155, 54,109, 74, 83,195,244,236,217, 19, 61,123,246, 36,
-246,237,219,215, 50, 40, 40,168,229,145, 35, 71, 52,193,193,193,191,161,242,248, 40,190, 13, 26, 52,216,186,107,215, 46,158,167,
-167, 39,120, 60, 94,233, 23, 66,161, 16, 3, 7, 14,196,192,129, 3,153,233,233,233,222, 87,175, 94,245,254,249,231,159,213,201,
-201,201, 75,240, 87,148,230, 74,177,122,245,234,182,229,124,124,147, 32,136,247, 36, 73, 70,180,108,217, 50,213, 13,104, 56,227,
-187,206,183,103,119,113, 21, 44, 88,113,172, 92, 30, 22,151,139,223, 39, 22,245,213,101,133, 86,210,221, 27, 16,154,154,136,249,
- 38, 38, 81, 0,162, 1, 68,209, 52, 29,157,144,144, 16,215, 8,104,217,209,130,241,219, 81, 9,213,162, 26, 98, 11,169,169,169,
- 48, 51, 51, 51,246,244,244,204, 32, 8, 98,237,253,251,247,191,245,132,188, 14,107,151,206,230, 72, 62, 68,225,227,235, 39, 88,
- 52,210,131,191, 96,247,159, 63, 41,213,218,139,149,157, 68, 16, 12,198,207,161,148, 31,138,146,241,174, 22,139,197,158, 0, 96,
-101,101,197, 5,112,111,251, 51,124,183,176, 11,241, 53,177,221, 56, 76, 38,115,239,177, 99,199,166,126,255,253,247, 69,169, 35,
- 30, 61,130, 80, 40,196,250,245,235,235, 46, 94,188,216,159, 36,201,249, 21,121,178,186,246, 24, 88,111,231,182,159,154, 20,230,
-230,171, 14,238, 61,247,194,177,153, 59, 99,150,239, 98,147,157, 26,149,189, 78,167,251,222,224,217, 50,192, 0, 3, 12, 48,160,
- 58,222,172, 42,133,150,155, 53,142,183,110,230, 58,106, 76,127, 15, 94,243,102, 77,193,225,253, 21,186,165, 77,219,182,104,211,
-182, 45,195, 79, 90,216,251,249,139,176,222, 23,130,158,170,228,218,228,115,111,114, 48, 81, 95,171, 74,146,210,110, 28,108,215,
- 67,150,151,101, 4, 0, 2,115, 91,229,202, 43, 31,239,118,233,210, 5,206,206,206,156,224,224,224, 41, 85, 8,173,149,241,241,
-241, 60, 38,179,242,120,168,142,142,142, 24, 49, 98, 4,220,221,221,185,221,187,119, 95, 89,145,208, 50, 50, 50,202, 34, 8,194,
- 22, 0, 44, 45, 45,117,107,215,174,141,160,139, 0, 0, 52, 77,211, 79, 24, 12,198, 83,138,162,158,253,249,231,159,105, 77, 0,
-219,190,109,220, 31,206, 30, 63,130, 79, 95,216, 81,161, 72, 80, 22, 20,148,251, 57, 95, 40,200, 54, 22, 8,162,120,124,163,104,
- 20,229,242,138,118,118,118,142,107, 2, 56,183,119,119, 9,218,183,112,172,201,209,233, 63, 85, 89,150,173, 91,183,118,107,209,
-162,133,145, 78,167,131, 76, 38,195,254,253,251,205,140,141,141,205,250,245,235,183,166,108, 3,104, 12, 52, 31,238,200,156,190,
- 46, 93, 55,167, 6, 13,201,188,107,167,182, 31, 70, 12,236,103,218,182, 99, 87,188,189,119, 2,185,185,133,200,207,147,130,162,
-168, 47,226,250,204,185,129,204,189, 3,176,117,223,138,177,203, 9, 6,131,104, 57,116, 25, 6,217,231,207, 59,112,224, 64, 44,
- 0, 54,151,203, 45,219, 14, 29,141,157,154,109,109,216,167, 43,246,175, 26, 15,154,162,104, 0, 91,171,225,205,178, 53, 49, 49,
-249, 35, 40, 40,168, 67,187,118,237,240,244,233, 83, 36, 38, 38, 98,246,236,217,234, 57,115,230,112, 38, 76,152, 64, 44, 90,180,
-104,238,207, 63,255,124, 1,192,227, 47,110, 4, 22,107,220,224, 97,163,185,210,188, 2,165, 90,165, 81, 91, 90,155, 83, 42,153,
- 82,158, 35, 41, 80,142, 30, 59, 77, 29, 27,254,108, 28,128, 47,132,214, 87,150,167, 1, 6, 24, 96,128, 1,122,128,166,233,118,
- 0,108, 0,100, 19, 4,241,162,236,126,241, 33, 37,217, 90, 62,223,207, 65,209,168,148, 85, 25,186, 28, 20, 77,247,177, 1,160,
- 3,240,156, 32, 8,201, 87,154, 88,249, 42,195,192,192, 64,186,236,223, 50, 66,139,166,105,154,214,138,223,211,170, 55, 55,104,
-249,139,195, 95,108,138,216,139,116,198,243,115,244,179, 83, 63,210,110,214,149,103, 97,255,206, 29,218,177, 45, 64,207,106, 7,
-122,126,119,115,229,243,231,207,131, 41,138, 10,244,235, 10,154,126,117,138,166, 95,157,162, 23,118, 2,125,225,194,133,155,254,
-254,254,129, 1, 1, 1,129, 0,170,154,167,148, 89,248, 34,148,126,102, 11,186, 34,196,199,199,211, 7, 14, 28,160, 87,172, 88,
- 65, 31, 61,122,148, 70, 21, 17,212,189,189,189,239,199,196,196,208, 19, 38, 76,136, 64, 37,129, 1, 27, 3,130,113,117,237, 95,
-171,206,238,208,168,191,111, 78, 75,186, 25,149,123,253, 14, 14, 14,159,216,179,217,213,158,222,211,222,149, 62,222,187,205, 71,
-154,166,111,210, 52,189,153,166,233,209, 52, 77,187, 3, 64,107,192,116,176,131,213, 59,229,185,157, 10,245,244,142, 85,230,189,
-107,221,186,181,219,146, 37, 75,114,213,106, 53,157,148,148, 68, 31, 60,120,144,190,125,251, 54,125,229,202, 21,218,195,195, 35,
-189,140,189,118,147,221,235,100,170,143,172, 83,213,164, 21,177,153,204, 61, 47,110, 95,160,223, 61, 60, 79, 63, 63,227, 79,159,
-252, 97, 12, 61,119,112, 7,141,169, 49, 79, 9,160, 71, 69,231,205,233,130,134,238,117,109,222, 36, 39, 39,211, 26,141,134,158,
- 52,105, 18,237,237,237, 77,247,233,211,135,238,213,171, 23,221,179,103, 79,186, 71,143, 30,244,221,187,119,233,244,244,116,186,
- 87,215, 54,178, 1,141,209,182, 26,166, 53,171, 83,167,206,199,164,164, 36, 90,163,209,208,193,193,193,244,137, 19, 39,232,224,
-224, 96,218,207,207,143, 6,112,124,214,172, 89, 10,137, 68, 66,123,123,123,167,161,156,168,241,117,234,212,137,139,121,147,154,
-186,125,211,225,187,191,239, 57,125,247,210,133,219,119,255,184,245,252,218,149, 91, 47,206, 61,139, 76,184, 82,167, 78,157,184,
-114,234,255,171,202,211, 0, 3, 12, 48,192,128,170,181, 72,177,208,234, 95,236,236,232, 79,211,116,175,207,246,251, 23, 11,167,
- 47,246,253,252,252, 86,148,221, 47, 57,198,207,207,111, 5, 0,186, 83,167, 78,167,105,154,110,248, 13,204,159, 94,206, 86,181,
- 71,171, 4,100,218,115,112, 92,251,129,173,211, 66,155, 19, 15, 42, 47, 25, 16,216, 67, 65, 8, 33,206, 72,198,235,135, 23, 43,
- 79, 36, 81,140,235,241, 96, 3, 8,142,139,139,195,235,215,175,145,154,154, 10, 62,159,255,197,113,143, 30, 61,130,177,177, 49,
- 28, 28, 28,244, 83,186,234, 79,251,185,168, 54,117, 32,236,228,137,156, 49, 51, 17, 28, 28,140,172,172, 44,112, 56, 28,112,185,
- 92,144, 36, 89, 37, 31,131, 81,148,241,183,196,139, 85,222, 49,158, 0,139,103, 41,188,186,111,205,124, 23,198,147, 64,182, 34,
-229, 29,210,149, 58,253, 60,121, 66, 1,248, 2,126,134,177, 49,191,116,184, 16, 64, 52, 65, 16,111, 91, 3,108,129,208,232,234,
-111, 27, 22,217, 51,195,131,141, 20,239,162,202,229,232,213,171,215, 12, 0,107,104,154,206,107,209,162,133,221,198,141, 27, 45,
- 68, 34, 17, 94,189,122,133,115,231,206,101,147, 69, 23, 74,208, 52,189, 14, 0, 58, 2, 70,230, 54,230,183,246,252, 56,223, 4,
-247,206,114,107,210,138,204, 26, 15,188, 54,124,194,172, 57,187,230, 15,132,172, 80,129, 83,183,195,113, 51,236,253, 32, 0,143,
- 80,201,188,183,189,143,241, 14,200,238, 57,108,216,176,136, 7, 15, 30, 88, 31, 57,114, 4, 36, 73,150,187, 29, 57,114, 4,119,
- 30,134,205, 3,240, 82, 79,179, 28, 93, 92, 92,238, 60,123,246,204,134,207,231,227,246,237,219,200,203,203, 43,245,100, 77,156,
- 56,145,200,203,203,243,217,191,127,255,240, 15, 31, 62,108,123,248,240,161, 24, 69,185, 32, 63,105, 8, 76, 38,243, 61, 73,106,
- 26, 57, 52,110,200, 26, 57,176,107, 87,169, 56, 10, 66,171, 22,120, 18,249,254,106,158, 68,172, 96, 50,153,239,203, 30,255, 45,
-202,211, 0, 3, 12, 48,192,128,234,129, 32,136, 64,154,166, 7, 16, 4, 17,248,249,103,159,255, 95,114,156,191,191,127,233,126,
-201, 57,155, 55,111,222, 84,102, 95,254,141,204,171,116, 50,124,247, 98, 5,217,189,188,131, 84,175, 46, 65,245,250, 15,112,234,
-116, 1,215,125, 16,152,117, 60,144, 18,117, 15,145, 55,182, 35, 45,246, 17,104, 74, 7, 7,183,246,250, 26,162,108,212,168, 17,
-148,202,162,169, 89, 42,149, 10, 28,129,133,114,209,244,177, 70, 0, 64,177,140, 84,101, 20,172, 94,132, 38, 93,188,208, 62,147,
-198,115,187, 34, 71, 69,251,204,162,243, 54, 76,154, 4, 14,135, 3, 14,135, 3,162,120,234,143, 62, 66,139, 40, 62,152, 42, 26,
-190, 42,207, 8, 66,206, 99,159, 58,179,198,183, 61,239, 67, 52, 87, 21,243, 4,233, 42,138,190,154,169,187,166,143,189,124, 1,
- 95,100,204,231, 71, 27, 11, 5,165, 66,139, 32,136,247, 0, 64,179,217, 1, 39,214,249,182, 16,100, 38, 8,148, 47,130,145,161,
-164, 52, 21,208,172,187,113,227,134, 45,139,197,178,215,233,116, 72, 73, 73, 65,108,108, 44,118,238,220,153, 89, 88, 88,216, 61,
- 60, 60,252, 77, 89,237,168, 51,230,158, 11, 88, 63,191, 30, 43, 42,196, 72,245, 62,166,218,173,199,186,217, 16,239, 65,221, 91,
- 94,155, 49,126, 21,134,124,215, 7, 19,186, 55,161,147,210,115,149, 0,110, 23,187, 94,171,130, 40, 60, 60,188,119,183,110,221,
- 78,182,106,213,170, 49, 77,211,104,222,188, 57,124,124,124, 16, 16, 16,128,200,200, 72, 20, 20, 20,104,130,130,130,118, 0, 56,
-166,167, 89,124, 11, 11,139,155,119,239,222,181,225,243,249, 8, 10, 10,130, 66,161,128,131,131, 3,230,204,153,195,221,188,121,
-243,239, 5, 5, 5, 35,253,253,253,141,146,146,146,246,220,186,117,171, 46,138,242,206,125,209, 8,212,106,245,161, 83, 1,199,
-119,205,241,157,235,116,247,233,171, 96,149,180,208,172, 78,157,212, 2, 27, 11,161,201,142, 45,235,106,171,213,234, 25,229,151,
-231,253, 26,149,167, 1, 6, 24, 96,128, 1, 95,160, 82, 45, 82, 86, 60,125, 46,182,170, 35,210, 0, 40,252,252,252, 86, 18, 4,
- 17,232,231,231,183,210,223,223, 95, 1, 32,253,239, 16, 89,165, 66,107,192,128, 1, 33,129,129,129, 24, 48, 96, 64, 72,133, 20,
-148, 14,154,164, 7,208, 36, 61,128,113,167,121,248,211,127,204,103, 23, 79,213,216,186,129,235,111,223, 85,169, 84,172,227,199,
-143,151,206,219, 2, 0,157, 78,247,205,107,177, 58, 66,171, 88,232,125, 97,132, 11, 79, 24,114,104,225,200,142, 86, 58, 57, 91,
-253,232, 42, 68, 42,138,220,246, 78, 35,127,145, 71,255, 92, 17,231,149, 5, 51,144,250,240, 14,248, 66, 97,234,212, 7,209,165,
- 94,172, 98,145,149, 8, 0,117,121, 38,193, 7,230, 15,241,176,231,128,163,190,118, 30,233, 42, 74,117,224,131,246, 88, 5,141,
- 13, 52, 77, 35, 49, 49, 17,114,185, 28,161,161,161,184,120,241, 98,118, 57, 34, 11, 46, 60,225,253,163,203,198,117, 48, 45,252,
-200, 81,191,184,131,116, 21,165,215, 80,151,117,243, 33, 93, 56, 12, 34,136, 96, 48,141,123,118,116,195,130,105, 67,177,253,232,
-159,164,218,182,235,128, 93,127, 92, 31, 37, 85,105, 86,234, 41,178, 74,157,141,225,225,225, 77,194,195,195,121, 0,188,124,124,
-124,174, 15, 31, 62, 28, 33, 33, 33,184,122,245,170, 43,128,140,226,227,214,163, 40, 81,246,207, 0, 18, 42,114, 60,114, 56,156,
- 51,119,238,220,105,234,232,232,136, 59,119,238, 64,161, 80, 96,214,172, 89,106, 95, 95, 95,206,196,137, 19,137,252,252,252, 82,
- 79, 86,104,104,168,184, 34,145, 5, 0, 34,145,232,198,197,115, 39, 58,119,235,214,109,104, 61, 87,119,211,132,194,130, 44, 62,
-223,200,248, 97,200, 61,206,139,103,143,247,136, 68,162,231,229,151,103,176,222,229,105,128, 1, 6, 24, 96, 64,197,208, 75,139,
-124,230,153,170, 14,202,156,199,246,247,247,143,245,247,247,255,196,227,245,149,248,124,213,225,181,146, 62,173, 70,113,180,116,
-249, 41, 95, 94, 0, 69, 85,231, 98,191,248,204,194,194,130, 52, 54, 54,254, 68,104, 81,122,114,230, 94, 62,141,132,217, 99, 75,
- 61, 89, 37,158, 45,244,157,248, 85, 66,139,162,168, 80, 0,159, 24,193,183,117, 27,179, 99, 96,227, 46, 77,234, 57, 49,180,231,
-118, 34, 77, 78, 42,215,196,107,148,175, 11,233, 65,113,229, 76,178, 46,229, 36,181, 48, 18, 24, 39, 27, 11, 5,159,139,172, 15,
- 0, 32,176,115, 29,190,173,159,123,247,150,238, 13, 24,228,217, 95, 33,146,107,165,126,113, 26, 77,130,140,190, 84, 65, 25,174,
-233,211,167,207, 26, 43, 43, 43,163, 93,187,118,153,213,169, 83, 7, 36, 73,170, 63, 23, 89,124, 91,183, 49, 59,135, 52,235,226,
-102,111,193,208, 94,216,141, 84,133, 78,190, 51, 65,251,187, 62, 34,203,218, 76,120,235,192,166,217,198,124, 30, 27, 74,165, 18,
-155,247, 93, 64,208,227,152, 1, 57, 49, 87,110, 1,184,245, 21, 13,114,234,128, 1, 3,182,175, 95,191, 30, 90,173, 22, 83,166,
- 76,193,251,247,239,131,226,227,227,119,214,174, 93,123,201,178,101,203, 28,237,237,237, 49,106,212, 40,142, 86,171,157, 88, 1,
-199,150, 83,167, 78, 13,104,217,178, 37, 66, 66, 66,144,151,151, 7, 7, 7, 7,248,250,250,114,253,253,253,127, 47, 40, 40, 24,
-185,105,211, 38,163,196,196,196, 74, 61, 89,159,180,107,157,110,195,193,237,179,151,180,235,232,193,120,247,238, 13,153,210,222,
-147,113,239,206,213, 7, 86, 86, 86,191,167,164,164,252, 85,158, 67,155, 87,187, 60, 13, 48,192, 0, 3, 12,248, 54, 32, 8,226,
- 90,241,188,171, 79,188, 92,159,139,176, 18,143, 85,217,253,207,143, 47,254,254, 91,188, 44, 31, 42, 71,120,125, 26,222, 97,192,
-128, 1,122, 47,171,167,100,217,122,137,167,207,241,157, 59,180, 78, 66,176, 86,122, 50,192, 17, 88, 40, 7,174,191,125,183,162,
- 99, 5, 2,129,222, 30, 45, 74,165,172,170, 82,170, 37,180,138,231,104,221,164,105,250, 19,161,101,102,231,230,185,124,217,252,
- 29, 30,195,251, 50, 50,167,117, 66,158, 84,165, 90,246,138,164,210,228,149,139,172,162, 94, 92,155,196, 23, 8,163,141, 4,252,
-178, 34, 43, 5, 0,140,108, 27,180, 95,186, 96,206,190, 30, 99, 6, 18,217,179, 60, 32,201, 83,168,150,196,146,132, 72, 65,143,
-140, 3,238,149, 71,119,247,238,221,131, 0, 14,122,122,122,102, 10, 4, 2, 72,165,210, 47,234,160,196,222, 46,195,251, 50, 50,
-167,118, 64,174, 76,163, 90, 22, 75, 34, 93, 65,157,169, 74,100,217,152,155,220, 58,176,113, 54, 63, 61,237, 3, 56, 28, 14,132,
- 66, 33,110, 63,138, 70, 78,236, 31, 95, 35,176,192, 96, 48,214,250,249,249,173,153, 51,103, 14,196, 98, 49,174, 94,189,138,239,
-190,251, 14,167, 79,159,174,115,253,250,245,237, 94, 94, 94, 96, 50,153, 8, 12, 12,132, 86,171,125, 91, 1,205,208,233,211,167,
- 47, 25, 62,124, 56,158, 63,127,142,140,140,140, 79, 60, 89,121,121,121, 62,251,246,237, 27,158,148,148, 84,165, 39,235, 51,180,
-119,105,208,154,179, 98,245, 47, 80,201,179, 88,217,162,167, 33,193,183, 25, 79,114,115,115,249, 0,242,107, 90,158, 6, 24, 96,
-128, 1, 6,232,237,213,170, 72,139,100, 23,139,168,236,242,246,203, 8,172,242,246,137,207,188, 96,234,207,190,143,252, 59,175,
- 73, 47,143, 22,203,174, 25,200,204,152, 50, 66, 43,235,147,239,141, 76, 44,245, 26, 58,212,146, 96, 29, 56, 86, 26, 71,203, 72,
- 44, 22, 27, 89, 91, 91, 43,203, 10, 4, 62,159, 15, 71, 71, 71, 72, 36, 18, 28, 58,116, 8,168,122, 82, 52,105, 58,124, 60,218,
-143,153,130, 23,206, 92,208, 90, 77,169,103,235,192,164, 73,159,136, 45, 14,135, 83, 50, 55,172,170, 78,247, 89,177,167,233, 9,
- 0,186,181,107,189,159,140, 4,130, 73, 70,214,181,172, 23,204,158,202, 78,202, 82,225,174,199,138,188, 11, 91,150, 11, 83,105,
-225,156, 20,228, 63,174,130, 47, 97,240,254, 19,159,123,178,210, 90,185,214, 91,101,196, 55,154,198,181,172,107,239,183,104, 54,
- 59, 41, 83, 69,220,109,191,172,224,226,207,203,248,137, 48, 89,146,134,188,123,122, 84,207,154,239,190,251,110, 13, 77,211, 52,
- 69, 81,171, 1,160,172,189,139,124,167,177, 19, 62, 42, 17,236,177, 74,114,113,203,114,147, 84, 84,110,175,117,243, 33, 93,236,
- 44, 76,111, 29,216, 52,135,159, 33, 74, 6,143,199,131,137,137, 9, 82, 51,243,193,102, 49, 21, 95,217,222,120, 93,187,118, 93,
- 62,123,246,108, 68, 71, 71, 99,214,172, 89, 25, 41, 41, 41,151,206,158, 61, 59,235,199, 31,127,100,121,123,123, 35, 35, 35, 3,
- 91,183,110,213, 62,122,244,104, 19,128,173,229,182, 71, 22,107,234, 79, 63,253, 68,167,167,167, 19,137,137,137,112,112,112,192,
-220,185,115,185,155, 54,109, 42,157,147, 85, 29, 79, 86, 9, 68, 34, 81, 72,208,157, 39, 24,116, 99, 7, 72,173, 42, 36, 79,156,
-242,224,117,130, 36,196,146,203, 93,236,212,186,121,141,202,211, 0, 3, 12, 48,192,128,111,226,197,122, 81,217,254,127, 1,202,
- 27, 58,212, 75,104,189,221,189,106,178,235,228, 57, 75, 97, 92,167, 11, 84,113,151, 65, 73, 51, 75, 61, 90, 70, 66, 11, 88,214,
-110,140, 60,153, 10,231,131,195, 0,224,109,117,172, 42, 44, 44, 68,155, 54,109,176,119,162, 91, 15,101,161,216,200, 24,128,138,
-103,170,188,194,237,122,247,250,245,235,114,138,162,206, 0,184, 94, 5,205,218,166, 77,155,238,249,229,151, 95,184,141,199, 76,
-134,244,233,195,207, 61, 40, 48, 54, 54, 6,143,199, 67, 84, 84, 20,238,222,189,171, 6,176,182,138, 10,125, 70,146,100,228,217,
-179,103,211, 26,214,115,234,219,166, 85,139,121, 43, 87,248,153,188,122, 24,132,213,155,246, 80, 13,219,122,231,111, 62,125,165,
- 48, 95, 88,187,167, 34, 35, 62, 66,143, 75,141,252, 76,100,165, 55,114,169,213,163, 85,179,166, 75, 87,175, 94,101, 26,251,240,
- 54,126,252,249, 0,237,218,178, 87,254,207, 23,255, 40,200,225,215,237,163,204,122,253, 92,159, 50, 12, 9, 9, 57, 8,224, 96,
-201,254,231,246,250,173,223, 73,185,181,235, 43,217,124,250,162,172,192,164,118,175,202,236,181,105, 60,180,179,179,141,197,173,
-221, 27,102,242, 63,138, 82,192,227,241, 32, 20, 10,145,146,145,135, 53, 59,206,201, 52, 20,213,247,107,133,150,137,137, 9, 79,
-163,209, 96,239,222,189, 72, 73, 73,233, 4, 32,229,229,203,151, 7, 70,143, 30,189,171,121,243,230,141, 98, 99, 99,223, 74,165,
-210, 57, 0, 94, 87, 68, 98,110,110,222,201,198,198,134,120,242,228, 9,102,206,156,169,158, 59,119, 46,103,194,132, 9,132, 68,
- 34,169,169, 39, 11, 0,224,228,228,228,217,187,103, 71,116,233, 61, 43, 68,173,204,123,144,244,250,247, 16, 6,253,216,168,166,
-229,105,128, 1, 6, 24, 96,192,255, 12,106, 22, 24,220, 19, 96,185, 89, 97, 70, 83, 39,206,199,128, 45,115,233,194,132, 80, 90,
-241,252, 32, 93,112,121, 26,125,109,235, 4,250,250,238, 5,244,172,254, 77,233, 70,182,196, 71, 55, 43,204,240,252, 82,184,125,
-146,221,251, 59,119,104,123, 55, 0,221,187, 1,232,254,110,208, 2, 88,217,186,117,235, 43,190,237,255,138,163,229,219, 30, 52,
-128,153, 0,132, 21,152, 85, 94,198,112, 7, 0,135,218,180,105, 67,222,187,119,143,142, 31,217,139, 14,111,100, 77,207,153, 51,
-135,254,241,199, 31,233,177, 99,199,210, 54, 54, 54,100,113, 65, 56, 84,197, 57,104,208, 32,103, 0,168, 85,171,150,121,219,198,
- 13, 63, 70, 5, 95,165, 31, 4,236,162,143,250, 14,163, 59, 52,111,156, 99,223,168, 91,164,177,131,123,171, 42,138,175,148,211,
-222,222,126, 5, 77,211,125,105,154,118, 0, 0, 87, 87, 43, 97,235, 70, 13,211, 35,239, 92,165, 31,158,216, 67, 31,245, 29, 70,
-119,108,209, 68,236,220,216,235,181,145,109,163,246,250,112,150,135,114,237,109,214, 40,199,104,243, 99,239, 0, 0, 32, 0, 73,
- 68, 65, 84,174, 97,231,136, 74,236, 45,229,172,215,126,212, 31,105,233,153,244,179,103,207,232,235,215,175,211, 15, 31, 62,164,
- 3,206,254, 65,215,110, 55, 82,106,221,124, 72,151,106, 52,157,138,236, 52,235,223,191, 63,253,246,237, 91,186, 95,191,126, 52,
- 0,179, 26,114, 94, 73, 74, 74,162, 99, 98, 98,232,149, 43, 87,210, 0,142,207,158, 61, 91,145,159,159, 79,247,234,213, 43,165,
- 88, 96,177,106, 98,103,125, 23,167,205, 67, 7,118, 93,235, 59,115,184,231,215,150,231, 55,132,129,211,192,105,224, 52,112,254,
- 47,112,254,147,225, 80,236,213, 42,249,219, 90, 47,143, 86, 8, 64, 66,140,131,205,108, 53, 39, 55,109,221,189,120,239,193,227,
- 75,151,207,155, 42,232,234,209, 27,209,119,126,195,197,192,179, 50,165, 74,189,149,195,196, 47, 49, 98,200,223, 84, 97, 69,113,
- 28,173, 79, 16, 30, 30,206,183,108,240, 87, 12,166,119, 69,177, 89, 15, 84,243, 2, 51, 0, 76, 15, 11, 11,251,197,203,203,107,
-227,180, 46,237,135,249,118,238, 1,173, 86,139,128,128, 0, 36, 39, 39, 95, 2,176, 74, 95,143, 91,116,116,116, 78,147, 6,117,
-230,179,153,172,165,115,198, 14,181,201,126,255, 10,105,113,225, 0, 0,149, 74,161,253,248,246, 65,203,234, 24,103,108,108,252,
-204,198,198, 38,222,198,198, 70,226, 86,175,214,116, 30,216,171,103,249, 12,182, 21, 39,189, 70,106,108,209,200,168, 74, 41,215,
-164,189,189,215,168, 38,181, 91,167, 78, 29,158,128,141, 25,229,218,171, 86,106, 51,223,189,110,165, 15,143, 92,165,222,180,110,
-123, 64,159, 13, 75, 39,241, 76, 77, 77, 17, 22,243, 14,171,127, 61, 45, 83,168,181,125,115,162,175,124,147,225, 49,154,166,161,
-213,106,245, 94,232, 80, 1,150,183,108,217,210,125,227,198,141,174, 19, 39, 78,196,215,122,178,202, 34, 33, 73,228,231, 84,171,
-126,147,119,241, 97, 94,150,198,156,147, 95, 83,158, 6, 24, 96,128, 1, 6,252,207,160,127,177, 51,103,122,153,191,225, 85, 10,
-173, 18,196,100, 65, 14, 96,125, 61,166,244,192,138,141,219,215, 48,136, 29,147, 40,154,254,141,100, 96, 93,162, 24,217, 95,105,
-156,156,205, 2,217,103,200, 88, 22, 0,176, 89, 53,235, 32,139,241, 22,192,240,195,143,159,183, 59,252,248,249, 15,197,159,109,
- 0, 80,173,177, 92, 19, 22, 98, 60,154,212,119,234,218,186,169, 17, 83,167, 64, 90,220,123,228,202,148,184, 29,155,156,199,160,
- 25,191, 85,215,168,196,196,196,251, 0, 96,103,198,143,235,218,164, 65,237,110,109,154,242,217,132, 26,105,175,194,144,175, 80,
- 35, 40, 54, 57, 31, 4, 81,227, 9,213,223,202,222,204,232, 63, 94,252, 9,162, 23, 65, 16,119, 86,250,142,225,173,249,245,204,
- 55, 21, 89, 0,228, 34,145, 72, 44,151,203,173,210,211,211,213,168,121,144,184,119, 5, 5, 5,205, 23, 44, 88,176,126,201,146,
- 37, 75,183,108,217,194,169,201,156,172,138, 32, 17, 37, 95,238,214,244,219,213,191, 1, 6, 24, 96,128, 1,255, 19,152,254,217,
- 95,232, 45,180, 74, 5, 67, 22,178, 1,204,169, 95,159, 94,148,144, 0,245,183,178,172, 60, 79,215, 87,226, 5,128,129, 53, 62,
-155, 65, 20, 62,125,155, 44,125,246, 54, 89, 10,138,166, 41,154, 86, 49, 24, 72,149,105, 52,155,222, 38,138,106,190,234,142, 32,
-116, 47,222,165, 40, 94,190, 79, 85,210, 20, 69, 83, 52,173, 38, 8,124,212,106,169, 77,177,137,201,127,252, 55,216,155, 19,125,
-229,113, 32, 73,116,125,252, 44,102,145, 76,166,217,147, 19,119, 37,244, 27,214,139, 54, 58, 58,122, 92,167, 78,157, 38,235,116,
-186, 3, 0,180, 95,193,165, 38, 73,114,249,230,205,155, 47, 69, 71, 71,159, 11, 13, 13,205,248, 22, 34,235,111,173,127, 3, 12,
- 48,192, 0, 3,254,173,168, 89, 82,233,138,240, 45, 69,214,127, 35, 98,222,125,104,243,119,240,198,190,251,208,236,159, 96,111,
-102,220,229,151,153,128,207,223, 84,188, 65, 58,157, 46,232, 91,138,234,155, 55,111,186,160,156,180, 58,255,109,245,111,128, 1,
- 6, 24, 96,192,191, 22,211, 43, 18, 95, 44, 67,217, 24,240, 47, 0,253,173, 68,150, 1, 6, 24, 96,128, 1, 6,212, 0, 21,122,
-180, 8, 84,188,114,224, 78, 53,126,160, 38,171, 15,238, 24, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,159,227,252, 55,
-194, 1, 69, 19,226,175, 21,255,173, 84,124,125, 75, 24,150,190, 26, 56, 13,156, 6, 78, 3,167,129,211,192,105,224,252,183,163,
-220,137,240, 64,209,228, 97, 3, 12, 48,192, 0, 3, 12,248,187,192, 43,222,106,250,189, 1, 6,252, 19,197, 86,169,224,170,201,
- 28,173,134,197,127,223,253,141,198,250, 58, 56, 56, 76,111,209,162, 69, 99, 14,135,195, 40, 44, 44, 92,119,239,222,189,181,159,
- 31,212,181, 9,235, 37,147, 1,231,191, 62, 33, 0,130, 9, 48, 24,208,209, 72,123, 24,165,104,107,168,247,255,106,212, 49, 54,
-181,249,147, 96, 48,185, 58, 82, 3,157, 86,131,162,233, 86, 69,160, 40, 50, 89,167, 81,121, 87,116,178,125,203,161,181, 73, 29,
-181, 5,160,247, 2,140,217, 0,181,143, 0,107, 22, 13,114, 63, 1,230, 76, 48,233,159,161, 35,150,177,216,204, 21, 25,225, 23,
- 82,255, 13, 5,118,254,252,121,230,215,156, 63,114,228,200,114, 19,136, 58, 58, 58, 6,242,249,252, 6, 21,157, 39,147,201, 50,
- 50, 50, 50,188,254,229,237,177, 27,128,221, 0,154,126,246,249,107, 0,243, 1, 4,127,237, 15,120, 2, 44, 59, 96, 6, 7, 88,
- 6, 0, 26,224,231, 76,224, 96,200,127,209, 28, 67, 27, 27,155, 7, 44, 22,203, 85, 38,147,201, 10, 11, 11,235,155,152,152, 36,
- 8, 4, 2, 1, 73,146,111,179,179,179,187, 85,147,110, 54,254, 74,165,181, 20,192,190,106,126,111,128, 1,255, 20,124,213,170,
- 67,183,162,231, 3, 60, 1,116,107,215,174,157,157, 76, 38,195,235,215,175, 51, 1, 60, 0, 16, 82,188,189,249, 22,150, 50, 24,
-140,109,219,183,111, 95, 60,119,238,220,210,100,208, 81, 81, 81,104,217,242,203, 24,161, 76, 6,156,239, 93,189, 99,251, 34,250,
- 13,218,245, 26, 81, 44,180, 24,128, 44, 3, 94,189,219,215,212, 4, 19, 11, 11,139,117, 4, 65,140,100, 48, 24, 85,118,106, 20,
- 69,233,104,154, 62, 47,145, 72,214, 0, 40,172,206, 15, 9,248, 60, 45,169,211,149,251, 27, 44, 38, 83, 39,147,171, 42, 12,123,
- 97,105,105, 25,202, 96, 48,234,149, 77,152, 13,124,154, 64,187,162,239, 72,146, 76,203,201,201,209, 71,132, 26, 49, 88,156,249,
- 4,193,233, 13, 6,229, 6, 16, 32,192,120, 67,233,212,183, 41, 82,179, 19,128,242,107, 68,150, 67,173,250, 15, 23,174,218,236,
- 28, 19,247, 26, 43,125,199, 98,203,238,227, 88, 49,127, 50,118, 30, 58,141,249,211,199,160, 73,147,166,168, 44,173, 56, 5,206,
-166, 85,243, 70,246,242,223,123,206, 99,197,156,145, 60,255,189,231,187,174,244, 29,205,221,180,231, 92,215,149,190,163,120,254,
-123,206,121,172,152, 55,210,120,211,190, 11, 20,128,241, 53, 49,114,140,171,163,140, 32,201,114,223,182,105, 22, 75,117,250,109,
-186,224,255,227,142,158, 56,113, 98, 11,133, 66, 17, 54,182,119,235,205,173,220,156, 68,229, 29, 35,254, 40,114, 74,136, 15,247,
- 99,115,140,219, 12,246, 59, 30, 85,169,203,129,199,171,247,250,245,107, 87,138,162,160,211,233, 64,146,100,233, 95,181, 90,141,
-110,221,186,125,171,133, 51, 3, 1,172, 43,186, 89,225, 15,224,220, 87,112, 9, 89, 44,214, 66, 46,151,235, 73,146,100, 99, 0,
- 96,179,217,113, 42,149, 42,132, 36,201,237, 0,164,213,228,219, 33, 18,137,154, 8,133, 66,104, 52,154,210, 4,244, 76, 38,179,
- 81,237,218,181,247, 42,149, 74,215,175,189,120, 59, 96, 70,103, 15,143,157, 19, 22, 47,102, 42, 30, 60,192,206, 99,199,118,160,
-160, 0, 0,246, 86,117, 46,151,203,189,197, 96, 48,234, 84,231,247, 40,138, 74, 86,171,213,222,213, 57,135,197, 98,185,166,167,
-167,219, 58, 58, 58,162,176,176, 16, 2,129, 64, 80,178, 95, 3, 79,214, 86,154,166,141,139,159,237, 59, 59,118,236,216,137, 32,
- 8, 18, 0, 77, 81, 20,227,217,179,103, 99, 40,138, 98, 21, 63,159,182, 2, 56, 6, 64,101,232,179, 13,248,135,122,179, 14, 85,
- 87,104, 93, 7,224,217,174, 93, 59, 99, 31, 31, 31,120,122,122,194,213,213, 21, 70, 70, 70, 69, 15,113,177,216, 46, 34, 34, 98,
-212,131, 7, 15, 70, 93,189,122, 21,175, 94,189, 82, 0,120, 4,160,220,155,186,231, 0,143,185, 70, 66,222, 46, 0,200, 78, 19,
-103,164, 37,102,237,202,200,200,216, 10,160,108,136,240,250,227,199,143, 95, 52,111,222, 60, 4, 6, 6,226,244,233,211, 80,169,
- 84, 40, 44,172, 68,191,200,179, 32,185,187, 25, 16, 36, 1, 41, 33, 0,223, 22, 16,216,213,184,164, 44, 44, 44,214,205,159, 63,
-127, 65,147, 38, 77, 74,163,152,107,181, 90,144, 36, 9,173, 86, 11,137, 68,130, 69,139, 22, 21,117,180, 52, 13,138,162,112,227,
-198,141,185,211,167, 79,135, 68, 34, 89, 88, 30,103,199, 54,181, 94, 50, 8,134,115,137,175,134,214,233,210,158, 70,164,181, 37,
-117, 58,166, 82,169, 41, 55, 83,185,145, 17,167, 82,145,199,102,179,157, 95,253,249,167, 45,131,203, 5,173,211, 1, 20, 5,154,
-162,138,139,179,120,163,139, 62,163,117, 20,104,173, 14, 20, 73,129, 84,168,208,126,246,108,125,138,162, 51,155,107,124,122,220,
-180,197,246, 29, 58,118,100,215,173,229, 8, 82, 71,225,125, 82,154,125,216,203,167, 93,206,255,190,119,150, 90, 81, 56, 6, 64,
-141,226,108,113,249,166, 65,123,246, 31,118,126, 17, 17,131,224,123, 15,112,231,110, 8, 0,224,214,189,208, 18,193, 93,101, 85,
-129,148, 54,159, 63,101, 8,111,243,158, 51,236,249, 83,134, 50,183,236, 57,203,158, 55,121, 48,115,243,174,211,156,121,147, 7,
- 51, 55,239, 62,205,153, 55,101, 8,211,127,231,209, 22, 0, 44, 0, 72, 42, 34,171,168,142, 8,146,228,157, 76,200,100, 2, 64,
-246,129, 3,208,102,101,193,113,205, 26, 0,192,184,250,118,122, 15,119, 88, 91, 91,191,100,179,217,206, 85, 29,167,213,106,171,
- 20,193, 19, 39, 78,108,169, 80, 40, 94,146, 36, 73,179, 88, 44,191,177, 67,251, 92,233,219,181,165,184,236, 49, 81, 81,145, 86,
-155, 54,253, 57,228, 92, 88, 33, 61,170,141, 73, 88,224,182,137,109, 7, 44, 57, 30, 89, 73,135,204, 80,169, 84,120,251,246, 45,
-202, 38,121, 47, 3, 93, 77,223,157, 0,236,180,178,178,234, 32, 22,139,199, 1, 88, 89, 80, 80,208,130,201,100,194,210,210,114,
-165, 90,173,126,111,102,102,118, 36, 63, 63, 63,180,216,107,164,111,202,128,110,166,166,166, 1,151, 47, 95,182,104,221,186, 53,
- 35, 39, 39, 7, 46, 46, 46,200,205,205,109,255,224,193,131, 54, 83,166, 76,153, 82, 88, 88,248,125,241,203,160,190,112,231,243,
-249,244,132, 9, 19, 8,157,238,175,203, 61,122,244, 40,188,155,145, 13,108,204,249,114,165,154,206, 15,126,107, 54,147,195,225,
- 60, 74, 78, 78,206,175,110, 97,112,128,101, 19, 22, 47,102, 10, 63,124,128, 48, 50, 18,227, 10, 10, 88, 91,138,188, 91, 85, 10,
- 45, 6,131, 81, 39,224,244,111,174, 92, 46, 23, 36, 73,150,138,193,146,103,148, 86,171,133, 70,163,129, 86,171,133, 78,167,131,
- 86,163,133,255,134,159,107,252, 44,228,243,249,124, 7, 7,135, 76, 62,159,207,255, 22,189, 16,143,199, 99,253,254,251,239, 99,
-184, 92, 46, 0, 64,173, 86,163, 89,179,102,132,161,127, 54,224, 95, 38,182,190,240,114, 85, 38,180,250, 21, 20, 20, 64,167,211,
-193,196,196, 4, 76,230,167,253,190,149,149, 21,122,247,238,141,110,221,186,193,199,199, 7,175, 94,189, 50,246,241,241,233, 93,
- 17,217,216,197, 3, 80,203,213,174,184, 51,161, 28, 30, 95,139,216,124,244,167, 11, 54, 31, 63,126, 92, 92,230,176, 41, 51,102,
-204, 32,196, 98, 49, 70,142, 28,249, 64,165, 82, 13, 2, 80, 80, 17,167,142, 66,154,151,207, 56, 80, 52, 97,188,253,217, 97, 66,
-173, 84,208, 12, 6, 67, 81, 50,116, 88,147, 82, 34, 8, 98,164,163,163, 35,206,156,249, 63,246,190, 59, 46,138,107,125,255,153,
-217,190, 44,189,131, 10, 42,136,130, 32,216, 16,108,216, 53, 17, 19,107,188,246, 36, 38,222, 36,150, 88, 18,177, 69, 99,131,196,
- 26, 19,141,154,196, 88,174, 13,187,216, 98,197,196,174, 40, 82, 20, 20,105,194, 2, 75, 95,216, 54,187, 51,243,251, 3, 88, 1,
-217,130,201,253,221,251,189,217,231,243,217,207,238,236,204,190,123,230,156,153, 57,207,121,222,247,188,231, 32, 52,154,215,211,
-133,217,218,218, 34, 57, 57,249,149,170,198,225, 32, 44, 44,140, 67, 16,196, 56, 0,115,155,182, 73,182,188,113, 47,203,181,110,
- 59,114,112, 32, 63,172, 43, 89,152, 95, 88,205, 2, 32,150, 44, 89,162, 39,110, 0,240,245,215, 95,155, 83, 78,144, 60, 30,100,
-241,241,175, 30,196, 92, 18, 36,159, 0,193, 3, 72,110,141, 23, 21, 44,192,210, 0,163, 3, 24, 45, 32,242,104,101, 78, 53,132,
-182,240,242,139, 91,187,113,155,189, 90,203,226,224,201,203,200,204,124, 1, 14, 73,194,199,215, 15, 67,250,245,225,117,237, 30,
-222,234,219, 21,243, 79,231,231, 60,123, 11,192,221,102, 87, 52,195,138,124,189,156,241,243, 47, 15,224,226, 96,141,113, 35,223,
-134, 88, 36,196, 55,223,255,138,213,139,102,194,207,199, 27, 59, 54,175, 49,248,115, 59, 59,187,149, 1,126,190,222,219,246,156,
- 65,128,191, 63,103,219,222, 51, 8,232, 88,251, 30, 24,192,217,182,247, 12, 58, 6,118,228,108,219,123, 6,193,129, 29, 90,223,
-151,222, 89, 89, 90, 90, 58,211,112,125, 54,106,163, 33, 53,109,196,171, 98,244, 29, 65,214, 39,159, 0,128,158,104, 53, 7, 60,
- 30,175,101,126,126,190,171,169,227, 76,169, 6,181, 74,214,125,157, 78,135,162,162, 34,162,188,188,156,181,183,183, 31,121,126,
-199,226,227, 67,123,135,148, 2,192,163, 71,143, 28,163,163,215,142, 60,116,191, 18,202,219, 63, 16,255, 58, 21,207, 76,122, 39,
-226,254,201,152,105, 93, 81,187, 36, 68, 99,168,213,234,204,206,157, 59,179,181,159, 91, 8,133, 66,126,163,235,205,179, 93,187,
-118,175,169,214,102,184, 20,191,187,117,235,214,204,142, 29, 59,194,223,223,255,102,143, 30, 61,108, 37, 18, 9,206,159, 63,143,
-128,128,128, 64, 91, 91,219, 59,177,177,177,188,133, 11, 23,134,236,218,181, 11, 0,102,153, 81,157,131,250,247,239,127, 48, 46,
- 46, 78,196,231,243,161, 84, 42,145,156,156, 12, 59, 59, 59, 8, 4, 2,188,251,238,187,156, 94,189,122, 57,245,235,215,239,104,
- 90, 90,218, 4, 52, 99, 6,148, 74,165, 98, 23, 47, 94, 12, 43, 43, 43, 88, 89, 89, 65, 34,145, 64, 34,145,192, 90, 4, 98,251,
- 28, 47,241,236,157,229,226,185,203,183,199,236,221,182,226,106,171, 86,204, 87,185,185,185,229,205,189, 22,148,215,175,195,250,
-209, 35,160,222,189,107, 46,236, 36,142,136,138,138, 50,165, 72,129,207,231,163,103,207,158, 38,237, 57, 58, 58, 30,227,114,185,
- 13, 70,166, 58,157, 78, 20, 21, 21, 69,167,165,165, 73, 72,146,148, 48, 12,131,168,168, 40, 90,167,211,137, 92, 93, 93,111, 50,
- 12, 83, 88, 92, 92, 60,218,140,226,170, 1,124, 65,146,228,119, 66,161,144,219,186,117,235,236,101,203,150,221,170, 85, 51,193,
-178, 44,217,186,117,235, 80,177, 88,236,173, 86,171,117,168,113, 29, 90,212, 44, 11,154, 4,203,178, 93,107, 68, 97, 61, 52, 0,
- 4,181,159, 75,106,122, 59, 56, 55,250, 30, 0,138,107, 7,138,110, 6,182, 75, 0,164, 0,232, 0,192,181,118,223, 61,130, 32,
- 74,223,160,152,134, 21,173,184,184, 56,253, 16, 54, 50, 50, 82,223,177,216,216,216,224,222,189,123, 32, 8, 2, 54, 54, 54,176,
-181,181,133,157,157, 29, 42, 43, 43,145,146,146,130, 39, 79,158, 32, 43, 43, 11, 4, 65,192,199,199, 7,117, 55, 80, 61,232, 31,
-112,251, 55,196, 65,100, 45, 4, 65, 0, 93, 6, 4, 35,184,111, 16,186,223,205,152,115,255, 18,177, 83, 42,149,166, 3,224, 6,
- 5, 5,125, 24, 22, 22,134,141, 27, 55, 66,173, 86,111, 52, 64,178,244, 54,127, 79,209,117, 3, 0, 15, 15,143, 5,251,206, 63,
-183,154, 60,204, 87, 33,149, 74,215,191, 65,229, 52,120, 16, 23, 23, 23,155,189, 22, 31,195, 48, 40, 43, 43, 51,106,179,177, 66,
-176,233,187, 31,236,229, 21,133, 88,245,205, 62,104,181, 90,204,159, 63, 31, 12,195,232, 95,229,229,229,102,149,147,165,233,215,
-181, 3,178,198,123, 74,112, 1,175,241, 53,188, 34,231,224, 15, 32, 88,128,160, 1,188,126, 94,141, 59, 33, 17,135, 47, 62,180,
-226,155, 45,246, 9, 79, 94,226,228,229, 4, 80,149,121,144, 62, 58, 94, 35, 57,246,156,128,195,106, 14,122, 4,251,226,243, 37,
-223, 58, 44,253,124,202, 33,141, 82,238,143,134,110,196, 75,166,111, 26, 26,171, 86,174,196,206, 45, 27,241,237,198, 45,168,172,
- 40, 7,143,231, 92,251,160,167, 65,211,180,241,115,103,217, 97, 81,115,222, 39,190,249,241, 24, 66, 59,122,224,232,249,187,232,
-221,217, 27,199,127,187,143,190, 93,219,224,228,165, 4, 12,232,225,139,179,241, 73,248,124,198, 4, 98,194,133, 93,195,154,211,
- 70,155, 55,255, 96, 47,175, 44, 68,220,154, 61, 40,218,186, 21,217, 51,103, 34,180,246,152,187, 4, 1,126,203,150, 0,223,116,
- 27, 53, 70,106,106, 42,212,106,117, 83,163,125, 4, 4, 4,152,108,119,165, 82,249, 64,167,211,177,133,133,133, 68, 97, 97, 33,
- 36, 18, 9,145,156,156, 68, 7, 6, 6,141, 98,159, 28,249, 9, 0,162,163,215,142, 58,252,160, 18,138,155, 91,160,188,245, 61,
-248,109, 18,201,157, 95,207,160, 62, 94,190,227, 65,189,123,180, 65, 57, 11, 10, 10,222, 42, 40, 40, 0, 0,180,109,219,246, 73,
- 90, 90, 90,135, 58, 87,115,173, 11,145,175,211,233,252,234,220,137, 58,157, 14,106,181, 26,131, 6, 13,226, 24, 59,119, 7, 7,
-135,176,128,128, 0, 36, 36, 36, 96,203,150, 45,142,253,251,247,199,179,103,207, 64, 16, 4,214,174, 93, 75,116,236,216,145, 87,
- 92, 92,140,161, 67,135,226,216,177, 99, 61, 43, 43, 43, 77,213,167,141, 68, 34,217,117,250,244,105, 17, 73,146,144,203,229, 96,
- 24, 6,189,122,245, 2, 73,146, 72, 74, 74,194,146, 37, 75,112,236,216, 49,156, 56,113, 66,220,181,107,215, 93, 10,133, 34, 0,
- 13,221,250,134,218,136, 85,169, 84,172, 80, 40,132, 80, 40,132, 72, 36,130, 72, 36,130, 64, 32, 64,149, 10,248,120, 83,182,154,
- 35,114,102, 2, 59,247,246,125,127,246, 90,114,253,178, 15,174, 0, 56,105,238, 53, 15,212,196,100,125,247,235,175, 91, 38, 85,
- 84,144, 0,240, 51, 65, 48, 20,203,126,107,206,253, 14, 0, 85,170, 10,120,251,180,196,209, 67, 39, 48,102,252,200, 38, 73, 22,
-143,199, 7,159,199,131,173,163,196,164, 77, 62,159,239,246,228,201, 19, 39, 30,143, 7,150,101, 65,211, 52, 40,138, 42, 92,186,
-116,169,203,240,225,195,109,206,157, 59, 71, 14, 31, 62,156,113,112,112,168,190,123,247,110,145, 78,167,115,234,211,167, 79,115,
-174,249,109,193,193,193, 93,142, 31, 63,254, 65, 84, 84,212,253, 5, 11, 22,172,170,191,115,221,186,117, 43,207,158, 61,235, 61,
-106,212,168,189,143, 30, 61,218,214,156,103,200,159,125,206, 91,108,254,247,217, 52,196, 69,106,225, 70, 16, 68, 92,189,103,118,
-100,221,118, 84, 84,212,226,232,232,232,100,130, 32,226,234,127, 95,119, 92,237, 96, 49,174,169,237,218,223, 58, 46, 90,180, 40,
- 40, 38, 38,102,109,120,120,248,193,155, 55,111,190, 0,208, 92,162,101, 60, 70,171,238,132,234,159,100,163, 78, 13,149,149,149,
-168,172,172, 68,110,110, 46,182,111,223, 94,123, 67,243,192,229,114,193,229,114,245,241, 12,134,112, 57,238,143,239, 1,124,223,
-165, 75, 23,222,227, 91,177,231,190,220, 57,123, 96,183, 65, 93, 56, 15, 46, 63, 30,139,154,245, 8,223,154, 58,117,170, 51, 0,
-236,217,179,167, 24,192,185,255, 16,107,142, 77, 79, 79,255,220,195,195, 67, 31,163, 82,223,125,168,211,233, 32, 18,137, 80, 23,
-203,162, 82,169,176,125,251,118, 29,203,178,177, 70,108, 34, 45,249, 10,210,147,175,214,252,142, 97,192,208,175,126,191, 98,197,
- 10,176, 44,171,239,236, 63,169, 85, 78, 76,146,188,166,234,156,109,244,222,232,123,150,166, 77,184, 39,248,179,199, 78,153,233,
-193, 16, 92,156,186,242, 16, 60, 30, 15, 76, 61, 53,147,199,169, 25, 45, 39, 63,203,135,167, 91, 32,222,153, 48,195,253,248,222,
- 31,102,235, 40,213, 55,205,173,107,255,224,112,204,249,252,115,252,180,115, 39,150, 44, 95,169,103, 0, 58,154,134,206,100, 57,
- 73,114, 80,175, 32,232,170,242,193,225,112, 48, 32,212, 23, 28, 14, 7,131,195,219,131,195,225, 96,104, 47,127,112,185, 92, 12,
-235,221, 17,237,218,181, 3,151,203, 37, 77,180, 59,210,146, 47, 35, 61,249, 90, 61,210,203,130, 5, 64, 73,165,175, 29,175,149,
- 74,193,122, 57, 53,247,218,194,135, 31,126, 88,158,155,155, 75, 53,222,215,170, 85, 43,254,245,235,215,237, 13,184,237,244, 16,
-139,197, 93,185, 92,238,131,210,210, 82,198,202,202,138,100, 24,154, 9, 12, 12,226,156,223,177,248,120,221, 49,139, 22, 45, 62,
-254, 94, 87,219, 81,251, 98,227, 88,126,235,222, 4,193, 19,234, 62, 90,190,131,207,227,139,187, 2, 74,115, 6, 15,164, 90,173,
-198,211,167, 79, 97,170, 60, 44,203, 26,117,253,148,149,149, 77, 13, 8, 8,184,254,253,247,223, 59, 18, 4,129,223,127,255, 29,
- 28, 14, 71,255,202,200,200, 0, 73,146,248,242,203, 47,169,202,202,202,233,166,202,198,229,114, 63, 63,122,244,168,157, 64, 32,
-128, 92, 46,215,223, 55, 28, 14, 7, 79,158, 60,193,250,245,235, 49,117,234, 84,228,228,228,192,211,211, 19,243,231,207,183,142,
-137,137,249,156,162,168,149,102, 52, 81,162, 70,163,233,102,101,101, 5,145, 72,132, 58,194, 5, 0,191, 37,243,146,148, 74,101,
- 39, 39, 39,133,187, 75,124,220,169,158,253,223, 9,113,114,241, 8,151, 74,165,205, 90, 58,235, 57,176, 51,147,166,151,190,117,
-252,184,235,141,227,199,153,219,167, 79,191, 20,202,229, 59,204,190,134,180, 36,178, 51, 94,162,107,215,174,120,240,224, 1,186,
-118,237, 90,159, 52, 65, 32, 16,128,207,231,131,207,231,195,217,193,172, 16, 10,150, 36, 73,220,184,113, 3, 52, 77, 67,163,209,
- 64,163,209,160, 99,199,142,165, 87,175, 94,181, 6,128,140,140, 12,118,242,228,201,229,119,238,220, 65,231,206,198,215, 83,119,
-115,115,187,206,225,112, 90,215,255,174,164,164,196, 97,244,232,209, 40, 43, 43,123,123,244,232,209,189,107,239,223,188, 35, 71,
-142, 76, 6, 0,129, 64, 0,146, 36,105, 88,240,183,135, 41, 46, 82,159, 40, 53, 38, 92,209,209,209,145,141,191,171, 79,170,154,
-250, 92,255,183, 49, 49, 49,107,235,217, 86,190, 65,241, 77,199,104,197,197,197,177, 77, 48, 72,179, 97,138,104,213, 33, 33, 33,
- 65,235,233,233,249, 83,250,195,172,129,190,193, 62, 16, 75,132, 67, 0,124, 47, 20, 10,231, 77,153, 50, 5,183,111,223, 70, 82,
- 82,210, 47,248,147,179,112,130,130,130, 46, 8,133, 66,111, 3,110,146,236,164,164,164,161, 6, 58,134,229,167, 79,159,134,177,
- 96,248, 43, 87,174,212,239,148,234, 7,195, 55,125, 97, 48, 44,180,148, 22,213, 10,229,171, 78,188,150,104, 85, 87, 87, 99,252,
-248,241, 13, 20,173,162,162, 34,147,231, 71, 16, 4,214,159, 60,137,139,177,177,120, 59, 36, 4,199,238,222, 69,204,148,137,240,
-247,110, 1,150, 38,192, 18, 64,206,129, 31, 80, 82, 89,133,253,151,111,160, 84,174,192,164, 62,125,224,103,235,108,220, 46,143,
- 63, 56, 52, 44,156,127,233,102, 10,120, 60, 46, 72, 48, 96,181, 10,120, 6,244, 3,135, 36, 97,231,214, 6,124, 30, 15, 60, 30,
- 23, 25,185,197, 8, 8,234, 46,136, 19,136, 6,191, 9,209,106,229,221, 6, 52, 77, 99,234,212,169, 56,120,240, 32,156,220,189,
- 97,215, 42, 8,171, 55,238,196,219,131,250,152, 60,255,186, 17, 60,151,203, 5,135,195,121,237,189,238,179, 57,234, 36,203,176,
-160, 26,183, 17,195, 2, 44,139,150,107,214,160,229,154, 53,184, 91,251,159, 29,171,171,161, 84, 42,129, 30,129,205, 34, 89, 26,
-141, 6,185,185,185, 84, 65, 65,129, 91, 19,251, 11, 53, 26,141, 73, 98,179,123,247,238,196,105,211,166,117,115,116,116,188,159,
-248,232,145, 54, 56, 36,132,119,110,251,226, 19,117,110, 67, 0, 8, 9, 9, 41, 93,188,120,241,137,201,227, 34, 71,110,139,250,
- 7,253,233,202,189, 92,161, 88,220, 45,114,193,238,196, 3,227,198,153,246,247,168,213,153,193,193,193,172, 57,231,165, 80, 40,
- 10,140,236, 30, 1,224,235, 46, 93,186,216,246,239,223, 31,215,175, 95,199,152, 49, 99,212, 20, 69,165, 3,192,240,225,195,219,
-239,223,191, 95,144,146,146, 2, 23, 23, 23, 94,118,118,246, 46,152, 8,144, 23, 8, 4,253,186,119,239, 78,170,213,234,215, 72,
- 86, 76, 76, 12, 38, 76,152,128,246,237,219,131, 97, 24, 84, 85, 85,161,127,255,254,188, 45, 91,182,244, 51,147,104,205,241,247,
-247, 95,143,154, 89,135,245,159,133,169,168,113,107,161,164,164,164,224,225,157,203,201,125, 6,141,238,214,186, 93,144, 71, 82,
-226, 3,163, 6, 93, 93, 93, 23,145, 36,249, 30,195, 48,156,202,202,202,220,135, 26, 77,187,142,222,222,110,189, 70,142, 68, 5,
-143,199,249,238,242,101,178, 80, 46,183, 6, 96,150, 11, 82,165,173,134,183, 79, 77,168,223,152,241, 35,241,224,193, 3,140,253,
-199, 40,240,249,124,112,185,188,154,123,147, 95,163,104,217, 59,219,154,117,109,106,181, 90,253, 51,188, 46,206,139,162, 40,212,
-133,102, 89, 89, 89,233,247,169,213,106, 16, 4, 97,236,218,240, 59,188,114,153,171,216,214, 14,180, 86,139,192,145, 99,245,215,
-244,157,159,183,137,193, 48,226,242,236, 76,204,138, 61,205,131, 5, 22, 24, 80,181,140,113,145,250, 68,233,207,130, 32,136,184,
-168,168,168,197, 0,216,168,168,168,197,117,219,209,209,209, 74, 0,121,111, 72,182, 94, 83,185,184,127, 5,201,170,115, 47, 24,
- 67,255,254,253,103,217,216,216,108,169,219,206,189,157,135,220,219,121, 8,232, 16,216,171, 75, 72,183,138, 9, 19, 38,192,201,
-201, 9, 11, 22, 44, 96, 1,252,210,220,255,207, 72, 75,182, 6,192,122,120,120, 44,168,125, 32,135,220,189,123,215,229,222,189,
-123,232,222,189,251, 43,233,158,162,208,187,119,111, 99,166,228,181, 65,237,115,255, 58,149,140, 1, 69, 81, 80, 40,148,208,104,
- 40,232,180, 12,116, 58, 29,186, 6,218, 96,239,206,168,154,239,116,117,234, 89,141,106,214,210,221, 6, 54,214, 60, 45, 73, 18,
-202,251,137, 5, 77, 62, 49, 53, 26, 13, 18,179,179,241, 40, 43, 11, 0,240, 78,180,241,192,215,189,151,175,163, 99,199,142,166,
- 74,235,219,210,211, 29,249, 23, 19,107, 30,222,202, 92,220,251,227, 48,108,108,172, 1, 0,129, 17,147,192,231,215, 16,173,106,
- 37, 5,231, 14,173, 64,176,172,193,180, 0, 86, 14,238, 23,184,124,145, 55, 75, 51, 96, 89, 6, 44, 67,131,101, 25,112,120,124,
-171, 89,159,124, 0,134,161, 17, 26, 26, 10,130,195, 1,173, 85, 99,220,136,193, 40,171,144,195,201,222,188, 78,130,207,231, 35,
- 34, 34, 66,108,104,255,179,103,207,148,245,137,153,241, 54,210,162,186, 90, 9,181, 90, 13, 74,163, 3,165,213,129,110,203,199,
-170,165, 19,161,163,116, 80,252, 35, 28,148, 86, 7,230,243, 81,160, 52, 90,228, 88,145,100,112,128,179,150, 4,161,124,152, 42,
-179, 53, 69,180,234,200,129, 33, 52, 21, 19,104,128,108, 61,154, 54,109, 90,215,224,144,144, 7,239, 13, 10,217,240, 56, 41, 57,
-255,113, 82,242,107,199,121,183, 15,201,252, 52,230,224,124, 30, 95,220, 53,114,129,241, 89,135,245, 81,223,141,248, 39,177, 88,
- 46,151, 7, 91, 91, 91, 35, 45, 45, 13, 28, 14, 7, 4, 65, 60, 3, 16, 12, 0, 30, 30, 30,207,185, 92,174, 15,135,195,193,214,
-173, 91, 9, 46,151,219, 41, 60, 60,124,177, 74,165, 58,108,100, 64, 23, 96, 99, 99,211, 64,205,226,243,249,136,138,138,194,228,
-201,147,245, 36,139,207,231, 99,247,238,221,232,214,173, 27, 52, 26, 77,128,153,229,189, 7,160,143, 25,138, 31, 81, 75,206, 77,
-146, 81,157, 78, 55,173,228,189,247,218, 33, 62, 30,189,124,124, 58,118,237,218, 21, 20,245, 74,208,244,241,241,105, 37,151,203,
- 11,148, 74,229,191, 80,147,218,224,161, 81, 82,164, 98,144,157, 81, 19,126,250,224,193, 3,132,134,134,234, 21,172,250,106, 22,
-159,207,135, 88, 96,221, 44,162,197, 48, 53,207, 37,185, 92, 78,198,199,199, 59,251,251,251, 19, 0,224,239,239, 79, 60,124,248,
-208,209,202,202,170,216,215,215,215,228, 0, 88,108,107,135,221,211,198, 3, 0,190, 26, 52, 76, 63, 48, 58,255,245, 98,240,120,
- 60, 12, 92,176,248,181,235,158, 97, 24, 14, 44,176,144, 44, 51,184,200, 95, 69,178, 26, 43, 90,209,209,209,201,209,209,209,175,
-169, 99,205,132,105, 69,171,190,116,215, 92,212,221,172,134,176,113,227, 70,116,234,212,201,104, 71,180,101,203, 22,236,219,183,
-111, 35,128,140,102, 75,142, 3,187, 4, 98,211,241,100,159,246,129, 4, 0,172,252,124, 4, 89, 93, 93,141, 27, 55,110,192,206,
-206, 14,207,158,153,157,246,203,198,206,206,238,107,146, 36,199,113, 26,207, 0,104,154, 96,210, 12,195,196, 86, 84, 84, 24, 76,
-239,192,178, 0,165,213,161, 90,161,130, 70,163,193,231, 95,254, 96,178, 16,209, 0, 65,105,228,220,136,190,225, 98, 67,138, 78,
-104,167,126,248,108,138,245,107,157, 55,135, 4, 72, 18,232, 28, 90,163,184, 60,188,155, 12,134, 1,104, 6,112,118,117,192, 47,
- 7, 54, 24, 37,249, 58,154,169, 29, 29,211,168, 82,211, 8, 8,139,196,203,212,120,189,130, 36,224,215,184,140,249, 60, 30, 24,
-150,168,201,250, 96,136, 8, 9,196,222,101,210, 12,191,157,113,143,241,113,100, 39, 28,185,148,136,177,131,130,113,245, 78, 10,
-250,247,232,136,228,244, 44, 4,250,181,198,214, 93,177, 96, 89,200,127,220,180,186,224, 85,135,166,203, 54, 71,209,186,125,251,
-182,178,177,138, 85,255,157, 53,221, 31,130,101, 95, 41, 90, 74,149, 26, 11, 22,153,149,206,167,166,141,250,132,137,205, 57,216,
-152, 98,101, 14, 17,107,172,108,193, 68,122,150,182, 0,186, 1, 11,255,147, 15, 78,154,166,113,230,204, 25,125,123, 52,213,142,
-245,219,206, 12,146,131,236,236,108, 36, 39, 39, 35, 44, 44, 12, 21, 21, 21,224,145, 36,230, 63,126,140,142, 83,166, 64,195,231,
-131, 97, 24, 8, 4, 2,204,152, 49,195,236,250,108,230,211,185, 54,152,155, 54,101,124, 67,120,120,120,187,180,234,106, 36, 63,
-121,130, 65, 43, 86, 0, 0,206,158, 61,219,224,154,152, 55,111,158, 32, 37, 37,229,195,251,247,239,127,152,159,159,191, 17,192,
-124,131,207, 89, 86,173,143,209,122,111,226, 24,180,243,111,139,125,191, 30,208,239,159,247,197, 28,240,120,124,240,248, 60,216,
-219,217,155,117, 54, 90,173, 86, 79, 90, 21, 10, 5,121,246,236,217,150,131, 7, 15,230,207,153, 51,135, 0,128,125,251,246,145,
-223,127,255,189,228,226,197,139,252, 22, 45, 90, 72, 77,146, 75,138,122,173,141, 9,130, 0,143,199, 3, 95,192, 7, 24, 6, 4,
- 65, 72,214,173, 91,183, 50, 57, 57,185,187,191,191, 63,212,106,245, 20,212, 76,212,176,228,209,178,144, 45,163, 92,164,169, 88,
-171, 90, 85,202, 16,100,245,227,182, 12, 17,181,250, 49, 91,120,179, 73, 25,230,197,104, 53, 5, 14,135, 99, 82,173, 34, 73,210,
-164,235,112,222,188,121,176,177,177, 49,212, 1,177,143, 31, 63, 78,145, 74,165, 59, 1,252,240, 70,141,115, 57, 33,249,235,185,
-163,228,168,245,173,218,219,219, 23, 15, 24, 48,160, 10, 0,117,248,112,195, 1,178, 90,173, 54,216,129,219,217,217,125,253,243,
-207, 63,207, 30, 57,114, 36,217, 56,197, 64,125,247, 94,221, 75,171,213,226,240,225,195,179, 23, 46, 92,136,138,138,138,185,198,
- 58,113, 69,181, 18,202,218, 64,232,231, 73, 71,204,125,168, 27,220,101,109,239,129,150,109,131, 13,118, 38, 36,191, 38,134,200,
-205,235, 85, 7,102, 99, 35, 2,109,196, 38, 65,144, 25, 89, 57,249, 45, 90,185, 59,226,121,174, 12,110,173, 59,161, 44,239, 85,
- 61,112,185, 28,240,106, 93,135,246,182, 18,200,138,138, 64,146, 28,163,196,120,245,254, 4,220, 73,202,194,209, 75, 15, 65,169,
-170,177,105,207,121, 80,234, 42, 80,170,106, 80,170,154,247,181, 11, 63, 2, 65,160, 64,171,174,110,223,156,118,231,114,185,232,
-209,163,135, 65,162,147,151,151,103,166,162,197,234, 21, 45,165,170,153,109,100,222,200,201,168, 98, 85,183,255, 77,137, 65, 93,
-202, 7,177, 88,220,109,247,110,195,105, 28,154,130,187,187,251, 57,107,107,235, 54,230, 30,223,140,228,165,107,237,237,237,191,
-246,247,247, 15,216,180,105, 19,143,195,225, 96,224,192,129,237,221,221,221,179, 1, 32, 48, 48,208,179,238, 25,243,233,167,159,
-178,183,111,223, 78,170, 25, 99, 24,134, 64, 32,120, 98,103,103,215,173,127,255,254,168,168,168, 64,110,110, 46, 36, 18, 9, 58,
-110,216,128,199,159,126,138,144,237,219, 65, 14, 24, 0,130, 32, 32, 16, 8,240,248,241, 99,136,197,226, 39, 42,149,193,148,111,
- 61, 0,124, 11,160, 23, 94,185, 11, 89, 0, 55, 80,147,118,225, 78, 19,207, 59, 18, 0,104,134, 49,213, 88, 19, 23, 44, 88,128,
-114, 30, 15, 24, 62, 28,252,140, 12, 80, 20,133,176,176, 48,189,202, 30, 22, 22, 6, 46,151,139,224,224, 96,120,122,122, 98,235,
-214,173, 19,141, 17, 45, 85, 21,133,236,140,151, 8, 15, 15,215, 43, 87,195,135, 15,215, 43, 90, 60, 30, 79,175,108, 17,180,105,
-226, 74, 16, 4, 91,127,144, 76,211, 52,193,229,114,185,115,231,206, 37,198,140, 25,195,106, 52, 26, 70, 32, 16,144, 71,143, 30,
- 37,174, 94,189,202,173,174,174, 54, 57, 16, 15, 26, 53, 14, 95, 13,126,171,230,222,111,227, 2, 30,159, 7, 1,159,143, 5, 79,
- 94,234,219,197,118,247, 65, 65, 76, 76,204, 88,127,127,255, 26, 55, 60,192,181,228,209,178,192,132,208, 35,107, 68,146, 52,245,
-182,101, 0,136,218,109, 89, 61, 66, 37, 35, 8,226, 30,203,178,221, 27, 29, 91,183, 95,211,232,189,110,255,163, 55, 40,126,221,
- 90,135,175,145, 47, 99, 35,226,244, 91,183,110,249,117,237,218, 21, 57, 57, 57,175,205,132,171,235,184, 36, 18, 9,196, 98, 49,
-110,222,188, 9, 0,233,134,140, 93,189,122,245,123,212,100, 93,174, 41,145,135, 71,120,255,247,250,221, 12, 29,214, 29,251,163,
- 15, 84, 72,165,210, 96,188,202,161, 67,120,122,122, 78,230, 9,184,227,125,130,188, 34,192, 48,223, 94, 62,125, 99,133,177, 51,
-244,105, 31, 88, 5, 64, 89, 55,235,240, 13,103, 31,130, 36,201,113, 35, 71,142, 36, 83, 82, 82, 48,126,252,120,236,219,183,207,
-224,177,147, 39, 79,198,193,131, 7, 49,114,228, 72,114,209,162, 69, 6,211, 59, 52, 84, 75, 52,127,217, 69,153,246,236, 17,246,
- 30,252,217, 96, 12,146,171,107, 77, 60, 86, 81, 81,177,254,187,238, 93,141,123, 70, 24,157,230, 98,194,253,187,225, 61,251, 14,
-228,231, 22,150,131,209,169,161,146,191,250,189,162,188, 16,172, 78, 5,190,149, 35,220,157,237,240,224,214,111, 26, 74,163,186,
-104,204,230,236,145,129,248,116, 68, 0,192, 50, 24, 53,255, 23,196,253, 48, 75, 63,130,238, 61,102, 14, 46, 31,254,206,236, 24,
-191,198,224,241,120,120,252,248,177,210,144,154,197,225,112,204,201,201, 85,171, 58,106,161, 80, 40,161, 80,170,254,202,103,135,
-139,155,155,219,143, 14, 14, 14, 34, 3, 68,202,197,197,197,229, 71, 39, 39, 39,145,185,174, 67, 67, 36,171, 54,175,214,253,105,
-211,166, 53,139,108, 9,133,194, 54,233,233,233,250,100,165,198,222, 53, 26, 13,250,247,239,111,110,242,210,211, 0, 94,120,120,
-120,220,232,216,177,163,221,243,231,207,113,224,192, 1, 62,143,199,243,170,123,126,200,229,114,112, 56, 28, 20, 21, 21,105, 1,
-124, 0, 19,174, 51,181, 90, 29, 31, 31, 31,223,121,196,136, 17,156, 39, 79,158,128,195,225,212,148, 43, 60, 28, 33,219,183, 35,
-105,238, 92, 68,100,101, 65, 69, 81, 16,137, 68,184,112,225, 2,165, 80, 40,226, 13,217, 19,139,197, 59, 51, 51, 51, 3, 69, 34,
- 17, 40,138, 2,195, 48, 32, 73,146,224,114,185,189,237,237,237,183, 0,232,222,168,177, 92, 67,186,247,239, 64,235,116,180, 52,
-231,185,204, 84, 5,148,148,148,224,244,233,211, 8, 11, 11, 67, 68, 68, 4,242,242,242,144,145,145,129,183,223,126, 91,127,204,
-163, 71,143,144,144,144, 0, 95, 95, 95,211,138, 30,169,133,111,135, 54,224,243,249, 53, 10, 17,143, 95, 59,240,225,233,149, 44,
- 62,143, 15, 30,151, 7,145, 88,100,182,162, 69, 16, 4, 72,146, 4, 65, 16, 16,139,197,117,131,108,166,101,203,150,210,210,210,
- 82, 15, 0, 13, 3, 10, 12, 0, 0, 32, 0, 73, 68, 65, 84, 28,177, 88, 12,154,166,205, 26,180,212,245, 17,117, 36,139, 47,224,
-235,149, 45, 0, 40, 47, 47, 87,141, 28, 57,242, 95,106,181,250,125,188,217, 10, 37, 22,252,205, 64, 16,196,189,255,196,111,155,
-129,225,181,196,234,181,160,120, 99, 23,248,219, 61,123,246,220, 62, 97,194,132,129,155, 55,111,134,181,181, 53,164, 82,169,190,
- 67, 20, 8, 4,104,213,170, 21, 74, 75, 75,177, 99,199, 14,188,124,249,242, 10,128, 25,230,150, 72, 42,149,222,126,246, 48,189,
-164,255,216,158, 78,129, 61, 59,216,231,166,191, 12,147, 74,165, 55,107, 73,214, 47, 19,230,189,253,126,255,209,161,224, 11,120,
-200,125, 86,128,203,167,111,252,127,105, 76, 14,135,195, 33, 8, 2,227,199,143, 55,235,248,127,252,227, 31,136,143,143,135, 49,
- 55, 35, 83,167,104, 41, 84,168, 86,254,117,131,181,207,102, 77,198,103,179, 38,235,201,132, 57,174, 23, 0,240,244, 60,100,132,
-104, 81,155,227, 14,237,248,184, 75,104,184,119,183,192, 54,184,115,255, 33,246,111,127, 37, 50,236,250,126, 37,190,217,117, 5,
-173,220, 28, 64,169,171,113,238,200, 79, 5,148, 90,177,249, 13, 69,185, 26,114, 75, 16, 96, 89,166, 89,231, 94, 71,158,120, 60,
- 30,130,130,130, 12, 42, 90,165,165,165, 74, 83, 29,131,190,141, 52, 90, 84, 85, 43,161, 84,252,101, 68, 43,164,119,239,222, 23,
- 99, 99, 99,157, 92, 93, 93,145,159,159,223,152,104,133,244,234,213,235, 98,108,108,172,147,155,155, 27,114,115,115,205, 78, 43,
-210, 4,201,130, 76, 38, 35,202,202,202, 24, 7, 7,135,102,145, 45,146, 36,161, 86,171,145,154,154,106,238,223,154, 61, 67,204,
-206,206,110,247,193,131, 7,237,138,139,139,193,225,112,144,154,154,218, 96,214, 97,221,235,151, 95,126,225,143, 26, 53,234,231,
-242,242,114,163,211,218,116, 58,221,198,201,147, 39,127,152,151,151,231,224,234,234, 10,169, 84, 10,129, 64, 0,150,101, 65,244,
-239,143, 62, 47, 94,128,162,105,136,197, 98,164,165,165, 97,231,206,157,213,181,169, 98,154, 20,200, 8,130,240,227,243,249,152,
- 52,105, 82,131, 29,123,246,236,193, 59,221, 56,221, 92,236,184, 85, 58,136,212,133,226,183,206,113, 56, 28, 34,164,199,128,246,
- 61,250, 14, 15,122,154,116,231,185,172,240,165,169,135,146, 86,163,209,192,223,223, 31,247,238,221,195,165, 75,151, 48, 96,192,
- 0, 68, 68, 68, 32, 49, 49, 17,191,253,246, 27, 18, 18, 18, 64, 16, 4,156,156,156,234,194, 47,140,198, 96,104, 20, 58, 20,229,
-151,188,166, 94, 53,222,230,243,249, 80, 43, 41,179,218,232,201,147, 39,184,119,239,158, 62,181, 12,135,195,209, 77,153, 50, 5,
- 44,203,178,153,153,153,176,177,177, 97,167, 77,155, 70,115,185, 92, 93, 94,158,121,241,193,117,164,170,142,100,113,249,188, 6,
- 4,141, 97, 24,121, 98, 98,226,199, 0, 18,107,149, 44,192,146, 71,203,130,255,219, 56,131,215, 23,150, 54,169,104,189, 0, 48,
-232,192,129, 3, 19, 79,156, 56,177,113,203,150, 45, 46,145,145,145, 40, 43, 43,131,183,183, 55, 60, 60, 60, 16, 23, 23,135,179,
-103,207, 22,211, 52, 61, 31, 64, 83,210,207, 32, 24,201, 89,147,247, 92, 26,171,174,170,250,180,107, 68, 0,174, 28,254, 61,218,
-221,221,125, 6,135,195,249,124,218,226,119,223,239, 55,178, 59,210, 18, 50,113,251,183,199, 40,204, 41, 54,105,179,113, 48,188,
-189,189,253,135, 86, 86, 86, 2, 0, 84, 19,163,226,198,179, 14,245, 54,105,154,166, 53, 26, 13, 14, 29, 58,100, 22,217, 58,112,
-224, 0, 84, 42, 21,232,215,253,171,122,155, 44,195, 18, 92,158, 16,158,173,252, 65, 81,213, 96,152, 55,158, 80,169,183, 89, 55,
- 2,125, 46, 16,192,181,184, 24,119,238,220, 49,143,114, 15, 31,110,170,141, 84, 26,149,124,210,119,107, 22,196,205,140,250,214,
-126, 64,207,206,248,106,195, 30, 80,212, 46,144, 28, 18, 98, 33, 31, 93, 67,123,129, 3, 53,126,140,249,162, 92, 81, 89, 54, 9,
-175, 47,197,211,192, 38,107,204,195,194, 2, 52,195,224,210,245,187,102,159,187,190,183,167,105,112,185, 92, 60,123,246, 76,217,
-212,108, 67, 14,167,198,205, 89, 55, 82, 55,102,147,101, 24,130,199, 23,161,149,119, 71,104,212, 85,127, 73, 27,185,186,186,126,
-113,252,248,113,167,186, 84, 9,137,137,137, 32, 8, 34,245,149,226, 88,179, 95,169, 84, 34, 41, 41, 9,137,137,137, 64,205, 12,
- 55,179,239,163, 58, 37, 75, 38,147, 17, 82,169, 20, 86, 86, 86,100, 98, 98,162, 58, 56, 56,248,190,137,251, 91,111, 83,165, 82,
-101, 25,138,159, 84,169, 84, 45, 68, 34, 17,175, 81, 39,234,217,174, 93,187,180, 38, 92,136,175,149,179,162,162,226,206,194,133,
- 11,187, 14, 27, 54, 12, 95,124,241, 69,169,131,131,131,205,143, 63,254,200,229,112, 56,196,204,153, 51,233,162,162,162,170,159,
-126,250,201,238,196,137, 19, 40, 47, 47,191,105,198,185,203, 85, 42,213,199, 61,123,246,220,115,254,252,121, 43, 63, 63, 63, 84,
- 86, 86,130,101, 89,236,222,189, 27, 51,103,206,132, 72, 36, 66, 90, 90, 26,222,121,231, 29,133, 66,161,248, 24,175,199, 78,214,
-217, 36, 8,130, 96, 25,134,193,178,101,203,244,201, 73,235,146,149,218,136, 9,236,156,215, 86, 50,231,167, 10,201,196,175,126,
-154, 2, 0,180, 78, 71, 63, 77,186,243,124,247, 15, 95, 93,229,243,249,215, 77,180,209,146, 57,115,230,252, 56,124,248,112,177,
-181,181, 53, 74, 75, 75,113,227,198, 13,220,186,117, 11,183,111,223,134, 70,163,129,147,147, 19, 28, 28, 28, 32,149, 74,241,228,
-201, 19, 37,128, 37,198,108, 10,172,120,240,105, 95, 55,243,183, 70,193,226,213,155,109, 88, 95,221,226,243,120,102,221, 71,125,
-251,246, 69,143, 30, 61,234, 8, 16,157,157,157, 45, 85,171,213, 68, 61,210,159, 87, 71,200,189,188,188,116,251,246,237, 99,141,
-217,188,189,115, 43,206,175, 90, 2, 1,159,143,249,169,185,122,210,181,103, 64, 23,240, 4,124, 4,140, 24, 83,255,183,219, 80,
-227, 46, 68, 35,146,101,172,239,248,211,247,166,197,230,127,173,205,255,203,144,226, 13,150,224,169,195,126,149, 74,117,238,163,
-143, 62,138, 9, 9, 9,249,104,211,166, 77, 4,159,207,199,138, 21, 43,216,252,252,252, 95,107, 71, 33,101,111, 82, 42,150,101,
-127,189,118,236,230, 39, 83,163, 70, 18,243, 54, 79,235,125,255,114,210,147, 78, 61,253,208,169,167, 31,238, 95, 73,193, 15,139,
- 15,236,163,181,244,178,130,130,130, 28, 19,166,212,131,122,117,104, 28, 12,239, 20,127,245,178, 83,115,103, 29, 50, 12, 19,123,
-224,192,129,217,163, 71,143, 38,239,222,189,251, 90, 76, 86,221,178, 59, 12,195,224,226,197,139,160, 40, 10,191,254,250, 43,195,
- 48,140,225, 60, 90, 96, 79,126,183, 57,102,234,175,123, 79, 10, 4,124, 2,183,174, 31, 69, 69,153,241, 89, 93,124, 62, 15,191,
-236, 62, 70,241,249,188,167, 77,237,167, 40, 42,247,242,229,203,110, 67,105,154, 71,146,100, 83, 4,170, 73,196,198,198,106, 25,
-134,201, 54,113,216,205,194,151, 57, 35, 86,127,241,193,129,225,239,125,228,214,179,103,111,158,179,171, 27, 8,130, 64, 81, 97,
- 17,210,146,238,106,207, 29,253,185,176, 90, 97,222, 18, 60, 31,172,191,166,143,201, 2,128,200,153, 91,244,241, 89, 0, 48, 98,
-218, 66,244, 15, 11, 4, 97,142,244,244,138,100, 49, 58,157, 14, 18,137, 4, 58,157,174,201, 20, 15,118,118,118, 98,149, 74,165,
-172, 77,196,104, 84, 42, 98,129,191,188,141,104,154, 14, 40, 43, 43, 67,117,117, 53,110,221,186,197,174, 89,179, 70, 38,147,201,
-244, 65,155, 90,173, 54,160,180,180, 20, 85, 85, 85,184,121,243, 38, 27, 19, 19, 35, 43, 41, 41, 89,220,156,123, 72, 44, 22,119,
-227,114,185,247,203,202,202, 24, 43, 43, 43, 82,171,213,106,131,131,131,133, 98,177,216,236, 5,213,165, 82,233, 48, 67,251,124,
-124,124,210,211,211,211,219,209, 52, 93,127, 13, 68,190, 74,165,242,235,217,179,167, 57,207,143, 57,187,118,237,194,177, 99,199,
- 66, 43, 43, 43, 39,103,103,103,239, 1, 16,202,229,114,241,240,225,195, 84,149, 74, 53, 97,244,232,209,187,203,202,202,238,160,
-102, 9, 30,115,112, 62, 45, 45,109, 82, 64, 64,192,174,175,191,254,218, 58, 34, 34,130,235,233,233,137,238,221,187, 35, 45, 45,
- 13,103,206,156,209,110,219,182,173, 90,161, 80,124, 0,224,162,241,102, 7,161,211,233, 32, 16, 8,244, 47,161, 80, 8, 62,159,
- 15,185,146,197,244, 13, 25, 74, 29,196,202,141, 43, 62, 62,195, 2, 68, 65,110, 70,113, 81, 65,238, 29,130, 32,174, 75,165,210,
- 10, 3,117, 38, 80,169, 84,157, 89,150,229, 16, 4,177,153,162,168,105,179,102,205,242, 88,187,118, 45, 58,116,232,128,226,226,
- 98, 72, 36, 18,248,249,249, 65, 38,147,225,238,221,187,180, 66,161,216, 14, 96, 37,106,227, 71, 12,161,188,184, 18, 45,221,189,
- 26, 40,159, 44,203,130,165, 1,173,154, 6, 77,177,208, 16, 90,240,120, 90,240,249,124,115,148, 39,150, 97, 24,148,121,120,128,
- 73, 74,194,237,219,183,193,178,172, 65, 85,205,223,223,223,140, 7, 59, 3,129, 80,208,192, 93, 72, 16, 4,248, 2, 1,120, 2,
-126, 83, 51,103, 44, 42,150, 5,255,211, 48,215, 55, 94, 14, 96,198,163, 71,143,246,244,235,215, 47,142,101, 89, 30,106,252,145,
-191,255,153, 63, 47, 40, 40,120,112,243,204,131, 69,110, 45, 29, 98,222,154,220, 27, 29, 58,123,131,214,209,184,113,246, 33,126,
- 93,123,226, 96, 94,110,222, 52,152,177,246, 25,195, 48, 87,123,117,235, 64,162, 94,174,110, 79, 79, 79,230, 77,102, 29, 86, 84,
- 84, 44,159, 63,127, 62,190,248,226,139, 55,153,117,216, 36, 30, 63,145,205, 32,192,182, 28,241, 86,159,161, 32, 72, 86,163, 81,
- 27,121,240, 65,159,185,148,207,231, 61,189,151, 40, 13,110,234, 56,153, 76, 54,244,253,247,223,191,200,229,114,219, 52,167,206,
- 25,134,201, 46, 44, 44, 28,104,250, 72,221, 13,181,178,210,239,244,193, 29,115,207, 31,219, 53,148, 97,104, 95, 2, 0,135,203,
-127,174,165,168, 11,106,101,229, 38,152,185,168,244,186, 25,225,152,243,221,111,216,250,197, 8,204,138, 57,140,159,151, 77,199,
-162, 13, 7,240,237, 23,115,176,102,203,191,240,213,156, 73, 24, 59,241,125,134, 37,200, 63,204, 61, 15, 14,135,115,126,199,142,
- 29, 83,167, 79,159,174,159,180,192,178,108,131, 7,187, 86,171, 85, 50, 12,131,237,219,183, 51, 0,206, 27,179,215,176,141, 8,
-214, 88,188,148,185,109, 84, 89, 89,249, 65,120,120,248,110, 0, 66,150,101,159,149,149,149,253, 19,120,181, 52, 84, 85, 85,213,
- 7, 61,123,246,220,205,178,172,144, 32,136,215,246,155,131,218, 84, 15,221, 28, 28, 28,238,215, 42, 89,194, 55, 9,136, 55, 86,
-213, 70,220,138,230,184, 16, 25, 0,179,234,101,124, 95, 27, 26, 26, 90,127, 81,233,212,178,178,178,110,111, 80,174,139, 74,165,
- 50,112,217,178,101,115, 69, 34, 81,127,133, 66,209, 30, 0, 36, 18, 73,154, 90,173,190,170, 84, 42, 55,193,116,110, 42, 13,195,
- 48,105, 58,157, 46,200,197,197,165,102, 70,109, 45,217, 2,128, 83,247,233,251, 0,221,189, 70, 20,223,111,118,193,206,158, 61,
-219,218,193,193, 97, 8, 65, 16, 99, 89,150,245,151,203,229,234,101,203,150,221,140,141,141,173,104,211,166,205, 91,195,135, 15,
- 39, 28, 29, 29,113,239,222, 61,182,164,164,228, 40,128,197, 48, 99,166, 53,195, 48,217,235,214,173, 67,115,239,119, 99,251, 41,
-138, 42, 56,123,246,172,243,176,162, 34, 46,195, 48, 24, 49, 98, 68, 3, 2,215, 24, 79,159, 62,133, 90,173, 54,154,204, 81, 93,
- 81,134, 1,115, 23, 2,181,179, 63,235, 80,163,100,177, 96, 53, 22, 94,101,193,223, 11,255,238, 5, 61,205,146, 22, 61, 60, 60,
-198,139, 36,194,207,188,219,123, 4,231,103, 20,165,200, 43, 20,251,164, 82,233, 14, 3, 15,114,179,108, 54, 51, 97,169, 69,254,
-253, 55,217,124,149, 71,139, 6,203,210, 96, 25, 22, 44,203,128, 97,232,154, 5,175, 89, 6, 44, 77, 19, 4,129, 63, 52, 74,163,
-153,193, 27,151,211,193,217,217,121, 37,203,178,195, 56, 28, 14, 89, 95, 12,171,255,185, 86,201, 58, 47,147,201,190,106, 66,121,
-253, 63, 87,159,177,177,177, 77,146,127,115,103, 29,142, 27, 55,142,110,230,189,121, 85, 34,145,120, 52,181,175,186,186, 58, 71,
- 42,149, 14,249, 47,169,207,250, 51, 6,155, 99,179,217,179, 14, 77,217,244,246,246, 22, 82, 20,213, 5,128, 31, 65, 16,246, 0,
- 74, 41,138,186, 80, 92, 92, 92, 8,160, 27,128,101,181,191, 89, 5,224,254,127,248,126, 23, 59, 59, 59,239, 34, 73,178,165, 57,
- 63,214,233,116,154,210,210,210,169,141, 6, 4,122,155, 78, 78, 78,247,185, 92,110, 75, 51,236,188, 44, 41, 41,233,102,121,126,
- 90,108,254, 15,161,113, 16,188,193, 76,241,255, 14,162,101,177,105,177,105,177,105,177,105,177,105,177,105,177,105,177,249,191,
- 78,180,154,220,182, 76,171,181,192, 2, 11, 44,176,192, 2, 11, 44,248,115, 56,211,136,108,157,169,251, 64, 24, 97,165,205,145,
- 4,223,132,217, 94,178,216,180,216,180,216,180,216,180,216,180,216,180,216,252,219,217,180,224, 47,132, 69, 86,181,216,180,216,
-180,216,180,216,180,216,180,216,180,216,252, 95,135, 65,215, 33,105,169, 27, 11, 44,176,192, 2, 11, 44,176,192,130,127, 15,204,
- 38, 90, 18, 55,255, 0,103,239,224,221, 14, 45, 59, 37, 58,180,236,148,232,236, 29,188, 91,226,230, 31,240, 55,173, 55, 49,128,
-137, 92, 46,247,162,187,187,123, 37, 12, 44,189,243, 63, 0, 91, 0, 99, 81,147,223,103, 20, 0,171,191,210,120, 4,192, 29, 15,
-124, 54, 5,200,153, 2,228,140, 7, 62,139,248, 31,140, 27, 92, 49,219, 35,252,250,185,137,231, 86,204,246, 8,111,114,255,124,
- 15,167,219,191,141,251,110,237,103,158,142,127,209, 95,218,184,186,186,238,116,115,115,203,114,117,117,205,118,117,117,221, 5,
-192,206,242,184,179,192, 2, 11, 44,248,183,161, 46, 70,171,238,165,143,209,226, 2, 64, 92, 92, 92, 4,128,107, 0,250, 69, 70,
- 70,198, 55,254,181,131, 87,208,116,223,182,190, 95,172, 94,177,152,112,119,117,182,210,209, 12,149,153,149,219,113,249,234,152,
- 35,249, 2,238,198,178,156,164,159,223,160, 80, 4,135,195, 25, 47, 20, 10, 35, 1,212, 17,182, 84,181, 90, 29, 71,211,244, 33,
-152, 55, 77, 27,110,110,110,215, 57, 28, 78,235,230,252, 49, 77,211, 57,133,133,133,189,223,176, 50,199,121,121,121,237,138,136,
-136,176, 10, 13, 13,133, 64, 32,192,178,101,203,230, 75,165,210, 77,230, 26,112,112,240,177,161,132,162,207,185, 2,193, 96, 86,
-171, 9, 98,193, 2,164, 48,137,209,169, 47,243,213,234,141,101,101, 25,114, 51, 77, 45, 6, 48,173,182,174,126, 6,176,238,207,
- 92, 37, 83, 59, 67,171,165,107,174, 9, 62, 23,244,201, 23,118,215,150, 44, 89,194,141,140,140,196,207, 63,255,220,123,231,206,
-157, 31,203,229,242,203, 0, 78, 1,120,254,103,175, 74, 55, 96, 70,207,222,189,191,155, 58,127, 62, 71,121,253, 58,190,219,181,
-107, 51,106,242, 45,109,109,238,181,196,231, 99,172,179, 51, 47,146,101,209,133, 0, 8, 2,120, 40, 43, 97,206, 82, 20,125, 8,
-102,228, 98, 51,130,137,104, 56, 29,127,127,115, 13, 84, 60,103,151, 10, 71, 4,244,169,120,126,117, 41,128,183, 26,239,215,169,
- 68, 83, 89, 78,171, 72, 37,155,144, 11, 96,195,159,172, 86, 43, 23, 23,151,196,147, 39, 79,182, 12, 13, 13,229, 2,192,253,251,
-247,167, 68, 70, 70, 14,144,201,100, 65, 0, 42,255, 67, 15, 33, 17,151, 36, 63, 19,240,120,131,105,154,238, 4, 0, 28, 14,231,
-177, 70,171,189,168, 99,152,173, 48, 51, 39,155, 5, 22, 88,240,191, 11, 83, 92,228,191, 28, 6, 51,195,215,157, 28, 91,255,189,
- 62, 36,174, 29, 58,134, 13, 28,243,180, 66,174, 80,101,101,229,149,205,251,108,205,197,143,231,172, 63,177,225,167,184,179,241,
-119, 82,111, 7,132, 14, 73,145,184,118,232,104,192,180, 33, 31,174,151, 88, 44,126,176,109,219, 54, 42, 45, 45,141, 45, 47, 47,
-103,159, 62,125,202, 30, 61,122,148,253,228,147, 79, 84, 98,177,248, 1, 0, 47,115,108,186,185,185, 21, 62,189,242, 27,251, 50,
- 49,129,205,190,127,135,213,106,181, 44, 69, 81, 44, 69, 81,108,202,249, 56, 54,241,212, 49,246,225,209, 67,172, 70,163, 97, 53,
- 26, 13,171, 86,171,217,182,109,219,230,155, 89,206,198,240, 12, 12, 12,212,196,197,197,177, 71,142, 28, 97,231,207,159,207,134,
-132,132,208, 0,102,154,123,238, 18, 87,191,254, 54, 45,130,101,211,163,182, 82,103,110, 94, 96,147, 95, 60,100,147, 95,164,179,
-177,151, 82,217,105, 11,182, 80, 54, 45, 66,100, 18, 87,191,254,166,206,221,193,193, 33,140, 32, 8,182, 14, 0,216,214,173, 91,
- 87,213,127,121,121,121, 53,120,181,106,213,170,170, 77,155, 54,207,157,156,156,186, 52,101,115, 66, 39,176,108,202,126,150, 77,
-217,207, 46,233, 11, 54, 57, 57,249, 54,203,178,215,234, 94, 74,165,242,218,241,227,199,175,189,251,238,187,215, 0,188, 99,164,
-158,204,170,207, 41, 64,142,252,228, 73,150,221,180,137,101, 35, 34,216, 84,128,157, 2,228, 52,211,102, 91,119,119,222,195,245,
-235, 62,214,156, 60,249, 43,123,238,220, 25,246,236,217, 56,246,196,241, 93,236,230, 77,159, 81,110,110,188, 36, 0,237,154, 97,
-147, 11, 96, 13,128,141,168, 81, 46,211,100, 50, 25, 91, 80, 80,192, 2, 72,171,253,110,163,139,139,203, 6, 52,173,190, 13,170,
-175,100,205, 29,230,126,238,189,183,122,179,242,138,124,246,189,183,122,179,115,135,185, 55, 80,182,134,249,248,216,204, 26,209,
- 73,150,124,127, 31, 61,107, 68, 39,217, 48, 31, 31,155, 55,172, 79, 2, 53,235,132,110,187,114,229,138,142,173, 7,173, 86,203,
-238,217,179,135,118,112,112,248,181, 25, 54,219,187,184,184,100, 59, 58, 58,166,213,255,210, 37,120, 84, 79,255, 62, 83,150, 59,
-117,124, 55,162, 25,229, 12, 21,241,249, 47, 47, 30,254,145, 46,201,121,204,106,148,133,108,197,179, 4,246,101,234,109,118,207,
-142,141, 90, 1,151,251, 18, 64,232,159,185,150,154, 9,139, 77,139, 77,139,205,255, 66,155,198,184,200,255,101,112, 27,159, 96,
- 99, 8,133,130,168,229, 75, 22, 18,229, 37,229, 74, 85,165, 92,163, 85,169, 84, 36,159, 85, 61, 78,121, 81, 68,114, 57,229,115,
-231,204,182,137, 90,180, 36,170, 26,152,100,230,127,122,133,132,132,220, 61,118,236,152,171,163,163, 35, 42, 42, 42, 80, 82, 82,
-130,187,119,239,130,101, 89,140, 30, 61, 90,216,163,123,247, 46, 75,151, 45,187,245, 50, 47, 47, 28,134, 59,222, 87,228,197,209,
- 25,235,122,215,172, 69,251, 85, 86, 73, 77,175, 67, 16,216, 57, 46, 82,127,204,202,151, 53,171,101,136, 68, 34,253,130,196,111,
-128,240,129, 3, 7,242, 1,224,195, 15, 63,172,148,203,229,209,181, 10,135, 89, 43,173, 74, 92,253,250, 59,123,120,198,253,184,
-125,157,184,147,175, 31, 40,173, 14,217, 5,249,224,242,236,209,178, 37, 31,239, 79, 26,204,235,219,211,209,121,205,170,157,103,
- 10, 24,140, 82, 20,167, 95, 48,100,203,222,222,126,207,161, 67,135,112,248,240, 97, 0, 64, 90, 90, 26,252,252,252, 36,166,202,
-144,148,148,228,243,206, 59,239, 28, 44, 41, 41,105,103,234,216,198,137,241,133, 66, 33,122,247,238,141,142, 29, 59,226,228,201,
-147,253,106,149,173, 63, 5,229,245,235,176,126,244, 8,136,127,163,193, 75,219,174, 93,189,111,159, 61,179,207,249,204,217, 84,
-108,216,176, 11,207,159,215, 8,109, 62, 62, 62,152, 56, 97, 28,239,241,227,155,129, 99,199, 78,188,249,251,239,207,123,215, 18,
- 37, 83,248,250,167,159,126, 90,220,166, 77, 27,140, 29, 59,118, 92, 96, 96,160,187,173,173, 45,118,236,216, 1, 15, 15, 15, 31,
-141, 70,243,236,228,201,147,158, 5, 5, 5,152, 61,123, 54, 10, 11, 11,231, 27, 50,212,111,104,191,165,194, 17, 1,125, 58,116,
-157, 10,107, 91, 15,252,116,224, 16,158, 62,216,211, 71, 77,165, 46,229,211,241,147,149,172,112,154, 44,199, 58,170,117,183, 8,
-167,118,129,239,192,187,107,130,179,138,254,253,197,210,193,109, 99,184, 34,213,158, 21, 27,164, 37,175, 25, 29, 27,203, 9,170,
-124,226,152,116, 17, 37,192, 10,166,142, 96,233,213, 90, 22,239,244,237,219, 87,223,112, 89, 89, 89, 80,171,213, 8, 8, 8, 32,
- 53, 26, 77,127, 51,235,181,253,144, 33, 67,254, 56,123,246,172, 83,251,246,237,101,165,165,165,250, 29,238, 78,246, 67,227,143,
-109,158,189,230,187,127,249,239,101,137,114, 89,234,137,199, 38,108,133,246, 10,235,122,233,220,177,125,214, 68, 85, 46, 4,246,
-197, 0, 83,130,140,131,191,128,176,114,196,248, 79,230,113,251, 15, 28,208, 98,240, 91, 99, 46, 61, 77,127, 62, 16,192, 61,203,
-184,222, 2, 11,254,214,170, 22,251,191,118, 78,122,162, 21, 25, 25, 73, 52,117,130, 12,203, 4,187,185, 58,137, 55,175,223,125,
-143, 67,105, 52, 18,123, 59, 13,207,206,150, 33,108,236, 56,148, 70, 91,229,237,227, 45, 96, 88, 38,216,128,253,198, 83, 60, 9,
-177, 88,124,236,212,169, 83,174, 60, 30, 15, 12,195,192,197,197, 5,153,153,153, 40, 47, 47,135, 92, 46,199,243,212, 84,180,241,
-106,133, 21, 81, 11, 61,102, 47,140, 58,166, 80, 40,186,161,161, 27,241,181,105,163,180,182,225,186,209,117, 75,176,188, 54,228,
-175,253,174,137,125,230, 78, 69,205,204,201,201,129,181,181, 53,130,130,130,172,111,220,184,241,187, 17,146,213,192,166,131,131,
-143, 13, 35, 20, 28,222,246,227, 50, 49,165, 77, 66, 74, 70, 41, 58,180,233, 3, 55, 39, 47,228,151,106,112,251,238, 41, 36, 37,
-238,135,111, 11, 47,204,252,100,128, 40,102,221,145, 67,124, 93, 27,175,242,242,204,202,166,108, 86, 86, 86, 90,183,109,219, 22,
- 94, 94, 53,235,158,209, 52,141,148,148, 20,208, 52,173,223,174,255,190,251,232, 21,232, 42,179, 49,117,202, 20,148,148,148, 88,
- 55,101,147,199,129,110,222,199, 19,185, 98, 30, 32,144, 56,106,170,170,170,244,203,112, 80, 20,133,135, 15, 31, 34, 60, 60, 60,
- 34, 54, 54,214, 20, 43, 50,171, 62, 41,224,219,239,126,253,117,203,164,138, 10, 18, 0,126, 38, 8,134, 98,217,111,205,189,150,
- 92, 93,121, 71,207,159,219,235,204, 33,159,192,209,238, 27,220,189,155, 13,138,170, 41,111, 73, 73, 17,102,125, 86, 9, 62,207,
- 6, 39, 79,254,203, 41, 32,160,247,209,130, 2, 42, 8, 13,221,136, 77,149, 83,116,238,220, 57,204,154, 53, 11, 41, 41, 41,158,
- 28, 14, 7,119,238,220,129, 88, 44,198,250,245,235, 57, 1, 1, 1,158, 18,137, 4,231,207,159, 71, 97, 97, 33, 97,172,156,215,
- 46, 92, 91, 93,241,252,234,210, 2,226,252,176,159, 14, 28,194, 71, 19,198,195,157,205,248,221,206,151, 88, 61,100, 68,175,175,
- 88, 78,171, 72,137, 77,176,131, 95,208, 8,240, 5,214,152,249,229, 74,164, 37,157,118, 80,200, 19, 63, 35,232,220, 86, 43, 54,
-196,206,121,173,156, 71,198,209, 31,238,191,209,245,162,215, 61,239, 71, 15, 63,190, 35, 77,216,153,248,138,104,249,112, 9,146,
-182, 3,106,150, 79,121,246,236, 25,158, 63,127, 14, 46,151, 11,165, 82, 9,157, 78,215,100, 57, 61, 61, 61,103,232,116,186,175,
-106,219,121,183, 72, 36,250, 96,223,190,125, 78,245,137,182, 75,240,168,158, 78, 54,146,129,133, 69, 37,101, 55,239, 37, 63,157,
- 55, 99,108,191,235,183,147,114, 41,222,187, 57, 21,137, 39, 43, 12,212,167, 72, 44, 16, 28, 61,127,252, 95,214,218, 23, 87, 32,
- 9,232, 7,158,181, 31,104,109, 30, 20,101,213,144, 63,151, 66,253,227, 15,232,252,217, 92,156, 62,113,196, 58,176, 83,183, 88,
-181, 86,235, 7, 64,243, 6,247,102,115, 96,177,105,177,105,177,249,223,105,211, 32, 23, 97, 89,182, 43, 0,183,218,205,146, 90,
- 94,224, 12,160, 24, 53,171,200,184,213, 62, 59, 4,245,126,214,120,187,254,177,141,183,235,127, 46,169,253,236, 90,251,126,143,
- 32,136, 82, 19, 69,247, 64,205,210,132,103,106,223,129, 90, 87,162,201,192, 99,130, 32, 43,105,154, 17,242, 93, 92, 85, 31,190,
- 55,176,211,111,151,238, 63,180,114,182,229, 14,237,215, 37,226,238,227, 23,183, 8,146,208, 18, 4,105, 86,220, 7,135,195, 25,
-191,121,243,230, 78,182,182,182, 96, 24, 6,118,118,118,144,201,100,208,104, 52,168,168,168,128, 90, 94, 9, 74, 94,137, 71,185,
- 89,232, 21,209, 15, 99,134, 13, 9,248,215,137, 83,227,105,154, 62,104,204,174,103,112, 23,189,146,181,178,181,211, 43,105, 34,
-183, 92, 79,186,190,233,226, 7,190,181, 53, 6,207,139,250, 51,215, 64,194,153, 51,103,206,141, 30, 61,250,173, 5, 11, 22,144,
- 82,169,244,124,102,102,102, 47, 0, 41, 38, 73,133, 80,244,249,167,159, 71, 58, 56, 88,179,136,189,120, 10,125,187, 76,128,149,
-128,131,146, 74, 10, 4, 1,164, 38, 31, 3, 65, 56, 34, 49, 77,138, 62,157,109, 49,100,104,128,245,137, 35,169, 11,240, 42, 62,
-232,181,166, 41, 43, 43, 67, 81, 81, 17,180, 90, 45,180, 90, 45,198,142, 27,135,189,123,246,160,186,186, 26, 74,165, 18, 26,141,
- 6, 52, 77,131, 36, 73, 92,140,139, 69,238,139, 84,244, 12, 15, 7, 12, 44,189,180,231, 33,120, 0,110, 63,125,250, 20,169,169,
-169,120,249,242, 37, 68, 34, 17,220,221,221,177,114,229, 74,168,213, 53,107,148,141, 27, 55, 46, 2,192,227, 63,123, 67, 61, 7,
-118,102,210,244,210,183,142, 31,119,189,113,252, 56,115,251,244,233,151, 66,185,124,135, 57,191,229,243, 49,118,221,183,159,116,
-144, 72, 36,120,153,179, 25,254,254,124,204,159,235,132,232,111,138, 1, 0,179,103,181, 68,247,110,206,168, 44, 63, 2,103,215,
-197,216,178,101,142,239,180,105, 27,167, 40, 20,244,110, 19,166,151,158, 58,117,106,140,159,159, 95,139,132,132, 4, 66, 32, 16,
- 64, 44, 22, 67, 44, 22, 67, 36, 18,161,168,168, 8,153,153,153,236,186,117,235,242, 0, 44, 53,102,104,197, 22,233, 45, 0,111,
-205, 29,134,115, 79, 31,236,233,211,130,243,226,209,152,153,189,179, 18,111, 39,200,127,187,120, 99,149, 78, 37,202, 45,127,121,
-105, 97,219,238, 9,206,159,125,241, 53,126, 88,183, 28, 79,239, 92, 47,117,243,170,220, 42, 38,212, 77,150, 51, 34, 98, 5,215,
-195,205, 81, 55, 99,218, 24,251,211,110, 55,103,156,229, 18,178,130,226, 7,235,145,153,160, 20,182,235, 50,185,189, 15,169,185,
-114,229,138,184,111,223,190, 80,169, 84,122,101,114,223,190,125,140, 78,167,187,218,228,181, 73, 81, 95,229,229,229,121, 40,149,
- 74, 12, 27, 54,108,246,250,245,235, 37,117,107,212,209, 52,221, 64,201, 90,189,105,239,133,207,191,218,122,245,194,193,111, 60,
- 87, 71,125,208,111,210,204, 53, 87, 97, 96, 29, 73, 46, 73,126,118,250,248, 46,119,145,131, 22, 98,199, 33, 80, 21, 42,241,116,
-231, 71, 80, 84,170,208,125,245,215, 0, 4,208,104, 73,236, 24, 49, 22, 60, 39, 79, 44,159,254,129,231,146, 29, 63,125,194, 48,
-204,102,203,184,222, 2, 11, 44,104, 4, 55,130, 32,226, 0, 32, 42, 42,106,113,116,116,116, 50, 65, 16,113, 44,203, 70,214, 10,
- 40,113, 44,203, 70,214, 29, 83, 75,206, 94,219,174, 59,182,241,118,227,207,139, 22, 45, 10,140,137,137, 89, 27, 30, 30,126,240,
-230,205,155, 47, 0,152, 34, 90,195,107,137,213,107, 75,239,144,117, 12,178,254,123, 3, 69,139, 97,174, 63,123,145,165, 24, 50,
-168, 71,203,184,248,199,247,222,127,127,248,192,241, 35,250, 14,205,204, 41, 73,245,245,118,119, 78, 78,126,108,203, 48,204,117,
-115,106, 73, 40, 20, 70, 14, 24, 48,128, 91, 86, 86, 6, 43, 43, 43,200,100, 50,228,229,229,129,162, 40,168, 42,202,161,174, 40,
-135,170,188, 12, 84, 69, 25,158,223,191,139, 96, 95, 31, 97,109,176,188, 81,212,169, 46,141,149,170,250,202,150,192,198, 6, 66,
- 27, 27, 16,205,119, 27,190,107,111,111,127,187,174, 83,165, 40,234,179,133, 11, 23, 22, 51, 12,131, 53,107,214,216, 90, 91, 91,
-199, 2, 16,154, 50, 98,227,194,137, 12,239, 28, 68, 62,201, 76, 68,239,144,169,104,223,246,109,100, 22, 42, 81, 44,167, 80, 84,
- 78,161,123,223,239,209, 58,228,107,180,234, 28,141,212,236, 82,120,182,240, 35,193, 21, 26, 93,252, 57, 55, 55,183,193,246,193,
- 3, 7,160, 80, 40,224,235,235,139, 9, 19, 38, 96,225,194,133,152, 48, 97, 2, 60, 61, 61, 49,233,189,119,176,124,249,114, 20,
- 20, 20,152, 42,170,186,125,251,246,106,111,111,111,181,183,183,183,154,162, 40, 84, 85, 85,161,188,188,188,113,125,207,105,110,
- 69,186,186,186, 46,114,119,119, 79,116,117,117, 77, 22, 10,133,103, 31, 18,196, 19,149,183,183, 91,175,145, 35,137,142,239,189,
-199,201, 22,139,137,120,192,218, 28, 91,206,142,188,225,253, 7,188, 37, 40, 47,219,165, 23,169, 62,120,223, 5,127,196, 7,226,
-198,239,221, 48,235, 51, 95, 16,164, 8, 4, 41,128,162,250, 10,122,132,134,243,237,237, 9, 83,215,210, 68, 0, 15,123,245,234,
-229, 57,115,230, 76, 66, 40, 20, 98,246,236,217,212,244,233,211,211, 39, 76,152,144,126,249,242,101,218,219,219, 27,173, 90,181,
- 34, 90,181,106,229, 1,224, 97,237,111,140,194,214,151, 88,173,166, 82,127,183,247,147,188,160,225,220,179, 74, 43, 28,187, 98,
-131,180,100,245,182, 23, 27, 50,159, 42,124,158,222,185, 94,146,158,116,154,201,188,119,173, 56, 63, 93,238,179,122,219,139, 13,
-139,183,230, 55,121, 83,199,199,131, 57, 22, 23, 79, 41,170, 21,220,145, 35,250, 43,102,124, 56,190,189,163,117,224, 62,180, 24,
- 18,210,218,171,229,164,229,107,183, 80,211, 63,249,156,250,249,151, 93,172, 92, 46, 71,101,101, 37,182,108,217,162, 59,125,250,
-116, 30, 77,211,159, 27, 26, 3, 1,128, 86,171,197,140, 25, 51, 36,182,182,182,200,205,205,213, 43,162, 0, 32,149,149, 60,190,
-113, 47,233,201,188,127,142,139,168, 86,171,213, 23,174,221, 79,237,232,231,221,146, 32, 88,131, 19, 81, 4, 60,222,224,110, 61,
-122,112, 88,182, 28, 4,215, 11,207,247,172, 67,101, 65, 41, 42,139, 74,193,225, 73,160,131, 16, 90, 70, 0,251,224, 80,164,221,
- 75, 64, 11, 23, 55,174,144,199, 27,106,233, 79, 44,176,224,239, 9, 99, 92,164, 62, 89,138,137,137, 89,107,108,127,189,119, 77,
-163,109, 61,145,106, 76,194,234,127, 6,128,152,152,152,181, 44,203, 70,222,188,121,243, 0, 0,165,153,167,240,113,189,119,243,
-243,104,113, 84,154,232, 5, 11,151,194,193, 78,108, 23,218,197,207,253,228,249,248,251,215,111,222, 79,109,221,202,217,133,213,
-106, 28,190,221,248, 67, 75, 66,161,140, 49,179, 16, 1,206,206,206,160, 40, 10,207,158, 61,195,203,151, 47, 65, 81, 20,116,213,
-213, 80,151,151, 67, 85, 86, 6,186, 90, 14, 62, 77, 67, 41, 43,130,147,149, 8,120, 53, 35,209,132,242, 70, 52, 73,180,234,222,
- 69,182,182, 16,218,216,130,228,241,154,116, 43, 26, 64,215,208,208,208,195, 73, 73, 73, 61, 6, 13, 26,180, 10, 53, 83,228,179,
-243,242,242, 6, 46, 91,182, 76,237,230,230,134, 25, 51,102,116, 0, 48,213, 36,201, 20,104, 2,188,221, 59,160,189,207, 84,180,
-110, 53, 0,229,213, 90,200, 42,181, 40, 42,167,176,227,251,112, 28,253, 57, 20,127, 28,237,131,164, 11,131, 81,174,117,135,181,
-231,187, 96,105, 77,160, 49,155, 23, 47, 94,196,202,149, 43,177,106,213, 42,172, 89,179, 6,171, 86,173, 66, 94, 94, 30,130,130,
-130,144,147,147,131,115,231,206, 65, 42,149,194,217,217, 25,119,239,222,197,166, 77,155,240,199, 31,127,152, 60,233, 58,226,106,
-198, 49,205,242,165,235,116,186,105,210,145, 35, 59, 21, 58, 58,118,236,210,165,203, 91,179,103,207,246,233,213,171,151,126,191,
-143,143,143,151, 88, 44, 46, 64,205, 12,202,206,198,108, 49, 64, 23, 23,151, 32,104,212, 79,106,219,152, 7,130, 16, 97,192,224,
- 84,244,234,115, 31,148,150, 15,146, 16,130, 36, 69,208,233, 74,224,224,224, 9,150, 37,130, 76, 20,113,153, 76, 38,243,187,116,
-233, 18,153,153,153, 9,145, 72, 4, 0, 89, 43, 86,172,248, 97,195,134, 13, 41, 78, 78, 78,116, 92, 92, 28, 78,156, 56,129,200,
-200, 72,206,244,233,211,253, 90,181,106,181,221,212,121,175,216, 34,189,181,127,227,185,127,240,180, 14,157, 69,226,214,109, 80,
-109,253,238,167, 17,206, 18, 0, 56,159,145, 33,119,245,170,140,169,150, 39,230,216,183,172,250,230,124,134,169, 25,167, 43,152,
- 7,233, 79,110,239, 63,126,190,162,168,176,140,215,165, 83,160, 50,122,229, 23,252,214,109,218,125,187,124,225, 63,221,243, 42,
- 69,229,131,103,159,123,114,236,252,221,170,201,239,127,164,251,240,227,153,170,115,231, 47, 30,103, 24,166, 19, 12,204, 56,100,
- 24, 6, 82,169, 20,201,201,201,200,200,200,128, 76, 38, 67,113,113, 49,228,114,185,222,221,104, 37,175, 60,243,195,175,167, 31,
- 73,196, 98,171, 30,157,252,188,238, 36,164, 20, 73,196, 98, 43,191, 54, 94,237,129, 21, 77, 62, 71,104,154,238, 36,178, 18, 3,
- 32, 80,158,116, 29, 85,101, 85,168, 42,175,130,188,180, 10,106,138, 3,149,154,132, 82, 67,194, 59, 98, 8,170,170, 85,168, 42,
-169, 0, 67,211, 33,150,238,198, 2, 11, 44, 48,210,215,199, 69, 69, 69, 45, 54,243, 88,179,221,155,141,137, 87, 84, 84,212, 98,
-130, 32,226, 22, 45, 90, 20, 8,195, 19,170,234, 99,103, 19, 47, 0,102,164,119, 40, 41, 73,175,178, 33, 2, 70,207,253,242,171,
-115, 7,126,249,222, 85,173, 86,228, 56, 57, 88,211,214, 86, 2,231, 15,103,172,129,188,170,108, 84,181,249,233, 8, 80, 86, 86,
-134, 23, 47, 94, 64, 44, 22,131,207,227,129, 86, 42, 65, 43,171,161, 44, 43, 1, 73,169,193,167,105, 56, 90,137,225,237,233,142,
-214,110,238,102,217,124,118,229, 55,125,224,123,125,119,225,186,208, 0, 8, 36,214, 16,216, 88,227,211,184,107, 0, 0, 62,159,
- 15, 44, 91,101,150,104,210,162, 69,139, 83,251,247,239,231,203,100, 50, 60,124,248,240, 17,128, 10, 0, 54, 0,152,212,212,212,
- 75, 73, 73, 73,145,126,126,126, 0,224,107,202, 88,101, 49, 73,107,117, 44,114, 11,178,144,249, 50, 1,142,118,109,193,179,106,
-143,162,114, 10, 66,113, 91,104,213,175,188,143,170,202,108, 40, 41,142, 89,231,174,209,104,160,211,233,160,211,233,160,209,104,
-240,241,199, 31,227,198,205,155, 56,120,226, 50, 94, 60, 79, 67,135, 54,238,152, 50,101, 50, 66, 67, 67,113,243,230, 77,163,182,
-166,118,134,182,133, 53,184, 27,223, 34, 33,176,118, 82,135, 45,188,112,199, 20,217, 34, 8,130,133, 1, 87,100, 35,108, 8, 15,
- 15,111,151, 86, 93,141,228, 39, 79, 48,104,197, 10, 0,192,217,179,103, 27,156,203,188,121,243, 4, 41, 41, 41, 31,222,191,127,
-255,195,252,252,252,141, 0,154, 14, 54,103,129, 51,103,110,225,159,255, 76,129, 76, 38, 3, 0, 28, 58,240,138,151,102,190,160,
- 48,108,120,141, 71,203,222,222, 30, 27, 55, 6,153, 85,159, 52, 77, 99,231,206,157,122,119, 33, 0,112,185,220, 94,243,230,205,
- 27,221,212,241,237,218,181,227,155,178, 57,119,108, 11,209, 31,143,216,207,236,218,181, 14,180,117, 14, 70,137, 54, 33, 40, 33,
- 79, 58,107,238,216, 22,155, 55, 29,201, 83,137, 9,245,110,130,206,109,197, 21,169,246,152, 83,198,140,243,223,107, 74,188,167,
-237, 41,144, 85, 46,153,249,209, 68, 39, 91,123,215,234,159,127,136,118, 32, 57, 36,123,234, 62, 85, 30,232,227,100,255,110,216,
-119, 85,255,156,187, 44, 65,163,203,157,137,220, 83,105, 48,146,226,130,166,105,228,231,231, 67, 38,147, 33, 39, 39, 7,197,197,
- 53,238,215,226,226, 98, 48, 12,243,103, 30,136, 80,230,228, 32,251,248,207,104, 61,121, 50,186,175, 90, 9,154,225, 66,169,160,
-177,177,231, 64,148, 85, 40,161,102, 8,120,118,237,137,143,206,254, 14,146,165,129, 29, 91, 45, 61,137, 5, 22,252, 77, 97, 78,
-122,135, 58, 66, 20, 29, 29, 29,249, 87,255,127,125,178, 21, 29, 29,157, 28, 29, 29,221,156,255,106,236, 50,212,111,215,197,104,
- 93,171, 23,128,246, 90,167, 41, 47, 78,205, 72, 73,225,230, 87, 43,171,173,220, 92, 93,212, 86, 34, 33, 83, 81, 41,231, 36, 60,
-126, 68, 85, 23, 60,127,218,140,243, 72, 77, 74, 74, 10,202,207,207, 71, 78,118, 54,116,202,106,144,106, 13, 88,149, 2,131,122,
-247,132, 8,128,136, 36,192,103, 40,112, 57, 2,200,171, 42, 1, 32,213,100,231,168,213,190,166,108, 17, 4, 1,129,141, 13, 4,
- 18, 9, 4,214, 54, 13, 20, 46,115, 20, 27,161, 80,184, 63, 54, 54,214,163, 69,139, 22, 88,185,114, 37, 90,182,108,233,239,233,
-233,169,176,179,179, 19,187,185,185,161, 99,199,142,232,217,179, 39,206,157, 59, 7,152,145, 83, 74,171, 19, 37, 62,205, 66,175,
-226,210,155,248,253,218,143,208, 40,213,232, 18,241, 35, 40,219, 62, 66,105, 0, 0, 32, 0, 73, 68, 65, 84,110,107,184, 4,126,
- 13,230,217, 62, 40, 10, 78,214,168, 7,238, 35,240, 50, 39, 11, 4, 71,144,108,174,242, 84,247,249,209,163, 71, 56,112, 50, 30,
- 30,222, 1,200, 73,127,130, 39, 87, 47,225,134,139, 19,188, 3, 58,234,221, 64, 6,203, 72,131,187,122,107, 77,154,168,165,159,
- 77, 20,150,150,150, 10, 29, 29, 29,213,117,117,231,225,225,241,103,200,214,196, 5, 11, 22,160,156,199, 3,134, 15, 7, 63, 35,
- 3, 20, 69, 33, 44, 44, 12,221,187,119, 7, 0,132,133,133,129,203,229, 34, 56, 56, 24,158,158,158,216,186,117,235, 68, 67, 68,
-139, 36,240, 80,167, 43,241,247,241,241,209, 19,173, 61,123,101, 72,184, 63, 24, 4, 4,216,242,195, 51,253,177, 94, 94, 94, 40,
-144,102,128, 32,216, 36, 19,101, 92,229,238,238,190,204,195,195,195,103,195,134, 13, 28,145, 72,132, 79, 62,249,164,109, 85, 85,
- 85,235, 90, 41, 25,139, 22, 45, 2, 0, 44, 95,190, 28, 43, 86,172,128, 90,173, 86, 24, 50,182,103, 99, 39,207,162, 82,230, 67,
-182,202,106, 84,127,231,214,157, 6, 12, 29,132,182,126, 3, 48, 96,104, 14, 0,172,117,228,102,189,247,237, 18,251,227,246, 54,
-196,174,223,206, 95, 92,222, 59, 98,192,146,133, 85, 87, 87,127,179,179,220,100,204, 99, 69,246,110,249, 83,193,248, 77,223,111,
-223,187,233,171, 69,115, 68, 57, 50, 77, 89, 94, 25, 91,101, 45,228, 90,251,186, 17,214,179,190, 92,245, 34, 63, 63, 99, 62,114,
-207,155,156,105,201, 48, 12, 50, 50, 50,244, 49,125, 42,149, 10,213,213,213,200,205,205,213, 95, 51, 74,137,237,176,153,239,143,
- 8,169, 86, 42, 21,119, 30,167,231, 44,157, 61, 41,188, 90,169, 84,164,103,230,164, 1, 91,154,100, 99, 36, 73, 62, 86,200, 21,
-131, 20,229, 42,200, 30, 62, 69,203,129,222,208,234, 8,104,116, 52,100, 37,114,168,117, 0, 77,242, 16,248,222, 20,208, 4, 23,
-197,249,121, 32, 57,156, 71,104, 24,180,111,129, 5, 22,252,125, 96,148,139,212, 41, 90,225,225,225, 7,235,171, 78,117,159, 1,
-168, 97, 60,148, 71, 86,159, 76,213,185, 19, 13,253, 79, 35,187,230,226,181, 24, 45,147,233, 29,234,254,179,149, 93,165,231,186,
-229,147, 90, 50, 58, 93,135,162,226, 66, 29,151, 43,228,181,178, 83, 74, 75,115,204,255,119,181, 90, 29,119,233,210,165,145,131,
- 7, 15, 22,166, 63,126, 4, 77, 69, 5, 52, 21,229,224, 49, 58, 56,138,187,129,164,212, 32, 52, 26,180,240,103,160,146,139, 17,
-127, 35, 73,171, 86,171,227,204, 37, 90, 36,135,211, 48, 46,203,218, 26, 66, 27, 91, 8,173,173, 27,187, 22, 77,145, 2,171, 33,
- 67,134, 12, 12, 11, 11, 3,203,178,216,185,115, 39, 40,138, 18, 80, 20, 5,141, 70, 3,138,162, 80, 89, 89,137,189,123,247, 98,
-219,182,109, 55, 0,252,106,178, 51,211,105, 46, 93,184,120, 37,244,131, 73,145,188,179,113, 27,161,211,208, 80, 18, 45, 81, 93,
-173, 69,149,198, 10,180,211,100,160,240, 12, 56, 92, 17,194,131,219,226,228,145, 99, 20,116,234,203,102,178,240, 6,170, 80,110,
- 78, 22, 94, 62, 79,131,117,101, 1, 92,108,173,160,200, 72, 67,151, 41, 83,223, 72,157,104,213,170, 21, 24,134, 65,255,254,253,
-245,193,213,111, 74,182, 74, 74, 74,112,250,244,105,132,133,133, 33, 34, 34, 2,121,121,121,200,200,200,192,219,111,191,173, 63,
-230,209,163, 71, 72, 72, 72,128,175,175,113,145,176,184, 84,123,246,101,238,195,113,239,190,251, 46,255,246,237,219, 96, 89, 22,
-126,126,182,176,181,145,128, 32,133, 8, 8,112, 5, 80, 51, 6,232,215,175, 31, 42, 43, 51,116,101,101,236, 89, 19,167,187, 31,
-192, 9,141, 70,243,172,111,223,190,158,207,159, 63,199,220,185,115,185,135, 14, 29,170,147,146, 17, 21,213,112, 50,133, 82,105,
-216,117,223,161,147,255, 23,109,117, 14, 17, 34,113,235, 54,182,206,193,104,235, 55, 0, 0, 48, 56,242, 3,180,109,231,133,202,
-226,196, 54, 42,101,214, 40, 62,183,204, 33,113, 75, 94,138,120,120,208,251,170,162,107,233,168,113,157,154,108,118,101,250,161,
-194, 28,222,228,195, 39, 78,157,155,241,118,228, 59, 60, 45,173,211, 5,121,243,236, 99,143,159, 41,202,203,206,249, 14, 57,231,
-147, 94,233,127, 70, 85, 60,186,178,178, 18, 18,137, 4, 73, 73, 73,234,225,195,135, 11, 73,146,196,179,103,207,244, 68,203,213,
-217,177, 99,175,238, 65,254,171, 55,237,189, 32, 17, 10,133, 67,251,117, 11, 72, 73,207,126,201,178, 68,150, 65,181, 85,171,189,
-248,248,225,163,254, 46,158,237, 56, 25,215,110,195,169,207,219, 80,171, 73, 40, 53, 12,212, 58, 64,199,225,195,163,115, 15,216,
-251, 6,128, 5,112,239,246, 13,173, 90,171,189, 96,233,107, 44,176,224,111,173,106,177,198, 72, 82,237,231, 82, 0, 89,209,209,
-209,197,245,212, 38, 25,128, 71, 0, 66,106,143,147, 53,250,157,140, 32,136,123, 44,203,118,175,103, 71, 86,143,112,213,255,172,
-105,116,204,163,102,144,172,250,239, 13,137,150,161, 41,149, 0,224,236,236,236,218,165, 75, 55,223,159,126, 57, 12,150,101,241,
- 52, 97, 61,202,138,158, 96,217,218, 91,190, 45, 90,180,136,200,203,203,139, 55,167, 4, 52, 77, 31,218,181,107,215,252, 30, 93,
-187,116,105,211,178, 37, 30,101,101,130,207,210,224,211, 52, 72, 74, 13, 46,173, 65,203, 32, 26, 36, 97,141,252,252, 10,196,236,
- 63,156, 84,155, 37,222, 40,252,223,126, 7, 43, 95, 86,128, 32, 8,108, 8, 15,130,192,198, 26,124,137, 53, 62, 61,117, 69, 79,
-174,226, 86, 46,130,192,218, 26,190, 61,204, 74, 8,175,184,122,245,234,253,199,143, 31,119, 15, 10, 10,194,252,249,243,145,149,
-149, 5,134, 97, 80, 88, 88,168,146, 74,165,121, 50,153, 44, 11,192,113, 0, 63,193,140,204,227,124,181,106,115,220,209, 61, 51,
-195,123, 71, 56,191, 59,106, 27, 78, 28,153,135,242,138, 74, 40,116, 98, 84,171,116,168, 86,115,224,232,212, 9, 61,130,131,145,
-159, 87,132,228,219, 23,170,184,106,197,250,230, 92,160, 4, 65, 32, 33, 33, 1, 62,158, 54, 72,251, 61, 30,206, 86, 60,132,120,
-186,195,179, 87,111,125,126, 41, 99,224,113,160,155, 56,113,162, 62, 51,252,144, 33, 67, 50, 39, 79,158,236, 49,111,222, 60,252,
-242,203, 47,184,113,227,198,107, 1,218, 17, 17, 17,184,126,253,250,215, 0,150,155, 18,245, 52, 26, 13,252,253,253,113,239,222,
- 61, 92,186,116, 9, 3, 6, 12, 64, 68, 68, 4, 18, 19, 19,241,219,111,191, 33, 33, 33, 1, 4, 65,192,201,201, 9,218, 26,242,
-172, 53,100,140,162, 16,251,205,183,187, 22,111,218,180, 45,112,210,164, 73, 56,122,244, 32, 62,120,191, 3, 8, 82, 8,130, 16,
-226,157, 17, 29,176,114,213, 61,244,232,209, 15,206,206, 60,108,218,120,242,133, 82, 73,239, 53,163, 26, 87,255,246,219,111,158,
- 42,149, 10,229,229,229,172,181,181, 53, 81, 82, 82, 51,163,181, 41, 69, 75,161, 80,136, 12, 25,122,252, 32,117,125,185,156, 45,
- 99,171, 18, 70,149,234, 18, 58, 13, 24,154,139,193,145,239,227, 98,220,175,184,114,225, 18, 28,185, 89,153,144,200,207, 21,103,
- 22, 87, 74,171,253,182, 7,116,157,206,121, 89,125, 97,251,172,119,210, 56, 30, 30, 76,236,162, 31, 43,203,141, 17, 45, 0, 68,
-105,202,190, 83,199, 89,188,211, 51,188, 71,187, 32, 47, 15, 65, 89,113, 17,123,228,228,185, 36, 42,243,232,233,122, 4,139, 53,
- 65,212, 87, 70, 69, 69,125, 85,251,121,247,210,165, 75,167,199,196,196,184, 20, 20, 20,232, 99,180,138,138, 75,175,244, 28, 62,
-139, 46, 41,175,208,236,218,244,229, 88,177, 72, 40, 88, 26,179,235,154,150,131,219,134,236,234, 24,102,235,123,115,151,205, 73,
-127,154,208,162,181, 88,128,147, 95, 46,199,163,223,174, 66, 75,242,241,207, 75,119,160,166,104,148, 23,151,224,242,135,159,193,
-218,205, 1,219,174, 29, 45,100, 24,230, 71, 75, 87, 99,129, 5,127, 95, 24,226, 34, 4, 65, 52,149, 99,175,176,137,239,238, 25,
-251,157, 1, 59,127, 5, 12,102,133, 55,107, 10, 94,113,113,113,209,245,235,119,112, 45,110, 53,226,227, 86, 35, 57,225, 17,242,
-243, 52,200, 43, 84,193,214,214,246,150,145,159, 54,206, 28,203, 42, 20,138,209, 75,151,125, 85, 32, 18, 91,161,239,192,129,112,
-119,113,133, 21,159, 7,142,142, 1,135,224,161, 74,102,143,180, 68, 5, 22,238,218, 87, 84,165, 80,140,110,162,147, 24,100,136,
-100, 16, 4, 1,161,173, 13, 4,214, 54, 16,218,216, 54,112, 35,138,108,109, 33,178,177, 5, 87, 32,104, 42, 24,254, 53,155, 85,
- 85, 85, 99,198,142, 29, 91, 86, 81, 81,129,233,211,167, 35, 62, 62, 62,225,194,133, 11,182,137,137,137, 98,153, 76,214, 14,192,
- 16, 0, 59,140,144,172, 6, 54,203,202, 50,228,172, 78, 61, 62,250,171,207,149, 42,157, 19,198, 77, 61, 4, 9,153, 11, 29,205,
-128, 5,224,233, 40, 64,175, 65,171, 80,164,233,137, 67,219,215, 40, 24, 74, 53,169, 81, 14,173, 6, 54, 89,150,101,221,220,220,
- 94,171,131, 75,151, 46, 97,220,216, 49, 24, 58,106, 36, 92,218,248,192,117,208,219, 24, 58,253,159,216,190,125, 59, 72,146,132,
-179,179,115,227,142, 87,111,115,207, 67,240, 14, 60, 6,113,224, 49,136,221, 9,224, 2,152,178,111,223,190,111, 66, 66, 66,174,
-222,184,113, 99, 61,128,241,245,255,171, 30, 86, 52, 82,179,154,106,163, 37,115,230,204, 81,166,167,167, 67, 34,145, 64,167,211,
-225,198,141, 27,216,182,109, 27, 54,108,216,128,132,132, 4, 56, 57, 57,193,215,215, 23,106,181, 26,247,238,221, 83, 2, 88, 98,
-196, 38, 35,147,233,198,108,217, 18, 83, 18, 25,217, 7,187,118,253, 0,119,247,158,224,113,221,193,229,185, 64, 98,237,143,159,
-127,250, 6,111,189,213, 5,167, 78, 30, 46, 45, 46,209,141, 1,160, 51,227, 90, 82,221,185,115, 7,219,183,111,199,216,177, 99,
-243,198,141, 27, 71, 87, 84, 84,232, 21, 45,150,101,193,178, 44, 86,212,198,152,169,213,106,161, 33,155, 31, 45, 76,202,251,114,
- 77,242,202,194,130,188,176,248,171,183, 38, 94,185,112, 9, 47,210,175,224,202,133, 75,248,253,202,205,168,194,130,188,176, 46,
-161,237,249,163,167,207,252, 98,207,177,163, 28,107, 91, 15,236, 57,118,148, 51, 97,214,231,107,186, 13, 29,176,196,212, 53, 95,
-219,142,108, 85, 81,225,162,181,235,191,175,210, 81, 42,114,221,119, 91,243,149, 50,233,146,122,215, 37,107,234,250, 84, 42,149,
- 59, 84, 42,149,167, 74,165,242, 84,171,213, 75,178,178,178,250,206,159, 63, 95, 70,211,180, 94, 45,149,165,156,186,245,228,143,
-221,107, 93,157, 29,196, 61,187, 7,118,216,184,227,200,181,156,220,194,127,213,203,161,213, 84, 57, 85, 85, 74,213,152,145,163,
- 39, 87,151,151,169, 17,254,121, 20, 24,145, 53,212, 52,160,101, 57,208, 17, 92, 60, 94,189, 17, 98, 71, 27,236,207,124,160,168,
-208, 82, 99,208, 48,135,150,177,115,255, 51,176,216,180,216,180,216,252,239,180,249,127, 25, 30,104,184,214,161, 71, 3, 69,203,
-212,148,202, 22, 45, 90,244,125,247,157, 65,232, 23,185, 20, 44,203,226,201,131,111, 81, 38,123,138, 22,238, 66,100,228, 84,134,
- 3,136,111, 70, 97,114,178,114,115,195,230, 44, 89,122,108,220,144,129, 1, 65,109,218, 8, 91,183,246,134,196,213, 21,197,197,
- 50,252,113, 59, 69,187,230, 64,108, 82, 45,201, 50,203, 49,201, 48, 76, 77,144, 59,128,129,115, 22,130,224,112,128,218, 52, 14,
-117, 29, 99,155,238, 61, 65,112,185,160, 89, 6,106,181,218,156,217,114, 47,159, 63,127, 62,102,210,164, 73,151,227,226,226,200,
-161, 67,135,118, 62,126,252,248,159, 89, 51, 15,213, 69,233, 87, 1, 68,174, 89, 52,227, 80,216,128,145,182,126,129,221,248,221,
- 90,115, 64,105, 9,228,231,101, 35,238,216, 93, 42,229,206,133, 74, 86,167, 26,175, 40, 78,191,106,204, 22, 69, 81, 57,237,218,
-181,115,219,190,125,187, 62, 24,158,166,105, 20, 23, 23,227,214,173, 91,232,212,189, 7, 2,222,255, 16, 50,153, 12, 91,182,108,
-129,151,151, 23, 70,140, 24,129,210,210, 82,232,116, 58,115, 29,190, 52,128, 11,181, 47, 52, 34, 89, 68,237, 18, 64, 70,221,134,
- 62, 62, 62, 2,149, 74,213,153,101, 89, 14, 65, 16,155, 53, 26,205,180, 69,139, 22,121,172, 93,187, 22, 29, 58,116, 64,113,113,
- 49, 36, 18, 9,252,252,252, 32,147,201,112,247,238, 93, 90,161, 80,108, 71,205, 66,214, 50, 19,229,123,118,247,110,102,216,236,
-217,159, 30,251, 38,102,134,159, 74,221, 79,224,232,216, 27, 44,171,131, 76,150, 5,121,229, 13,106,213,202, 95,159, 23, 22,105,
- 71, 3, 72, 55,243,156,151,207,156, 57, 19, 0, 68, 0,150,102,100,100, 60, 12, 8, 8,240, 51,164,104,153,131, 77, 71,242, 84,
- 0, 14,140, 25,234, 57,183,178, 56,209,207,145,155,149, 25, 22,196,108,217,116, 36, 79,101,235, 89,189,186, 56, 43, 62, 77, 90,
-125, 97,251,158, 99, 71, 57, 83, 71,141,161, 91, 90,167, 71,137, 92,217, 35,102,152,102, 67, 66, 66, 90, 17, 68,105,219,162,146,
-167,247, 63,152, 62,227, 61, 59,190,242,108, 72,203, 18, 95,210,171,139, 40, 33, 33, 33, 19,205,156, 25, 90,139,180,188,188,188,
-190,139, 22, 45,186,192,178,108,131,216,132,162,226,210, 43,225,145, 51,217,242,242,138,135,178,212, 83,230,228, 82,187,123,247,
- 65,194,192,160, 78, 93,142,126,179, 54,198,173,223,156,249,220,180,171,215, 0, 90,139,236,248,107,160,133, 26,102,227,205,139,
-133, 21, 20, 53, 10,150,172,240, 22, 88,240,183, 87,179,140,113,145,255,114, 12,135,129, 96,120,179, 79,198,167,109,139, 11, 29,
-252, 90, 15,241,106,233, 2, 0,200,200,204, 71, 70,102,222,111, 25, 47,242,134,154, 96,188,134,166, 87,234, 23,149, 38,106, 83,
- 56,176,230, 45, 42,221,192,166,147,147,211,125, 46,151,219,178, 57,181, 65,211,116,126,113,113,113, 23, 51,203, 57,161, 77,155,
- 54, 49,217,217,217,199, 24,134,153,219, 76,182,223,164,205,186, 69,165, 73,174, 96, 16,171,211,116, 2, 0,130, 43, 48,103, 81,
-233,250, 54, 59, 89, 91, 91,239,224,241,120, 94,117,237, 88, 23,131, 69,211, 52,135,162, 40, 17, 77,211, 28, 0, 4, 73,146, 58,
- 30,143,167, 34, 8, 66,167,211,233,114,212,106,245, 12,188, 74, 56,106,236,220, 77,118,244,181, 68, 11, 77, 40, 90,151, 0, 32,
- 61, 61,189,189,131,131,195,120,130, 32,198,178, 44,235, 47,151,203,213,203,150, 45, 75,136,141,141,173,108,211,166,205,176,225,
-195,135, 19,137,137,137, 72, 74, 74, 98, 75, 74, 74,142,212,170, 88, 25,205,188,150, 72,161,144,243, 15, 71, 71,114, 56,203, 34,
- 4, 44, 8,130,196,227,138, 10,230,172, 66, 65,255,171,150, 48, 54,247,250,172,195,196,214,173, 91,255,154,153,153,201, 51,164,
-164, 26, 58,247,198,248,118, 73,224,210,240, 62,125,198,220,250,253,247,227, 95,174, 73, 94, 89,127,223,172,145, 14, 31, 76,248,
-108,206,183, 7,182,126,247,229,247, 39,202,118,153, 83,206,206,157, 59,251, 16, 4, 49, 30, 64, 16,203,178,237, 88,150, 16, 17,
- 4, 91, 70, 16, 68, 50,128, 68,141, 70, 19,151,146,146,242,242, 79,156,251,155,140,112, 13,217,212, 47, 42, 13,154, 14,166, 1,
-214,204, 69,165,255,127,151,211, 98,211, 98,211, 98,243, 63,103,243,255, 50, 62,110,226, 59,243, 50,195,215, 33,227, 69,222,208,
-140, 23,121,104,215,174, 29,251,236,217,179,102,145, 52, 67,157, 52, 77,211, 7, 21, 10,197,193, 63, 99,164,164,164,164,219,191,
-185,242, 14,100,102,102, 30,248, 43, 13,214, 18,169,149,181,175, 55,197,227,170,170,170, 30,230, 30, 76, 81,212,191,163,110,136,
- 90, 53,235,107, 67, 7, 12, 25, 50, 36,155,162,168, 75, 0,114, 9,130,176, 7, 80, 74, 81,212, 5,157, 78, 87,248,236,217,179,
-110, 27, 55,110,172,203,124,191, 10,192,253, 55, 44, 7,163, 86,211,251,243,243,233,253,255,134,115,220,175,209,104,230, 57, 57,
- 57,249,170, 84, 42,129, 74,165,226,215,159,124, 32, 22,139,101,198, 2,226,235,195,222,134,216,205,231,150, 57,217,219, 16,141,
-137, 20, 28, 91,224,168,178, 58,169,131, 99, 11, 28, 53,183, 96, 15, 31, 62,204, 8, 9, 9,217, 71,146,100, 27,150,101,221, 0,
-214,142,101, 33, 99, 89,182,152,251,255,216,187,238,184, 40,174,182,123,102,102,103,251, 46,176, 75, 93,138, 5, 20, 68, 64, 1,
- 11,246,136,154, 24,123,137, 88,162, 98, 47, 49,106, 98,212,168, 81,163,177,198,215,196,158,216,123,111, 81,176,247, 94,177, 43,
- 86,164, 55,169, 11,203,246,157,249,254,128, 37,168,148, 5, 77,222,228,253,246,252,126,227, 58,195,238,217,123,103,231,222,123,
-238,115,159,251, 60, 28, 78,210,227,199,143,147,254, 65,157,144,198,200, 48,139,141, 58,221,159,126,135,214,221,133, 86, 88, 97,
-197,255, 14,202,244,209,226, 84,150,233,197,139, 23,132,245,126, 90, 81, 82,108,149,247,199,184,184, 56, 45,128,171, 69,199,187,
-184, 13,160,203, 63,189,130, 41, 41, 41,193,101,253,205, 82,145, 5, 20,250,108, 1, 15, 75,141,206, 62,107, 69,118, 30, 86, 28,
-152, 84,217,178,221,187,119, 47, 30, 22, 46,177, 91, 97,133, 21, 86, 88,241,151,225,195, 45, 90, 86, 88, 97,133, 21, 86, 88, 97,
-133, 21, 86,148,138,181, 37, 4,215, 91,214, 45, 2,101,239, 28,168,204,218,107, 85,118, 31,156,182,114, 90, 57,173,156, 86, 78,
- 43,167,149,211,202,249,255,142,243,127, 21,239,137,172,191, 3,214,173,175, 86, 78, 43,167,149,211,202,105,229,180,114, 90, 57,
-255, 63,136,172,119, 15, 0,214,165, 67, 43,172,176,226,255, 49,246,238,221,107, 81, 82,209,190,147,215,119,150, 72,100, 51,242,
-149,185, 11,119, 45, 30,114,208,124, 61, 44, 44,204,100,189,139, 86, 88, 97, 5,170,226, 12,239,233,233,238, 71,154,152,230, 44,
- 75, 82, 44,201, 26, 8,165,122,247,171,236,236,183,194, 14,120,120,120,216,209, 36,186, 16, 44, 43, 38, 8,198,196, 80,228,149,
-152,152,196,199,149, 40, 24, 79, 38,147,125,205,229,114,219,233,116, 58,119,146, 36, 19,181, 90,237,233,130,130,130,149,120, 63,
-112,225,127, 13, 62, 62, 62,253,206,159, 63,111,215,162, 69, 11,173, 80, 40, 52,170,213,106,206,241,227,199,249, 29, 58,116,200,
-121,249,242,101,149,118, 36,186,186,186,182, 89,191,126,189,103,251,246,237, 81,187,118,109, 85,159, 62,125,184, 77,155, 54,229,
- 14, 27, 54, 44, 38, 57, 57,249,108, 37,233,252, 8,130,216, 74, 16, 4,197, 48,204, 64,252, 25,186,225, 99,131, 36, 73,114, 36,
- 65, 16, 61, 88,150,245, 34, 8,226, 21,203,178, 7, 25,134, 41, 47,112,107,121,248, 2, 64, 71,146, 36,131, 1,128, 97,152, 59,
- 0,142, 2,150,239,188,251, 59, 57, 69, 34, 81, 16, 0, 20, 20, 20,220,253, 88,156, 4, 65, 4, 1, 0,203,178, 85,229, 28, 44,
- 20, 10,135, 3,128, 90,173, 94, 7, 11,210, 65,189, 11,118,181, 47, 27, 60, 59, 26, 0,112,231, 71, 95, 0, 64,101,206,137, 81,
-209, 68,101,190,171, 52,190,202,112,148,130,142,253,251,247,159,191,125,251,246, 31, 1, 28,250, 43, 30,124, 23, 23,143,149,191,
- 44, 91,235,250,205,215, 67, 23,162, 48, 35, 68,249, 13, 18,248,148, 71, 81, 93,117, 38,211,165,199,192, 94, 0, 28,185, 92,222,
-143,199,227,181,210,233,116, 10, 14,135,147,162,211,233, 46,230,230,230,238, 68, 57, 25, 16, 44,190,175, 79, 32,211, 23,192,133,
- 96,254,204,243,198,146,208,114, 69, 72, 37,234, 34,251, 31,208,141,146, 0,198, 23,213,117, 3,202, 14,231, 81, 94,231,243,141,
-171,171,107, 15,165, 82, 89, 64, 81, 20,139,194, 93,207,133,255, 20,254,157, 96, 24, 38, 61, 43, 43,107, 96, 69, 92,226,106,168,
-195, 19, 19, 91, 77, 6,168,141, 90,118,180, 42, 1,209, 18, 15, 52, 99,129,129, 44, 80,147,164, 72, 71,134, 97, 82, 0,156, 37,
-141,136,200, 79,198,139,127,232,224, 94,189,232,190,214, 40, 58,167, 1, 56, 3,184, 15,224, 27, 0,249, 86,253,243,183,225, 93,
-103,248, 35, 0, 82,138,133, 86,137,112,247,173, 59,119,238,124,193,211,211,221,175, 87,247,158,243, 71,141, 28, 77, 80, 20,137,
-135,143, 30,113,190, 28, 56,248, 51,153, 76,230, 38,209,106,235,130, 32,152, 2,129,224,161, 82,153,155,180,119,231,118,169,111,
-157, 58, 38,147,137,193,234, 53,191,119,216,247,199,129,105, 22,138, 45, 31, 23, 23,151,173, 83,166, 76,113,233,218,181, 43,229,
-226,226,130,216,216, 88,187, 93,187,118,213, 89,177, 98, 69,239,236,236,236,129, 0,158, 85,161,178, 45, 93,228,228,103, 82, 33,
-209, 22,121, 38,228, 25,112, 38, 85,141,147, 0, 46, 85,245,238, 21, 20, 20,140, 45, 40, 40, 8,105,212,168, 17,187, 97,195, 6,
- 98,208,160, 65, 44, 65, 16,132, 90,173,222, 12,160, 74, 66, 75, 44, 22,175,106,223,190,189,183,183,183,247,171,151, 47, 95,118,
-220,179,103,207,209,240,240,112, 47,177, 88,252, 28,128, 79, 37,233, 54,101,102,102, 6,170,213,106,184,187,187,111, 0,208,224,
- 47,120,136, 8,138,162, 14,186,185,185,177,139, 22, 45, 58, 20, 24, 24,232,156,149,149,101,156, 52,105, 82,187,235,215,175,119,
- 48,153, 76, 93, 43, 33,182,100, 4, 65,172,113,118,118,118, 88,184,112,225,139,134, 13, 27,222,231,243,249,188,231,207,159,139,
- 38, 76,152,240,237,179,103,207,122,179, 44, 59, 18,168,212, 0, 33, 35, 8, 98,141,171,171,171,195,252,249,243, 99,131,131,131,
- 31,114,185, 92,238,243,231,207,197,223,127,255,253, 55,209,209,209, 85,226, 36, 73,114,117, 72, 72,136,236,199, 31,127,124, 82,
-167, 78,157,171, 20, 69,241, 18, 19, 19,201, 89,179,102,125,125,234,212,169, 48,134, 97, 70, 85,165,156, 78, 78, 78,178, 89,179,
-102, 61,105,218,180,233,117, 46,151,203,125,250,244, 41, 57,101,202,148,175, 95,188,120, 97,113, 57,229,114,121, 40, 65, 16,107,
- 83, 83, 83, 57, 0,160, 80, 40, 26,219,216,216,172, 40,153,211,210, 28,138,194, 96, 48,228,105, 52,154,254, 89, 89, 89,165, 6,
-194, 29, 52,117,121, 23, 0, 88,161, 55,159, 23,190, 86,116, 14,172,142,176,164,210, 65, 46,133,113,241,126, 81, 13,233, 14, 0,
-253,138, 82,133,255,162, 2, 56, 28, 14, 19,228,242, 13,123, 55,181, 82, 33, 99,186,181,105,211,102,214,217,179,103,127,111,221,
-186,245,247,219,182,109,115, 74, 72, 72,248,249,210,165, 75, 30,125,251,246, 29,116,230,204,153, 5, 25, 25, 25,251, 62,214,195,
-207,227,242,249, 4, 73, 64, 40, 16,217, 88,242,126,154, 36, 59, 95,237,214,109,248,186,167, 79,131, 87, 68, 71,123,170, 20,138,
-144,113,227,198, 57,247,236,217,147,244,240,240,192,139, 23, 47,236,183,109,219, 86,119,221,186,117, 61,114,114,114,198, 3,136,
-251, 16,145,165,202, 65, 61,173, 14,193, 44, 11,187,226, 6, 75, 32,135,175,199, 29,246, 9, 30,252, 3,196,214,204, 77,155, 54,
-253,248,226,197, 11, 44, 88,176, 0, 0, 86, 86,242,243, 19,186,117,235,214,233,192,129, 3,194,189,123,247, 10, 27, 53,106, 4,
- 23, 23, 23, 20, 77,166,138, 3, 83,123,122,122, 90,118,207, 24,252,178,244,232,144, 6, 15,179,142, 97, 85,207,212, 5, 66,119,
- 24,155,117,243,238,209,121, 80, 48,108, 29, 69, 16, 72, 56,200,201, 84, 6, 60,189,147,208,254,220,158, 23, 63,191,136,122,179,
- 80, 21,143,153, 40, 59, 38,223,127, 5,246,246,246, 27, 98, 98, 98, 66,197, 98,241, 91,215, 95,189,122, 21,228,237,237,157, 11,
-224,187,202, 10, 55, 71, 71,199, 29, 12,195,104, 51, 51, 51,135, 2,128, 84, 42,221, 46, 22,139,101, 41, 41, 41,211,254,170,137,
-140, 25,239,106,145,127,185, 69,171,216, 95,171,180, 92,135, 4,105, 98,154,143, 26, 57,154,232,211,175,111,234,139, 87, 49, 12,
-135,230,245, 59,126,226,132,200,207,207,143,212,174, 92, 9,227,155, 55, 48,124,251,109,179,211,167, 79, 27,194,250, 13, 80,211,
- 20,177,201,203,179,166,104,247,206, 93, 46, 7,246,239,107, 14,160, 34,161,197,115,113,113,217,122,254,252,121, 55, 79, 79, 79,
-228,228,228, 32, 54, 54, 22, 42,149, 10,189,123,247,166,155, 55,111,238,214,171, 87,175,173,185,185,185, 45, 42, 97,217,114,174,
-237,206,137, 28, 57,184,167, 79,135,207,154,139,221, 60,106,129, 77,213, 32,225,101,116,163,200,243,215,199,109,218,127,244,217,
-139, 92,182, 51, 74,207,141, 84, 46, 50, 50, 50, 38,247,232,209, 99,127,104,104,168, 35,159,207,135,171,171, 43,209,181,107,215,
-244,228,228,228,217, 85, 86, 45, 69, 41,108, 72,146, 52,149,124, 45, 37, 61,144, 37,112,151,201,100,144,201,100, 0,224,246,161,
- 51, 79, 59, 59,187,149, 82,169,180,151, 82,169, 84,147, 36,201, 18, 4,193,234,116, 58,161, 76, 38,187,247, 36,250,153,171, 86,
-171,173,189,120,233,186,101,109, 90, 6,218,156, 58,117, 10, 61,123,246,100, 79,158, 60, 57,210,210, 60,117, 4, 65,172,233,209,
-163, 71,193,140, 25, 51, 52, 47, 94,197,186, 61,121,246,138, 16, 11,120,140,131,131, 3,125,243,230, 77,206,146, 37, 75, 4,179,
-102,205, 90,195,178,108,175, 74,220,207, 53,125,251,246,213, 79,156, 56, 49,229,233,139, 24,167, 7, 79, 94,176, 18, 1,109,116,
-112,176,167,174, 95,191,206, 84,133,147, 36,201,213,147, 39, 79, 86,142, 28, 57, 50, 59, 51, 43,215, 37, 91,153,207,242,105,202,
-224,226,226,194, 57,116,232,144,118,199,142, 29,228,240,225,195, 87, 51, 12, 19, 86,137,251,187,186,107,215,174,121, 83,166, 76,
-201,121,254,234,181,203,131,199,207, 32,226,211, 6,103,103, 39,234,214,173, 91,250,197,139, 23,147,115,231,206,181,168,156, 98,
-177,120,203,158, 61,123, 56,135, 14, 21,246,125,215,174, 93, 35,189,188,188, 68, 37,223,163,214,104, 65, 18, 64, 70, 70,134,168,
-105,211,166, 91, 0,188, 23,220, 55,120,118, 52, 6, 77, 5,198,142, 29,155, 82,217,135, 37, 88, 49,174,194,247,152,126,247,101,
-151, 20, 12,233,206,225,112,152,225,195,135,167,190,251,119,141, 70, 67, 0,232,138,159, 45, 23, 91, 29, 59,118,252,225,200,145,
- 35,181,182,109,219,246,235,142, 29, 59,116, 0, 32, 16, 8, 28,118,237,218,181,160,119,239,222,232,221,187,247,140,125,251,246,
-125, 52,161,101, 98, 77,122, 0,224, 11,248,252,232,232,104,194,215,215,183,220,136,251,122,134,185,189,238,233,211,134, 95,249,
-250, 54,202, 98,152,218,220, 14, 29,242, 39, 76,152,144,161, 84, 42, 17, 27, 27, 11,189, 94,143, 65,131, 6, 81,173, 91,183,118,
-237,221,187,247,242,188,188,188, 47, 0,232, 45,120, 38, 23,187,185,185,141,200,205,205,205, 55, 91,117, 90, 12, 52,113, 90, 5,
- 25,249,245,107, 27,120, 92,202,200,237,242, 45, 67,156, 92, 73,168,124, 61,113, 25, 0,184, 5,120, 83,201,201, 64,169,176,113,
-135,167,137,198, 92, 71,119, 97,155, 55,113,234,159, 84,241,229,138,165, 47,196, 98,113,119,149, 74,181,175,104,112,246,233,220,
-185, 51,174, 95,191, 14, 0,205,139,132, 86, 27,146, 36,191,100, 24,102, 61,128,242, 82,185,141,235,214,173,219,167, 7, 14, 28,
-144, 2,192,190,125,251, 96, 48, 24,224,229,229, 5, 46,151, 11, 30,143, 7,154,166,139,179,131, 88, 8,133,163,163, 3, 28,108,
-105,200,228,226, 14,223,255,214,141, 83,205,207, 6,233,166, 71,200, 98,115, 96,100,181,224,218,139, 81,167,189, 29,130, 63,107,
- 67, 70,172,126, 56, 45, 98,213,147,134, 5, 36,186, 32, 14,218,127,202,200, 78,146, 36,255,254,253,251,112,117,117,125,235, 58,
- 69, 81, 0,208,170, 10,148, 51, 94,189,122,213, 52, 42, 42, 10,161,161,161, 51,234,213,171,247,249,133, 11, 23, 92, 50, 51, 51,
- 17, 26, 26,186, 60, 49, 49,241,208, 95, 93,167,146, 90,228,127,197,212, 69,190,163, 36, 91, 23,206,130, 73,138,162, 72,196,188,
-138, 53,132,134,182, 13,143,143,143,151,132,132,132,144, 52, 77, 67,117,246, 44, 52,183,110, 65, 34,145,160, 71,143, 30,244,197,
-139, 23,109,108, 36, 54,195, 94,199,188,206,163, 40, 18, 44, 75, 86,232,243, 32,147,201,190,158, 54,109,154,139,183,183, 55,140,
- 70, 99,113, 68,115,163,209,136,132,132, 4, 72, 36, 18, 12, 28, 56,208, 73, 36, 18,125,109, 97, 61,106,248,120, 57,221, 57,127,
-116, 77,131, 9,163, 58,138,125, 68,167, 32, 78, 24, 15,201,190,175, 80, 55,249, 56,166,116, 15, 17,159, 92, 53, 35,184,150,171,
-252, 78, 9, 19,171,197,208,106,181,151, 31, 62,124, 56,236,194,133, 11, 12, 0,156, 59,119,142,125,242,228,201,200, 15,153,133,
- 50, 12,131,156,156, 28, 48, 12, 67, 21,157,155, 95,255,171,207,131,141,141,205,234,207, 63,255,188,111, 92, 92,156,240,216,177,
- 99,246,241,241,241, 14,175, 95,191,118,244,241,241,225, 44, 88,176,224,136, 70,171,167, 12, 38, 86,103, 52, 25,242, 82, 30, 61,
-122,149,157,150,118,103,227,198,141,106,130, 32,122, 88,248, 29, 95, 40, 20, 10,251,169, 83,167,130,160, 69,141,235,212,173,231,
- 77,209, 66, 91,146,230,217,170,213, 26, 83, 76, 76, 76,194,212,169, 83,107, 6, 6, 6,186,162,112,121,205, 34, 78, 87, 87, 87,
-135,137, 19, 39,130,195,151, 6,213, 15, 12,174,197,227,139,165, 20, 45,148,134,132,132,180,126,245,234, 85,242,148, 41, 83, 20,
-141, 26, 53,170, 20,103,163, 70,141,100,195,135, 15, 55, 10,132,210,166,158,158, 94,117,235,251,215,237,228,227,227,211,157,195,
-225, 24,223,188,121, 19, 55,112,224, 64, 69,151, 46, 93,156, 43,195,233,228,228, 36,155, 50,101,138,209,163,186, 87,251,246,159,
-126,214,132, 43,148,218,114,120, 98,187,130, 2,141,233,233,211,167,113,211,167, 79, 87, 4, 5, 5, 57, 89,194, 89, 80, 80, 64,
- 59, 56, 56, 32, 32, 32, 0,126, 94, 94,200,205,205,197,129, 3, 7,176,105,211, 38,172, 95,191, 30, 59,119,238, 68,195, 22,159,
- 65, 42,149, 34, 57, 57, 25, 74,165,146,254,187, 31, 40,211,239,190,236, 10,221,136,174,163, 71,143, 78, 30, 62,124,120,170, 80,
- 40,100,222, 61,228,114,185,169,127,255,254,105, 3,191, 95,218,213,188,180, 88,129, 37,235,254,209,163, 71, 95,110,219,182, 13,
-126,126,126,104,223,190, 61, 15, 0,190,254,250,107, 94,239,222,189,177,103,207, 30,236,219,183,239,177,183,183,247, 21, 0,221,
- 44, 41,231,192,129, 3, 91,132,133,133, 93, 10, 11, 11,187,219,167, 79,159,181, 35, 71,142,124,107,228, 74, 73, 78,188,173,211,
-233, 16, 24,220, 72, 52,103,195,141,254, 21,241, 61, 1,182,173,141,142,222,180,240,209,163,184, 25,126,126,118,213, 95,191,150,
-111, 94,188,216,193,156,164,219, 96, 48, 32, 33, 33, 1, 50,153, 12,253,251,247,119,224,243,249, 3, 45, 40,230,146,110,221,186,
- 13,142,143,143,151,172, 91,183, 78,113,247,238, 93,215,148,148, 20,197,153,211, 39, 28, 39,125,247,181,212, 86,194,227, 37,191,
- 97, 9, 0,120,157, 12,113,116, 12, 90,176, 44,236, 74, 46, 39, 86, 9, 10, 8,133,238, 88, 81,171,133,221,179,137,123,130,250,
- 76,137, 12,118,144, 41,248, 83,203,249, 68,253, 69,139, 22,237,141,136,136,232,215,162, 69,139,253, 0,132,165,188, 71,208,176,
- 97,195, 3,123,246,236, 25,220,178,101,203,203, 0, 2,202,156, 69,186,187,247,248,227,143, 63,236,205,231, 14, 14, 14, 16, 8,
- 4,239,137, 44, 46,151, 11,146, 36, 43, 93,189,121,187,250,113,228,117,181,120,152,125, 20,123, 22,221,199,162, 14, 79,153,249,
-205, 94,107, 87, 14,140,198,201, 61,247,145,142,251,232,248, 85, 45,244,155, 30,216, 78,100,194,220,127,210, 0,254,230,205,155,
- 47, 91,181,106,181,183, 99,199,142,218,168,168, 40,188,121,243, 6,110,110,197,115,237,212, 42, 80,202, 69, 34, 17, 60, 60, 60,
-224,237,237,221,239,226,197,139, 46, 6,131, 1,175, 95,191, 70,122,122,250,157,191,163, 78, 37,181,200,191, 12,239, 58,194, 31,
-121, 79,104, 21,229, 22, 58, 15, 0, 44, 65,168,238, 63,124, 72, 83, 60,222,128,237, 59,118,240,185, 92, 46,226,226,226,240,248,
-241, 99, 20,156, 57, 3,245,213,171, 72, 75, 75, 67,126,126, 62,156,157,157,177,102,195, 6,177,206,196, 14,121,250,236, 25,197,
-146,108, 73,127,131, 82,183,120,242,249,252,118, 61,123,246, 44, 83,144, 37, 39, 39,163, 99,199,142, 52, 69, 81,165,237,106,120,
-151,147,112,117, 36, 34,206,236,159,163, 80,240, 30, 3, 47, 38, 0,121,119, 0, 86, 11, 24,117, 64,210, 3,224,200,108, 84,207,
-143, 38, 78,204, 9,119,113, 19,113, 34, 74, 81,202, 21,109, 69,245,242,245,245, 93, 63, 96,192, 0, 18, 0,218,180,105, 67,248,
-250,250,174, 5,224, 85,206,103, 78, 87, 48, 72, 94,207,206,206, 70,239,222,189,237,107,213,170,117,186,119,239,222,246,230,235,
- 85,229, 52, 91,147,253,252,252, 50, 5, 2,193, 78,192,162, 14,182,152,211,206,206,110,101,199,142, 29,123,237,216,177,131, 11,
- 0,231,207,159, 71, 68, 68, 4, 30, 61,122,132,231,207,159, 51,193,193,193,142, 75,215,239, 93,189,242,247, 45, 75,186, 55, 15,
-116,109,221, 56,184,174, 36, 63, 59,223,217,217,185, 57,203,178, 94, 22,150,179,227,236,217,179, 31, 63,121, 25,103, 75,114,104,
- 14,151,230,240,109,108,196,206, 50,169,216, 93, 46, 18,184,241, 73, 66, 82, 80, 80,144,186,115,231, 78, 6, 64, 71, 75, 57,231,
-204,153, 19,243,228, 69,156, 29, 65,114, 56, 52,135,230, 74, 36, 34,187, 14,237, 67, 27, 1, 0, 23, 44, 87,169, 84,166,109,218,
-180, 73, 95, 25,206, 31,127,252,241, 97, 86, 78,190,140, 67,211, 52,135, 67, 21,223, 75,177, 80,232, 40,226,243,121, 90,173, 54,
-105,217,178,101,234,202,112,206,158, 61,251,241,211,151,241,114,146, 32, 40,130, 32, 57, 54, 82,177,189,189,173,200,209, 81, 34,
-116, 16,113, 40,158, 82,169, 76,218,186,117,171, 69,156,122,189,158,155,150,150,134, 39, 79,158,192,163, 81, 35,156, 58,117, 10,
-213,170, 85, 67,239,222,189,209,183,111, 95, 8,133, 66,180,105, 90, 15, 83,167, 78,197,203,151, 47,161,215,235,249,165,113,154,
-253,164,222,133,171,171,107, 84, 69, 15,207, 59,159,125,171,156, 65, 46, 96, 87,232, 70,116, 45, 41,176,202,226,151,203,229,166,
-210,172, 93,239,114,118,236,216,241,135, 51,103,206,212,218,186,117,107,215,129, 3, 7, 94,222,186,117, 43,154, 52,105,130, 39,
- 79,158,160,102,205,154,216,188,121, 51,250,246,237,123,121,249,242,229, 93,163,162,162, 2, 61, 61, 61,167, 85,196,217,167, 79,
-159, 49, 65, 65, 65,103, 83, 83, 83,155,102,101,101, 5, 28, 56,112, 96, 72,143, 30, 61, 98,250,245,235,215,182, 88, 48, 26, 12,
- 59,142, 28,222,143, 78, 93,123,162,142,127,192,234, 65,211,182,213,171,160,109,178,143,128,181,155, 82, 82,222,236,208,104, 10,
-122,211,180, 72,116,227,134,124,223,239,191, 59,148,204, 44,144,148,148,132, 46, 93,186,208, 92, 46,183,101, 5,229, 92,212,189,
-123,247,222, 7, 14, 28,144,153,173, 58, 87,175, 94,197,131, 7, 15, 16, 27, 27,139,156,156, 28,180, 29,153,143,209, 11, 10,185,
- 71, 47, 96,241,217,215,172,184,138,125, 72, 49,132,213,224, 98,111,195,185, 50,100, 89,157,175, 71,172,246,227, 72,228, 52,182,
-127,255, 28, 25,175,181,251,202,224, 36,154, 54,109,186, 45, 44, 44,140,208,233,116,208,233,116, 58, 0,165, 70,245,117,115,115,
- 19,212,175, 95, 31, 35, 71,142, 36,109,108,108,150,151, 85, 78,149, 74,165, 61,122,244, 40, 6, 14, 28,136,241,227,199,163,118,
-237,218,144,201,100,160,105, 26, 91,182,237,118,232, 59,100,148, 79,131, 22,173, 2,253, 26, 52,169,159,167,165, 26,209, 66,217,
-240, 50,172, 33,165,214, 61,223, 41, 10, 15, 95, 95,195,138,174,137,204,205,205, 5,249,147,190,252, 79,244,211, 11,105,143,166,
-133,173,125,200, 94,107,150,177,237,155,120,164, 25,158,160,101,239,234,240, 12,146,125, 43,246,128,111, 85,239,167,133,168, 20,
-103,189,122,245, 90,220,188,121,147,223,170, 85, 43,196,197,197,129,166,139,231, 83,166, 15, 41,231,236,217,179,249, 26,141, 6,
-247,238,221, 67,120,120,120,146, 94,175,255,246, 67,202, 89, 25,139,150, 89,139,252,203,176,246,157, 35,165, 44,139,214,108, 0,
- 48, 48,136, 24, 16, 62,164, 32, 50, 50, 82,196,227,241, 16, 23, 23,135,148,148, 20,108,217,180,201,212,198,201, 41,175,189,155,
-155,114,203,166, 77,172, 78,167, 3,203,178,240,245,245, 69,175, 94,189,132, 95,244,238,151, 78, 40,213,187, 45, 88,230, 81,152,
-215,215,135, 12, 25,242,222,223, 39, 77,154, 4, 27, 27, 27, 16, 4,225, 98, 65,229,194,198,205,238,238, 46,243,180, 75, 99, 83,
-183,100,129, 18, 0, 28, 41,192,177, 1, 4,182, 0, 95, 10,240, 68,208, 70,157,205, 34,217,246,177, 61, 91, 14,117, 3, 80,153,
-165, 30,184,186,186,206, 56,123,246,172, 99, 84, 84, 20,171, 84, 42,145,146,146,194,206,159, 63,223,209,213,213,117, 70, 85,127,
-145,228,228,228, 57,157, 58,117, 74, 11, 15, 15,183, 61,126,252,184, 71,120,120,184,109,167, 78,157,210,146, 7,149,255,129, 0,
- 0, 32, 0, 73, 68, 65, 84,147,147,231,124,200, 47,205,229,114,169, 71,143, 30,201,231,206,157,219, 23,192,109,127,127,255, 76,
- 55, 55,183,219, 40,116,154, 44, 23, 82,169,180, 88,100,153,173,107, 28, 14, 7, 52, 77,195,213,213, 85,151,149,149,101,106,217,
-192, 75,232,107, 75, 26, 92,249, 92,161, 92, 40,112,151,218,216,134,100,102,102,222, 39, 8,226,149,133, 75,124, 65,141, 27, 55,
-166, 77, 44,205,140, 30,208,198,245,235,193,161, 78,191,205, 29, 94,109,217,156, 17,110,139,102, 13,243,157, 51,185,127, 40,201,
- 48,154,154, 53,107,186,152, 29,218, 45, 48,159, 7, 55,108,216,144,195,128,198,147,103,177,105,113,137, 73,121,159,182,110, 90,
-108,185,244, 11, 10,110,239,232,232,216,202,215,215,183, 33, 65, 16, 22,109, 73, 22, 10,133, 65,117,234,212,225,144, 20, 77,216,
-203,164, 30, 82,137,208,185,120, 9,197,206,174,153,220,209, 49,140,100,217, 92,133, 66,225, 36, 20, 10,131, 42, 81,119, 14, 3,
- 46,156,157,228,182,142, 14,118,146,246,161,205,107, 55,109,214,212,167, 94, 72,147,166,254, 13, 26,126, 65, 24,141, 74, 47, 47,
- 47, 39,179,147,124, 5,150, 86,193,142, 29, 59, 48,119,238, 92,212,175, 94, 29,110,110,110,112,114,114,194,213,171, 87,113,243,
-230, 77,200,100, 50,164,167,167, 99,241,226,197, 56,120,240, 32,244,122,189,180,178,207,147, 37, 98,171, 60, 24,141, 70,242, 93,
-129, 85, 22,191, 80, 40,100,204, 78,242,101,225,232,209,163,219,204,150,172,111,190,249,166,197,210,165, 75, 47, 71, 71, 71, 67,
- 34,145,224,230,205,155, 24, 50,100,200,229,229,203,151,183, 24, 53,106, 20, 54,109,218,132,152,152,152, 13,229,241,245,233,211,
-103,214,176, 97,195,150, 93,184,112,129,116,118,118,134, 76, 38, 67,247,238,221,177, 97,195, 6,142,209,104,220, 24, 22, 22,118,
- 55, 44, 44,236,174, 41,225,228, 15,123,215,207,191,250,240,254, 93,140, 25, 55,145,167, 51, 26,166, 88, 80,125, 86, 45,145,228,
- 25, 91,181,202,218, 99, 48, 20,244,225,114, 69,182,119,239,202, 35, 54,110, 44, 22, 91, 83,167, 78,133,173,173, 45, 80,232,192,
-140,114,172, 58, 35, 14, 30, 60, 88,220, 31,218,219,219,131,199,227,129,203,229,130,166,105, 80, 20,133,211,171,197,248,125,106,
-161,190,248,125, 42,129,147, 43, 9,213,135,252,118, 34, 55, 4,200,156,121,119,191,218,236, 31, 24,208,214, 30, 87,119,165, 98,
-126,167,168,196,155,123,222, 76,208,164,227,151, 50, 62,214, 96,210,164, 73,126,233,233,233,184,117,235, 22,110,221,186, 85,150,
- 5, 72,115,248,240,225,159,243,243,243,225,233,233,137,110,221,186,181, 2,208,168,140,118,131,134, 13, 27,162, 75,151, 46, 8,
- 13, 13, 69,253,250,245,161,211, 27,233,176, 1, 35,234, 60,138,121,227, 54,127,241,124,209,217,115, 7,200,203,151, 47, 80,219,
-246,159,180,109, 26,250,217, 50,174, 84,113, 29, 66,123,133, 37,245, 44, 48,101, 34, 72,209, 1,107,207,140, 35, 87,156, 15,151,
-108,137, 88,225, 37,149, 74,137, 59,183,238, 26,182,172,218, 19, 31, 32,238,150,126,125, 87, 38, 10,136, 84,180, 29,236, 73, 50,
- 64,175,127,202,200, 46, 16, 8,150, 94,184,112,193, 69,175,215,227,225,195,135, 24, 63,126,188,230, 3, 41,139, 13, 32, 30, 30,
- 30, 56,127,254, 60,250,247,239,175, 73, 75, 75,187,246,119,213,169,164, 22,249, 95, 1,167,132,130, 44, 70, 66, 66, 66,142, 76,
- 38,115,171, 83,167, 14,169,211,233, 10,151, 36,246,237, 51,173,223,184,241,136, 70,163, 25, 7,128,187,242,183,223, 86,187,185,
-187,135, 14, 24, 56,144, 48, 24, 12,232,212,169, 19, 47, 50, 50,210,254, 85,122,122,158, 5, 3,206, 91,223, 55,104,208, 32, 44,
- 93,186, 20, 0, 48,118,236,216, 98,211, 58, 97,129,195,146,196, 22, 29,219,119,110,104,147, 32, 94, 97,163,111,102,200,175,241,
- 82,122, 93,156, 47,108, 8,146,199,129,128, 2,163, 55, 24,159,167,247,184,253,242,121, 93, 63, 97, 86,102,205,118,254,159, 96,
-253,169,173, 29, 11, 76,154, 61, 22,119, 56, 34, 81, 99,137, 68,130,219,183,111,103, 53,108,216, 48,135,101, 89,219, 57,115,230,
- 56,136, 68,162,198, 31,112,239, 95, 63,123,246,172, 85,243,230,205,191, 38, 73,178, 29,195, 48,167,211,210,210, 86, 2,120,109,
-225,231, 71, 3,248, 17, 64,241,204, 82,167,211,129, 36, 73,176, 44,139, 62,125,250, 96,234,212,169,126, 15, 30, 60,192,217,179,
-103,229,237,218,181,187, 14, 32, 7,192, 80, 0,165, 90,205,148, 74,165,250,230,205,155,194,179,103,207,130, 97, 24,200,229,114,
-216,216,216,128,207,231,163,123,247,238,146, 41, 83,166,180, 61,113,226, 68,186,178, 70, 53, 74,144,146,164,226, 75, 36, 82,184,
-184,181, 28,213,239,203,104,150,101, 15, 86,162,115,224, 9, 57, 70, 13, 97,210,146,139,102, 46, 39, 69, 92, 46, 33,224,114,192,
-103, 10,240,195,207,243, 8, 46,107,226,160,146,235,243, 92, 46,151, 43,229, 67, 71,241, 40,131,136, 0,251, 49, 26, 7, 69, 81,
- 60, 1,183,108,127, 12,154, 36, 73,146, 36,185, 0, 44, 78,218,199,231,243,185, 82, 62, 91, 38,167,144, 34, 40,130, 32,120, 40,
- 99, 39, 90,144, 11, 88,179, 21,137, 55,238,149,182,164, 40,110,217,178, 37,142,156,189,141,125, 17,167,145, 17,119, 31,211,191,
-255, 6,141, 26, 53, 66,100,100,100,185,101, 50,251,104,149,101, 93,118,117,117,141, 74, 78, 78,110, 80,214,103,203, 91, 50, 44,
-195, 74,245, 62,255, 76, 91, 4,207,142, 70, 5, 62, 90,221, 90,182,108, 57,102,199,142, 29,186,207, 63,255,156,215,167, 79, 31,
- 4, 4, 4,180, 24, 60,120, 48, 0,160, 93,187,118, 88,186,116,105,139,193,131, 7, 99,247,238,221, 56,112,224,128,182,117,235,
-214,223,159, 63,127, 62, 9,133, 59, 58,223, 3,195, 48, 93,214,172, 89,243,174,165, 16, 70,163, 17, 6,131, 65, 97, 52, 26, 21,
- 69,125, 17,150, 45, 91,158,113,242, 68, 36,190,159, 54, 27, 78,142, 46, 65, 22, 62, 67,196,160,137, 19, 51, 54, 47, 94,140,197,
-187,119, 99, 98,205,154,162,173,143, 31,227,164, 70,131, 61,103,207,102, 20,125, 79,133,190,153, 42,149, 74,125,244,232, 81,155,
- 61,123,246,192,206,206, 14,181,107,215,134, 92, 46, 7, 77,211, 32, 41, 33, 40,174, 12,117,252, 27, 3,184, 9, 0,168,233, 10,
-149,175, 39, 46, 19, 4,114, 88,178,242, 62, 69,252,106,168,225,224, 46,184, 48,102, 83,128,157,141, 19, 23,199, 87,198,227,196,
-138,132,131,154, 12,252, 10, 35,158,162,108,159,175,134,158,158,158, 72, 79, 79,199,209,163, 71, 85, 64,153,130, 12, 12,195,252,
-252,219,111,191, 77,154, 54,109, 26,223,215,215, 23, 0,130, 0,220, 42,237,189, 98,177, 24,110,110,110,197,194,178, 79,248, 40,
-175,145, 19, 70, 9,123,124, 22, 10, 14,199, 1, 57, 42, 3, 50,243, 12,144, 57, 72,240,253,132, 48,193,233,134,110,141,214, 44,
-223,126, 88,173, 70, 35,224,253,254,128, 32,112,235,198,253,203,245, 4,190, 0, 65, 2, 9,228, 57, 16, 32,144, 79, 24, 64, 80,
- 20,107, 50,153, 16, 31, 31, 15,150,101,209,191,199,144,132, 17,243, 15, 56,181,232,175,132, 71, 29, 87, 16, 44, 62,249,167, 8,
- 1,123,123,251,160,204,204, 76,188,126,253, 26,225,225,225, 73, 25, 25, 25,167, 84, 42,213,144,228,228,100, 0,200,170, 2,101,
-177,152, 15, 10, 10, 66,227,198,141,209,187,119,111, 65, 65, 65, 65,152,151,151,151,219,155, 55,111,154,253,149,245,121, 87,139,
-252, 79, 9,173, 82, 27,154,193, 80, 71,187,122, 53, 84,167, 79,131,119,242, 36,246,184,186,230,107, 52,154,239, 0, 36, 20, 53,
-252,111, 54,109,222,124,165,235,181,107, 54,186,232,104,120, 61,120, 0,218,206, 46,168,178, 5,216,184,113, 35,148, 74, 37,114,
-115,115, 1, 0, 43, 86,172,128, 82,169,132,209,194,132,179, 28, 46, 90,184, 56,213, 68, 42,158,131,225,144,146,216, 58, 5, 77,
- 36, 26,105,178, 91,188,179, 42,151,116, 67,116, 92,136, 88,157,169,107, 66, 80, 58,104, 50, 10,224,214,188, 54, 56,224,180,168,
- 76, 25,205,235,254, 28, 14, 39,235,217,179,103, 93,124,124,124, 34, 0, 56, 84,197, 31,224, 29,188, 72, 75, 75, 27, 87,149, 15,
- 82, 20,245, 99, 76, 76,140,211,134, 13, 27,190,158, 51,103, 14, 91, 82,104,153,255,207,225,112,192,178, 44,108,109,109, 65,211,
-180,243,213,171, 87,157, 67, 66, 66, 86, 49, 12, 19, 84, 70, 61,217,128,128, 0,196,196,196,128,195,225,192,214,214, 22,140, 81,
-143,217, 19, 70,193, 68,241, 57,147, 39, 79, 14,234,217,179,231,195, 13, 27, 54, 24,108,154, 54,111,150,153,153,249,104, 76,255,
- 1, 15, 15, 29, 58,164, 43, 10,241, 80,241, 20,159,101,239, 62,127,254,156,114,119,117,166, 88, 99, 1, 35,230, 2,130,251,203,
- 88,158,196, 5, 2, 14,197,114, 9, 18,124,129,208,246,117, 98, 98, 38,195, 48, 79, 44,225,100, 24,230, 78, 76, 76,140,208,217,
-201,158, 83,160,214,229, 11,105,150, 23,123,231,246,171, 26,193, 13,189, 0, 64,115,231,230,121,126,157,186,194,216,180, 55,226,
-154, 53,107, 90,196,169, 86,171,239, 38, 37, 37, 81,206,206,206,156,184,132,196,195,118, 18,177,163,141,157, 93, 19, 0,208,231,
-229,222, 36,181,218, 55, 20,205,113,126,147,153,153,165, 86,171, 99, 44,173,251,203,151, 47, 57, 10,133, 19,117,252,228,153, 8,
-103, 17,223, 73,202,227,216,240, 9,130, 16, 81,132,146,107,100, 50, 4, 34,145,211,235,196,196, 44,150,101,203,180, 16, 46,204,
- 25,208,163,240,247,154,189,187, 4, 55,238,223,191,143, 99,151,159, 64,204,234, 64,104,114,113,114,211, 58,244,159, 60,237,131,
-253,254, 42, 18, 91, 85,178,102,173,169, 27,245, 14, 63, 82, 42,112,132,239,223,191,255,236,109,219,182, 21, 59,160, 60,121,242,
- 4,109,218,180, 49, 47,115,160,125,251,246, 8, 9, 9,193,147, 39, 79,224,237,237,141,179,103,207,242, 41,138,226, 15, 24, 48,
- 96,254,246,237,219,143, 86,104,247, 95,187, 22, 67,134, 12, 41,205,177,250, 37, 0, 13, 33,243,205,159,186,112,139, 67, 86,102,
- 6,210,223,164,222,181,244, 62, 16, 4,129, 65, 19, 39,102,172,209,233,176,227,198, 13, 12, 20,139, 69,155, 95,188, 64,167,144,
- 16,212,107,211, 38,195,146,190,206,108,213,209,104, 52,160,105, 26, 54, 54, 54,176,183,183, 7,151,203, 5, 69,187,130,195, 11,
- 4,201,229, 34,184,101, 32, 22,127, 39, 46, 8,239,128,229, 4,129, 28, 62, 15,119,184,162, 50,125,117, 8,113, 53,116,103, 89,
- 40, 11, 18,112,206, 44, 72,108,171,195,150,150,210, 39,135,173,242,181,179,113,226,226,216,242, 56,156, 92,149,184, 95,147,138,
-233, 69,247,130, 41,103, 34, 81,207,206,206, 14, 9, 9, 9,136,143,143,127,140,242, 29,252, 11,158, 60,121,242,138,207,231,251,
- 57, 58, 58, 2,128,103, 89, 19,115,134, 97,138,253,176,182,238,216,235, 16,212,202, 75,240,105, 11, 63,108,137,152,135,175,194,
-150,131,166, 8,152, 76,122,252,186,180, 51, 76,218,124,132,117, 29, 65,124,210,206, 59,240,116,132,110,152, 65,157,189,238,189,
-137, 0, 7,115,255,211,247,170, 29, 95, 66,214, 3, 67,216, 57, 56, 56,137,185, 92, 46,236,109, 20,186,105, 35,191, 77, 97, 89,
-182,184,221,208, 20,215, 64,230,201,213,153,169,249, 66, 59, 90, 13,176,100,141,170, 69,179,249,248, 72, 76, 76, 28,215,170, 85,
-171,249,121,121,121,217, 42,149,170, 63, 0,120,122,122, 86, 39, 73,146, 15,160,188,213,145,234, 40, 61, 44, 4,247,193,131, 7,
-144, 74,165, 72, 74, 74, 42,105,124, 1,195, 48,255,152, 77, 0,255, 80, 4, 3,184, 3, 64, 1,160, 19, 74,132,119, 32,139, 76,
-117,159, 68, 70, 70,178,145,145,145,159, 20, 15, 94, 44,203, 24,179,178,192,106, 11,239, 45, 77,211, 44,128,146, 59,154, 68,118,
-118,118, 4,237,238, 14,130, 95,232,250,193,126,196,173,175, 6,131,101,161,101, 24, 19, 40, 16,122,176, 37, 38, 45, 42, 1,129,
-121, 14,109, 49,142, 55, 3,169, 60,187,146, 35, 29, 96,100, 97, 2, 67, 85,178, 56,172, 74,165,130,209,104,148,213,170, 85,235,
-136,209,104,148, 21, 13,110,236,127,235, 23, 53,153, 76,175, 40,138,194,215, 95,127, 13,179,245, 71,167,211, 33, 53, 53, 21, 90,
-173, 22, 58,157, 14, 49, 49, 49,200,205,205,133, 78,167,195,163, 71,143,224,233,233, 9,138,162, 20,229,116,230, 44,203,178,240,
-240,240, 64,141, 26, 53, 64, 17, 44,214, 47,154,133, 31,198,143, 66, 95, 79, 6, 27, 87,254,138,214,173, 91,215,173, 89,179,102,
- 83, 14,135, 99,114,113,113,225, 30, 56,112,224,176,201,100,234, 14,203,123,158,163, 83,167, 78,173,225,239,239,239,100,103, 35,
- 53,240,121, 20,120, 6, 21,203,215,102,178,156,130, 12,120,120, 84, 55, 66, 40,242, 30, 56,112,160,169, 44, 43, 68,105,156,223,
-125,247,157,194,215,215,215, 86,102, 39, 85,241,104, 42,157, 11, 54, 35,247,254,173,235, 0,192,115,116,210, 64, 32,242, 11, 15,
- 15, 55, 86,134,115,198,140, 25,158,142,142,142,118, 36,216, 60,147, 94,255,231,122,187, 86,151, 73,208,180, 26, 92, 94,195,177,
- 99,199, 18,149,225,156, 52,105, 82, 77, 63, 63, 63, 59, 59, 27,113, 62,135,166, 82,184, 12,147, 34, 0,147, 74,235,244,217, 2,
- 71,135, 2,136, 36,193, 3, 7, 14, 44,147,211,108,205,154, 50,101, 74,194, 59,194, 27, 89, 89, 89,208,164, 62, 4, 55, 41, 26,
-129, 18, 26,141, 28,101,224,243,249,197, 91,223,203,122, 92,203,242,209, 42, 77,108, 89,250,217,134, 63,149,179, 4,184,166,110,
-212,187,113,179,146,147,147,161, 80, 40,202,109, 79,219,183,111,159, 22, 26, 26,154,222,190,125,123,221,145, 35, 71, 64, 16, 4,
-206,158, 61,139,164,164, 36,180,111,223, 30, 44,203,154,119,181,225,238,221,187,104,215,174,157,174, 85,171, 86, 73, 69,241,181,
- 42,196,144, 33, 67, 96, 48, 24,144,159,159,143,172,172, 44, 68, 70, 70, 34, 48, 48,144, 21,137, 68, 61, 41,143,207,230,133, 13,
-155,214, 44,160,126, 16, 86, 45, 95,172,227,113,232,133,149,105,175, 4, 65, 32,252,187,239, 50,114,131,131,179,182,170, 84, 5,
-131,108,108, 68,181, 18, 18,228,183, 79,156,112,208,235,245, 22,113,152,173, 58,238,238,238,197, 34,139,203,229,130,195,115, 4,
- 37,174, 7,158,125,123,136, 92,122,226,220, 29,190,214, 86,140,131, 82, 9,142,139,237,202, 14,237, 32,242,192,188,102,125, 20,
- 7,154,247, 85,156, 17, 85,195,134,162,241,128,100, 57,196,129,193,191,250,212,114,172, 33,196,181,189,169, 56,185, 42,241, 15,
- 77, 42,102, 1,120, 81, 81, 59,215,235,245, 26,147,201, 4,146, 36,193,225,112, 74,250, 4, 94,249,227,143, 63,112,251,246,109,
-160, 68,216,158,188,188, 60, 19, 69, 81, 16, 8, 4, 0, 32, 41,167,191, 3, 77,211,160,105, 26,231,175, 95,180,239,251, 69,103,
-226,234,189, 83,104, 30,216, 15,153,249,122,164,229,234,145, 83, 0,248, 55,154,142,128,118, 7,113, 63, 38, 15, 65,245, 3, 40,
-138, 39, 14, 47,141, 79,243, 26, 9,170,120,244,202,124,204,212,214, 37, 10,143, 93, 59,244,228,241,197,125,247, 31,237,250, 45,
-226, 69,179, 70,173, 84, 69,198, 4,228,231,231,179, 4, 65,176,223, 14,159,246,106,235,144,108,211,242,254,247, 25,142, 86,240,
-242,111,236,234,171, 59, 58, 58, 94,181,183,183, 63, 91, 36,142,170, 75,165,210, 43, 10,133, 34, 26,133, 27, 61, 14,165,164,164,
-248,170, 84,170,230, 40,220,156, 21,151,153,153,217,166,200,242, 20, 87,142, 37,108,131, 82,169,252,198,100, 50,117, 45, 58, 58,
-152, 76,166,160,231,207,159,251, 5, 5, 5, 61,246,242,242,186,235,229,229,117,204,203,203,235,176,151,151,215,225,208,208,208,
-165,230,112, 15,127,241,178,225,123, 90,228, 95, 38,180, 80, 36,178,214, 22,189,162, 88,104, 1, 56,255,174, 3,154,145,207,127,
-100, 28, 51, 6,118,135, 15,131,126,254, 28,131,195,195,109, 68, 34,209,114, 20,198,104,106, 46,145, 72, 86,205,154, 53, 75,234,
-176, 96, 1, 92, 47, 94, 68,108,100, 36, 12, 52,125,171, 42,165, 83,171,213,224,112, 56,197,150, 24,177, 88, 12,147,201,132,210,
- 76,190,239, 53, 64, 35,174, 37,165, 69,131,135, 26, 96,192,230, 31, 87,182,186,209,239,213,116,167, 72,165,167,247, 11, 21,215,
-251, 39,199, 38, 78,203,171,183,184,161, 34, 56,249, 60, 59, 1,226,227, 19, 96, 2, 83,169,245,102,141, 70,147,171, 82,169, 16,
- 20, 20,100,127,251,246,237, 90,129,129,129,242,162,235, 55, 63,240,135,105,234,234,234,186,215,205,205,237,181,171,171,235, 94,
- 0, 77, 43,241,217, 13,151, 46, 93, 2, 69, 81,152, 53,107, 22,242,242,242,160,215,235,145,153,153,137,248,248,120,232,116, 58,
- 36, 38, 38,226,233,211,167,208,233,116,136,141,141,133, 86, 91,241,132,132, 97, 24,216,216,216, 64,163,206,199,239,243,126,192,
-140, 41, 19,144,251, 50, 10,137,201,105,176,179, 21, 99,220,184,113,148, 76, 38, 99, 24,134,169, 97, 50,153,218, 49, 12,179,218,
-146,223,169,196,243,118,217,195,195, 35, 96,209,162, 69,126, 63,204, 91,205,181,225,228,179,124,169,128,225, 73,249, 44,175,110,
- 19, 12,153,190,156,187,108,201, 47,207,174, 93,187,150, 4,203,130,119,146, 0, 46, 7, 7, 7,251, 36, 37, 37, 5,250,250,250,
-214,113,168, 94,147,207, 87,184,229,112, 21,213,148,172, 86,115,131,112,171,214,114,245,234,213, 15,175, 92,185,146, 92, 25, 78,
-177, 88, 92,119,203,150, 45, 1,206,206,206, 1,180, 80, 40, 40,200,205,221, 99, 44, 80,237,165,236,100, 2,210,198,174,195,193,
-131, 7,163,246,239,223,159, 90, 25, 78,111,111,111,223,121,243,230,249,215,171, 87,207,223,197,179, 22, 95,232,230,145, 41,112,
-175,158, 41,172, 23,200,135,123,141,207, 87,173, 90,117,247,218,181,107, 22,113, 82, 20,101, 36, 73, 18, 52, 77, 67, 36, 18,225,
-248,241,227, 24, 51,172, 31, 60,220,236, 81,199,215, 23,109,191,250, 6,251,247,239, 47,246,225,161, 40,170,204, 17,125,243,130,
-113, 17,193, 10, 34, 10,107,234, 70, 97, 77,221,168, 96, 5, 17, 85,166,216, 42,250,123,105,239,177,168, 55, 42, 99,185,209, 2,
-177,117,244,252,249,243, 63, 15, 26, 52,136,215,177, 99, 71,220,184,113, 3, 67,134, 12,185,124,224,192, 1, 0,192,141, 27, 55,
-240,237,183,223, 94, 62,115,230, 12, 70,141, 26,133, 54,109,218,240, 46, 93,186,180, 10, 22,196,254, 49, 26,141,216,184,113, 35,
-140, 70, 35, 36, 18, 9,228,114, 57, 58,119,238,140,135, 15, 31,142,218,180,105, 83, 52, 69,211, 95,118,234,250, 5,142, 28, 62,
-128,167,143, 30,142,218, 60,127, 64,165,131, 2,147, 36,137,142,225,225, 25, 25,254,254, 89,155,149,202,130,161, 50,153,200, 55,
- 53, 85,126,110,239, 94, 7, 11,132, 26, 97, 50,153,138,197,149, 89,116,152, 15, 14,207, 17, 28,113, 0, 56,210, 70,184,255,130,
-107,224,134,224, 14,175, 17,158,148, 23, 63,139,230,145, 67,122,254,224,137,158, 63,120,162,219,228,154,131, 69,213,176, 94, 92,
- 13,163, 59,142,175, 17,234,213,200, 22,202,116, 61, 34,127,141,141,211,100, 98, 1,128,167,150,180,115,134, 97, 30, 39, 37, 37,
-129,199,227,161, 90,181,106, 62, 0,204,126,129, 27,134, 15, 31, 62,246,167,159,126,154, 0,224,167,162,107,146,208,208, 80,255,
-252,252,124, 60,127,254, 28, 0,110,151, 99, 13, 46,222,101,152,165,140,229,215,116,173,135,192,186, 35, 33,147,213, 71, 82,150,
- 14,201, 89, 58,172,255,189, 59,162, 46,205,197,237,147, 3, 17,151,154, 10,161, 75, 15,152,140,218, 0, 11, 38,245,174,247,238,
-221, 35, 46, 93,186, 68, 48, 12, 3,131,193,192,230, 41,149,236,157,203,151,161,190,112,129,176,177,177, 33, 90, 52,110,149,191,
-121,238,145,155, 7, 87, 94,190,173, 47,168,244, 68,253, 67, 48,227,213,171, 87, 77,247,238,221, 27, 10, 96, 70,189,122,245,174,
-197,199,199, 55,187,120,241, 98, 29,119,119,247,229, 85, 37, 53,135,133,136,141,141,125,235, 40, 10, 11,161, 43, 18, 13, 29,139,
-196, 92, 55, 0,223,226, 3,118,217, 87, 2,231,255,197,206,240, 71,240,206,110,195,119,133, 86,201, 64, 97,240,146,201,164, 6,
-131, 62,241,212,169, 83,122,146, 36, 33, 18,137, 48,104,200, 16,242,247,223,126,107,217,175,105,211,179, 35, 62,253,244,216,217,
- 51,103,130, 67, 66, 66,192,178, 44, 72,146,196,238,221,187,213, 26,141, 58,211,195,195,195,206,146, 78,163,100, 3, 82, 42,149,
-197, 66, 43, 55, 55, 23,206,206,206, 22, 47, 29,170,148, 56,125,230,120, 84, 54,107,250, 42,190,227,139, 37,250,133,169,221, 67,
-114, 24, 19, 39,215,100, 64,174,154, 69,158, 6,156, 27,164, 60,100,144,119, 15,125, 76,187,144,167, 23,162,175,102,106, 76,154,
- 74,237,150, 72, 79, 79,255, 33, 44, 44, 44, 83,161, 80, 16, 54, 54, 54,112,115,115, 35,187,117,235,150,145,144,144,240, 83, 85,
-127, 17,123,123,251,190,161,161,161, 17, 73, 73, 73,189, 46, 92,184, 80,227,226,197,139,189, 66, 67, 67, 35,236,237,237,251, 90,
- 72,177,103,218,180,105, 42, 30,143,135, 38, 77,154, 32, 47, 47, 15, 69,187,124,202, 61, 44, 89, 34,229,114,185, 88,179,232, 71,
-204,152, 50, 1, 89,209, 55,112,255,242, 41,156, 79, 37, 48,125,222, 47,224,114,185, 85,138,245, 85,219, 81, 84,175,158,171,244,
-201,183, 67,250, 36, 79,157, 50, 69,122,247,238, 93,122,236,248,111,217,216,148, 44,240, 58, 46,166,240,201, 15,228, 61,149, 35,
- 58,117,104,139, 89, 51, 38,214, 43, 10,218, 89, 46,234, 58,138,234, 5,184, 74, 31, 79, 28,209,239,213,248,241,227,133, 11, 23,
- 46,212, 52,109,218, 84,157,150,150, 38, 20,203,228,190, 28, 91,187,128,216,148, 84, 73,211,166, 77, 99,190,250,234,171,156,202,
-114, 78,159, 62, 93,116,226,196, 9, 78, 88, 88,152, 49, 59, 59, 91, 66, 11,133, 65, 4, 95,208,248, 77,118,182,109,175,176,176,
- 23,189,122,245, 42, 40, 10, 88,106, 49,231,204,153, 51, 69, 79,159, 62,229, 52,109,218,212,144,154,154, 42, 21,219, 59, 4, 82,
-118,242, 70,175, 83,210,108, 26,135,132,188, 28, 59,118,172,170,188,114,150, 20, 41, 82,169, 52,169,121,243,230,248,245,215, 95,
-177,108,217, 50,124,254,249,231,120,248,232, 33, 58,141,157, 0,191,209,223,226,240,213,235, 72, 74, 74,194,156, 57,115, 16, 24,
- 24, 8, 46,151,251,180,212,246, 56, 42,154,184,155, 10,226,110, 42, 8, 98, 84, 52, 97, 62, 47,211,178,245, 83, 46, 74,190,191,
-180,247,221,158, 89,186,165, 43, 88, 65, 68,149,231,135, 85,145,216,234,213,171,215, 24,115, 8,135,161, 67,135, 94, 94,190,124,
-121,139,161, 67, 11, 39,218, 77,154, 52,193,220,185,115, 91, 76,159, 62,253,242,188,121,243,208,182,109, 91,120,121,121, 85,184,
-241,197,100, 50,193,104, 52,162, 95,191,126, 48, 26,141,120,243,230, 13,158, 61,123,134,181,107,215,130,101, 89, 1, 0, 40, 92,
-221, 27,242,120, 60,220,187,115,171, 96,198,208,144,237,149,176,100, 17, 37, 39, 49,249,249,249,232, 53,122,116, 70, 98,237,218,
- 89,171, 51, 50, 10,134,201,100,162,154,113,113,114,169, 78,231,134,114,252, 18, 9,130, 0,195, 48,197,194,202, 44,184,222, 61,
-138, 6, 74,139,160, 47, 96,142, 94,220,150, 12, 0,104, 53,192, 21,221, 38,215, 28,172,240, 22,173,104,217,191,208,232,189,127,
-238, 43, 54, 47,217,180, 16, 6, 60,174,132,197,250,198,141, 27, 55, 96,103,103,135,176,176, 48, 62, 73,146, 11,204,243, 85, 20,
-198,206, 90, 98,230,226,243,249,139, 7, 14, 28, 72,230,228,228,224,254,253,251, 0,112,166,172,126,137,101,217,226,186,231,103,
- 17, 48, 49, 60, 92,185,115, 28, 39, 47,238,195,235,164, 55,136, 75,215, 0, 28, 91,104, 84,137,208,171,147,160,203,185, 3,165,
- 86,100, 81,129,185, 92,238,155,122,245,234,177,141, 26, 53, 98, 89,150,197,203,151, 47,141,177,113,113,198, 91, 75,151,178, 15,
- 70,142, 36,164,207,158,113,133, 66, 33,225,233,233, 9,129, 64,192, 8, 4,130,204,191,113,240,254, 75,194, 45,252, 5, 97, 33,
- 62,166, 85,139,197,191, 19, 41,120,123,183, 97,113, 0,211,210, 2,150,130,181, 17,246,217,183,234,119,219,176,126, 3, 84,129,
-129,129, 50, 55, 55, 55, 16, 4,129,238, 61,122, 16,161, 23, 46, 72,105, 87, 87,216, 55,104, 80,188, 28,113,250,212, 41, 28, 63,
-126, 92,117,228,143,131,110, 67,134, 13,235, 2, 96, 75, 57,133,225,240,249,252,226,239, 77, 73, 73, 1,159,207, 47,246,137, 80,
- 42,149,112,116,116, 68, 74, 74, 10, 44, 92,153,219, 58,117,202,245, 41,233, 33, 63,120,134, 72,105,226,152, 42, 21, 38,150, 5,
- 77,152, 0, 53, 11,131, 9,208, 26, 88, 52,172, 73,201, 79,170,141,178,200, 27, 7, 98, 0,108,173,204,221,211,106,181,231,238,
-222,189, 59,146, 97,152,125, 0,200, 11, 23, 46, 48,143, 31, 63, 30, 3,203, 29,215,223, 55,219,139, 68,147,207,158, 61, 43,159,
- 60,121,114,118,100,100,100,110,231,206,157,109,215,174, 93, 43,111,211,166,205,228,204,204,204, 93,150, 24, 2,227,227,227,183,
- 36, 36, 36,140,105,212,168, 17,178,178,178,160,215,235, 17, 21, 21, 5,111,111,111,220,190,125, 27, 62, 62, 62,184,117,235, 22,
-234,212,169, 3,147,201, 4,141, 70, 3,134, 97, 76, 21,117,230, 89, 25,111,128,204,120, 36,223, 56,134,103, 15,162,112, 54,153,
-192,202, 93, 17,168, 86,195,179, 74,113,106,124,156, 68,254, 10, 71,251,147, 11,103,207,116,138, 61,183, 27, 7, 54,174,100,206,
- 31, 59,230,199,147, 98,228, 39,253,190,249, 66,103, 64,117, 0,188,102, 33,141,208, 81,246,212, 36,170,129,212,179,143,203, 15,
-176,232,227, 36,242,119,118,176, 63,241,159, 5, 63, 73, 95, 30,223,140, 61,107,126,101,247,111,219, 25,168, 1, 66,252,253,253,
- 59,146, 36,105, 7, 64, 83,228,231,101, 81,106,155,210, 56, 79, 71, 68, 4,107,128,144, 67,135, 14,117, 20,137, 68, 46, 0, 12,
- 5, 5, 5,175, 62,132,243, 76,100,100,176,185,156, 4, 65, 56, 1,208,179, 44,251, 18,149, 76,193,211,187,119,239,185,223,126,
-251,237, 20,147,201,228, 88, 98,118, 78, 45, 94,188,152,195, 48, 12,197,178,172,158, 36, 73,253,137, 19, 39, 76, 70,163, 49, 89,
-163,209,140,254,144, 94,228,139, 47,190,192,245,235,215,103,163,112, 19,134,165,214,234,183,252,180,138, 82,246, 84,153,255,194,
-133, 11,115,190,252,242,203,169,187,118,237,122,182,124,249,242,174,163, 70,141,194,238,221,187, 81,187,118,109,220,187,119, 15,
- 63,252,240, 3, 0,180,152, 62,125,250,225, 13, 27, 54,120,197,198,198, 46,182,192,162, 1,163,209,136,157, 59,119,162,123,247,
-238,112,116,116,132,171,171, 43, 8,130, 56, 55,108,216,176,223, 0,128, 34, 40, 46, 0,104, 53, 90,173,175,111, 35,139, 45,184,
- 92, 46,183,184,175, 75, 77, 77, 45,222, 41,248,217,151, 95,102,172, 95,184, 16,219,213,106, 12,147,201, 68,137,238,238,138,195,
- 47, 95,142,120, 84,216, 57,179,229, 89,117, 42, 18, 89,150,186, 52,168, 83, 48,237,143,249,175, 93, 0,124,222,106,128, 43, 90,
- 13,112, 69,163,110, 78, 4, 73, 17,120,112, 50, 19, 15, 79,103,237, 55, 40,113, 14,149, 75,151,243,120,193,130, 5,135, 63,249,
-228,147,174,117,235,214,197,240,225,195,191,218,184,113, 35,215, 96, 48,140,199,159, 97, 30,108, 73,146,252,105,205,154, 53, 35,
-228,114, 57, 46, 93,186,132,139, 23, 47,158, 3, 16, 95, 86,191, 4,160, 56,102, 86, 53, 15, 31,205,211,216,124, 81,122,210, 21,
- 92,190,244, 7,106, 7,126, 3,161, 75, 23,200,125,231, 65, 31,189, 12,186,204,147,144,123,116, 70, 98,236, 75, 80, 28,254,195,
-138,156, 80, 88,150,125,148,152,152,232,229,229,229, 69,188,126,253,218, 8,128, 53,153, 76,172,190,101, 75,131,223,194,133,244,
-195,175,190, 34,154, 61,125, 74,177, 4,193, 68, 69, 69, 1,192,147,255,198, 40,110, 14,183,240,240,225,195,178,194, 45, 84, 10,
-245,234,213,107,113,241,226, 69,190, 70,163,193,249,243,231,209,184,113,241,222,174,255,106,244,251,146, 90,228, 95,134, 17,165,
- 92, 91,251,150, 69,235,173, 7,155, 33,232, 58, 62, 62, 38, 46,137, 77,221,187,116, 41,184,123,247,110,241,172, 79,115,243, 38,
- 84,199,143,195,100, 50,129,101, 89, 92,188,112, 1, 3, 7, 12,200,167, 41, 98,125,205,154, 53, 88,130,125, 43,118, 75,187, 82,
-102, 15, 97, 97, 97, 97,197,157, 79, 66, 66, 2,196, 98, 49,120, 60, 30, 24,134,129,209,104, 4, 69, 81,176,181,181,133,209,104,
- 44,205, 4,243, 46,167,193,148,165,234,181,161, 83,255, 20,215,124, 61, 59,210,174, 38,170,115,133,197,141,211,197,134, 64,215,
- 64, 26, 14,156,116,246,204,226, 79,147, 25,109,102, 47,188,191,163,171,162, 45,255, 62,245,235,215,255,109,224,192,129, 36, 0,
-180,107,215,142,172, 95,191,254, 10,148,159, 42,167, 92, 78,129, 64,192, 7,128,136,136,136,172,103,207,158,125, 30, 17, 17,145,
- 85,242,186,133,156,107, 23, 45, 90, 4,145, 72, 4,163,209, 8,157, 78, 87,236,159, 85,242, 85,175,215,195,193,193, 1, 71,142,
- 28,129,201,100, 58, 82, 81, 57, 61,170,215, 0,225, 88, 11, 91, 34,206,226, 98, 6,183, 42, 34,171,152,179,150,139,184,142,139,
-131,253,169,255,204,159,227,152,253, 34, 10,137,137,137,236,137,227, 71,174,105,128,164,220, 60,204,200, 81,161,142, 90, 7, 65,
- 99, 47,196,159, 90,243, 61, 59,189, 21, 12, 40,125,215, 96, 49,167,159,139,184,142,155,163,253,137, 95,254, 51, 95,154,243, 34,
- 10, 41,169,169, 56,122, 36,226,174, 6, 48, 47, 55, 14,102, 24, 38,128, 97,152, 0, 0,131,203, 17, 47,149,226, 44, 40, 40,168,
- 87, 80, 80, 80,239, 99,114,178, 44, 91,143,101, 89,139, 57, 75,250, 68, 45, 89,178, 36, 58, 37, 37,101, 96,122,122,122,123,243,
-145,157,157,221, 46, 63, 63,191,117, 65, 65, 65, 75,245,146, 26,182, 5, 5, 5, 78,249,249,249, 10,141, 70,211, 16, 64, 84, 37,
-158,249, 98,148,140, 58,157,146,146, 50, 43, 37, 37,133,168,168,156,212,232,104, 98,199, 47, 19,255, 88,179,102,141,226, 3,249,
-223, 42,103, 70, 70,198,190, 93,187,118, 5,121,122,122,122, 13, 30, 60, 24,171, 87,175,198,242,229,203,181, 0,176, 97,195, 6,
-109, 9, 75,150, 71,108,108,108,163, 50,150, 13,219,149,176,150,108,253,236,179,207,216,139, 23, 47,162,123,247,238,197,129, 68,
-215,173, 91, 7,163,209,168,108,219,182, 45, 3, 0,106, 77,129,146,101, 88,232,244,101,174,191,191,119, 63,121, 60, 94,135,146,
-241, 2,205,193,152,121, 60, 30, 88,150, 69,157, 22, 45, 50,114, 2, 3,179, 54,230,230, 22,204,170, 87,207,102,132,175,239,224,
-186,192,128,210, 56, 9,130,120,203,170,243,238, 81, 9, 75, 86,201,114,166,171,147, 49,252,143,249,175,143,155, 45, 91, 2, 9,
- 7,154, 60, 35, 14, 46,124,253, 70,243, 6,235,202, 18, 63,229,213, 61, 43, 43,107,236,194,133, 11,181, 50,153, 12, 95,124,241,
- 5,230,205,155, 55,172, 69,139, 22,185, 78, 78, 78,215,107,215,174,253,160, 79,159, 62, 41, 81, 81, 81, 99, 67, 67, 67,241,252,
-249,115,252,242,203, 47, 57,217,217,217,253,203,227, 36, 8,162,216,146,215,173, 83,187,172,223, 87,252,202,180,253,100, 12, 68,
- 66, 27, 24,104, 15,100,229, 27,144,173, 98,161,227,135,128,199,229,163,125, 83,127, 92, 63,177,185,192,164, 83,109,169,232,153,
-207,207,207,223, 63,104,208, 32, 37,151,203,133, 78,167, 99,105,154, 6,191,208,239,152,161, 63,255, 92,223,236,241, 99,163,137,
-101, 25,130, 32,240,221,119,223,169,178,179,179,119, 85,165, 29, 85, 2, 37, 57, 63, 86,184,133,118,239,140, 63, 31, 35, 44,196,
- 95, 81,247,127, 51,214,150,114,252,105,209, 50,111,169, 52,191, 18, 4, 99, 50,153, 24,212,244,172, 41,141,125, 29,191,178,119,
-239,176,161, 29, 59,118, 18,117,234,212, 73,224, 31, 93, 56, 27,141,136,136,192,129, 3, 7, 10, 78,158, 60,169,228,211,212, 6,
-143,106, 30,206, 38, 19, 3,130, 96,202, 85,195, 82,169,116,252,180,105,211,132,185,185,185, 88,190,124, 57, 19, 20, 20, 68,138,
-197, 98,232,245,122,108,216,176,193,224,239,239, 79,147, 36,137,220,220, 92,144, 36,249,212,194, 10,222,207,141, 79,106,255, 91,
-104,207, 3,141,190, 30, 98,239, 23,218, 76,214,218,195, 13,134, 6, 44,146, 19, 94,227,217,153,147,217,143, 78, 44,205,132, 38,
-173, 39, 42, 78, 15, 84,218, 64,240,227,201,147, 39,157,198,142, 29,203,106, 52, 26, 34, 62, 62,158,157, 63,127,190,211,240,225,
-195,127, 76, 78, 78,238, 91,197, 31,133,200,201,201, 1, 65, 16, 76, 81, 71, 98,158,245, 87,102, 93,238,225,150, 45, 91, 14,245,
-232,209,163, 91,219,182,109, 17, 29, 29, 93,188, 68, 88, 82,104,153,119, 31, 46, 88,176, 32, 7,192,212,138, 72,105,154,198,242,
- 45,251,144,147,157, 1,103,103, 87, 8,132, 66, 84,117,135, 37,143, 36,103,253, 60,103,166, 83,198,147,235,196,195,107,103,153,
-189,247,211,210,141, 38,182,244,136,255,121,201,108,145,250, 47,127, 54, 67, 82,179,126,158,255,147,173,121, 89,115,215,157, 20,
- 37, 97, 98,199,126, 80, 19,249,183,112,254,205,112,117,117, 69, 74, 74, 10,225,234,234,202, 22,249,104,177,229, 8,173,183, 31,
-240,194,229, 50,162,188,101,195,170,242,199,196,196,204,111,208,160,193,196,231,207,159,239,245,243,243, 27, 5,160,154, 86,171,
-205,153, 62,125,250,127, 54,108,216, 48,212, 18, 75, 22, 0,236,222,189,123,233,144, 33, 67,142,119,233,210,229,123,134, 97,234,
-151, 24,216, 99,156,156,156,138,151,112,223,164,165, 78, 25, 57,180,223,148,252,252,108,139,227,220, 73, 36,146, 17,211,167, 79,
- 23,168, 84, 42,172, 90,181,138,241,247,247, 39,205,147,162,109,219,182, 25,125,124,124, 56, 97, 99,198,100, 44, 73, 77,197,220,
- 75,151, 84, 83, 2, 2,130, 54, 62,123,214, 16, 12,179,181, 44,171, 78,105,150, 44,179,219, 69, 21,145, 92, 36,182,214, 1,248,
-188, 89,111, 23, 28, 90,244, 26,217,177,186,255,192,136,151,176, 32, 45, 80, 41, 72,220,191,127,127,251,180,180,180, 67, 51,103,
-206,180,109,216,176, 33, 2, 2, 2,104,137, 68, 18, 98, 14, 23,147,155,155,139,211,167, 79, 99,245,234,213,186, 71,143, 30,245,
- 40,111,185,202,100, 50,165,251,248,248,152,239, 3, 75, 16, 68,166, 82, 75,216,238,169, 27, 34, 25, 60,114, 47,113,249,214, 85,
- 36,235, 25,104, 13, 12,106,122, 6,163,245,231, 75,112,248,216, 3, 83,114,236,227,199, 6,117,246,122, 11,202,251,242,197,139,
- 23, 7,231,204,153,211,251,251,239,191, 23,102,100,100,152,180, 90, 45,179,111,223, 62,106,240,224,193, 38,150,195, 97,184, 28,
- 14,198,143, 31,175,206,201,201,249, 3,248, 91, 19, 76,255, 37,225, 22,254,130,176, 16, 31,205,154, 85,242,245,127, 5,165,182,
- 80,134, 34,175,172, 94,243,123,135,221, 59,119,185, 80, 20,233,242,242,213,171, 91, 93,123,246, 74, 58,117,234,148,156,107,107,
-219, 24, 0,163, 27, 53,234,154, 94,171,206,138, 60,116,168,122,205,154, 53, 2,139,146, 74,179, 12, 69, 94, 41,239, 11,243,243,
-243, 85,151, 46, 93, 42,152, 58,117, 42,145,144,144,176,195,217,217,185,207,177, 99,199, 36, 61,123,246, 84, 71, 71, 71,239,119,
-113,113,233, 22, 26, 26, 42,157, 56,113,162, 54, 63, 63,191, 50,137, 71, 31,179,111,178,235,222,156,185,248,203,155,139,126,255,
- 20, 28,170, 57,180, 52,192, 24,174, 64,159,119, 10,192, 14, 84, 34,222, 81, 73,136,197,226, 64,145, 72,132,187,119,239,102,135,
-132,132,232, 52, 26, 13,119,222,188,121,246, 98,177, 56,176,170, 55,158,101, 89, 54, 59, 59, 27, 12,195,112, 0, 16, 69,175, 96,
- 42,191, 23,191,111,215,174, 93, 15,237,217,179,231,179, 78,157, 58,193,203,203, 11, 6,131, 1, 62, 62, 62,208,233,116,240,246,
-246,134, 86,171,197,236,217,179,145,155,155, 59, 1,229,228, 60, 35, 8, 2, 70,163,177,216,217,214,205,189,122, 97,156,158, 15,
- 8, 99, 33,166, 73,175,167,145, 27,145,158,153,193,236,185,151,150, 86,160, 55,181,127,241,166,224,209,187,239, 43, 48, 65, 21,
- 58,120, 92, 18, 0,104,153,242, 51,206,139,121,240,122,118,100, 29,210,210, 51,176,251, 78, 74,142, 74,207,124,254,172, 20,206,
- 74,149,243, 95,194, 25, 60, 59, 26,189,198, 89,254,222, 15,129,165,130,170, 44,220, 77, 5,113, 91,180,145,197,154,141,165,198,
-200,250, 64,254, 67,207,159, 63, 63, 4, 0,143, 31, 63, 78,232,215,175,223,148,215,175, 95,207, 1,112, 52, 54, 54,118, 77,101,
-136, 54,110,220,248, 28,192,144,242,222,179,107,241,144,131, 0, 14, 86,134, 55, 47, 47, 79, 19, 21, 21,165,153, 56,113, 34,145,
-144,144,112,204,197,197,229,179,227,199,143,139,122,246,236,169,125,248,240,225, 25, 87, 87,215, 86,237,218,181,147, 28,189,113,
- 35,169,224,229,203,200,200,196,133,151,166, 0, 0, 32, 0, 73, 68, 65, 84,215,175,221, 13, 12, 19, 89, 94,251,252,200, 34,235,
- 45,177,117,112,238,235,159, 15,253,252,186, 29,163,197,126, 93, 54,174, 1, 72,252, 0,206,139, 87,174, 92,241, 27, 48, 96,192,
-158,206,157, 59, 55,243,243,243, 67,181,106,213,240,236,217, 51,188,121,243, 6,247,239,223, 71, 68, 68, 68,132, 70,163,169, 48,
-161,118, 86, 86,214,251,233,137, 4,114,215,205,171,102, 69,220,186,220,216,167,101,167, 65,194, 0, 87, 6, 58, 61,139,132,184,
-151,152, 61, 99,125, 65, 74,220,243,199,122,163,190, 7, 44,220,168,163, 86,171,215, 46, 91,182,140,142,140,140,236,180,114,229,
- 74,105,245,234,213, 41, 46,151, 75, 2, 96,111,223,190,205,142, 27, 55, 78,149,145,145,113, 68,169, 84,174,253,155,199,232,139,
-175, 94,189, 10,166, 40,234,163,134, 91,248,128,176, 16, 86,124, 76,120,122,186,251,213,170,238, 58,202,171,154,251, 24,207,234,
- 30,225,165, 57,185,123,201,100, 82,207, 26,110, 35,188,170,185,143,169, 85,221,117,148,167,167,187,159, 5,166, 69, 47, 27, 27,
-155, 99, 10,133, 34, 8, 0,108,109,109,187,217,217,217, 61,178,181,181,237, 86, 52, 11,236, 38,145, 72,158,248,251,251, 15,255,
- 27,205,149,229,114,250,248,248,244,203,207,207,255,202,199,199,167,159,249,252,229,203,151,197,231, 85,225,244,240,240,104,123,
-251,246,237,190,139, 23, 47,254,162,118,237,218,221,230,207,159,255,197, 31,127,252,209,215,221,221,189, 97, 21, 56,249, 0,182,
-211, 52,157,198,227,241,210,105,154, 78, 51, 31, 28, 14, 39,141,162,168, 52, 0,107,202,176,150,181, 43, 49,203,185,236,236,236,
- 28,235,236,236, 28,235,226,226, 18,235,226,226, 18,171, 80, 40,222, 59, 28, 28, 28, 46, 91,122, 63,125, 93, 36, 45, 66,170, 73,
-175,212, 83, 72, 46,215,117, 22,251,126,140,223,200,215, 69,210,162,113, 53,219, 43,245, 20,210, 75,255,223, 56,131, 92,192,178,
-171,125, 89,118,181, 47, 27,228, 2,182,162,243,143,105,246, 87, 40, 20,172, 66,161,152,245, 87, 45, 37,148,193,255,183,183,247,
-143,200,233, 37,149, 74,119, 85,171, 86,205,220,215,117,177,177,177, 57, 39,145, 72,186, 20,245,117, 93,196, 98,241, 5,127,127,
-255, 65, 21,113,202,229,242,219, 78, 78, 78,169, 69, 71,138,179,179,115,138,179,179,115,138,147,147, 83,178,147,147, 83,178,163,
-163, 99,146,249,176,179,179,187, 94,197,186, 59, 1,104, 2,160, 33, 0,155,143,120, 63, 61, 1,140, 44,234,131, 22, 2, 24, 14,
-160,254, 71,248,141, 8, 90, 40, 31,205,183,243,184, 66, 75, 28,243,104,137, 99, 30,223,214,253, 74, 57, 41,120, 44,225,172, 35,
-151,203,231,217,216,216,252, 33,149, 74, 47, 73,165,210, 67, 14, 14, 14,243, 1,212,249, 47, 61, 75, 18, 0, 27, 80, 24,159,233,
- 40, 10,151,194, 15,161,112, 83, 65,245,127,224, 51,255,255, 25, 35,254, 91, 95,220,206,202,105,229,180,114, 90, 57,173,156, 86,
-206,127, 33, 39,105,189,159, 86,161, 85, 73,161,245,238, 1,160,156,200,240, 86, 88, 97,133, 21, 86, 88,241,255, 24,140,245, 22,
- 88, 81, 73,148,186,180, 76,148,163, 74, 43, 19,107,170, 42,202,246,180,149,211,202,105,229,180,114, 90, 57,173,156, 86,206,255,
-119,156, 86,124, 68, 88,205,170, 86, 78, 43,167,149,211,202,105,229,180,114, 90, 57,255,215, 97, 93, 58,180,194, 10, 43,172,176,
-194, 10, 43,172,248,139,176,182,132,224,122,107, 9,209, 42,180, 42, 15, 18,192, 87, 0,122, 1,168,133,194,108,246,251, 0,252,
-134,170,173,233,219, 0,152, 2,160, 57, 10,119,231,196, 0,184,132,194,221, 57,249,214,219, 93, 58, 28, 28, 28,166,209, 52,109,
- 7, 20,166, 54, 49,191,150,252,191,201,100,202, 81, 42,149,243,255,162, 34, 80,176, 48,130,178,185,172, 37,203, 86,242,213, 96,
- 48,252,149,229,180,226,159, 9, 31,185, 92,190, 61, 43, 43,171, 63, 74, 36, 89,182,194,138,255, 5, 56, 58, 58,142,210,235,245,
-211,185, 92,238,188, 55,111,222,252,254,255,168,234,239,137,172,183,132, 86,100,100,228, 5, 0,232,220,185,243, 39, 0, 96,103,
-103,119,149, 36, 73,207,202,124, 3,195, 48, 49, 57, 57, 57,101, 6, 80,179,179,179,187, 74, 81,212,123,156, 6,131, 65,202,225,
-112,242, 74,251,140,209,104, 76, 84, 42,149, 13,255, 33, 55,145, 0, 16, 41,147,201, 52,115,230,204,249,173,117,235,214, 30,201,
-201,201,198,201,147, 39,183,186,119,239, 94, 39, 0, 29, 42, 41,182,154, 18, 4,177, 57, 40, 40,232, 96,120,120,248,158,144,144,
- 16, 94,102,102,166,116,223,190,125,110, 91,182,108,137, 98, 24,166, 63,202, 73,180,250,255, 25, 52, 77,219, 37, 38, 38, 74,129,
-194,212, 36, 69,194, 10, 6,131, 1, 6,131, 1, 42,149, 10,129,129,129, 31,253,123, 93, 92, 92,130, 9,130, 88, 41,145, 72, 26,
-230,231,231,223, 2, 48, 38, 37, 37,229, 94,101,202,106, 52, 26,193,178,108,113, 57,253,252,252,172, 63,104,229, 48,140,199,227,
-125,238,237,237,221, 88,171,213,102,199,196,196,220, 52,153, 76, 51,241,241,114,180,217, 2,152,201,231,243, 67,106,213,170,229,
-241,252,249,243, 4,189, 94,127, 3,133,201,144,115, 63,134,200,250,228,147, 79, 46,175, 90,181,202,126,244,232,209,151, 47, 93,
-186,212,194, 42,182,172,248,111,193,195,195,195, 78,165, 82,173, 7, 16, 76,211,180,139, 64, 32,128, 80, 40, 76,229,243,249,119,
-133, 66,225,208, 43, 87,174,228, 84,150,211,100, 50,205,140,141,141,117,105,210,164,201, 34, 39, 39,167,217, 25, 25, 25, 26,189,
- 94,127, 38, 59, 59,123, 2, 0,101,121,159,125, 87,139,252,203, 68, 86,201, 87,152, 69, 23,167,168, 98, 44,128,214,111, 41, 48,
- 14,199, 61, 46, 46,206, 73, 32, 16,128, 97,152,226,193,236,221,195,124, 93,167,211, 33, 32, 32, 64, 95,193,128,227,145,144,144,
-224,196,227,241,138,175,233,116, 58,184,185,185, 49,137,137,137, 78, 69,105, 15,138,161,213,106,225,238,238,254, 79,202,121,244,
-149, 92, 46,207,141,143, 79, 8,212,104,245, 63, 13, 31, 59,117, 90,255, 94,159,202,174, 94,189,202,116,232,208, 65,123,225,194,
-133,175, 80,152, 56,213,162,206,156, 32,136, 45,147, 39, 79,158, 45, 16,217,216,159,189,250, 88,187,101,223,145,164, 32,159,154,
-196,132, 9, 19,168,113,227,198, 93, 12, 14, 14,222,206, 48, 76, 3, 84,194,178, 37,147,201,142,243,249,252, 26, 69,247, 47, 62,
- 59, 59,251,179,127,224, 3,201,193,251,193, 99, 75,187, 86, 33, 50, 51, 51,161, 86,171,223, 59,252,252,252, 44,205,149, 89,169,
-114,211, 52,125,104,193,130, 5,110,169, 41, 41,248,117,201,146, 38, 40,180,100, 54,177,228,195,233,233,233,239,149,211,215,215,
- 23, 86, 84, 10, 83,102,207,158,189,224,203, 47,191,132,201,100,130, 90,173,118,125,241,226,133,255,244,233,211,123,188,124,249,
-178, 49,128, 87, 31, 58, 25,247,246,246,142,254,230,155,111,228,141, 27, 55, 70, 81,150, 10,215, 75,151, 46, 53,217,176, 97,195,
-192,248,248,120, 95, 0,111, 62,228, 11,228,114,249,246,117,235,214,217,139, 68, 34, 28, 62,124,216,190,109,219,182,151,238,220,
-185,211,242, 3,196, 22,105,111,111, 63, 14, 64, 27,134, 97,120, 0,110,100,103,103,207, 69,229,163,186, 43, 36, 18,201,126,146,
- 36,107, 2,127, 70,163, 39, 73,210,129, 32,136, 12,243, 53,130, 32,156, 24,134,185,150,149,149,213,204,250, 56,254,187, 97,111,
-111, 63, 44, 45, 45,109, 21,159,207,231,202,100, 50,136, 68, 34,112, 56, 28,112, 56,156,106,124, 62,191, 26,159,207,239, 24, 26,
- 26, 58,230,220,185,115,229, 70,216,111, 26,228, 60, 24, 36,241, 19, 69,144, 20, 0,144,180,216,198,214,214, 22, 63,253,244,147,
-184, 91,183,110, 98, 0,184,124,249,114,248,160, 65,131,218, 38, 38, 38, 6,148, 37,182, 74,211, 34,255, 34,172, 45,111,192, 67,
-145,122,188,240, 86,203, 37, 73,240,120, 60, 92,191,126, 29,150, 4, 43, 55,167, 72, 40,183, 55, 40,138, 48,126,239,222,159, 6,
- 0,243, 64,195,227,241,112,229,202,219, 65,229,155, 54,109, 90,220,216,255, 46,244,242, 43, 12,242,184,247,235,194,114,133,173,
- 44,140,174,189,247,107, 95,180,250, 37, 14,189,198,205,234, 83,160,209, 55, 2,160,202,201,206,206,190,117,224, 64,114,144,143,
- 15,119,251,246,237,141,221,220,220,122, 85, 66,104, 77,105,208,160,193,126, 74,104,235, 16, 62,104,112,248, 80, 14,169, 31, 56,
-114,226,188,132,148, 12,213,136, 17, 35, 14, 28, 62,124, 56,252,231,159,127,126, 50,105,210,164, 41, 0,126,176,180,252, 2,129,
-160,198,211,167, 79,189, 77, 38, 19,252,252,252,254,137,105, 12,130, 80, 24,124,239, 75, 0, 59,139,174,245, 67, 97,228,254, 96,
- 0,119, 43, 67,102,182, 96,149,118,124,108,184,185,185,249, 14, 24, 48,192, 33, 43, 35, 3,191, 46, 89, 98,190,220, 16, 21, 44,
- 35,154,219,143, 78,167,195, 23, 95,124, 49,192,100, 50,113,204, 34, 80,171,213,234,114,115,115, 53,248,211,177,244, 13,128, 79,
- 45, 40,142,167, 88, 44,254, 15,128, 96,181, 90,237, 6, 0, 98,177, 56,137, 97,152,131, 42,149,234, 7,252,153,192,183,210, 19,
- 92, 0,254, 40, 59, 21, 20,187, 96,193,130,231, 83,167, 78,125,245, 95,224,172,225,236,236, 60, 63, 44, 44, 12, 71,142, 28,193,
-209,163, 71, 13, 66,161,144, 51,104,208, 32, 98,204,152, 49,178,111,190,249,166, 35,128,101, 31,248, 51,119,156, 61,123,182,188,
-110,221,186,216,183,111, 31,238,223,191,175,246,246,246, 22,182,110,221, 26, 28, 14, 71, 62,109,218,180, 14, 0, 54,127,200, 23,
-100,101,101,205,157, 56,113,226,150,157, 59,119, 74, 99, 98, 98,176,114,229, 74,135, 62,125,250, 92,136,143,143,255,164, 18, 98,
-139, 15, 96, 28,128, 80,138,162, 90, 14, 26, 52,200, 56,118,236, 88,154, 36, 73,195,146, 37, 75, 28, 55,108,216,208,135,166,233,
-224,204,204, 76, 75, 38,105, 36,128,159,134, 14, 29, 58,228,220,185,115,178,155, 55,111,242,236,237,237, 97, 50,153,138, 45,197,
- 12,195, 56,153,159, 89,163,209, 8, 95, 95, 95,247, 18,159, 23,254, 91,133, 6, 73,146,122,134, 97,104, 0, 2, 0,218,138,206,
-255,151, 68,150, 92, 46, 31,157,149,149,245,155,139,139, 11,156,157,157,223, 27,107,181, 90, 45, 4, 2, 1,215,197,197,101, 93,
-183,110,221,232, 67,135, 14,149,185, 4, 72, 80,196,204,195,187,230,184,201,101, 82, 0,192,210,213, 39, 10, 0,224,143, 63,254,
- 64,114,114, 50,100, 50, 25, 2, 2, 2,168, 57,115,230, 40, 38, 76,152,240,107,118,118,246,208,178,184,222,213, 34,255, 50,139,
-214,218,210,206,203,245,209, 98, 89,182, 56, 79,158,133, 15,237,187,151, 78,191,195, 71,232,116, 58,188,107,209, 50, 55, 94,154,
-166,223, 53, 63,130, 32, 8,182, 60,206, 82, 48, 72, 44, 22, 7,170, 84,170, 21,149,152,221, 22,115,238,253,218, 23, 91,248,147,
-251,153, 51,145,118,156, 88,248,186, 5,192,213,215, 67, 87,174,250,228, 19,183,113, 51,150,207, 82,103, 38,103, 76, 27,208,165,
-134,183,139,189, 80,156,147,158, 43,175, 83,167,253, 59, 22,153,138,202,217, 42, 60, 60,124,235,201,235,177,132, 64,192,229,114,
- 40,138,110, 81,207,199,222,195,150,178,149, 2,182, 9,175,158, 95, 29, 60,120,112,189, 73,147, 38,181,172, 4, 39,138, 6, 92,
-108,219,182, 13, 4, 65,144,149,169,251, 71,196,233,242, 68, 22,203,178, 32, 8, 98, 71,137, 65,101, 71,209,181, 59, 37,196, 22,
-167,188,251,105,182,166,154, 69,213,160, 65,131, 6, 24,141, 70, 78,137, 78,226, 93, 1, 83,154,136,177,168,238, 10,133,226, 36,
-128, 79, 9,130,128, 78,163,209,253,231,151, 95, 74,254,249,246, 59, 34,235,116, 89,109,201, 96, 48,192,100, 50,113,238,220,185,
- 67,151,120,214,105, 0, 98, 0, 14, 44,203,130, 36,201, 7, 22,220, 79, 95,145, 72,116, 53, 34, 34,194,166, 97,195,134, 4,143,
-199,131,209,104,196,195,135, 15, 61,126,254,249,231,145,167, 79,159,238,160, 82,169,252,240,126,242,116, 75,126, 35,255, 75,151,
- 46,169,188,188,188, 74, 21,142, 74,165,146,227,227,227,243, 73, 25,162,232,175,230, 76, 76, 75, 75,235,254,233,167,159,142, 74,
- 77, 77,141, 54, 26,141,223, 3, 8,112,112,112,184,211,179,103, 79, 8,133,194, 80,181, 90,189,236, 67,158,121, 39, 39,167,110,
-205,154, 53,195,202,149, 43,241,243,207, 63,183, 3,112, 6, 64, 91,165, 82,121,186,107,215,174,176,179,179,235,158,147,147,179,
-249, 3,218,145, 79,171, 86,173,214,253,244,211, 79,210, 35, 71,142,192,219,219, 27,121,121,121,248,238,187,239,156,126,252,241,
-199,243, 57, 57, 57,173, 75,180,139,178, 56,253,248,124,254,230,157, 59,119, 74,188,188,188,188,184, 92, 46,233,229,229,133,172,
-172, 44,104, 52, 26,254,188,121,243,234, 9,133,194,123,203,150, 45,219, 12,160,103, 5,229, 36, 1,204, 93,179,102,205,168, 17,
- 35, 70,216, 13, 24, 48,192,164,211,233,176,103,207, 30, 80, 20, 5,154,166, 33, 18,137,138,147, 87,115,185, 92,212,169,243, 94,
-144,244,195,229,212, 55, 23,133,126,168,118,168,220,178,235,233,114,248,138,151, 62,104,154,134, 64, 32,128, 64, 32, 0,159,207,
-199,211,167, 79,103, 8, 4,130, 37, 4, 65, 24, 45,225, 36,254, 84, 23,129, 0,110, 86,116,142,247, 93, 67,254,206,254,211, 12,
-119,130, 32,150, 2, 8, 45, 28,118,201, 11, 14, 14, 14,227,211,210,210,226, 44,229, 84, 40, 20,246,153,153,153,203, 20, 10, 5,
-156,157,157,139,199,111, 55, 55, 55, 24, 12, 6,164,165,165,129,101, 89,228,228,228, 64, 36, 18,193,213,213,117,217,136, 17, 35,
-246,173, 93,187, 54,179, 84, 78, 6, 63,119,237, 51,125, 38, 69, 81, 36, 0, 80, 28,137,228,155,169, 64,141, 26, 53,208,162, 69,
- 11,104, 52, 26,228,230,230,194,223,223,159, 67, 16, 68, 56, 65, 16, 54, 44,203,254, 14,224,236,255,160,161,176, 76,103,248,217,
-239,174,139,154,179,197,115,185, 92,139,132, 86,209,251, 43,178,160,144, 6,131, 1, 92, 46,247, 45,139, 4, 65, 16, 48,153, 76,
-111, 93, 55, 11,173,170, 8,245, 49, 99,198, 48,235,214,173, 27,149,157,157,189, 26, 85, 92, 74, 8, 15, 15,127,207,223, 99,194,
-132, 9,137,233,233,233,236, 23,237, 3,197,209,199,146, 83,106,201, 36, 66, 71,169,180,166, 64, 38,183,203,204,204,188, 86,212,
-153, 88,138,218, 13, 26, 52, 16,110, 57,112, 41,113,248,183, 11,230, 52,244,178,183,169,239,238, 32,115,177, 21,242, 36, 36,161,
- 18, 24, 13,137,114,185,220,187,178,229, 54,247, 11, 34,145, 8, 36, 73,254,147, 44, 90, 28,179,200,202,202,202,194,145, 35, 71,
-208,169, 83,167, 59,102, 17,162, 84, 42,145,146,146, 2,133, 66,113,167,200,242, 81,225, 50, 34,195, 48,208,235,245,208,235,245,
-197, 2,166,196, 51, 84, 44, 96,204,239,165, 40,234, 65, 21,203, 62, 71, 38,147,181, 10, 13, 13,229,237,218,179,135,199,178,172,
- 10,133, 57,212,242, 89,182,140, 4,217,239,192,104, 52, 22, 91,217,104,154, 70,124,124,124,241,192,101,206, 45, 41, 16, 8, 44,
- 51,101,240,249, 19,119,239,222,109,211,184,113, 99, 34, 51, 51, 19, 12,195, 20,119,146,191,253,246,155,160, 87,175, 94,110, 81,
- 81, 81,211,180, 90,237,236, 42,212,149, 40, 75, 16, 1,128,141,141,141, 17,150, 69,204,174,144,211,104, 52, 18,205,155, 55,159,
-148,145,145, 81, 79,173, 86,207,179,228, 54, 2, 56,156,152,152, 88,114, 96,191, 23, 29, 29,173,238,221,187,183,176,102,205,154,
- 33,143, 31, 63,254,160,135,212,199,199,167, 41, 77,211,184,113,227,134, 22,128,121,102,125,225,254,253,251,218,158, 61,123,242,
- 61, 60, 60,154,230,228, 88,236,178,226,227,235,235,123,202,201,201, 73,104,238, 67, 29, 29, 29,233,181,107,215, 74,147,146,146,
-160,215,235, 49,101,202, 20,116,238,220, 25, 14, 14, 14,152, 48, 97,130,243,162, 69,139,182,231,231,231, 55, 40,207,104,205,227,
-241,182,190,120,241,194, 91,161, 80, 8,175, 95,191,142,250,245,235, 35, 35, 35, 3,169,169,169,200,207,207, 71,106,106, 42,134,
- 14, 29,234,244,235,175,191,186, 90, 96,201, 42, 22, 89,107,215,174,205,217,191,127, 63,181,126,253,122, 41, 77,211,197, 66,139,
-195,225, 20, 11, 45,115,110,197, 42,172, 52,228, 20,137, 54,187,220,220,220, 15,241,115,227, 3,224,149, 20, 89,124, 62, 31,124,
- 62, 31, 2,129,224,131,242,178,254, 75,224, 70, 16,196, 99, 46,151,203, 23,137, 68, 92,146, 36,193,231,243,219,203,229,242, 71,
- 1, 1, 1, 1,167, 78,157,138,181,132, 68,163,209,108,229,243,249,180,147,147, 19, 0,192,219,219, 27,245,235,215,135, 74,165,
- 98,114,115,115, 97,103,103, 71,198,197,197, 65,173, 86, 35, 37, 37, 5,213,171, 87,167, 73,146,220,138, 66, 63,228,247,112,245,
- 78,234,106, 0,171,205,231, 14, 14, 14,105, 37, 45,157, 2,129, 0,110,110,110, 72, 74, 74,130, 84, 42,165,126,252,241,199,158,
-123,246,236,233,113,245,234,213,112, 0,219, 74, 80,205,254, 23,251,104,153, 69, 86,201,215, 63,133, 86,231,206,157,103, 69, 70,
- 70,126, 82,218, 44,156,166,233,143,230,235, 98, 22, 84, 54, 54, 54,239, 90,173,192, 48, 76, 89, 22,173, 74,127,143, 64, 32, 16,
-142, 30, 61, 58,239,247,223,127,175,180,216, 10, 91, 25, 93,108,197,122,111, 26,233,231,119,117,218,180,105,221,206,157, 59,151,
-212,208,171, 38, 71,156, 28,151, 47,176,177,179,131,123,181, 78,131,186,247,188,143,194,221,135,150,226, 69, 94, 94,158,176,150,
-187, 72, 71,146, 26,162, 26,159, 35, 85,136,185,124, 23,153,204,141,171,211,166,219,200,100, 60,173, 86,155,131,114,146, 64, 3,
-128,179,179,243, 9,161, 80, 88,221,124, 46,147,201,108, 89,150,133, 72, 36,130, 66,161,144, 80, 20,245,172, 68,227,138, 75, 75,
- 75,107, 95, 81,193,236,236,236, 78,240,249,252,234, 36, 73,130, 32, 8, 80, 20, 5,146, 36, 65,146,100,241,255, 41,138, 2, 65,
- 16, 40, 40, 40,136,139,141,141,109,111, 65,125,141, 0,130, 9,130,184,115,228,200, 17,132,132,132,224,216,177, 99,248,252,243,
-207,145,155,155,139,135, 15, 31,162, 85,171, 86, 64,225,146,162, 69, 40,233,252,110,158, 20, 60,125,250,180, 88,184,148, 60,164,
- 82,233,135,152,216, 47,135,133,133, 97,221,186,117,108,209,100, 66, 76, 16, 68,125, 91, 91,219,167, 79,158, 60,177,200, 15,134,
-101, 89,232,245,127,190,213, 60,120, 21,249, 67, 84, 42, 57, 48, 69, 81,237, 27, 52,104, 64,228,230,230,154, 5, 36, 56, 28, 14,
- 40,138, 2, 69, 81, 88,181,106,149,176,113,227,198,211,249,124,254, 36, 46,151,171, 52, 24, 12,187, 52, 26,205, 60, 0, 57,255,
-164, 30,169,101,203,150,223, 38, 36, 36,116,174, 94,189,122,196, 7,208,176, 6,131, 65, 7, 64, 72, 81, 20,253, 17,250, 40,170,
-232,217,210,148, 16,251,198,162,115, 62, 10,151,137, 45,130,131,131,195,246,163, 71,143,186, 87,175, 94, 29, 6,131, 1, 70,163,
- 17,249,249,249,184,112,225, 2,180, 90, 45,140, 70, 35,188,189,189, 49,115,230, 76,205,248,241,227, 5,107,214,172, 73,207,207,
-207,239, 95, 1,237,248,125,251,246,137, 21, 10,133, 80,173, 86,227,213,171, 87,104,208,160, 1,242,242,242,160, 82,169, 80, 80,
- 80, 0,189, 94, 15,165, 82,105,103, 50,153,116, 21,112,205, 40, 41,178, 70,142, 28,249,128,199,227, 53, 24, 59,118, 44, 18, 19,
- 19,139,219,252,240,225,195,225,236,236, 92,220,150,138,250,228, 74,117,204, 28, 14, 7,124, 62, 31, 92, 46, 55,167, 90,181,106,
- 32, 8, 66, 16, 23, 23, 87,149,165, 56, 27, 0, 74,154,166,121, 37, 5, 22,159,207,199,141, 27, 55,166,241,120,188,178,172, 89,
-101,181, 75,182, 50,231,255,109, 16, 4,177,148,203,229,242,229,114, 57,183,196,132,147, 43,145, 72,224,228,228,180, 18, 64, 71,
- 11,235, 29, 36,151,203,139,251,247,192,192, 64, 36, 36, 36, 28,204,205,205, 29,152,158,158, 14,146, 36,183,146, 36,217,195, 60,
- 73,205,206,206,134,135,135, 71, 80, 89,124,205,130, 93, 70,129, 96,223,178,104,189, 51, 65,131,141,141, 13, 94,191,126, 13,149,
- 74,197, 62,127,254,156, 24, 61,122, 52,161,211,233, 54, 69, 69, 69, 93, 67,225,110,251, 50,181,200,191, 4,149,247,209, 50, 91,
-180, 44, 29, 0, 8,130,168,112, 54, 97, 48, 24, 36,254,254,254,165, 57,124, 17,165, 9,173,162,229,164, 42, 61,232, 52, 77, 75,
-171, 42,182,222, 69,196,254,157,206, 63,207,156, 50, 83,238, 90,179,214,164, 73, 51, 56, 93,186,116,185,190,101,203, 22,147,188,
-110,199,182,103, 79,108,115, 94,246,221,228, 99, 71,143, 30, 5, 10, 29,163, 45,197,229,200,200, 72,151, 9,227,198, 96,230,196,
-241,199,109,188, 29,120, 18, 66, 46, 22,104, 85,111, 36, 96,213,252,218,190,157, 15, 68, 68,164, 0,136, 42,143, 68, 36, 18, 85,
-127,252,248,177,119,201,141, 4,186,255,107,239,186,195,163,168,214,247, 59, 51,219, 75, 54,189, 18, 72, 0,129, 0,161,133,222,
-171,128,128, 98,161, 92,165, 94, 48,136,120,189,160, 87,208, 31,122,197, 72, 17,132, 11, 10, 82,114, 65, 41, 98,161, 73, 19,144,
- 98, 66, 34, 61, 1, 9, 73, 8, 69, 72,111,155,205,214,108,182,204,236,252,254,200,238,186, 9, 41,187, 97, 67,241,238,251, 60,
-243,100,103,103,246,205,153, 51,167,188,231, 59,223,249,142,209, 8,177, 88,140, 51,103,206, 4,138, 68,162, 64, 0,208,235,245,
-232,212,169,147,179, 22,147,136,172,172,172,182, 94, 94, 94,168,168,168,128,193, 96,128,217,108,134,197, 98, 1, 65, 16,224,114,
-185,224,243,249,144, 72, 36,174,174,236,187, 10,224,181,177, 99,199,238, 62,118,236, 24,162,163,163, 81, 94, 94,142,204,204, 76,
-155,200,114,201, 71,203,102, 37,114,244,199,226,112, 56,248,182,117,107,188, 94, 80, 96, 23, 48,235,188,189,241,111, 75,227,118,
-211,232,212,169, 19,155,156,156,140,227,199,143,227,133, 23, 94, 32, 14, 30, 60,104, 98, 24,134, 87, 80, 80,112,189,160,160,192,
- 41, 14,139,197, 98, 79,171,173,221,118, 20, 88,174, 10, 45,154,166,189,248,124, 62, 42, 43, 43, 97,179, 60, 56, 30,173, 90,181,
-130, 66,161,224,168,213,106, 78, 65, 65,129,120,233,210,165,255, 72, 72, 72, 8,213,104, 52,175, 62,206, 86,104,211,166, 77, 17,
-175,191,254,122, 14,135,195, 97, 71,143, 30, 61, 53, 59, 59,251,197,208,208,208,211,191,254,250,235, 26, 0,237, 92,229, 11, 8,
- 8,184,194,225,112,194,213,106, 53,111,207,158, 61,102,141, 70,195, 11, 12, 12, 44,182,181, 29,182,188, 54,155,205, 78,173, 92,
- 14, 8, 8,184, 34,151,203,121,235,215,175, 55,151,149,149,241,130,131,131,139,109, 60, 74,165,146,183,103,207, 30,179, 90,173,
-230,121,123,123, 95, 81,169, 84, 13,242,201,229,242, 41,211,167, 79, 79, 58,125,250,116, 0, 69, 81,200,206,206, 70, 89, 89, 25,
-124,124,124,176,115,231, 78, 68, 68, 68, 96,239,222,189, 10,133, 66, 49,251,243,207, 63,255,208, 42,178, 26,242,209, 26,212,187,
-119,239, 8,165, 82, 9, 31, 31, 31,232,116, 58, 92,185,114, 5, 29, 59,118, 68, 65, 65, 1, 72,146,132,143,143, 15, 54,110,220,
- 88, 65, 16,132,162, 62, 34,145, 72,244, 98,108,108,172, 15, 0,196,198,198,250,196,198,198,214,218,193,245,237,219, 23, 27, 54,
-108,168, 41,180, 92, 25, 24,216,173, 78, 14,226,168,178, 79,159, 62, 72, 72, 72, 88,232,162, 56, 50,218, 68, 91, 77,107,150, 64,
- 32,112,121, 49,141,197, 98,225,161,202,165,129,112,230,252, 9,192, 96,145, 72,196,171,249,101, 69, 69, 5, 47, 52, 52,116,160,
- 11,194,215, 95, 36,170, 50, 56, 69, 68, 68, 64,165, 82, 49, 70,163,113,242,174, 93,187,204, 0, 16, 19, 19, 51,153, 97,152, 74,
-154,166, 41, 62,159, 15,157, 78,135,160,160, 32,255,122,108,163,139, 14,125,191, 52,164,166,143, 86,104,104, 40, 98, 98, 98, 96,
- 48, 24, 80, 88, 88,136,196,196, 68, 51,195, 48,187, 55,109,218,100, 9, 12, 12,252,251, 43,175,188, 66,165,164,164,188, 5, 96,
- 65, 93, 90,228, 41,179,102,197,215, 41,180,172, 10, 50, 1,192,144,154, 15, 89, 83,252,212, 39,180, 26,154, 58,228,243,249,202,
-156,156, 28,137, 99,167, 66,211, 52,194,194,194, 44, 44,203, 18,181, 9,173,135, 49, 5,115,185, 92,175, 15, 62,248, 64,185,105,
-211,166, 41,247,238,221, 91,226,204,111,246,188,213, 30, 59,106,136,172,205, 43,227, 54,172, 95,185,212,239,206,241,111,176,245,
-203,213, 12,195, 32,165,115,231,206, 3,181, 90, 45,199, 91, 98,134, 92,137, 99, 86,145,229,172, 40, 36, 1,124,125,233,210,165,
-148, 49, 99,198,252,246,245, 15,251,253, 10,238,222, 61, 47, 80,203, 11,101,109,218,114,120,205, 34, 94,210, 84, 86,242, 38, 79,
-158, 28, 8,224,149,134, 26, 49,165, 82,137,162,162,162,154, 2, 12, 55,111,222,124,224, 94,167, 18, 71,146, 96, 24, 6,251,246,
-237,131, 88, 44,134, 68, 34,169,118,216, 68, 86, 35, 23, 42,100, 1,192,232,209,163,161, 80, 40, 32,149, 74,157, 78, 87, 77,241,
-194,178, 44,140, 70, 35,140, 70, 35, 76, 38, 19, 3,128,203,225,112, 48, 43, 47,207,110,229,113, 69,192,212, 68,231,206,157,217,
-115,231,206,225,183,223,126,131, 78,167,195,250,245,235, 17, 26, 26, 58, 12,192, 71,174,114, 57, 56,233, 51,106,181,154,171, 86,
-171,237,214, 65, 46,151,107,183, 30, 56,105,201,227,113, 56, 28,251,104,212,118, 56, 90,181, 40,138, 66,112,112, 48, 66, 66, 66,
-176,121,243,102, 94,203,150, 45,199, 61,206, 22,104,213,170, 85,109,214,173, 91,183,109,199,142, 29,199,166, 76,153,242, 99, 90,
- 90,218, 76,111,111,239,235,103,206,156, 89, 42, 16, 8, 44,141,172,223,225, 5, 5, 5, 65,142, 95, 89, 44, 22, 49, 77,211,118,
- 97, 91, 81, 81,225,244, 0,131,203,229,134,167,167,167,139, 1, 96,233,210,165, 92, 0, 98,155, 51,184,141,179,162,162,130,219,
-177, 99,199,112,103,203,122, 82, 82,210,192, 17, 35, 70,156, 59,121,242,164,111, 68, 68, 4,242,243,243,145,159,159,143, 54,109,
-218, 96,249,242,229, 58,181, 90,221, 31, 64,150, 86,171, 61,232, 36,103,152,175,175, 47, 55, 39, 39, 7, 52, 77,163, 91,183,110,
-216,184,113, 35, 38, 79,158,140, 78,157, 58, 65,173, 86, 35, 61, 61, 29,219,183,111,247,229,241,120,245,182, 29,122,189,254, 96,
-124,124,124,243,154, 22,173,169, 83,167, 74,138,139,139,237,101, 50, 46, 46,174,218, 20,162, 43,109,178,117,106,171,206,163, 49,
-160,105, 90, 38, 20, 10,213, 2,129,128,111,243,207, 74, 76, 76,116,217,154, 85, 99, 0,232,202,249, 99,131, 77,180,214,210,183,
- 34, 36, 36,196,105, 30,129, 64, 64,216,218, 70,154,166,161, 82,169,152,208,208, 80,251,244,126,106,106, 42, 19, 25, 25,201, 80,
- 20, 69,241,249,124, 16, 4, 1,177, 88, 92,103,131,207, 50,108,220,243,147, 63,170,182,234,112,254, 7,128,201,100, 66,106,106,
- 42, 76, 38, 19, 18, 19, 19,205,159,127,254,121,129, 82,169,156, 15,128,115,226,196,137,233, 11, 23, 46,164,130,130,130, 70,148,
-148,148,160, 33, 45,242, 20,137,173, 7,172, 92,182, 94, 40, 97,220,184,113,132,117,105, 37, 97, 19, 78,174, 8, 45,107,229,107,
-176,231, 37, 8, 2,133,133,133,246,243,160,160, 32,151,255,151,179,240,247,247,215,245,237,219,215, 75, 46,151, 31, 92,181,106,
- 85,163, 44, 89,155, 87,198,109, 88,241,233,199,126,138,140, 11,200, 43, 40,132,162,196,156,146,124,253,222, 1, 0, 7, 0, 0,
- 91, 58, 36, 16,111,100,126,229, 44,103,251, 0, 81, 87, 46,143,115,224,217, 49,227,154, 79,138, 93, 64,190,249,230,155, 3,166,
- 79,159,174,154, 50,101,202,219, 82,169,180,157,201,100, 42,223,127,244,232,253, 73,147, 38,181,100, 24,102, 58, 26,136, 57,162,
-215,235,179,135, 12, 25,226,152,159,178, 83,167, 78, 5,223,191,127, 31,243,230,205, 43,205,207,207, 87, 58,222,235, 76, 26, 77,
- 38, 83,118,215,174, 93,235,156, 46,180, 77, 41, 2,128, 70,163,201,118, 33, 75, 95,133,213,241,189,172,172, 12, 55,111,222, 4,
-135,195, 65,159, 62,125,144,156,156,140, 1, 3, 6,164,186, 98,213,170,172,172, 68, 68, 68, 4, 42, 43, 43,161,211,233, 42, 0,
- 8,118,182,108, 9, 0,120,171,172, 12, 87, 62,255, 28, 23, 86,172,128, 99,121,118, 22, 93,186,116, 97, 47, 92,184,128,235,215,
-175,195, 96, 48, 96,246,236,217, 0, 64, 88,203,174, 43, 33, 51, 90, 83, 20, 53,122,204,152, 49, 97, 0,160,211,233,136, 75,151,
- 46, 65, 40, 20,218,235,194,225,195,135,145,159,159, 15,130, 32,224,235,235, 27, 94, 94, 94,222, 18,192,189,122,204,254,196,189,
-123,247,240,217,103,159,193, 98,177, 96,225,194,133,104,219,182,173, 93, 96,101,103,103, 99,233,210,165, 96, 24, 6, 31,127,252,
- 49,218,180,105, 3,179,217, 44, 68, 35, 67,104,184, 3,239,188,243,206,157, 3, 7, 14, 28,203,205,205,125,110,229,202,149,131,
- 9,130,176,188,247,222,123,159,201,100, 50,230, 97,120,203, 85, 26,220,188,157,109, 23, 66, 53,143,192, 0, 63,151,249,110,221,
-205,181,255,158, 97, 28,249, 24,248,251,249,186,154,196, 10,179,217,172,123,233,165,151,124,246,237,219, 71,180,105,211, 6,127,
-252,241,135,205, 50, 84, 1,215, 67, 58,228, 43, 20,138,182, 20, 69,241,110,223,190,141,200,200, 72,244,238,221, 27,203,150, 45,
-131, 92, 46, 7, 77,211, 8, 10, 10,178,152,205,230, 84,147,201,116,182, 1,174,184, 57,115,230,240, 0,188, 97,181,108,117,158,
- 63,127,190,101,245,234,213, 72, 77, 77,181, 91,176, 28,157,225, 93,157, 58,116,180, 58, 57, 30,137,137,137, 11,249,124, 62, 11,
-224, 34, 92, 15,244,108,172,105,209,106,140, 53,171,169,208,148, 43, 25, 67, 67, 67, 19,189,188,188,198,149,151,151, 87,179,106,
-245,239,223,223, 20, 28, 28,156,228, 44,143, 84, 42, 45,167, 40,202, 31, 0,242,243,243, 33,145, 72,120,119,239,222, 93,129,170,
-224,217,104,217,178,229, 10,133, 66,193,107,105,109, 79, 67, 66, 66, 96, 52, 26,235,116, 99, 57,127,181,248, 27, 0,223,216,206,
-253,252,252, 10, 85, 42,149,104,245,234,213,218, 21, 43, 86,232, 25,134, 49, 0, 56,163, 84, 42,237,113,180,138,138,138, 84, 92,
- 46,215,207,199,199,167,153, 77,104,213,166, 69,158, 50,212,109,209,178, 42, 73,182,166, 32, 34, 8,226, 1, 7,245, 6,132, 86,
-131, 34,139, 97,152,106, 86, 6,155,195,123,109,255,203,218,169, 55,106,234,208, 42,178,132,251,247,239,223,185,106,213,170,139,
-206,254,206,209, 71,107,203,154, 79, 87,218, 68,214,239,191,157,196,193, 76,149,124,225,138,181,235, 26,251, 6, 58, 4,136,187,
- 4, 7,251, 39,124,190, 60, 78,118,231,248,118,252,184,229, 63,236,239,151, 47,247,186,124,249,242,180,121,243,230,181,176, 22,
- 44, 5,128,107, 0, 38,193,137, 85, 58,249,249,249,163,106,116,194, 89, 60, 30, 47, 88, 44, 22, 35, 63, 63, 95,123,235,214, 45,
-151,167,100,228,114,249,168, 38, 40,128, 28,155,200,146,203,229, 72, 79, 79,199,208,161, 67, 1, 0,201,201,201,232,223,191, 63,
- 82, 82, 82,208,189,123,247, 84, 0, 61,209, 64,160, 86,179,217,172,236,208,161,131,221,186,165, 82,169, 44, 0, 16, 91, 88,136,
-248,208, 80,112, 56, 28, 92, 88,177, 2,139,205,102, 44,115, 81,192,119,237,218,149,189,116,233, 18,238,223,191, 15,154,166, 49,
-126,252,120, 52,178,210,119,106,223,190,253,169, 51,103,206, 4, 74,165, 82,232,116, 58,104,181, 90,204,152, 49, 3,147, 39, 79,
-134,193, 96,192,158, 61,123,112,232,208, 33,120,121,121, 65,167,211, 65,167,211,249,142, 29, 59,246, 92, 86, 86,214, 32, 0,183,
-235, 16, 90,236,168, 81,163,144,148,148, 4,138,162,208,171, 87, 47,148,149,253,185, 24, 40, 56, 56,184,182,107,212,227, 20, 90,
- 28, 14,135, 77, 76, 76, 92, 57,120,240, 96,228,230,230, 62,215,189,123,247,245, 51,103,206,204,127, 88, 94, 95,111, 47,116,237,
-216, 26, 6,131, 1, 6,131, 1, 97, 97, 97,208,104, 52,184,115,231, 14, 12, 6, 3,130,131,124, 92,230,139,233,212,198,206, 23,
- 20, 20, 4,157, 78,135,123,247,238,193,104, 52, 34, 32,192, 37,161,213,124,212,168, 81,191,238,222,189,219,127,251,246,237,198,
- 33, 67,134,240,215,175, 95, 79,200,100, 50, 56,116, 44,174, 34, 49, 57, 57, 57, 98,196,136, 17, 81, 25, 25, 25, 72, 76, 76,132,
-209,104, 68, 76, 76, 12,110,221,186,133,190,125,251, 66,171,213, 94,188,124,249,242, 33,103, 12,195, 0, 62,156, 51,103, 14,108,
- 98, 43, 41, 41, 9,133,133,133,240,242,242,122, 64,104,217,124, 31,173,171,198,195,156, 73,172, 77, 16, 57, 88,158, 22,251,248,
-248,152, 0,172,107,164,245, 9, 0,144,155,155, 43,232,220,185,179, 65, 40, 20,242,173,162,109,237,195,240,185, 19,110, 88,201,
- 88, 39, 66, 66, 66,230, 7, 4, 4,140,104,213,170, 21,138,139,139,121,124, 62, 31,253,251,247, 55,245,236,217,211, 20, 18, 18,
-242,150,179, 60, 2,129, 32,131,199,227, 13,170, 26, 76, 48,200,201,201, 1,203,178, 11, 59,117,234,244, 79,141, 70,131,178,178,
- 50,190, 76, 38,179, 15,170,163,162,162, 96, 48, 24, 50, 92,176,188,197, 69, 70, 70,126,200,227,241,150,201,229,242,218,194, 66,
-240,125,124,124,100, 60, 30, 15, 38,147,169,154,216,172,169, 69,158,118,145, 85, 77,104, 57,168,200,106, 66,199, 21,139,150, 51,
- 86, 3,155,131,189,227,185, 77,212,213,252, 95,141,141,161,229,237,237,109,176,137,172,101,203,150, 93,108, 12,199,222,221,187,
- 66,189, 45, 21,205, 11, 46,254,140,172,235, 41, 56,144,174,148, 47, 92,177,246,237,231, 95,121,181,184,166, 48,115, 6,109, 3,
-197,157,130,131,252, 19,214,172, 90, 33, 83,100, 92, 64, 97, 81, 17,126,190,120, 57,197, 4,164, 3, 88,232, 78,211, 50, 80, 53,
-117, 72, 81,212,147, 84, 96,237,206,240,133,133,133, 54,145, 21, 3, 0, 3, 6, 12, 72,181,138, 44, 56,107,209, 82, 42,149, 53,
-183,172, 25, 1, 32,192,246,252, 28, 14, 7,253, 63,252,208,101,145, 5,128, 77, 73, 73,129, 66,161,176,141, 20, 27, 43,178, 16,
- 18, 18,242,175, 51,103,206, 4,126,253,245,215,234, 29, 59,118,148, 89, 44, 22,110,215,174, 93,195,123,244,232, 65,236,220,185,
- 19, 0, 48,105,210, 36, 44, 92,184, 16, 55,110,220,128, 68, 34,193,128, 1, 3,152, 37, 75,150, 4,205,159, 63,255,173,226,226,
-226,183,107,237, 29, 45, 22,158, 80, 40, 60, 13, 96, 88, 70, 70, 6, 0,156, 67,213, 22, 78, 54, 43, 66,157,215,156,233,124, 53,
- 26, 13,215,203,203,171,214,208, 16,188,170,209,144,171, 22, 8, 59,231,111,191,253,246,217,154, 53,107, 14,188,251,238,187,183,
- 31,146,179, 86,139,214,184,113,227,160, 55,152,144, 87,172, 2,195,208,208,155, 74, 92,230,115,180,104,141, 27, 55, 14, 21,149,
- 70,228, 20, 42, 64,211, 12, 52,122,167,251,114,241,179,207, 62,123,226,251,239,191, 15, 57,127,254, 60, 24,134,177,220,186,117,
-235,222, 75, 47,189, 36,123,239,189,247,252, 31, 98,145,209,151,175,190,250,234,132,223,126,251, 77, 17, 21, 21,229,119,241,226,
- 69,148,148,148,128,166,105, 12, 27, 54, 12,124, 62, 63,103,197,138, 21, 60, 0, 95, 58,251,110,172, 98,203,116,249,242,229,215,
- 47, 92,184,224,231,231,231,199,183,180,111,143,194,147, 39,177,111,223,190, 7,126,176,101,203, 22,192,201, 40,252, 54,139,211,
-165, 75,151,220, 34,176,170,245,212,124,126,163,167, 31,159, 86, 92,186,116, 41,255,205, 55,223,236, 40,147,201,214, 13, 28, 56,
-112,168,191,191, 63,233,235,235,155,216,172, 89,179,127,118,237,218,213,233,217, 5, 46,151, 59, 83, 34,145,220,161,105,154,210,
-106,181,208,233,116, 85,141, 52, 77,243, 73,146, 68,203,150, 45,237,125, 73,175, 94,189, 16, 18, 18,194,100,102,102,206,116,150,
-191,180,180,180,218, 42,196, 90, 48,167,127,255,254, 28,131,193,128,251,247,239, 39, 59, 94,168, 77,139, 60, 37,136,173, 87,124,
-217, 30,202,241,225,154, 53,107,150,107, 54,155,217,116,128,189,118,237, 26, 27, 27, 27, 91,239, 81, 89, 89,201, 6, 5, 5, 21,
-214,210,249,193,145,211, 96, 48, 84,251,157,193, 96, 96,131,131,131, 25,189, 94,255, 0,167, 94,175,103,195,195,195,243,235,227,
-172, 5, 51,174, 94,189,186,105,241,226,197,189, 93,200, 32, 59, 39,187,185, 61,187,125,251,246,191,177, 44, 59,120, 96,199,136,
-235, 19,187, 6,179,253,219, 6, 21, 28,218,187,123, 50,203,178,131,107, 30,182, 0,167,245,113,182, 15,150,116, 24, 30,221,162,
-252,247,227,223,177,103, 86,255,131, 93, 51,190, 45,219, 61,220, 75,217, 62, 64,228,234, 30, 49, 13,238,150, 30, 29, 29,157,101,
-177, 88, 88,163,209,200, 70, 71, 71,223,114, 7,103, 35, 80, 31,103, 55, 84,249,178,189, 90,203,119,221, 30, 34,157,191,179, 44,
-203, 42, 20, 10, 86,171,213,178, 6,131,129,101, 24,134,117, 4,128,223,157, 92,118,192,127, 0, 0, 32, 0, 73, 68, 65, 84,224,
-100, 77, 38, 19, 91, 94, 94,206,194,121,159,187, 90, 57, 67, 67, 67,239,221,189,123,151,125,230,153,103,114,173,230,248,249, 58,
-157,142,173, 9,157, 78,199, 14, 29, 58,148,189,117,235, 22, 27, 25, 25, 89,121,235,214, 45, 54, 52, 52,244,102, 3,233,108,213,
-188,121,243,211, 1, 1, 1,137, 0,218,186,112,173,222,252,220,179,103, 79,107,150,101,103,179, 44, 27, 91,199, 49,155,101,217,
-246,143,155,211,154,191,197, 44,203,178, 21, 21, 21,172, 66,161, 96, 11, 10, 10,216,138,138, 10, 86,171,213,178, 87,175, 94,101,
-207,159, 63,207, 94,191,126,157,245,243,243, 43,118,134,211,198,103, 52, 26, 89,181, 90,205,150,148,148,176,122,189,158,213,233,
-116,108, 90, 90, 26,123,229,202, 21, 54, 35, 35,163, 54,190, 7, 56,253,253,253,183, 20, 21, 21,105,207,157, 59, 87,177,121,243,
-230,138,144,144,144, 12, 0, 17, 0,218,249,250,250, 22,253,227, 31,255, 96,165, 82,105,118, 35,235, 81, 71, 46,151,123,117,229,
-202,149,151,142, 28, 57, 82,124,232,208, 33,227,182,109,219,242,230,205,155,119,150,195,225, 92, 5,208,177,145,245, 40,200,199,
-199,231,220,197,139, 23,233,242,242,114, 86,169, 84,178,106,181,154,213,233,116,172, 94,175,103,141, 70, 35,107, 54,155,217,179,
-103,207,178,193,193,193,142,211,146,139,234, 25, 88, 47, 96, 89,246, 95, 44,203,114,220,221,214, 57,112, 15,116, 23,167, 59,218,
- 58,146, 36, 77,214,182,163, 79,213,105,253,231,143, 43,157,195,135, 15,255,120,242,228,201,236,232,209,163,217,152,152,152, 7,
-142,238,221,187,179,115,231,206,101,143, 28, 57,194,126,254,249,231, 31,187, 33,157, 28, 84, 45,122, 89, 62,124,248,112,115, 82,
- 82, 18, 59,105,210, 36, 22,192,168,250,180,200, 95, 65,112,217,194, 59, 16,142,127, 1,192,100, 50,229,102,101,101,133, 70,209,
- 52, 5, 0, 95,125,245,213, 3,150, 41, 71, 36, 37, 37,209, 4, 65,220,169,239,191,155, 76,166,220, 51,103,206, 4,111,216,176,
-129,235, 96, 2, 6, 77,211,150,130,130, 2,114,253,250,245,213,238, 79, 72, 72,160,105,154,206,113,241, 33,183,119,235,214,109,
-187, 59,114,235,236,141,251,255, 60,241,243, 79, 1,125,122, 15, 84,202,252,252,106, 29,133,237,121,171, 61,136, 55,234,183,106,
- 17, 28,114,217,202,229,113, 62,182, 41,200, 31, 82,139,148,149, 6,102,104,166, 92,255,187,187,223,176, 86,171,189,111, 91, 9,
-168,211,233,114,158,192, 66,120, 21, 85, 49,174,232, 26,223,245,196, 67, 58,157, 90, 44, 22,120,123,123,219,173,161,141,176,136,
-178, 54, 11,171,237,213, 61, 76,122, 88,150,253, 45, 45, 45, 45,114,198,140, 25, 94, 59,118,236,184,203, 48, 12,119,214,172, 89,
-166,144,144, 16, 94,114,114,178, 25, 0, 49,120,240, 96, 78, 81, 81, 17,155,159,159,175,120,225,133, 23, 52,175,191,254,186,255,
-181,107,215,248, 22,139,165,161,160,133,127,228,230,230, 14,111,196,181,122, 49,113,226,196,187,120,248,109,108,154,156,211, 6,
-133, 82,141,187,247,243,173, 17,204, 45, 96,178,139,237,126, 85,102, 51, 13,133,186,204,101,139,214,157,123,249,214, 45,198, 24,
- 48, 76,129,149,175,202, 33,158, 45,175,104,184, 55,225,112, 6, 44, 89,178,100, 12, 73,146,228,133, 11, 23, 12,171, 86,173,202,
- 45, 45, 45, 29, 15, 32, 7, 0,202,203,203,135,108,223,190,253, 91, 39, 66, 57,212,133,116,179,217,220,119,209,162, 69,111, 3,
- 24, 0,160,133,149, 59,217,106,201,106,108, 4,243, 18,165, 82, 57,114,204,152, 49, 39, 41,138,106,233, 80,143, 2, 0,200,109,
-245,130,101,217,160,226,226,226,231,156, 33, 36, 8, 98,109, 83, 53, 36, 77,201,253,144,237,208, 83,177,146,241,244,233,211,159,
-140, 31, 63,158, 19, 17, 17,241,127, 17, 17, 17,100,121,121, 57,180, 90, 45, 72,146, 68, 72, 72, 8,162,163,163, 17, 18, 18, 98,
-201,200,200, 88,254,254,251,239, 55, 24,147,175, 67,135, 14,173,205,102,243, 51, 36, 73,182, 6,208,154,101,217,214, 4, 65,180,
- 6,224, 7, 0, 50,153, 76, 22, 25, 25,201,233,211,167, 15,122,247,238,141,132,132, 4,236,221,187,247, 27, 0, 39, 28,173, 89,
- 53,181,200,147,128,244,110, 96, 59, 94, 5,113,163, 59, 6, 19, 22, 36,176, 36,134, 68,167,216,227,236,213, 20, 89,117,111, 42,
- 93,139,233,111,212,176, 97,195,236, 21,206,137, 78,229,126, 67,149,175,180,180,116,212,204,153, 51,171,113, 50, 12, 99, 40, 43,
- 43,123,179, 95,191,126, 27, 41,138, 18,212, 40,176,217, 37, 37, 37,143,116,175,190,154,113,180, 70,141,121, 81,254,176,156, 82,
- 30,249, 76,214,209,255,162,184, 68,142, 31, 82,139,202, 53, 70,102,200, 45,121, 69, 90, 83,164, 63, 59, 59,123,244, 83,160,248,
-107, 19,173, 15,187,121,118,169, 19, 1, 73, 27,218,163,142,176,134, 19,113, 75, 37, 47, 42, 42, 90,253,225,135, 31,142, 92,190,
-124,121,224,177, 99,199,100,182, 1,202,203, 47,191, 92,146,150,150, 54, 16,128,160,178,178,242,212,242,229,203, 3,227,226,226,
-252, 1,248, 3,192,216,177, 99,139,139,139,139, 55,192,131,122, 97, 54,155,243,162, 59, 68,217, 7,126,142, 33, 29, 28, 63,211,
- 52,157,231, 10, 95,109, 60,142,231, 12,195,212,203, 71, 81,212,187,189,123,247,166,222,125,247,221,226, 99,199,142,217, 54,210,
-117, 84,104, 89, 13, 4, 37,117, 6, 6, 0,171,172,135, 59,161, 83, 40, 20,125, 93,252, 13,227, 41,141,181, 14, 40, 93, 57,127,
- 44, 56,120,240,224, 71,147, 38, 77,218,238,231,231,183,171,117,235,214, 81,193,193,193, 50,145, 72, 4,131,193,160, 49, 26,141,
- 55,179,178,178,166,124,244,209, 71,127, 56,101,225,216,190,157, 2,192,179, 88, 44, 66,146, 36, 37, 0,100, 4, 65,248,218,132,
- 22, 65, 16, 48,153, 76,184,127,255, 62, 22, 47, 94,204,156, 62,125,250,115, 0, 31,187, 48,112,237, 9, 32,208,161, 29, 15, 4,
- 96, 68, 85, 0,219, 82,130, 32, 46, 55,117,126, 17, 22, 36,116,188, 10, 34,189, 27,106,235, 39,234,223, 84,186,174, 10, 87, 90,
- 90,218,215,221,149,184, 46,206,210,210,210,136, 39,165,134, 76, 55,172,250, 14, 91, 86, 85,219,231,208, 38,194,106, 59,111, 8,
- 42, 61, 61,239,203, 19, 55, 86, 27,104,214, 98,162, 45,127,191, 85, 90,145,238,105,135,220,142,103,221, 85,151,220,152,166,180,
-204,204,204,126,243,230,205,251, 72, 44, 22,247, 2,128,138,138,138, 11, 5, 5, 5,159,194,186,170,176,161,235, 30,212, 13,185,
- 92,222,227, 73,228, 51, 26,141,255,236,215,175,223, 23, 12,195,172,161,105, 58,249,127,224, 85, 84,122, 74,227,211,139, 31,127,
-252,241, 15, 0,125, 1, 96,194,132, 9, 20, 0,236,221,187,215,101,241, 60, 99,198, 12,134,101, 89,147,181, 60,232, 80,181,186,
-176,220,214,166,234,116,186,242,130,130,130, 12,134, 97, 50, 0,124, 11,215, 87,220, 6, 18, 4,113,132,101,217,113, 86,225,118,
-132,101,217,113,142,223, 53,181, 85,171,129, 91, 26,118,134,247,160, 10,123,211, 65,212,156, 10,108,232,188, 33,100, 21,235, 18,
- 1,116,247,228,238,255, 36,238, 22, 20, 20, 76,127,136,235, 30, 60,125,200, 49, 26,141,227,255,135,158, 87,229,121,229,127,145,
-254,175, 17, 2,203,134,140,140,140, 38,115, 17,120,220,232,120,181,250, 0,188,230,185, 3, 98,107, 19, 94, 30,161,229,129, 7,
- 30,120,224,193,195, 64,233,201, 2, 15,254,202,176,249,102,217,206,235,240,209,170,233,159,101, 63, 39, 80,247,202, 1, 87,118,
- 37,111,204, 42,137, 83, 30, 78, 15,167,135,211,195,233,225,124,236,156, 62, 0, 34, 1,172,108,224,190,154,171, 11,139, 1,200,
- 1,152, 61,249,233,225,124, 8,253,224, 20, 88,150, 29, 91,223,212, 33, 65, 16, 71,155, 74,104,217,157,225,187, 97, 73,244, 85,
- 44,177,157, 59, 43,180,154, 26, 35, 60,156, 30, 78, 15,167,135,211,195,233,225,244,112,122, 56, 31, 82,104, 13,125,255,253,247,
- 63, 64, 85,104, 12,246,253,247,223,255,128,101,217,177, 85,151,216,177, 77,249,191,111,116,199,224,244,110, 96,109,199,141,238,
- 24, 92,199,173,177, 14,135, 29,158,169, 67, 15, 60,240,192, 3, 15, 60,240,224, 73,199,185, 21, 43, 86, 84,172, 88,177,194,230,
-248, 94, 10,128,176, 90,184, 74,155,242, 31, 91,167, 9,157, 89, 40, 85,255, 22, 60,143, 1, 97, 36,135, 55,149,203, 19, 12, 5,
-107,137, 6, 0,144,212, 13,198, 88,249, 43, 77,155,118, 1, 40,104, 44,113,123,160, 67, 27, 31,209, 33, 3,195,240,114, 53,198,
- 9,153, 85,219, 28,184,140, 9, 64,127, 1,159,255,139,192,199, 71, 84,219,117,131, 82,169, 55, 24,141, 35,247, 2,191,121,234,
-128, 7, 30,120,224,129, 7, 79, 9, 36,190,190,190,167, 73,146,140,176,125,225, 24,119,176,102, 12, 66,134, 97, 10, 21, 10,197,
- 72, 84, 77, 21, 63, 74, 78,199,223, 27,209,200,190,220,221,112,117,234,144, 3, 84,139,194,250, 72,118,204,166,184,130,215,189,
-188,125,150,253,109,230, 63,253,219,182,139, 34,154, 55,111, 6,176, 64, 78,110, 94,240,157,219,183,134,255,184,227,203,119,212,
- 42,197, 98,179,193,240, 95, 87,185, 59, 0,146, 22, 82, 65,242,127,223,127,205,135, 3, 26,175, 46,221,125,156,208,154,154,103,
- 84, 45, 55,117, 73,100,249,248,251,159, 88,113,234,148,200,183, 75,151,106,215, 88,150,173,218, 95,239,247,223, 69,255, 55,114,
-228,137, 9, 10,197, 40,143,216,250, 75, 34, 68, 38,147,205,231,114,185, 67, 76, 38, 83, 4,159,207,207,101, 24, 38,177,188,188,
-124, 29,128,124, 79,246,252,181, 17, 21, 34, 25, 24,213, 58, 98,119, 65, 81,113,170,186,210, 56, 43,171, 64,171,240,228,138,203,
-168,111,127,205,199,182,247, 38, 0, 72,165,210, 43, 36, 73,134, 59,138, 0,219,158,189,182,243,154,127, 45, 22,203, 31, 10,133,
-162, 95, 61,180,173,253,252,252, 54, 2,232,217, 80,192,100,107,108,182,203, 10,133,226, 77,212,189, 90,207,203,215,215,247, 19,
-130, 32, 38,146, 36, 73, 53,244, 76, 22,139,133, 97, 89,118, 79,121,121,249,199, 0, 52,117,221,231,235,235,123, 42, 51, 51,179,
-103, 80, 80, 80,131, 86, 26,154,166,145,147,147, 19,216,171, 87,175,179, 10,133,162,125, 83,114, 62,106, 45,210, 88,212,179,234,
-176,206,130, 14,160,218,254, 66, 77, 26,145,149, 39,148, 30,234, 59,104,212,208,185,111,191, 43,185,154,118, 19,191, 36,156,135,
- 90,103, 0, 69,146,240,241, 18,163, 93,187,103,136,181,241,251, 2,190,217,188,118,205,133,164,147, 99, 43,117,170, 23, 92,146,
-233, 98,206,226,133, 47,245,146,248,251, 49,128,133,193,191,198,116,149,252,223,145,212,197,168,160, 63,112, 89,100,157, 62, 45,
- 46, 41, 46, 70, 92, 88, 24, 56, 52, 13, 33, 73, 66, 72, 16, 16,146, 36, 36, 66, 33, 70,111,219,134, 79,143, 29, 19,127,244,220,
-115, 30,177,245, 23,131, 84, 42,157, 25, 22, 22,182,106,235,214,173,254,173, 90,181,130, 68, 34,129, 66,161, 8,200,202,202,234,
-182, 96,193,130,233,133,133,133, 31,170,213,234, 45,158,156,250,235,194, 98,193,212,175,151,189,217,172, 48,251,118,179, 57,203,
-191,107, 71,248, 51, 67,110,150,233,139, 60, 57,227, 52,186, 1, 72, 69,237,251,151,214,119,173, 78, 8,133,194,226,202,202,202,
-160,250,238,225,243,249, 37, 70,163, 49,184, 33, 46,146, 36,195,243,243,243,131,196, 98, 49, 24,134,177,238, 6, 96,177, 15,164,
- 29,119, 63,177, 6,170, 69,251,246,237, 77,245,113,122,121,121,125, 85, 82, 82, 50,194,182, 79,160,131,160,170, 21,249,249,249,
- 35, 58,118,236,248,149, 70,163, 25, 89,135,120,249,228,237,183,223,158,223,169, 83, 39,155, 21,200,186, 11, 66,213, 95,185, 92,
-142,121,243,230,217,255,135,197, 98,193,201,147, 39,223,158, 57,115, 38,202,203,203, 23,212,243,236, 17, 65, 65, 65,132,117, 67,
-241, 58,177,100,201, 18, 44, 89,178, 4, 95,126,249, 37,193,229,114,125, 26,200, 79,183,112, 62, 42, 45,210, 24, 11, 86, 3,145,
-225,143,162,186,111,214,209, 7,132,214,163, 0,197, 21,252,189,103,191, 17, 67,230,205, 95, 40,249,238,167, 51,200,202,248, 29,
-153,201,223, 87,187,167,199,200,153, 40,146,107, 48,115,238,191,164, 4,197, 25,146,116,234,224,223,205, 6,253,215, 78, 90,179,
-130, 35, 4,252,127,244,233, 21,205,205, 23,101, 33,196, 87,132, 1,221,219,112,155,159,184,254, 15, 29,232, 47, 50,170, 86,201,
-184, 36,178,182,190,246, 26, 6,154,205, 8,162, 40, 80, 4, 1, 10, 0, 73, 16,168, 52, 24,112,121,234, 84,244,218,185, 19, 31,
- 31, 62, 44,254,228,249,231, 93, 18, 91, 18,137,228, 42, 65, 16,190, 90,173,118, 44,170, 54,150,126, 26,208, 81, 42,149, 30,101,
- 89,182, 92,167,211,117,123,130,210, 21,138,170, 57,250,154,163, 99, 30,170, 86, 84,185,180,179,176, 64, 32,120,125,194,132, 9,
-107, 55,108,216, 32, 46, 46, 46, 70, 65, 65, 1, 24,134,129, 80, 40, 68,219,182,109,137, 83,167, 78,249, 47, 92,184,112,245,209,
-163, 71, 5, 26,141,230, 11, 87, 6, 54, 92, 46, 55,222,207,207,239,185,224,224, 96, 73, 73, 73, 73,133, 82,169, 60,105, 48, 24,
- 94, 71,227,183, 77, 33,185, 92,238,148,200,200,200, 23,195,194,194,130,243,243,243,229,121,121,121,135, 12, 6,195, 55,104,228,
- 70,205, 14,121,218, 5,214,104,245, 0, 10, 35, 35, 35,111,220,191,127,191,196,141,156, 5,145,145,145,233,141,224,148, 0,248,
- 17, 64, 88, 3,247, 21, 0,152, 4, 23,173,217,246,140,101, 45, 63, 47, 93,183,117, 86,220,140, 1,196,215, 11, 70,180,125,227,
-203, 83,231, 73, 30, 59, 40,163,176, 50,215,163,161,156, 19, 89,214, 45,173,106, 10,170,250,174,213, 11,131,193, 16,104, 50,153,
-192,173, 99,179,120,157, 78, 7, 47, 47,175, 64,103, 19, 41, 18,137,240,253,247,223,131,203,229,130,203,229,162,188,188, 28,225,
-225,225,246,115, 30,143,103,255,220,162, 69,139, 6,249, 24,134,233, 69, 81, 20,180, 90, 45, 24,134,177, 31, 74,165, 18, 44,203,
- 66, 32, 16,128, 97,170,182,115,114,184,222,171, 46, 62,130, 32, 38,134,133,133,225,187,239,190,131,209,104,124,224,186, 76, 38,
- 67, 90,218,159,155,140, 80, 20,133,222,189,123,147, 4, 65, 76, 4,176,160, 30, 94, 22, 0, 98, 99, 99, 65, 81, 20, 40,138, 2,
- 73,146,246,207,182,131, 97, 24, 44, 89,178, 4, 53,182, 38,123,100,156, 79, 26, 26,136, 12, 95,136, 58,124,180,200, 38, 78,151,
-227, 18,207, 48,177, 68,246,217,155,255,252,151,244,232,217,235,200,201,205,121, 64,100, 1,192,149, 95,190, 65, 97, 65, 62, 82,
- 51,243, 48,229,239,111, 73,101, 50,159,207,106, 52,168,117, 46, 27,245,246,226,125,254,254,164, 1, 66,173,185, 0, 26, 95,128,
-106,205, 7, 87,172,195,194,113, 93, 4, 50, 47,222, 42,103,210, 41,224,243,127, 89,113,234,148, 93,100,245, 55, 24, 32, 96, 24,
-208, 12, 99, 23, 89, 70,154,134,222,104, 68,168, 86,139, 59, 51,103,130, 53,155,241,225,129, 3, 98, 1,159,255,139, 51,233, 4,
- 0, 30,143, 23,122,232,208,161, 22,157, 59,119, 78,128,243,193, 76, 79, 53,241, 59,170, 15,221,187,118,237,154,184,115,231,206,
- 22, 60, 30, 47,212, 29,156, 66,161,240, 21,137, 68, 82, 42, 20, 10, 95,105,100, 58, 73, 0, 75,103,205,154,149,242,204, 51,207,
-156,177, 10, 43,187,168,121,230,153,103, 78,205,154, 53,235, 42,128, 37,117,148,245,218, 56,155,133,133,133, 45,219,176, 97,131,
-248,214,173, 91,200,207,207,135,217,108,198,171,175,190, 10,134, 97,160,215,235, 97, 52, 26,177,114,229, 74,137,191,191,255, 98,
- 84,109, 20,236,204,179,243,188,189,189,111,237,216,177, 99,194,189,123,247,164,103,206,156, 33,210,210,210, 36,171, 87,175, 30,
-239,239,239,159, 5, 64,208,136,252, 36, 67, 67, 67,191, 62,120,240,224,155,105,105,105,225,251,247,239,231, 94,184,112, 33,116,
-243,230,205,179, 67, 67, 67,119, 2,160, 26,249,142,186,137,197,226,225,239,189,247,158,229,220,185,115,249,231,206,157,203, 95,
-187,118, 45, 6, 14, 28,216, 63, 46, 46, 46,166,145,156,221,189,188,188,134,189,247,222,123,150,164,164,164,130,139, 23, 47,230,
-173, 94,189,154, 28, 54,108,216,128,101,203,150,117,113,145,243,199,115,231,206, 13,206,205,205,109,149,151,151,215, 50, 47, 47,
- 47, 50, 47, 47, 47, 50, 63, 63, 63,162,176,176,176, 69, 81, 81, 81,243,146,146,146,230,137,137,137, 3, 0,236,118,134, 51, 42,
- 88,242,230,130, 87, 71, 84, 44,254,251, 24,246,131,105,207,178, 11, 95, 29,204, 62, 55,168,243, 79, 20,135, 67, 92, 76,207, 65,
-184, 55,240,205,188,158, 17,205, 3, 36,105,209,126,210,118, 79, 88,221,124,210, 56, 57, 54, 33,165, 80, 40,112,244,232, 81, 88,
-173, 87,221, 28, 69,150, 90,173, 70, 97, 97,161,237, 26,199,153,116,202,100,178,211, 91,183,110,101, 43, 43, 43,161, 82,169, 80,
- 82, 82,130,220,220, 92,220,185,115, 7,101,101,101,184,121,243, 38,196, 98,241,105,103,210, 73, 16, 4, 24,134,177, 11,169,147,
- 39, 79, 98,214,172, 89, 80, 40, 20,246,239, 56, 28,142,253,179,237, 55, 13,113,218, 44, 79, 12,195,224,226,197,139,152, 51,103,
- 14,214,174, 93,139,221,187,119,227,200,145, 35, 80, 40, 20,118,177, 69,211,116,131,156,114,185, 28, 22,139,115, 99, 38,150,101,
-161, 82,169,156,126,239,142, 2,136,195,225, 60, 32,138,108,135, 43,101,233, 33, 57,159, 88, 56, 17, 25,190,238, 17,182,237,131,
-213, 84, 55,164,169, 18, 73,114,120, 83, 38,206,120,219, 63,175, 68,141,252, 98, 21, 40,242,207,126, 47,102,196, 12,112, 40, 18,
-151, 78, 84, 25,174, 72,138,130, 74,103,128, 82,107,194,132, 25,243,253,254,187,246,223, 83,104, 83,101,189, 49, 94, 58, 1,109,
-163,165,210,151, 58,118,108, 65,102, 8, 50, 17,243, 92, 50, 24, 11,192, 38, 61,143,110,229, 65, 84,251, 95,248, 47,233, 52,166,
-101,105,192,173,122,173, 25, 62, 62, 34,223, 46, 93, 16, 23, 22,134, 65,102, 51,120, 44,139,103,139,139,241,251,252,249, 48,236,
-219, 7, 18, 0,239,149, 87, 48,116,221, 58,156, 13, 11, 67,136, 94, 15,229, 59,239, 32,240,248,113,240,100, 50, 17, 74,157, 91,
-252, 64, 16, 4,134, 12, 25,130, 83,167, 78,249,143, 30, 61,250,196,245,235,215, 95,166,105,250,108, 99,242,214,219,219,251, 10,
-135,195, 9,111,232, 62,154,166,243, 84, 42,149,203,219,140,112, 56,156, 65,189,123,247, 62,176,127,255,126, 95,147,201,228,150,
- 81, 8,159,207, 31, 61,126,252,248,173,155, 54,109,146,205,158, 61,123,235,145, 35, 71, 42,140, 70,227,113, 87,138, 20,128,165,
- 91,182,108,121, 35, 54, 54,214,103,246,236,217,236,157, 59,119, 28,173, 87,129, 3, 7, 14,124,102,235,214,173, 33, 61,123,246,
-124,123,206,156, 57, 60, 0, 31, 54,100,229,145, 74,165,115,183,110,221, 26, 32,151,203,161,213,106,237,141,108, 94, 94, 30, 68,
- 34, 17, 72,146, 4, 73,146,224,114,185,248,236,179,207,252,231,206,157, 59, 95,161, 80,204,119,194, 74, 22,191,113,227,198,192,
-145, 35, 71,146,247,238,221, 3, 73,146, 16, 10,133,120,237,181,215, 72,189, 94,239, 27, 23, 23,183, 93,167,211, 77,118, 37, 15,
-185, 92,238,148,248,248,248,118,253,251,247,231,100,102,102,162,111,223,190,184,116,233, 18, 94,121,229, 21,174, 70,163,105,185,
-112,225,194, 89, 6,131,193,213, 56, 46,161, 98,177,184,211,175,191,254,154,219,188,121,115,123,195,210,178,101, 75,102,236,216,
-177,138,204,204,204,168,115,231,206,149,245,235,215,207,149, 13,203,155,137,197,226,246, 63,255,252,115, 97, 92, 92,220,240, 45,
- 91,182,140, 7,128, 94,189,122, 29,250,244,211, 79,207, 40, 20,138,232,179,103,207, 42, 6, 13, 26,148,231, 36, 95, 88,104,104,
- 40, 51,111,222, 60,105,125, 55,109,219,182, 77,137,170, 13,151, 91, 1,168,119,191,182,168,200,144,197,171,230, 79, 20,129, 49,
-129, 53,235, 1, 83, 5, 96,210,194, 98,172, 0,193, 19, 1,102, 61, 2, 5, 10,252, 56, 55, 74,182,232,187,187, 25,204, 77, 98,
-108,166, 92,115, 28, 30,212,218,212, 0,136, 33, 8, 34,245,232,209,163,232,221,187, 55,142, 30, 61,138,177, 99,199,166, 58,138,
-129,180,180, 52, 12, 26, 52, 8, 86,139,150, 83,190, 90, 42,149,234,253, 37, 75,150, 36, 77,153, 50, 69, 92,173, 49, 32, 73,248,
-248,248, 96,204,152, 49,149, 58,157,238,125,103, 19,202, 48, 12, 56, 28, 14,242,242,242,176,109,219, 54, 44, 95,190, 28,109,219,
-182,133,217,108,126, 64,108, 89,219, 61,167, 26, 63,154,166,113,249,242,101,236,218,185, 19, 31, 46, 94, 12, 47, 47, 47, 0,128,
-201,100,130,162,188, 28, 66,161,208, 46,198, 26, 16, 78,123,110,223,190, 61, 63, 60, 60,188,218,148,161,237,175,181,205,130,197,
- 98, 1, 77,211,168,172,172,196,218,181,107,105,150,101,247, 52,212,255,216, 68,209,252,249,243, 97, 48,252,105, 80,239, 98,245,
- 73,142,140,140, 68,215,174, 93,237,231, 36, 73,178,206,114,254,183, 95, 39,232, 29,238,142, 90,178, 26, 0, 16, 30, 30,142,168,
-168, 40,132,134,134,214,201,217,212, 90,164, 49,112, 33, 50,124,221, 66,235, 81,236,148,205,229, 9,135,182,110,211,142,200, 41,
- 84,128,195,225, 64,226, 29,128,126, 47, 46, 0, 69,145,144,250, 4,128, 96,244,127, 42, 98,146, 2,135,226, 64,161,209, 35,178,
- 85, 27, 82, 32, 20, 13,213, 53, 32,180,100,222,220,141,239, 77,238, 39, 44,163,243, 32,106, 33, 4, 99,235, 78,195,248, 32,253,
- 53,120,119,116, 91, 81,236,161,235, 27,161, 50, 15,115, 38,189, 20, 77, 35,136,162, 96, 98, 89,252, 62,127, 62, 98,226,227,145,
-106, 19,134,241,241, 72,141,141,133, 31,151, 11, 1, 73,130, 53,155, 31,152,211,119, 70,104, 1, 64,110,110, 46,246,237,219,231,
- 55,113,226,196, 3,105,105,105, 83, 92, 20, 27, 54,174,128,139, 23, 47, 6,181,106,213,170,206,123,254,248,227, 15,244,232,209,
-195,229,233, 41, 62,159, 63,122,216,176, 97,223,237,219,183,207, 59, 61, 61, 29, 65, 65, 65, 15, 45,180, 4, 2,193,160, 17, 35,
- 70,124,183, 99,199, 14, 89,105,105, 41,226,227,227,101,207, 63,255,252,238,148,148,148, 23, 13, 6,131, 51, 98,179,154,200,138,
-143,143, 87,110,219,182,237,191,168, 62, 69, 88,184,109,219,182,175,123,246,236,249,102,108,108,172, 15,128, 55,172,190, 3,245,
-138, 45,129, 64, 48,164,117,235,214,213, 70,181, 2, 65,149,177, 73, 34,145,192,219,219, 27, 60, 30, 15, 6,131, 1, 49, 49, 49,
- 4,159,207, 31,224,204, 51,123,121,121,141,120,233,165,151,200,228,228,100, 20, 21, 21,193,199,199, 7, 82,169, 20, 12,195, 96,
-246,236,217,212,218,181,107,135,232,116,174,205,112, 53,111,222,124,252,240,225,195, 57, 55,110,220,192,189,123,247, 96, 48, 24,
-144,149,149, 5,153, 76,134,105,211,166,241, 86,173, 90,245,124,126,126,190,171, 66,171, 83,108,108,108,177,163,200,178, 65, 34,
-145, 16,237,218,181, 83,248,251,251,119, 7,224,138,208,234,244,214, 91,111,149,172, 88,177, 98,208,169, 83,167,236, 65, 47, 79,
-157, 58,181, 16, 0,190,248,226,139,164,192,192,192,238, 0,156, 21, 90, 96, 89,214,242,183,191,253, 45,155,207,231,131,203,229,
-130,207,231, 87, 59,120, 60, 30, 72,146,244,178, 85,231,134,248, 50,238, 21,173,156,189,112,245,106,137,144,226,254,243,197,206,
-104,225,195, 3, 68,126,224, 13, 90, 4,194,167,202,104,201, 42,254, 0,126, 89,132, 53, 47, 41,200,216,111, 43,127, 50, 49,190,
-129,119,203,203, 53,143,185, 15,232, 9,224, 63,168,218, 92,119, 49,128,139, 79, 72,223,116, 21, 64,204,216,177, 99,237, 98,235,
-216,177, 99, 24, 61,122, 52,148, 74, 37,110,220,184,225, 40,178, 92,217, 96,249,170,217,108,190,246,253,247,223,247,155, 56,113,
- 34,225, 80,191,144,158,158,142,155, 55,111,166, 58,203, 71,146, 36, 44, 22, 11,184, 92, 46, 86,175, 94, 13,147,201,132,111,191,
-253, 22,123,247,238, 5, 73,146, 32, 8, 2, 4, 65, 64, 38,147,225,203, 47,191,116,169,221, 99, 24, 6,219,183,111,199,162,133,
- 11,237, 34,203, 58,147,129,144,224, 96,248, 7, 4,224,238,221,187, 13, 10,173,242,242,242,143, 15, 31, 62,140,250,156,225, 15,
- 31, 62,108,255, 92,195, 25,190,225,126,142,162, 96, 48, 24,240,236,179,127,110, 21,251,214, 91,111,217, 63, 43, 20, 10, 80, 20,
-101,203, 11,194, 89, 78, 61, 11,188, 40,252,243,187, 49,239,190, 91,205, 66, 87, 23,231,163,208, 34,238,178,110,213, 34,182, 98,
-172,214,217, 80, 0, 99, 81,229,163, 85, 8, 60, 66, 31, 45,150,181,180, 15,111, 22,134,107,119,210,192,161, 40,240,189, 3,224,
-237, 23, 12, 11,109,132,170,228, 30, 18,246,127, 5, 0,216,178,125, 15, 72,146, 4,135, 67,193, 96,100,208,182, 69, 24, 44, 22,
- 75,251,250,184, 59, 0,253,134, 4, 7,244,110, 30,225, 67,220,240,189,135,118, 65,254, 53, 38, 66, 4,104, 91, 32, 37,250, 74,
- 69,189,202, 85,234,126, 25,192,185, 6,197, 0, 73,130, 36, 8,136,121, 60, 24,246,237,171,242,218,140,175,234,179, 82, 99, 99,
- 65,254,244, 19,188, 4, 2, 80, 4, 1,142,213, 4,221, 24,168,213,106, 16, 4,129, 93,187,118,249, 78,155, 54,109,247,141, 27,
- 55, 98, 43, 43, 43,247,185,194,161, 84, 42,199,246,239,223,255,204,246,237,219, 3, 67, 66, 66, 30,184, 94, 84, 84,132, 25, 51,
-102,148, 42,149, 74,151,130,186, 9,133,194, 87,198,143, 31,191,245,155,111,190,145,221,190,125, 27, 90,173, 22,129,129,129, 15,
- 91, 20,186,247,233,211,231,192,190,125,251,188,139,138,138,160, 82,169, 96, 48, 24,176,107,215, 46,159, 49, 99,198,236,203,204,
-204, 28, 13, 32,165, 1,142,143, 28, 69,214,156, 57,115,174, 3, 8, 2,176,177,166, 6,181, 94,235,236, 32,182, 84, 0, 86,213,
- 51, 18,141,144, 72, 36, 40, 41, 41,193,140, 25, 51,112,235,214,159, 6,208,176,176, 48,251, 72,239,238,221,187, 8, 12, 12, 4,
- 65, 16, 65,206, 60,116, 96, 96,160,212,104, 52, 98,214,172, 89,200,205,205,173,198,153,151,151, 7,130, 32,196,174,102,100,112,
-112,112,176, 94,175,199,192,129, 3, 81, 89, 89,181,175,239,164, 73,147,192,229,114, 81, 82, 82, 2, 46,151, 27,208,136,247, 19,
- 48,118,236,216, 58, 67,171,200,100, 50,147,175,175,111, 7, 23, 57,253,159,127,254,249,252,248,248,248, 7, 22,182, 92,186,116,
-233, 5, 63, 63,191, 83,126,126,126,237, 92,228,180, 56,138, 42, 30,143, 87, 77,104,113,185, 92,144, 36,233,180,143,218,173, 18,
-221, 6, 14, 81,216,117,197,188,145, 51, 90, 4,121,131,213, 22,131, 55,236, 99, 92, 43, 21, 97,245,218,159, 1, 0,255,122,173,
- 7,186,140, 88, 10,227, 55, 35, 49,191, 47,197,159,154,103,120, 15,192, 71,143,185,205,255, 28,128,109, 21,220, 38, 0, 93,159,
-160,254,200, 46,182,142, 29, 59,134,232,232,104,148,151,151, 35, 51, 51,179,177, 34,203,214,222, 45,250,228,147, 79,126,121,249,
-229,151, 37,182, 65,171, 72, 36,194, 59,239,188,163,215,106,181,139, 92, 42, 68, 22, 11, 56, 28,142,125,144, 44, 20, 10, 17, 19,
- 19, 99, 23, 89, 4, 65,160,162,162, 2, 28, 14,199,182, 34,145,112, 50,141, 8, 13, 9,129,151,151, 23,218,180,109,139,219,214,
-118,196,246, 89, 32, 16,128, 32, 8,208,116,131,134, 60,141,213,169,125,129,187,187,100,155, 40,170,215,116, 28, 22, 6,139,197,
- 98, 19,153,172, 59, 56, 3, 2, 2,160,213,106,157,229,124, 34, 81,135, 69,203, 38,180,198,162,202, 87,235,129,240, 14,131, 1,
- 36,160, 9,151, 84, 18, 96, 9, 11,203,130, 67,145,214,185, 91, 10, 20, 69, 66, 81, 90,136,117, 31,191, 97, 21, 89,123,113, 52,
- 41, 19,225,173,163,255,156,199, 37, 8,128,173,191,112, 7,122,243,226,231,190,220, 71, 84, 76, 20,194, 39, 76, 12,161,176,134,
-126,244,229,129,136, 36, 49,111, 72,184,248,242,225,202,248, 12,149,169,193,142, 66, 72,146, 85,206,239, 4, 81,171,115, 15,105,
-189, 70, 17, 4, 88,150, 5,107,113,205,239,216, 38,228, 69, 34, 17, 76, 38, 19, 40,138,194,250,245,235,125, 70,140, 24,177,209,
- 85,161, 5, 32,189,184,184,120,204,236,217,179,143,237,217,179, 39, 32, 32, 32,160,218,232, 97,246,236,217,242,226,226,226, 49,
-112,209,233,158,203,229,110,220,180,105,147,236,254,253,251,168,168,168,128, 72, 36,178, 55, 62,141, 45,159,189,122,245, 58,113,
-252,248,113, 95,149, 74, 5,147,201, 4,145, 72, 4,150,101, 65, 81, 20,126,248,225, 7,255,113,227,198,253,156,147,147, 51,172,
-190,180,138, 68,162, 23,173,194, 9,177,177,177, 62,177,177,177,131,129, 58, 35,245,218, 17, 27, 27,235,179, 96,193,130,231,245,
-122,253,170,122,158, 57, 87,161, 80,132,136, 68, 34,236,223,191, 31, 82,169, 20, 98,177, 24, 97, 97, 97, 80, 40, 20, 16,139,197,
- 96, 89, 22,102,179,217,214, 88,148, 57,243,224,165,165,165, 90,154,166,189,143, 29, 59,134,178,178, 63,127,210,162, 69, 11, 40,
-149, 74, 88, 44,150, 10, 87, 51,179,160,160,160,152, 32,136,230,215,174, 93,195,253,251,247, 49,122,244,104,252,244,211, 79,232,
-209,163,106,118,216,104, 52, 54, 38,136, 31, 67, 81, 20, 91, 79,185, 37, 0,248,186,147,211,218,121,185,196,105,177, 88, 44, 54,
-145,229,248,215, 81,124, 53,240, 63,171, 85,231, 14,193,210,109, 43,230, 14,159, 49, 50, 58, 0,250,210,123, 16,122, 5,128,240,
-137,196,234,181, 63,227,198, 31, 85,239,107,245,238, 43,248, 46,110, 12, 32,242, 67,148,183, 28, 33, 94,156,151,110,150, 60,118,
-161,229,237, 56, 78,120, 82, 59,166,209,163, 71, 67,161, 80, 64, 42,149,186,195, 63,231,188, 94,175,207, 58,120,240, 96,247,177,
- 99,199,130,207,231, 35, 43, 43, 11, 41, 41, 41,153, 0,206,187, 42,180,184, 92, 46, 62,249,228, 19,188,241,198, 27, 8, 14, 14,
-198,162, 69,139,192,225,112,236, 7, 65, 16,118, 11,151, 43, 8, 10,174,127,225,163,205, 33,190, 33, 99,184,183,183,247, 39, 36,
- 73, 78,164,156,200, 56,134, 97, 24,139,197,178, 71,165, 82,213, 27,222,193,230,184,238,204,187,112,204,131, 6,250,180,135,230,
-124, 20, 90,164, 49,168,185,218,176, 14,139,150,109,213,225, 3, 91, 1,217,158, 50,193,106,178, 75,104,170,132, 18, 36,117, 51,
- 47,191, 0,254,190, 82,171,200,178, 30, 36,137, 46,209, 85,131,217,163, 73,153, 8,111, 21, 13, 14, 69,129, 67, 81,144,138, 4,
- 40, 46, 42, 4,135, 67,222,172,139,183, 19,133,151, 95,110,215, 60,210,215,159, 11,121,160, 17,161,193,117, 24, 6,186,123, 33,
- 60,148,143, 81,254,194,136, 78, 20, 94,174,223,250,198,218,133,150,137,166,193,123,229, 21,251,116, 97,106,108, 44, 98,226,227,
-193,140, 31, 15,157,201, 84,205, 84,220, 88,161, 37, 18,137,160,209,104, 48,101,202, 20,133,217,108,126,179,145, 89,156, 82, 86,
- 86, 54, 97,234,212,169,101, 54, 1, 99, 50,153, 48,117,234,212,178,178,178,178, 9, 78, 88,137, 30,128,217,108,126,179, 71,143,
- 30, 10,185, 92,110, 79,103, 99, 26, 28, 27,252,252,252,142,110,219,182,205,207, 96, 48,128,166,105, 59,167, 72, 36, 2, 69, 81,
- 8, 12, 12,196,119,223,125, 23,232,231,231, 87,239,158, 85,122,189,254, 96,124,124,188, 18, 0,226,227,227,149, 4, 65, 36, 18,
- 4,177,153, 32,136, 77, 53,142,205, 4, 65, 36, 58,222,171,215,235, 15,212,199,109, 52, 26, 19, 51, 51, 51, 89,177, 88, 12,138,
-162, 96, 50,153, 32, 20, 10,237, 38,113,181, 90, 13,189,190,106,154, 59, 37, 37, 5,102,179, 57,217,153,103,215,104, 52,167,183,
-111,223,110,105,209,162, 5,162,163,163, 17, 19, 19,131, 62,125,250, 32, 34, 34, 2,159,126,250, 41,163,211,233, 92,174,123, 5,
- 5, 5, 71,127,252,241, 71,115,243,230,205,209,189,123,119, 8, 4, 2,116,233,210, 5, 97, 97, 97, 88,190,124,185, 81,165, 82,
- 29,107,196,107,202, 73, 75, 75,163,234, 17,185, 50, 56,177,122,183, 6,114, 47, 95,190, 76,245,233,211,231, 80,205, 11,189,122,
-245, 58, 36,149, 74,189,109, 38,118, 87, 70,228,142,226, 74, 32, 16,216, 15,219,247, 28, 14,199,153,209, 15,217, 33, 88,186,237,
-179, 55,134,206, 24, 25,237,139, 67,167, 47,130,103, 82, 2,198,122,102, 4, 25, 51, 8,158, 4,193,222,220,240, 39,160, 15,152,
- 15,224, 58,170,226, 48, 45,194,147, 5,187,227,123, 89, 89, 25, 50, 51, 51,145,146,146,130, 62,125,250, 32, 57, 57, 25,248,211,
- 65,222,101,168, 84,170, 69,113,113,113, 58,219, 74,190,197,139, 23,235, 53, 26,205, 34, 87,219, 96,150,101,193,229,114, 17, 21,
- 21,133, 5, 11, 22,224,231,159,127, 70, 86, 86, 22,204,102,179, 93, 8,217,124, 50, 93,177,104,241,120, 60, 4, 7, 7,195,108,
- 54,219,173, 89, 0,112,251,214, 45,112, 56, 28, 88, 44, 22, 24,141,198, 6, 45, 90,222,222,222,159,108,221,186,245,109,185, 92,
- 30, 90, 90, 90, 26,228,120, 20, 23, 23, 7, 21, 22, 22, 6,229,231,231, 7,229,230,230, 6,101,103,103, 7,221,187,119, 47,116,
-229,202,149,111,123,123,123,127,226, 76, 58, 41,138, 66,151, 46, 93,240,214, 91,111,217,143, 13, 27, 54,216,143,132,132, 4,151,
-157,215, 41,138, 66,212,146,213, 24, 83,202,218,143,159, 3, 9,251,113,227, 95,115,234,227,108,114, 45,210, 40,253, 98, 93,109,
-232,184,177,116, 45,176,173, 58,180,181,101,118,183,141,154,206,240, 77, 6,218, 88,121,230,143, 59,183,134, 70,117,234, 73, 22,
-201,181,213,150,127,198, 12,153, 0,130, 32,208,172, 85, 52, 40, 14, 7, 20, 69,130, 67, 81,240,145, 9,145,121,237,154,197,160,
-215,159,169,141,115, 48,192,225,139,248, 27, 94, 27,213, 69, 88,192, 47, 65, 96,168, 4, 60,110,149,118,100,255,152, 80,163,135,
-224, 0,157,188, 48, 51,223, 95,116,166,184,114,131,175,206,116, 40,177,142, 17,160,197, 98,129, 84, 32, 64,165,193, 0, 61, 77,
- 99,200,186,117,246,233, 66,146, 32,112, 21, 64,231,117,235,112,110,223, 62,200,248,124, 64, 32,112,122, 85, 72,109, 66, 75, 46,
-151, 99,250,244,233,101,133,133,133,211, 26,227,163,101,131,193, 96, 56, 91, 84, 84, 52,109,194,132, 9,187,246,239,223,239, 55,
- 97,194, 4, 69, 81, 81,209, 52, 39,253,158, 30, 64,101,101,229,190,220,220,220,138,233,211,167,239,220,189,123,183,127, 64, 64,
-128,125, 36,210,168,194, 74, 16,242,225,195,135, 11,156,185,175,129, 91,226,172,206,237,111, 88, 45, 91,157,231,204,153,115, 14,
- 85,254, 87,142, 88,178,101,203,150, 73, 14, 83,140,155, 1,172,171,143, 88,173, 86,111, 90,176, 96,193,223,207,158, 61, 27, 32,
- 20, 10, 65, 16, 4,120, 60, 30,218,180,105, 99, 95, 69,195,229,114,193,178, 44,222,125,247, 93,121, 73, 73,201, 23, 78,190,155,
- 57,113,113,113,131, 42, 43, 43,125,167, 79,159, 78, 9,133, 66, 20, 23, 23, 99,237,218,181,204, 55,223,124,163,212,233,116, 51,
- 26, 33,132,183,255,251,223,255, 30,162,213,106, 91,205,158, 61,155,167, 82,169,160,215,235,241,222,123,239, 25,191,254,250,235,
- 60,189, 94,239,114,192,223,190,125,251,222,201,206,206, 30, 80, 81, 81, 81, 46, 22,139,107, 90,251, 8,137, 68,210, 19,192, 78,
- 87, 56, 99, 98, 98,238,230,228,228,244, 89,186,116,105,162,217,108,230, 94,186,116,201,238, 12,191,126,253,250, 4,161, 80, 56,
- 28, 46,110,190, 74, 16,132, 69, 32, 16, 84,179, 96,213,252,204,225,112, 26,108,211,218,135,136,151,126,246,250,160, 25,207,118,
-240,198,193,211, 87, 16,119,224,143,155,109,103, 4, 70, 61,227, 91, 10, 75,105, 38,254,245, 90, 15,172,222,125, 5, 64,213,212,
-161,165,228, 6,216,242,187, 96,189,154,227,158, 66, 94,240, 4,244, 1, 9,168, 10,153,241,164,161,154,200,186,113,227, 6,134,
- 14, 29, 10, 0, 72, 78, 78, 70,255,254,253,145,156,156,140, 1, 3, 6,184, 28, 75,203,138, 95,213,106,117,118, 66, 66, 66,199,
-230,205,155,227,252,249,243,247, 0,252,234,106, 34,109, 66,139,195,225,224,213, 87, 95,197,136, 17, 35,208,162, 69,139,106,171,
- 13,109,159, 93, 17, 27, 52, 77,163, 83,167, 78, 48, 24,141,224,241,120,246,169, 73, 14,135,131,192,160, 32,220,185,115,199, 41,
-139, 22, 73,146, 19, 95,124,241, 69, 50, 61, 61, 29,147, 39, 79,198,174, 93,187,234,188,119,234,212,169,248,254,251,239,241,226,
-139, 47,146, 31,124,240, 65,189,225, 29,108, 78,232,206, 60,147,173,159,110,168,221,119, 23,103, 83,107,145,135,129, 67,104,135,
- 90, 39, 77,106,249, 46,190,154,208,114, 8, 18,214, 52, 66,139, 54,237,250,233,219,175, 22,244,217, 56, 32, 48, 52,200, 27, 10,
-149,222, 46,182, 82, 19,246, 2, 0, 94,158,179, 12, 28,170,106, 74, 81, 38, 21, 66,196,163,176,111,199, 23,114,147,169,178,214,
-210,165,225,146,111,124,208,175,141, 55, 95, 98,134, 58,132, 69,116,224,159, 59,229, 16,173,246, 62, 40,184,186,249, 34,224,248,
- 59,101,193, 0, 0, 9,165, 73, 68, 65, 84, 70, 57, 94,123, 70, 42,251, 34, 93,249, 6,204,150, 13, 15,116,136, 74,165, 94,121,
-237,154,104,244,214,173,184, 52,109, 26,154, 49, 12, 18,195,194,224,199,229,194, 91, 32, 0, 73, 16,208, 31, 57,130,115,251,247,
- 35, 88, 32, 0,188,188, 64,127,250, 41, 12,153,153, 48,107, 52,250, 70,140,204, 48,105,210, 36,185, 92, 46,159, 96, 52, 26,207,
- 62,108, 62,235,245,250,227,185,185,185,111,244,237,219,119,163,217,108,126, 83,175,215, 63,212,202, 40,163,209,120,188,168,168,
-232,149, 73,147, 38,237, 61,112,224, 64,128,143,143, 79,163,185,202,202,202,122,184,169, 56, 89, 0,124,104,117,110,127, 35, 54,
- 54,214,231,242,229,203,127,223,182,109,219, 70,135,209, 68,208,172, 89,179, 94,175, 33,178, 26, 92,117, 8, 32,167,164,164,228,
-211,119,222,121,103,217,154, 53,107,164, 54,199,247,223,127,255, 29, 52, 77,131,203,229,130, 97, 24,204,154, 53, 75, 91, 86, 86,
-182, 26,117, 71,116,126,160,104,169,213,234, 54, 75,151, 46,221,182,110,221,186, 17, 20, 69, 73, 24,134,209, 85, 84, 84, 36, 86,
- 86, 86,206, 64,227,226,104, 89, 74, 75, 75,167,127,244,209, 71,211,215,174, 93,251, 34, 73,146, 65, 52, 77,203, 53, 26,205, 97,
-189, 94,255, 53, 26, 49,149,116,254,252,249,210,215, 94,123,237,143,210,210,210,246,225,225,225, 42,169, 84,106, 52, 26,141,148,
- 72, 36,146, 73, 36,146, 24, 0,231, 9,130,200,112,133, 51, 53, 53,181,104,246,236,217,247, 13, 6, 67,212,230,205,155,147,100,
- 50,217,105,130, 32, 8, 30,143,231, 43, 18,137,134, 2, 72, 36, 8,226,182, 43,156, 36, 73, 90, 28,173, 87, 53,253,179,248,124,
-190, 83, 62, 90,173, 2,197, 51, 71,180,225,224,224,153, 43,136, 59,152,179,157, 97,217,253,251, 83,203,143, 44,234, 15,152,246,
-188,134, 46, 19,118, 86, 77, 23, 2,176,148,220,128,105,207, 84, 16,226, 0, 36,229,115,161,210,155,142,194,131,218, 96, 15,239,
- 32,151,203,145,158,158,110, 19, 89, 49, 0, 48, 96,192,128, 84,155,216, 74, 73, 73, 65,247,238,221, 83, 1,112, 93, 45,175,106,
-181,250,157, 41, 83,166, 28,183, 14,142,223,105,196,192,207, 46,180,108,130,170, 69,139, 22,246,115,199,195,193, 71,203, 41, 48,
- 12, 3, 30,143, 7, 14,135,131,208,176, 48,251,255, 98, 89, 22,119,238,220,129, 66,161,112, 74,104, 81, 20, 69, 17, 4,129,201,
-147,157, 91,144,252,183,191,253, 13,137,137,137,160,156, 84,133, 20, 69, 33, 50, 50,178,193,123,108,186,212, 89,206,240,240,240,
- 70,115, 54,181, 22,105,172,192,170,237,115,109,162,170,174, 10,241,168, 80,160,213,170, 62,220,177,117,253,154, 89,115,223,149,
-222,184, 91, 12,149,214, 0,138, 34, 29, 27, 79,112, 56, 20,100, 18, 33,154,135,120, 99,247,127,255,163,209,168,149, 31,161,142,
-125, 15, 91,120,241,230, 12,239,249,140,128, 23,170, 67, 84,231, 73,160,132,127,138, 0,182,168,142,217,193,254,191,224,185, 28,
-157,240,167, 28,221,156,171,229,198, 7,133,150,209, 56,114,241,168, 81, 39,226,126,254, 89,220,107,251,118,220,157, 53, 11, 97,
-122, 61, 4,214,169, 68,146, 32, 32,229,241, 32,229,241,170, 68,214,218,181,208,211, 52,214, 77,155, 86, 97, 48, 26, 71,185, 82,
-201,203,202,202, 48,126,252,248,210,130,130,130, 49,104,196,212, 94, 93,208,233,116,251, 0,236,115, 23,159,193, 96, 56,155,151,
-151,247,220,248,241,227,127, 62,126,252,120,224, 19, 18,100,206, 38,182, 76,151, 47, 95,126, 61, 41, 41,233, 46,170,111, 44,170,
- 76, 74, 74,186, 59,123,246,108, 98,219,182,109, 95, 3,248, 55,156, 12,224,169,211,233,214,159, 60,121, 18,131, 6, 13,250,247,
-138, 21, 43,252,123,244,232,129,160,160, 32,104, 52, 26,164,164,164, 96,254,252,249, 10,181, 90,189, 66,169, 84,174,113, 49,205,
- 38,131,193, 48,213,113, 41,181, 59,242,193, 96, 48,124, 83, 88, 88,248,141,187, 8,231,205,155,247,251,157, 59,119,202, 2, 3,
- 3,123,243,120,188,206,168,242, 3, 42, 2,240,181,171,130,200,134,185,115,231, 94,187,115,231,142,188, 89,179,102,125,172,156,
- 62,168,218,198,104,107, 35, 56, 11,174, 92,185, 18,222,179,103, 79,146,203,229,178, 20, 69,129,203,229,178, 28, 14,135,181,250,
-213,176, 0,112,248,240, 97, 1,128,122,183,205,185, 91,162, 95, 58,245, 63,191,125,144, 81, 84,185, 63,179,184, 98, 1, 0,118,
-207, 13,241, 47, 93, 2,169,145, 35,219,229,193, 16, 63, 0,132,172, 42, 80, 37,171, 45, 4, 33, 9, 70,158,165, 25,150, 28,186,
- 89, 68,131, 88,229,209, 84,181,143,171, 97, 13,239, 80, 88, 88,232, 40,178,108, 86,171,152, 1, 3, 6,164, 90, 69,150,237, 90,
- 99,252,203, 78, 89, 44,150,135,234,195, 88,150, 69, 92, 92, 28,182,108,217,130,134, 34,154, 91, 87,247, 17, 13,241,217, 44, 90,
- 12,195,192,100, 50,225,198,141, 27,246,152, 93,182,233, 66, 91,104, 7,154,166,235, 93,173,206, 48, 12, 99, 52, 26,241,195, 15,
- 63, 56, 37,182,190,251,238, 59, 84, 86, 86,130,105, 64,193, 57,134, 98,232,218,181, 43, 20, 10,133,125,177, 79, 76,204,159,161,
-242, 76, 38,147, 75,194,213,198, 25, 21, 21, 5,185, 92, 14,155,191,112,243,105,127, 26,123,104,157,238,175, 90,238,235,180,104,
- 61,242, 30, 83, 32,150, 29,239,209,111, 68,255,105,175,207,151,104, 13, 12,238,223,207, 70,105, 73, 33, 72,130, 68,104,179,112,
- 68, 68, 68, 66,196, 39,177, 43,126,141, 46,245,220,233,223,180,154,242,209,117,113,141,245,230,157, 91,251, 74,255, 62,173, 91,
-123, 17,160,205, 0, 99, 6,104, 51, 96,177,254,181,125,103,169, 94,230,210,211,149,236, 7, 87, 21, 23,142,170, 76,181,238, 89,
- 53, 1,232,239,227,231,119, 98,201,225,195, 98,139,201,132,178,119,222,129,152,166, 33,180,142, 74,170, 30, 68, 0,250,211, 79,
-171, 68,214,212,169, 21, 42,165,210,165, 45,120, 2, 2, 2,174, 16, 4, 17, 80, 90, 90,250, 84, 69,134, 15, 12, 12, 60,202,178,
-172, 92, 46,151,247,120,130,210, 21, 4, 64, 9,192, 84,203, 64, 34, 16,174,251,255,216, 16, 25, 24, 24,248, 1, 73,146,125, 89,
-150,245, 39, 73,178,220, 98,177,156, 47, 41, 41, 89, 9,224,142,167, 63,125,108,176, 69,134,111,217,192,125, 37, 0,254,137, 42,
-167,224,251,206,146,119,241,246,246, 54,240,205, 7, 94,136, 22, 12,153, 24,227,141, 86, 33, 94,224,242,132, 40, 80,211, 56,149,
-161,198,214,132,162, 92,189,153, 25,119,171,180, 34,205,243, 42,234,133,219,183,224,113, 39,252,252,252, 46,158, 56,113,162, 71,
-171, 86,173, 72, 71,135,119, 91,172, 60,219,244, 22,135, 83,165,229,206,158, 61, 75, 79,158, 60,249,124,113,113,241,160,186, 56,
-189,188,188,126,185,126,253,250,179, 42,149,234, 1, 65,229, 24, 41,222,118,174,211,233, 48,119,238,220,147,117,109,193,227,237,
-237,189,118,205,154, 53,111,191,252,242,203,164, 45, 28,133,227, 97,219, 46,200,118,152, 76, 38,236,220,185,211,242,197, 23, 95,
-124,169, 82,169,234,156, 58, 12, 13, 13,205, 45, 40, 40, 8,183,133, 90,112, 38,168,104,100,100,100, 97,118,118,118,216,163,228,
-124,138, 5, 87, 53,235,214, 99, 49, 77,112, 69,162,121, 94, 82,223,143, 95,158,242,150,127,100,235,182, 68,112,104, 51, 16, 32,
- 81, 92,148,143,236, 63,110,177, 7,190,253,170, 76,167, 86,124,162,215,235,190,170,143,167, 3,208,186,165,140,183,135,207,160,
- 29,108, 2,168,198,254, 84, 15,140, 56, 0,152,184,228,205,251, 26,243,164,140,122,166,125,108, 98,235,195, 3, 7,196,252,118,
-237, 30, 8, 20,103,177, 88, 96,200,204,196,186,105,211, 92, 22, 89, 30,120,224,129, 91,208, 10, 13,199,200, 50,163, 42, 62,151,
-171, 22, 19, 34, 42, 72, 50,137, 5, 38,146,176,116, 34, 9,130, 79,179,200, 2,139, 95,196,156,138,141,169,133,208,123,178,223,
- 41, 60,177,155, 74, 3,144,248,249,249,157,166, 40, 42,194,102,145,113,180,214,215,178,161,244,253,226,226,226,225, 0,234, 91,
- 33,220,218,203,203,235, 43,134, 97,122, 57,179,169, 52, 69, 81,151, 52, 26,205, 60,212,179,169,116, 83,172, 58,244,247,247,191,
-147,157,157,221,218,182,138,218,177,175,172,109,101,249,237,219,183, 49,120,240,224,236,162,162,162,200, 71,201,249,164,162,142,
- 85,135, 79,142, 69,203, 1, 97, 60,129,116, 58, 95, 36, 28,102, 49,211, 81, 32, 0, 14,151,123,211, 88,169, 63, 99,208,107,119,
-160,142,233,194, 71,137, 9, 64,127, 1,159,255, 11, 79, 38, 19,213, 38,218,204, 26,141,222, 96, 52,142,244,136, 44, 15, 60,240,
-192, 3, 15,158, 34,180,243,243,243, 59,193,229,114, 5,142, 98,178,230,103, 27,104,154,174, 44, 45, 45, 29, 13, 32,235, 17,115,
-254,111,194, 69, 39,181, 17,206,114, 90,143,193, 79, 58,103, 19, 62, 59,235, 70,206,193, 86,206, 37, 79, 73, 58, 7, 63,169,156,
-182,231,117,129,119,132, 43,229,200, 93,249,233,144, 78,214,221,233,108, 42, 78,119,213,163, 90,210,201, 54,193,123, 95,242,148,
-164,115,240,147,198, 89,179,252, 56,201,235, 18,167,147,101,202,213,116,178,238, 78,103, 83,113, 62,108, 61,170, 39,157,236,195,
-150,165, 58,222,253, 18, 60,133, 72,239, 6, 54,189, 27,216, 27,221,107,141,219, 24, 91,215,239, 92,114, 36,108,170,149, 0,182,
-176,251, 86,126,226, 73,229,116,204, 7,119,110, 21,208, 4,219, 14, 36,184,155,179, 70,126,186, 11, 75,172, 43, 76, 18,225, 68,
-192, 81, 87,158,221, 29,239,189,198,179,186,133,183, 17, 34,203, 37, 78,119,149,251,166,230,116, 87, 93,170,201,233,142,114, 95,
-219,123,111,194,119,228,174,116,186,165, 46, 53, 69,153,175,165,252, 60, 52,111, 77, 78,119,212,165,154,156,238, 40,247,143,130,
-211, 29,117,169, 54, 78,119,148,251,186,222,253,211,106,104,178, 77, 23, 90, 67, 60, 16, 78,136,173,120, 0, 32, 27,147,105, 77,
-104, 41, 27,226,110, 78,119,167,185, 41,196,166, 11, 22,152,199,206,233,230,119,180,196,202,233,206,209,205, 16,119,189,163,166,
- 40,239,142,156,238,226,175,201,227,142,247, 84, 27,231,195,166,183,142,116,186,253,217, 31,182,220, 63, 42, 78, 55,191, 35,183,
-212,165, 26,156, 67,220, 60, 24, 24,226,112,190,196,157,156,238,170, 75,181,164,243,161,223, 83,109,156, 15,155,222, 58,210,233,
-246,103,119, 71, 31,210, 84,188,143,211,162,197,146,117,150,137,248, 26,199, 35, 17, 26,143,109, 74,206, 69,238,191, 20,167,139,
-211, 51, 35,154,224,221, 63,214,116,186,147,179,102, 26,221, 57,221,211,148,233,116, 39,167, 11,105,253,203,113, 62,109,239,253,
- 73,204,207,186,248, 30,102, 90,170, 46,235,104, 83,164,211,157,156, 78,114,255, 37, 56, 31,226,221,255,229,192,121, 82, 18, 98,
-203,120, 55,143, 76,224,102, 11, 76,147, 61,183,155,211, 57,164, 41, 44,132, 77, 0,183,167,211, 58, 82,254,184, 9,158,253,105,
-201, 83, 79, 93,242,212,165, 39,174, 46,213, 40,147, 67,220,104, 41,114,171,229,185, 38,167, 59,254,135, 35,135,187,202,104, 83,
- 63,187, 59,235, 82, 83,188,251,167, 13,255, 15, 47,211, 45,132, 34, 78,139,159, 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, 2, 90, 0, 0, 2,128, 8, 6, 0, 0, 0, 68,254,214,163, 0, 0, 10, 79,105,
+ 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,157, 83,103, 84,
+ 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9, 16, 74,136, 33,
+161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,162,142,131,163,
+136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150, 72, 51, 81, 53,
+128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35, 1, 0,248,126,
+ 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,128,132, 1,192,
+116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203, 99, 98,227, 0,
+ 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136, 68, 0,104, 59,
+ 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,192,206, 16, 11,
+178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,241, 43,174, 16,
+231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20, 54, 97, 2, 97,
+154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,206,206, 54,142,
+182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179, 26,128, 59, 6,
+128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126, 60, 60, 69,161,
+144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,247,245,224,190,
+226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,255,252, 29,211,
+ 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,100,226,223, 44,
+251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,242,187,111,193,
+212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36, 46, 84,202,179,
+ 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132, 66, 36,196,194,
+ 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,134,147,112, 14,
+ 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,138, 88, 35,142,
+ 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85, 72, 29,242, 61,
+114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,168, 55, 26,132,
+ 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62, 67,199, 48,192,
+232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172, 3,187,137,245,
+ 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28, 36, 52, 17,218,
+ 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214, 18,143, 19, 47,
+ 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233, 44,169,155, 52,
+ 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242, 91, 10,157, 98,
+ 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,161, 84, 17, 53,
+143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104, 23,104,247,105,
+175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,136,103, 40, 25,
+155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111, 85, 88, 42,182,
+ 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,169, 94, 83,125,
+174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111, 84, 63,164,126,
+ 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,171,134,117,129,
+ 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,148,102, 63, 7,
+227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101, 92,107,170,150,
+151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39, 92, 39, 71,103,
+143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,110,167,238,152,
+158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179, 12, 36, 6,219,
+ 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,185,209, 60,163,
+213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154, 82, 77,185,166,
+ 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183, 96, 90,120, 90,
+ 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,157,173, 37,214,
+187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,174,182,109,182,
+125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90, 29,126,115,180,
+114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203, 41,196,105,157,
+ 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228, 74,116,245,113,
+ 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89, 51,115,208,195,
+200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,173,215,176,183,
+165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,203, 79,195,111,
+158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,122,124, 33,191,
+142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,173, 33,247,231,
+152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,112,136, 88, 26,
+209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170, 46,106, 60,218,
+ 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,237,243,135,226,
+157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136, 78, 56,148,240,
+ 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42, 30, 78,242, 72,
+ 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158, 22,154,118, 32,
+109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,254,197,110,139,
+183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,102,191,205,137,
+202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75, 87, 45, 29, 88,
+230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,237, 87,151,174,
+126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79, 88, 47, 89,223,
+181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,220,148,180,169,
+171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223, 86,180,237,245,
+246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,244, 84,250, 84,
+ 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85, 1, 85, 77,213,
+102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253, 7, 35, 14,182,
+215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,156,198,226, 35,
+112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,154,242,154, 70,
+155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243, 84,201,105,218,
+233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,239,186, 16,116,
+225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,116,234, 60,254,
+147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,121,241, 22,255,
+214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,173,188, 79,188,
+ 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,133,131,207,254,
+145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,100,207, 38,158,
+ 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,234,192,235, 25,
+175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124, 32,127, 40,255,
+104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75, 71, 68, 0,255,
+ 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 13,215, 0, 0, 13,215, 1, 66, 40,155,120, 0, 0, 0,
+ 7,116, 73, 77, 69, 7,219, 8, 3, 13, 27, 3,174, 15,171, 16, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236, 93,119,120, 20,213,
+226, 61, 51, 59, 91,178, 37,155, 70,122, 32,133, 18,192, 0,134,162, 4,169,130,160, 24, 21, 21,172, 8, 79,159,207,138, 13, 11,
+168,136,136, 64,108,128,224, 79,228,161, 79, 1, 65, 1, 11,188,192,163, 68, 74,232, 29,233, 9,144, 4, 18, 66, 58,201,102,123,
+155,251,251, 35, 59,235,102,179, 45,144,160,194, 61,223, 55,223,238,206,206,156,185,247,206,189,119,206,156,219, 24, 66, 8, 40,
+ 40, 40, 40, 40, 40, 40, 40, 40, 90, 30, 44, 77, 2, 10, 10, 10, 10, 10, 10, 10,138,191, 8,178,179,179,155, 99,129, 13, 11,148,
+211,177, 13,250,171,115,182, 98,220, 73, 11,114, 14,114,112,190,255, 55, 9,231,160,191, 42,167, 16,223,102,240, 14,107, 78, 62,
+106,169,244,116, 9, 39,105,233,112,182, 22,103, 75,149, 35, 15,225, 36,173,112,223,223,255,155,132,115,208, 95,141,211, 61,255,
+ 4,200,219, 44,206, 0,243, 84,115,195, 73, 90, 58,156,173,197,121,181,229,200, 71, 56,201,213,230, 37, 47,247,254,125,220, 32,
+ 32,132,128,107, 69,145, 21, 48, 50, 51, 51, 25, 23,126,230,175,202,233,154, 14, 2,127, 75,134,181, 5,177,181,165, 57,221,210,
+179,165,240,126,102,102, 38,147,157,157,189, 13,192,160,150,140,123, 75,220,119,183,184,182, 8,239, 21,136,172,102,113,182, 84,
+190,111,109,206,150, 42, 75,238,156, 45,145,239, 61,221,247, 86,188, 71, 45, 21,206, 22, 41, 75,173,145,231, 61,228,159,171,230,
+117,231,108,137,178,228,206,217, 18,249,254, 90,112,182, 68, 89,242,196,217, 18,249,222,219,189,191,209, 12, 42,246, 74, 18,173,
+ 21,157,178,193,127,101, 65,212, 90, 98,179, 25, 14,204,159,206,217,194,247,232,125, 7,103, 75,190,221, 12,110,169,123,212, 26,
+249,221,149,179,165,248,221,121, 90,226, 62,121,226,188,218,240,122, 9,103,139,199,253,106,243,253,181,226,108,225,123,212, 34,
+101,201,141,115,112, 11,191, 12, 12,118,249,253,126, 75,114,182, 84, 89,242, 16,206,171,190, 79,158, 56,175, 54,188, 94,194,217,
+226,113,111,137,103, 72,107,241, 94,215,104,173,230,179,150,230,108, 38,247,117,197,217,204,230,153, 97,173,112,239,255,212,112,
+182, 36,167,123, 24, 91,178,185,167, 53,195,217,146,156,205, 8,235,117,199,249,119,187,239,127,197,244,244,198,119, 53,205, 82,
+222,220,209,214, 8,103, 75,114, 6,200,125, 93,112, 94,197,189,191,174,208,236,166,195,107, 33,224, 90,248,205, 4, 45,236,192,
+180,166,112,109,201,112, 14,110, 13,135,176, 21,208,226,225,116,188, 41, 79,109,133,184,255, 93,210,148,150, 37, 90,150,254,114,
+101,201, 45, 79, 14,110, 65,167,168, 69,157,103,119,206,150,184,134, 43, 71, 75,229,209,214,142,123, 75,150,165,214,184,247, 20,
+ 87,225, 66, 80, 78,202, 73, 57, 41, 39,229,164,156,148,243,134,229,188,238, 64, 8,161,211, 59, 80, 80, 80, 80, 80, 80, 80, 80,
+ 80, 80, 80, 80, 80, 80, 80, 80, 80,252,141,224,179,143, 86, 92, 92, 92,182, 66,161,232,224,237,127,157, 78,119,233,210,165, 75,
+ 67,104, 50,254,121,160,247,136,226,111, 4, 22,127,140,114,230, 1, 16,199, 70, 65, 65, 65,113, 93,195,171,208,146,201,100, 41,
+167, 78,157,234,196,243, 60,236,118, 59,108, 54,155,243,211,108, 54, 99,224,192,129,205,238, 72, 31, 29, 29,157, 43, 18,137,146,
+154,115,142,221,110,191, 80, 94, 94,222,223,199, 33,187, 0,164, 48,204, 31,125, 2,133,239,222, 62, 1,148, 90,173,214,158,190,
+ 56, 25,134, 73,113,231,243,194, 37,124,247,201, 25, 18, 18,114,128,227,184, 4, 79, 92,222,190,243, 60, 95, 80, 89, 89,217,239,
+ 90,222,163, 27, 25,209,209,209,185, 28,199, 53, 59,127,150,149,149,121,205,159,177,177,177,135, 89,150,141,107, 6,165,136,231,
+249,188, 75,151, 46,245,247, 33, 68,118, 1, 72,241, 69,226,158,159, 24,134, 41,177,219,237,189,253,149, 35, 95, 92, 30,242,168,
+ 63, 78,167,200,226, 56, 46, 43, 42, 42,234, 57,189, 94,111, 4, 64, 68, 34, 17,113, 9, 27, 0,192,102,179, 85,214,214,214,118,
+163, 57,145,130,130,226,134, 16, 90, 60,207,179, 38,147, 9,249,249,249,240,178, 30,162,253, 10,174,215,233,224,111,155,162,130,
+163,162, 97,179, 88,160,108, 19,233,228, 46, 63,121, 28, 54,171, 5, 54,179, 25,237,250,244, 21,194,128,174, 93,187,138,252,112,
+ 38,124,244,209, 71, 81,193,193,193, 48, 26,141, 48, 26,141, 48,153, 76, 48, 26,141, 48,155,205, 48,155,205,176, 88, 44,176, 88,
+ 44,176,217,108, 48,153, 76,200,201,201,177, 91,173, 86,159,156, 51,102,204,136, 82,171,213, 78, 62, 97, 19, 56, 5, 94,171,213,
+ 10,163,209,136,205,155, 55,251,228,228, 56, 46,161,180,180, 52, 74, 34,145,128, 16, 2,158,231, 65, 8,105,180,185,163,125,251,
+246, 22, 95,129,108,165,123,116, 35,163,211,140,229,107,163, 66,228, 50,216,120, 30,153, 61,218, 59,255, 40,248,122, 37,136,205,
+ 14,222,102, 67,199, 23,199, 58,247,119,233,210,197,103,254, 36,132, 36,206, 88,190, 54, 52, 80,206,234,234,106, 67,231,206,157,
+ 75,209, 48,185,159, 55,161,149, 96, 48, 24,162, 28,252, 77, 4, 17,203,178,141,182, 13, 27, 54, 32, 51, 51,211, 95,220, 19, 94,
+125,245,213, 40,171,213, 10,179,217, 12,147,201, 4,171,213, 10,155,205,230,220,236,118,187,115, 51,155,205,216,187,119,111,160,
+ 78,214, 71,119,220,113,199,147,107,215,174, 85,254,250,235,175,202,164,164, 36, 72, 36, 18,136, 68, 34,136, 68, 34,176, 44, 11,
+142,227,112,235,173,183, 50, 52, 11, 82, 80, 80,220, 48, 66,203,100, 50, 21,166,167,167, 19,199,247,120,153, 76, 38,113,123,203,
+141,235,216,177, 99,158,251,121,254,154,171,130,163,162, 49,185,109, 56, 0,224,189,243,213,206, 7,196,199,253,110,118, 30,243,
+193,197, 58, 0,128, 92, 46, 7,227,250, 26,237, 5, 74,165, 18,119,220,113, 7,164, 82, 41,122,247,238, 13,177, 88,236,113,147,
+ 72, 36, 16,139,197,126, 19,133, 97, 24,168, 84, 42, 76,155, 54, 77, 16, 73, 80, 6,201, 48,161, 95,111, 4,129,224,223,199,207,
+192,204, 19,112, 28,231,220, 2,225,148, 72, 36, 56,118,236, 24, 56,142,131, 72, 36,114,126, 10,223,215,172, 89,131,209,163, 71,
+131,227, 56,200,229,114,192,207,204,193,174,247,200,108, 54,199, 74,165, 82, 11, 0, 65,156, 73, 24,134,137,185,146,123,116, 35,
+ 35, 68, 46,195,184, 5,191, 0, 0,138,231,188,232,188,119,123,159,127,207,121, 76,226,191, 30, 2,195, 48, 16,139,197, 96, 89,
+182,197, 56,107,106,106, 12,143, 60,242,200,142,224,224,224, 13, 26,141, 6,126, 4, 28,138,139,139,193,113,156,215,252,206,178,
+ 44,102,207,158,141,179,103,207, 6, 20,119,163,209,136, 69,139, 22,193,110,183, 55,226, 21,190,187,239, 11, 80,100,125, 56,124,
+248,240,177,107,215,174, 13, 99, 24, 6, 95,124,241, 5, 36, 18, 9, 70,142, 28,137,136,136, 8,108,220,184, 17, 18,137, 4,111,
+190,249, 38,205,124, 20, 20, 20,190,234, 60, 49,128,155, 1, 68, 58, 76,132,122, 0,161, 46,135, 84, 58, 62, 35,133,223, 12,195,
+236,247,192,211,199,113, 76, 37,195, 48,251, 93,126,155, 1, 72, 61,236,175, 6, 32,119,108, 38, 52,184,255,105, 46,215, 17,206,
+131,183,235,114, 64,195,250, 67, 0,182, 2, 24,156,153,153,185, 13, 0,202,202,202,238, 42, 43, 43, 3, 0,164,164,164,156,202,
+203,203,235, 44,104, 30, 71,243,148,196,102,179,117, 18,154,170, 4,183,104,216,176, 97, 62,223,240,109, 22, 75, 19, 1,226, 73,
+ 75,121,106,174,240, 38, 96, 44, 22, 11, 30,122,232, 33, 0,240,250,208,113,221, 2,208,110, 48,155,205,224, 56, 14,169,109, 35,
+ 49,101, 68, 58,110, 33, 86,232,180, 12,108,117, 58,220,167,178,226, 84,215,158, 88,120,161, 18,231, 53, 90,112, 28, 23, 16, 39,
+207,243, 94, 69,150, 72, 36,194,130, 5, 11,240,200, 35,143, 64, 36, 18, 5,196,231,122,143,146,147,147,215,230,229,229, 69, 48,
+ 12, 99,114,220, 35,153,205,102, 83,219,108,182, 8,187,221, 30,209,156,123,116, 35,195,198,243, 30,243,161,183, 60, 27,200,125,
+ 10,132,179,166,166,198,144,153,153,185, 71, 38,147, 45,142,142,142, 46, 45, 41, 41,241, 43,180,220,197,143,251, 75,197,103,159,
+125,134,121,243,230, 97,200,144, 33, 1,133,211,100, 50,129, 97, 24, 44, 92,184,176,201,127,211,167, 79,111,114, 61, 63,156, 12,
+ 0, 54, 46, 46,238,249,245,235,215,171,133, 99,219,180,105, 3,177, 88,140,110,221,186, 33, 56, 56, 24, 59,118,236,128,221,110,
+ 15,184, 92, 82, 80, 80, 92,191,240,164, 69, 92, 48,112,242,228,201,189,179,178,178,102,102,100,100,252,176,107,215,174,229, 12,
+195,100,187,212,137,153,142,250, 53, 91,248, 77, 8,233,227, 42,122, 28, 98, 45,146, 97,152,108,225,120,215,223,194, 39, 33,100,
+ 24, 0,169,240,123,242,228,201,105, 89, 89, 89, 51, 39, 77,154,244,246,172, 89,179, 36,147, 39, 79,238,158,149,149, 53, 83,184,
+142,167,112,120,114,180,124,174, 61, 37, 52, 81,157, 62,125,218, 91, 19,149,235, 3,192,103,109,169,108, 19,233,116,178, 62, 72,
+140,112,238,159, 86, 82,235,124,128,205,239,213, 1, 74,165, 18, 35, 62,248, 36, 32,167,200,108, 54,163,162,162,194,233, 50,248,
+219, 2,229, 84,200,131,144,243,106, 55, 20, 87, 75,241,254,238, 26,172, 61,114, 22, 98,177, 24,119,118,237,134,187, 36,193,120,
+ 55, 81,138, 87,207, 20,193, 74, 2,235,211, 75, 8,241, 40,176,132,239, 66, 19, 74,160, 66,203,237, 30, 21, 27,141,198,234,252,
+252,124, 3,223,240, 96,151, 19, 66,194, 24,134,169,119,184, 92,177,129,222,163, 27, 25,153, 61,218, 59, 93,167,189,193, 67,157,
+251, 71,235,142, 57,239,201,196, 5, 31, 3, 0,134,244,188,213,111,121, 8,132,179,186,186,218,208,127,232,224,109,118,131,249,
+187,177, 99,199, 22,110,217,178, 69, 30, 72, 88, 61, 9, 45,193,181, 21, 68, 22,199,113, 48,155,205, 1,197,221,108, 54,123, 45,
+ 31, 18,137,228, 74, 28, 45,232,116, 58,243,234,213,171, 49,127,254,124, 68, 68, 68, 96,248,240,225,136,141,141,197,202,149, 43,
+ 65, 8,193,139, 47,190, 8,185, 92, 46,184,215, 52, 3, 82, 80,220,216,240,165, 69,100, 89, 89, 89, 51,221,133,140,235,111, 87,
+ 1,229, 38,166, 92,197, 90,154,159,231,127,182,187,120, 18,174,203, 48, 76,246,172, 89,179, 50,253,132,163,210,155,208,242, 57,
+ 37,190,201,100, 42,236,209,163, 71, 64,106, 66,175,215,151,249, 19, 27,158,222,234, 93, 93, 2,149, 74, 5,165, 90, 5, 54,192,
+122,215,106,181, 58,133,202,166, 77,155, 32,151,203, 49,114,228,200,171,114,180, 44, 22, 11,164, 18, 49,216, 54,209, 24, 55,103,
+ 11,170,235, 13,206, 7,204,214,130, 66, 28, 42,175,192,171, 25, 67,161,148, 87, 64,107, 54, 7,228,188,241, 60,223, 68,100,113,
+ 28,135,135, 30,122,200,233, 38,184,246, 91,129,143,166,195,136,136,136, 3, 28,199, 37,184,220,163,160,148,148, 20,224,143,126,
+ 61, 12,207,243,218,208,208,208,159, 1,196, 17, 66, 18, 0, 4, 7,114,143, 40, 60,231, 79,247,253,188,155, 83,117, 37,156,213,
+213,213,134,204,204,204, 61,118,131,249,187,139, 23, 47,238, 1, 16,116,203, 45,183, 52, 91,104, 9, 2, 75, 44, 22, 99,246,236,
+217,152, 55,111,158,243,255, 64,133,150,205,102,107, 36,160,206,156, 57,211,232, 90,238,194,206, 79,179, 41, 65,195,232, 66, 62,
+ 37, 37,197,121, 78, 76, 76, 12, 66, 67, 67,193,243, 60,120,158, 71, 80, 80, 16,228,114, 57, 36, 18, 9,205,116, 20, 20, 20,190,
+180,136, 97,210,164, 73,111, 51, 12,147,237,112,150,142,251, 16, 84,158,180, 71, 31, 55,177, 86,233,229,184, 76, 79, 98,203,245,
+187,128,201,147, 39,167,185,135,195, 83,115,165,179, 86,117,155,118,191, 17, 92,155,168, 90,234, 33,230,235, 65,166, 10, 85, 67,
+174, 84, 66, 36, 98,193, 48, 12,241,199,101,177, 88,156, 21,255,115,207, 61,231,179,223, 74,160,253,169, 44, 22, 11, 88, 78,132,
+ 75, 49,201,176,179,219,157,231, 10, 27,203,137,113, 62,166, 51, 68,167, 15, 67, 28,224, 3,215,221,209,122,241,197, 23,177,104,
+209, 34,176, 44,235, 76, 19,142,227,208,177, 99, 71, 20, 22, 22,250,228,226, 56, 46,225,252,249,243, 81,174,233, 40,136, 88, 66,
+ 8,236,118, 59,218,183,111,111,204,207,207,127,153, 22,221,171, 19, 89,222,246,219,237,124,192, 46,140,167,227,170,171,171, 13,
+ 99,198,140,217, 86, 87, 87,247,221, 77, 55,221,116, 6,141,167, 64,240,203,199,113, 92, 35,129, 37,136,172,207, 63,255,188,145,
+ 40,178, 90,173, 1,189, 8, 88,173,214, 38,130,231,211, 79, 63,109,244, 9, 0,253,250,245, 11,200, 25, 6, 64, 88,150, 37, 18,
+137, 4,119,220,113, 7,186,119,239,142, 95,127,253, 21, 60,207,227,133, 23, 94,128, 92, 46,199,220,185,115, 97,179,217,240,209,
+ 71, 31, 81, 71,139,130,130,194,151, 22, 49,205,154, 53,235,248,172, 89,179,156,206,146,187,163,229,229,185,123,183, 67, 84, 69,
+ 10, 34, 13,128,201,147, 32,242,228,146,185, 11, 48,215,125, 89, 89, 89, 51,221,195,225,222, 92,217, 72,104, 93, 43,148,157, 56,
+134, 79,110, 75, 7,208,184,185,112,193,173,157,161, 84, 41,161, 12, 86, 97,204,154,237, 0,224,168,244, 39, 5,228,104, 9, 66,
+171,186,186,218,167,200,106,142,163,197, 74, 57,172, 74,184, 12, 34, 21,131, 51, 91, 27, 9, 45, 17, 39, 70,113, 68, 50, 88,177,
+ 4,156,221, 22, 16, 39, 33,164, 73, 83,225,248,241,227,193, 48,140,115,132, 88,143, 30, 61, 92,185, 24,127, 15,199, 55,194, 27,
+250,224,185, 55,199,126, 84,101,164, 37,246, 74,242,231,129,175,113,234,167,231, 1, 0,253,117, 58,231,189,152,209,227,143,177,
+ 3,115,142,109,115,186,143, 31,224,245, 43,226,172,174,174, 54,220,210, 37,109,143, 36, 60,228,187, 11, 23, 46,236, 1,192, 62,
+252,240,195,161, 61,122,244, 8,168, 76, 10,131, 43,220, 69,150,171,147, 37,124,250, 25, 97,235, 34, 28,237, 1, 9, 40,161, 25,
+ 49,128, 60, 79,132,188,173, 86,171,161, 82,169,156, 35,110,131,130,130,160, 80, 40,156,253, 59, 3, 20,110, 20, 20, 20, 55, 46,
+194, 4,161,227, 16, 75,141,156, 38, 71,223,170, 76,215,223,158, 28, 47,135, 3,149,235,167,126, 93,235, 16,104, 30, 33, 56,107,
+110,231,100,123, 19,105,156,160, 32, 93, 63, 99, 98, 98,254,167, 82,169,146, 3,141,125,115, 70,177,217,173,150, 38,206, 22,195,
+ 48, 80, 5,171, 32, 87, 41, 33, 15, 86,121,117,189,124, 9, 45,193, 41, 18, 30, 58,139, 23, 47,134, 74,165,194, 63,254,241,143,
+102,247,209,114, 10, 45, 9,139,141,178,205, 16, 73,185, 70, 34,139,227, 56,136,196, 98,148,169, 98,193,138,197,224,108,129,185,
+100,117,117,117,224, 56, 14, 83,166, 76,113,190,193,187,138,172,230,196,217, 23, 88,134, 17,220, 45, 89,135, 14, 29, 94,103, 24,
+ 38, 17, 64,146, 78,167,147, 93,186,116,233,118, 90, 94,125, 40, 3,187,181,137, 11,229,205,125,189, 82, 78,193,201,146,132,135,
+124,215,185,115,103,167,147,165, 80, 40,132,209,166,254,239, 49,203,122, 20, 89,238, 35, 4, 57,142,107,200,203,126, 70, 71,186,
+ 58, 90,179,102,205,114,242,186, 58, 89, 2,154, 83,142,132,176,110,219,182, 13,135, 14, 29,194,115,207, 61, 7,185, 92,142,121,
+243,230,193,102,179, 97,250,244,233,144,203,229,144, 74,165, 52,243, 81, 80, 80, 55,171,145, 22,113, 67,165, 91, 63, 40,198, 77,
+212, 84,122, 18, 88,174,205,132,194,119,134, 97,172, 30,120,205,110, 77,138,238,251,133,207,234, 89,179,102,109, 17,156, 44,151,
+253,141,194,225,215,209,146,201,100,201,249,249,249,206,137, 48,125,125,154,205,102, 12, 25, 50, 36, 96,103, 76, 24,117,200,113,
+162, 70,194, 66, 17,172,130, 66, 29, 12,185, 74,229, 46, 56, 24,127,149,184,240, 70,236, 42,180,166, 78,157, 10,142,227,176,104,
+209, 34, 0,192,235,175,191, 30,112, 31, 45,129, 19,118, 6, 37,228, 28,210,231,140,134,249,123, 43,202,119,254, 14,142,227, 16,
+213,247, 46,240,183,140,134, 94,174, 2,103,183, 5, 60,234,176,166,166, 6,133,133,133, 16,137, 68,120,237,181,215, 26,205,117,
+228, 62,146,109,211,166, 77,126,227,238,201,201,154,122,161,198,201, 35,151,203,217,223,127,255, 61,153,231,249, 20,131,193,208,
+161, 95,191,126, 60, 45,202,126, 68, 17,111, 11, 72, 84, 5,154, 63,221, 57,133, 62, 89,117,117,117,223, 93,184,112, 97, 47, 0,
+118,236,216,177,161, 10,133, 2,223,124,243,141, 30,128,116,229,202,149,114,127,162, 72,200, 55,254, 68,150, 88, 44,110,200,203,
+129,196,157, 52,158,178,196, 95,199,248, 64,242,188, 16, 86,134, 97, 96,183,219, 33,151,203, 27, 57, 89, 65, 65, 65,144,201,100,
+ 52,227, 81, 80, 80,248,171, 75,246, 7, 92,143, 19,210,199, 69, 84,237,191, 18,222,230, 92,207, 31, 56,111, 66,195,100, 50,225,
+228,201,147,129,242, 4, 60, 49,102,219,222,183,226,131,139,117, 96, 24, 6,255,238,119, 19,148,106, 21, 20, 74, 37, 30,252,117,
+155,179,226, 62, 54,243,117,200,148, 42,196, 13, 24, 30, 80, 69, 46, 52, 29,186, 10,173,218,218, 90,136,197, 98,124,248,225,135,
+ 96, 89, 22, 31,125,244, 17,226,227,227,113,233,210, 37,172, 92,185, 50, 32, 71, 75,100, 23, 33,246,137, 46, 80,140, 15,129,250,
+137,129, 8,187, 99, 42, 46,154, 57,236, 50, 42, 48,208,120, 2,210,141,159,195,204,219, 3, 30,129,101,179,217,176,109,219, 54,
+247, 14,239,206, 62, 85, 54,155, 13, 86,171, 21, 22,139, 5, 31,125,244, 81, 32, 35, 60,155,220, 55, 33, 13, 29,147,160,138,242,
+242,242, 34, 9, 33,225, 0, 66, 0, 84,209,226,234, 27,177,125, 95, 68,100,239,103, 1, 0,107,102, 61,229,220, 63,229,216, 31,
+249,115,246,247, 13, 11, 0,116, 78, 26,222, 44,206,234,234,106,195,157, 67,250,229, 26,121,241,183,221,186,117,107,228,100, 5,
+ 5, 5, 49,142,223, 1,217,101, 44,203, 66, 36, 18, 53,105, 46,244, 38,182, 2,233,163,101,179,217,156, 19,137,250,234,207,120,
+ 37,142,214, 83, 79, 61,133,216,216, 88,167,147,245,193, 7, 31, 64, 46,151, 99,242,228,201,176, 90,173,248,252,243,207,105,230,
+163,160,160,184,230,162,236, 90,192, 99, 77,106, 52, 26,139,186,119,239, 14, 47,255,197, 7, 5, 5,137,221, 34, 21,215,177, 99,
+199, 60, 15, 77,136,195, 0,228,120,170,212, 25,134, 65,176, 58, 24, 65, 42, 37, 20,110, 46, 86, 80,176, 26, 50,149, 10,172,196,
+ 99,101,222,132, 83,232, 91,226, 42,180,132,173,174,174, 14, 98,177, 24,243,231,207,135, 90,173,134,201,100,242,203, 41, 60,116,
+ 68, 34, 17,244,197,245, 56, 53, 51, 7,210,160, 93,232, 48,252, 17,196,138,229,144,236,248, 25, 6,187,213,223,132,165, 77, 56,
+ 59,117,234,132,247,222,123,175,201,180, 14,222, 16, 31, 31,239, 55,238,238, 78,214,236,155,218, 65, 34,149, 96,226,137, 98,152,
+ 76, 38,230,145, 71, 30,225, 1, 24, 0, 84, 26, 12,134, 11,129,164,103, 11,224,111,207,233,107, 84,172, 0,158,216, 61, 9, 24,
+143,156,130,147,101,228,197,223, 22, 22, 22, 10, 78, 86,136, 66,161,192, 87, 95,125,165, 7,192, 78,159, 62, 93,145,152,152, 40,
+ 10, 36, 47,137, 68, 34,204,153, 51,199, 99,159, 44, 79,162,171, 57,229,200,245,220, 65,131, 6,121,156,176,212,139,120,107,194,
+ 41,132, 53, 34, 34,194,233,100,217,237,118,231,104, 67, 97,246,121, 31, 47, 21, 52,127, 82, 78,202,121,227,112, 94,151,240, 88,
+ 3, 95,186,116,233, 78,111, 39,180,111,223, 62, 63, 63, 63,191,163,176, 20,135,163,226,148, 24,141,198, 78,253,250,245,243,107,
+237,240, 60, 15,153, 76, 6, 66, 8,110,127, 47, 11, 12, 11,176,104,252, 16,139,186,109, 40, 68, 34, 14,124,195, 82, 31,126, 71,
+ 29, 26, 12,134, 70, 15, 7, 79,155, 86,171,133,201,100, 10,120, 54,111,163,209,216,104, 10, 6,134,240, 56,255,219,138, 38,163,
+ 15,133, 45,208,126, 59, 65, 65, 65,141,154,126,252, 56, 86, 76, 32,142,150,107,211,163, 68, 42, 1, 39, 17, 11,142, 86,253,153,
+ 51,103,198,208,108, 30, 56,132, 1, 11, 0,144,218,111, 36,120,222, 14, 98,183, 55, 90, 38,169, 75,242,157,224,137, 29, 22,171,
+ 30, 38,147,201,223,180, 39, 76, 85, 85,149, 97,204,152, 49,219, 0,252,231,190,251,238,203, 67,195,236,194, 68,165, 82,201,196,
+ 98, 49, 15,160, 6, 0,185,124,249,114,200,197,139, 23,121,163,209,216,206, 95, 56,215,174, 93,139,147, 39, 79, 98,192,128, 1,
+141,150,131, 18, 92, 81,215,217,221, 3,201,159, 66,115,185,167, 25,225,189, 9,185, 64, 33, 18,137, 16, 18, 18, 2,137, 68,130,
+ 15, 63,252, 16, 18,137, 4, 10,133, 2, 0,240,249,231,159, 59, 39, 95,165,160,160,160,184, 97,132,150,191,122,211, 71,179,162,
+207, 38, 68,155,205, 86,146,152,152,216,172,139,217,237,246,114, 63,194,173,100,229,202,149, 18, 87, 23,194,223, 39, 33,164,220,
+207,195,182,100,205,154, 53, 18, 79,238,134,183, 5,166,253,113,218,237,246,146,164,164, 36,175,142,137, 39, 88,173,214,139,254,
+ 68,107, 86,165,161,145, 72,152,120,162,216,235,218,137, 20,126,243,154,143,252,249,206,149,230,207, 51,169,169,169, 23, 67, 67,
+ 67,215, 69, 71, 71, 87,239,220,185, 51,162, 79,159, 62, 17,174,199,244,233,211, 39,214,237, 52, 51,188,175,115, 8,134, 97, 74,
+238,187,239, 62,143,121, 94, 16, 77, 30,242,103,137,191, 60,191,111,223, 62,137,235,249,222,248, 93,202, 81, 73, 0,194,245,124,
+122,122, 58,235,202,227, 45,239, 91,173,214, 74,154, 11, 41, 40, 40,110,120,161,101, 48, 24,138,187,119,239,110,243,242,223, 5,
+ 95,231, 86, 87, 87,247,110,233, 8, 88,173,214,126,127, 7,206,170,170,170, 22,141,187,205,102, 43,113, 76, 80,234,243, 24,154,
+197,255,188,123, 4, 0, 21, 21, 21,183, 0,128, 78,167,131,191,101,117,154, 33, 8, 91, 60,127,218,108,182,126,173,145,166, 53,
+ 53, 53, 25, 52,103, 81, 80, 80, 80,161,213, 12,208,197,136,255, 26,104, 13,209, 74, 65, 65, 65, 65, 65, 65,209,178, 96,105, 18,
+ 80, 80, 80, 80, 80, 80, 80, 80,180, 14, 24, 52,140, 28,240,132,230,140, 38, 24,118, 5,215,206,161,156,148,147,114, 82, 78,202,
+ 73, 57, 41,231, 13,199,233,143,251,186, 25,205,120, 45,250, 75, 15,163,156,148,147,114, 82, 78,202, 73, 57, 41, 39,229,188, 17,
+ 65, 8,161, 77,135, 20, 20, 20, 20, 20, 20, 20, 20,173, 5,142, 38,193,159, 6, 17,154, 49,163,126, 0,170, 57, 12,128,183, 5,
+227,204, 12,195, 92,190, 2, 78, 6,128,196,177, 9, 19, 29, 89, 1, 88, 0, 88, 24,134, 33,254, 57,222,103, 75, 75,195,210,136,
+ 93,220,135, 48,140,152,231,113,164, 93,187,182,135, 25,230, 46, 51, 0, 40,163,187,116, 85, 41,229,195, 76, 22,115,178, 76, 44,
+ 61, 89,171,211,110, 50, 85,228, 23,209,236, 65, 65,241,167,224, 30, 0,211,208,208,173,100, 22,128, 21, 52, 73, 40, 40, 90, 73,
+104,169, 84,170, 3, 44,203, 38,248,155,159, 71,128, 99, 45,179,146,203,151, 47,247,110,198,181,199,168, 84,170, 33, 98,177,248,
+ 54, 0,176, 90,173, 59,181, 90,237, 22, 0, 43, 1,216,174, 48, 78,106, 0, 15, 1,120,204,241,123,153,163,178,208, 92, 33, 95,
+247,144,144,144,159,196, 98, 49,169,170,170,234, 11, 0, 17, 17, 17,123,172, 86, 43,163,209,104, 30, 4,112,180,153,124,172, 88,
+ 44,158,221,183,111,223,129,219,183,111,255, 15,128,249, 45,116, 47,101, 44,203,122, 20, 40, 60,207, 39, 93,129,200,146, 0, 8,
+153, 63,127,126,196,210,165, 75,211, 75, 74, 74,186, 1, 64, 66, 66,194,177,177, 99,199, 30,158, 48, 97, 66, 53, 33,164,142, 97,
+ 24,139, 47,158,210,210,176,180,138,178,130,231,202, 43, 78, 62, 4, 0, 49,177,221, 86,136, 68,172,132,144,131,187, 21,109, 30,
+107,211,177, 67,210,179, 63,124, 51, 95,146,148,220, 22,155,119, 29,186,121,194,203,111,167, 93, 4, 62,163, 98,235,218, 33, 56,
+ 56,248, 0,203,178, 9,190,202,184,167, 50,111,183,219, 75,106,106,106,122,123,227,228, 56, 46,193, 87,125,225,105, 31,207,243,
+ 5, 85, 85, 85, 30,167,154, 80,171,213,187, 57,142, 75, 14,148, 75,248,180,217,108, 37,222, 70,233,170,213,234, 3, 34,145, 40,
+193, 87, 60, 61,253,199,243,124, 65,101,101,165,183,112, 54,137,123, 75,132,243, 74, 56,125,133, 83,168,143, 0,124, 30, 17, 17,
+113,107,117,117,245,227, 0,222,214,104, 52, 61, 68, 34, 17,194,195,195,223, 54,155,205,103, 67, 66, 66,190,174,171,171,219, 5,
+224,101, 0,116,189, 84, 10,138,150,130, 90,173, 46,215,106,181, 68, 0,207,243,196,106,181, 18,147,201, 68, 12, 6, 3,209,233,
+116, 68,171,213, 18,141, 70, 67,234,234,234, 72,117,117, 53,137,140,140,116,159,188,209, 91, 27,110, 55,181, 90,157,159,149,149,
+101, 42, 44, 44, 36, 22,139,133, 88, 44, 22, 82, 84, 84, 68, 62,249,228, 19,147, 90,173,206, 7,208,205,203,185,195,188, 84, 22,
+119, 0, 88,158,158,158,110, 94,187,118, 45, 49, 26,141, 68,167,211,145, 21, 43, 86,144,155,110,186,201, 12, 96,185,227, 24, 54,
+ 64, 78, 0,232, 31, 19, 19, 83,114,238,220, 57,251,166, 77,155, 44, 33, 33, 33, 57, 33, 33, 33, 57, 69, 69, 69,246,115,231,206,
+241,109,218,180, 41, 1,208,191, 25,225, 4,128,209, 19, 39, 78, 44, 47, 42, 42, 34,131, 6, 13, 58,226,178,159,129,255,117,238,
+134,121,114,178, 8, 33, 49,132,144, 88, 52, 76,114,217,100, 35,132,196, 58,142, 9, 11,144, 83, 89, 80, 80,208, 54, 58, 58, 58,
+139, 97, 24,179, 59, 31,195, 48,230,232,232,232,172,130,130,130,182,132, 16,165, 47,206,146, 11, 11,158, 94,183,118,104,173,238,
+242,105,162,187,124,154,252,231,219,193,154,103, 38, 60,190, 60,182,125,207, 69,161, 9,105,243, 79,158, 62,179,144, 16,178,112,
+203,254,252,133, 83,191,252,223,194,251, 39,204,253, 42, 34, 49,253,153,102,164,231,213,128,114, 2, 8, 13, 13, 45,211,233,116,
+132, 16, 66,236,118, 59,177, 88, 44,196,100, 50, 17,189, 94, 79,180, 90, 45,169,175,175,119,150,243,186,186, 58,231,247,168,168,
+ 40,175,229, 61, 44, 44,172,220, 96, 48, 52,170, 59,204,102,179,179,254,208,235,245, 68,175,215, 19,157, 78,231,220,180, 90, 45,
+137,139,139, 43,246, 17,206, 75, 66, 56,121,158, 39, 54,155,141, 88, 44, 22, 39,175,209,104,108,180,153, 76, 38, 98, 50,153, 72,
+ 98, 98, 98,192,225, 12,132,211,104, 52,146,132,132,132, 82,111,156,225,225,225,229, 70,163,177, 17,167,107,252,221,121,133,223,
+ 49, 49, 49,101,205,225, 12, 36,156,190,210,211,129,249,121,121,121,196, 96, 48,144,248,248,248,234, 7, 31,124,208,106,183,219,
+201,218,181,107, 73,122,122, 58, 63,120,240, 96, 75, 85, 85, 21,249,199, 63,254, 65,124,188, 20,210,114, 68, 57, 41,188,155, 22,
+222, 29, 45,134, 97,160, 84, 42,241,227,143, 63,122, 93,142,195,245,123,187,118,237, 2,189,110,239,228,228,228,109, 59,118,236,
+144,199,198,254, 49, 33,182,217,108, 70, 88, 88, 24, 94,120,225, 5,233, 61,247,220,211,113,248,240,225,123,206,159, 63, 63, 8,
+192, 1, 63,124, 15, 68, 70, 70,126, 49,101,202,148,232,135, 31,126, 24, 17, 17,141, 38,221,198,152, 49, 99,240,224,131, 15, 74,
+242,242,242, 30, 89,188,120,241, 35, 11, 22, 44, 40,211,106,181, 19, 0,252,236,139, 84, 46,151,223, 23, 23, 23,247,213,142, 29,
+ 59,162,162,162,162,144,146,146,194,190,249,230,155, 29, 59,117,234, 36, 79, 72, 72, 96, 47, 93,186,132, 95,127,253, 53,254,209,
+ 71, 31, 93, 85, 94, 94,254,172,197, 98, 89, 29, 64,220,165, 17, 17, 17,111, 63,251,236,179,109, 52, 26,141,237,224,193,131,249,
+194,126,169, 84, 58, 61, 35, 35,163,207,214,173, 91,191, 7,240,245,149, 56, 89,132, 16, 13,254,104,226, 19, 96, 21,254, 15,196,
+217, 34,132, 72,143, 28, 57, 18,158,145,145,241,179,201,100,234,249,220,115,207, 93,152, 57,115,166, 92,173, 86,171, 1, 48, 26,
+141,230,242,180,105,211,204,115,231,206,125,171,107,215,174, 67,119,239,222,253, 0, 33,196,234, 16,100, 77,249, 24,198, 25,158,
+226,139,149,216,182,139,151,190, 55,249,245,132,143,103, 36,159,223,127,162,152,231,228,106,252, 55,247, 56,202,171,181,248,223,
+238, 19,136,137, 8,102, 36, 50,113, 90, 72,252, 77,131,234, 46,158,200,133,143, 25,210, 41, 90, 6, 12,195, 64,161, 80,224,191,
+255,253,111,147,165,171, 60, 45,107,197,113, 28, 66, 67, 67,253,174,110, 16, 20, 20,132, 77,155, 54,121, 92,123,209,211,146, 62,
+ 33, 33, 33,240,245,178,193, 48, 12,130,130,130,176,115,231, 78,176, 44,235,113,105, 32,247,125, 74,165, 18,172,143,181,174, 4,
+206,220,220, 92,191, 92,194,167, 74,165, 2, 26,154,254,189, 23, 74,153, 12, 59,118,236,240, 26,103,247,239, 42,199,122,175,254,
+ 56,119,238,220,217,104,233, 47,247, 37,193, 92,127, 43,149, 74, 48,126, 72,195,194,194,250, 38, 36, 36, 96,223,190,125, 88,185,
+114,101,120, 90, 90, 26,206,156, 57, 3,134, 97, 48,115,230, 76,230,166,155,110, 18,151,149,149, 97,192,128, 1,248,229,151, 95,
+250,105, 52, 26, 90, 96, 40,254, 44,193, 34, 6,112, 51,128, 72, 52,116,187,169, 7, 16,138,134,149, 52,164, 0,170, 1,200, 29,
+155, 9,128, 22, 64, 27,199,233, 85,142,186,197, 85, 32, 84,186, 46, 62, 77, 8,233,227,224, 22, 86,168,136,116, 57, 86,184,134,
+251,111,247, 79,143,220, 28, 0,100,103,103, 11, 15,179,193,153,153,153,219, 92, 35, 23,136,200, 18,214, 41,243, 80,166,221,135,
+104,202,148, 74,229, 79,123,246,236,145, 71, 70,254, 17, 7,147,201,132,250,250,122,104,181, 90,212,215,215, 35, 56, 56, 24, 43,
+ 87,174,148, 15, 29, 58,244,167,250,250,250, 78,142, 68,243,198, 57,231,210,165, 75,209, 54,155, 13, 82,169,231, 46, 74, 44,203,
+162, 75,151, 46,120,251,237,183, 49, 98,196,136,152, 33, 67,134,204,113, 19, 90, 77,134,146, 42, 20,138,175, 14, 30, 60, 24,165,
+ 80, 40,144,159,159,143,146,146, 18, 76,156, 56,177, 45,207,243, 40, 46, 46,198,153, 51,103,112,241,226, 69, 44, 94,188, 56,106,
+212,168, 81, 95,121, 16, 90,158,134,167, 62,247,234,171,175,118, 14, 11, 11, 99, 63,249,228,147, 90,157, 78,247,127,142,253,239,
+205,155, 55,239,137,129, 3, 7, 70,253,243,159,255, 36, 59,119,238, 92,234,184,113, 94,211,211,181, 79,150,163,153, 15,142,204,
+119,202,237,156, 46, 46,255,131, 16, 18, 3,192,196, 48, 76,173, 7, 78, 6, 64,200,240,225,195, 95, 51,153, 76, 61,119,236,216,
+113,246,182,219,110, 75, 4,112, 73,200,124, 33, 33, 33,202, 57,115,230, 68,103,102,102,230,221,126,251,237, 61,135, 15, 31,254,
+ 90,101,101,229, 76, 66, 72,165, 75,159, 45, 39, 39,207,227, 72, 76,108,183, 21,185,187, 39, 60,180,117,167, 89,242,250,203, 83,
+ 47,180,107,155, 84,119, 36,191,198,126,162,160, 18,245, 6, 27,238,191,189, 97, 1,243,190,221,218,225,139, 31,119,224,133, 87,
+222, 17,255,188, 98,201,131,103, 9,148,218,210, 19,107,125,164,231,213,130,114,194,217,196, 4,177, 88,140,187,238,186, 11, 12,
+195, 52, 89,203, 83, 44, 22, 99,247,238,221,184,253,246,219, 33, 22,139,241,212, 83, 79, 5,196,201,113, 28,134, 15, 31,238, 92,
+ 71,209,149,207, 93, 52,120,209, 4, 57, 77,222, 14, 57, 14, 44,203,122, 93, 72,219,157,211, 95,189, 36,132,211, 23,151,235,127,
+254,194,233, 88,242, 40, 96,145, 21, 40,167, 16, 78,142,227,208,175, 95, 63, 28, 62,124,216,167,232,242,162, 47, 27,197,253,242,
+229,203,227, 58,117,234,148, 59,127,254,252,112, 0,168,174,174,118, 46,120, 47, 18,137,112,250,244,105,152,205,102,188,255,254,
+251, 22,141, 70,243, 79, 90,142, 40,103,107,114,250,210, 34, 0, 6, 78,158, 60,185,119, 86, 86,214,204,140,140,140, 31,118,237,
+218,181,156, 97,152,108, 66, 72,166,240, 57,121,242,228,180,172,172,172,153,147, 38, 77,122,123,214,172, 89,199, 25,134,201, 6,
+ 0,247,223,142,186, 36,211, 77,196, 69, 10, 60,142, 50,215,232, 88, 79,191,221, 63, 61,113, 59,133, 22, 0,100,102,102, 50,142,
+ 72, 50,174,149, 90,160, 66, 43,144,181,251, 56,142,123,113,230,204,153,209,190, 68,150, 86,171, 69,105,105, 41, 18, 19, 19,241,
+212, 83, 79, 69,207,159, 63,255, 69,155,205,246,169, 15, 90,137, 72, 36,194,190,125,251, 80, 81, 81,129,238,221,187, 35, 57, 57,
+185,209, 1,231,206,157,195,186,117,235, 80, 91, 91,139, 94,189,122, 1, 13,157,187, 61,162, 71,143, 30,239,119,233,210,101, 56,
+203,178, 54,185, 92,142, 35, 71,142,160,103,207,158,248,241,199, 31,209,174, 93, 59, 40, 20, 10,228,229,229,161,123,247,238,216,
+182,109, 27, 34, 35, 35,145,158,158,110,211,104, 52,219,107,106,106,182,156, 63,127,254,125,111,225,140,143,143,159,250,204, 51,
+207, 72, 75, 75, 75,249,239,190,251,110, 7,128, 29, 0, 94,124,231,157,119,158, 28, 49, 98, 68,212,161, 67,135,234,246,239,223,
+191,215,139,200, 10,196,201,178,185, 63,148,236,118,187,201, 96, 48,152, 77, 38,147,149,101,217, 34,134, 97,204,118,187,189,147,
+ 55, 19, 98,252,248,241,237,171,170,170, 94,120,229,149, 87, 10, 29, 34,235, 52, 26, 58,192, 3, 0,108, 54,155, 73,171,213,106,
+ 50, 50, 50, 18, 31,125,244,209,179,203,151, 47,127, 97,252,248,241, 43,191,251,238, 59, 45, 0,131, 59, 97,187,118,109, 15,139,
+ 68,172, 68, 87, 31, 94,176,106,229,215,175,174, 91,243, 98,219,226,226,139, 29, 35,218, 68,234, 36,170,200,210,149,203,190, 61,
+ 0,192, 92, 90,169,193,209,115,101, 16,139, 69, 56, 89, 92,135,129,119,142, 17,159,205,159,209, 31,192, 90,250, 46,215,250, 47,
+139,194, 34,212, 91,183,110,245,233,104,237,222,189, 27, 98,177, 24,114,185, 28,115,231,206,245, 73, 42, 8, 3,193, 45,242, 39,
+102,132,197,209,125,185, 79, 60,207, 59, 23,122,119,223,254,239,255,254, 15,175,188,242, 74,163,107, 56,196, 6,227,143,211, 91,
+248, 18,147,146, 80, 81, 94,222,104, 95, 32,139,210,219,237,118,136,197, 98, 44, 90,180, 8,153,153,153,200,206,206,246,249,121,
+215, 93,119,129,101, 89, 18, 72,122,246,235,215, 15, 22,139,197, 25,230,211,167, 79,123,228, 93,176, 96,129,191, 96,222, 3, 96,
+ 90,207,158, 61,213, 67,134, 12, 65,110,110, 46, 30,124,240, 65,147,197, 98,201, 7,128,187,239,190, 59,117,254,252,249,210,131,
+ 7, 15, 34, 34, 34, 66,124,225,194,133,255,128,118,144,167,104,101,120,210, 34,194, 51, 47, 43, 43,107,166,187,136,113,133,240,
+ 63,195, 48,217,179,102,205,202,116, 21, 69,174,191, 5,215,201, 77,196,165,185, 58, 82,174, 34,202,155,128,114,123,222,186, 30,
+ 95,233, 81,104, 57, 34, 54,216,213, 5, 18, 42, 95,127, 34,203,199,155, 99, 35,132,132,132,140,188,255,254,251,157, 34,199,104,
+ 52, 58, 5,150, 32,178,132,223,121,121,121,232,221,187,183, 36, 36, 36,100,100,117,117,245,167, 1,136, 56,196,197,197,161,170,
+170, 10,199,142, 29, 67, 98, 98, 34,172, 86, 43, 54,108,216,128,186,186, 58,136,197, 98, 72, 36, 18, 88, 44, 62,251,110,163, 75,
+151, 46,119, 45, 93,186,180,247,146, 37, 75, 46, 11,111,116,203,150, 45, 3, 33, 4,145,145,145,208,235,245, 40, 47, 47,199,150,
+ 45, 91, 96,179,217,160, 82,169,144,146,146, 34,189,239,190,251,250, 79,155, 54, 77,236, 67,104,245,123,240,193, 7, 67,212,106,
+ 53, 94,126,249,101, 98,177, 88,102, 57,246, 77,157, 48, 97, 66, 68, 81, 81,145,249,233,167,159,222,103,177, 88, 62, 17,204, 68,
+ 87,129,227,229,198,122,117,178,172, 86,171,144,166,133, 90,173, 22,109,218,180, 73,116,117,182,188,137,193,157, 59,119,246, 3,
+ 32,154, 62,125,122, 16,128,114,215, 48,152,205,102,104,181, 90,232,116, 58,107, 93, 93, 93,197, 27,111,188, 97, 91,190,124,185,
+200,113,206, 73, 79, 66,139, 97,238, 50,171,213, 10, 41, 33,162,119, 22, 46, 92,168, 26, 49, 98, 4,171, 82,169, 80, 95, 95,175,
+254,223,250,245,170,161, 67,250,167,204,204,250,120,163, 58,161,123,249,206, 35, 5,184, 88, 86, 7,179,213,138,148,216,144, 6,
+ 63,140,162,213,225, 24,200,226,116,180, 92, 69, 69,110,110, 46,238,188,243, 78,103, 89,151, 72, 36,141,156, 47,127,156, 28,199,
+225,206, 59,239,108,226,240,108,221,186,213,163,251,228, 15,174,162,200, 93, 28,121, 18, 96, 44,203,250,157, 48, 80,112,243, 60,
+137, 45, 87, 87,223, 77,188,249,107,230, 0,199,113,152, 48, 97, 2,196, 98, 49,222,124,243, 77,112, 28,135,244,244,116,112, 28,
+135,140,140, 12,136,197, 98,220,126,251,237,205,142,251,158, 61,123,208,179,103, 79,103,152,210,211,211,209,167, 79, 31,112, 28,
+135, 1, 3, 6, 64, 44, 22, 99,248,240,225,129,112,190, 93, 95, 95,223, 67,165, 82, 33, 47, 47, 11, 97,163,210, 0, 0, 32, 0,
+ 73, 68, 65, 84, 15, 34,145, 8, 12,195,156, 1,208, 3, 0, 98, 99, 99,207,234,245,250,246, 70,163, 17,207, 60,243, 12, 99, 54,
+155,187,191,249,230,155,239, 24,141, 70, 42,180, 40, 90, 13,238, 90,196, 5,134, 73,147, 38,189,205, 48, 76,182,224, 80,185, 59,
+ 79,158,126,123,168,155, 4, 7,106,191,163,172,246,113, 19,113,149, 12,195,236, 39,132,220,237,237, 92, 0,102, 55, 97,213,168,
+233,208,181,217,208,175,163, 37, 84,190,129, 10, 45,127, 48, 26,141, 55, 71, 69, 69,121, 21, 89,174,159,102,179, 25,201,201,201,
+ 48, 26,141, 55, 55,247,161, 17, 27, 27, 11,139,197,130,175,191,254, 26, 18,137, 4, 18,201, 31,250,194,108,246,109, 22,157, 56,
+113,162,112,207,158, 61, 61,123,245,234, 21,246,203, 47,191, 84, 14, 26, 52, 40,114,196,136, 17,144,203,229, 48, 24, 12,176, 90,
+173,232,219,183, 47,186,116,233,130,146,146, 18,252,239,127,255,171,234,212,169, 83,155,189,123,247,242,101,101,101,231,125, 80,
+223, 49,116,232, 80, 48, 12,131,245,235,215, 87, 1,216, 47,147,201,214,205,152, 49, 35,204,108, 54,243, 99,199,142,189, 80, 83,
+ 83,243, 10, 0,139, 84, 42,157, 55,104,208,160,140,156,156,156,239,121,158,159,219,220,140,234,158,182, 58,157, 14, 65, 65, 65,
+129, 76, 37, 33,174,169,169,233, 6, 0, 74,165, 50, 28,192, 89,103, 14, 55, 24, 26,137, 97,179,217,108, 12, 15, 15, 87, 2,128,
+227, 28,177, 23,206, 72,155, 13,171,206,159, 47, 8,118,237, 63, 23, 26, 26,138,199, 30,125,148,189,173, 95, 63,105,143,155,111,
+ 30,254,238,103, 75,126,140,139, 80,155, 83,226, 34, 96,181, 91,145,179,113, 3, 79,120,235, 70, 90,237, 92, 27,161, 37,136, 13,
+119, 71, 75, 44, 22, 99,219,182,109, 77,246, 73, 36, 18,252,251,223,255, 14, 72, 24, 8,162,202, 91,211,153, 91, 83, 23,227, 79,
+192,136,197, 98,136, 68, 34, 44, 90,180, 8, 60,207,227,213, 87, 95,109,212,156,232,202, 31,144,157,231, 34, 2,187, 76,229, 1,
+152, 81, 50, 91,230, 60,223, 61,188,142,115, 2,114,201,230,207,159, 31,144,163,117,247,221,119,251, 21,174,174, 45, 12,174,225,
+ 58,124,248,176, 71,222,133, 11, 23,250, 77, 79,187,221,142,181,107,215, 58, 69,170,128,119,223,125,247, 25,169, 84, 26,189,125,
+251,118,148,149,149, 65,167,211, 65,171,213,162,111,223,190, 41, 44,203, 30, 41, 43, 43, 43, 58,121,242,228,253,180,244, 80, 92,
+ 67, 71,203, 52,107,214,172,227,179,102,205,242,232, 88,185, 59, 75,190,156, 39, 65, 96, 57, 4, 81,164, 32,222,208,208,173,102,
+191,191,115, 1, 72,221,155, 14,125, 26, 65,110, 42,114,154,167,202, 55,144,230,195, 0,237,116,142, 97, 24, 24,141, 70,143, 2,
+203, 85, 28, 88, 44, 22,212,212,212,192,110,183, 95,241, 92, 95,158,222,100,253, 9,173, 99,199,142,253,227,201, 39,159, 44, 13,
+ 9, 9,233, 81, 89, 89, 89,193,243,252,237,187,119,239,142,228, 56, 14,106,181, 26,106,181, 26,235,214,173,131, 66,161,192,132,
+ 9, 19, 42,236,118,123,110,112,112,112,132,193, 96,248,189,172,172,236, 93,175, 10, 70, 44, 30, 62, 96,192, 0, 28, 60,120, 16,
+151, 47, 95,222, 4, 32,253,241,199, 31,191,179,109,219,182,204,140, 25, 51,140,231,206,157,155, 11,160, 66,169, 84, 46, 93,186,
+116,233,144, 94,189,122, 5,143, 29, 59, 22,219,182,109, 91, 8,192, 24,104,156,117, 58, 93, 35,129,165,209,104, 80, 95, 95, 15,
+165, 82,105, 11, 48,205,196,248, 99,132, 33, 8, 33,206,123,227,112,179,132,251, 67, 56,142, 19, 70, 53,122, 19, 89, 80, 42,149,
+211,151, 44, 89, 34,119, 31,164, 96,183,219, 81, 94, 94, 14,181, 90,141, 41,239,190, 43,249, 96,226, 63,123,138, 84,209,187, 89,
+150,129,217, 66,106, 9,111,222,160, 43,127,120, 59,240, 62,173,121,174, 1, 4, 97,112,239,189,247, 54,105, 46,148, 72, 36,216,
+180,105, 19, 70,141, 26,229,124,113,233,213,171,151,223,151, 43, 65, 24,220,115,207, 61, 78,103,104,195,134, 13, 30,155,253, 4,
+ 71, 42, 16, 65, 40, 28,251,210, 75, 47,129,227, 56,124,241,197, 23,120,237,181,215,192,178, 44,102,207,158, 13,150,101,241,222,
+123,239, 5, 44, 50, 93, 5, 76,209,199, 13,159, 9,175,105, 80,189, 32, 26, 0, 16,172, 86, 11, 17,106, 86,221,195,113,156,211,
+201,186,249,230,155, 33, 22,139,145,145,145, 1,142,227,156, 78,214,200,145, 35, 93,211,145, 4,194,201,113, 28,242,243,243,157,
+ 97,206,200,200,104,228,100,113, 28,135,187,239,190, 59,144, 96,206, 12, 13, 13,157,214,165, 75,151,174,115,230,204, 17,139, 68,
+ 34, 12, 29, 58, 52, 53, 38, 38,230,188,205,102,139,152, 62,125,186,194,195, 57,114, 0, 61,186,118,237,170,164,165,134,162, 21,
+ 29,173,105, 30,254, 10,115,237,115,213,140, 23,201,108,215,227, 5, 14,119,113,228,112,200,114,253,113,121, 58,215, 31, 56, 65,
+ 65,250,178,212, 3, 17, 90, 14,219,217,231,197, 20, 10,197,209,138,138,138, 12,185, 92,222, 72,100,121, 18, 92, 34,145, 8,101,
+101,101, 80, 40, 20, 71, 77, 38, 83,139,221, 68,127, 77,135, 0,140,103,206,156,153,232,242,123,216,200,145, 35,191,219,180,105,
+ 83,108, 78, 78, 14,246,238,221,139,200,200, 72,204,159, 63,255, 82,121,121,249, 63, 0,108,170,170,170,242,123,221,246,237,219,
+119, 83,169, 84,216,185,115, 39, 0,108, 3,240,207, 23, 94,120,129,177, 90,173, 88,176, 96,129, 14,192,250,208,208,208,181, 43,
+ 87,174,236,217,163, 71, 15,105, 78, 78,142,102,239,222,189,191, 5, 40,178,236, 60,207, 55, 17, 88,174,105, 26, 28, 28, 28,136,
+163,101, 13, 9, 9, 57,166,209,104,198, 24, 12, 6,141, 76, 38, 11,214,104, 52, 38, 87,129, 37,240,115, 28, 39,206,207,207, 47,
+ 5,144, 18, 18, 18,114, 12, 94,154, 57, 57,142, 27, 58,116,232, 80,206,253, 30,148,151,151,163,172,172, 12, 22,139, 5,189,122,
+245, 98, 68,140, 85,116,185,248,168,219,180, 14, 84,100, 93, 35, 71,139, 8,101, 93, 24, 37,232,105,164,225,134, 13, 27,156,191,
+ 89,150,197,183,223,126, 27,144, 40,218,180,105,147,207, 14,235,110, 77,135,126,173,113,225,248, 47,191,252,178, 97,121, 11,135,
+147,197,178, 44, 38, 77,154, 4,153, 76,134, 25, 51,102, 96,210,164, 73,224, 56,206,111,211,161,171,128, 73,122, 83,239,250,114,
+212, 80, 40, 28,253,161, 24,134,113, 21, 91, 76,160,226,205,151,155, 23, 72, 75,128, 43,167,112, 94, 80, 80,144,215,142,240,110,
+156,190, 46,240, 95, 0, 5,177,177,177, 59, 51, 50, 50, 66, 14, 28, 56,128,217,179,103, 75, 76, 38, 83,187,156,156, 28,231,117,
+ 61,165,151, 78,167,147,211,146, 67,209, 26,110,150,143,191, 43,221,250, 87, 49,174,205,120, 62, 62,221,143,135,203, 62, 87,222,
+ 74,134, 97,172, 30,174, 87,233, 65, 92,185, 95,195,245,152, 74,175,142,150,191,202,194,159,224, 10,196,209,210,235,245,191,173,
+ 95,191,190,207,163,143, 62,202,249,106, 54,212,233,116,136,142,142,198,241,227,199,109,122,189,254,183, 0,156,178,150, 20, 90,
+238,200,169,168,168, 16, 89,173, 86,116,236,216, 17,241,241,241, 48, 26,141,168,173,173, 21, 1,216, 20, 32,135, 68,169, 84,138,
+ 0,160,182,182, 22,104, 24,106,154,218,169, 83, 39, 28, 60,120, 16, 53, 53, 53, 63, 3, 24, 49,109,218,180, 94,125,251,246,149,
+252,248,227,143,250,231,158,123,238,103,171,213, 26,144,210,224,121,222,108,179,217,146, 89,150,181,212,214,214, 94,116, 77,207,
+232,232,232,112,165, 82,201,148,151,151, 91, 3, 17, 90, 61,122,244,216,119,225,194, 5, 76,159, 62,189,114,230,204,153,157,234,
+235,235, 47,215,213,213,217, 92,197,150,209,104,100,219,180,105, 35, 91,176, 96,129, 28, 0,122,244,232,177,207,155,208,210,233,
+116,109, 21,138, 63, 94,140, 77, 38, 19,202,202,202, 80, 86, 86,134,242,242,114,212,215,215, 35, 37, 37, 5,122,189, 62,145, 86,
+ 51,127,154,208,106,212,124,230, 90,190, 93, 31,228,205, 41,235,174, 2,230,222,123,239,117,246,237, 18, 28, 50, 97, 91,181,106,
+149,123, 7,243,128,132,214,151, 95,126,137,151, 94,122, 9, 65, 65, 65,152, 51,103, 78,163,166, 67,119,113,192,243, 60, 19, 72,
+220,147,223, 50,160,108, 94, 56,196, 98, 49, 34,158, 43,111,212, 68,231, 65,112, 4, 20,206,153, 51,103,182, 72,211,161, 43,103,
+ 98, 98, 67, 81, 89,180,104, 17,198,140, 25,131,237,219,183, 95,113,211, 97, 90, 90,218,178,236,236,236,144, 19, 39, 78, 64,163,
+209,160,178,178, 18, 38,147, 9, 37, 37, 37, 94, 91, 5, 28,117,121, 16, 45, 57, 20,215,184,158,218,127, 45,121, 91,242,122,156,
+159, 7,120,192, 66, 43, 16, 71,203,100, 50,205,121,249,229,151, 95, 24, 54,108, 88,120,112,112, 48, 74, 75, 75,155,136, 44,173,
+ 86, 11,149, 74, 5,131,193,128, 53,107,214,104, 76, 38,211, 28,127,226,192,106,181, 34, 42, 42, 10, 85, 85, 85,224,189,244,159,
+102, 89, 22,114,185, 28, 90,173, 22,240,211,201,220,211, 3,195, 98,177,192,106,181,194,106,181,194, 98,177, 52,119, 69,110,133,
+ 82,169, 20,132, 7, 0,232,226,226,226, 58, 6, 5, 5,161,176,176, 16,104, 24,217, 55,236,206, 59,239, 20, 87, 87, 87,147,167,
+159,126,122, 7, 33,228, 25,248,158, 29,223,156,155,155,155, 12, 0,114,185, 60, 15, 0, 74, 74, 74,172,181,181,181,141,156, 66,
+133, 66, 65, 70,141, 26, 21, 75, 8, 65,110,110,110,178, 68, 34, 33,240, 62,170,209,184,122,245,234, 19, 33, 33, 33,203,179,178,
+178, 30,205,204,204, 60,222,173, 91,183,100,157, 78, 87, 97, 48, 24, 12, 70,163,145,136, 68, 34, 73, 88, 88, 88,208,198,141, 27,
+207,238,222,189,123,152, 90,173, 94,190,122,245,234, 19,222,156, 55,165, 82, 89,162,215,235,147,132,123,234, 42,178,202,202,202,
+ 64, 8, 65, 65, 65, 1, 20, 10,197, 5,127,205,186, 20,173, 7,225,165,202,221,121,113,223, 23,168,200,114, 21, 6, 27, 55,110,
+244, 57,135, 86,160,156,174,162,232,181,215, 94,195,188,121,243,154, 56, 90, 51,102,204, 0, 0,188,251,238,187, 1,247,209, 18,
+220,171,178,121,225,136,121,169,166, 81,216, 1,128, 17,194,215,188, 50, 15,142,227, 48,125,250,244, 38,157,212, 93,155,246, 2,
+108,226,107, 20,206,138,138, 10,112, 28,135,240,240,112, 60,246,216, 99, 24, 62,124,184,179, 9,178,185,188,167, 78,157,218,249,
+214, 91,111,117, 79, 75, 75,195,135, 31,126, 88, 19, 26, 26, 26,252,175,127,253,139,171,173,173,101,124, 57, 90, 84,104, 81, 80,
+180,128,208, 18, 10, 88,160,163, 14,189, 84,150,195,208,120,174,141, 58,189, 94,255,216, 29,119,220,241,203,138, 21, 43,228,237,
+219,183,199,169, 83,167, 80, 83, 83, 3,179,217, 12,137, 68,130,216,216, 88,212,214,214,226,219,111,191, 53,232,245,250,199, 0,
+212,249,225,124,167,119,239,222, 95,125,250,233,167, 65,233,233,233,168,169,169,129, 86,171,117, 10, 33,134, 97,160, 86,171, 33,
+151,203,177,111,223, 62,108,216,176,193, 0,224, 29, 63,156,158,212, 28, 44, 22,139, 83,112, 5, 32,180, 92, 57,149,130,171,163,
+215,235, 1,192,218,182,109,219, 24, 0, 40, 40, 40, 0,128,162,148,148,148,105,237,219,183,103,150, 46, 93, 74, 8, 33, 27,188,
+136, 44, 39, 39,195, 48, 53,132,144,203, 0, 98,204,102,179, 4, 0,234,234,234, 44,109,218,180,137,146,201,100,188, 92, 46,231,
+131,130,130,248,210,210, 82,155,205,102,147, 0,192,128, 1, 3,204, 0,202,220,214, 40,116,229,228, 9, 33,154,133, 11, 23, 78,
+ 27, 59,118,108, 70,191,126,253,210,158,127,254,249, 99, 79, 63,253, 52, 27, 31, 31, 31, 86, 95, 95,111, 60,115,230,204,229,207,
+ 62,251,172,126,207,158, 61,195,196, 98,241,249,133, 11, 23, 78, 3,160, 97, 24,134,247,196,105,179,217,126,203,201,201,249, 71,
+102,102, 38,119,241,226, 69,148,151,151, 59, 69, 86,121,121, 57,186,116,233,130,221,187,119,219, 45, 22, 75, 78, 51,210,179,165,
+ 64, 57, 27, 94, 66,136, 80,214,189, 9, 44,225,101, 42, 80, 78, 87, 81, 52,102,204,152, 70, 46,150, 68, 34,193, 79, 63,253,228,
+177,222,240, 80,174, 26,197,221,117,142,175,183,222,122,171,145,104,155, 50,101,138,215,234,204, 95,122, 10, 60,117,139,226, 27,
+143, 58,244, 82,206,125,133, 83,168, 59,197, 98, 49,166, 76,153, 18,176,163,133,166,125,180,154,112, 10,113, 31, 52,104, 16,244,
+122,189, 83,200,122,115,180,252,165,167,221,110,127,105,222,188,121, 68,173, 86,223,170,209,104, 30,191,112,225,194, 98,189, 94,
+127, 75, 93, 93,157, 79, 71,203,100, 50,201,104, 57,162,156,104,157,249,185,110, 28,161,229,120, 72,162,109,219,182,141,214,206,
+ 98, 89,182,209,214,156,126, 6, 14,108,204,207,207,127,224,182,219,110,251,254,165,151, 94, 10, 78, 79, 79, 23, 39, 37, 37, 65,
+167,211,161,176,176, 16,199,143, 31,183,173, 94,189, 90,163,215,235, 31, 7, 16,200,168,179, 37, 39, 78,156,216, 48, 98,196,136,
+247,250,246,237,251,236,212,169, 83, 69,169,169,169,168,171,171, 67, 88, 88, 24,162,162,162,112,250,244,105,172, 89,179,198, 94,
+ 85, 85,245, 21,128, 15,224,161, 13,213,223, 11,191,197, 98,193, 35,143, 60, 2,158,231, 49,119,238, 92, 4,178,160,178, 11, 44,
+ 22,139,133, 0, 96, 28,253,185,244,142,217,165,113,230,204, 25, 0, 56,159,156,156, 28, 12, 0, 57, 57, 57, 12, 26,230,215, 10,
+228, 13,159, 16, 66,156,206, 86,151, 46, 93, 10,221, 43, 71,193,201, 18, 92, 48,127,225,102, 24,198, 72, 8,169,208,235,245, 35,
+ 94,123,237,181,247,190,252,242,203, 71,191,252,242,203, 38,199,169,213,234,229,179,103,207,254,224,161,135, 30,170, 96, 24,198,
+107, 63, 50,157, 78,247,238,184,113,227, 30, 58,122,244,104,112, 80, 80, 16,116, 58, 29,170,171,171, 97,177, 88,144,146,146,130,
+138,138, 10, 44, 89,178,164,222, 96, 48,188, 79,139,227,159, 3, 87, 97,224,205,213, 10, 64,100,121,117,117,254,251,223,255,122,
+156,163,170,185,156,238, 98, 35,208,185,173,124,189, 20, 9,211,210,120,154, 50,162,153,245, 90, 19, 94,142,227,240,201, 39,159,
+ 56, 39,109,245,228,100, 53,199,209, 18, 56,195,195,195, 27,108,114,133, 2, 60,207,227,238,187,239,190, 26, 94, 30,192, 4,151,
+ 25,223,103,190,241,198, 27,211,186,116,233,146, 10, 64,230,154, 6,205,116,241, 41, 40, 40,252, 9, 45,187,221, 94,210,185,115,
+231, 70, 21,156,191,197, 76,173, 86,107, 73,128,215,221,160,211,233, 82,102,207,158,253,178, 82,169, 28,166,215,235,187, 59, 42,
+142,163, 58,157, 46,199,100, 50,125,142,230, 45, 2, 93, 9,224,197, 61,123,246,204, 29, 49, 98,196,140,219,111,191,125,244,196,
+137, 19, 25, 66, 8, 22, 44, 88, 64,206,157, 59,183,202,225, 98,157,187,146, 68, 10, 15, 15, 63,241,237,183,223, 70,255,242,203,
+ 47,176, 90,173,248,252,243,207, 17, 28, 28,124,162,166,166, 38, 80,138,138,205,155, 55,127,215,175, 95,191, 39,118,239,222,189,
+ 4,192,239,219,182,109, 91,220,191,127,255,113,187,119,239, 94, 6,224,248,150, 45, 91, 22,247,237,219,119,220,254,253,251, 87,
+ 2, 56,220,140,202,215,233,108,217,108,158, 91, 26,189, 56, 89,190, 56, 53,132, 16,203,147, 79, 62, 57,241,161,135, 30,250,122,
+255,254,253,183,212,214,214,118, 7,128,208,208,208,163,125,250,244,217,183, 98,197,138,211, 14, 39,203, 95,103,253, 74,157, 78,
+ 55,170,123,247,238, 63,127,248,225,135,202,180,180, 52,174, 99,199,142, 40, 42, 42,194,177, 99,199,108,255,249,207,127,180, 6,
+131,225, 94, 0,151,105,113,252,243,132, 22, 33, 4,161,161,161,141, 94,162,132, 33,255,205,109, 46,116,125, 48, 11, 75,245,184,
+243,122,227,244, 53,109,130, 0,149, 74,229,156,220, 52,144, 46, 11, 60,239,123, 62, 54, 66,136,147, 83,216, 2, 16, 89,126, 71,
+ 8, 58,150,192, 9,152, 51,144,233, 29,148, 74, 37,172, 86,171,147, 55,128,145,159,205, 85,139,255, 5,240, 95,171,213,122, 6,
+ 64, 7, 42,174, 40, 40, 90, 81,104, 93,190,124,185,119, 43, 95, 91, 99, 50,153, 62, 48,153, 76, 31, 8, 59,140, 70,227,213,114,
+158, 3,240,208,230,205,155, 63,221,188,121,179,208,142, 48, 29,254,215, 75,244,137, 83,167, 78,101,138,197,226,127, 47, 95,190,
+188, 47, 33, 4, 33, 33, 33,123,138,138,138,254,213, 28, 14,187,221,254,228,238,221,187, 95,128,163, 47,147,197, 98,121,114,231,
+206,157, 47,163, 97, 61, 38,216,237,246, 39,247,238,221,235,252,221,204, 7, 37, 33,132,152, 8, 33,113, 94, 14, 49, 53,211,129,
+ 19,156, 45,243,138, 21, 43,180, 0,142,224,143,121,178,172,142,205,232,214, 92,232, 11, 91,116, 58, 93,199, 41, 83,166,204, 20,
+137, 68, 67,117, 58, 93,188, 82,169, 44,182,217,108,191,233,245,250,119,208,176, 70, 21,197,159, 4,179,217,124,177,115,231,206,
+156,167, 23, 40, 95, 15,114, 95, 47, 86,118,187,189,164, 83,167, 78,126, 95,206, 60,112, 94,244, 33, 26,206,167,164,164,176,129,
+114, 9,176, 88, 44, 21,190,194,153,146,146,130,230,114,250,139,123,114,114,178,199,184,251, 17,132, 94,227,110,179,217,174,136,
+211, 87,122,250,130,193, 96,184, 28, 25, 25,169, 53, 26,141, 98,147,201, 36,182,217,108,141,236, 71,185, 92, 94,105, 48, 24,104,
+225,161,160,184, 26,161,245, 55,199, 1, 52, 44, 47,209, 82, 48, 29, 61,122,244, 9,167, 61, 85, 81,113,165, 60,238, 74, 82,235,
+231,119,115,132, 81,139, 59, 66, 14, 33,165,111, 33,186, 42,173, 86,251,180,240, 67,232, 3, 66,241,231,163,186,186,250,214,150,
+230,172,169,169,105,241, 23,181,170,170,170,140, 86,136,123,239, 27,149,211, 23, 74, 75, 75,111,245, 35,196,104,193,161,160, 8,
+ 16, 44, 77, 2, 10, 10, 10, 10, 10, 10, 10,138,214, 1,131,134,145, 3,158,208,156,209, 4,195,174,224,218, 57,148,147,114, 82,
+ 78,202, 73, 57, 41, 39,229,188,225, 56,253,113, 95, 55,163, 25,175, 69, 63,199, 97,148,147,114, 82, 78,202, 73, 57, 41, 39,229,
+164,156, 55, 34, 8, 33,180,233,144,130,130,130,130,130,130,130,162,181, 64,133, 22, 5, 5, 5, 5, 5, 5, 5, 5, 21, 90, 20,
+ 20, 20,127, 83,164,182,109,219,246,100,106,106,234, 69, 0,227, 91,249, 90,143,245,237,219,183, 90, 38,147,109, 4,144, 74,147,
+158,130,130,130, 10, 45, 10, 10,138,235, 90,100,117,239,222,125,199,169, 83,167,186,228,228,228,196,197,199,199,127,220,154, 23,
+235,221,187,247, 71,219,183,111, 15, 95,191,126,253, 29, 49, 49, 49,185, 87, 40,182, 82,219,181,107,119, 50, 53, 53,181, 4,192,
+ 99, 45, 28,196,241, 25, 25, 25, 53, 82,169,116, 3, 21,130, 20, 55, 0,186, 1,232, 78,133, 22, 5, 5, 5, 69, 43,138,172, 93,
+187,118, 69, 24,141, 70,156, 58,117, 10,149,149,149,135, 91,243,130,121,121,121,151,119,237,218,133,132,132, 4, 44, 91,182, 44,
+ 50, 57, 57,121,123, 51, 5, 77,106,247,238,221,119,156, 60,121,178, 75, 78, 78, 78,124, 84, 84,212,103, 45, 25,190, 91,110,185,
+101,198,246,237,219,195, 54,110,220, 56, 60, 50, 50,242, 74,133, 32, 5,197, 95, 25, 50, 0, 79, 48, 12,179,175, 91,183,110, 71,
+211,210,210,126,103, 24,102, 55,128, 49,184,126,231,238, 12, 12,217,217,217,219,178,179,179,183,209, 60, 66, 65, 65,209, 2, 72,
+ 75, 75, 75,211,233,116, 58, 82, 89, 89, 73,190,248,226, 11, 18, 30, 30,110, 1,240, 27,128,213, 30,182,183, 1,168, 3,228, 86,
+ 59,142,247,196,243, 91,120,120,184,229,139, 47,190, 32, 5, 5, 5,228,196,137, 19, 36, 53, 53,213, 16,160,160, 73,237,222,189,
+123,149, 16,230,117,235,214, 17,142,227, 54,180,100,162,168,213,234,227,185,185,185,228,220,185,115,100,227,198,141, 36, 58, 58,
+186,130,138, 45,138,235, 4, 73, 0, 62, 82,169, 84, 53,247,220,115, 15,249,230,155,111,200,154, 53,107,200,207, 63,255, 76,230,
+204,153, 67,134, 12, 25, 66,164, 82,233, 69, 0,111, 2, 8,189, 81,180, 8, 33,164, 97, 85,251,236,236,108, 2, 96, 48, 0,100,
+102,102, 82,177, 69, 65, 65,113,181,216,165,215,235, 51,244,122, 61,234,235,235,209,182,109, 91,136,197, 98,143, 7, 86, 84, 84,
+ 96,231,206,157,152, 48, 97,194,137,178,178,178,129,240,189,238,101, 88,207,158, 61,119,109,217,178, 37, 53, 56, 56,216,185,147,
+231,121, 88, 44, 22, 88,173, 86, 88, 44, 22,152, 76, 38,152, 76, 38, 72,165, 82,200,229,114,132,135,135, 31,131,239, 38, 12,167,
+251,102, 48, 24,112,232,208, 33,140, 29, 59,182,178,186,186,122, 32,128,188, 22, 76,151,212,168,168,168,220, 37, 75,150, 68,166,
+164,164,224,194,133, 11,120,234,169,167,170,206,159, 63, 63,160,133,175, 67, 65,113, 45, 49,233,129, 7, 30,152, 17, 29, 29,205,
+118,235,214, 13,177,177,177, 48,153, 76, 48, 24, 12, 32,132,128,227, 56, 16, 66, 80, 87, 87,135,220,220, 92,108,217,178,197,116,
+249,242,229,111, 1,124, 14, 32,223, 69,100, 93,119, 90,164,145,208,202,204,204,100,104, 94,161,160,160,104, 33, 28,173,171,171,
+235,102, 50,153,160,211,233, 2, 58,161,160,160, 0,227,199,143, 63, 81, 86, 86,118, 27, 60, 47, 42,175,238,217,179,231,222,220,
+220,220, 84,163,209, 8,141,198,255,186,243, 82,169, 20, 65, 65, 65,136,136,136,216, 13,160,159,183, 55,241,110,221,186, 29,216,
+189,123,119,184,193, 96,192,225,195,135,241,216, 99,143, 89,106,106,106,118, 0,240, 22,248, 26, 52,172,163,122,222,195,127,137,
+ 0, 94,118,188,225,123,130, 50, 50, 50,178,255,210,165, 75, 37,237,219,183,135, 94,175,199,152, 49, 99,106,242,242,242,250, 0,
+ 40,164, 89,135,226,111,136,188, 83,167, 78,117,178,219,237,168,170,170,130,201,100,130, 94,175,119, 10, 45,145, 72, 4, 66, 8,
+108, 54,155,243,197,232,224,193,131,200,201,201, 33, 5, 5, 5, 83, 29,101,233,186,212, 34, 84,104, 81, 80, 80,180, 22, 82, 59,
+117,234,116,248,127,255,251, 95,144, 68, 34,193,154, 53,107, 48,117,234, 84,107, 77, 77,205,118,119,241, 18, 29, 29,157,182,120,
+241,226,228,148,148, 20,252,254,251,239,120,240,193, 7,223, 1, 48,211, 3,231,219, 26,141,102,134,197, 98,193,225,195,135, 49,
+110,220,184,194,242,242,242,227,238, 34, 38, 57, 57,121,192,103,159,125, 38,238,213,171, 23, 52, 26, 13, 70,143, 30,173, 63,125,
+250,116, 95, 0,199,189,132,245,179,154,154,154,215,236,118, 59,234,235,235,145,144,144, 0,137, 68,226, 51,114, 6,131, 1, 73,
+ 73, 73,187, 43, 43, 43,155,136,183,136,136,136,205, 23, 46, 92, 24, 34,151,203,125,114, 88, 44, 22,148,148,148, 64, 42,149,194,
+100, 50,161, 67,135, 14,223, 2,120,146,102, 29,138,191,163,208, 58,114,228, 72,167, 31,126,248, 1, 61,123,246, 68,215,174, 93,
+161,213,106,157,162,203,108, 54,195,106,181, 54, 57, 73,163,209,224,213, 87, 95,205,135,163,249,252,122, 21, 90, 66,199,180,105,
+ 66,155,104,102,102,230, 32,154,103, 40, 40, 40,174,182,226,205,207,207, 79, 31, 54,108,216,246, 85,171, 86,181, 25, 57,114, 36,
+ 58,116,232, 32,190,255,254,251, 35,245,122,253, 80,215, 3,203,203,203,195,198,141, 27,119,160,184,184, 56,217,177,171,143, 23,
+206, 62,193,193,193, 40, 40, 40, 16, 68, 86,111,184, 53, 51, 74,165,210, 13, 71,142, 28, 17, 75,165, 82,236,223,191, 31,227,199,
+143,175, 42, 44, 44,244,215, 44, 23,106, 54,155, 33, 18,137, 0, 0, 37, 37, 37,126, 35,119,225,194, 5,240, 60,111,242,244, 31,
+203,178,178,131, 7, 15, 34, 46, 46,206, 39, 7,203,178,238,130,174,150,102, 27,138,191, 41,172,102,179, 25,189,123,247, 70, 97,
+ 97, 33, 14, 30, 60,232, 20, 92, 85, 85, 85, 40, 45, 45,109,116,240,190,125,251,112,232,208, 33, 12, 28, 56,208,157,231,186,212,
+ 34, 78,229,152,157,157, 61,200, 17,185,109, 52,207, 80, 80, 80,180, 16, 82,227,226,226,114,151, 44, 89, 18, 25, 27, 27,139, 33,
+ 67,134, 20,151,149,149,181,243,112,220,106, 66,200,189, 5, 5, 5,104,223,190,253, 26, 0,247, 93,201, 49,137,137,137,149,251,
+247,239,111,115,226,196, 9, 60,246,216, 99,149,142, 62, 95,254,250, 62, 37,119,233,210,101,255,198,141, 27,195, 89,150,197,241,
+227,199, 3,105, 58, 44, 66, 67,255,146,243, 30,254, 75, 4, 48, 5, 64,184,151,115,149,157, 58,117,234,127,224,192, 1, 9,195,
+ 48, 40, 42, 42, 18,154, 14,123, 59,120, 41, 40,254,110, 24, 21, 23, 23,247,159, 23, 94,120, 33,164,111,223,190, 40, 41, 41,193,
+197,139, 23,113,249,242,101,164,167,167, 35, 45, 45, 13,231,206,157,195,134, 13, 27,112,232,208, 33,200,100, 50, 36, 36, 36, 64,
+181,252, 7,252,155,193, 9, 0,105,215,171, 22,185, 22,107, 29, 82, 80, 80, 80,164, 74, 36,146, 13,241,241,241, 21,240, 60, 47,
+ 85,216,232,209,163, 75,237,118, 59, 57,119,238, 28, 65,195,232, 65,120, 17, 90,228,220,185,115, 36, 58, 58,186, 0, 64,152,135,
+ 99,198,199,196,196, 20, 43, 20,138, 99,104,230,180, 14, 29, 59,118,172, 60,125,250, 52, 41, 46, 46, 38,235,215,175, 39, 17, 17,
+ 17,173, 49, 34, 48,181,115,231,206, 85,245,245,245,196,104, 52,146,220,220, 92,146,152,152, 88, 9, 58,242,144,226,239,143, 96,
+ 0,211, 83, 82, 82,140,159,126,250, 41,217,176, 97, 3, 89,180,104, 17,153, 49, 99, 6,153, 56,113, 34,201,200,200, 32, 25, 25,
+ 25,100,204,152, 49,228,181,215, 94, 35,119,222,121, 39, 81,169, 84,117, 0,238,191,158, 19,133, 10, 45, 10, 10,138, 63, 3,137,
+ 0,230, 56, 4,213,234,209,163, 71,151,154, 76, 38,114,241,226, 69,242,211, 79, 63, 17, 52, 76,221,224, 9,111,151,149,149,145,
+178,178, 50, 97,106,132, 2,252, 49,173,195, 55, 14,222,171, 18, 65, 73, 73, 73,149, 7, 14, 28, 32, 69, 69, 69,100,221,186,117,
+196, 33,216, 90, 12,114,185,124,163, 70,163, 33, 70,163,145,108,222,188,153, 78,239, 64,113, 61, 34, 10,192,252,155,110,186,201,
+ 58,119,238, 92,178,122,245,106,242,197, 23, 95,144, 81,163, 70,145, 55,223,124,147, 60,252,240,195, 36, 50, 50,210, 4, 32, 11,
+ 64,200,245,158, 24,215, 66,104,209,149,205, 41, 39,229,164,156,238,216,112,226,196, 9, 34,192,110,183,147,139, 23, 47,146,141,
+ 27, 55,146,152,152,152,227,104, 60,159,150, 43,167,186,107,215,174,167, 78,159, 62, 77, 46, 92,184, 64, 44, 22,139,147,227,212,
+169, 83, 4,192,182, 22, 8,103,106,124,124,124,197,214,173, 91,201,233,211,167, 73, 76, 76, 76,113, 75,198, 61, 41, 41,169,162,
+178,178,146,108,222,188,153, 68, 70, 70,250, 19, 89, 52, 47, 81,206,191, 51,103, 18,128,165,189,122,245,178,207,155, 55,143, 60,
+251,236,179, 36, 49, 49,209,238,120, 41,138,191, 81, 84,167,107,103,120, 10, 10, 10,138,107, 5,217,158, 61,123, 32,147,201,156,
+ 59,126,255,253,119,215,121,180,188,205,219,160, 57,121,242,228,109, 35, 71,142,220, 62,111,222,188,174,174,163,152,182,110,221,
+ 10, 0,166, 22, 8, 91,222,197,139, 23, 7,142, 24, 49,226,243,136,136,136,155,203,202,202,222,107,201,136, 23, 21, 21,189,214,
+189,123,247,153,245,245,245, 26,189, 94, 63, 6,116,238, 44,138,235, 23, 69, 0,198, 30, 60,120,240,227,131, 7, 15,190, 3,128,
+ 0,248, 16,192,201, 27, 45, 33,168,208,162,160,160,184,214, 24,255,244,211, 79,187,119, 22,223, 15,224,255,124,136, 44, 1,151,
+ 11, 11, 11,251,221,125,247,221, 47,160,241,232, 68,161,115,122, 75, 32,207,108, 54, 15,119, 31, 41,213, 66, 88, 86, 86, 86,182,
+140,102, 1,138, 27, 8,199, 1, 60,124, 35, 39, 0, 21, 90, 20, 20, 20,215, 26,231, 1, 60,117, 21,231,107,224,121,158, 45, 10,
+ 10, 10,138,191, 28,232,162,210, 20, 20, 20, 20, 20, 20, 20, 20, 84,104, 81, 80, 80, 80, 80, 80, 80, 80,252,189,192,192,251,200,
+129,156,102,240, 92,201,136,134, 28,202, 73, 57, 41, 39,229,164,156,148,147,114,222,112,156,254,184,115,112,157,128, 78,239, 64,
+ 57, 41, 39,229,164,156,148,179, 53, 56, 25,199,198, 58, 54,225,247, 95, 57,238,204, 95, 56,238, 55, 10,231,117,135, 63,115,122,
+ 7,225, 70,240,104, 24,242, 73,241,215,131,107, 1, 33,244, 62, 81, 80, 80, 52,179,238, 16,185, 60,108,237,142, 13,127,193,186,
+196, 85, 20,240, 87,249, 92,106,141,184,223,200,156,215, 5,124, 9,173,155,149, 74,229, 84,169, 84,154,194, 48,140, 93,167,211,
+ 29, 53,153, 76, 11, 1,236,190,202,107,126, 19, 29, 29, 61,190,186,186,154,103, 89, 22, 44,203,130, 97, 24,176, 44, 11,177, 88,
+108,168,171,171, 83, 95, 9,105,100,183, 81,175,115, 12,243,146,157,216, 23, 86, 28, 91, 51,195,223,126, 10,223, 5, 70, 34,145,
+ 60, 16, 30, 30, 30, 90, 89, 89, 73, 88,182,161, 43,159, 72, 36, 18, 22,194,181,213,213,213,125, 23, 40, 89, 88, 88,216,190,240,
+240,240, 80,225,124,134, 97, 80, 93, 93, 93, 91, 81, 81,113, 11, 0, 4, 5, 5,237, 84, 42,149, 17, 28,199, 65, 36, 18, 65, 36,
+ 18, 65,175,215, 87, 87, 87, 87,223, 70,111,197,223, 19, 43, 87,174, 20,141,136,127,170, 3, 71, 12, 61, 88,150,132,240, 60, 83,
+103, 99,228,191,111,184,248,205,217, 64,206, 31, 51,102,140,157,166,226,181,131, 84, 42,157, 27, 29, 29,253, 79,173, 86,171,103,
+ 24,134, 48, 12, 3,134,105,120,207,114,255,180,219,237, 37,213,213,213,189,253, 60,108,197, 82,169,116,118, 76, 76,204, 56,189,
+ 94,175,119,240,121,228, 5, 0,171,213, 90, 82, 85, 85,213, 59,160,186, 62, 50,114,161, 92, 46,127, 92,175,215,235, 24,134,225,
+221,220, 3,215,135,249,185,170,170,170, 1,254,132,129, 84, 42,253, 60, 58, 58,250, 31,142,184, 59,195,121,181,113,143,142,142,
+ 30,167,211,233, 2,226,244, 17,247, 38,156,173, 17,206,191, 40,231,245, 47,180,210,211,211,127,216,187,119,111, 39,177, 88, 12,
+ 0, 48, 26,141,221,231,207,159,255,196, 91,111,189,149, 5, 96,242, 21, 94,111,241,128, 1, 3, 30,201,205,205,101, 87,175, 94,
+205,246,233,211, 7, 12,195,192,110,183,195,110,183,163, 91,183,110,242, 43,141, 72,136, 82, 49,233,208,166,127, 7,221, 60,236,
+233,151, 42,128, 25,254,246,251, 18,152, 0,222, 5,144,210,204, 32, 84, 58,210,229,144, 23,177,177,139,101,217,102,113,242, 60,
+ 95,112,249,242,229,126, 62, 4, 76,139,115, 58, 68,214,131, 3, 6, 12, 8,201,201,201, 97,138,139,139, 25,185, 92, 14,158,231,
+ 97,183,219, 97,181, 90,113,211, 77, 55, 53,203, 9, 13, 13, 13, 85, 79,154, 52,169,195, 93,119,221,133,159,126,250, 9, 79, 60,
+241, 4,250,247,239,159, 95, 81, 81, 1, 0, 80, 42,149, 17, 39, 78,156,232, 20, 30, 30, 14,189, 94,143,186,186, 58,220,113,199,
+ 29,168,174,174,254, 91, 23,174, 91,211, 19, 62,100, 88,198, 57, 87, 20,177,217,107,246,254, 94,250,238,213,242,134,135,135, 31,
+146,201,100,209,126,213,178,203,131,204,104, 52,150,215,212,212,244,244,115, 74, 18,128,123, 68, 34, 81, 71,142,227, 58, 3, 72,
+178,217,108,209, 0, 32,145, 72,202, 69, 34, 81,145,213,106, 61,109, 54,155,207, 0,248, 47,124, 44,128, 60, 34,254,169, 14,140,
+ 77, 63,186,222,196,143, 84,180,207, 74,213,159,155,148,167,144,233,215,141,136,127,106, 85,160, 98,235, 79, 68, 42,128, 21,104,
+ 88, 80,250, 89, 52,204, 3,116, 53,136, 7,112, 47, 26,214,124, 76,182, 88, 44, 85, 0, 14,162,161, 31, 74, 62,128,196,200,200,
+200,101, 60,207,155,170,171,171,159,130,135,133,170,251,246,106,123,128,101,217, 4,193, 19,224,137,189,100,207,193,146, 22,121,
+ 64,177, 44,251,121,102,102,230, 63, 86,173, 90,165, 56,120,240,160,162,107,215,174,206, 23, 34,158,231,155,244, 49, 73, 78, 78,
+246,231,106,112, 44,203,206, 29, 61,122,244,163, 75,151, 46, 85,156, 63,127, 94, 17, 23, 23,231,228,116, 21, 91, 2,226,226,226,
+ 2,205,251,223, 12, 31, 62,124,236,146, 37, 75,196,107,214,172,145,183,105,211, 6, 17, 17, 17,144, 72, 36, 77,142,189,237,182,
+219,120,255, 81,103, 63,191,239,190,251,198,254,248,227,143,138,189,123,247, 42,186,117,235, 6,145, 72,116,213,113, 31, 53,106,
+212,163, 63,252,240,131,226,232,209,163,138,142, 29, 59, 66, 48, 21,220,249, 88,150, 69,219,182,109, 3,226,188,247,222,123, 31,
+ 93,177, 98,133,226,208,161, 67,138,206,157, 59, 59,211,147, 16,114,197,225,252,139,115,222, 16,142,150,212, 98,177, 96,219,182,
+109, 96, 89, 22,225,225,225, 24, 63,126, 60, 54,109,218, 52,105,243,230,205,217, 87,224,108,125,227, 16, 89, 98, 0,248,249,241,
+ 81, 40, 16, 3, 19, 42,204,144, 72, 36, 56,119,238, 28, 68, 34, 81,179,173, 69,153, 76, 54,142, 16, 50, 69,127,113,191,204, 96,
+176,194, 88,122, 64, 33,151,203,157, 15, 0,125,169, 99,255,165, 3, 10,185, 92,126, 78, 36, 18, 77,215,106,181,139,189,241,117,
+236,216,241,251,227,199,143,119,241, 84,112,125, 65,175,215,163, 93,187,118,137, 53, 53, 53, 29, 61,253, 47, 22,139, 19,206,159,
+ 63, 31, 37,149, 74, 65, 8,113, 22, 98,247, 79,225,187,197, 98,193, 77, 55,221,100,241,117, 77, 95,156, 54,155, 13, 65, 65, 65,
+ 16,220, 40,179,217, 12,173, 86,235,143,147,145, 72, 36, 15, 8, 34, 11, 0,150, 47, 95,142,152,152, 24, 68, 69, 69, 65,169, 84,
+ 66, 46,151, 59, 57, 3,133, 72, 36,194,136, 17, 35,240,254,251,239, 35, 43, 43, 11,111,188,241, 70,163,138, 86, 44, 22, 35, 60,
+ 60, 28,235,215,175,135, 90,173, 70, 98, 98, 34, 4,129,255,183,182, 5, 89, 38,124,247,129, 11, 78,135,246,206,219,187,112,183,
+246,228,190,116, 60, 42,193,178, 0,207, 55, 60, 58, 25, 6,196,102,229, 47, 31, 56, 90,250, 94, 0,233, 25, 87, 84, 84, 20, 21,
+104, 26,217,108, 54,196,197,197,137,252, 28, 54, 50, 45, 45,237,231,231,159,127, 94,210,177, 99, 71, 70, 34,145,128,227, 56,112,
+ 28, 39, 8,244, 68, 66, 72, 34,207,243,131,203,203,203,201,252,249,243, 63,222,186,117,235,253, 0,214,121,172, 88,136,161, 71,
+189,137, 31,185,253, 48,110, 25, 61,236, 45,172, 95, 57,233,150, 1,233, 60,130, 21,134,179, 0,254,202, 66, 43, 53, 45, 45,237,
+240,222,189,123,131, 44, 22, 11,250,246,237,187, 39, 47, 47,175, 23,174,108, 6,247, 48, 0,159, 77,158, 60,121,236,243,207, 63,
+ 47, 10, 13, 13,133, 84, 42, 69,125,125, 61,206,158, 61, 59,238,187,239,190, 35, 95,125,245,213,255, 1, 8, 46, 42, 42,202,216,
+183,111, 31,134, 12, 25,242, 50,128, 87,155, 42, 2, 81,194,206,125,133, 81,194,239,123, 71,116,151,100,244,102,203, 27, 92, 28,
+247,163, 9,120, 59, 95,178,239,200,197, 64,132,216,199,163, 70,141,122,108,213,170, 85, 42, 0, 88,176, 96, 1, 30,120,224, 1,
+132,135,135, 67,161, 80, 64, 34,145, 64, 44, 22, 55,250,244,243,176, 21, 1,248,248,225,135, 31, 30,189,116,233,210, 96, 0, 88,
+186,116, 41, 70,141, 26,133,136,136, 8, 4, 7, 7, 67, 42,149, 66, 36, 18, 53, 59, 49,195,195,195,191,233,127,203, 45, 79, 46,
+ 89,178, 4, 0,240,206, 43,175,224,174, 91,111,133, 74, 33,135, 66, 46,133,144, 22, 82,145, 24,119, 78,120,201,175,190, 4,240,
+233, 3, 15, 60,240,208,143, 63,254, 24, 12, 0, 7, 15, 30, 68, 69, 69, 5,162,163,163, 33,151,203, 33,149, 74,157,113,102, 24,
+ 6,114,185, 60,160,184, 63,240,192, 3,163,127,248,225,135, 96, 0, 88,188,120, 49, 70,140, 24,225,140,187, 76, 38,131, 68, 34,
+105,180,185,139, 78, 79,156,247,223,127,255,232, 21, 43, 86, 4, 3,192,119,223,125,135, 97,195,134, 33, 44, 44,204,153,158, 2,
+ 87,115,238,209, 95,156,243,198, 16, 90,135, 15, 31,126, 80,169, 84,206, 2, 16, 41,149, 74, 67, 31,125,244,209,182, 79, 62,249,
+ 36, 30,126,248, 97,108,222,188,249,153,102, 10, 45, 38, 58, 58,122,124,110,110,174,243, 9,109, 38, 77, 4, 83,179, 31,224, 14,
+ 76, 57,240,204, 51, 49, 89,103,181,216,179,239, 52,130,192, 50,251, 62,253, 52,210,120,230, 12,236,102, 51, 62, 56, 87,223,176,
+223, 70,152,109,175, 77,136,185,121,238,255, 77, 1,176,216,135, 11, 32, 51,153, 76,200,207,207,111, 86, 32,138,139,139,193,243,
+188,201,151,187, 32,145, 72,112,236,216,177,128, 70, 33, 36, 38, 38,250, 42,128,126, 57, 55,108,216,128,137, 19, 39,226,244,233,
+211, 16,150, 42, 9,128,147, 9, 15, 15, 15, 21, 68,150, 32,130,228,114, 57,196, 98, 49,195,113, 28, 35, 52,237, 57, 10, 87, 64,
+194,152,101, 89,124,255,253,247,248,232,163,143,240,230,155,111, 98,225,194,133,232,209,163,199, 31,153,144,227,160,209,104, 16,
+ 22, 22,134,176,176,176, 70, 2,241,239, 12,247,219, 60,123,206, 60, 5,120,210,208, 9,132,240, 0, 15, 16, 16,240,132, 71,249,
+197,179,152,250,254, 39, 1, 63,125,196, 98, 49,206,156, 57,227,204, 7,130, 51, 44, 8, 35, 87,215, 32, 41, 41,201,111, 94,146,
+ 72, 36,211,126, 42,220,225,142, 0, 0, 32, 0, 73, 68, 65, 84,253,245, 87,233,247,223,127,143, 31,127,252, 17, 12,195, 64, 38,
+147, 65,169, 84, 34, 52, 52, 20, 17, 17, 17,206, 45, 33, 33,129,249,207,127,254, 35,233,209,163,199, 52,141, 70,179,206,243, 61,
+ 39, 33,138,246, 89,169,163,135,189, 5, 0, 24,253, 22,193,229,252, 25, 55,179,181,239,253,149, 23,145, 77,237,222,189,251,142,
+ 93,187,118, 5,233,245,122,240, 60,143,117,235,214, 41,134, 13, 27,182,189,176,176,112, 64,115,197, 86, 82, 82,210,154, 93,187,
+118,221, 22, 25, 25,137,186,186, 58,104, 52, 26, 88,173, 86,136, 68, 34, 36, 38, 38,226,227,143, 63,102,238,187,239,190, 23,199,
+141, 27,103,148,203,229,130,179,145,228, 57, 47, 53,206, 76,243,191,248, 50,148,144,134,252, 67,120,210,232,179,166,162, 8,175,
+188, 54, 53,160, 48,182,109,219,246,217,159,126,250, 73,229,234, 44,185,138, 0, 87,145, 37,108,126,132, 1,219,174, 93,187, 39,
+151, 45, 91,230,228,108,211,166, 13, 56,142,131, 88, 44, 6,199,113, 96, 89, 22,219,183,111,199,172,105,147, 17, 22, 25,135,121,
+ 95, 44,240, 27,206,200,200,200,133, 35, 70,140,120,124,241,226, 63,170,238,238,237,219,227,238,219,110, 69, 84, 27, 53,218,132,
+ 5, 55,164, 19,207,224,247,211,133,126,159, 71, 0,216,182,109,219, 62,181,114,229, 74,149,235, 11,161, 16, 87,225,229, 89,112,
+241,205,102, 51,122,247,238, 29, 80,220, 93, 57, 5,183, 77, 16,109, 66,122, 10,215, 17,202,171,159,112, 62, 41, 8, 97,135,224,
+108,196, 33, 22,139,177,114,253, 18,175,110,246,149,114, 54,247,190,187,115, 22, 21, 21, 97,230,204,153, 16, 94,218, 92,187, 10,
+197,199,199, 99,222,188,121,126,235, 37,183, 50,208, 7, 64,164,203, 46, 51, 0,169,203,103, 37,195, 48,251, 61, 28, 39,236, 23,
+ 59, 90,172, 34,209,208,111,172, 30, 64,168, 7, 62,111, 60, 85,142,103, 94,164,219,241,141,174,227, 85,104,101,103,103, 11,165,
+120,112,102,102,230, 54,199,247, 90,153, 76, 86,172, 80, 40, 98, 0,212,175, 91,183, 14,255,250,215,191,224,176, 86,239, 13, 9,
+ 9, 57,238,193,213, 57,108, 50,153,222, 2, 80,238,216, 37, 12,209,100,107,106,106,248, 77,155, 54,177, 75,239, 31, 14, 51, 1,
+210,167,204,194,136,204, 76,108,136,151, 66, 4,224,150, 83, 85, 80, 40, 20,156, 70,163,177,186,246,219,242,208,119, 43,199, 45,
+ 67,137,130, 56, 14,125,119,172,197,196, 29,107,113,139, 82,138,234, 85, 43, 80,191, 51, 23, 44,203, 96,160,178, 13,222,120,108,
+ 19,250,169,101,144,154,116, 96, 89,214, 83,206,118,114,230,231,231,143, 81,171,213,179,220, 18, 56, 16, 20,160, 97, 29, 39,120,
+ 9, 39, 8, 33,232,209,163, 7, 24,134,113,186, 5,194, 38, 20, 58, 97, 59,116,200, 99, 11,164, 87, 78, 71, 19, 28,148, 74, 37,
+126,251,237, 55,231, 49, 67,135, 14,133,209,104, 68,120,120,120, 64,156,149,149,149,164,180,180,148, 89,186,116, 41,196, 98, 49,
+ 34, 34, 34,160, 80, 40,152, 37, 75,150, 76,150, 72, 36, 9, 70,163,145, 55,155,205,144, 74,165,243,132,251,195,113,156, 78,163,
+209, 68,120,227, 20,137, 68,120,254,249,231,241,250,235,175, 99,225,194,133,120,230,153,103,154, 56, 94, 70,163, 17,109,218,180,
+113,138, 45, 15, 5,176, 53,134,251,182, 46, 39, 79,112,252,208, 6,156, 56,154, 3,222,206,195,206, 19, 16, 98, 7,111, 3, 14,
+110,218,211,233, 82, 65,105, 60, 1,105,232,122, 11, 64, 86,167,181, 13,138,144,118, 6,176,122, 91,181,121,174,191,112,114, 28,
+ 7,163,209,136, 95,127,253, 21,167, 78,157,194,186,117,235, 96, 48, 24,208,166, 77, 27,132,134,134,226,214, 91,111,197,184,113,
+227,144,148,148,228, 55,238,132,144,197,197,197,197,233,253,251,247,103,106,107,107, 81, 91, 91, 11,131,193, 0,187,221, 14,155,
+205, 6,142,227, 16, 20, 20, 4,185, 92,142,232,232,104, 24,141, 70, 98, 50,153, 22,123,227,228,121,166, 78,127,110, 82,222,250,
+149,147,110, 25,253, 22,193,170,143, 24,116,104, 39,211,255,118, 32,248,201,213, 59,222,184, 3, 0,225,137,211, 90, 32, 86, 59,
+ 95,245,250,228,207, 94,188,230,247,168,169,200,138, 48, 24, 12,168,175,175,111,176,245,165, 82,172, 90,181,170,205, 61,247,220,
+147, 91, 90, 90, 58,208,135,216,106,194, 25, 28, 28,156, 40, 18,137,112,236,216, 49,124,245,213, 87,248,237,183,223, 80, 94, 94,
+126, 57, 46, 46, 46,100,240,224,193,236, 43,175,188,130,244,244,116,124,251,237,183, 65,254, 56, 9, 33, 40,202,223,142,162, 51,
+ 59,192,243, 13,174,117,195,230,249, 59, 9, 48,238, 58,157,206,120,248,240, 97,213,215, 95,127,141,168,168, 40, 36, 39, 39, 67,
+161, 80, 32, 40, 40,168,209, 67,214,245,193,235,175,108, 26, 12, 6, 99, 81, 81,145,234,135, 31,126, 64, 68, 68, 4,146,146,146,
+160, 80, 40, 32,149, 74,193,113, 28, 24,134,193,210,165, 75,177,252,253,199, 80,116,250, 40, 70,221,125,135,223,112, 42, 20,138,
+199, 23, 47, 94,220,200, 2,137, 14, 11, 3, 39,102, 33, 18, 51, 8, 27,122, 63, 0,224,242,230, 95,124,205, 14,233,202,201,212,
+215,215, 27,247,238,221,171, 58,112,224, 0,120,158, 71, 82, 82, 18,244,122, 61,212,106,181, 51,254,155, 54,109,194,125,247,221,
+135,239,191,255, 30, 25, 25, 25,126,227,174,213,106,141, 71,143, 30, 85, 45, 91,182, 12,225,225,225,104,219,182,173, 51,238,194,
+ 38, 22,139, 33, 18,137,144,146,146,130,186,186, 58,168, 84, 42,191,247,232,224,193,131,170,101,203,150, 33, 44, 44, 12, 9, 9,
+ 9, 78,199, 77, 16, 71, 31,125,249,126, 35,130, 32, 38,246,170, 57,155,123,223,221, 57, 71,141, 26,133, 14, 29, 58, 64,173, 86,
+ 67,169, 84, 58,185,125,113,122,209, 34, 78,189,205, 48, 76,182, 75,153,200,100, 24, 38,219,245,211,219,113,142,175, 3, 39, 79,
+158,220, 59, 43, 43,107,102, 70, 70,198, 15,187,118,237, 90,238,141,207, 27,207,228,201,147,211,178,178,178,102,186, 30,239,225,
+ 58,222, 29,173,204,204, 76,198, 17, 73, 6, 64,114,175, 94,189,246,111,222,188, 57, 60, 56, 56,216,121,240,133, 11, 23, 80, 91,
+ 91,139,224,224, 96,245,236,217,179,213,131, 7, 15, 70,116,116,180,243, 13, 32, 63, 63,255,166,212,212, 84, 13, 0,119,223,150,
+103, 89, 22,253,250,245,195,113, 71,107,199,136,204, 76, 36, 36, 36, 56, 59,121, 4, 5, 5,225,197, 23, 95,100, 38, 78,156,200,
+ 9,110, 6, 33, 4, 6,131, 1,177,177,177,114, 95,174, 14, 0,164, 25,170,240,203,224,129, 96, 25, 64,127,104, 31, 36, 82, 6,
+172,136, 65, 79, 82,141,255, 13, 25, 8, 6,128,249,200,110, 4,224,194, 28, 2,112, 71,235, 56, 28, 4,103,207,158, 13,200,209,
+114,196,139,185, 82, 78,193,209,216,181,107, 23,236,118,123,160,156,132,101, 89, 40,149, 74,196,196,196, 64, 46,151, 67,161, 80,
+ 48, 63,252,240,195,187,201,201,201,177, 19, 39, 78,100, 53, 26, 13,219,175, 95, 63, 60,240,192, 3,156,208,196,153,150,150,230,
+ 55, 46,219,182,109,195, 87, 95,125,133,103,158,121,198,163,163,197, 48, 12, 34, 35, 35,161, 86,171,113,189,128, 7, 96,177, 89,
+161,215, 26,156, 77,186,118,187, 29, 71,183, 30,233, 84,112, 36, 63, 45,251,135,239,197, 0, 96,220,250,139,235,105,177, 15,124,
+185, 34,117, 80,152,120,239,182,203,214,189,190,242, 60,199,113, 24, 63,126, 60,178,178,178,240,248,227,143, 99,221,186,117,120,
+239,189,247,240,207,127,254,179,137,171,229,239,205,209,106,181,254,251,137, 39,158,120,102,213,170, 85,157,223,122,235, 45, 86,
+112,180, 20, 10, 5, 24,134,129,209,104,132,201,100,130,193, 96,192,233,211,167,249,167,159,126, 58,207,108, 54,255,219,107,115,
+ 37, 35,255, 93, 33,211,175,107,159,192,118,208, 21,126, 18,220,255,214, 36, 3, 35,239, 85,119,127,234, 48, 50,114,124, 82, 24,
+ 8, 1,225, 1,158, 0, 38,147, 14, 47,190,248,178,232, 79,188, 85, 78,145,101, 52, 26,113,248,240, 97, 12, 25, 50, 4,197,197,
+197, 56,121,242, 36, 58,117,234,132, 37, 75,150, 68, 62,250,232,163,185, 21, 21, 21, 3, 3,117,182,142, 30, 61, 58,249,230,155,
+111,254, 92,171,213,214,104,181,218,207, 1, 44, 7, 80,123,246,236,217,174,103,207,158,157,191, 97,195,134, 1, 83,167, 78, 21,
+185,245,209, 17,121,179, 71,173, 86, 27, 12, 6,147, 79,129, 37,252, 38,132, 15, 40,226, 12,195,144,206,157, 59,227,158,123,238,
+129, 88, 44,134, 66,161,128, 74,165,106,212,108,230, 46,184,124,213, 31, 0,120,134, 97, 16, 23, 23,135,145, 35, 71, 66, 34,145,
+ 52,226, 20,242,225,200,145, 35,241,210, 7, 83,240,239,151,110,199, 87, 79,116,194,176, 15,203,125,134, 83,175,215,107,183,108,
+217, 34,127,253,153,103,112,115,199,142,104,163, 86,163, 93,116, 36,228, 50, 41, 36,174, 97, 98, 2, 50,217, 9, 0, 94, 36, 18,
+161, 91,183,110, 40, 47, 47, 71, 97, 97, 33, 10, 11, 11,193,178, 44,250,247,239,239,116, 97,206,156, 57,131, 15, 62,248, 0, 38,
+147, 41,224,184,119,236,216, 17,183,223,126, 59,164, 82, 41, 20, 10, 69,163, 38, 67, 33, 77,235,235,235,209,161, 67, 7,172, 94,
+189, 26,169,169,169,126, 57,187,116,233,130, 65,131, 6, 53, 74, 79,185, 92,238, 20, 69, 0, 80,188, 87,235,188, 70,124,124,124,
+179, 56, 55,238,187,128,175, 55,109,129,201,204, 67,163,183, 54, 58, 33,182,141, 26, 59,150,189, 21, 80,220, 5,206, 69,139, 22,
+161,182,182,214,105, 28, 8, 47,229,130,137,210,182,109, 91, 44, 88,224,217,201,116,211, 34,158,158,121,153, 1, 62,111,133,227,
+132,204, 37,203,202,202,154,233,126,190, 63, 62,215,255,221,206, 55,187,137,179,242,102, 53, 29,202,100,178,183,183,108,217, 18,
+ 94, 87, 87,135, 51,103,206,128,101, 89,103,155, 58,199,113,176, 88, 44, 56,119,238, 28,194,195,195, 81, 81, 81, 1,153, 76, 6,
+145, 72, 4,179,217, 12, 0, 61,189, 61,192, 9, 33,120,169,178,161,139,208,250, 56, 9,138, 0,220, 93,217, 80, 48,132, 14,241,
+ 63,253,244, 19, 84, 42, 21,130,131,131,157,159,254,154,145,142, 22,158, 69,185,152, 1,187,123, 59, 24, 22, 96, 25,128, 17, 1,
+ 44, 75,192, 50, 12,216,221,185, 96, 24, 64, 25, 17,214,220, 10,216, 95,199,120,159, 29,224,189,185, 79,158, 92, 44,247,239, 91,
+183,110, 69,160,156, 29, 58,116,128, 74,165,114,110, 27, 54,108,104,228,104,217,237,118, 68, 68, 68, 4,194, 73, 26,220, 8, 30,
+ 81, 81, 81,255,207,222,117,135, 71, 81,181,223, 51,179,125, 55,201,102,211, 19, 18, 66, 9, 32, 37,210, 20, 62,144, 94, 2, 8,
+161,137, 20,249, 32,136,136, 82, 68, 5,137, 8,252, 80, 1, 9, 77,154, 84, 65, 62, 2,130,116,233, 82, 68, 58, 88, 64, 65, 18,
+ 8,132, 18, 72,223,212,237,101,218,239,143,236,198,205,102,147,108,138, 32, 56,231,121,230,217,157,118,230,222,185,119,238,156,
+251,222,247,190, 3,145, 72, 68,108,221,186,245,147,250,245,235,135, 76,157, 58,149, 20, 8, 4,184,118,237, 26, 18, 18, 18, 80,
+183,110, 93,183,125,182, 10, 10, 10, 50, 62,249,228, 19,230,147, 79,138,230, 80, 68, 70, 70,162,160,160, 32,219,190, 95,163,209,
+228,246,234,213,171,132,223, 70, 78, 78,206,179,237, 9,111,187,143,180,149,134,193,100,130, 78,107, 40,182, 14,101,167,103,169,
+ 62,158,246,161,104,233,228, 55, 1, 0,211, 86,172,134,118,195, 95, 13,217,254,105, 35, 2, 7,127,185,115, 6,128,129,229,241,
+235,116, 58,152, 76, 38, 68, 68, 68,224,210,165, 75,208,106,181,232,211,167, 15, 8,130, 40,158, 33, 90, 9, 88,210,210,210, 58,
+ 68, 71, 71,255,186,124,249,242,136,166, 77,155, 18,122,189, 30, 6,131, 1,142,191, 55,110,220,224,118,236,216,113,223, 96, 48,
+188, 98, 51,157,187,196,241,180,111,146,123,135,190,181,231,199,107,130,232,192, 6, 73,202,180,252, 8, 58, 55, 77,170,215, 24,
+111,155, 24, 46, 1, 28, 3, 48, 96,193,209, 44, 24,219,176,215,211,130, 92, 46,255,234,194,133, 11,126, 38,147, 9, 87,175, 94,
+197,168, 81,163, 44, 57, 57, 57, 18, 0,248,239,127,255,107,217,182,109,155,164, 65,131, 6,216,186,117,107,192,107,175,189,182,
+ 91,175,215,191,232, 38,245,183, 25, 25, 25,223, 58,111,244,243,243, 91,245,232,209,163,174,142, 62, 63, 52, 77, 23, 39,199,229,
+131,201, 2, 20, 69,193,104, 52,163,176, 80, 11,139,149,178,181,153, 44, 24,134,182,253,178,160,109,237,168, 68, 44,244,106,253,
+ 98,176,142,227, 56,144, 4, 81,112,245,207,204,218,229,137,118, 87, 67, 92,110, 90,179,156,193,216,103,153,249,249,249, 65, 36,
+ 18,225,219,111,191,197,245,139,199, 33, 17,112, 96,104, 10, 52,101, 5, 67, 89, 32, 18, 8,240,227,181, 7,136,106,226,229,150,
+ 32,244,247,247, 71,191,246,237, 17,221,190,125,209,244, 54,161, 16,158, 82, 41, 20, 98, 89,145, 37, 11, 0,199,144,238, 6, 17,
+ 96,237,233, 12, 10, 10,194,111,191,253,134, 41, 83,166, 96,209,162, 69,144,203,229,197,179,159,111,221,186,133, 93,187,118, 33,
+ 42, 42,170,210,121,183, 91,240,102,204,152,129,244,244,116,172, 88,177, 2, 47,189,244, 18, 68, 34, 17, 10, 10, 10,240,202, 43,
+175, 32, 43, 43,203, 45, 78,199,225, 61,137, 68, 82,194,250,100, 23,128,149, 45, 35, 71,206, 55, 7,133,224,224,197, 29, 32, 64,
+224,202,246, 15, 75,136,194,117, 59,207, 87,154,115,206,156, 57, 37,210,233,142, 53,203, 93, 56, 89,157, 42, 60,142, 32,136,171,
+118, 99,235,140, 25, 51,102, 18, 4,113,120,198,140, 25, 51,227,226,226,110,186,195,231,106, 63, 65, 16, 71,108, 34,172,159,195,
+182,171,149, 18, 90, 10,133,162,173,167,167, 39,238,222,189,139, 62,125,250, 88,114,115,115,147, 68, 34, 81,163,156,156, 28,105,
+118,118, 54, 12, 6,131,110,222,188,121, 15, 0,200,219,181,107,215,224,199, 31,127,196,227,199,143,177,109,219, 54, 0,216,239,
+218,103,131, 4,203,178,197,149,194,185,219, 38, 16, 8,112,249,242,101, 92,190, 92,210,245,107,211,166, 77, 21,190, 48, 94,251,
+254, 16,174, 93,187, 6,199,240, 0,246,255,142,219,100, 50, 25, 80,254, 12,143, 18,168,200, 49,190, 34, 7,120, 87,112,215,247,
+203,213,204,156,178,144,150,150, 86,230,249,151, 47, 95, 46, 97,209,170,136, 83, 32, 16,128, 97, 24,200,229,114, 66, 44, 22, 19,
+ 98,177, 56,204, 46,178, 4, 2, 65,241, 3, 35,149, 74, 33,149, 74, 75,244, 82,203, 66,122,122,122,183,244,244,244, 50,247,171,
+213,234, 14,106,181, 26,207, 35,172, 20, 5,163,193, 2,173,206,136,207,227,254, 87,180,241,115,252, 12,224,231, 14,239, 78,193,
+196,222, 81,221, 43, 59, 76,109,191,223,129,129,129, 56,123,246, 44, 8,130,192,238,221,187,225,237,237,141,222,189,123, 67,169,
+ 84, 98,198,140, 25, 24, 58,116,104,101, 27,179,194,220,220,220, 14, 31,124,240,193,175, 75,150, 44, 9,175, 93,187, 54, 44, 22,
+ 11,172, 86, 43, 44, 22, 11,146,147,147,177, 99,199,142,199, 6,131,161, 3,128,194,138,200,142,167,125,147,188,239,220,180,244,
+158,195, 95, 51,222,202,250, 1,153,153,185,160,233, 52,176, 12, 13, 43,205, 20, 89,248,104, 26, 52,205, 64, 44, 22, 40,151,124,
+241,225, 73, 22, 28, 72,146,176, 0,120,245, 73,149,145, 74,165,138, 84,171,213,184,115,231, 14, 98, 98, 98, 50,115,115,115, 19,
+ 1,244, 0,128,220,220,220, 11,163, 70,141,106, 26, 31, 31, 31, 92,175, 94, 61,120,122,122, 42,245,122,125, 69,148,158, 0, 38,
+ 2,232,133, 34, 63, 16, 59,242, 0,204, 35, 73, 82,122,245,234,213, 82, 51,237,206,157, 59, 7, 0, 63,187,238, 1,217, 44, 90,
+ 38, 19,212,185,249, 24,247,238,236,191,122, 70,224, 74,136, 11, 14, 28, 38,188, 7, 25, 0,228,100, 37,227,205,113, 83,164, 21,
+117, 8, 92,189, 8, 43,225,163, 83,162,163,102,175,163,158,158,158, 69,195,111, 7,118,224,200,151,239, 2,140, 21, 28,101, 4,
+172, 6,192,170, 3,107, 49,128, 16,203, 1,202,232,150,208,242,244,244,132,167, 92,142, 64,149,170, 40, 8,164, 64, 0,145, 72,
+ 8,150, 2, 8,134, 40, 22,164,172,123,129, 65,138, 59,149,114,185, 28, 15, 31, 62,196,196,137, 19, 97,181, 90, 49,104,208, 32,
+ 88, 44, 22,152, 76, 38, 24,141, 70,212,175, 95, 31, 6,131,193, 45, 62,251,108, 69, 79, 79, 79,136,197, 98,124,248,225,135,120,
+249,229,151, 49,119,238, 92,196,198,198,162,126,253,250,152, 48, 97, 2,118,236,216,129,200,200,200,138,120, 57,199, 50,178,223,
+ 79,187,216,114, 28,226, 3, 80,233, 50,114,230, 36, 8,178,132, 96,179, 47,239,143,238, 81,105,206,133, 11, 23, 66,173, 86,151,
+178,100,217,255,135,134,134, 98,237,218,181, 85, 29, 25,178, 91,143,130, 92,236,235,231,108,137,226, 56,174,141,205,119,202, 28,
+ 23, 23,119, 51, 46, 46, 46,154, 32,136,195,113,113,113,209,101, 89,180, 92,241,184,216,239,246, 75, 75,232, 52, 54,218,213,113,
+167,253, 70,251,250,250, 10,194,195,195, 73,165, 82,137,130,130, 2, 4, 4, 4,112,106,181,122,184, 66,161,248,236,187,239,190,
+107,160,211,233,112,235,214, 45,172, 90,181,234,103, 0, 43,203, 19, 90, 71, 3,108,166, 99,155, 37,203,113,189,127,255,254,168,
+ 87,175, 94, 9,107,150, 92, 46, 47,183,242,216,247,217, 45, 66, 2,129, 0, 47,188,240,130,252,254,253,251, 70,177, 88,140,176,
+176, 48,121,102,102,166, 81, 44, 22, 87,122,166, 75, 69,142,241, 21, 57,192,187, 18, 62,109,218,180, 41, 97,193,114,252,117,252,
+127,240,224,193, 10,135, 14,237,156, 77,155, 54, 45,190, 95, 94, 94, 94,246,115, 1, 0,125,250,244, 1,203,178,240,247,247,119,
+139,211, 46,106,109, 14,240, 48,153, 76,172, 86,171, 37,175, 94,189, 10,137, 68, 2, 47, 47,175, 98, 95, 29,153, 76, 86,108,205,
+228,225,170, 65, 96, 97,161, 40, 24,141, 70,232,116, 58, 0, 64,242,159,123, 75, 10, 49,179,166,202,252,246, 6, 54, 47, 47, 15,
+199,143, 31,199, 15, 63,252,128,151, 95,126,217,165,168,174,132,224, 82,231,229,229,117,156, 62,125,250,149,249,243,231,215,242,
+245,245,133,213,106,197,163, 71,143,176,121,243,230,116,131,193,208,177, 50, 13, 12, 56,128,162,104,152, 12,102, 20,106,180,248,
+236,139, 45,101, 86, 61, 0,200,203,190,141,254, 3,134, 74,158,100, 57,165,167,167, 79,237,216,177,227, 23, 90,173,182,192, 96,
+ 48, 12, 5,176,212,177, 63,149,155,155,219,105,192,128, 1,203,125,125,125, 95,202,206,206,158,233, 6,229,140,135, 15, 31,206,
+172, 83,167, 78,137,141,102,179, 25,117,234,212,121, 33, 59, 59,123,100,231,206,157,255, 15,128,175,195,110, 47, 0, 39, 0,172,
+ 45,171, 46,217,135, 14,117, 58, 35,148,170, 16,164, 61, 56, 91, 97, 66,196, 2, 19, 56,150, 45,183, 13,177,119,128,203, 90, 42,
+152, 25, 87, 42,169,246, 99,237, 47,236, 87,135,140,198,171, 19, 23, 66, 33, 2, 22,188,217, 1,245, 85, 0,228,190, 16,119,254,
+ 24,132,202,118,143, 38, 30,114,139, 60,118,253,122, 92,179,181,199, 97, 1, 1,152, 62,124, 56, 56, 10,184,148,144,128,157, 63,
+253,132,225,221,186, 65, 33,147,185,221, 97, 97, 89, 22, 98,177, 24,201,201,201,184,116,233, 18,154, 52,105,130,187,119,239,150,
+ 8, 67,193,113,156,187,249, 47,206,187, 84, 42,133, 72, 36, 66,102,102, 38,162,163,163, 33, 22,139,177,101,203, 22,156, 61,123,
+ 22,211,167, 79,199,216,177, 99,209,181,107, 87, 36, 38, 38,186,197,201,113, 92,169,217,138,206,195,185,149, 45, 35,103, 78,231,
+247,126, 85,202,221,206, 57,127,254,124,151, 19, 42,220,225,116,165, 69, 92,148,221, 85, 71, 49,100,183, 60, 57, 10, 35,231,117,
+ 0, 62,246,109, 51,102,204,152,233,238,121,142,235,118,139, 88,101,134, 48,139,133, 86,116,116,116,137,156,231,229,229, 93,185,
+114,229, 74, 51, 15, 15, 15,220,190,125, 91,162, 84, 42,155,217, 27,116,146, 36,177,123,247,110,175,190,125,251,158, 92,186,116,
+105, 24,203,178,200,202,202,194, 71, 31,125,164,163,105,122, 4, 0,186,172, 23,120, 69,150,169, 67,135, 74, 63,108, 7, 14, 28,
+112,107, 8,196, 46,164,132, 66, 33,124,124,124,140, 70,163, 17, 10,133, 2, 62, 62, 62, 70,131,193, 0, 15, 15, 15,251, 88, 49,
+137,191,102, 42, 84,100,125,170,200, 49,222,217, 1,190, 66, 36, 36, 36,184,117,156,109,168,213,173, 90,254,240,225,195, 50, 27,
+146,179,103,207,130,181, 53,180,238,114,218,122,121,156, 93,248, 41, 20, 10,248,250,250, 66, 42,149, 66, 46,151,151, 16, 89, 82,
+169,180,194, 7,167,162,128,164, 50,153,236, 23, 15, 15, 15,149,125,191, 72, 36,130, 86,171, 45,200,203,203,107,251, 76, 15, 29,
+130, 3,109,165, 97, 52,154,160,211, 26,107,156,223, 98,177, 64, 42,149, 98,199,142, 29,232,208,161, 3,218,181,107, 87, 74,100,
+ 85,209, 60,159,154,151,151,215,117,229,202,149, 63, 47, 91,182,204, 71,167,211,225,127,255,251, 95,161, 78,167,235, 10, 32,181,
+ 82, 98,147,229, 64, 89,173, 48,152,204,208,235,138,238,193,189,155,123,255,105, 69,181, 35, 51, 51,115, 71, 57,251,239,209, 52,
+ 29,109,143,251,230, 6,254, 83,167, 78, 29,100,102,102,150,216,152,146,146, 2,134, 97,204, 40,138,147,245,150,163, 33, 25,127,
+ 69,207, 46,171, 23, 95,100, 29, 53,154,161,211, 21, 89, 65, 76,250,156,154,169,167, 54,177, 81,150, 79, 86, 85,234, 16, 65, 16,
+197, 78,223,147, 39, 79,198,141,235,215,209,163,150, 6,245,131,189,192,105,210, 32,238,254, 41,254, 80,203,177,116,249,209, 74,
+115,239,114,112,129, 88,186,107,151,203,125,247, 6, 14,172, 84,222,147,146,146, 32,151,203,193, 48, 76,169,247, 77,101,243,239,
+ 40, 96,150, 47, 95,142,233,211,167, 99,203,150, 45,184,113,227, 6, 90,182,108,137,158, 61,123, 34, 59, 59, 27,215,175, 95,135,
+217,108,118, 59,157,142,126,115, 73,247, 19,112,234,210, 49,164,164, 62, 64,122,230,227, 42,151,187, 35,167,179,208,218,119,234,
+119, 12,137,106, 93, 37,206,207, 62,251, 12,217,217,217, 37, 44, 89,142,237, 82, 89, 22, 45,103, 45,226,132, 28, 39, 95, 40,251,
+186,197, 73,244, 56,175, 59, 31, 15, 0,217, 0, 4, 21,156,231,188,158, 19, 23, 23,119,198,110, 9,179,241, 10, 42,242,207, 42,
+ 97,209,114,194,194,129, 3, 7, 14, 88,181,106, 85,128, 76, 38, 43,158,129, 52, 99,198, 12, 76,159, 62, 29, 17, 17, 17,240,247,
+247, 15, 85,169, 84,200,205,205,197,162, 69,139,240,240,225,195,241,112, 17,104,207, 89,104,117,186,175,133, 68,242, 87,135,213,
+110,217, 2,128,177, 99,199,150,178,104,217, 11,168, 60, 80, 20, 5, 63, 63, 63, 24, 12, 6, 8, 4, 2, 12, 26, 52, 72,240,231,
+159,127, 50,189,123,247,198,224,193,131, 5,215,175, 95,103,250,245,235, 7,129, 64,128,238,221,187,107,246,237,219, 55, 13,192,
+151,110,136,173, 26,115,140,183, 87, 50,119, 99, 31,185, 35, 46,203,227, 36, 8, 2, 6,131, 1, 66,161,176,216, 81,222, 29, 78,
+251,208,161,227, 3, 72,146, 36, 84, 42, 85,113,227, 97,183,104,217,133, 86, 69,188, 21, 5, 36, 85, 40, 20,202,219,183,111, 55,
+176, 79,188,200,201,201, 65,247,238,221,239,228,229,229, 61,219, 38, 45, 22,176,210, 12,116, 70, 19,116, 70, 67,141,209,218,159,
+135, 13, 27, 54, 32, 49, 49, 17, 38,147, 9, 95,125,245, 85,241,164, 2, 71,145, 85, 13,193,149, 44,151,203,217, 62,125,250,224,
+202,149, 43,144, 74,165, 20,170, 16,255,138,229, 88, 88,105, 26, 38,163, 17,186,138,135,220,158, 23, 20,171,234,196,196, 68, 88,
+ 44, 22,204,157, 59,151,249,245,215, 95,207,160, 40, 0,170,221,130, 55,178, 75,151, 46,243, 60, 60, 60, 84, 71,142, 28,121, 31,
+192,150,242, 94,222, 20,109, 19,237, 53,120, 31, 29, 71, 4, 92,249,100, 85, 37,204,138,227,139,149,101, 89,140,127,251,109,244,
+172,165,193,224,151, 2,160,207,184, 3,133,119, 0, 8, 85, 93, 44, 93,126, 20, 55,239,187,237,138,201, 1, 64,159, 46, 3,209,
+162, 73,233,240, 96, 29,123, 20,245,201, 46,252,248, 11,178,114,210, 43,157,119,189, 94, 95,166,229,170, 18, 22,173,226,103,206,
+126,255, 90,181,106,133, 70,141, 26,225,204,153, 51,104,221,186, 53,238,222,189,139,187,119,239,226,225,195,135,184,113,227, 6,
+242,243,243, 43, 93, 70,223,159,216,137,124,109, 30, 36, 98, 9,242, 10,114,144,146,246, 0, 65,126,193,213, 46,119, 59, 26,247,
+251, 12, 0, 80, 43,192,187, 82, 66,203,145,115,241,226,197,165,196,123,117, 67,246, 16, 4,241, 75,121,235,149, 61,255, 73,162,
+ 44,161,245, 64,173, 86,183, 27, 62,124,248, 12, 0,109,108,219, 10, 1,236, 58,121,242,228,192,192,192,192,110,237,219,183, 23,
+ 74, 36, 18, 92,186,116, 9,251,246,237,219, 2, 96,103,121, 23,146, 72, 36,198,186,117,235,202,237, 21,209,254, 32, 42,149, 74,
+193,162, 69,139,136, 77,155, 54,149,105,229,170,168,128, 10, 11, 11,161,215,235,225,237,237, 13,171,213,138, 62,125,250, 48,137,
+137,137, 16,139,197, 24, 48, 96, 0,147,144,144, 80, 92,208, 27, 55,110, 12, 51, 26,141,175,252,240,195, 15,189, 0,116,174,196,
+189,178, 59,198,123,194, 77, 7,248,178,122,121,238,192,221,225,184,178, 56,167, 76,153, 82, 37, 78,177, 88, 76,219, 35,191,147,
+ 36, 9,171,213,138,214,173, 91, 35, 59, 59,187,248,161,241,240,240, 40, 22, 89,238, 8,173,138, 2,146, 10,133, 66, 88, 44, 22,
+116,238,220, 25, 4, 65, 96,245,234,213,207,199,112, 36,203, 18,158,158,126,168, 85,235, 5, 4, 4,154,192,178, 53,251, 85,153,
+216,216,216, 18, 98,202, 85,228,101,251,253,175, 10,236, 92,213,249,250, 60, 7, 20, 15,121,233,245,166,103,174, 8, 3, 3, 3,
+219,101,103,103, 31,112,218,156, 7, 96, 94, 57, 29,203,226,130,126,252,248, 49,122,247,238,141, 99,199,142, 9,246,239,223,223,
+227,224,193,131, 9,119,238,220,121,220,186,117,235,218,239,188,243,142,180,115,231,206,200,201,201,193, 75, 47,189,244,121, 90,
+ 90, 90, 57, 66,203,118, 31, 77,102,232,245, 53,111, 29,117,101,205,170,206,139,209, 94, 39,231,204,249, 63,244, 12, 41,192,160,
+150,222,136, 63,124, 17, 35, 91,201, 1,139,180,210,124,246,180,248,214,170,135,186,145,237, 74,237,151, 42,139, 98,185,214,141,
+108, 7,242,241,221, 74,231,221, 49,205,206,162,170, 42, 22, 61,199,251, 57,110,220, 56,124,252,241,199,232,213,171, 23,238,222,
+189,139,115,231,206,225,238,221,187,152, 50,101, 10, 34, 35, 35,209,178,101,203, 74,113, 30, 60,181, 7, 26, 93, 33, 72,130, 68,
+ 94, 97, 46, 76,102, 35, 98, 39,204,169,118,185, 23,191,252, 79,197, 1, 0,246,158,188, 86,101,206, 89,179,102, 33, 51, 51,179,
+132, 37,171, 58,126, 89,207, 58,202,139,150,246, 0,192,120,231,141, 22,139,197,107,238,220,185, 81,254,254,254, 32, 8, 2,203,
+151, 47,135,175,175,111, 7, 0, 55, 45, 22, 75,142, 94,175,159,238, 32, 66,122,194, 22,107, 35, 43, 43,203,229,188,125,189, 94,
+111,141,138,138, 18,133,132,132,148,152,109,232,225,225, 81,150,117,167,152,211,190,143,166,105,196,198,198, 98,193,130, 5, 8,
+ 15, 15, 71,191,126,253, 16, 29, 29, 13,130, 32,208,167, 79, 31,244,235,247,215, 80,174, 74,165, 18, 31, 59,118,172, 11, 73,146,
+ 9, 14, 47,144, 18,156,174, 96,119,140,167, 40,202, 93, 7,248, 18,156,246,202, 54,101,202, 20, 44, 88,176, 0, 51,103,150,239,
+234,177,126,253,122,160,180, 63,213,223,206,153,151,151, 87,162,177, 87, 40, 20,171, 7, 15, 30, 44,124,252,248,113, 9,113,229,
+184,184,104,136, 74,112, 86, 20,144, 84, 32, 16, 32, 40, 40, 8,243,231,207,135,159,159, 31,130,131,131, 93, 5,242,171,176,140,
+170,128,191,149,147,225,216,171, 75, 22,254, 95,199,255,109, 59, 40,146, 74,128,203,231,246, 66,147, 95,114, 56,201,108,253,107,
+ 42,181,164,117, 15, 88,174,253,232, 86, 93,178,139,233,207, 62,251, 12,159,125,246, 89,185, 9,218,176, 97, 67,181,243,238,166,
+216, 42,205,201,114,132,194,195, 7, 50,143, 90,104, 22,233, 3,150,163,255, 81,101, 84, 6,126,253,229,151, 95, 6,248,249,249,
+ 33, 53, 53, 53, 64, 36, 18, 13, 40, 97,174, 50, 26, 81,183,110,221, 23,212,106,245, 43, 21,113, 78,153, 50,197, 60,123,246,108,
+233,136, 17, 35, 48,120,240, 96,140, 24, 49, 66, 42, 22,139, 27,114, 28, 7,171,213,138,212,212, 84,252,248,227,143, 80,171,213,
+183,202, 75, 39,203,113,132, 92,161,130,204, 35, 4,205, 94, 84,129,101,233, 26,201,187,163, 85,220,209,154, 85, 73,145,229,178,
+126, 2,192,175, 63, 30,192,156, 15, 95,196,150, 35, 63, 99,213, 47, 64, 11, 85, 54,154, 5,168,193,170,111,225,163,145, 47, 99,
+233,246,223, 0, 0,231,206, 86, 88, 70, 92,121,117,208,100,180, 86, 43,239,142,150, 43,199,235,184,225,163, 85,138,211,222, 73,
+212,106,181, 40, 40, 40, 64,124,124, 60,222,124,243, 77,100,103,103,227,225,195,135,184,115,231, 14,190,251,238, 59, 40, 20,138,
+ 42,149,209,180,183,103, 97,246,210,169,224,192,161,113,131,102,152, 49,241, 51,180,105,209,190,218,229,238, 12, 55,172, 89,101,
+114,174, 88,177,162,170,117,233, 95, 39,180, 92,194,223,223,127, 68,151, 46, 93, 96, 50,153, 16, 16, 16,128,135, 15, 31,130, 36,
+201, 8,160,104, 8, 47, 52, 52,116,151, 90,173,142,112,151, 79, 32, 16,128,166,233, 98,223, 31,251, 2, 0,253,251,247,199,161,
+ 67,135, 42,236, 81, 4, 7, 7,163,118,237,218,248,224,131, 15, 74,205,114,112,156,233, 32,151,203,113,228,200,145,204,188,188,
+188, 60,142,227, 42, 53,205,205,238, 24,127,225,194, 5,183, 29,224, 29, 97,181, 90, 31,223,185,115, 39,100,195,134, 13,130,114,
+ 94,126,197, 56,119,238, 28,141, 10,134,106,254, 14, 78, 87, 61, 83,142,227,202, 20, 89,238,132, 17,168, 40, 32,169, 80, 40, 68,
+ 82, 82, 18,230,204,153, 3,130, 32,176,119,239,222,231,226,225,250,243,118,238, 38,146, 36,125,250,191,218,177, 57, 8, 2, 86,
+ 75,233,145,106,207,124, 93,177,200, 26,252,229, 78,236,159, 54,220, 29,209,147,124,254,252,121,223, 13, 27, 54, 8,221, 41,247,
+243,231,207,211, 28,199, 85,122,216,207,254,194,177, 90,173, 48, 26,171,102, 69,225, 56,238, 82,220, 23,179,163,182,126,123, 84,
+ 68, 16, 22, 92, 62,187, 23,133, 5,174,221, 25, 36, 34, 33, 54,197,239,163,197, 34,193,227,167, 92,116,107, 6, 13, 26, 52,226,
+171,175,190,106,230,106,167, 27,147, 96, 30,154, 76, 38,164,165,165,193, 96, 48,236,249,228,147, 79,172, 71,143, 30,125,235,181,
+215, 94, 67,203,150, 45, 17, 18, 18,130,140,140, 12, 36, 39, 39, 35, 62, 62,158,187,120,241,226, 30, 0,147, 42,184,143, 7, 22,
+126, 49, 59, 38,126,251, 81, 9, 73, 88,113,249,220, 94, 20, 58,137,246,210,214,105, 17,190,217,178,207, 42, 22,139,110, 87,100,
+ 45,114,180,102,213,228,139,113,192,168,137, 24,188,114, 21, 34,218,244,198,194, 69, 61,241,205, 23, 67,177,172,143, 24,214,221,
+ 35,209,226,245,173,216, 49,183, 47, 0,160,214, 55,110, 90, 75,132, 98, 60,114, 97,177, 42, 40,148,217,196, 77,229,172,166,246,
+188,151,103,185,170,172, 69,139, 36, 73,212,171, 87, 15, 17, 17, 17,232,208,161, 3, 90,183,110,141,110,221,186,225,250,245,235,
+184,126,253, 58,166, 76,153, 82,158,200,170,176,140,186,190, 18,133,159, 59,221,174,118,217, 56,151,123, 77,192,157,186, 52,113,
+226, 68, 0,248, 87, 89,183, 42, 45,180, 52, 26,205,117,150,101,155,123,123,123,219, 45, 82,197,251, 82, 82, 82,192,178,172,161,
+178, 5, 99,177, 88,236,193, 49, 75,196,101,178, 59,199,151,247,224,115, 28,199,228,229,229,161, 75,151, 46,232,212,169, 83,241,
+240,137,227,226, 32, 76,176,127,255,126,112, 28, 87,105, 39,107, 7,199,120, 29, 42,233, 0, 15, 0,217,217,217,189, 59,119,238,
+124, 82, 40, 20,186,245, 21, 77,150,101, 31,102,101,101,189,250,164, 57, 93,149, 15,203,178,101,138, 44,119, 26,162,138, 2,146,
+ 10,133, 66,120,120,120,224,251,239,191,135,191,191,255,115,245,128, 93, 79, 84, 47, 46,111,127, 23, 63,201, 89, 0, 1,131,191,
+220,249,232,108,174,181,206,224, 47,119,166,236,159, 54, 60,188,188,115, 50, 51, 51,123, 13, 31, 62,252,152,187,229, 78,211,244,
+131,204,204,204, 74,135, 75,224, 56, 14,183,111,223,102,199,141, 27,151,163, 86,171,135, 86, 37,255, 51,230,172, 90,182,224,243,
+201,126,125,162,218,181, 1, 9, 88,202,118,254,229, 8,128, 19,138, 4,143,167,207, 92,241,246,208,161, 67,159,102,177,105, 50,
+ 51, 51, 59, 12, 25, 50,100, 18,254,114,157, 40, 33,164, 80,198,236,106, 27, 86,214,174, 93,251, 69,129, 64, 32, 5, 48, 7, 64,
+202,197,139, 23,215, 92,188,120,177, 23,128,255, 8, 4,130, 16,134, 97,210,108,157,158,157, 0,254,168,184, 30,101,191, 3,142,
+ 13,235,211,243, 63,189, 65, 16,156,197, 98,174,160,131, 4, 14, 28,199,137,197,162,219,191, 94,207,104, 81, 94, 71,202,225, 11,
+ 28, 53, 62,100, 63,105,210, 36, 76,154, 52,169,184, 62,173, 94,221, 9,123,254,188,128,215, 91,164,194,252,117, 71, 16,202,112,
+183, 59,124, 0, 48,235,255,198,213, 88,218, 28,243,238,104,209,114,245, 28, 84,198, 71, 75, 32, 16, 32, 39, 39, 7, 73, 73, 73,
+200,202,202,130,193, 96, 64, 98, 98, 34,172, 86, 43,242,243,243,241,226,139, 47, 86, 57,157, 53, 85, 70, 79,147,243,223, 56,124,
+ 88,105,161,101,181, 90, 63,173, 87,175,158, 72, 38,147, 53, 99, 24, 6, 28,199,129, 97, 24,206, 38,106, 42, 61, 11, 79, 36, 18,
+153, 26, 53,106, 68,184,154,157, 96,255,239,225,225, 97, 44,199, 90, 18, 87,183,110,221, 79, 8,130, 16,148,213, 11,177,255,103,
+ 89,150, 17, 10,133,113, 85,188, 87,213,117,140,215,171,213,234,246, 53, 92,126,127, 7,167,115,249,232,155, 52,105, 82,252, 69,
+123,231,152, 40,182,143,173,234, 43, 16,231,229, 6, 36,213,235,245, 25,189,123,247,102, 28,247, 59, 6, 52,125,174, 65,112, 41,
+125, 71,188, 85,231,108,174,181, 14, 0,216,197, 22, 56, 46,165,156,179,140,153,153,153, 93,254,238,164,221,191,127,223,242,159,
+255,252,231, 91,173, 86, 59, 17, 64,149,189,249,103,126,186,122,230, 51, 88, 50, 26, 0, 11,170,120,110, 74,110,110,110,119,167,
+109,127,216, 5,149, 61,174, 93,165, 69,251,173,156, 26,143, 45, 70,211,116,106, 68, 68, 68,165, 44, 55, 20, 69,165, 86,180,223,
+ 57, 70,152, 35,110,194, 27, 51,175, 0, 69,147,191,115,221,226, 52,153, 76,121,237,219,183, 23, 85, 50,111,217,238,230, 61, 36,
+ 36, 4,181,106,213, 42,254,181,195,121,123, 69,233,164,105, 58, 53, 44, 44, 12,254,254,254,101, 70,124,119,246,201,114,135,179,
+166,203,168, 60,206, 90,181,182,214, 56,103, 85,211,201,195, 61,244,228, 57,121, 78,158,243,153,229, 20,240,247,147,231,228, 57,
+121,206, 39,200,249,220,129,227, 56,240, 94,106, 60,120,240, 40, 11, 12,127, 11,120,240,224,193,163,122, 32,202, 81,165,149,153,
+233, 83, 21,101,123,138,231,228, 57,121, 78,158,147,231,228, 57,121,206,127, 29,103, 69,220, 53, 61,211,248,169,161, 58,225,113,
+254, 78, 1,198,115,242,156, 60, 39,207,201,115,242,156, 60,231,191,143,243,185, 3, 63,116,200,131, 7, 15, 30, 60,120,240,224,
+241, 55,130, 23, 90, 60,120,240,224,193,131, 7, 15, 30,188,208,226,193,131, 7, 15, 30, 60,120,240,224,133, 22, 15, 30, 60,120,
+240,224,193,131, 7, 15, 94,104,241,224,193,131, 7, 15, 30, 60,120,240,224,193,131, 7, 15, 30, 60,120,240,120,166,192,113, 92,
+209, 39,120, 14, 31, 62, 92, 28,232, 33, 58, 58,154,224,111, 13, 15, 30, 60,120,240,224,193,227, 73,226,121,213, 34, 66, 94, 96,
+241,224,193,131, 7, 15, 30, 60,254, 9,120, 30,181, 8,233, 74, 73,242,224,193,131, 7, 15, 30, 60,120, 60,105, 60,143, 90,132,
+124,158, 85, 36, 15, 30, 60,120,240,224,193,227,217,193,115,111,209,226,173, 90, 60,120,240,224,193,131, 7,143,167,133,103, 88,
+139,112,182,197,113,157, 7, 15, 30, 60,120,240,224,193,131, 71, 53, 5, 86,153,191,252,183, 14,121,240,224,193,131, 7, 15, 30,
+ 60,170, 14,194,197,250, 19,181,102,241, 95, 54,231, 57,121, 78,158,147,231,228, 57,121, 78,158,243, 95,137,226, 56, 90, 60,120,
+240,224,193,131, 7, 15, 30, 60,170,167,171, 28,254, 23, 91,186,120,161,197,131, 7, 15, 30, 60,120,240,224, 81,125,145, 69,184,
+ 90,231,125,180,120,240,224,193,131, 7, 15, 30, 60,254, 38,240, 22, 45, 30, 60,120,240,224,193,131, 7,143,234,193,217, 9,158,
+ 31, 58,228,193,131, 7, 15, 30, 60,120,240,168, 97,177,229,114, 99, 89, 51, 7, 78, 85,130,188, 42,179, 15, 78,241,156, 60, 39,
+207,201,115,242,156, 60, 39,207,249,175,227,172,136,251, 20,158, 13,137,148,178, 0, 0, 32, 0, 73, 68, 65, 84, 61,116, 1,112,
+ 6, 64, 87,219, 47, 0, 16, 28,247,247, 71,122,224,167,190,242,156, 60, 39,207,201,115,242,156, 60, 39,207,249,188,195, 57, 96,
+105,209, 10, 31,176,148,135, 27, 16,162,252, 33,230,138,246,243,224,193,131, 7, 15, 30,255, 54,177,197, 57,190, 36, 93,161, 33,
+128,153, 0,188, 29,182,253, 2, 32,206,233,184,237, 0, 20, 14,235,122, 0,115, 1,220,173, 48, 53, 28, 39,182,241, 75,109, 11,
+ 11,192, 4,192, 12, 64, 75, 16, 4,197,151,217, 83, 71,123, 0,209,182,255,135, 1, 92,174,228,254,231, 10, 33, 33, 33,114, 31,
+ 31,159, 94,215,174, 93,147, 36, 38, 38,226,252,249,243,220,166, 77,155,172,249,249,249, 39, 50, 50, 50,140,124,117,121, 46,208,
+ 27,192, 12,219,255,133, 0,142, 87,147,143, 80, 40, 20, 83, 60, 60, 60,250, 74,165,210, 90, 52, 77, 19, 6,131, 33, 93,175,215,
+159,164,105,250, 75, 91,187, 87, 89, 12,244,245,245,125,171,113,227,198, 13, 31, 62,124,152,150,158,158,190, 29,192,110, 0, 67,
+107,213,170, 53,178,110,221,186,161,183,111,223,190,155,151,151,247, 13,128, 3, 79, 49,157, 60,120,252,155, 64,148,103,141,112,
+133, 57, 28,199,141, 44,193, 64,148,230,232,222,189,251,128, 19, 39, 78, 40, 88,150,133,125,145,203,229, 52,128, 49, 21,136, 44,
+191, 75,151, 46,213,153, 56,113,226,224,244,244,244,151,181, 90,109, 91, 0, 80, 40, 20, 63, 7, 6, 6,254,186,114,229,202,239,
+ 56,142, 75, 37, 8, 66, 91,201,140, 10, 69, 34,209,155, 62, 62, 62,125,105,154,110,205,113, 28, 68, 34,209,181,252,252,252,227,
+ 20, 69,125, 3,160, 42,226, 77, 34, 20, 10, 39, 73,165,210,222, 52, 77, 55, 7, 0,161, 80,120,195,108, 54, 31,167,105,122, 13,
+ 0, 75, 21, 56,101, 18,137,100,146, 82,169,140,178, 88, 44,205, 1, 64, 34,145,220,208,104, 52, 39, 45, 22,203, 26,155,224,124,
+218, 16, 2,136,230, 56, 78, 4, 0, 2,129, 96, 96,219,182,109,235, 16, 4,193, 18, 4,193,113, 28, 71,252,252,243,207,173, 24,
+134, 33,109,245, 35, 26,192,175, 0,232,103,241, 9,241,247,247, 95,192,178,108,173,114, 11, 77, 38,123,249,218,181,107,141,119,
+237,218,197,124,253,245,215, 5, 99,199,142,245,156, 56,113,162,112,245,234,213,107, 50, 50, 50,222,119, 62,222,207,207,111, 25,
+ 73,146,254,238, 92,159,101,217,156,220,220,220,169, 79, 43,255, 49, 49,166, 18,230,238,248,120, 89, 3, 0,169, 85,172,223,127,
+ 31,167, 41,134, 3,128,120, 89,124,131, 24, 83, 76,178,253,127,117,121, 29, 48, 99,237, 41,109,103,142, 3, 38, 69,121,145,213,
+ 21, 90,161,161,161,241, 49, 49, 49, 35,154, 55,111, 46,228, 56, 14, 20, 69,193,108, 54, 55,190,124,249,114,215,189,123,247,190,
+172,213,106,135, 86,146,242,237,143, 63,254,120,254,188,121,243,252, 69, 34, 17, 65, 81, 84,131, 93,187,118,181,126,231,157,119,
+ 62,216,176, 97, 67,237, 97,195,134,121,217,183,207,153, 51,167,205,194,133, 11,235, 3,248,242, 41,164,147, 7,143,127, 27,186,
+160,164,143,214,231, 0, 62, 43, 79,104,121,216, 94,158, 89, 54, 75, 22, 28,126,139,113,250,244,233,131, 66,161,208,110,209,106,
+171,215,235,131,156,172, 96,174, 68, 86,221, 81,163, 70,181,223,179,103,207,130, 97,195,134,101, 42, 20,138, 70,175,189,246,154,
+150, 32, 8,193,174, 93,187, 90, 69, 68, 68,200,251,247,239, 63,170,123,247,238,211, 56,142, 59, 79, 16,132,218,205, 76, 54,243,
+245,245,221,183,120,241,226, 58,189,123,247, 22,251,251,251,131,227, 56,164,167,167,135, 30, 57,114,164,207,231,159,127, 62, 45,
+ 47, 47,111, 16,128,132, 74,220,184, 54,114,185,124,207,231,159,127, 30,210,167, 79, 31, 97,112,112, 48, 76, 38, 19, 18, 19, 19,
+123, 30, 63,126,188,243,134, 13, 27,222, 55, 26,141,175,219, 4,134,187,104,235,237,237,189,247,127, 31,127, 28,212,238,205, 55,
+133,190,190,190,224, 56, 14,106,181,186,231,133,173, 91,187, 78, 88,188,248,253,194,194,194, 33,174,238,247,211,132, 68, 34, 33,
+183,109,219,214, 82, 34,145, 0, 0, 44, 22, 11, 34, 35, 35,137,231,166, 43, 66, 16, 97,233,233,233,222, 98,177,216,229,126,134,
+ 97,208,185,115,231,122, 98,177, 24, 95,126,249, 37,149,147,147,211,234,171,175,190,186,182, 99,199, 14,255, 53,107,214,188, 14,
+160,148,208, 34, 73,210, 63, 53, 53,213, 37, 39,195, 48,176, 90,173,160,105, 26, 22,139, 5, 77,155, 54,125,170,249,143,143,151,
+133, 1,152, 26, 19, 99,250,208,182,233, 75, 0,211, 0,220, 71, 21,191,219,245, 55,112, 58,214,183,101, 14,255,171,157, 86, 7,
+212, 1,128,163,215, 77, 0,224, 91,221,251,234,225,225,209,228,141, 55,222, 16,170,213,106,136, 68, 34, 88,173, 86,100,102,102,
+ 34, 50, 50, 82,240,237,183,223,190, 80, 89,190, 6, 13, 26,140, 93,184,112, 97,192,209,163, 71,173,219,182,109,179, 68, 69, 69,
+137,198,142, 29,171,236,220,185,115,211,176,176, 48,114,243,230,205,230,147, 39, 79, 82,163, 70,141,146,196,197,197, 5, 28, 57,
+114,164,127, 66, 66,194,151, 79, 58,157, 60,120,252, 11,113, 6,127,133,120,176,255,150, 43,180,224, 32,174, 6, 2,128, 72, 36,
+106, 21, 20, 20, 20, 79,211,116,176,205,170,147,153,149,149,245, 37, 69, 81,191,219,142, 61,192,178,236,128,138, 44, 89,163, 70,
+141,106,127,236,216,177,165,151, 47, 95, 46,204,205,205, 13, 62,120,240,160,105,218,180,105, 15, 1,224,254,253,251,245,251,247,
+239, 31, 58,121,242,228,212, 94,189,122,173,236,214,173,219,123, 28,199,157, 36, 8, 66, 95,145,200,138,140,140,188,116,238,220,
+ 57, 47,149, 74, 85, 98, 71,221,186,117,241,222,123,239,137, 7, 12, 24, 16,209,163, 71,143,139,201,201,201,157, 0,252,233,142,
+ 32,106,216,176,225,169,211,167, 79,123,250,248,248,160,160,160, 0,153,153,153, 48, 24, 12, 80, 42,149, 24, 54,108,152,184, 75,
+199, 14,181, 39, 79,121,255, 84,106, 90, 90, 79, 55,197, 86,219, 14,205,154,157,218, 17, 23,231, 73, 61,122, 4,185, 92, 14,157,
+ 78, 7, 0,240,242,242,194,203,245,234, 9,127,219,186, 53,116,100,108,236,169, 95,147,146,122, 62, 37,177, 37,181,253,154, 1,
+ 28, 22, 8, 4, 3, 37, 18, 9, 57,112,224, 64,156, 58,117,138, 48,153, 76, 66,155,117,135, 30, 56,112, 32,228,114, 57, 44, 22,
+ 11,139,162,161, 67,250, 89,126, 74, 36, 18, 9,146,147,147, 75,108,211,106,181, 80,171,213,200,205,205,133,217,108, 70, 65, 65,
+ 1, 88,150, 37,228,114,185,154,101, 89,144, 36,233, 44, 0, 74, 64, 44, 22, 35, 41, 41,169,196, 54,154,166,161,215,235, 97, 54,
+155, 97,181, 90,161,213,106,229, 94, 94, 94, 13,253,253,253, 83, 1, 28,200,203,203,251, 50, 43, 43, 43,229, 9,103, 63,199, 46,
+136,226,227,101,247, 0, 72,254,137,156, 14,150,172, 80,219,250, 31, 53,148, 86, 59, 30, 29,254,221, 20,110,179,142, 61,168, 1,
+ 62, 22, 0,206,159, 63,143,172,172, 44,228,228,228, 64,173, 86, 35, 44, 44, 12, 28,199, 85,122, 56, 46, 57, 57,121,237,139, 47,
+190, 72,220,188,121,243, 56,128,213,187,118,237, 26,147,151,151, 55, 99,250,244,233,190, 75,150, 44,201,139,141,141, 93, 8, 96,
+203,174, 93,187,222,109,210,164, 73,223, 91,183,110,109,120, 26,233,228,193,163,166,193,113, 92, 27, 0, 1,246,182,197,214,238,
+250, 57,172, 95, 39, 8,194,226,112,156,197,214, 54, 56,255,218, 97, 95, 87, 19, 4,241,171,195,121,106,130, 32,126,173,106, 50,
+157,126,139, 58,221, 0,112,248,240, 97,206,190,184, 58, 51, 48, 48,112, 74,247,238,221,151, 94,189,122,181,105, 70, 70,134, 79,
+ 70, 70,134,207,213,171, 87,155,118,239,222,125,105, 96, 96,224, 20,135, 27,225,124,234, 41,135,125,226, 75,151, 46,213,217,183,
+111,223,194, 83,167, 78, 21,182,106,213,202,114,250,244,105,186, 87,175, 94,217,182, 23, 52,221,171, 87,175,236,159,126,250,137,
+105,215,174,157,252,216,177, 99,143, 47, 94,188,184,108,207,158, 61, 65, 28,199, 9, 92,113,218, 32, 82,169, 84,223,159, 61,123,
+182,148,200,114, 68,237,218,181,113,248,240, 97,165, 74,165, 58, 0, 64, 92, 86, 58,109,144,201,100,178,189, 63,253,244,147,167,
+151,151, 23,178,179,179, 33, 18,137, 16, 24, 24,136,194,194, 66,100,102,100, 32,229,206, 29,144, 22, 11,150,127, 49,207, 75, 46,
+151,239,113,209,216,151,226,244,246,246,222,187, 99,193, 2,207,220, 83,167,240,199,252,249,176, 90,173,197, 67,174, 86,171, 21,
+ 23, 39, 78,132,250,199, 31,177,121,206, 28, 79,111,111,239,189, 0,100, 21,112,214, 4, 28, 57, 39, 2,200,179, 45, 19, 1, 92,
+142,140,140,188,154,152,152,136, 78,157, 58, 97,247,238,221, 45,166, 79,159, 62,113,250,244,233, 19,119,239,222,221,162, 83,167,
+ 78, 72, 76, 76, 68,100,100,228, 85,148,244,207,250,187,211,249,183,113, 50, 12, 83, 98, 97,217,191,222, 49,181,106,213,202,222,
+183,111, 31,134, 13, 27, 70, 74, 36,146,140,225,195,135, 75, 47, 92,184,192,217, 68,166,219,233, 52,153, 76, 48, 26,141,208,235,
+245,184,127,255,190,124,241,226,197, 29, 63,251,236,179, 6,167, 78,157, 10,157, 57,115,230,132,128,128,128,107, 65, 65, 65,117,
+158,112,222,173, 78,255,151, 3, 72,171,164,133,232,239,230,228,108,231, 35,198, 20,211,210,161,129,173, 44,111,121,247, 51,211,
+150, 86, 61,128,148,234,212,165,238,221,187,191,216,160, 65,131,160, 93, 55,125,144, 47,110, 12, 86,172, 2, 43, 86,129,241,107,
+131,100,201,171, 8, 15, 15, 15,242,244,244,108, 95,201,116,110,187,121,243,230,127,108, 61,229, 92, 0, 75, 99, 99, 99, 63, 39,
+ 8,226,124,108,108,236, 60, 0, 75,109,219,231,223,186,117,171, 29,128, 29, 79, 41,157,207,196,243,206,115,254,179, 56, 43,208,
+ 34, 1, 4, 65, 28, 38, 8,226,240, 39,159,124,210, 13,128,159,211,250, 43,142,199, 1,144,184,250,181, 47, 14,219, 3, 56,142,
+235,231,112, 94, 64, 21,147, 79,184, 88,254, 18, 90, 0, 16, 29, 29, 77, 68, 71, 71,219,119,252, 66, 16,196, 65, 0,191,136, 68,
+162, 86, 45, 91,182, 28,248,195, 15, 63,120, 5, 4,252,117,253,128,128, 0,236,217,179,199,171, 89,179,102, 3, 69, 34, 81, 43,
+ 0,191, 40,149,202,131,229, 88, 97, 84, 19, 39, 78, 28, 60,122,244,104, 77,171, 86,173, 0,160, 32, 33, 33, 65,209,174, 93, 59,
+ 61, 77,211, 4, 77,211, 68,187,118,237,244, 9, 9, 9, 10,138,162,180,109,218,180,241,232,209,163,199,195,169, 83,167,142,114,
+ 33, 56, 28,241,198,162, 69,139,194,124,124,124,202, 83,194,208,106,181, 8, 10, 10,194,196,137, 19,131, 69, 34,209, 91,229,221,
+ 45,161, 80, 56,105,209,162, 69,129, 42,149, 10,249,249,249, 8, 11, 11,131,197, 98, 65, 82, 82, 18, 76,122, 29, 40,173, 6,148,
+166, 0,234,123,119,161, 18, 9, 49,106, 64,116,144, 80, 40,156, 84,129,181,100,210, 55,177,177, 65,150,135, 15,113,127,247,110,
+ 48,116,105,227, 15,109,181,226,198,198,141, 48,165,166, 98,225,184,113, 65, 18,137,100,210, 19,182,100, 45,225, 56, 78,206,113,
+156,156, 32,136,149,237,219,183,255, 86, 46,151, 79,140,139,139,235,125,226,196,137, 62,231,206,157,235, 74,211,180,136,166,105,
+209,249,243,231, 59,153, 76, 38,161, 84, 42,133, 80, 40,228,240,156, 66, 36, 18, 65, 44, 22, 67, 46,151,163, 99,199,142,247, 54,
+109,218, 68,133,133,133,137,246,238,221,235, 83,171, 86, 45,143,213,171, 87, 23,104,181,218, 69,238,242, 89,173, 86,152,205,102,
+ 24,141, 70,152, 76, 38,156, 62,125,186,222,228,201,147,133, 38,147,137,233,223,191,127, 30, 69, 81,230,216,216, 88,165,175,175,
+239,180, 39,153,207,152, 24, 19,107,179, 60,221,178,137,150, 7,168,166,207,211,223,193, 9,192, 98,243,201,178,195,223,198,109,
+169,161, 91, 65, 3,208,217,132,150,217,233,249,104,238, 96,241,173, 16, 5, 5, 5, 27,190,249,230,155, 48, 82,170,194, 5, 75,
+ 95,124,199,126,142, 19,222,171,145, 93,231, 35, 4,134, 53,192,136, 17, 35, 2, 57,142, 91, 93, 3,105,254, 10, 64,103, 0, 43,
+171,114,242, 19, 72,103, 29, 15, 15,143,221, 94, 94, 94, 23, 60, 60, 60,118,195, 54, 60, 91, 29, 68, 53, 64,207, 1, 77,200,212,
+168, 8,112, 3,154,144,169, 81, 13,248, 80, 3,207, 11,156,180,136, 35,212, 28,199, 69,115, 28, 23,189,112,225,194, 5, 14,239,
+119,251,186,220, 77,203, 88, 52,199,113,209, 37, 20, 82,145,192,170,182,209,205,197, 82,164, 41, 28,149,164, 67,230,138,103, 23,
+ 6, 5, 5,197,199,199,199,123, 57, 51,102,100,100, 64,163,209, 96,246,236,217, 94,163, 71,143,126, 63, 53, 53, 53,166,130, 68,
+ 72, 50, 51, 51, 91,143, 28, 57, 82,102,181, 90,243, 89,150, 37, 53, 26,141,208,219,219,155,177, 31,224,237,237,205, 20, 22, 22,
+138,244,122,189,128, 97, 24,243,232,209,163, 37,227,198,141,123, 25,128,160, 44,210,128,128,128,168,190,125,251,150, 57,116, 64,
+ 81, 20,244,122, 61,244,122, 61,172, 86, 43, 58,118,236, 40,221,180,105, 83,175,236,236,236,117,101, 42, 14,169, 52, 42, 42, 42,
+ 74,148,151,151, 7,111,111,111,164,164,164,224,193,131, 7, 48,235,116,176,234, 52,176,234,180,160,181, 26,112,154, 66,228,222,
+189,141,118, 77, 26,139,183, 75,165,189,245,122,253,178,178, 56,149, 74,101, 84,187, 49, 99,132, 30, 30, 30,232, 58,178,104,158,
+193,177, 38, 77,192, 49, 12, 88,134, 1, 67,211,232,157,148, 4,138,162, 64,146, 36,218,228,229, 9,149, 91,183, 70,169,213,234,
+165, 79,163,178, 75,165, 82,225,182,109,219,222,144, 72, 36,224, 56,142,176, 88, 44, 56,113,226,196,191,238,161,151, 72, 36,144,
+201,100,176, 90,173,168, 91,183,174,113,228,200,145,151,190,248,226,139,112,146, 36, 61,196, 98,241, 15,185,185,185, 11, 50, 50,
+ 50,238,187,203, 71, 81, 20, 44, 22, 11, 44, 22, 11,140, 70, 35,238,221,187, 23, 92,175, 94, 61, 98,226,196,137,140,193, 96,168,
+191,106,213,170,228, 19, 39, 78, 40, 22, 45, 90,244, 26,128,247,158,116,126, 99, 98, 76, 77, 0, 52,137,143,151,137,109,150, 95,
+203, 63,140,147, 67,145,227, 59,226,101,241,137, 0,212, 53, 40,178, 36, 0,188,195,253,132,122,145, 0, 58, 0, 94, 54, 81,240,
+ 26, 65, 16,237,154, 54,109,234,147,152,152,152,207,113,220, 21, 0,223, 1,200, 40,143,140,101, 89,130,101, 89,188,211,182, 0,
+ 19,219, 11, 64, 81,133, 40, 44, 44, 68, 74, 74, 10, 18, 18, 18,240,243,207, 9, 85,125, 54,223,242,244,244,236, 37,147,201,234,
+210, 52, 77,234,116,186, 20,131,193,112,138,101,217, 13,168,130,143,218,223,149, 78, 59, 60, 60, 60, 22,207,156, 57,179,131,183,
+183, 55,126,255,253,247,250, 59,119,238, 92,172,215,235,171,229, 92, 47, 19,145,155,151,173, 88, 29, 26, 26,168,194,245,115,135,
+ 66, 23,172,223,181, 25, 96,195,120,153,242,236,195, 73,139, 56,138,161, 95, 57,142,235, 71, 16,196, 97,103,161, 84, 41,179, 83,
+ 53,207,175,192,162,229,252, 97,233,146, 66,171, 12, 5, 9,154,166,131, 29, 45, 89, 28,199, 33, 35, 35, 3,105,105,105, 80,171,
+213,240,241,241,129,213,106, 13,118,167,125,208,106,181,109,253,252,252, 12, 34,145,200,108, 52, 26,161, 80, 40, 88,145, 72,196,
+217,174, 67,216,102, 45, 50,102,179,153, 16, 10,133,148,151,151,151,167,217,108,110,140,114,124,201, 56,142,107,235,231,231,231,
+114,159,217,108,134, 78,167,131, 94,175,135, 78,167,131,217,108, 70, 80, 80, 16,104,154,110, 93,110,151,150,166,155, 7, 4, 4,
+ 32, 61, 61, 29,114,185, 28,169,169,169,176,232,180,176,106,181,160,245, 26, 48,133,133, 96, 53, 26,176,122, 13, 40,139, 1,161,
+141,154,192, 62, 35,177,204,110,184,197,210,220,207,207, 15,122,253, 95,238,102,156, 77, 96,209, 52, 13,218,230, 28,109, 31, 78,
+244,247,247,135,125, 70,226, 19,130, 25,192,116,146, 36, 87, 74,165, 82,225,132, 9, 19,144,145,145, 81,162, 78, 76,152, 48,161,
+216, 39,171,115,231,206,231,101, 50, 25,173, 86,171, 97, 54,155, 69,207,235, 67, 79, 16, 4, 8,130, 40, 42, 35,154,134,191,191,
+191, 62, 39, 39,231,231,130,130,130, 55,170,194, 71, 81,148,125, 70, 23,140, 70, 35, 56,142,195,239,191,255, 14,153, 76, 38, 98,
+ 24,230, 38, 77,211, 10,145, 72, 4,210,230,252,245,164, 96,155, 17,248, 37,128, 48,155,133,232, 45, 20, 57,156,167,185,104, 72,
+220,186,117,110,114, 86, 94,184,153, 98,236,150,166, 52, 84,109, 56,210, 21,186, 54, 86, 73,150,197,181, 11, 84,181,236,239,161,
+ 87, 72, 4,122, 54,165,101,221,255, 45, 73,216, 57,122,212, 91, 94,115,231,206,173,227,239,239, 47, 75, 78, 78, 54,205,155, 55,
+175,222,182,109,219, 8, 20, 13,211,149,137, 71,143, 30,237,159, 57,115,166,111,223,190,125,235, 75,165, 82,162,176,176, 16,106,
+181, 26, 89, 89, 89,120,240,224, 1,119,253,250,245,123,102,179,121,119,101, 18, 25, 18, 18,178,233,141, 55,222, 24,253,210, 75,
+ 47,137,236, 22, 82,189, 94,223,234,236,217,179, 3,142, 29, 59,214, 73,175,215, 87,186, 94, 62,126,252,120,247,172, 89,179, 60,
+ 94,125,245,213,198, 82,169,148,172,137,116, 58,130, 36,201, 32, 79, 79, 79,156, 58,117, 10, 42,149, 10, 36, 73, 6, 85,183,190,
+154,172,108,104,173, 96, 63,152, 46, 46, 67,227,128, 58, 48, 89,217, 80, 94,162, 60, 63, 22,173, 50,222,245,109,236, 22,169, 10,
+196,146,113,198,140, 25, 51, 9,130, 56, 60, 99,198,140,153,174, 44, 90,182,191,140,227,113, 14,199,155,107, 90,108, 85, 42,208,
+ 36,203,178, 72, 75, 75, 67,122,122, 58,210,210,210,144,155,155, 11,146, 36,193,113,156, 59,179,207, 56,130, 32,216,147, 39, 79,
+250, 92,186,116, 73,223,166, 77,155, 2,187,255, 11, 77,211, 4, 69, 81,132,205, 47,134, 72, 73, 73, 17, 95,184,112, 65,117,235,
+214,173, 32, 91,111,149,173,192, 20, 88,106,155, 93, 96, 57, 46, 38,147, 9, 50,153,204, 61,213, 97,123, 17,254,126,245,106,145,
+200,210,105,109, 67,134,133, 96, 52,133,224,244, 90, 72, 24, 10, 18,112, 32, 76, 6,183,239,159, 35,236, 34,203,106, 19, 90, 22,
+139, 5, 20, 69,129,101, 89,208,244, 83,241, 43, 95,219,162, 69,139,214,251,247,239, 31,155,150, 86,250, 93, 56,104,208, 32,188,
+247,222,123,152, 60,121,242,173,126,253,250, 93, 63,116,232, 16, 38, 77,154, 4,150,101, 91, 2, 40, 4,112,236,121,123,232,205,
+102,115,177, 5,202,100, 50,193,106,181, 2,229, 56,191, 87, 84, 55,237,101, 75,211,180,157,155,216,191,127, 31,206,159, 63, 79,
+ 38, 36,220, 12,155, 48, 97,162,221,225,254, 73,103, 53, 21, 69, 51,247, 36,182,134,194,130, 34,255,167,178, 66, 42, 68,160,252,
+ 33, 59,174, 60,206,234,160,197,250, 22,195, 62,252,240,195, 40, 20,205,112,190, 95, 77,139,214,171, 18,146,248,122, 74,115, 95,
+217,180, 22,126,122,137,144,208, 37,125, 61, 83,247, 32, 92,169, 15,170,173,176,132,213, 83,213, 90,176,224,139,144, 91,183,110,
+155,103,207,158,157, 56,124,248,240,192,105,211,166, 53,221,187,119,111, 39,147,201,244, 13,128,130,178,140, 46, 3, 6, 12,184,
+ 18, 24, 24, 88,111,253,250,245,217,143, 31, 63,246,161, 40,202,195,106,181,178,122,189,254,129,209,104, 60,101,181, 90, 79, 1,
+184, 90,153,196,122,121,121,181, 24, 51,102,140,168,160,160, 0, 66,161, 16, 86,171, 21,217,217,217,232,208,161,131,224,224,193,
+131,205,170,114, 3,242,243,243,151,125,243,205, 55,103,118,236,216,209, 75,169, 84,190, 36,149, 74,131, 1, 48, 90,173, 54, 75,
+175,215,255, 81,149,116,150,104,231, 24, 38,235,234,213,171, 17, 74,165, 18,143, 30, 61, 2,195, 48, 89,213,173, 3, 50, 49,249,
+248,198,185,131,181,155,248,215,195,133, 75, 87, 32, 19,147,143,249, 80, 95,207, 61,236, 62, 84,112, 20, 80, 46, 4,210,165,184,
+184, 56,249,194,133, 11, 17, 23, 23,119,211,149, 69,203, 46,184,226,226,226,110,218,143,115, 56,254, 92, 53,210, 88,182, 69,171,
+ 44, 5, 9, 20,205, 46, 84,171,213, 62, 42,149,170, 88, 96,165,167,167, 35, 61, 61, 29, 18,137, 4, 41, 41, 41,144, 72, 36, 25,
+238,116, 66,228,114,249,111,173, 90,181,122,225,254,253,251,226,121,243,230,213,190,122,245,170,178, 67,135, 14, 47,202,229,114,
+134,227, 56,152, 76, 38, 50, 49, 49,209,115,233,210,165,161,109,219,182,181,180,109,219,246,218,174, 93,187,140, 40, 39,254, 21,
+ 65, 16,191,100,100,100,212,175, 91,183,174, 93,180,149, 16, 87,142,130, 11, 40, 26,242, 20, 10,133,215,202, 75,168, 80, 40,188,
+145,148,148,212, 83, 33,147,194,162,213,192,170,211,128,214,106,193,104, 11,193, 20, 22, 2,122, 13, 36, 52, 13, 17, 67, 65, 46,
+147, 33, 45, 53, 21, 66,161,240, 70,121,156, 18,137,228, 70, 86, 86, 86, 79,149, 74, 85,252, 18,165,104,186,104, 97, 24, 88,104,
+186,216,162, 37, 18,137,240,248,241, 99, 72, 36,146, 27, 79,186, 38,147, 36,201,216, 67, 56,148,145, 15, 4, 5, 5,177,237,218,
+181,195,164, 73,147,192, 48,140,173, 24,136,174, 0, 46,160,200,191,229,153,132, 43,113,107,119, 90, 55, 26,141,208,233,116,200,
+207,207, 23,202,229,242, 23, 66, 67, 67,175, 88, 44,150,221, 52, 77,111,126,240,224,129,166, 44, 78,155, 48, 43, 22, 93, 44,203,
+130,227, 56, 48, 12, 3,138,162, 32, 22,139,217,179,103,207, 97,233,242,197,136,223,188,141, 27, 48, 96, 0,113,240,224, 65,176,
+ 44,155,250,132,179,111,177,137,150,242, 26, 13,231,144, 10, 31,161,252,144, 10,101,113, 58,246,254, 28,183, 17, 46,142, 41,133,
+ 15, 63,252,240, 56,138,134, 12,115,108, 98,174, 58,156, 95, 22,124,247,133, 12, 52,163, 55,159,221,161,251,246,142, 70, 63,247,
+219, 21,191, 89, 36, 2,205,203, 93,130,154,215,175,247,130, 64,165,242, 33,215,109, 88,153,187,125,219,158,228, 71,143, 30,105,
+214,172, 89,211,254,133, 23, 94,240,254,227,143, 63, 66,203, 18, 90, 10,133,162,225, 91,111,189, 53, 38, 63, 63, 95, 28, 31, 31,
+191, 43, 35, 35,227, 55, 20,133,150,113,156, 65,221, 15,192, 22,155, 16, 13,178,181,115, 23, 0,204, 43,175,191, 70, 16, 4,126,
+250,233,167, 82,179, 3,217,234,169,115, 85,131, 6, 13,134,221,191,127,255,124, 86, 86,214, 16,231,157, 98,177,120,110,163, 70,
+141,122,223,188,121,243,115, 0, 71, 43, 67,108, 48, 24, 98,247,236,217,179, 68, 32, 16,212, 98, 24, 38,221,104, 52,198, 86,219,
+162, 69,177,227,226,214,237,220,104,180, 48,225,114,137,224,145,137, 98,223,230,117,200,243,107,205,178, 65,237, 96,141, 82,163,
+232, 59,130,142,235,127,216, 94, 70, 22,142,227,236,199,170, 29,172, 88, 22, 39, 43,152,171,125,234,106, 4, 75,231,202,106,227,
+202,178,104,125, 2,160, 45,128, 95,178,178,178, 86,142, 30, 61,122,233,246,237,219,189, 52, 26, 13,178,178,178,144,157,157, 13,
+161, 80, 8,165, 82,137,181,107,215, 26,179,178,178, 86, 58,158,131,210, 17,228, 1,192,228,239,239,255,219,182,109,219,130,191,
+254,250,107, 97, 76, 76, 76, 74,191,126,253, 26,175, 93,187,246,190, 88, 44,230, 24,134, 33,204,102, 51,241,206, 59,239, 68, 44,
+ 95,190,252,161, 64, 32, 80, 12, 27, 54,140,240,240,240,248, 5,229,132, 13, 80,171,213, 39,191,255,254,251,193, 83,167, 78,149,
+ 90, 44, 22,151,150, 44,251, 54,149, 74,133,139, 23, 47, 90,242,243,243, 79, 84, 96,197, 56,249,195,209, 35,157,255, 59,124,184,
+152,210,106, 64,105, 53,160, 53, 26, 48,218, 2, 16, 58, 13, 68, 12, 13,185,152, 69,112,152, 12,180,209, 19, 71,126,253,131, 50,
+155,205,229, 6, 54,212,104, 52, 39, 47,196,199,119,109, 91,167,142,240,226,148, 41,176, 82, 20, 94, 77, 74, 42, 22, 87, 86,171,
+ 21, 7,154, 55, 7, 67, 16,104, 57,126, 60,238,210, 52,173,209,104, 78,254, 19, 31,134,235,215,175,103,143, 28, 57,242, 42,203,
+178,173, 43, 99,221,249,167,131,162,168, 82,214, 40,134, 97,138,172,142, 69,150, 3,201,145, 35, 71, 58, 39, 38, 38,138,255,252,
+243, 79,156, 63,127,190,229,246,237,219, 63, 9, 15, 15,111,254,232,209,163,204,138,196,155,171,160,191,176,249, 31,238,218,177,
+ 27,239,190,251, 46,145,153,153,137,239,190,251, 14, 21, 5, 79,253, 59, 16, 19, 99, 98,227,227,101,181,225,228,247,228, 34,164,
+194,239,112, 51,164, 66, 89,156,166,152, 34, 43,153, 44,190, 40,216,168, 41,166,104, 56, 80, 22, 95,161,165, 12, 49,166, 24,141,
+205, 33, 62,163, 6, 56,245,160, 25,185,229,236, 14, 93,191,163,143,180,151, 51,140,243, 0, 28,135,137,225,238, 94,227,174,191,
+244,146,143, 63, 0,152, 77, 76,112,195,134, 13,187, 8,133, 66, 9, 0,120,122,122,190,228,231,231,183, 54, 55, 55,183,163,171,
+ 50,141,142,142,110, 23, 24, 24,216,234,216,177, 99,127,100,100,100,220, 4,240,179,243, 65, 17, 17, 17,179,111,221,186,213, 70,
+ 36, 18, 17, 21,212, 17, 0, 64,151, 46, 93, 94,144, 74,165,126, 71,239,120, 67, 35,110, 0, 78, 80, 8, 8,101, 96, 84, 45,144,
+ 34,110,138,176,176, 43,126,249,249,249, 45, 11, 11, 11,255,168,100,209,119, 27, 60,120,240,230,248,248,248,176, 46, 93,186,112,
+215,174, 93, 35,157, 71, 17, 34, 34, 34,122, 93,190,124,185,245,219,111,191,189,126,231,206,157, 19, 81,114,166,109, 69, 72,177,
+197, 27,172, 49,156, 76,198, 41,128,169, 99,179,153,241, 10,229, 95,128,202,132, 92,168, 70,120,134,106, 37,177, 76, 3, 70, 25,
+219,219,218, 98, 98,181,165, 40,234,247,235,215,175, 31, 24, 54,108,152, 46, 55, 55, 23,126,126,126,168, 91,183, 46, 8,130,192,
+218,181,107,141, 15, 30, 60,216,107,139,165,213, 54, 61, 61,125,128, 77,108,185,130,118,213,170, 85, 59,183,110,221,170,186,122,
+245,170,128,166,105,101,227,198,141, 13,151, 46, 93,242, 20,137, 68,156, 88, 44,102,175, 94,189,170,136,136,136, 48, 17, 4, 33,
+253,241,199, 31,115,175, 92,185, 18, 62,125,250,244,111, 80,114,154,184, 51,118,204,159, 63, 63,237,254,253,251, 48,155,205,208,
+104, 52, 40, 44, 44, 44, 94, 10, 10, 10, 80, 88, 88, 8,145, 72,132,204,204, 76,236,219,183, 47,195, 22, 37,190, 60,203,198,154,
+213,107,215,169, 51, 30,165, 64,169,144,131,214, 20,128, 41,204, 5,180,133,144, 80, 86,120,136, 24,212,110, 32,135, 76,161, 68,
+150, 70,135,248, 75,191,102,218,162,196,151,109, 46,176, 88,214,188,183,124,121, 22, 45, 22,163,206,208,161,176,218,134, 10, 29,
+133, 22, 67, 16, 8,239,209, 3,164,183, 55, 22,236,221,155,101,139, 18,255, 68,193,178,172,192, 98,177,148,151, 15,176, 44,155,
+154,152,152,184, 19,192, 25,130, 32, 56,130, 32, 56, 20, 5,107,211, 61,203, 15, 50, 69, 81,152, 51,103, 14,196, 98, 49,230,204,
+153,131, 79, 63,253, 20, 75,151, 46,197,186,117,235,240,237,183,223,226,200,145, 35,245, 46, 92,184, 32, 62,119,238, 28, 23, 23,
+ 23,151, 19, 17, 17, 33, 24, 63,126,188, 74, 46,151,127, 88, 30,103,108,108, 44,188,188,188, 16, 27, 27,139,197,139, 23, 99,211,
+166, 77, 56,112,224, 0, 46, 94,188, 8,129, 64,192,166,166, 62,134,201,100,226, 86,173, 90,149,118,224,192, 1,227,202,149, 43,
+ 33, 20, 10,137,167,212, 72,124,104, 19, 84,142,150, 32,231,144, 10,185, 0, 86,160, 98,223,168,178, 56, 33,139,143,175,109, 19,
+ 71,201, 14,130,232, 16,128,169, 40,127,122,181,157, 99, 34,128,224, 26,224,156, 37, 31,249,127,137,170,141,183,239, 93,206, 48,
+206, 2,240,131, 61, 79, 74,165, 82,190,127,255,247, 66, 0,216,187,103,159, 40, 41, 41,201,251,251,239,191,151, 5, 6, 6,226,
+219,111,191,149,201,229,242,192, 50, 56,153, 3, 7, 14,152, 37, 18,137,223,184,113,227,250,180,105,211,230, 3, 91, 71,180, 7,
+128,102, 40,154,189, 24,117,239,222,189, 4,127,127,255, 59, 39, 78,156,208,187, 83, 64, 90,173,246,155, 45, 91,182,212,205, 99,
+124,113, 84, 63, 24,241,236, 18, 28, 81,109, 70, 74,157, 79,161,168,245, 50,222,120,227,141, 90, 12,195,108,172,100,185,191, 49,
+104,208,160, 45,241,241,241, 97,227,198,141,203,188,118,237, 90, 22,128,120, 0,219, 28,151, 91,183,110,229,140, 30, 61, 58, 99,
+227,198,141, 33,195,134, 13, 91, 7, 96, 8,255,234,231,193,163,100, 95, 8, 21,205, 58,116,241,194, 45,254,159,157,157,189, 42,
+ 63, 63,255,226,221,187,119,223,183, 88, 44, 33, 4, 65,112, 98,177, 56, 51, 43, 43,107,165, 67,192, 82, 87,126, 37, 61, 97,139,
+181, 65, 16, 4,197,113, 92,106,183,110,221, 62,236,209,163,199, 87,135, 15, 31, 54,117,237,218, 21,123,246,236,241,239,214,173,
+155,129,101, 89,238,232,209,163,254,189,123,247, 54,156, 57,115, 70,255,206, 59,239, 52,110,212,168,209,248,216,216, 88, 53, 65,
+ 16,172, 43, 78,251,187,172,160,160, 96, 80,159, 62,125, 46,238,221,187, 87,169, 82,169, 64,211, 52, 12, 6, 3, 12, 6, 3, 56,
+142,131,183,183, 55,212,106, 53,230,205,155,167, 41, 44, 44, 28,232, 66,184, 57,115,154, 76, 38,211,144,137, 31, 76, 61,185,242,
+243, 57, 94,225,245,234, 33,247,182, 9,180,201, 0, 17, 71,162,246, 11,222, 16, 75,228,184,155,164,197, 71, 59,247,107,141, 38,
+211,235, 46,122,203,165, 56, 11, 11, 11,135,196,124,250,233,169,245,211,167,123,182, 10, 10,130, 64, 32,128,217,108, 6,195, 48,
+ 16,137, 68,136,140,137,129, 56, 32, 0,179,119,238,212,107, 52,154, 33, 40,253, 41, 30,103,206,154,128, 35,231,196,235,215,175,
+143,110,210,164, 9, 38, 76,152,128, 65,131, 6,149, 56,240,251,239,191,199,186,117,235, 96, 54,155, 71, 3,184, 6, 96, 45,138,
+134, 58,224, 36,178,254,238,116,214, 56, 39,195, 48,249, 73, 73, 73,202, 37, 75,150, 16, 86,171, 21,159,127,254, 57,236,130,211,
+ 94,175, 39, 77,154, 84,203,203,203, 11,159,125,246,153, 37, 39, 39,167,251,226,197,139, 79,111,219,182,205,255,155,111,190,121,
+ 3, 64,172, 51, 39,203,178,217, 55,110,220,240, 90,191,126, 61, 73,211, 52,150, 45, 91, 86,106,120,114,236,216,177,176, 90, 41,
+ 8, 4, 66,139,201,100,110, 38,151,203,147,253,252,252,228, 92, 73,231,174, 39,121, 63, 67, 81, 20,194,192,209,241,221,226,232,
+159,133,178, 67, 42, 84,134, 83, 45,139,143,239,106,138,137, 57, 99, 19, 68,137,182, 99,246,216, 77,250,149,224,180, 11,194,170,
+112,158,180, 45, 21,194,100, 50, 65,173, 86, 35, 39, 39, 7, 42,149, 10, 2,129,128, 40, 43,157,102,179,249,207,143, 62,250,232,
+250,198,141, 27,123, 94,190,124,185,255,185,115,231,186,157, 58,117,202,148,146,146, 66, 83, 20,197,133,132,132, 8, 59,118,236,
+ 40,235,219,183,175,135, 84, 42, 37,103,205,154,149,243,197, 23, 95,248,163,164, 15,155,115,222, 5, 4, 65, 96, 90,103, 45, 98,
+187, 9, 96,177, 88, 81, 80, 80,128,180,180, 84, 36, 36, 36,224,242,229,219,224, 56,142,172, 68,185,251, 1,152,245,221,119,223,
+133, 74, 36, 18, 98,231,206,157,181,118,238,220, 89,161, 37,117,251,246,237,181,118,237,218, 53,215, 54,122,145,250, 44, 62,239,
+ 60,231, 63,150,243, 89,134,115,100,120, 84, 40,180,108,237,124, 91,216, 62, 74, 74, 81,212, 47, 46, 66, 56,124, 2, 96,142,131,
+ 21,172, 34,115,158,134,227,184,243, 61,123,246,156,212,163, 71,143,229,189,122,245,202,200,200,200,168,191,108,217,178, 48,154,
+166,173, 9, 9, 9,100,114,114,114,202,111,191,253,214,160, 81,163, 70,227,111,221,186,117,150, 32, 8,171, 27, 25, 76, 72, 78,
+ 78,238,208,173, 91,183,125,227,199,143, 15,111,215,174,157, 68,165, 82, 65, 40, 20,226,254,253,251,248,227,143, 63, 44,187,118,
+237, 74, 45, 40, 40,168,204, 39,120,126,121,152,150, 22, 53,108,242,251,123,199, 15,234,239,255,159,198, 47, 72, 66, 66, 66, 0,
+163, 17,183, 31,101,226,202,237, 63,172,155,206, 95, 81,155,205,230, 33,112,255, 19, 60,191,252,118,247,110,207,238,211,167,239,
+157,251,223,255, 6, 33, 35, 67, 24, 18, 18, 2,137, 68,130, 7, 15, 30, 32,153,101,233, 69, 27, 54,100,217, 68,214,147,142, 10,
+ 47, 5,176,132,101, 89, 33, 0,200,229,114,188,247,222,123,112,252,228,206,186,117,235, 96, 52, 26, 1, 64, 72, 16,196, 18, 0,
+155,159,117, 43,150, 29,121,121,121,179, 95,125,245,213, 56,161, 80, 88,102,212, 91, 31, 31, 31,104,181, 90,208, 52,205,164,165,
+165,221,246,241,241,129, 72, 36, 2,199,113, 46,159,163,220,220,220,217, 67,134, 12,153, 79,146,100, 89,150, 15, 40,149,202,148,
+211,167, 79, 55,124,251,237,183,201,255,253,239,127,247,199,141, 27, 39, 61,125,250, 52,195,113,220,190, 39,125, 15, 58,117,218,
+ 1,172,143,121, 29,192,235, 64, 41,135,247, 52,219,182, 74,133, 84,232,212,105, 7,214,227, 47, 78,199, 97, 60,187, 32,178, 89,
+161,154,202,226,227,151,163,200,207,162, 92,238, 78, 59, 58, 97,125, 12,106,148,211, 29, 56,106, 95,189, 94, 15,134, 97,202,179,
+230,253,190,103,207,158,229,191,253,246, 91,192,164, 73,147,234,255,247,191,255, 85,118,235,214,205,211,241, 0,163,209,200, 30,
+ 58,116, 72,191,110,221,186,194,243,231,207, 63, 28, 59,118,108,187,242,210,249,232,209,163, 35, 11, 22, 44,240,238,219,183,111,
+ 35, 0,197,254, 89,106,181, 26, 41, 41, 41,248,243,207, 63, 83,172, 86,235,193, 74,100, 41, 23,192,220, 17, 35, 70, 44,217,186,
+117,107,173,113,227,198,101,238,218,181,235, 79, 20, 5, 44,118,134,106,208,160, 65,205,183,110,221, 26, 50,110,220,184, 76, 20,
+249,145,165,130, 7, 15, 30,118,116, 69,105, 63,173,114, 71, 38,182, 88, 44, 22,206,100, 50,113, 6,131,129,211,233,116, 28, 92,
+127, 5,254, 64,122,122, 58,151,154,154,202, 61,122,244,136,123,248,240, 33, 7,224, 91, 39,197,235,170,193,242,216,190,125,123,
+131,208,208,208,207, 21, 10,197,113,129, 64,160, 17, 8, 4, 26,169, 84,250,131,159,159,223,167,139, 22, 45, 10,229, 56, 78, 92,
+142,138, 46, 11, 66,145, 72,244,118, 96, 96,224, 1, 95, 95,223, 84, 31, 31,159,212,192,192,192, 3, 34,145,232, 93, 0,162, 10,
+148,121, 89,144, 9,133,194,143, 60, 60, 60, 78, 74,165,210,108,169, 84,154,237,225,225,113, 82, 40, 20,126,132,242, 3,169,150,
+203, 41,145, 72, 62, 10, 8, 8, 56,169, 84, 42,179,149, 74,101,118, 64, 64,192, 73,137, 68, 82, 29,206,234,244, 74,236, 66,203,
+192,217, 64, 16, 4,213,178,101,203,245,173, 91,183, 94,219,186,117,235,181, 45, 90,180,248,218,102,149,228,108,214, 22, 3,202,
+ 14,222,248,119,166,243,169,113, 70, 70, 70,110,219,186,117, 43, 59,123,246,108, 77,163, 70,141,242,102,207,158,173,217,186,117,
+ 43, 27, 25, 25,185,173,170,156, 65, 65, 65,117, 34, 35, 35,243, 54,110,220, 72, 39, 37, 37,113, 27, 55,110,164, 35, 35, 35,243,
+156, 34,195, 63,137,188, 19, 0, 34,108,214,159,131, 0,118,163,200,249, 61, 20, 0, 17, 99,138,225,108,179, 15,143, 3,232, 85,
+ 70,217,187,203, 25,102,138,137,225,108, 62, 85, 39, 0, 36, 58,172,119, 65, 73,255,175, 39,193,233, 18,205,154, 53,187,203, 57,
+192, 98,177,112,106,181,154, 75, 74, 74,226,206,159, 63,207,133,133,133,221,117,131,211, 15,192, 59, 0, 14, 5, 7, 7,223,106,
+223,190,253,163, 14, 29, 58, 60,170, 83,167,206,125,145, 72,116, 25, 69, 17,222, 35,109,203, 18, 0,141, 42,224,108,175, 82,169,
+ 22,132,133,133, 29,108,216,176,225,197,186,117,235, 94,246,245,245, 61, 44,147,201, 22,226,175,200,216,149,173,243,221, 6, 15,
+ 30,156,162,211,233,152,151, 94,122,233,150,171,147,154, 52,105,114, 65,167,211, 49,195,135, 15, 79, 5, 16,253,111,120,222,121,
+206,167,194,249,220,193, 85, 84, 4, 59, 26,218, 4,211, 1,135,229, 19, 23,199,125,226,116,204, 22,219,185, 21, 22, 4,199,113,
+ 2,142,227, 60, 56,142,243,230, 56,206,151,227, 56, 21,199,113,158, 28,199, 73, 43, 48,127,243, 21,251,239,227,156,104, 19, 80,
+ 6,219,127,103, 84,180,255,185,190,159,161,161,161, 62,109,218,180,153,188,127,255,254,143,238,221,187,247,209,254,253,251, 63,
+106,211,166,205,228,208,208, 80,159,234,164, 51, 40, 40,168, 78,211,166, 77,191,106,210,164, 73,106,211,166, 77,191,114, 18, 89,
+ 79, 50,239, 18,155,136,105, 98, 91,234,219,182, 17, 40,138,133,181,198, 38,108, 34,202,232,169, 85,134,211,206,119, 16, 64,111,
+219,114,208,182, 45,236, 41,112,150, 66,189,122,245,142, 53,111,222,252,110,139, 22, 45,146, 91,180,104,113,183, 89,179,102,119,
+ 27, 55,110,124, 55, 34, 34,226,110,237,218,181,239,250,251,251, 31,171, 66, 25,249, 2, 8, 65,233,207,128, 61,237, 58,223, 53,
+ 50, 50,242,138, 76, 38,115, 25, 27, 76, 40, 20,206,109,209,162,197, 13, 20,205,148,228,219, 79,158,147, 23, 90,162, 32,200, 0,
+ 0, 0, 32, 0, 73, 68, 65, 84, 53, 32,180,248, 10,243,239,229,148,162,252,207,140, 84,180,159,191,159,207, 54,167,203,111,117,
+217,132, 76,125,155,192,145,212, 0,167, 35,159,189, 78, 69, 56,136,166,167,193,201,215, 37,158,147,231,228,133, 86,141, 11, 45,
+ 33,127, 27,120, 56,193, 92,205,253, 60,158,241,118,161,140,237,174, 98, 98, 85,135,211, 21,223,189,167,204,201,131, 7, 15, 30,
+ 53,213,118,118, 5,112,214,222, 43, 44, 75,149, 86,102, 54, 65, 85,148,237, 41,158,147,231,228, 57,121, 78,158,147,231,228, 57,
+255,117,156,118, 44, 47, 99,251,109,167,245,175,159, 81,225, 69,240, 67,135, 60, 39,207,201,115,242,156, 60, 39,207,201,115,254,
+ 83, 56, 93, 97,252, 51, 42,178,186, 0,252,208, 33, 15, 30, 60,120,240,224,193,131, 71, 77,163,226, 56, 90,187,119,239, 22,216,
+255,143, 24, 49, 98, 44,195, 48,147,237,235, 2,129, 96,245,119,223,125,183,185,188, 43, 12, 29, 58,148, 41,143,211, 21, 42,186,
+142, 43,206,102,141,148, 19,252,188, 21,239, 23, 20, 26, 86,220, 79,103,206,155, 76,166,166,246,125, 50,153, 44,113,243,230,205,
+119,106, 58,157, 99,199,142,109,228,124,157,186, 97,162,174,190, 94,178,247,242, 10,116,203,110,222,213,125,205,215,177,167, 2,
+127, 0,209, 94, 50,241,128,102, 42,113,251, 63,115, 77,151,244, 86,230, 16,138,102,195,230, 63,143, 25, 14, 14, 14,110,172, 84,
+ 42, 71, 1,104,102, 48, 24, 2, 21, 10, 69, 54,128, 4,141, 70,179, 45, 51, 51,243,182,187, 60, 93,234, 34, 5, 64,184,109,245,
+209,217,135,168,227,206,190,138,208, 43, 2, 38, 14,144, 18, 4,172, 39,146,255,114, 70,239,221, 0, 38,150, 43,189,189, 87, 3,
+ 88, 56, 14, 98, 2, 48,159,184, 7,217,115, 84, 84, 74, 0, 81, 40, 10,225,112, 29, 69,225, 39, 12,252, 35,203,131,199,115, 5,
+231, 64,165,197,235,194, 50,196, 68,103,177,144,248,138, 3,167, 2, 56, 63,179,217, 44,146, 72, 36,176, 88, 44, 80, 40,228,107,
+222, 25, 55,246,115,144, 40,160,104,188,183,121,243,230, 42,127,233,186, 50,215, 1,240,147,243,249, 62, 74,249,252, 51,135, 62,
+246,233,220,111,209, 66,203,131,156, 88,173, 86, 75, 74,165, 82,152,205,102,120,123,123,119,152, 48,126,252, 75,164,136,179,136,
+197, 30,151,150, 47, 95,158, 89,213,116,126,248,225,135,193, 86,171,233, 21,150,101, 37, 22,139, 69,234,124, 29,111,133,199,162,
+ 51,135, 62, 86,116,137, 94,248, 57,192, 11,173,167, 0, 73, 29, 31,143,179, 43, 70,116,109,210,190, 89, 67,176, 9,231, 96,178,
+ 88, 7,156, 73,213, 13,248,244,114,250,212, 84,157,181, 53,106, 32, 96,229, 63, 8,130,250,245,235, 79, 10, 8, 8, 24,190, 97,
+195, 6,113,253,250,245, 33,147,201, 96, 52, 26, 67,238,221,187, 23, 50, 97,194,132, 46,114,185,124,231,253,251,247,215,192,189,
+ 15,193,133,159,217,242,127, 0,128, 14,163,230,133,163,232, 99,209, 6,231,125, 93,199,204, 11, 7, 48, 29, 37, 63,140,156,129,
+162, 16, 10,174, 90, 29,201,225,173, 75, 49, 96,244, 71, 66, 0, 19,138, 19, 79, 2, 63,124,187, 18,125, 70,188, 95, 98, 59,193,
+ 65,120,104,235, 82, 68,143,254,168,204,239, 40,246,110, 72, 80, 44,203,149,105,137, 39, 73,130, 62,126,151,115,245,129,225, 44,
+ 20,197, 0, 43, 69,137,162, 15, 58,187, 60,190, 95, 99, 65,150,149, 98, 92, 6,156, 21,139, 4,217, 71,110, 51,165,206,141,105,
+ 5,138, 98,138,218, 86,177, 16,204,129,251,222,103,102,205,154, 37,140,142,142,198,166, 77,155, 58,126,253,245,215,227,181, 90,
+237,143,182,251,150,204, 63,190, 60,120, 60,215,130,203,181,208, 18, 10,176,254,224,222,205, 13,178,178,115, 16,243,246, 52,236,
+216,177, 3,249,249,249,240,241,241,129, 68, 44, 22,173, 88,242,127,193, 74,165, 71,112,204,248,216,245, 0, 26, 87, 53, 53,149,
+188, 78, 67,231,243, 9,219,167,116,132, 2, 82, 36,145, 72,200,157, 59,119,162,160,160, 0, 42,149, 10, 18,137,136, 92,190,240,
+ 19,185, 82,233, 41,127,107,226,140,142, 40,138,255, 83, 37, 88, 44,186,142,251,119,108, 86,170,213,106,140,121, 55, 22,206,215,
+ 17,139,197,140,253,197,194,215,177,167,130, 89, 27,222, 27,221,228, 69, 47,192,122,243, 34, 68, 2, 1, 20,222, 62,136, 18, 10,
+ 32, 32,208, 52,230,248,195,153, 0, 62,125, 94, 50, 91,191,126,253, 73, 67,135, 14, 29, 62,127,254,124, 49, 73, 22,133,156,211,
+235,245, 48, 26,141, 8, 13, 13,197,153, 51,103,196,179,103,207, 30,254,253,247,223,227,254,253,251,171, 42,203,127,243,230,205,
+186,225,225,225, 38, 0,232,223,220,203,121, 95, 29,251, 62, 0,240,242,242,170,144,207, 79,229, 97,190,121,243, 74, 51,251,121,
+147,122,132, 50,101,108, 55, 1, 80,148,199,197,178,156,240,196, 87, 19,202,220,255,246,252,237,244,245,221,231, 27,215,175, 95,
+223,232,184,221,211,211,179,172, 83,130,116, 58, 93,184,243, 70,251,241, 86,138, 9, 44,235,122,189,222, 91,231, 82,128, 81, 12,
+132,219,183,111, 7, 0,124,249,209, 72,193,198,159,115,132, 66, 97, 81, 83,187,100,201, 18,204,157, 59, 87,114,252,248,241,190,
+ 91,183,110,237,123,224,192,129, 21,101, 9, 85, 30, 60,120, 60,147, 34,203,241,183,108,161, 69, 18,132,151,210,203, 19,175,191,
+241, 14,142, 29,251, 1,157, 59,119, 46,222, 87,175, 94, 61, 12, 29, 50, 16,223,109, 89, 14, 0, 94,213, 73, 81,117,175,147, 95,
+168,255,180,207,240,175,230, 61,202,212, 93, 62,124,248, 48, 58,117,234, 84,226,252, 55,134,189,142,111,191, 89,130,114,162,204,
+187, 5,130, 35,197, 94, 74, 15,140,136,121, 23,174,174, 51,126,204,160,195,189,135,174,236,153,149,171, 95,206,215,179, 39,143,
+ 6,193,126,189,154, 55,105,140,252,125,107,240, 71,129, 9,199,210, 77,120, 43,234, 63,136,244,149,163, 19,205, 32,216, 67,212,
+ 61, 83, 79, 61, 23, 66, 43, 56, 56,184,113, 64, 64, 64, 9,145,165,213,106,161,211,233,160,209,104,160,213,106, 65,146, 36, 98,
+ 99, 99,197,103,207,158, 29, 30, 28, 28,124,202,141, 97,196, 71, 54, 75, 22, 32, 16,233,230,204,153, 99, 14, 12, 12, 52, 43, 20,
+ 10, 78, 40,150,106,187,142,153,231, 5, 0,164, 80,172, 93,177, 98,133, 37, 52, 52,212, 36, 20, 10, 37,239,191,255, 62,233, 78,
+154,205,102, 51,231,200,105,177,152,139,183, 47, 90,180,200, 18, 20, 20,100, 86, 40, 20,156,213,234,190,209,241,198,131, 60, 72,
+197, 2, 72,197, 2,200, 36, 34,120,213,109, 3,105,254,159,160,105, 26,139, 23, 47,182, 6, 7, 7, 91, 20, 10, 5, 39,145, 72,
+196, 83,166, 76,169, 48,157, 99,199,142,229, 84, 42,149, 85,161, 80,136,231,206,157, 91, 42, 24,235,233,235,105,144, 75, 68, 80,
+ 72,133,104, 88, 47, 12, 82,206,232,118, 90, 5,130,146,222, 8, 82,169, 20, 29, 59,118, 68,179,102,205,112,224,192,129,174,188,
+208,226,193,227,185, 64,153,159,219, 17, 2,192,225,195,135,187,160,232,131,136,136,142,142, 38,138,206,224, 48,125,210, 16,188,
+ 53,102, 4, 24,134, 45,142,110, 74,144, 4, 38,190,217, 23, 44,235,206,136, 68,197, 83, 60,171,112,157, 98, 78,142, 32, 5, 0,
+208,160, 78, 8, 55,254,173,255,130, 97,217,191, 6, 74, 4,192, 59, 99,250, 20,109,171,129,116, 10,192, 96,218,132,215,224,234,
+ 58,141, 27,212, 34,105,171, 9, 68,201,143, 61,254, 29, 31,219,228, 57, 93,160, 89,237,144, 8,202,104,132,201, 68, 33,254,118,
+158,241,100,154, 62,144, 84, 61, 84,175,124,189,157, 76,160, 78, 71, 29, 47, 73,195, 76, 61,245, 92,228, 93,169, 84,142,218,176,
+ 97, 67, 41,145,149,149,149, 69,234,116, 58, 88,173, 86, 86,171,213,130, 97, 24,204,152, 49, 67, 52,123,246,236, 81,153,153,153,
+115,237,154,199, 21,167,205,239,106,250,205,155, 55,235,204,154, 53,203,218,189,123,247, 71,245,234,213,211, 11, 4, 2,132,132,
+132,172,140,138,138,242,157, 63,127,190,181,111,223,190, 15, 5, 2, 1, 26, 54,108,168,255,243,207, 63,235, 0,144,187,155,119,
+ 71,206,205,167, 87,115, 0, 64, 16, 4,162,162,162, 82, 26, 54,108,168, 23, 8, 4,184,115,104, 17,231,238,253, 20, 9, 73, 52,
+ 10,245,182, 53, 34, 4, 32,247, 44,246,196,139,138,138, 74,109,220,184,177,142, 36, 73,220,184,113, 35, 12,165, 63,107, 85,138,
+ 83, 46,151, 83,111,188,241,198,163,219,183,111,187, 58, 30, 66, 1,137,118,141,109, 6,172,208,214, 64,234,133, 50,211, 41, 18,
+128,158, 61,105,164, 80, 37, 3,164, 94,254,102,141, 70, 3,165, 82, 89,100, 33,179, 90,241,251,239,191,163,125,251,246, 93,118,
+239,222,125,150,127,222,121, 78,158,243, 47,184,210, 34,207,160, 53,203,241, 67,247, 37,124,180,206, 56,103,138, 97,104,212, 11,
+ 15,194,162,255, 27, 11,134, 97,193, 48, 12,104,219, 47,195, 48,160,172,214, 26, 73, 89,117,174,227,163,148,207,255, 97,231,123,
+ 62,221, 7, 45,233, 17, 55,107,204, 73,134, 1, 88,150, 2, 69, 1, 12, 75,129,101, 24, 80, 84,205,184,230, 80, 44,139, 58, 97,
+193,136,155, 53, 6,206,215,217,246,221,238,254,167, 15,198, 42, 58, 71, 47,156,118, 39,197,176,152, 23,246, 79, 22, 50,177, 84,
+200, 9,101,176, 88,104,104, 45,172, 5,128,222, 68,177, 86,206,195, 95, 6, 0, 66,146,120,158,102,215, 54,171, 95,191,126, 9,
+145,181,116,233, 82,255,181,107,215,134, 2,192,144, 33, 67,210,122,244,232,145,147,148,148,132,144,144, 16, 34, 39, 39,167, 31,
+128,247,109,231, 78, 7,176,182, 12, 94,125,120,120,184, 41, 32, 32,192,108, 23, 68, 36, 73, 66, 40, 20, 34, 60, 60,220, 20, 24,
+ 24,104,110,216,176,161, 94, 44, 22,131, 36, 73,216,133,158, 91,221, 60,130,128, 64, 32,128,157,211,217,218, 99,231,172, 12, 68,
+ 66,178,116,243,230,192, 73,146,164,203,235,149, 89,135,100, 50, 14, 64,153,199, 11, 72,135,230, 81, 88,190,135, 64,252,239, 16,
+ 1, 56,195,113, 28,174, 93,187,134,251,247,239, 67, 44, 22, 35, 56, 56, 24,115,231,206,133,217, 92,164,119,135, 14, 29,218, 5,
+192, 13,254, 9,230,193,163, 24,103,158, 65,129,229,108,213, 42,223, 71,235,240,225,195, 93,162,163,163,207,218, 5, 80,145,216,
+113, 33,126, 40, 26, 20,101, 5,106, 32, 16, 87,121,215, 97, 24,182,220,235,216,125,180, 88,150, 19,186, 20, 89, 44, 11,154,162,
+106,228,238,177, 12, 5,150,165,224,234, 58, 4, 65, 50,182, 6, 95,204, 63, 39, 79, 30,193,225,117, 72, 42,188, 30,206,211, 38,
+132,250, 73, 37,200, 49,162,254, 11, 77, 4,191, 27, 40, 92,188,158, 8,127, 79,229,115, 83, 46, 6,131, 33, 80, 38,147, 65,175,
+215, 23, 91,178,214,174, 93, 27,106,177, 88, 72, 0, 16, 10, 69, 97,106, 54, 84,198,176,128,183, 50, 3,249,249,133,126, 28,199,
+ 17, 54,193,179, 4,192,102,148, 19,221, 95, 44, 22, 23, 11, 20, 71, 1, 36,149, 74,171, 36, 96,236,176,139, 51,177, 88,236,114,
+187,243,240, 90, 69, 16, 59, 10, 45,112, 69, 86, 45, 39,177, 37, 16, 8, 96,247,141,170, 8, 18,137,164, 56,239,174, 32, 20, 56,
+ 92, 79, 80,121, 87, 76,171,213, 10,157, 78,135,130,130, 2,200,100, 69, 6, 51,142,227, 64, 16,196,251, 0, 62,224,159, 98, 30,
+ 60, 92,107,145,103, 88,108,185, 22, 90, 40, 50,217, 17, 0, 64, 83, 86,151,226,103,247,161,139,120,148,169, 71,176,255, 47,224,
+202, 25,147,116,133,225,195,135,111, 9, 9, 9,105,103, 95,151,202, 61,253,198,191,247, 25,104,218, 10, 47, 57,137,183, 71,245,
+ 41, 33,178,138, 44, 90,150, 50,191, 9,146, 95,168,255,180,207,208, 85,243,188,149,126,151,157,197, 79, 92,252,213,215,243, 53,
+230, 48,146,252, 21,249, 68, 8, 51,244,157,207,198, 58, 52,238,215,119,174,155, 51,213,109,123, 32, 65,138, 94,159,176,114, 60,
+ 39,244,108,170, 32,181,231, 62, 30,243,159,253,142, 98,206,215,215,247,112,175,215, 87,244,204,202,227,125,180,158, 6,188,188,
+ 85,100,216,203, 93,241,242,251, 95,225,244, 39, 31,115, 64, 62,252, 66, 66,201,110,147,190,128,231,203,253,113,229,237, 81, 44,
+144,247, 92,228, 85,161, 80,100, 27, 12,134, 16,163,209, 8,141, 70, 3,141, 70, 83, 82, 16,136, 68,196,248,119, 39,251,139,196,
+ 18, 80, 86, 11,142,109,251,162, 66, 78,123, 8,135,254,205,189, 32, 16, 73,180, 9,245,235,175, 20, 10,133, 32, 73, 18,135,214,
+124,252,254,190,101,239,121, 1,192,245,195,107, 52, 35, 98, 87,175, 34, 73, 18,102,179, 89, 90,153,116, 63,126,252, 56,204,108,
+ 54,155,108, 2,205, 46,252,240,224,193,131,218,102,179,217,232,184,221, 29,200, 21, 94,128,170, 30,160, 8, 44,101, 61,123,248,
+240, 97, 45,138,162, 12, 66,161, 16, 22,139,197, 45, 85, 68,146,164,248,198,141, 27, 97, 44,203,186, 60,190, 89, 68, 45, 32,184,
+ 57, 32,241,118, 59,207,238, 68,132,182,137, 45, 14,149,108, 75,121,240,120,222, 45, 91,207,224, 51, 65,148,241,191, 88,104,117,
+ 61,124,248, 48,231,216, 67,164, 41,202, 38,178,254, 18, 61, 12,195, 34, 93,109, 66, 82,210, 29,172, 88,177, 2, 23,175,124,228,
+ 61,127,254,124,233,236,217,179,205,195,135, 15, 95,198,178,108, 11,146, 36,175,227,175,161,138,146, 86, 33,150,173,125,245,234,
+213,250,246,117,138,162,224,229,229, 5, 47, 47, 47, 52,110, 24, 86, 74,100, 49, 12, 3,107, 57, 67,135,118, 31, 45,130, 99, 57,
+138, 98,192,176,108,177,248,201,215,152,195, 14,158,186,214,192,225,240, 23,236,127, 58,182,105, 90,182, 24,156, 48,183, 56, 31,
+ 59,215,205,153, 58,127,211, 38,105, 62, 19, 48,101,196,235,111, 69, 14, 29, 49, 10,111,188,246,106, 23,179,197,114, 64, 64,114,
+ 44, 85,124, 61,144,224,224,236,163,197,227, 9, 33,185, 64, 79,137,164,114,120, 6,215,197, 29, 29, 35, 22, 8, 4,191,220, 43,
+ 48,136, 73,129, 16,164, 80,140,132,124, 19,245, 28,101, 55, 33, 57, 57, 57,164,118,237,218,208,104, 52,160,105,154, 29, 50,100,
+ 72,154, 80, 40, 10, 19,138, 68, 68,244,136,201,108,102,102, 58, 69,146, 2,112, 28,131, 87,135, 78, 32,164, 50,185,216,106,177,
+208, 40, 26, 58,116,101,205,114, 12,225,224, 21, 21, 21,229,107,159, 9,184,111,217,123, 94, 14,251,148, 47,189,244,146,175,227,
+172, 67, 55,173, 69,196,240,225,195,229,225,225,225, 4, 0,252,186,109,150,221,122, 70,244,239,223, 95, 22, 30, 94,228,135,255,
+227,154,247,220,230,244, 87,112, 64,225, 3,160,240, 97, 41, 75, 86,255,254,253,165,245,235,215,175,212,179,104,115,128, 47, 51,
+118,151,135,144, 6, 50,175,185,197, 21,211, 10, 84,168, 39,132,203, 94, 37, 33,241,244, 51,183,251,248,248,207,188,216,226,193,
+195, 45, 56,105,145,103, 10, 93,108, 2,177,171,237,183, 88,112, 9, 1,192,102,162, 35, 28,116, 22, 40,218, 90, 74,100, 49, 12,
+ 3, 17, 97,198,138, 21, 43,240,193, 7, 31, 0,128,120,234,212,169,251,231,207,159, 63,152,101,217, 22, 28,199,117, 34, 8,162,
+188, 94,227,153,144,144,144, 44,142,227, 68, 36, 73,118, 90,179,102,141,111,223,190,125,225,229,229, 5,142,229, 74,137, 44,134,
+ 97, 97,181, 90,202,252,204,173,143, 82, 62,255,135,221, 83,124,186, 15, 92,210,131, 97,217,147,118,145,197, 50, 12,192, 22,157,
+148,155,157,134, 19,199, 14, 96,253,186,245,249, 32,184, 91,224,192,218,196, 32,202, 16,131, 45, 46,252,154,216,169, 99,155,166,
+152,191,105,147,244,230,213,140,253,147, 63,156, 25, 57,116,196, 40,236,254,110, 27, 72,186,224,154,163,200, 98, 40, 22,133,249,
+ 57,253,127,226,125,180,158, 22,124, 79,156, 60, 73,140, 26, 53,138,213,106,181, 16, 75, 36, 44, 69, 81,130, 87, 94,121,133,249,
+224,131, 15,200,204,204, 76,104,180, 58, 33, 0, 95, 60, 7,102, 45,141, 70,179,109,194,132, 9, 93,206,157, 59, 39, 38, 73, 18,
+ 26,141, 6,221,186,117,203, 81,179,161,178,241,239, 78,246, 79, 79, 79,163,149,114,161, 89, 44, 22, 33, 59, 59,155,237,210,119,
+164,113,196,216, 15,106,125, 48, 43,110, 67,198,165,117,107,221,185,134,227, 76, 64,231,125, 27, 55,110,180,132,134,134,154,164,
+ 82,169,100,204,152, 49,110,141, 31, 90, 44, 22,110,209,162, 69,102,231,217,133, 22,139,133, 91,177, 98,133, 37, 44, 44,204, 44,
+151,203, 57,138,170,216,239,147, 36, 9,250,237,249,219,105,154,166, 75, 88,177,236, 34,139, 98, 9,221, 87, 95,125,101, 13, 11,
+ 11,179, 40, 20, 10, 78, 42,149,138,221, 73,231,228,201,147, 57, 31, 31, 31,171,135,135,135, 56, 54, 54,182, 90,179, 14, 41, 6,
+194,249,107,138,195, 59, 72,189,188,188,160,213,106,139,211, 26, 18, 18,194,139, 45, 30, 60, 92,160,148, 22,121, 54,173,112,238,
+197,209, 98, 1, 93, 86,118, 78,160,127, 80, 93,208, 52,109, 91, 40,208, 20,133, 41,239,140,192,178,117, 95, 1,128, 93,108, 69,
+ 77,157, 58,117, 63,128, 10, 27,179,157, 59,119,206,155, 58,117,170, 50, 43, 43,235,248,150, 45, 91,124, 71,142, 28,137,233,211,
+167, 99,201,146, 37, 16, 73,100,240, 13,168, 93,124, 29,251,117,115,212,121,224,192,233,202,176,211, 89,139, 26, 41, 8,253, 2,
+234,128, 98, 40,176, 20, 5,138,162, 64, 8,138,178,118,226,216, 1,140,124,115, 50, 68, 82,165,207,234, 21,139,141,145, 47,135,
+ 12,158, 61,110,156,217, 13, 35, 32,121,243,106,198,254,201, 31,196, 70,217, 69,214,222,109,235,110,125, 57, 99,224, 14,169, 68,
+ 88,124, 29,138,101, 65,146, 2,222, 71,235, 41,137, 44,169, 84,186,231,232,209,163,119, 91,183,110, 77,232,245,122, 80, 20,133,
+156,156, 28,236,223,191, 63,129,227, 56,248,248,248,224,232,209,163,236,200,145, 35,247,152,205,230,215,159,117,177,149,153,153,
+121, 91, 46,151,239,156, 57,115,230,136, 25, 51,102,136, 88,150, 69, 82, 82, 18, 64, 16,156, 72, 44, 1, 73,146, 16,137,132, 40,
+ 44,212,176, 10, 79, 85,134,149, 19, 40, 68, 98, 9, 72,129,184,188,105,194,143,108,193, 72, 65, 10,197, 90,251, 76, 64,177, 88,
+140, 43,187,151,106,186,142,153,167, 4, 0,177, 84,158,223,171, 87,175,148,166, 77,155,234,127,251,237,183, 58, 40, 61,235,208,
+249,249,164, 7,141,137, 21, 40,228, 50,125, 84, 84,212, 35, 59,231,195,147,171, 53,163, 38,206, 34, 8,129, 68, 31, 29, 29,157,
+ 18, 25, 25,169, 23, 8, 4, 72, 60,176, 88, 51,104, 76,172,140, 40, 39,200,234,241,187,220,219,215,119,159,111,252,197, 23, 95,
+ 80,255,207,222,117,199, 53,113,254,225,231, 46,155,189, 71, 16, 68, 69, 81, 20,112,139, 11,197, 58,235,108, 21, 23,110,235,174,
+179,117,214,129, 91,169, 27,181,206, 90,139,155,106, 85,212, 58,234, 66,197, 5,226, 96,168, 40, 32, 35,108, 8, 16,178,115,247,
+251,131,132, 6,100, 36,104,107,237, 47,207,231,147, 79,146,187,247,158,123,111, 63,247,125,191,163,111,223,190, 41, 26,127,177,
+164,164, 36,167,126,253,250,113,183,110,221,170,232,215,175, 95,170,151,151, 87, 49, 73,146,136,140,140,116,174,206, 82,165,129,
+145,145,145, 98,226,196,137,239,158, 63,127, 94,219,168,195,106,225,226,226, 2,138,162,208,173, 91, 55, 72, 36, 18,131,101,203,
+ 0, 3,254,155,168,152, 71,171,234,204,240, 10,165,226,219, 41,179, 87,238, 4, 8, 83,173,187,192, 95,134, 37, 26,196,247,223,
+127,103, 2,192, 72, 35,182,230,206,157, 91, 99,153, 19, 45,145,213, 38, 32, 32, 0,139, 23, 47,198,230,205,155, 85, 63,254,248,
+ 35, 35,254, 85,162,124,220,244, 21, 5, 21,214, 3, 26,116, 49,165,160,190,173,140, 47, 95, 40, 90,225,219,111,195,202,180,204,
+146, 59,227,166, 45, 45,187,123,169, 0, 20, 18,124, 21, 0,236,249,233, 39, 17,139,107,110, 50,116,196,104, 0,232,185,115, 91,
+208,153, 53, 56, 80,179,216,162, 9,143,111,231, 46,176,210,136,172, 93, 91,215, 62,183, 32, 50,131,103,126, 23,163,208, 94, 15,
+ 0, 88,155,225,140,111,191, 13,189,179,242, 68,219, 13,231,217, 63, 7, 14,135,179,250,250,245,235, 38,222,222,222, 68,110,110,
+ 46, 84,170,210, 35, 34,151,203, 33, 20, 10, 81, 84, 84, 4,169, 84,138,214,173, 91,147, 59,118,236, 48,153, 57,115,230,106,153,
+ 76, 54,253,115,223,238,183,111,223,238, 58,119,238, 28,110,221,186, 53,124,209,162, 69, 44, 71, 71, 71,194,194, 34,147, 80,200,
+101, 0,104, 58, 59, 59,155, 50, 54,181, 20,216, 58, 56,191, 75,207,200,242, 80,200,101,160, 84,242, 42,189,205,213,233, 29,190,
+127,241,226, 69,189, 77,155, 54,201,180, 35, 1, 71, 44,216,185,163,117,235,214,214,193,193,193,178,254,253,251, 39,107,156,215,
+117,113,134,191,242, 6,179, 95,188,120,214,172, 34,167,223,228, 77, 7, 53,156,218,209,136, 3,190,219,123,176, 81,163, 70,214,
+158,158,158,201,213,241, 54,104,208, 64,204,231,243,101, 77,154, 52, 41,102,177, 88,165,150, 44,133,162,164, 65,131, 6,148,131,
+131,131,172,105,211,166,197,250, 58,237, 27, 25, 25,209, 26,171, 88,101,208, 39,234,144,197,128, 50, 32, 32,160, 44, 51,252,247,
+141, 26, 9, 70,143, 30,205,159, 55,111, 30, 14, 30, 60,136,187,119,239,190, 39,246,187,118,237,138,219,183,111,175,196,127, 40,
+177,174, 1, 6,252,159,161,250, 60, 90, 21,113,232, 80,200,159,208,242,105,170, 12,107,214,172,225,170, 45, 89, 61,231,204,153,
+ 3,177, 88,108, 85, 73,179, 30, 80,231,218,168, 76,100, 5, 5, 5, 29,163,105,218, 25, 64,103,149,138,122,176,255,192,161,110,
+ 85,173,111,232,208,161,239,113,210, 4,201, 32, 73,162,152,195,162,159,252,180,239,224,145,114,237, 75,157,223, 27,131,192,211,
+157,219,130,196, 0,122, 86, 20, 91,248,171,204, 72, 25,167, 6, 83,167, 77, 45, 19, 89, 59,183, 5, 93,245,108, 83,247,235,165,
+223,172,174, 84,156,173, 94, 49,197,132, 36,137,142, 21,124,180,222,227,252, 8, 48,112,254,133,110, 1, 1, 1,205,125,124,124,
+ 72,109,145, 37,147,201,202, 18,119,106,156,197,211,210,210,208,181,107, 87,178,121,243,230, 94, 15, 31, 62,236,134,191,202, 57,
+125,174,219,174,122,251,246,237, 14, 71, 71,199,107,203,151, 47, 31,157,147,147,211, 47, 63,191,192, 38,236,208,106,244, 25, 58,
+141,232,218,119,164, 72, 70, 51,121,169,130,204, 38, 55, 47, 30,181,190,116, 98, 23,228, 50,217, 20, 0,113,248, 43,189, 67, 69,
+206, 18, 77, 26,135, 38, 77,154,136,180,133, 74,221,186,117, 37, 78, 78, 78, 82, 79, 79,207,178,233, 85, 68,243,189,183,237,250,
+114,170,253,191, 68, 53,237, 79,141,104,171,152, 54,194,216,216, 24, 26,241,165, 79, 63,181,163, 45, 43,189, 81,214, 28,117, 88,
+198,169, 78,239, 80, 78,167,133,132,132,244, 8, 9, 9,105, 3,224, 9, 74,107, 29, 42,128,210,161, 68, 45,167,249, 64,245,199,
+112,189, 27, 56,255, 95, 57, 63,103,116,197, 95,190, 89, 64,169,175,214,173, 42,133, 86, 77,208, 56,190, 3, 32,231,206,157,155,
+ 47, 22,139,173, 70,143, 30, 93,237, 50, 25, 25, 25, 7, 15, 31, 62, 92, 78,100, 13, 30, 60,120,124,104,104,232,181,172,172,172,
+ 90,109,149,149,185,209,154, 91,231, 23, 90,117,237,191, 97, 14,128, 31,171, 48,228, 81,158,109,248, 95,239,220, 22,116,166,130,
+216,250, 21,192,224,170, 84,105,175, 47, 7,225,232,161,157, 26,223, 46,163,231,143,211, 46, 13,143, 90, 85,105,180,162,165, 41,
+119,149,186, 31,243, 12, 62, 90,255, 12,216,108,182,223,162, 69,139,216, 34,145,232, 61,145, 85, 81,104, 21, 22, 22,226,233,211,
+167, 24, 55,110, 28, 55, 58, 58,218, 79, 46,151,223,248, 47,236,131,140,140,140,120,117, 50,210,217,154, 20, 14, 92,158, 17,123,
+228,132, 57,206,101, 81,135, 39,118, 65, 42, 17, 3, 0, 83,151,244, 14, 76, 38,147, 29, 29, 29,237,170,177, 90,201,229,114,174,
+102,250,227,199,143, 93, 53,185,181, 36, 18,137,206, 81,135,127, 23,231,179,103,207,156, 53,209,145,154,232, 66, 38,147,201,142,
+140,140,116,214,112, 74,165, 82,157,162, 14, 57, 28, 14, 59, 58, 58,218, 89,165, 82,125,180,168, 67,109, 97,140,210, 58,139,229,
+106, 45,170,125,203, 8,130, 32,104,195,176,161, 1, 6,124,246,168, 24, 41, 89,125, 81,233,154,160,113,124,215, 99, 17,166,139,
+139, 75,175, 17, 35, 70,148, 19, 89,254,254,254,170,211,167, 79,223,228,243,249,153, 36, 73,198,235,219,143, 50, 31, 45,188,247,
+ 6, 9,146, 36,159,118,110,219, 20, 36, 73, 62, 93,250,205, 55,210, 53, 56, 80, 78,108,157, 61,115,178,119,106,126, 76,229,210,
+ 12,128,141,125, 29, 4,140,255, 22, 1,227,191,181, 2,208, 9,168, 58, 90,177,186,126, 24,240,247,128, 32, 8,142,147,147,211,
+115,137, 68, 2,130, 32, 32,149, 74,203, 4, 86, 81, 81, 17,132, 66, 97,217,127,185, 92,142,236,236,108,212,173, 91, 23, 4, 65,
+252,167,253,232,228,114,185,114,209,202, 77,135, 25, 76,182,146,162,228,132, 92, 46,159,160,207,117,190,104,209, 34, 18,149,248,
+ 94,205,156, 57,179,210,233,159,138,115,201,146, 37,149, 70, 9,206,156, 57,179,218,232,193,170,240,221,119,223,125,180,168, 67,
+221,111, 95, 6, 24, 96,192,127, 12,149,134,238,213, 74,104,145, 36,249,180,146,232, 66, 2, 0, 77,146,228,211, 74,178, 28, 40,
+223,189,123,183,210,210,210,114,138, 72, 36,250, 99,240,224,193,115,253,253,253, 85, 64,169,131,124,109,183, 40, 95, 40, 90,225,
+ 55, 96,227,188,130, 98,105,112,197,121, 21, 45, 79, 26,177,181,107,123,208,238, 51,161,199,253, 51,210, 83,119, 87,181,109, 85,
+ 9,170,170,162, 21,133,133,226,149,126, 3, 54,206,201, 47, 20, 27,124,180,254, 33,168, 84,170, 43, 70, 70, 70,132,166,152,178,
+182,245,170,176,176, 16, 37, 37, 37, 80,151,164, 1, 0, 20, 23, 23,195,194,194, 2, 42,149,138,254,143,237, 10, 41,128,249,106,
+107, 21, 0,204, 79,188,185, 67,251,220,126,166, 61,175, 26,107,150, 64,151, 2,209,149, 45, 87,221,188,191,129, 51,179,154, 2,
+209,213, 33, 83, 79,190, 76, 0, 96,179, 24, 89, 85, 21,143,102,179, 24, 89,213,248,237,235,249,222, 64,208, 0, 86, 26,174,108,
+ 3, 12,248,124,223,255, 63,213,138,123, 24, 56, 13,156, 6,206,127,132,147,171,254,232, 58,207,176, 63, 13,156, 6, 78, 3,231,
+191,141,179, 50, 76,254, 76,132, 22, 93,201, 7, 52, 77,227,191, 84, 3,206, 0, 3,254,159, 33,173,229, 60, 3, 12, 48,192, 0,
+ 3, 62, 28,239, 21,147,214,158, 81,149, 42,213, 39,154,160, 54,202,246,154,129,211,192,105,224, 52,112, 26, 56, 13,156, 6,206,
+255, 59,206,154,184,181,151,159, 12, 96,223,103, 34,182,222, 19, 89, 52,253,247,123,171, 24,204,170, 6, 78, 3,167,129,211,192,
+105,224, 52,112, 26, 56,107, 11,195,208,161, 1, 6, 24, 96,128, 1, 6, 24, 96,192,255, 57,244, 75, 88,106, 64, 37,168, 59,104,
+ 41, 40, 44, 81,239,206, 32,164,156, 13,252,175,109,162,191,191, 63, 67,159,246,137,137,150,100, 20,248,155,205, 77,216, 3,138,
+ 69,138,205, 84,212,138,224,154, 78, 68,219, 6,173,198, 24,243,140,167,203,100,178,250,166,102,102, 89,121,185,217,123,242,222,
+ 61,219,165,213,198,252,193,131, 7,124, 31, 31,159,116, 0, 69, 90,111, 10, 6, 24, 96,192,199,132,101, 83, 23, 16,196, 4,128,
+254, 43,236,146,162, 99, 32,140, 59, 84,174,157,133,199,120,144, 68, 51,173, 41, 98,208,216,143,130,216,148, 26, 30, 56,150, 9,
+ 9, 9,174, 13, 27, 54, 76, 6, 80, 80,113,237,149,204, 51, 92,231, 6,124,206,232,138,242, 9, 75,203,174,133, 15, 23, 90,141,
+ 6,215,135,146, 28, 11, 26,163, 64, 32, 26,137,161, 67,106,197,227,246,117, 29, 80,204,118, 0, 90, 1,116, 43, 19, 35, 94, 75,
+177, 76,158, 69,209,244, 24,188, 57,249, 68,111,190,250,254,211, 80,117, 57,139,149, 72, 12,253, 73, 47, 62,138,254,225,209,237,
+211, 92, 75, 99, 2, 13, 91, 15, 94,128,242, 25,156,107, 11, 14, 0, 95,146, 36,155, 25, 27, 27,243, 75, 74, 74,178, 41,138, 74,
+ 65,233,248,116,126, 45, 57, 73, 0, 19, 77, 77, 76,250,184,154,113, 90,189,203, 17,166, 21, 41, 84,225, 40, 77,232,154,255,177,
+206,168, 82,145,229,184,111,206, 72,159,113, 65,179,122,192,210,111,227,130, 18,160, 58,161, 69, 56, 55,238,120,118,248,136,161,
+126, 51, 38,143, 51,173, 99,103, 10, 65,142,200,230,167,131, 33,155, 66, 66,142,246,255,102,120,207, 62, 0,176,122,245,234,175,
+ 92, 92, 92,234, 49, 24,140,196,101,203,150,253,186, 98,197, 10,154,168,186, 82, 57, 95,125, 14,107,110,248, 38, 0, 60, 1, 52,
+ 0,240, 22,192, 11,148,207, 50, 94, 27,124, 22,156,117,234,212,113,162, 40,234, 27, 7, 7,135,126,153,153,153, 23, 72,146, 60,
+144,150,150,150,254, 41,239, 58, 52, 77,239, 37, 8, 98, 50, 77,211,251,244,248,158,162,207, 58,120, 60, 94,166, 68, 34,177, 87,
+255,206,146, 72, 36, 14,127,215,246,252,147,235,250,135,222,191, 39, 93,185,243,162,143,246,164, 94,157,155, 85,114, 71, 33,154,
+ 93,185, 19,211,165,124, 59, 79, 85, 21,247, 64,130,166,105,172, 92,185,146, 88,181,106,213,120, 55, 55,183, 70, 36, 73,190, 92,
+190,124,121,185,212, 55, 21,231,105, 93,231, 6,177,101,192,231, 10,253,138, 74,215,136,166,254, 38,144,208,254, 0, 49,174,107,
+219,150,157,167,140, 25, 64,208, 12, 30, 70, 78, 90,168,212,155,203,117, 28, 23, 12,241, 26,239,102,141,231, 14, 29,208,131,108,
+227, 89, 15,124, 59, 11,128,100, 97,239,197, 36,155,224,160,101,187, 1,248,212,162,151, 43,222, 68, 28,179, 23, 20,168, 64, 16,
+ 0, 65, 0, 36, 1, 20, 75, 40,244,250,106,236, 10, 0, 63,233,121, 87, 34, 45,141, 9,204, 61, 38, 1, 0,198, 71, 56, 40,245,
+236,236,236,198,207,158, 61,219,196,211,211,211,146,199,227,113, 36, 18,137, 67, 66, 66,130,221,178,101,203, 60,197, 98,241,121,
+ 0,143,244,228,172,219,208,217,233,100,240,220,137,237,154, 55,112, 5, 75, 86, 12, 74, 42,114,121,149,240,186,195,212,221,167,
+ 38,197,228, 73, 70,160, 22, 37, 19,114,114,114, 8, 0,176,181,181,165,203,139,172,246,227,182,206,235,133,185, 91,174,160, 68,
+ 34, 59, 82, 29,135,117,189, 22,163,191,254,122,144,223,218, 31,102,154,166,229,202, 17,157, 40,134,181, 41, 27, 43,230, 79,227,
+ 72,165,138, 14,187,127, 13,153,188,115,195,194,253, 42,149,234, 11, 0,109, 84, 42,213, 99, 0,191,174, 92,185,178,170,155,239,
+ 42, 0, 75,212, 39,244, 81, 6,131,113,181, 91,183,110,245,191,249,230, 27,162,117,235,214,136,140,140,108,112,236,216,177, 30,
+ 23, 46, 92, 72, 84,169, 84,207, 0,188,132,186,236,137, 14, 96, 1,104,204, 96, 48,188,255,205,156,124, 62,223, 72, 38,147,141,
+117,118,118,158,220,177, 99, 71,239, 1, 3, 6, 16,141, 27, 55, 70,124,124,124,235, 75,151, 46,173, 8, 15, 15,127,150,154,154,
+186,143,195,225, 28, 22, 8, 4,226,127,252, 57, 78, 16,147, 1, 56,169,117,242, 74, 29,190,211, 81,154, 75, 74,160,235, 58, 36,
+ 18,137,189,198,217,148, 32, 8,251,191,115,123,244, 92, 87, 44, 65, 16,214,234,182,168,238,155, 36, 73, 40,149, 74,145, 74,165,
+114,171,129,179,177,250, 69, 74,103,173, 11,160,186, 68,208, 70, 0,208,171, 83,179, 60, 16,136, 41,179,104,189,255,146, 25, 83,
+ 38,192,104, 52,187,114, 55,198,186,156, 21,172,226, 91,236,202,149,196,138, 21, 43, 16, 24, 24, 56, 0,128, 47, 69, 81,225, 30,
+ 30, 30, 59,202, 81, 82, 84,217,188, 21, 43, 86,108,175,230, 58, 55,192,128,207, 5,126,208,167,168,116,149,239, 63,110, 67,186,
+ 64,133,113,174, 54,246,254,179,190, 25,102,228,233,209, 16, 18,152, 34, 41, 71,133,139, 97,151, 0,224,132,126, 86,167, 97,109,
+152, 76,201,225,160,192,249, 77,124,219,121,226,121,154, 2,143,211, 84, 40, 73, 84,128, 65, 42,160,162,104,128,134,164,182, 91,
+157,154,175,196,157,151, 50,144, 4,192, 32, 1,146, 36,192, 32,107, 73, 70,201, 94,173, 62, 20,229,153,147, 73, 1,148,236,213,
+ 7, 30,144,102,238,238,238,163, 87,173, 90,101,153,145,145, 97, 18, 25, 25, 9, 46,151, 11, 43, 43, 43, 6,159,207,119,218,178,
+101,139,120,214,172, 89,253,228,114,121, 18,128, 28, 29, 57, 61,250,182,241,190,183, 47,104,181,133,226,193, 37, 20, 28,255, 13,
+ 12,146, 6,219,196, 20,245,141,140,112,233,235,134,214,254, 97,137,167, 31,102,138, 60, 0,164,213, 68, 22, 23, 23,199,144, 74,
+165, 35,204,205,205,219,179, 88, 44, 7,158, 85, 61, 42,157,217, 38, 55,155,104,240, 54,203,190,164,203,188, 30, 14,125, 54,207,
+233,134,185, 91,174, 96,219,177,251,191,180, 66,198,242,234,242,102, 27, 27,155, 78,153, 53,253, 27,211,212, 28, 57,214,156,206,
+193,161,219,133, 24,235,107,134,185, 95, 90, 32, 96,228,112,147, 83,191,133, 78, 1,176, 95,107,145,120, 15, 15, 15, 34, 46, 46,
+174,178,155,175, 21,128,133, 50,153,140,100,179,217, 4,143,199, 27,189,118,237, 90,249,200,145, 35, 83, 53, 13,124,125,125,225,
+235,235, 75, 20, 21, 21, 53,184,113,227, 70,131,144,144, 16,101, 68, 68, 68, 44,128,179, 85, 91, 44,140,222, 73, 36, 98, 23,158,
+145, 81,201, 79,187,119,111,238,210,165, 11,197,229,254,149,126,170, 54,156, 0, 96, 97, 97,177,223,222,222,158, 88,188,120,113,
+250,199,226,172, 87,175,222,149,118,237,218,117,235,213,171, 23,179, 83,167, 78,112,114,114, 42,155,103,107,107, 11, 95, 95, 95,
+ 34, 37, 37,165,121,120,120,248,238, 43, 87,174,236,120,242,228,201,141,164,164,164, 94,255,176, 69,107,159, 90, 76, 8,244,108,
+255,217,131, 32, 8,211,189,123,247,218,107,106, 50, 42, 20, 10,168, 84,170,178,111,205,135,162, 40,168, 84, 42,172, 93,187, 86,
+ 37, 18,137,116,217, 71, 34,173,183,102,205,135,170,236,155,195,225,216,106, 18,246,214,112,103,143,225,115, 11,154,154,152,152,
+184, 2,232, 11,187, 70, 11,203, 55, 40,125,127, 22,137, 68,201, 2,169,101, 12,128, 46,213,176, 89,174, 90,181,106,108, 96, 96,
+224, 32, 45, 43,173,247,208,161, 67, 43,150,189,242, 86,127,139, 8,130,184, 73,146,228,121, 0,135,240, 17,173,238, 6,252,183,
+ 64,211,116, 91, 0,118, 90,147,100, 40, 29, 21,130,250, 57, 73, 0,176,169, 48, 93,187,157,230, 59, 91, 61,221, 78,189, 28,173,
+197,155, 77, 16,196,163, 90,118,241, 22,170,240,211, 98, 2, 64, 88, 88, 24,221,191,127,127, 66,243, 93,185, 40,242,191, 56,113,
+228,192, 62,253,186,119, 4,201,179,194,171, 44, 32,226, 29, 13, 38,169, 0, 9, 26, 15,238,222,160,193,164, 14, 87, 88,170,106,
+235, 73,189, 33,223,121,123,122,108, 60, 16, 52,155, 17,155,197,196,161,240, 18,200, 37,197,200,206,120,135,172,244,100, 8, 82,
+223, 34,237,221,219,103, 0,177, 66,103,206,247, 14, 12,160,162,212,239,128, 20, 42,179,232,233,206, 41, 23,197, 53,104,236,233,
+153,207, 81, 1,114, 81,156, 14,171,175,138,211,171, 81,163, 70, 35,127,248,225, 7,235, 23, 47, 94, 24,149,148,148, 72, 47, 93,
+186, 20,159,148,148,100,206,231,243,243,166, 77,155,214,200,201,201,201,124,240,224,193,156,227,199,143,127,133,242, 97,173, 85,
+113,122, 14,108,223, 50,226,224,142,173, 38,185,167,130, 33, 75,120,138,139, 2, 17,238,102,150,208, 13, 44,184,196,183,205,237,
+ 96,202,101, 98,117, 39, 39,211,190,103, 18, 54, 42, 40, 42,160, 58,206,123,247,238,241,141,141,141,183,140, 26, 53,138, 63,115,
+230, 76,174,138,105,201, 12,141,200,181, 88,184, 59,194,169, 68, 42,103,140,236, 86, 15,243, 70,121, 99,222,182,235, 26,145, 53,
+185,126,253, 2, 42, 42,170,106, 78,133, 92, 94,223,217,222, 28,209, 73, 98, 28,186, 93,136, 63,127,112, 66,247,181,233, 24,220,
+138, 9,143,186,166, 80,202, 21,141,135, 14, 29,122, 88,253,214,254, 8,192, 87, 67,135, 14,109,194, 96, 48,174, 3,248,189,166,
+ 99,196,227, 85, 94, 61,197,202,202, 10, 93,187,118,133,135,135, 7,179, 75,151, 46,222, 21, 4, 76, 57, 78,185, 92,198,167, 40,
+ 26,102,102,102, 70, 54, 54, 54, 86,102,102,102,185,149, 61,168,244,225, 4, 0,107,107,235, 33, 93,187,118,101, 30, 59,118, 44,
+ 39, 49, 49,241,193,200,145, 35,223,154,155,155,151,179,254,154,152,152,160, 81,163, 70, 88,182,108, 25,179, 79,159, 62, 53,114,
+ 58, 56, 56,244, 12, 9, 9, 1, 65, 16,101, 15,237,247,140,197,174,174,112,116,116, 68,223,190,125,153, 67,134, 12,233,153,148,
+148, 84,171,235, 72, 15, 92,171,196,162,181,178,194,113,170,114,248,173,178,246, 58, 28,247, 44,141,117, 73,205,135, 15,184, 54,
+171, 29,238,228,241,120,101, 86,168, 74,214,245, 30, 39, 73,146, 88,186,116, 41, 8,130, 0,139,197, 2,155,205,174,244,219,207,
+207, 79,223,126,166, 16, 4, 65,178,217,236,133, 76, 38,243, 27,169, 84,234,204,227,241,210, 85, 42,213, 47, 82,169,116, 45, 0,
+ 5, 77,211,150, 85,136,172, 74,105,239,132, 46, 0, 0, 32, 0, 73, 68, 65, 84, 57, 77, 76, 76, 92, 95,189,122,229, 94, 85, 71,
+164, 82, 41,188,189,189, 1, 41, 98,171,227, 76, 72, 72,112,117,115,115,107, 12, 64, 83,162,237, 54, 77,211, 93,180,254,107,227,
+ 54, 77,211, 95,170,127,191,124,243,230,141,107,195,134, 13,243,255,169,243,211,192,249,239,227,172, 65,139,216, 17, 4, 17,166,
+117,173,246,215,252, 95,180,104,209,146,245,235,215,191, 32, 8, 34, 76,123,186,118, 59,237,111,245,253, 38,140,166,233,254,139,
+ 23, 47,246,220,176, 97,195, 58, 77,219,191, 67, 36,234, 99,209, 50,207,150,152, 32,252,157, 57,152, 12, 21,152, 36, 1, 38, 3,
+ 0, 77, 32, 57, 41, 1, 69,133, 5,119,144,120, 58, 81, 55, 75,150,127,167, 22, 45,188,130,142,110, 91, 64,254, 28, 94,130, 2,
+145, 4,113, 79,110,226,209,205,223, 51, 84, 74,213,239, 32,232,199, 0, 25,137,183, 84, 60, 16, 90,187, 26, 23, 4,205, 44, 21,
+ 90,106,113, 85, 78,108,125, 50, 52,111,210,164,201,240,101,203,150,217, 70, 69, 69,241,132, 66, 97,209,209,163, 71,211,165, 82,
+105, 18,128,203,201,201,201, 77,182,111,223,206, 9, 10, 10,242,242,242,242,226,159, 60,121, 82, 86, 73, 57,163,247, 56,231,143,
+ 11,136,248,102,214, 28, 94,236,201, 93,224,196, 70, 98,233,211, 28,213,159,130,146, 31, 0,108, 67, 74,113,167,108,137,242,234,
+214,174, 46,100, 61, 51, 54, 26, 90,114,252,226,242, 36,213, 90,178,140,141,141,183,132,132,132,184,182,109,219,150, 4,128,240,
+151, 74,238,194,221, 17, 78,151,215,119, 34, 58, 53,179, 65, 86,129, 20,179,119, 69,227, 82, 68,214, 31, 26,145, 85, 83, 39,205,
+204,204,178, 83,179, 10, 29,108, 76,121, 24,211,217, 20,221,215,166,195,191, 13, 23, 92, 54,129,248,196, 12, 52,116,171, 71, 68,
+223, 57,219, 70, 45,178,218, 10, 4, 2, 0,104, 3, 32, 49, 37, 37,133,239,227,227, 35,212,162,203, 7,176,145,195,225, 44, 37,
+ 8,130,110,219,182,109,180,151,151, 87,177,149,149, 21,196, 98, 49,164, 82, 41,216,108, 54,196, 98, 49,146,147,147,241,224,193,
+ 3, 88, 89, 89,233,117,160,138,139,139, 97,102,102, 6,138,162, 62,152, 83,165, 82, 17,123,246,236, 49,121,241,226,133, 73,104,
+104,168,195,220,185,115,115,155, 54,109,250,120,248,240,225,175,237,237,237,165, 79,159, 62,197,189,123,247,144,159,159,143,246,
+237,219,235,196, 41,147,201,192,100, 50, 33, 22,139,193,229,114,193,100, 50,161, 84, 42, 65, 81, 84,153,248, 42, 46, 46, 70, 94,
+ 94, 30,216,108, 54,100, 50,217,167,120, 3,125,207, 66, 85,221,240, 91,109, 44, 90,218, 66, 77, 71,145, 85,147, 37,170,202,225,
+206,130,130, 2, 35, 75, 75,203,133, 0, 4, 53,173,139, 32, 8, 48, 24, 12,176,217,108, 16, 4,129, 46, 93,186, 96,226,196,137,
+104,213,170, 21, 18, 18, 18,112,252,248,113, 60,122,244, 8, 44, 22,171,172,189,206,227, 19,126,126, 12, 30,143,119,111,224,192,
+129,158, 63,252,240, 3,175, 94,189,122,136,141,141,173,187, 97,195,134,133,215,174, 93, 27, 36, 18,137,218,104,238,118,213, 91,
+233,213, 67,130,165,195,133,125,165, 82, 41, 98, 99, 99,245, 89,230, 61, 52,108,216, 48,153, 36,201,215, 20, 69,133, 3,240,166,
+105,186, 11, 65, 16,151, 80,234,151,168, 13, 17, 77,211, 95, 18, 4, 81, 8,224, 25, 73,146, 47, 41,138, 74, 54,216,109, 12,208,
+225,190,210,191,226,127,130, 32,194,214,175, 95,223,191, 50,113, 85,201,181, 89,110,250,134, 13, 27,214,105,253,255, 16,139,106,
+ 87,148,119,134,247, 83, 91,185,254, 18, 90, 97, 97, 97,213, 43, 16, 10,131,195, 78, 31,187,223, 93, 14, 87,207,214,190, 90,214,
+ 33, 26,145, 15,238, 1,160,127,209,169, 43,252,254, 70, 36,131,249,203,158,117, 51,201,189, 55, 75,144,146,158,133,123, 23,127,
+ 65,182, 32,233, 16, 64,207, 69, 98,104,225, 7, 31,137,122,131,189,236,109,108, 45, 37,114, 26, 20, 13,224, 61,177,245, 73,208,
+170,113,227,198, 67, 34, 34, 34,108, 37, 18, 9,239,206,157, 59, 37, 33, 33, 33, 25,114,185,252, 38,128,187,234, 54, 81,217,217,
+217, 67,213,194,132,193,100, 50, 57,114,185,188, 58,223,133, 86,243,191, 25,123,103,227,158,131,188,215,207,163,177, 61,244, 34,
+ 10, 74, 74, 84, 55,179,196, 95, 1,208, 40,250,235, 81, 57,226, 52, 26,180, 11,139, 36,192, 55, 97, 57,198,229, 73,120, 64,229,
+ 67,178, 82,169,116,228,168, 81,163,248, 26,145, 5, 0, 57, 69, 10,102,137, 84,193,232,212,204, 6,173,187, 13, 69,228,141, 83,
+ 56,121, 59, 13,110,118,198,183,235,155, 20,232,180, 71,179,179, 4,123,182, 6,239,221,186,113,229,124,206,188,190, 22,240,111,
+195, 2,143, 77,192,220,152,133,181, 59,246, 43,162, 30,220,126,202,231,243,195, 0,124, 37, 16, 8,192,231,243,139, 1,188,100,
+ 48, 24,137, 42,149,170, 50,167,238,229, 0, 28, 14, 31, 62, 76, 42, 20,138,226,132,132, 4, 56, 58, 58,194,193,193, 1, 22, 22,
+ 22,136,139,139,195,159,127,254,137,248,248,120, 80, 20,133, 22, 45, 90,232,117,176,114,115,115,241,244,233, 83,244,237,219,111,
+110,118,118,150,185,149,181,141,232, 78,248,237, 77,181,225,164, 40,138, 0, 0, 79, 79, 79,120,122,122,242,210,210,210,156,195,
+194,194,236,215,172, 89,243,206,213,213,245,168, 88, 44, 46,103, 57,208, 85,104,105,196,133, 70, 4,242,120, 60,176,217,108, 20,
+ 22, 22, 34, 51, 51, 19, 69, 69,165, 65,155,150,150,150,159, 68,104, 85, 97,161,250,104,237,255,102,113,248,222,112,167,165,165,
+229, 40, 0, 11,117,220, 22, 40,149, 74,176,217,108,248,248,248, 32, 56, 56, 24,143, 30, 61,194,239,191,255,142,186,117,235, 98,
+220,184,113, 32, 73, 18, 47, 94,188,208,183,139, 84, 68, 68,196,194,175,190,250,202,243,240,225,195,188,228,228,100,196,199,199,
+195,210,210, 18,193,193,193,220,201,147, 39, 55,188,113,227,198,114,148, 6,191, 84, 15,173,232, 66,145, 17,127,152,183,183,247,
+123, 77, 28, 29, 29, 45, 46, 95,190,108, 95, 38,192, 42, 70, 36,190,143,130,229,203,151,111,245,240,240,216,166, 30, 46,244, 5,
+ 96, 66,211,180, 95,104,104, 40, 1, 0,254,254,254, 52, 65, 16,154, 7,210,179, 83,167, 78,117,139,139,139,163, 3, 3, 3, 13,
+ 62, 90, 6, 84,165, 69, 38,107,174,201,170, 4,148, 62, 66, 77,219,226,165,193,226,197,139, 61,215,175, 95,255,240, 3, 69,150,
+246, 27, 19,173, 17, 91,101, 15,211, 42,135, 12,203,108, 95, 36,223,209,222,198,122,209,184, 78,160, 40, 64,169, 2,148, 42, 26,
+162, 18, 49, 98,159, 63, 42, 1,143, 8,213,169, 59, 92, 78,208,154, 31,230, 52,136, 78, 37,145,158, 47,199,173,179,123,233,108,
+ 65,210, 16, 36,158,154,240,113, 68,214, 48,111, 71, 7,251, 91,199,246,174, 38, 31,189,149, 65, 69,149,234, 44,138,162,203,126,
+127, 2, 56,218,217,217, 5,220,191,127,223,142,203,229,242, 94,189,122, 69,157, 58,117, 42, 95, 46,151, 95,211, 18, 89, 0,208,
+169, 77,155, 54, 74, 83, 83, 83,136, 68, 34,185, 92, 46,151, 84, 35,178,156,253, 90, 53,191,189,113,207, 65,158, 68, 38,131, 80,
+ 44, 5,195,198,190,162,200, 2,128,142,221,220,235,212, 33,120,102,160, 1, 36, 21,202,211,171, 18, 89, 0,192,229,114,123,204,
+156, 57,179, 92, 93, 60, 91, 51,150,210,152,203, 82,221,141,201,161, 34,111,156, 66,248,139, 28,138,199,102,168,236,232,183, 13,
+116,221, 1, 5,169, 49,123,126, 63, 23,118,245,187,101, 65,197, 37,162, 34,184, 57, 25,161,184, 72,136,181,235, 55, 42, 34, 34,
+194,111, 46,156, 59,181,195,169, 83,167, 54,160,212, 25, 28, 0, 94,158, 58,117,106,236,178,101,203,126,197, 95,105, 30, 42, 34,
+ 61, 32, 32, 32,181, 89,179,102, 66, 15, 15, 15, 97,110,110, 46, 98, 98, 98,144,159,159,143,237,219,183, 35, 54, 54, 22, 26,139,
+160, 78,190, 42,239, 11, 36,228,231,231,153,210, 52,141,252,188, 92,147, 31,126,248,193,162, 54,156, 42,149,170,220,181, 85,167,
+ 78, 29, 76,155, 54,141, 93, 82, 82, 98,249,238,221, 59,115,237,121,186,114,202,100,178,178,140,195, 52, 77, 67, 38,147, 65, 40,
+ 20, 66, 38,147,225,245,235,215,101, 34, 75,189,254, 79,102,209,210,252,230,241,120,153,154,115, 89, 51, 4,199,227,241,178,170,
+106,255, 33,208, 90, 23,173,254,173,175, 56,172,113,123,116, 60,238, 96,179,217,152, 56,113, 34, 30, 62,124,136,132,132, 4, 48,
+ 24, 12,136, 68, 34,148,148,148,160,103,207,158,224,112, 56,250, 90,180,104, 54,155, 61,106,201,146, 37,188,196,196, 68,228,228,
+228,104,156,233,161, 82,169, 48,119,238, 92, 35, 46,151, 59, 74, 95,211,189, 64, 32,232,253,250,245,235,198, 21, 63, 25, 25, 25,
+ 66,109,159,194,218, 34, 52, 52,148,240,247,247,167,253,253,253,105,141,224, 50,192,128,202, 80,133, 22,217, 87,149, 69,235, 99,
+ 88,197, 52,150, 45,168, 3, 68,106, 1,141,200,234,170, 37,188, 8,141,133, 75,183,161, 67,183, 97, 45, 29,108,172,111, 28,222,
+181,202, 52,236, 57,129,212,148, 36,100, 11,146,209,166,131, 31, 98,159, 71,131, 82,168, 78,227,117,104,205,158,156,245,252,221,
+ 61, 60,154, 78,239,218,193, 11, 65, 97,197,120, 21,121, 25, 5,217,130,157, 72, 58,117,250,163, 28, 33, 87,255,230, 14,246,214,
+ 55,126,221,181,202,242, 82, 12,137,148,148, 36,156,253,117, 43,173,144, 75, 11, 80, 62,146, 75,239,183,102, 35, 74,198, 41, 46,
+200,132,172, 72, 5, 30, 89,194,211,115,144, 34, 3, 64,248,214,173, 91,187,183,111,223,158, 19, 16, 16,144,145,159,159,127, 22,
+192,125,173, 54,205,220,221,221,251, 6, 7, 7, 59,164,164,164,224,218,181,107, 25, 40, 13,253,175, 10,169,183,163,159,239,254,
+243,215,253,243,141, 26, 52,193,246, 37,223, 41, 67, 31,197, 12, 4,112, 73,171,141, 71, 15,111,247,176, 53,223,207, 32,169,168,
+ 63,240, 52, 57, 19,111,133,210, 63,171, 34,204,201,201, 33, 74, 74, 74, 92, 45, 45, 45,181, 79, 72,240, 77, 68,210, 5,195,220,
+211,123, 46,188,227, 36,145,171,192,101,145,244,236, 65,174,233, 15,207,134,218,228, 72,114, 8, 77, 52, 98, 77,152, 52,188,199,
+160, 93, 33,103,198,132,133, 93,152, 46,151, 74,188,154, 52,105, 76, 63,142,184,241,116,225,220,169,125,106,121,196, 77, 31, 62,
+124, 72, 50, 24,140,114, 2, 93,219, 66,164,175,165, 72, 31,232,202, 89, 81,104,105,160, 84, 42,137,218,114, 74,165,210, 74, 75,
+ 59, 84,230,171, 69, 81,212,223,178,253,250, 88,168,180,135, 12, 53,254,116, 18,137,196, 94,237,179,229,240, 49, 45, 90, 31, 18,
+137, 88,221,240,165, 62,253, 35, 73, 18, 20, 69,129,205,102,163, 69,139, 22, 8, 11, 11,131,181,181, 53,204,205,205, 97,110,110,
+ 14, 35, 35, 35,216,216,216,148, 9, 45,146,212, 57, 74,135,150, 74,165,117,235,214,173,139,215,175, 95,131,199,227,149,125,184,
+ 92, 46, 60, 61, 61, 33, 18,137,234,224, 83,218,238, 13, 48,224,239,189,175,132,105,139, 37,130, 32,194, 22, 45, 90,180,164,182,
+124,139, 22, 45, 90, 82,153,133,235, 3, 5, 87, 57,235, 22, 83, 91, 65, 86,170, 36,213, 34,235,208,206,149,230,103,158, 0,169,
+169,137,184,122,114, 71,145, 66, 46,203,167, 40,133,235,219,248,104,128,196, 47, 58,117,129,164,219, 13,234,219,141,184,250, 66,
+134,194,130,108,188,124,124, 57, 9, 98,206,226,143, 38,178, 28,108,111, 28,222,181,210,242,252,115, 2, 41, 41, 73,184,116,108,
+123,161, 66, 46,239,129,196,208,199, 31, 66, 61,138,205, 30,196,118,121,215,255, 27,223,116,168, 8, 21, 70,197,198,125,153,149,
+129, 65,130, 59,213, 71,134,105, 35, 59, 59,251,236,214,173, 91,137, 31,127,252,177,171, 68, 34,249, 13,128,182,137,210,203,205,
+205,109,196,190,125,251,172, 83, 82, 82, 88,119,238,220, 17,221,184,113,131, 6,112,190, 6,139,203,130,158, 19,166, 49, 90,213,
+171, 51, 51, 42, 41,109, 32,128, 63,180,102,123,246,111,221,236,238,193,245,203,205, 20,119, 67, 81, 44, 72,193,226,187,169,133,
+ 0,116,222,223, 10,133, 2, 66,161, 16,138,226, 92,101, 27,190, 72, 24, 56,212, 94,154,153, 47, 97,178,168, 18,165,135,121,150,
+244, 70,238, 91,134,177,177,177, 94,251,114,215,250,249, 33, 0, 66,134, 14, 29,122,248, 89,196,133, 54,124, 62,255,130,135,135,
+ 7, 1, 0, 85, 68, 24, 86,133, 85, 0,230,118,236,216,145,240,241,241,121,176,109,219,182, 43,213,137,149,218, 88,180,106,130,
+174,156, 20, 69,145, 85,236, 95,162,182,156,218, 22,173,154,132,214,167,180,104, 85, 38, 90,180, 69,162,182, 16,250, 55, 68, 29,
+ 86, 39,166,244,233,159,198, 79,142,205,102, 35, 58, 58, 26, 46, 46, 46,144,203,229, 48, 51, 51,131,153,153, 25, 76, 77, 77, 81,
+ 84, 84, 4, 22,139, 5, 61,183,153,226,241,120,239, 98, 98, 98, 26,219,217,217, 65,165, 82,149, 19, 91,175, 94,189,130,137,137,
+ 73,154,190, 22, 45, 62,159,127, 89, 29,117, 88, 14,142,142,142, 22, 31, 99,191,106, 91,178,252,253,253, 13, 67,132, 6, 84,107,
+205,170,194,170,149, 93,193, 18, 37,211,250,159,141,210, 28,110,253,213,191, 81,201,111, 89, 37,211,114,215,175, 95,127, 67,203,
+191, 43,251, 3, 55, 65,147,226,161, 92,132, 11,179, 38, 75,150,189,181,213,141, 3,219, 3,205, 79, 70, 2,105, 41,137,184,117,
+ 58, 88,168, 84,201,191, 0, 69, 11, 34,174,157, 14, 5,129, 18,188, 13,189,165,219, 45, 2,173, 90, 53,117,197,239, 47, 20,200,
+ 78,125, 5,154,166, 14, 33, 43,164,228,131,143,142,219,224, 22,246,214,182, 55, 14, 5, 7, 90,156,137, 38,144,154,146,136,171,
+ 39,131, 11,149,138,146,238, 72, 60, 29, 89, 91,218,137,128, 21,195,132,183,123,136, 95,171, 97,174,110,206,160,104, 5, 40, 54,
+141,193, 11,108,153, 47,163, 74,126, 15,231, 9, 79, 82,197,212,244,180,251,186, 57,208, 21, 23, 23,255, 14,224, 49,202,167, 87,
+104,222,168, 81,163, 97,187,119,239,182, 75, 77, 77,229, 69, 69, 69,137,247,238,221,155, 69, 81,212, 25, 0,186, 12,165,126, 23,
+149,148,118, 0,229,243,229, 52,159, 63, 33, 32, 34, 96,252, 55,188,196,107, 33,176, 74,140,197,247,119,211, 85, 47,243,101, 35,
+213,214,181, 74, 97,107,107, 75,231,228,228, 36, 23, 20, 20, 52, 54, 49, 49, 65,110,110, 46,242,242,242, 32, 20, 10, 33, 45,204,
+ 83,218,168, 10, 68,132, 50, 15, 44, 22, 11, 89, 41, 10,168, 84,170, 12, 93,173, 89, 0,172, 86,173, 90, 53,137,162, 40, 77, 70,
+196,114,209,133, 90,237, 52,231, 67,227,161, 67,135, 30,214,138, 58,212,118,134,215,164,119, 32,212,233, 29,218,255,241,199, 31,
+113,125,250,244, 73,173, 76,172,112,185, 92,189, 29,165,171,138, 98,172, 13,103, 85, 22,173,138,211,245,225,212, 12, 95,106,156,
+224, 43, 78,215,128,193, 96,128,162, 40,232, 16, 84,241,183,138, 22,237,232,192,218,136,156, 10,199,166,218,196,161,181,140, 68,
+252,168, 22, 45,205,177, 96,179,217, 56,119,238, 28,198,143, 31, 15,149, 74, 5, 99, 99, 99,152,154,154,194,196,196, 4,167, 79,
+159,134, 38,253,131, 62,250, 85,161, 80, 28, 89,191,126,253,146, 61,123,246, 24,209, 52, 13, 14,135, 83, 38,180, 2, 3, 3,197,
+114,185,252,136, 78, 66, 75,147,241,157,162, 99, 76, 76,148,213, 70, 29, 86,182, 76, 21,254, 90,150,171, 86,173, 26, 75, 81,212,
+ 32, 84, 72,225, 80,161, 93,185,212, 15,134,244, 14, 6,232,112, 63,121,244, 47,238,158, 70, 96, 17, 90,150,172, 50,193, 69, 86,
+ 39, 94,236,172, 44,111,236,223, 30,104,126,244, 17,129,196,183,111,113,243,183, 29,165, 34,235,205,201, 39, 72, 14,205, 68, 98,
+104,103,188, 13,237,173,243,219, 19, 65,180,114,178,183, 68,158,136, 66, 97,206, 59,128, 70,212,199, 16, 89,118, 86,118, 55,126,
+ 14, 14,180, 56,245,132, 68, 98, 98, 34,174,158,220, 33, 84, 42, 37, 95,124,136,200, 26,197,102, 15,106,228,238,156,176,116,210,
+160, 97, 62, 13, 29, 97,243, 46, 14,231,199, 13,195,234,227, 95,195,204,142,129,118,125,205, 48,113,173,227, 48,190, 39,247, 53,
+191, 51, 6,233, 65,173, 45,178, 90,213,175, 95,127,216,253,251,247,109,189,189,189,121,241,241,241,146,189,123,247,102,137,197,
+226, 43, 0,162,245,224,212, 22, 89,173, 22, 77, 30, 23,177,113,255, 97, 30,201,230, 32,232,200,121,204,186,157,170,186,144, 92,
+ 56, 20,229,135, 21, 43,133, 84, 42,189, 22, 28, 28, 44, 37, 73, 18,121,121,121,200,201,201, 65, 86, 86, 86,217,119, 65, 65, 1,
+ 24, 12, 6,174, 95,191, 46, 43, 44, 44,188,175,107, 7,239,221,187, 87, 63, 45, 45,205, 67, 32, 16,180, 81,127,226, 81, 26, 93,
+104,170, 53,173,141, 64, 32,232, 10,224,145,102,122,106,106,106,189, 7, 15, 30,240,107,226, 55, 51, 51, 3,155,205, 46,103,209,
+226,114,185,112,112,112,128, 82,169,196,137, 19, 39, 0, 32,175, 58, 14, 54,155, 35, 32, 73, 2, 20, 77, 73,121, 60, 30,197,231,
+243, 43, 21, 88,250,112,170,145,250,229,151, 95, 74, 34, 35, 35, 43,181,104,213,134,147,166,233,146, 94,189,122, 33, 61, 61, 29,
+ 60, 30,175,236, 97,173, 17, 84, 36, 73,130,203,229, 34, 35, 35, 3, 83,166, 76, 1, 77,211, 37,255,244,157, 71,219,167, 73, 45,
+134, 8, 0,132, 90, 8,189,231,167,165,171, 15,148,102,104,144,166,105,104, 4, 87,133,249,101,235,210, 37,123,123, 5,159,174,
+201, 5, 5, 5, 27, 75,187, 67,239,173,240,189, 79,143,135, 66,153,208,138,141,141,197,225,195,135, 81, 80, 80, 0, 14,135,131,
+252,252,124, 28, 60,120, 16, 49, 49, 49,224,112, 56,208,236, 11, 93,245,155,143,143,207,198,240,240,240,152,145, 35, 71,138,163,
+163,163, 33, 22,139, 17, 29, 29,141,222,189,123, 75,238,222,189,155, 32, 22,139, 87, 65,151,161, 67, 77,198,119,117,121, 29,169,
+ 84,138,168,168,168, 74, 63, 85, 45, 83, 17, 9, 9, 9,174, 42,149,170, 49, 77,211,190, 52, 77,155, 67,157,194, 65,253, 95,251,
+243,165,122,158, 57, 77,211,190, 42,149,170, 81, 66, 66,130,171, 65, 78, 24,240,153,226,150,150,216,162,181, 68,214,173,234, 45,
+ 90, 20, 25,124, 96,199, 74,243, 35, 15, 73,164, 36, 39,224,241,197,221, 66, 21,165,248, 66,207,114, 56, 61,160,149,107,131,103,
+100,226, 69, 17,165,225,204,133, 57, 41, 0,205,168,141,208, 42,199, 9,138, 12, 62,184, 35,208,226,216, 99, 2,233, 41,111,112,
+247,236, 46,161, 82, 41,237,142,183,161, 81,181,225, 28,197,102, 47, 99, 49,136,165,189, 58,181,100,119,110,233, 14,147,172, 36,
+100,164,166,227, 68,108,118, 94, 66,190,244,155,187,132, 28,201,111,164, 7,250, 78,178,182,182,114,100,161,255, 84, 27,235,251,
+231, 11,127, 39, 88, 34, 57, 45,167,215, 11,238,150,149,165, 40,223,207,247,225,104,102,102, 54,242,241,227,199,230, 60, 30,207,
+232,241,227,199,212,222,189,123,115,197, 98,241, 69, 0, 17, 58,109,251,251,112,110,235,238,118,107,221,174,253,188, 98, 81, 9,
+ 68, 50, 57,184, 14,124,213,153,136,231, 67, 80,117, 2,204,114,156, 92, 46,247,216,177, 99,199,250,118,233,210,197,213,203,203,
+139,204,203,203, 67,113,113,113,153,115,181,157,157, 29, 98, 99, 99,169,196,196,196,116, 46,151,123, 92,215,126,118,236,216, 49,
+145, 36,201,120,245, 48, 90, 60, 42, 68, 23,106, 53,109, 44, 16, 8,218,242,249,252, 91, 0,140,181,162, 14,181, 57, 53,233, 29,
+150, 0, 32, 9,130,120, 20, 29, 29, 93,220,167, 79, 31, 24, 25, 25, 65, 36, 18,161,110,221,186, 80, 42,149,184,120,241, 34, 34,
+ 35, 35, 69, 20, 69,221,170, 68,188,150,235,167, 68, 34,174, 11,128, 20,151,148,180, 24, 59,118,108,215,121,243,230,149, 11, 73,
+183,183,183,135,181,181,181, 94,156, 0,144,151,151,215,244,143, 63,254,152, 19, 29, 29,253, 93,223,190,125, 45,150, 44, 89,194,
+173, 95,191, 62, 84, 42, 21, 89, 91,206,252,252,124,139,168,168,168, 77,157, 59,119,158,209,167, 79, 31,230,186,117,235, 96, 97,
+ 97, 1,149, 74, 5, 35, 35, 35, 20, 22, 22, 98,213,170, 85,184,115,231,142,146,166,233, 93, 66,161,240,123, 61,207, 37,124,232,
+181, 89,149, 5,168,170,148, 12, 85,180,255,219,251, 89,193,167, 11,234, 20, 14, 11,171,200, 96, 15, 93,207,121,141,208, 98, 48,
+ 24, 72, 74, 74,194,222,189,123,223,203,163,165, 73,255, 80, 5,119,101,219, 78,223,188,121, 83, 69, 16, 68,135,199,143, 31, 47,
+ 28, 51,102,204, 55, 34,145,200,217,196,196, 36, 93,161, 80,252, 34, 22,139,215,162,212, 31,149,173,207, 61, 68, 36, 18, 37, 87,
+ 22,117, 88,177, 13, 96, 89, 45,103,133,244, 14,229, 82, 56, 84, 88,166, 92,234,135, 74,210, 59,252,237,199,221,192,249,175,228,
+252,220,197, 86,213, 9, 75,223, 67,171,201, 44,150, 88,225, 29,158, 64,124,136,200,122,223, 90, 34, 41, 73, 88,126,236, 93, 75,
+153, 84, 2,145, 48,243, 37,146, 78,100,125,208,102,169,251,121, 59,129, 64, 82,226, 27, 60, 12,219, 85,218,207,183,161,181,238,
+ 39, 1, 44,254,233, 82, 40,155,176,176,198,211, 57,227,145, 94, 32,194,165,183,249, 39,233, 18,233,244, 35, 64, 62,238, 0,164,
+ 82, 26,126,240,135,140,221,190,131, 45,134,217,214, 97, 97,203,252, 95,192, 91,100,195,110,215,189,139, 62, 53, 16, 51,120, 60,
+ 94,248,246,237,219,123,248,250,250,114,135, 14, 29, 90,153,131,188,190, 72,125,244,234,205, 79, 23,246,108,158,111,227,221, 30,
+ 59,151, 45, 80, 29,139,120, 94, 49, 10,177, 90,120,120,120,168,238,221,187, 55,111,202,148, 41, 91,122,244,232,225, 52,112,224,
+ 64, 78,221,186,117,193,229,114,241,230,205, 27,132,135,135,203,222,190,125,155, 94, 82, 82, 50,175,121,243,230,250,228, 56,203,
+ 95,190,124,249, 70,245, 58, 8,245,112, 97, 27,168,163, 11, 53,141,212, 73, 75,219, 0, 48, 14, 12, 12, 28, 3, 0, 85,132,125,
+ 47, 7,176, 7, 0,147,166,233,140,144,144,144, 14,103,207,158,237, 48,119,238, 92,118,223,190,125,113,255,254,125, 92,189,122,
+ 85, 46,151,203, 35,212,194, 85,215, 82, 57, 20,128, 40,165, 82,249, 60, 40, 40,168, 3,131,193, 88,174,153, 17, 19, 19,131, 67,
+135, 14,213,134, 83, 9, 96, 83,102,102,230, 79, 33, 33, 33,203,175, 93,187, 54, 97,236,216,177,230, 10,133, 2,177,177,177,248,
+249,231,159,107,197, 41, 20, 10,231,216,218,218, 46,189,120,241,226, 47, 87,174, 92,249,106,244,232,209,228,172, 89,179, 16, 28,
+ 28,140,223,126,251,141, 82,169, 84,103, 89, 44,214,216,156,156, 28,209,167,184,235,168,135,225,210,245,172,117, 88, 35,239,135,
+ 12, 13,234, 8,193,135, 18,104,182,195,207,207,175,204,202,168,177,194,105,183, 33, 8, 66,239,161, 67, 0,150, 52, 77, 83, 0,
+118,161,180,190,168,118, 86,120, 6,254,202, 28,175, 43, 99, 51,129,212, 50, 6, 82,196, 86, 95, 84,218, 18,160,209,172, 6,182,
+130,229,203,151,111, 93,177, 98,197,214,138, 41, 28,180, 27, 85, 76,253,176,114,229, 74, 24,210, 59, 24,240, 95, 69,229, 66, 43,
+106,159, 66,209, 96,200,146,237,235, 22,172, 80, 42,100, 66, 26,114,127,188, 57, 29,253,161, 43,163, 41,122,209,245,163,129,193,
+160,145, 79,171,148, 11, 63,184,247,127, 83, 63, 9, 11,107, 20,173,154,134,223, 94,164,211, 25, 34,197,215, 71,228,242,114,214,
+160, 82,159, 44,106,248, 13, 73,254, 9, 43, 39,214,153, 57, 95,216, 16, 23,242,198,232,189,158,172,172,172,115, 91,183,110, 37,
+ 55,111,222,220,181,164,164,164,162,131,124,109,177, 96,192,204, 69,140,118,141, 92,103, 62,124,157, 60, 8, 58, 12, 23, 86, 68,
+199,142, 29, 5,113,113,113, 1, 87,174, 92, 25,121,251,246,237, 30, 34,145,200,149, 32, 8, 24, 27, 27, 39, 75,165,210,107, 92,
+ 46,247,152,158, 34, 11, 0,176, 98,197, 10,122,229,202,149, 68, 92, 92, 28,205, 96, 48,254, 4,144,200, 96, 48,146,180,157,224,
+181,167,107,150, 9, 12, 12,212,229,129,120,187,184,184, 56,114,213,170, 85, 93, 86,173, 90,213, 66,109, 21,186,141,191,124,190,
+244,133, 2,192,109, 54,155,147, 78, 16,132, 51,155,195, 21,221,187,119,239,218, 7,114,150,200,229,242,133, 41, 41, 41, 91,182,
+108,217,178,214,196,196,164,109, 76, 76,204,159, 31,194,169, 22, 81, 67,172,173,173,157, 14, 31, 62,124,234,224,193,131,237,153,
+ 76,230,125,130, 32,134, 10,133,194, 79, 90, 84, 90, 93, 32,122,165, 30,181, 14,117,226,253,216, 73, 74,255, 14,225,166, 82,169,
+138,151, 46, 93,154, 85, 81,120, 85,180, 94,105,254,171, 83,185,232,178, 79,245,137,162,172, 65,184, 16,197, 0, 80, 90,187,176,
+180,172,142,174, 69,165, 1,136,107,186,206, 73,146, 60, 11,224, 37, 73,146,175, 43, 6,186,104,207, 91,185,114,101, 77,215,185,
+ 1, 6,124,214,208,225,206, 22, 72, 2,129,181,245,164,253, 7,205,149, 31,167,159, 1,108,246, 74, 18,152, 15,128,160,129, 45,
+ 71,228,242, 31,170, 91,208,177, 35,214,210, 4,230,170,119,230,186,140,187, 88, 83,139,109,175, 3, 29,234, 15,234,201,217, 4,
+213, 23,148,125,143,211,223,223,159, 81,197,195,188, 92, 81,233,170, 16, 26, 90,150,197,191,170,126,106,159,111,102, 15, 30, 60,
+112,242,241,241, 17,160,188,211,127,101,211,105, 61,183,157, 1, 64,245,145,247,231,103,193,233,230,230,198,121,243,230,141,236,
+223,117,109, 26, 56,255,149,156,150, 77, 93, 64, 96, 18,180,115, 7, 85,107,209,210, 18,104, 52,253, 51, 10, 98, 83,170,232,167,
+230, 58,183, 76, 72, 72,112,109,216,176, 97, 50,128,130, 10,253,168,108, 30,109, 56, 70,255,247,156,149, 97, 50,202,151,162,251,
+172, 80, 89,116, 56,254,134, 3, 97,224, 52,112, 26, 56, 13,156, 6, 78, 3,167,129,211,192, 89, 91,161,245,217,130,166,105,144,
+ 48,192, 0, 3, 12, 48,192, 0, 3, 12, 48,224,111, 1, 81,141, 42,213,199, 36, 88, 27,101,123,205,192,105,224, 52,112, 26, 56,
+ 13,156, 6, 78, 3,231,255, 29,103, 77,220,218,203,127,174, 67,135,147, 1,236, 51, 12, 29, 26, 56, 13,156, 6, 78, 3,167,129,
+211,192,105,224,252,183,112, 86, 37, 88, 62, 91,208, 52,173, 99,173, 67, 3, 12, 48,192, 0, 3, 12, 48,224, 95,129, 30,238,224,
+ 51, 85, 32,255,120,163, 83, 16, 85,141,232,227,134, 58, 0,240,177,248,254, 79,193, 7,208, 79,235,255, 5,168, 35,227, 13, 66,
+235,243, 69, 35, 0, 75, 0,104,215, 34,123, 8, 96,125,133,118, 71, 1,104, 23, 36, 20,161,180, 78,224,107,125, 86, 70,146,228,
+250, 46, 93,186, 76,191,115,231,206,102,165, 82,185,170, 22,253,117,229,243,249, 27, 9,130,104, 13,128, 69, 16,196,155,204,204,
+204,245, 74,165,242, 67,162, 86, 26, 56, 58, 58,110, 0,208,146, 36, 73, 22, 65, 16, 9,153,153,153,107,148, 74,229,205, 15,224,
+ 52,115,112,112,232, 68,211,180, 35, 0, 6,139,197,202, 77, 75, 75,123,128, 90,230, 86,242, 15,140,101, 23,138,148, 44, 0, 48,
+ 55, 97, 42, 66, 3,155,202,117,157,102, 56,197, 13, 48,224,255, 27,116,105,100,114, 57,244,118,195, 90, 90,137,239, 85, 0,209,
+171, 62,118, 92, 78,196,247, 85, 45, 79, 84, 18,213, 92,145,179,183, 27,214,170,232, 82,142, 94,110,216,116,249, 13,170,141,180,
+215,133, 83,131,125, 0, 57, 89,135, 42, 5,132,110,209,215,255,118,244, 67,249, 33,206,178, 33,207,106,133,214,112,119,240, 85,
+ 76, 48, 67, 99,161, 9,227, 53, 3,208, 66,253,144,127,141,210, 92, 69, 69, 31,216,185,207,133,243,223,134,229, 52, 77, 7,148,
+ 59, 89, 43,201, 67,244,197, 23, 95, 12,188,114,229,138,177,166,222, 29, 69, 81, 48, 50, 50, 82, 2, 24,167,199,186,236,135, 15,
+ 31,190,232,192,129, 3, 24, 54,108,216,210,176,176,176,173, 0,138,117, 93,216,202,202,202,223,210,210, 50,120,255,254,253,118,
+237,219,119, 32, 56, 28, 14,222,188, 73,112,158, 50,101,138, 87, 92, 92,220,217,172,172,172,111,244,221,120,107,107,235, 81,150,
+150,150, 91,246,238,221,107,219,185,115,103, 16, 4,129,200,200, 72,231, 57,115,230,180,120,247,238,221,241,204,204,204, 25,250,
+114,218,216,216,184, 91, 88, 88,116,219,185,115,167, 81,167, 78,157,192,227,241, 16, 29, 29,109, 58,117,234, 84,199,180,180,180,
+216,204,204,204, 91,250,138,172,103,145,231,191, 82,202,165, 65, 0,192,100,115, 23,180,223, 18,113,254,217,141,243, 3,106,154,
+230, 31, 24,251,187, 65,108, 25, 96,128, 1,218, 24,229, 4, 71,154,198,252, 43, 63, 47, 35, 1,160,215,132,213,179, 70, 57, 97,
+243,145,244,170,107,216,234,201,247,253,216, 58, 8, 62,156,134,204, 15,233,231, 62,128,156,195,100,206,106,231,227, 99,251,237,
+221,187, 9,114,224,151,255,147, 67, 84,233, 48,103,149, 66,107, 72, 83,172, 82,150, 90, 76,136, 62, 13,113,252,106, 34, 35,252,
+139, 47,190,104, 56,113,226, 68,162, 85,171, 86,136,140,140,116, 63,126,252,120,191, 11, 23, 46, 36,168, 84,170, 72, 0, 47,160,
+123, 86,107, 22, 0, 79, 6,131,209,250, 95,206,249,111,134,137, 90, 92,101,226,175, 68,167,239, 37, 60,189,126,253,250, 57, 38,
+147,169,177,104,181, 19,137, 68, 14, 21,172, 96,186,160,158, 66,161, 64,124,124, 60, 72,146,100, 1,168,143,247, 75,106, 84, 5,
+103, 99, 99,227,221, 17, 15, 35,109, 8,166, 17,242, 37, 0, 36,114,112, 76, 29,112,224, 80,136,245,188,217, 51,134,220,188,121,
+ 51,188,168,168,232, 87, 61,250, 83,223,196,196,100,235,211,167, 79,109,140,141,141, 65, 81, 20,138,138,138,224,232,232,136,253,
+251,247, 91,206,155, 55, 47,160,176,176,240,166, 68, 34,249, 77, 31,113,110, 97, 97,209,237,249,243,231, 70,154,130,210, 50,153,
+ 12,206,206,206, 56,122,244, 40,119,214,172, 89, 77, 11, 10, 10, 82,101, 50,217, 91, 93, 9, 11, 69, 74,150, 82, 46, 13, 58,188,
+ 43,208, 5, 0,198,206, 8, 12,226, 20,153, 95,212,101, 90,161, 72,121, 1,128, 65,104, 25,240, 79,163,181,173,173,109,104, 78,
+ 78,206, 45, 0,223,224,227, 88, 26,220,121, 60, 94,115,138,162, 28, 73,146, 4,131,193,200, 16,137, 68, 79, 1,188,170, 45,161,
+141,155,223, 0,112,141,199,131,166, 90,144, 0, 8,146,140, 86,201, 75, 14,229,190,186,121,254,131, 56, 57, 70, 19, 0,186, 5,
+ 9, 80, 4, 73, 62,165,148, 37,251,115,226,111, 94,250,183, 28,156,251, 66, 52,118,115,212,189, 48,230,199,224, 27,209, 0,124,
+146, 2,121, 52, 73,247, 97,197,153, 64,223,217,179,103, 59,206,152, 62,157, 24, 63,110, 92,163, 91,119,238, 16, 93,245,169, 86,
+240,121,162, 74,135,253, 74,133,150,127, 83, 88,209,192,194,227,193, 75, 72, 38,131, 65,140,156,189, 62,224,224,174, 77,100,207,
+ 1, 67,203,134, 79,124,125,125,225,235,235, 75, 4, 5, 5, 53,250,243,207, 63, 27, 29, 61,122, 84, 25, 17, 17,241, 20,192,137,
+170, 86,214,219, 13, 98, 10,224,177, 89, 76,209,200,101,191,238,245,241,241, 1,151,203,197,135,112, 2, 64,207,134,228, 91,150,
+117,131,167, 35,103, 46, 79,110,223,190, 35,253, 49, 56, 63, 35, 60, 4,202,138, 90, 91,185,184,184,116, 82, 42,149, 60, 0, 96,
+ 50,153,146,148,148,148,153, 40,173, 13, 8, 0,103, 41,138, 26,168, 7, 55, 9, 96,197,192,129, 3,151,126,251,237,183,168, 91,
+183, 46,102,205,154, 5,133, 66, 17,121,233,210,165,229, 0, 54,160,134,139,199,222,222,126,249,238,221,187,173,153, 28, 19,180,
+ 90,152, 8, 65,129, 18, 0, 96,202, 5,206, 77,163, 49,107,214, 44,243,199,143, 31,175,209, 71,104,217,219,219,175,218,191,127,
+191,181,177,177, 49,104,154, 46,171,197, 88, 92, 92,140,226,226, 98,204,152, 49,195, 60, 54, 54,118,163, 62, 66,203,193,193,161,
+211,206,157, 59,141,120, 60, 30,138,139,139,217,114,185,156, 40, 42, 42, 66, 73, 73, 9, 45,147,201,228, 51,103,206,228,190,120,
+241,194, 79, 32, 16,188,133, 1,255, 22, 48, 0,124,205, 98,177, 6, 55,108,216,176,205,235,215,175,159, 40,149,202,211, 0, 78,
+127,132,151,169,238, 78, 78, 78,107,211,211,211,119, 2, 8,249,127,217,161, 14, 14, 14,167,239,221,187,231,178,123,247,238,113,
+155, 55,111,190, 8,224,183, 15,160, 99,179,217,236, 33, 93,187,118,117, 25, 59,118, 44,199,193,193, 1, 82,169, 20,137,137,137,
+230, 39, 79,158,116,141,142,142, 78, 85, 87,196,208,249,133,194,198,189,163, 41,152,230,199, 59,116,236,212,121,216,144,175,205,
+ 28,108, 44, 32,150,169,240, 58, 89, 80,247,143,139,231,186,198,177,141,238,201,229,194, 17,185,175,238, 21,235,203,217,173, 91,
+247,206, 61,186,119, 55,179,176,180,128, 80, 36,199,155,164, 52,215, 27, 87,207,251, 50,153, 70,183, 41, 66, 49, 58,235,249,213,
+146, 79,121,108,102, 1, 76, 17,207,166,121,139,142,173, 30,247,154,184,166, 13, 77,211, 32,105,236,168,104,205,154, 5, 48,119,
+148,150,253,210,139, 15, 52, 77, 19, 4, 54,105, 91,179,122,187, 97, 45, 77,227,123,144, 32,122,215, 48, 76,169, 65, 47,128,107,
+105,109,237, 51,117,242,100,162,168,176, 16,209,209,209, 37, 21, 69,214,214, 58, 96,223, 38, 81,239,108, 74,237,197,246,191,212,
+154, 85,233,208,161,206,121,180,140,141,141, 43,157,110, 97, 97,129,110,221,186, 97,253,250,245, 76, 0,173, 43,204, 46, 95,100,
+ 21,224,134,237, 89, 12, 11, 19, 46, 89,183,110, 93, 51,115,115,243, 15,230, 4, 0,208, 84,253,142,117,233, 47, 31,253,186,100,
+220,181,163, 91, 60, 69, 69, 5,172,138, 77, 76, 77, 77,209,184,113, 99, 44, 93,186, 84, 55,206, 15,199, 63,202,233,232,232,216,
+196,215,215,183,245,245, 91,183, 44,211,211,211,185,233,233,233,220, 43,215,175, 91,118,232,208,161,181,163,163, 99,147,178, 93,
+245,126,168,105,117,253, 92,189,107,215,174,229,103,207,158, 37,125,125,125, 97,101,101,133,110,221,186,225,226,197,139,204,205,
+155, 55,175, 3,176,180,166,126,146, 36,217,217,215,215,151, 0, 77, 35, 67,168,196,131,245, 77, 16,189,201, 3, 69, 18, 26,121,
+194, 66,136,197, 18, 24, 27, 27,243, 80, 58,220,171,235,182,119,236,208,161, 3, 1,160, 76, 92, 21, 21,149,126,138,139, 69,144,
+201,228,224,114,185,102, 0,120,186,114,210, 52,237,216,169, 83, 39, 0,128, 92, 46, 47,123,195, 43, 40, 40, 32,132, 66, 33,100,
+ 50, 25, 88, 44, 22, 27, 53,251, 53,150,113,154,155, 48, 21, 76, 54,119,193,216, 25,129, 41, 99,103, 4,166, 48,217,220, 5, 50,
+179, 66,149, 46,211,204, 77,152,138, 79,124,126,218,145, 36,249,179,155,155, 91, 44, 73,146,135, 1, 56,126, 32,103, 91, 0,235,
+140,140,140,174,121,120,120,164, 24, 27, 27, 95, 87, 11,245, 14,181,228,228, 24, 27, 27, 95, 95,183,110,221,169, 39, 79,158, 12,
+251,243,207, 63,235, 63,123,246,108, 72, 80, 80,208,113, 83, 83,211,112,148,247, 75,212,251,218,172, 95,191,254,193, 7, 15, 30,
+180,237,216,177,227, 1, 0,220,143,116,189, 51, 0,180,132, 78, 21, 57, 62,201,113,119,106,213,170,149, 11,143,199, 67,143, 30,
+ 61, 0,192,239, 67, 56,217,108,246,144,165, 75,151,186, 45, 91,182,140, 35, 16, 8,112,253,250,117, 60,124,248, 16, 74,165, 18,
+211,166, 77,227,142, 29, 59,182,129,153,153,217, 16,189,250,201, 52, 63, 62,123,206,220, 62,243,103, 77, 50,123,250, 78,142, 67,
+215,222,225,247, 8, 1,178, 74, 56, 24, 48,100,172, 69,239, 65,195,123,115,184, 22,199,245,229, 92,180,112, 97,159,201, 19, 2,
+204, 98, 4, 20,206,221,207,192,253,120, 33,148, 44, 75,244, 29,242,141, 85,139, 78,125,250, 49,193,250,229, 83, 31,163,253, 64,
+251,217,179,103,219, 45,216,116,228,174, 83,219,175,119,100,231,195, 87, 91,248,184, 3,150,214, 38, 38, 95,199,119,237, 58,201,
+168,180, 94,108,181,156,229,248, 90, 15, 10,206,202, 71, 23,109,255,172, 46,214,104,164, 30, 86,100, 92,249,121, 25, 73, 19,152,
+ 53,202,169,220,125,160,210,126,222, 4,134,205,158, 59,151,101, 97,101,133, 93,187,118, 65, 42, 18,149,243,153,237,238,130, 62,
+215,140,153,169, 13, 60,156, 99,187,185, 18,225,255,193,247,149,201, 85, 90,180,194,194,194,232,254,253,251, 19, 0, 16, 26,139,
+252, 33, 77,177,113,248,183,235,150, 18, 36, 65,215,243,236, 24, 83,199,173,153,200,198,198, 6, 37, 37, 37,144, 74,165, 96,179,
+217,144, 72, 36,120,247,238, 29,238,223,191, 15, 43, 43, 43,189,122, 82, 88, 88, 8, 83, 83, 83,152,154,154,126, 20,206,197,227,
+122,112,223,164,100,115, 47,223,191,217,117,251,244,223,218,187,181,244,123,214,125,248,172,231,230,118, 78,146,103,207,158,225,
+222,189,123,200,207,207,135,143,143,207,127,229, 96, 62, 84,251,100, 61, 4, 96,213,176, 97, 67,231,203,215,110, 91, 21, 75, 40,
+243,164, 76, 5,139,162, 40, 24, 27,243,149, 39, 66,207, 9,135, 13, 25, 64,100,100,100,100, 1,120,168, 22,183, 53,213, 84,228,
+ 1,104,226,239,239,191,104,250,244,233, 72, 72, 72,192,164, 73,147,196, 15, 31,100,113,178,147, 0, 0, 32, 0, 73, 68, 65, 84,
+ 62,204,237,216,177,163,205,254,253,251,141,230,205,155,135, 91,183,110,173, 8, 11, 11, 59, 3, 32, 17, 64,165,181,218,104,154,
+102,179,217,108, 40,213,178, 65,174,162,202,244,125, 97, 97, 33,104,113, 62,216,108, 54, 3,128, 29,116,244,163,163, 40,138,205,
+ 98,177,202, 68,214,187,204, 66,188,203, 42, 65, 97,177, 12, 98,177, 18, 50, 49, 13,134,177, 13, 19, 72,114, 0,144,164,171,117,
+132,199,227, 65,169, 84,162,168,168,180, 27, 26, 75,153, 76, 38,131, 80, 40, 4,131,193, 48, 5, 96, 14, 32, 79, 23, 66,181,147,
+251,239,234, 97, 64, 60, 58, 50,208,246,245,133,197,229,166,153,155, 48, 21,161,243,154, 50,108,156, 91,220,105, 57,236, 23,143,
+178,105,159,214, 63,139,107,103,103,119,227,212,169, 83, 77, 27, 53,106,132,196,196, 68,143,161, 67,135,250, 8, 4,130,150,208,
+191, 38,163, 49, 73,146, 27,199,142, 29, 59,125,228,200,145,132,187,187, 59,152, 76, 38,148, 74,165,115, 66, 66, 66,183,147, 39,
+ 79, 46, 60,120,240,224,126,149, 74,245, 29,116,247,251, 35, 57, 28,206,137,189,123,247,118,241,241,241,193,225,195,135,241,240,
+225, 67,170,109,219,182,228,152, 49, 99,224,234,234,234, 51,102,204,152,223,165, 82,105,223, 90, 90,182, 92, 59,116,232,224,194,
+ 96, 48,208,177, 99, 71,246,189,123,247, 90, 1,184,247,129,251,212,212,217,217,249,150,159,159, 95,203,107,215,174, 69,101,100,
+100,248,233,177,189, 0, 48,200,201,201, 41,200,194,194,194, 74,143,123,108, 73, 90, 90,218,247, 0, 66,117, 92,164,125,235,214,
+173,145,156,156,140, 38, 77,154,128,205,102,119,144,203,229, 83, 0,244, 1,240, 3,128, 88, 61,250,235,222,189,123,119, 23, 63,
+ 63, 63, 34, 52, 52,180,204, 63,148, 36, 73, 40,149, 74,176,217,108,180,111,223,158,140,140,140,172,243,232,209, 35,119,232, 48,
+140,104,227,230, 55,160, 99,231,174,157,187,248, 52, 39, 55,135,190,134,138, 82,129, 65, 40,193, 36, 40, 80, 10, 46,184,108, 6,
+220, 61,219, 48,226, 95, 60,245,145, 73,229, 3,114, 95, 93, 59,175, 11,103,159, 94, 61,125,155, 54,113, 39,183,255,254, 6, 5,
+105,177,170,180,184,219, 57, 36,131, 68,211,214, 95,216,186, 55,107,201,104,233,227,199, 74, 79,124,209, 77, 34,233,210, 35, 63,
+225,246,181, 79,113, 65,174, 4, 24,206,117,108,191,238,223,211,143, 45, 72, 79, 23,157, 12, 61,255,188, 68,129,251, 0,112, 11,
+ 32,250, 2,205,189,219,181,235,186,127,195, 6, 27, 62,159,207, 26, 61,114,164,114, 95, 84, 84, 20,170, 24,250, 93, 9, 48,108,
+ 29, 29,123, 76,157, 58,149, 33, 72, 79,167, 79,158,190,240, 76,195,135,210,183, 20,239,230,206, 30,253, 33,138,215,107,152,114,
+ 0,192,113,112,116,108, 58,101,202, 20,100,164,167,227,112, 72, 72,177, 4,136,208, 88,177,206, 49,176,179,153,155,227,248, 5,
+223, 12, 36, 92,248,182,152,186, 98, 95,135,110,242, 44, 55, 8,254, 58,254,218, 90,228, 51, 22, 89,147, 43, 21, 90, 21,241, 91,
+ 44,150,155,177, 81,255,228,201, 99,100,118,145, 92,148,144,144, 0, 91, 91, 91,240,249,124, 88, 88, 88, 32, 38, 38, 6,215,175,
+ 95,199,203,151, 47, 65, 81, 20, 90,180,104,161, 87,111,114,114,114,240,244,233, 83, 88, 89, 89,125, 52, 78, 55, 23, 59,124,235,
+ 98,199,206,204, 45,100, 95,123,248,210,103,223,226, 33,205, 72,143, 33, 7,181,139,196,202,100, 50,252, 71, 80, 22, 93,232,226,
+226,210,233,208,161, 67,108,169, 18,102,238, 83, 34,126, 20, 73, 84, 38, 0, 96,194, 99,136, 34,131, 26,127,183,122,245,106,209,
+132, 9, 19, 60, 82, 82, 82,214,235, 96,235, 95,219,189,123,247,249, 52, 77,179,102,207,158, 13, 0, 24, 59,118,108,225,253,251,
+247,221, 1,100, 93,191,126,221,105,226,196,137,175,110,220,184, 97, 60,119,238, 92,134, 82,169,140, 97, 50,153,116, 88, 88,216,
+ 42, 0,129,239, 61, 17, 73,242,113, 84, 84, 84, 61, 39,215,198,112,181, 33,225,187,244,101,233, 13,206,152, 66,106,210, 27,196,
+ 61,123, 8, 71, 71, 71, 11, 62,159, 31,155,154,154, 42, 79, 75, 75, 91, 40, 18,137,118,215,208,199,232,200,200, 72,190,171,171,
+ 43,138,139,139,145,154, 93,130, 89,167,141, 81, 40, 46, 53, 98,176, 32, 70, 75,151,198,102, 70,164,236, 97, 86, 86,150, 92, 38,
+147, 45, 19, 10,133,135,170,227,100,177, 88,185,207,158, 61, 51,173, 91,183, 46, 36, 18, 9,157,151,151, 71,136, 68, 34, 20, 21,
+ 21, 17, 23, 46, 92,248, 74, 32, 16,180,173, 95,191, 62,225,236,236,188, 74, 32, 16,136,211,210,210, 38,233, 50, 52,169, 22, 76,
+ 42, 38,147,185,121,242,228,201,195,206,156, 57,243, 56, 52,176,233, 32,173,225, 18, 11, 79, 79,207,203,205,155, 55,115, 10,217,
+228,189, 3,192,143,255,130,115,107,252,146, 37, 75,154, 90, 91, 91, 99,234,212,169, 88,185,114, 37,150, 47, 95,222,104,234,212,
+169,147, 1,108,213,131,199,200,209,209,241,209,246,237,219, 61, 58,117,234,132,139, 23, 47,226,216,177, 99,120,251,246,173,178,
+126,253,250, 76, 31, 31, 31,172, 88,177, 2,189,123,247,158, 52,115,230,204,174,233,233,233,173,116, 20, 31, 19, 86,172, 88, 49,
+168,115,231,206, 24, 55,110,156,244,230,205,155,195, 0, 92,185,122,245,234, 23,183,110,221, 10, 61,114,228,136,209,186,117,235,
+122,204,155, 55,111, 42,128,224, 90,108,255, 87, 93,186,148,214, 80,238,220,185, 51,130,130,130,122,127,160,208,226,216,216,216,
+ 92, 56,124,248,112,203,198,141, 27, 99,244,232,209,173,134, 13, 27,118, 33, 63, 63,191, 39, 0,157,110, 72,117,234,212,217,120,
+246,236,217,134, 85,141, 44, 84, 6,169, 84,106,253,245,215, 95,111, 72, 74, 74,210, 75,104, 29, 61,122, 20,223,127,255, 61, 90,
+180,104,209,188,125,251,246,123,166, 76,153, 2,127,127,255,238, 49, 49, 49, 14, 40,141, 90,174, 17, 60, 30,175,249,136, 17, 35,
+ 56, 15, 30, 60, 0, 0,120,122,122,162,101,203,150, 72, 78, 78,198,227,199,143, 33,149, 74,225,224,224,128,193,131, 7,243,146,
+146,146,154,231,228,228,212, 40,180, 72,174,241,248, 65,253,251,154,157,187, 47,128,138, 82,162, 77, 67,115,248,120,216, 35, 62,
+181, 16,145,177,169, 80,201,216, 48,183,182, 65,135,174,189,172, 51,210,222,142,207, 5,106,246,215,226, 26,143, 31, 60,168,159,
+233,185,136,116, 20,164,199,209,175, 31,158,185,174,144,136, 38, 1,192,227, 63,143,239,113,180, 49,234,233,222,186, 13,195,175,
+231, 64,171,211,199, 50,198,231,255, 51,181,253,222,195, 45, 23,236,117,101,229,140, 93, 16,224, 75,179,172,156, 31,154, 41, 20,
+ 59, 53,243,122, 3,189, 22, 46, 89,210,254,155,201,147,121, 20, 69,225,200,175,191, 22, 62,141,138,138,159, 12, 80, 83,170,224,
+219, 9,184, 14, 27, 52,136,107,102,110,142, 57,179,102,193, 76,161,184, 81,182, 75,128,238,115,230,207,239, 52, 99,198, 12,163,
+ 61,171,166, 63,238, 61,113, 77,107,138,166, 9,205, 48,229,209,234, 77,113,109, 39, 14, 26, 4, 51,115,115,204,158, 61, 27,132,
+ 92,126,185, 76, 64, 49,113, 99,194, 87,190, 62, 1, 3, 58,131, 0,129, 99, 97,119,240, 58, 57,251,217, 13, 1,222,124,174,170,
+170, 2,170,244,209,170,118,232,176, 72,142,204,238,253,134, 8,220,221,221,139, 26, 53,106, 84,148,155,155,139,231,207,159, 35,
+ 63, 63, 31,193,193,193,136,139,139, 3, 69, 81,181, 22, 48, 20, 69,225, 99,115, 2,128,131,141, 57, 70,247,109,199,148, 74, 68,
+188,236,236,236,114,195, 71,255, 33,161, 85, 6,165, 82,201,171, 95,191, 62, 72,128, 16,150, 40, 76, 51,142,118, 33, 50,142,118,
+ 33,132, 37, 10, 83,153, 76, 70,154,154,154, 66, 42,149,242,116,160, 98,125,249,229,151,243,207,156, 57,195, 90,187,118, 45,188,
+188,188, 32,151,203,113,255,254,253, 84, 0, 89,234, 54,233,183,111,223, 78,215, 8,225,245,235,215,227,244,233,211, 68,143, 30,
+ 61, 22, 86,118, 62, 9, 4,130,141, 83,166, 76,201, 43, 41,202,195,222,225, 98,132,142,206,198,207,131,222, 98,164,205, 41,228,
+101,190,195,190,125,251,112,245,234, 53,226,202,149,171,236,155, 55,111,154,244,235,215,111, 71,157, 58,117,194,170,235,100,122,
+122,250,218, 25, 51,102, 20, 20, 21, 21,161,168,168, 8, 98,177, 4,121, 34,224,217,150,166,120,182,165, 41, 36,148, 17,118,237,
+220, 77, 62,123,246,204,246,237,219,183, 78, 3, 6, 12,216,194,231,243, 15, 86,199,153,150,150,246,224,219,111,191,149, 20, 22,
+ 22, 66, 38,147,201, 85, 42,149, 76, 44, 22, 43,142, 31, 63, 62,215,198,198,166,195,197,139, 23, 89, 87,175, 94, 99,222,188,121,
+139,125,253,250,117,139,110,221,186,157,112,112,112,248, 69, 23, 75, 25,131,193,216, 22, 18, 18, 50,126,215,174, 93, 14, 62, 62,
+ 62,205, 42, 12, 69,241,123,246,236, 89,239,215, 95,127,173, 19, 20, 20,180, 16,165, 1, 40,159, 20,182,182,182, 51, 7, 13, 26,
+132, 93,187,118,225,252,249,243,243,118,236,216,129, 47,191,252, 18, 78, 78, 78,223, 66,247, 97, 47, 0,248,113,235,214,173, 30,
+ 30, 30, 30, 24, 59,118,172,108,210,164, 73,223, 29, 58,116,168,126,120,120, 56,251,151, 95,126,169, 55,117,234,212,217, 1, 1,
+ 1,146, 6, 13, 26, 32, 56, 56,184, 33, 73,146,219,116,186,190, 29, 28,230,142, 28, 57, 18,155, 54,109,194,205,155, 55,135,160,
+244,129, 42, 3,112,233,238,221,187, 3,214,173, 91,135, 33, 67,134,192,217,217,121,118,109, 44, 79, 77,155, 54, 93,214,167, 79,
+ 31,132,135,135,163, 85,171, 86,232,208,161,195, 60, 0,182,181,220,157,164,169,169,233,137, 67,135, 14,249,214,171, 87, 15,107,
+214,172,129,155,155, 27, 14, 30, 60,232,107, 98, 98,114, 2, 58,186,111, 88, 88, 88,152, 26, 27, 27, 99,225,194,133,244,144, 33,
+ 67,242,106,250,204,155, 55,143,230,114,185,176,178,178,210, 53,240,197,136,199,227,117,244,242,242,194,253,251,247,113,245,234,
+ 85, 44, 93,186, 20,115,231,206, 69,118,118, 54, 70,140, 24, 97, 12,192, 95,143,237,182,183,179,179, 67, 97, 97,105, 93,120, 47,
+ 47, 47, 60,121,242, 4,217,217,217,112,118,118, 70, 70, 70, 6,108,108,108,208,184,113, 99, 80, 20,101,175, 27, 37,237,101,107,
+109,129,172,124, 41,152, 80,162,181,187, 45,110, 60,207,197,187,108, 25,236,109, 44,145,145,149,141, 58, 54, 60,184,184,212, 5,
+ 77, 83, 94, 58, 41, 96, 6,217,154,203, 51, 66, 94,145, 28,105,177, 55,115,229, 42,233,148,130,196,187, 41, 5,137,119, 83,228,
+ 82,201,148,199,119,174,230,214,115, 48,130,139,139, 11, 8,154,106,247, 41,174,199,161,117,225, 98, 98,196, 28,123,245,231,101,
+ 68,216,254,197,132, 52,247, 93,219, 62, 14,165,150,101, 59,160,254,208, 17, 35, 58,126,247,221,119,188,204,204, 76, 42, 96,248,
+240,188,181,129,129,215,254,168,225,197,160, 24,104,212,179,103, 79,144, 0,254,184,114, 69,148, 1,164, 2,128, 3,224, 50,240,
+235,175,187, 44, 89,180,200, 40, 39, 55,151,186,159, 80,124, 46, 46,139, 30,108,173, 66,125, 93,252,179, 84,128,183,134,247,242,
+229,203,180, 24,120, 12, 0,126, 46,248,182, 87, 39, 79,159, 49,131,186, 64,144,149,143,217,107,127,198,158,147,183, 46, 91, 40,
+232, 47,254, 67,143,226,201,181, 18, 90,234,161,159,247,166,149,148,188, 63,122,240,161, 2,230,239,224,172, 12,255, 69,161,165,
+129, 66, 81, 58, 74, 34, 83, 80,144, 41, 40,205, 91, 45,196, 98,177,206, 20,151, 47, 95, 62, 60,107,214, 44,108,217,178, 5,175,
+ 94,189, 2,155,205,134,151,151, 23, 31,128,169,230,158,223,186,117,107,123,146, 36, 17, 31, 31,143,205,155, 55, 99,194,132, 9,
+244,189,123,247, 14,162,242,124, 41, 79,242,242,242,118, 78,153, 52,161, 32, 63,243, 29, 20,226,124,100,165,189,129, 84, 84,128,
+ 53,235, 55,162, 68,193, 68,134, 80,142, 12,161, 28, 36,215, 26,123,246, 31, 98, 52,109,218,180, 15,131,193,232, 95, 77, 63,239,
+103,102,102,238,159, 54,109, 90, 65, 70, 70, 70,217,246,201, 20, 52,100,138,242,231,171,177,177, 49,182,109,219,102,225,238,238,
+ 62,136,201,100,118,171,134, 83,144,146,146, 18, 55,109,218, 52, 89,102,102, 38,132, 66, 33,206,157, 59, 55,160, 94,189,122, 86,
+ 27,126,220, 66,136,228, 76,100, 20,200,145, 81, 32, 7,199,212, 30, 39, 66,207, 48, 26, 55,110, 28,192,100, 50, 59,212, 36,178,
+142, 28, 57, 50,102,248,240,225,102, 63,254,248, 99,222,217,179,103,119, 1,208, 62, 32,241,219,182,109, 59,121,226,196,137,162,
+249,243,231, 91, 7, 5, 5,205,251,196, 98,171,219,240,225,195,155, 80, 20,133, 83,167, 78, 61, 3,176,245,204,153, 51,143,164,
+ 82, 41, 70,140, 24, 81, 95, 61,140,164, 11,218, 6, 4, 4, 76,247,245,245,197,156, 57,115,228,215,174, 93,107, 13, 96, 11, 74,
+135,114,105, 0,201, 0,118,220,186,117,171,197,204,153, 51,165,237,218,181,195,184,113,227, 38, 0,240,173,129,183,227,200,145,
+ 35, 61, 40,138,194,241,227,199,159, 2,184, 88, 97,254,245,208,208,208,251, 50,153, 12,163, 70,141,106, 0, 64,159, 27, 57,155,
+203,229,158, 90,189,122,181,101, 90, 90, 26,198,140, 25, 35,141,143,143, 71, 96, 96,160,145,133,133,197, 69,173,107, 64,103,112,
+185,220,125, 63,253,244,211, 32,111,111,111, 76,155, 54, 77,182,123,247,238, 89,211,167, 79,151,181,110,221, 26,187,118,237, 26,
+196,225,112,244, 42, 45,146,158,158, 94, 16, 27, 27,107, 83,211, 39, 53, 53, 85,215,240,124, 99, 83, 83,211, 8, 79, 79,207, 66,
+ 47, 47,175, 54, 74,165, 18, 49, 49, 49,111, 14, 31, 62, 76,121,121,121, 97,231,206,157, 8, 10, 10, 66,255,254,253,193, 96, 48,
+116, 22, 90, 12, 6, 3,114,185, 28,198,198,198, 96, 50,153,120,243,230,141, 38,181, 12,216,108, 54, 0,192,196,196, 4, 70, 70,
+ 70, 32, 73, 82,167,104, 52,130, 0, 93, 88,162, 0,139, 69,130, 73, 82,136, 75, 22, 66,174,160,192, 99, 51,192, 98, 18, 0, 77,
+193,210,132, 5, 30,135, 1,146, 32, 40, 29, 57, 33, 20,201,193, 97,147, 96,177, 57, 4,169, 84, 25,149, 61, 28,153, 42, 35, 35,
+ 35, 14, 97,107,206, 5,143,253, 47, 42, 11, 76,148, 58,150,143, 7, 88, 38,117,235, 14,219,180,121, 51,167,176,184, 24, 67,134,
+ 12,201, 75,122,244, 40, 68, 12, 60,234, 90, 67,144, 18,201,100,186,251,117,237,138,200,168, 40, 20,229,231,191, 6, 74,157,227,
+ 57, 78, 78,195,183,109,219,198, 17, 75, 36, 24, 50,120,112,193,171, 59,119,142,164, 20, 35,236,120,114,169, 16,171,241,184,179,
+217,142, 26, 94, 97,126,126, 62, 80,154, 66,194,193,206,116,195,140,128,222, 40, 42,145, 96,193,198, 16, 42, 42, 78,240,109,120,
+ 42,250,157, 73,135,240, 63,246, 24,158, 92,225, 3, 64,135,132,165, 26,235, 82, 77, 98, 69, 42,149,126,116, 1,244,161,156,149,
+137,196, 15,229,252, 55,130,201,100, 74, 94,190,124,201, 49,183,113,162,108,204, 88,249,245, 38,220,177, 0, 0,107, 83,166, 80,
+174, 82, 80,233,233,233,224,114,185, 18, 29,135, 27, 38,237,219,183,111, 13,128,102, 76, 38, 51,236,208,161, 67, 68, 72, 72,136,
+213,200,145, 35, 19, 98, 99, 99,211, 60, 61, 61, 93, 15, 29, 58,100, 14, 0, 59,118,236,160, 79,156, 56,209, 27,165, 41, 51,170,
+204,227,146,153,153, 25,152,155,155,123,111,198,140, 25,193, 28, 14,199,202,196,196,196, 38, 60, 60,156,144,200,105,180, 93,146,
+ 92, 22,137,104,110, 68,226,246, 98,115, 76,158, 60,153, 17, 27, 27,187, 62, 45, 45, 45,172, 26,206,133, 5, 5, 5,225,175, 94,
+189,218, 98,225,220,210,206,196,117,137,133,207,226,120, 0,128,171, 45, 11,164,250,190, 88, 80, 80,128,236,236,108, 76,159, 62,
+221, 42, 33, 33, 97, 97, 90, 90,218,141,106,172, 90,183,114,114,114, 82, 95,188,120,225,199, 98,177, 56, 38, 38, 38,109, 35, 34,
+ 34, 8,137,140, 66,243,133,201,200, 43, 46,237,167,181, 41, 19,143, 87, 59,224,219,111,191,101,190,126,253,122,163, 64, 32,232,
+ 92,233,205,140, 36,131,180, 69,214,130, 5, 11,162, 1, 52, 0, 80,110,104, 84,165, 82, 17,163, 70,141,122, 14,192,107,254,252,
+249,214, 52, 77,207, 91,184,112, 97, 30,128,189,255,244,185,100,110,110,190, 97,202,148, 41, 56,113,226, 4,242,243,243,183, 1,
+ 64, 97, 97,225,214,163, 71,143, 30,159, 52,105, 18,126,253,245,215, 13,217,217,217,127,160,230, 80,237, 47, 71,140, 24,129, 75,
+151, 46,225,207, 63,255, 92, 6, 32,166,138,118,175,194,195,195, 23,158, 61,123,118,251,200,145, 35,241,243,207, 63,247, 1, 80,
+157,131,108,207,222,189,123,227,226,197,139,200,205,205,221, 85, 89,131,130,130,130,221,231,206,157,107,223,187,119,111,172, 95,
+191,190, 39,128,235, 58,108,186,135,133,133,197,161,237,219,183,183,245,246,246, 70, 64, 64,128, 68, 46,151,247,153, 63,127,254,
+249, 99,199,142,153, 29, 62,124,184,205,228,201,147, 31,168,115,190,221,215,201,148, 69,146,235, 54,111,222, 60,209,207,207, 15,
+243,230,205, 83, 94,190,124,121, 32,128, 43,127,252,241, 71,194,130, 5, 11, 46,108,222,188,153,177,105,211,166,137,179,103,207,
+206,166, 40,234, 83,137,235,213, 59,118,236,104,223,171, 87, 47,188,121,243, 6,247,239,223,135, 92, 46,255, 53, 34, 34,226,118,
+163, 70,141, 86,203,100,178,243, 38, 38, 38, 99,205,204,204, 60, 91,182,108,249,197,227,199,143,141,161,155,159, 94,102, 98, 98,
+162,165,133,133, 5,148, 74, 37,158, 61,123,134,186,117,235, 66, 46,151,227,237,219,183,240,246,246, 6,155,205, 70,102,102, 38,
+180,172,229, 53,136, 34,242, 89, 66, 82,122, 3,107, 51, 19, 64,197,195,147,248, 84,216,217, 90, 65, 69,144,200,200, 16,160,101,
+ 19,103, 16, 4,129,130,220, 12, 16, 4,241, 92, 23, 78, 21, 77, 69,190, 75,207,170, 99, 99,198,133,119,251, 94, 54, 17,127,100,
+135,152, 55,232, 52,153,201, 32, 24, 28,174,233,222,137,227,198,217, 82, 20,141,130,220, 76, 48, 73,242,225,167, 56, 64,167,222,
+ 33,165,171, 27,239, 73,175,137,107, 90, 18, 52,104,177, 28,135,127,206, 68,190, 49,208,114,199, 15, 63, 88,218,216,218, 34, 32,
+ 32,128,202, 77, 75,187, 86,162, 99, 98,229, 6,141, 26, 57,152,154,153,225,238,221,187, 96,148,250,216,226, 32,224, 17,180, 96,
+129,141,189,163, 35, 38, 76,156, 72,101,190,123,119, 93, 12,164,235,211,215, 6,110,110, 44, 13, 47,169,230, 21, 48, 48,107,254,
+ 64, 95,174,137, 17, 23,235,246,156, 65, 74,142,232,120,132, 0,123,254,163,246,142,125,213, 90,180,170,114, 62, 43,117,170, 54,
+174, 86,172,240,120,188, 50,107,138, 30,111,122, 31,157,179, 38,252, 29,156,159, 16,139, 1,156, 5,176, 56, 37, 37, 37,110,226,
+196,137,114,165, 92, 90,116,111, 77,131, 69, 81,235,235, 77,139, 8,228, 79,251,125,150,197,162, 18, 97, 94,209,142, 29, 59, 20,
+ 41, 41, 41,113,218,203,212,192,253, 14,192,197, 95,126,249,101,247,169, 83,167,224,229,229,133,152,152, 24,123,145, 72,212,234,
+249,243,231,214, 30, 30, 30, 8, 9, 9,193,137, 19, 39,182, 0,184, 90,157,200,210, 64,169, 84, 94,203,200,200,104,156,156,156,
+220,208,210,210, 82, 97,105,105,137,138,145,136,133, 98, 10,185, 5, 66, 88, 91,219,192,220,220,188,190, 14,226,252, 98, 70, 70,
+134, 59,101,213,164,139,123,206, 54, 97,228, 58, 23, 68,174,115,193,197,133, 78,224, 91,114,144,159,159,143,236,236,108,100,103,
+103,131, 32, 8, 40, 20,138,166, 58,112,190, 21, 8, 4, 7,222,189,123,119,214,193,193, 1,102,102,102,160, 1,100, 20, 40, 16,
+189,201, 3,209,155, 60,144, 81,160, 64, 97, 81, 17,234,213,171, 7, 51, 51,179,170,134, 40,200, 58,117,234,244, 29, 62,124,184,
+ 25, 0,168, 5, 84,119,154,166,167, 85,242,153,170, 84, 42, 59,105,218,126,255,253,247,214, 0,122,255,195,231, 19, 3,192,140,
+ 73,147, 38,181,225,241,120,216,185,115,231, 91, 0, 71, 52,247,250,221,187,119,199, 3,192,172, 89,179, 60, 1,204, 67, 21,153,
+160,203, 76, 67,108,118,235,166, 77,155, 34, 34, 34, 2, 0,206,212,176,238,208,123,247,238,161, 81,163, 70,224,241,120,109,107,
+104, 91,223,197,197, 5,241,241,241, 0,240,164,138, 54, 79,226,227,227, 75,135,123, 8,162,190, 14,219, 62,168, 87,175, 94,207,
+110,220,184,209,182, 99,199,142,152, 56,113,162,236,193,131, 7,125, 1,220,126,242,228, 73,183, 81,163, 70,137,220,221,221,113,
+235,214, 45,143, 81,163, 70,221, 35, 73,114,141, 14,156, 19, 86,173, 90,181,248,171,175,190,194,170, 85,171,232,147, 39, 79, 6,
+ 0,184,162,158,119,249,248,241,227, 99,214,174, 93, 75, 15, 30, 60, 24, 43, 87,174, 92, 12, 96, 90,117,100, 34,145, 72,168, 82,
+169, 32, 18,137,116, 50,201,235,218,222,214,214,246,203, 94,189,122, 97,233,210,165,168, 83,167, 14,206,159, 63, 79, 3, 8, 3,
+ 16, 46,147,201,186, 0,216, 44, 18,137,126,143,136,136, 64,207,158, 61,217, 40, 95, 98,164,186,245, 63, 59,122,244,168,212,194,
+194, 2,174,174,174,104,208,160, 1, 50, 50, 50,144,148,148, 4,111,111,111,180,110,221, 26, 74,165, 18, 7, 14, 28,144, 20, 21,
+ 21,233,148,147, 79, 41, 19, 29,190,122,225,180,208,198,140, 11,103,123, 11,212,171, 99,141,226,130, 28,100,103,164,163,117,211,
+186,232,218,186, 30,114,132, 50, 92, 14, 59,157, 95, 84, 84,114, 88, 39, 19,190,180,228,208,181, 63,206, 11,173,204,216,104,220,
+196, 19,163, 38,206,106,217,178,149,207,213,118,237, 58, 93,254,113,195,186,230,221, 59, 52, 37, 82,115, 36,184, 20,118, 38, 95,
+ 88, 88,120,232, 83,220,232, 87, 2, 12,137,133,251,237, 93,103, 35, 15, 52,235, 51,233, 64, 92, 42,182, 1,128,130,193,240,232,
+251,229,151, 72, 77, 77,197,233, 83,167, 4, 37,192, 83, 93,249,140,140,140, 72, 0, 16, 10,133,224,170,253,238,148, 64,147,126,
+253,250, 33, 59, 39, 7, 71,143, 28,201,190, 4, 68,233,211,207, 1, 0,199,216,168,212, 32, 40, 20, 10, 65, 0,133, 0, 64, 48,
+209,183,157, 87, 35,100,231, 21,226,198,195,184,226,122, 98, 76,175,142,231, 51,118,132,175,157,143, 22,128,156,121,243,230,129,
+203,229,130,207,231,151,137, 35,141, 88,225,112, 56,224,243,249, 80, 42,149, 56,126,252, 56, 0,228, 84,251,134, 7, 72, 7, 78,
+ 91, 79, 73, 21,116, 9,139,197,250, 40,156,234, 55, 71,233,144, 5, 63, 83,127,220,171, 60, 40,166, 54,156,159, 1,218,169,115,
+ 98,181, 3,144,159,148,148,148, 58,108,200, 64, 97,114,194,139, 12, 81, 65,186,160, 48, 55, 69,144,242,246,121,198,146,133,243,
+132,169,169,169, 41, 40,205,165,213, 46, 61, 61, 93,179,140, 46,152, 55,108,216,176,159, 38, 77,154, 68, 71, 71, 71, 3, 0, 34,
+ 35, 35, 49,110,220, 56,122,204,152, 49,219, 0, 44,170, 69,191, 69, 98,177,184,156, 53, 68,174,162,202,134,252, 10, 11, 11,145,
+158,158, 14,153, 76,166,179, 34,126,117,121,211,203,188,164,199, 10, 79, 87, 19,120,186,154,192,195,197, 24,132,178,184, 76,100,
+101,103,103,107,222,156, 37,122,244,179, 80, 42,149,150,235,167,246,208,100, 97, 97, 33, 50, 50, 50,160, 82,169,170,122,144, 81,
+105,105,105,151, 79,156, 56, 81, 4, 0, 63,254,248, 99, 30, 65, 16,127, 18, 4,241, 83, 37,159, 61, 76, 38,243,174,166,237,166,
+ 77,155,242,240,254,144,216,223,137,175,188,189,189,243, 23, 47, 94,188,115,246,236,217,216,179,103, 15, 4, 2,193, 34,252,149,
+139,135,202,201,201, 89,176,107,215, 46,140, 31, 63, 30,203,151, 47,223,212,170, 85,171, 66, 0,163,170, 34,180,179,179,115,102,
+ 50,153,136,138,138, 42, 4,240,166,134,245,103, 68, 69, 69,101, 18, 4, 1, 62,159,239, 86, 93, 67,107,107,235,134,102,102,102,
+ 72, 75, 75, 3,212,111,204,149, 32, 41, 61, 61,157,230,112, 56,112,114,114,106, 84,211,198, 91, 89, 89, 45, 56,112,224, 0,243,
+197,139, 23,232,222,189,123,234,173, 91,183,122, 2,208,132,164, 71, 69, 70, 70,250,118,235,214,237,229,213,171, 87,177,113,227,
+ 70,162, 69,139, 22,211,106,226,116,117,117,157, 58, 97,194, 4, 4, 7, 7, 99,239,222,189,211, 0,156,170,208,228,216,174, 93,
+187,102,237,221,187, 23, 19, 39, 78, 68,253,250,245, 71, 85,199,151,156,156,188,208,207,207, 47,242,213,171, 87, 58, 85, 60,208,
+177,125, 55, 31, 31,159,134, 98,177, 24,135, 14, 29,122,211,176, 97,195, 71,167, 78,157,154,135,247, 31,216,191,159, 62,125, 26,
+163, 71,143, 70,139, 22, 45, 14, 1, 24,169,203,101, 25, 27, 27,155,114,253,250,117,138,205,102,227,127,236,157,119,120, 20, 85,
+219,198,239,217,222,119,211, 59, 9,161,165,210, 2,132, 94, 2, 33, 8,132, 80, 68, 17, 65, 84, 20,145, 34, 10, 40, 22,192, 6,
+130,116, 65,164,136,133, 23, 1, 65,145, 22,154,128,130,116, 18, 32, 36,144, 4, 72,175,155, 94, 54,219,119,230,124,127,144, 96,
+136, 41,187, 9,126,130,206,239,186,230,218,228,204,206,189,103,218,217,123,159,115,206, 51, 62, 62, 62,136,140,140,196,243,207,
+ 63,143,206,157, 59,195,100, 50, 97,223,190,125, 76,124,124,124,182,209,104,180, 42,151, 82,241,157,223, 15,165,165, 37,159,191,
+118,249,172,153,199,229,192,219,221, 1, 99,195,187,226,149,241,125,209, 45,192, 19, 25, 5, 58,156, 62,253,171, 57, 45, 45,229,
+162, 53, 51, 14,107, 52, 19,111,197, 93, 72,184,118,206,194,231, 81, 8,240,239,128,133,239,191, 99,191,244,195, 5,118, 29,218,
+122, 35, 46,181, 28,191,158, 56,106,206,205,206,250,237,159,154,113,120, 6, 16,200, 69,148,140,203,225,128,230,136,170,184,213,
+ 19,105, 58, 6, 5,249,185,186,185, 33, 58, 58, 26, 28, 27,102,132,158, 1, 4,114,249,253, 94,112,141, 70,131, 26,189,118,254,
+254,254,222, 62, 62, 56, 18, 29, 13, 46,195,220, 30,104, 99,130,209,164,251,221,208, 15,116, 41, 64, 63,163, 21, 20,237, 90,185,
+248,219,171,100,184, 28,119, 23, 6, 51,185,242, 67, 41,254,209,124,100,127, 35,211,208,204,174,195,149,155, 55,111, 14,221,182,
+109,219,208,185,115,231,202,167, 76,153, 2,177, 88, 12,173, 86, 11, 47, 47, 47,208, 52,141, 99,199,142, 33, 38, 38, 70,195, 48,
+204,175,248,107,218,128,112,212,154,165,113, 60, 5,146,251,126, 75, 27,122,224,153,103, 30,137, 38, 0,200,239, 50,202,226,214,
+198, 29,235,247,158, 27,183,243,248, 53,234,205,137, 3, 57,221,252, 91, 1, 0, 92, 93, 93,161, 84, 42,109,214,124, 4,252,237,
+154,181,187,117,243,243,243,147,242,243,243, 11, 94,125,245,213,128,154,129,239, 34,145, 72, 95, 29,201, 42,173,111, 27, 43,234,
+105, 2, 48, 99,219,182,109, 7,203,203,203,143,191,253,246,219, 88,186,116, 41, 14, 29, 58,212, 31,192,249,102,238, 59, 93, 90,
+ 90, 90,118,229,202, 21,215,246,129, 33,104,227,194,199,128, 69,119, 64, 8,129,163,148,160,178,172, 4,215,175, 95, 67,101,101,
+229,101, 91,234,105, 50,153,202, 10, 10, 10,156, 92, 92, 92, 80, 82, 82,130,162,162,162, 7, 38,171,180,180, 20, 37, 37, 37,132,
+162,254,146,179,165, 49,205,170,130,130, 2,109, 98, 98,162,208,181, 85,123,180,117, 17,160,231,251, 73, 0, 33,240,118,224,160,
+178,162, 12, 23, 47, 94, 68,121,121,249,239, 13,105, 50, 12, 51,111,210,164, 73, 92, 0, 47,188,253,246,219, 14, 0,186,188,243,
+206, 59,191,162,206,204, 66, 30,143,183,118,199,142, 29, 29,107,186, 24, 23, 44, 88,176, 6,192,182,255,175,107,201,209,209,113,
+ 94,116,116,180,194,100, 50, 97,253,250,245, 88,179,102,205, 55,248,107,162,202,232, 47,191,252,114, 35,135,195,153, 57,107,214,
+ 44,188,246,218,107,210,238,221,187,207,205,203,203,251,161, 62,205,156,156,156,133,221,186,117, 91, 92, 80, 80,240,153, 85,102,
+249,206,157,105,221,186,117, 91, 88, 80, 80,176,162,177,115, 36,147,201,100, 52, 77, 35, 45, 45,173, 20,104,112,124,135, 62, 45,
+ 45, 45,135,166,105, 47,169, 84,234,208,212,245, 89, 90, 90,250, 89,247,238,221, 63, 82,171,213, 39, 0, 44,169,199,144,223,200,
+203,203, 11,158, 51,103,206,236,229,203,151,143,203,207,207,223,221,148,102, 70, 70,198,103, 97, 97, 97,139,146,147,147,191, 71,
+195, 93,192, 95,126,252,241,199,166, 29, 59,118,188,158,150,150,182,172, 9,205,195, 69, 69, 69,135,109, 56,191, 13,189,255,129,
+ 38,151,203,125,103,249,242,229,156,205,155, 55,131, 16,178,138,166,233,134,234, 25,183,127,255,254,237,125,251,246,157,178,119,
+239, 94,113,112,112,240,107, 6,131, 97, 87, 83,215,167, 86,171,221,183,119,239,222,113,113,113,113, 94, 83,166, 76, 17,251,249,
+249,193,100, 50, 33, 47, 47, 15,155, 55,111,214,199,199,199,103,151,149,149,237,179,165, 13,177, 24, 43, 38, 94, 56,125, 96, 87,
+250,157,248,222,131,158, 26,109,111, 52,121, 65, 84,204, 69, 89,113, 62,142, 29,222, 87,154,150,150,114, 81,171, 45,155,104,139,
+166,201, 80,254,220,197,223, 14,238,206, 78, 75,236, 53, 32,108,132,189,222,232, 3,145,128,131, 98,117, 14,142, 69, 31, 40, 73,
+ 75, 75,253, 67,111, 54,188,248, 79,181,243, 92, 95, 44,225,230,199,188, 58,125, 84, 87, 72,236,189,174,243,129,245,125, 1,137,
+147,171,171,160,250,222,129,252,254,152, 71,171, 52,213,128,176,125,117, 47,149, 86,171, 5, 31, 48,190, 4,240,157,157,157, 37,
+ 0,144,156,156, 12,233,253, 94, 13,155,234,169, 1,100,210, 90,186, 28, 64, 91,204,131,103, 59,165,140, 2,128,236,252, 98, 24,
+205,141,126,111, 60,233,108,173,101,184,182, 54, 71, 64, 0, 32, 92, 46,151, 47, 93,188,120,241,170,203,151, 47,175,138,140,140,
+ 92, 37, 18,137,150, 86, 31,108, 65, 35, 39,226,255, 77,179,135, 7, 28,194,218, 82,103, 35,218, 81,204,244,254,246,244,139, 61,
+101,198,193,131, 7,111,108, 97, 61, 91,114,179,252,157,154, 7,204,102, 51,193,253,110,187, 3,104,184, 75,240,189, 90,235,243,
+ 51, 51, 51, 73,245,223,182,212,211,105,194,132, 9, 76,101,101, 37,121,246,217,103, 9,154,126,132, 79,163,154, 34,145, 40,108,
+192,128, 1,102,117, 97, 9, 73, 74,205, 33,151, 98,111,145,227,167, 47,144,221,251,162,201,134,141, 91, 72,231,206,157,141, 0,
+124,108,209,228,241,120,131,195,194,194,138,213,106, 53, 73, 76, 76, 36,103,207,158, 37, 63,253,244, 19,217,178,101, 11,217,180,
+105, 19,105,213,170,149, 26,128,171, 45,154, 18,137,100,244,240,225,195,205,101, 21, 90,146,150, 83, 76,110, 38,166,145,243, 87,
+110,146, 99,167,207,147, 31,118,237, 37, 65, 65, 65,122, 43, 52,185, 92, 46,119,195,238,221,187, 43, 8, 33,100,244,232,209,217,
+120, 56,145,106,155,121,243,230, 21, 16, 66,200,138, 21, 43,138, 81,255, 64,248,191,251, 90,122,202,211,211, 51, 73, 32, 16, 68,
+ 3,120,161,137,237,158,227,241,120,135,220,220,220,174, 2, 24,251, 15,220, 71,145, 46, 46, 46,151, 0, 52,245,132,131,154,247,
+141,249,151,220,239,127,135,230, 96, 30,143,119, 22,104,252, 33,194,181,218,235, 79,185, 92,238, 17, 0, 67,108,172,103, 7, 39,
+ 39,167,103,237,237,237,223,180,183,183,127,211,197,197,229, 89,161, 80,216,161, 37,251,238,216, 33,124,148,119, 72,212,254, 86,
+ 93, 70,102,120,119,141,204,240,237, 54,122,191, 99,135,240, 81, 45,213,244,233, 54,250,128,119,215,200, 76,239,174,163,210,219,
+244, 24,189,223,201, 63,124,248, 63,121,142, 94,240,132,199,208, 54,176,144,179,139, 8, 57,187,136,132,183, 1,211,219, 14, 65,
+161,128, 98, 88,120,248,106, 66,211,171,199,141, 25,179,186, 61,224, 72, 0,110,221,165, 62,205, 16, 64,249, 96,219,209,163, 87,
+183, 5,156,134, 2,210,129,253,251,175, 34, 52,189,122,210,115,207,173,246, 6,220,234,211,107, 72,147, 0, 92, 79,192,163,182,
+174, 19,208,110,188, 47,130,223, 27,229, 75,200,217, 69,228,227,103,252, 72, 55, 87,188,208,132,102, 67,145,162, 39, 54,162, 85,
+223, 88,241,166,144, 85, 55,174,203,170, 95,101,143,224, 34,124,228,154,189,220,225, 23,222,142, 74, 28,225,207, 43,193,253, 41,
+201,178,127, 97, 35,249,189,209,104, 36,122,189,158,104,181, 90,162,209,104,234, 26,168, 7,134, 44, 55, 55,151,100,103,103,147,
+204,204, 76,146,158,158, 78,240,231,216, 27,171,235,169, 84, 42,183, 61,243,204, 51, 52,159,207,223,240, 40,246,221,193,193, 97,
+ 89,207,158, 61, 77, 95,124,241, 5,217,191,127, 63,249,250,235,175,201,172, 89,179, 72,199,142, 29, 13,118,118,118, 19,155,163,
+233,230,230,182,208,223,223,191,248,155,111,190, 33, 63,252,240, 3, 89,183,110, 29,249,224,131, 15,104, 47, 47,175,124,133, 66,
+ 49,172, 57,154, 46, 46, 46, 91,251,245,235,103,218,186,117, 43,249,245,215, 95,201,206,157, 59,201,188,121,243, 72, 64, 64,128,
+ 65, 38,147, 61,109,165, 38,151,199,227,173,158, 62,125,122,190,135,135, 71,116,157,117,210,160,160,160,171,147, 38, 77,202, 5,
+176,224, 95,116,125,178,154,172, 38,171,249, 55, 24,173,231, 61,224, 73, 0,174, 84, 32,120,110, 96,255,254,171, 4,192,115,182,
+154, 34, 49,151, 59,190,111,207,158,171, 4,192,196,154,247,138,185,220,241, 3,251,247, 95,197,231,114, 39, 55,164,215,152, 38,
+ 1,184, 2, 30,111, 65,223,222,189, 87,243,128,247,107,202, 6,183,161,110,207,123,170, 21,233,239, 67,221,157,236, 2,233,191,
+216,104,213, 75,115,140,214,131, 0,194,223,112, 17, 62, 41,154,143,203, 77,221,190,218, 48, 29,176, 33,162,117, 0,247,159,162,
+222,190,153,245,148, 60,226,125,239,228,228,228,116,180,125,251,246,133,173, 91,183,206,181,183,183,223, 5,192,171,133,154,193,
+110,110,110,255,115,117,117,189,227,238,238, 30,231,228,228,180, 22,247,179,206, 55, 91,147,207,231,247,116,117,117,253,221,215,
+215,183,204,199,199, 71,237,228,228,180,187,158, 72,150, 53,154,238,168,191, 81, 17, 84,175, 99,191,116, 88, 77, 86,147,213,124,
+200,192, 68,180,197,242,161,109, 96, 25,218, 6,116,132, 47,214,214, 54, 40,145,128,164,185,166,232, 69, 64, 84,247,253, 77,233,
+ 53,165, 73, 0,110, 31, 64, 94,119,155, 17, 94, 8,178, 82,243, 73,143,104,213,180,243, 15, 69,180,120,205, 20,180,252, 13,149,
+124, 82, 52, 31, 23,238,162,145,193,200,181, 88,246, 8, 63, 83,247,136,247,225,102, 81, 81,209,240,162,162, 71, 58, 55, 33, 33,
+ 63, 63,255,133, 71, 41,104, 54,155, 47,171,213,234, 65,143, 64,170,161,169,215, 38, 88, 57, 45,155,133,133,229,191, 3, 5,208,
+ 72,193,187,225, 29,176,158, 71,131,115, 44, 21, 57,117,166,228,233,168,230,104,222,135,254,190,158, 54,158,106,110, 61,255, 68,
+243, 23,141,108,220,162,254, 59,167, 45, 15,247,199,104, 89,159, 71,139,133,133,133,133,133,133,229,159,227,228, 29,246,135,216,
+ 19, 64, 52, 30,142,190, 69,215, 50,162, 13,134, 62,109,153, 73,209,156,240,233, 73, 86,147,213,100, 53, 89, 77, 86,147,213,100,
+ 53,255,115,154, 53, 52,244,236,212,164, 58,255, 55,107, 22,223,227, 64, 75,198,104,253,157, 6,140,213,100, 53, 89, 77, 86,147,
+213,100, 53, 89,205,255,158,230,147, 76,131,179, 14,217,174, 67, 22, 22, 22, 22, 22, 22, 22,150,150,209, 96,212,141, 53, 90, 44,
+ 44, 44, 44, 44, 44, 44, 44, 45,195, 29,247, 31, 81, 21,141, 63, 31, 85,181, 21,104,250, 17, 60, 15,177,124,249,114, 78,251,246,
+237,229, 66,161,176, 99, 74, 74, 10,103,198,140, 25, 45,158, 72,176,106,237, 6,142,143,143,143, 28, 64,199,226,210, 74,206,203,
+175,188, 77,177,231,139,133,133,133,133,133,133,229, 9, 98,100,181,177,170,121,125, 16,225,178, 41,162,181,100,201, 18,152,205,
+102, 25,128, 9,193,193,193,159,234,245,122,253,158, 61,123,168,234,108,225,205,226,253, 5,243, 96, 50,153,100, 0, 38,184, 56,
+217,125, 74,211,180,126,239,161,115,212, 51,163,250, 17,246,188,177,176,176,176,176,176,176, 60, 33, 76,171,243,186,213,102,163,
+197,227,241,184, 28, 14,167,173,217,108, 30, 46, 22,139, 79,232,245,250,179, 45, 49, 89, 53,154, 20,135,211,214, 98, 54, 15, 23,
+137,196, 39,180,218,170,179,172,201, 98, 97, 97, 97, 97, 97, 97,121,130,176,110,102,228,225,195,135, 27, 52, 56, 66,161,144, 19,
+ 28, 28,220,207,199,199,231,124, 96, 96,160,209,203,203,235, 39,169, 84, 42,107, 97,197, 56,237,253, 2,250,121,184,187,158,239,
+218,214,221,232,226,226,242, 19,159,207,151,177,231,139,133,133,133,133,133,229,191, 73, 99, 94,228, 49,166,102,166,225, 67, 79,
+249, 32,132,216, 52, 70,171,139, 90,173,222, 56,102,204,152, 94,115,230,204, 17,112,185,220, 86, 50,153,172,163,147,147,211, 67,
+ 81,177,151, 94,122,137,178, 73, 51, 63,111,227,210,241, 93,122,157,127,191,135,128,207, 69, 43,153, 76,214, 81,169, 84, 62,164,
+233, 61, 87, 77, 0, 0, 32, 0, 73, 68, 65, 84, 57,233,229,215,216,113, 91, 44, 44, 44, 44, 44, 44, 44,143, 43, 53,227,178, 70,
+214, 50, 93, 0,154,232, 58,236,209,163,135, 40, 43, 43,171,171, 78,167,115, 17, 8, 4, 11,162,162,162,130,199,141, 27,135,235,
+215,175,211,193,193,193, 30,197,197,197,179, 75, 75, 75, 79, 86, 85, 85, 93,103, 24, 38, 88, 36, 18,157,222,181,107,151, 28,192,
+157,134, 52, 59,117,233, 46,202,202, 72,125,160, 57,125,252,224,224, 23,230, 14, 7,115,116, 61, 61,184,179,183, 71, 70,145,118,
+118, 65,113,249, 73,109,149,230, 58,205,144, 96,145, 72,116,250,135,111,183, 52,170,201,194,194,194,194,194,194,194,242, 15, 82,
+ 99,172,162, 81,231,145,106, 60,224,126,152, 46, 50, 50,242,161,168,145, 80, 40,252, 42, 57, 57,185,175,131,131, 67, 91, 62,159,
+ 79, 63,247,220,115,162, 73,147, 38,161,176,176,144,209,104, 52,220,144,144, 16,215,171, 87,175, 14,183, 88, 44,253,237,236,236,
+180,101,101,101, 78, 6,131,225, 46,128,217,141, 84,228,171, 59, 73,241,125, 29,237, 29,218, 10,249, 92,122,214,212, 73,162,247,
+ 23, 60, 5,202, 16,203,208, 5,197,220, 79,187,217,185,174,189, 80, 53, 60,217, 68,247,175, 82,137,181,249,229, 6,107, 52, 89,
+ 88, 88, 88, 88, 88, 88,158,112,234,243, 34, 79, 16, 77,230,209, 26, 84,221, 39, 90,251,193,185,219,157,157,157,221,228,114,121,
+224,180,105,211, 56, 78, 78, 78,136,137,137, 97,170,170,170, 56,124, 62, 31,124, 62,159, 59,120,240, 96,185,197, 98,145, 30, 57,
+114,132,186,119,239, 94,161,217,108,254,180,184,184,248,106, 35, 21,217,222,206, 78,228, 38,177, 19, 6, 30,122,123, 0,199,185,
+125, 49,112,252, 99,134,104, 10, 56, 60,134,192, 73,198,112, 87,247,167,228,249, 42, 95,233,172,221,133,212, 31,247,202, 10,205,
+102,243,167,149,149,149, 87,217, 75,144,133,133,133,133,133,229, 95, 77,125, 94,228, 73,161,118, 30,173,135, 34, 90, 13, 58, 71,
+ 87, 87, 87, 74,175,215,187,249,250,250, 78,115,118,118,158, 44,149, 74, 93, 7, 12, 24, 32,161,105, 26,132, 16,168, 84, 42,166,
+117,235,214,204,174, 93,187, 44,231,206,157,203,126,227,141, 55,198,204,156, 57,243,246,136, 17, 35, 56, 71,142, 28, 97,234,211,
+180,179,119,160, 44,218, 10, 55,239,182,129,211, 58, 57,147,201,190, 42,147,235,162, 40,169,132,151, 86, 4,226,196, 3, 92,124,
+ 25, 78,199, 8,102,217,234, 19,150,175, 79,166,102,191,179,104,217,152,215,167, 78,184, 29, 30, 49,130,115,242, 68,253,154, 44,
+ 44, 44, 44, 44, 44, 44, 44,255, 48,211,112, 63,170, 85,243, 10,224,254, 96,248, 6,141, 86,223,190,125,169,132,132, 4,202,199,
+199, 71, 90, 92, 92, 28, 4, 96,237,252,249,243, 67, 9, 33,180, 68, 34,225, 74, 36, 18,250,183,223,126,211,254,252,243,207,231,
+204,102,243, 11, 70,163,177,212,215,215,151, 74, 75, 75,107,112,182, 64,143, 94,189,169, 91,113,215, 41,111,159,182,210,226, 34,
+117, 16, 5,178, 54,231,125,143, 80,190,166,148,134,135, 51, 23, 10, 23,122,213,190, 82,237,251,191,220, 56,103, 54,155, 94, 0,
+ 80,234,229,225, 78,101,231,230,177,233, 30, 88, 88, 88, 88, 88, 88, 88, 30,103,163, 85,151,173,141, 62,235,240,252,249,243, 4,
+ 0,201,201,201,161,205,102,179,114,224,192,129,246, 92, 46, 23,142,142,142, 92,173, 86,203, 84, 85, 85,113,157,156,156,114,249,
+124,254, 15, 85, 85, 85,165, 99,198,140,161,246,239,223,223,168, 33,186,122,233, 34, 1, 64,178,179,179,104,198,172, 87,206,232,
+215,218,158,103, 49,129, 9,233,203,213, 84, 82,140, 92,151,198, 13,112, 23,229, 10, 4,252, 31,204,102, 83,233,216,200,145,212,
+ 47,135,163, 89,147,197,194,194,194,194,194,194,242, 56,211,224, 24,173, 38,211, 59,104,181, 90,123,129, 64, 16, 30, 26, 26,218,
+186,170,170,138, 89,178,100, 73,214, 23, 95,124,177,227,238,221,187,102, 59, 59,187,182, 18,137,228,205, 9, 19, 38, 56,237,223,
+191,159,244,239,223,191,110,132,172,222,167,123,235,116, 26,123,145,128, 31,254,102, 79, 69,235, 44,147, 61, 19,248,230,149,172,
+129,139, 47,236,248, 37,129,103,238,228,160,107,235, 32,164,222,156, 48,225, 89,167, 95, 14, 71,147,222,189,123, 89,165,217, 66,
+ 88, 77, 86,147,213,100, 53, 89, 77, 86,147,213,252,103, 53,159,116,166,161, 78,106, 7,192,138,204,240, 34,145,104,128,183,183,
+119,191,132,132, 4,250,226,197,139,229, 28, 14,103,211,136, 17, 35,126,218,183,111, 95, 79, 7, 7, 7,151, 86,173, 90,185,158,
+ 58,117, 42, 12,192,158, 63,254,248,195,170,232,147, 68, 36, 24,208,213, 75,213,111,235, 13, 66,127, 27,115,167,156,230,138, 54,
+ 13,126,250,233,159,222,216,177,179,167,135,147,194,165,171,187,210,245,200,145, 99, 97, 0,246, 92,188,120,137,141,104,177,176,
+176,176,176,176,176, 60,238, 38,107,107,125,255, 55, 26,209, 18, 10,133,158, 92, 46, 55, 40, 59, 59, 59,227,200,145, 35, 9, 61,
+122,244, 24,158,145,145,177,156, 16,146, 46,149, 74,167,101,101,101,221,201,202,202, 50,234,116,186,233, 54, 84,198, 19, 28, 65,
+ 80, 76,174, 46,227,243, 83,183, 18, 58,245, 30, 54, 60, 63, 63,119, 57, 77, 72,186, 80,170,156,150,156, 89,120,231, 82,129,193,
+168,215,219,164,201,194,194,194,194,194,194,194,242,216,209, 84, 68,203, 68,211,244, 74,131,193, 96,255,203, 47,191,228, 68, 68,
+ 68, 24, 0,224,171,175,190, 98,166, 78,157,122, 46, 37, 37,101,200,237,219,183,135,187,185,185,157, 6, 64,165,166,166, 90, 19,
+125, 50, 49, 12,189,210,104, 52,216,159,250, 45, 54,103, 64,191, 78, 6, 0,216,252,229,122,230,185,105,115,206,165, 36, 38, 12,
+ 73,142,191, 54,220,205,205,237, 52,109,225, 81,121,249,233,108, 68,139,133,133,133,133,133,133,229,113,166,102,198, 97,237,255,
+155, 54, 90, 70,163,177,208,104, 52, 2, 64,105, 68, 68,196, 67,235,190,249,230, 27, 2,160, 10,192,222,226,226, 98, 91, 42, 83,
+168,211,233, 0,160,116, 64,191, 78, 15,173,216,189,245,139, 7,154,154,202, 10,246,180,177,176,176,176,176,176,176, 60, 73,102,
+235, 47,112,216,227,194,194,194,194,194,194,194,194,210, 34,166, 53,244, 63,133,134,103, 14,156,180,225, 3,154, 51,251,224, 36,
+171,201,106,178,154,172, 38,171,201,106,178,154,255, 57,205,166,180, 79,226,201,163,222,193,240,132,252,253,163,159,216,169,175,
+172, 38,171,201,106,178,154,172, 38,171,201,106,254,219,113,199,195,233, 29,220,129,251,153,225,121,236,177, 97, 97,121,178, 33,
+123,193, 69,169,191, 47, 8,241, 0, 87,152,135,188,155, 41,212, 71, 96, 90,172,169, 14,242,129,196,236, 10,139,184, 16,234,184,
+212,150,106,178,176,176,252,251,112,235, 51, 99, 44,197,225,110,162, 8, 3,157, 58, 81, 36,208,165, 75, 11,242, 50,254,139,222,
+ 34, 15, 13,140,209, 98,141, 22, 11,203,147, 78, 97,128, 31,120, 88, 6, 14,220, 65, 76,247,224, 28,180, 12,184, 21,223, 98, 77,
+ 1,179, 4, 52,199, 11,196,148, 12, 23,255,229, 64,210, 45,246, 96,255,251,152, 61,235,117,114, 59,254, 50, 50, 51,115,209,182,
+157, 59,252, 2,250,224,139,245, 27, 41,246,200,176, 88,247,171,140,218, 26, 62,106,146,131, 68,170, 0, 0, 48, 22, 51,190,153,
+219,245, 87,139,197,178, 29,192,126, 0,186,255,250, 33,250,127, 31, 12,207,231,243,213, 0, 24,177, 88,188, 15,213,161, 53, 22,
+150,191, 9,247,234,235,140,169,190,238,108, 65,206,227,241, 22, 75,165,210,223, 68, 34, 81,129, 72, 36, 42,144,201,100,191,241,
+120,188,197, 0,228,143, 77, 27,247,191,142, 82,112,232,225, 70, 51,227,121,236,102,153,139,214, 64,251,129, 99, 25, 65,190,233,
+ 32,111,145, 38,143,138,208,155, 24,239, 31,174,104, 93,171,140,150, 64, 16,180, 72,179, 22,118, 2,129,224, 24, 0, 39,246,242,
+124, 60,200, 72,141,199,145,195,171,177,228,147, 41,248,110,235,116, 36,221,190,212, 34,189, 64,160,123,119, 30,111,126, 0, 48,
+ 24, 0,107,216,254,237, 80,100,218,201, 67, 63, 20, 30,218,245,101,225,143,171,167,147, 3,203, 34,177,126,253,250,240, 41, 83,
+166,252,224,237,237, 93, 8,224, 25,214,104,253, 63, 99, 54,155, 93,138,138,138,168,237,219,183, 71,169, 84,170,123, 60, 30,239,
+ 61, 0,130,255,202, 1,151,203,229, 23,148, 74,165, 90,165, 82,169,149, 74,229,181,166,202,255,165,248, 57, 59, 59,103, 56, 56,
+ 56, 36,215, 46,116,238, 60,182, 79,251,190, 47,124,232, 24, 52,122, 96, 11,245, 5, 60, 30,239, 61,149, 74,117,111,251,246,237,
+ 81, 57, 57, 57,148,217,108,118,177, 97,251, 1,246,246,246,183, 47, 95,190,188,168,168,168,104, 96,214,165,111,156,243, 47,111,
+113,206,248,125,245,160,152, 35, 27, 22,217,217,169,110, 1, 24,240, 88, 28, 73, 61,227, 10, 14, 55, 44, 33, 79, 43,205,171, 48,
+187,198,166,107, 21, 0,119, 16,140, 45,248, 17, 83,206,184, 2,100,240,141,108,157,236, 66,137,179,235, 31, 41, 6, 37, 56,156,
+ 48,232, 41,183, 22, 55, 56, 28,206,235, 12,195, 12, 21, 8, 4,111,178,223, 80,143, 7, 34,145, 0, 32, 4,114,153, 24, 0, 1,
+167,133,214, 72,200,225,244,189, 16, 21,181,100, 65,231,206,179, 3,128, 81, 13,152, 45, 10,192, 27, 1, 1, 1, 71, 1, 60,247,
+ 8,119,231,115,127,127,255, 28, 0,115, 30, 85,187,212,173, 91,183, 62, 97, 97, 97, 31,118,237,218,117,224,163,210,252, 55,145,
+127,225,171, 95,242,206,109,112,201, 61,191,209,165, 44,245,236, 27,238,174,246, 76,106,106, 42, 70,142, 28,137, 47,191,252, 82,
+ 26, 28, 28,188, 3,128,199,127,224, 86, 10,169,249,129,143, 90, 99,180,108, 50, 90,227,125,209,119, 98, 27,156,121,214, 23,149,
+ 19,218, 64, 51,185, 13,206, 61,237,139,193,205,169,141,163,163, 35, 6, 12, 24,192,205,201,201,145,204,155, 55,239, 67,177, 88,
+156, 6, 96, 88,115,180, 36, 18, 73,140, 84, 42,205,226,241,120, 15,213, 69, 42,149,198,200,100,178, 44, 30,143, 55,164,118,185,
+ 66,161,184,160, 84, 42,213, 10,133,226, 90, 3, 70, 40, 70,169, 84,170,229,114,121, 76,237,114, 30,143, 55, 68, 46,151,103, 43,
+ 20,138,186,229,131, 21, 10, 69, 86,221,242,134,224,243,249, 94, 89, 89, 89, 46,217,217,217, 46, 66,161,208,181,118,121,102,102,
+166, 75, 86, 86,214, 67,229,182,192,227,241, 6,203,100,178, 44,169, 84, 26, 83, 95,121,221,125,106,136, 90,199,110,176, 53,229,
+182, 54, 60, 17, 17, 17,231,242,242,242,188,237,236,236,236,106,175,112, 80,217, 13,251,223, 55, 27,231,142, 30, 17,241,186,115,
+224,152, 78,205,212, 31, 38, 22,139,211,230,205,155,247, 97, 78, 78,142,164,119,239,222, 92, 14,199,166,223, 19,225,163, 71,143,
+ 62,160, 86,171, 61,187,116,233,194,181, 88, 44, 72, 56,184, 24,210,184, 55, 33, 78,219,140, 86,146, 66,222,189, 95,151,123, 69,
+ 12,234,126, 0,255,240, 96, 80,178, 55, 80, 0,138, 25,192, 16,226,124, 59, 71,239, 60, 50,234, 25,222,245, 44,157,179,153,166,
+ 29, 0,238, 32,242,157,143,168, 89,154, 60,115,127,134, 16,215, 83,233,124,231,176,103,103,115, 79,167,243,156,205, 52,237, 8,
+ 14, 6, 54, 71,179,246,229,207,229,114,231,174, 94,189,154, 3, 96, 22, 0,225,127,201,208,132,122,192,115,112, 59,238,149, 16,
+119,244,125,132,178,193,213,247,187, 95, 75,133,182,125,119, 20, 83, 95,219,138, 14, 1,189, 90,164, 99,100,152,164,221,169,169,
+199, 39,183,107, 23,185,160,115,231,151,234, 49, 91, 20,128, 5,203,151, 47,127, 33, 33, 33,193,185, 77,155, 54,175, 61,162, 31,
+253,235,150, 47, 95,254, 78, 66, 66,130,135,175,175,239,199, 54,106, 54,216, 46,217,219,219, 15,219,182,109,219,220,145, 35, 71,
+190,222,173, 91,183, 78,143, 66,243, 95,204,151, 55,110,220,240, 94,189,122,245,187, 83,167, 78,173, 0,128, 33, 67,134, 8, 0,
+244,110,113,123, 71,136,144, 16, 18, 70, 8, 25, 73, 8, 25, 66, 8, 9,173,254,187, 71,245, 50,146, 16, 18, 94,231,181, 71,245,
+182, 53,235,123, 54,160, 49,178,238,118,181,182,169,251,255, 67,127,215, 99,180, 70,226,254, 88,173,145, 15,237,192,225,195,135,
+ 73,237,215,186, 76,240,197, 71,179,251,120,106,111, 31,218, 73, 52, 89,169,164, 52,241, 58,185,190,245, 51, 50,187,135,179,246,
+249, 54,248,220,246,227, 69,200,249,243,231, 73, 66, 66, 2,209,104, 52,228,206,157, 59,164,103,207,158, 58,169, 84,122, 10,128,
+175, 45, 98, 10,133, 66,125,234,212, 41, 18, 17, 17, 81, 46,151,203, 87,213,220, 92, 74,165, 82,125,254,252,121, 18, 17, 17, 81,
+174, 80, 40,214, 1,224, 2,192,211, 79, 63, 93, 64, 8, 33,206,206,206,185,245,233,141, 30, 61,186,148, 16, 66, 84, 42, 85, 77,
+ 87, 19, 87,161, 80,172,155, 57,115,166,230,234,213,171,196,222,222,190,166,156,163, 84, 42, 87,205,154, 53, 75, 19, 27, 27, 91,
+187,188, 81, 28, 28, 28,178,104,154, 38,135, 14, 29, 34, 46, 46, 46,185,181,110,230, 44,154,166,201,129, 3, 7, 26,172, 91, 99,
+129, 2,185, 92,190,114,242,228,201,149,233,233,233,196,209,209, 81, 93,171,124,213,148, 41, 83, 42, 51, 51, 51,137,147,147,147,
+ 85,117,116,116,116, 84, 95,184,112,129,140, 27, 55,174,162,246, 49,117,116,116, 84, 95,188,120,177,166,124,165, 53, 13,153,135,
+135,199,107, 46, 46, 46,185, 46, 46, 46,185,118,118,118, 75,221,221,221,243, 11, 11, 11, 9, 33,132,180,109,219,182,160,118, 36,
+203, 37, 56,234,173,205,123, 47, 94, 62, 27, 95, 92,216,121,232,235, 43, 85,157, 71,171,108, 56, 6,190, 82,169,244,212,192,129,
+ 3,117, 89, 89, 89,164,170,170,138,196,197,197,145,243,231,207,147,187,119,239, 18, 0,214,204,177, 85,200,229,242, 28,131,193,
+192, 24, 12, 6,166,176,176,144, 46, 40, 40,160, 19, 87,185, 19,242, 45,255,193, 82,118, 96, 20,201, 63,187,140, 81,202,165,217,
+ 0, 20,255,152,209,218, 24,228, 69,182,248,239,190,181,216, 59,241,236,242,167,204, 36,253, 52,217,249,146,179,249,204, 91,158,
+247,200,166,128,159,201,150,192, 86,205,210,220, 20,184, 51,238, 3,239,164, 13, 31,191, 97,206,200,200, 32,243,167, 60,101, 57,
+ 49,219, 51,133,108, 14,216,219, 28,205, 90, 76, 28, 59,118,172, 38, 51, 51,147, 4, 5, 5, 85,113,185,220,169,255, 37,147, 21,
+238, 39,204,137,251, 97, 62, 51, 42, 88, 90,252,136,204, 86,176,139,139, 75,209,247,223,127, 79, 20, 10, 69, 65,115,205,214,248,
+ 49,131,136,174,252, 20, 25, 19, 25,218,232, 61,242,236,179,207,146,176,176, 48, 50,123,246,236,166,238, 37, 42, 0,136,218,222,
+185,243, 1,102,252,120,122,123,231,206, 7, 2,128,168,106,131, 69, 1,120,119,197,138, 21,177,102,179, 57,246,187,239,190,139,
+141,138,138,138, 5, 48,191,133,199,226,139,207, 63,255,156,152,205,102,242,221,119,223,145,168,168, 40, 2, 96,125, 75,218,165,
+154, 72, 86, 72, 72,200, 91,251,247,239,191,156,148,148, 84, 24, 25, 25,185,178,115,231,206,170,230,106, 62,142,200,229,242,246,
+157, 58,117,218, 17, 20, 20,148,217,165, 75, 23, 99, 96, 96,160,222,207,207, 47, 61, 56, 56,248,123,145, 72,228,219, 76,217, 94,
+125,251,246,165,207,156, 57, 67,198,142, 29, 75,106,153,144, 70,105,204,139, 16, 66, 66,223,125,247,221,247, 0,144,119,223,125,
+247, 61, 66,200,200,106, 63, 49,178,246,223,117, 95,107,204, 83,205,255,245,105,212, 44,245,105,214,247, 25,117, 62, 7, 13, 68,
+178,166, 85,215,251,207,157, 59,124,248,240,192,195,135, 15,159,169,187,115,207,180, 65,159,217,125, 60,117,186,194, 60, 18,255,
+217,155,228,183, 48, 47,114,126,144, 27, 73,158, 59,150,228,253,176,142,204,232,106,175, 29,223, 6, 97,182, 26,173,216,216, 88,
+ 18, 27, 27, 75,174, 93,187, 70,210,210,210, 72,121,121, 57,249,241,199, 31,105, 71, 71, 71,157, 72, 36, 90, 14, 64, 98,141,152,
+ 82,169, 84, 19, 66,136,193, 96, 32, 75,151, 46,213, 87, 71,170, 92, 85, 42,149,154, 16, 66,202,202,202,200,242,229,203,245, 42,
+149, 42, 14,128,135,147,147, 83, 86,106,106, 42,113,117,117,173,215,204,216,219,219,171,147,146,146,106,140,147,167,189,189,125,
+252,193,131, 7, 77,132, 16,146,157,157, 77, 28, 28, 28,212, 0, 92, 29, 29, 29,175, 31, 62,124,216, 68, 8, 33,185,185,185, 53,
+229, 86, 25, 45,157, 78, 71, 78,156, 56,241, 80, 29,106,202,143, 30, 61,250,144, 1,179, 2, 87,149, 74, 21,251,227,143, 63, 26,
+105,154, 38,241,241,241, 53, 38,209,213,206,206,238,218,222,189,123,141, 52, 77,147,196,196, 68,171,205, 96,235,214,173, 11, 8,
+ 33,196, 98,177,144,205,155, 55, 27,106,142,105, 77,185,209,104, 36, 95,125,245,149, 65,169, 84,198, 2,104, 52,250,230,228,228,
+148,107, 52, 26, 73, 89, 89, 25,233,217,179,167,230,252,249,243,164,162,162,130, 16, 66, 72,235,214,173, 11, 0,192,127,224,212,
+ 79, 47,223,209, 84,188,252,206,198, 61,190,161,207,127,118,252, 74, 78,246,182,253, 49,177, 78,193,163,159,178, 38,168, 41, 18,
+137,150,187,187,187,235,255,248,227, 15,218,100, 50,145,204,204, 76,114,237,218,181, 7,215,216,205,155, 55,173, 50, 90, 60, 30,
+111,241,229,203,151, 77, 52, 77, 51, 69, 69, 69,116, 65, 65, 1, 93, 80, 80, 96,169,107,180,200,183,124, 82,116,244, 85, 18,189,
+117,142, 81, 32, 16, 44,254,103,162, 89,224,146, 45,254,163,201, 22,255,216,239, 39, 59, 21, 85, 94,219, 69,200,175,115, 72,202,
+167,109,200,226,167, 20,149,204, 22,255, 88,178, 37, 96, 60,249,104, 32,207, 38,205,173,129,163,200, 22,255,216,207,159,241, 41,
+190, 30,123,149,156, 57,115,134,124,181,110, 5,153, 29,238, 89,197,108,241,143, 37,155, 2,199,217,162, 89, 27,145, 72,116,231,
+220,185,115,228,236,217,179,228,227,143, 63, 38, 82,169, 52,243, 81, 68,245,200, 38, 63, 31,242,181,223, 64,242, 77, 7,119,242,
+251,192,199,110,130, 79,168, 7, 60,135,250, 9,179,139,174,239, 39,164,228, 46,201, 95, 21, 68,158,242,231,183,212,108, 5,187,
+184,184, 20,166,167,167,147,252,252,124,178,102,205, 26,162, 84, 42,155,101,182,198,143, 25, 68,116,101, 39, 27, 53, 90,163, 71,
+143, 38,107,215,174, 37,102,179,153,244,234,213,203,154, 31, 45,127, 49, 91,254,192,104, 0,239,173, 92,185,242,129,201,218,184,
+113, 99,236,205,155, 55, 99,189,189,189,143,180,224, 88,172, 95,185,114,229, 3,147,181,113,227, 70,114,243,230, 77,226,227,227,
+147,213,146,118,105,232,208,161,159,166,165,165, 85, 44, 92,184,112,207,128, 1, 3, 62,187,126,253,122,118,116,116,116,108, 72,
+ 72,200, 83,205,213,124, 4, 81, 29, 94,117,100, 71, 72, 8,225, 19, 66,106,204, 43, 15, 0,191, 38,160, 96, 13,147, 39, 79,150,
+246,233,211, 39,118,210,164, 73,218,239,191,255,158,164,167,167,147,184,184, 56,178,114,229, 74,242,225,135, 31,146,111,191,253,
+150,140, 27, 55,174,170,103,207,158,151,199,143, 31, 47,182,161,154, 65,190,190,190,229, 7, 14, 28, 32, 59,119,238, 36, 2,129,
+ 32,218,218, 13, 27,243, 34, 13,153,169,134, 12, 86,221,117,141, 24,177, 70, 13,155, 21,159,247,192, 84, 53,112,206, 30,138, 72,
+252, 30, 25, 25, 57,240, 47, 95, 62, 4,159, 76,155,247,169, 56,237,251, 53, 80,255,248, 37,184,101,106,240, 43,139, 97, 56, 23,
+ 13,243,185,131,120,161,119,111,137,132,162,150,216,122,193, 8,133, 66, 8,133, 66, 8, 4, 2,104,181, 90,228,230,230,162, 95,
+191,126,156,107,215,174,137, 95,123,237,181, 57, 18,137, 36, 19,192,152, 38,239,102,234,126, 68,250,194,133, 11,120,245,213, 87,
+ 69, 59,118,236,232,226,236,236,124,131,166,105, 33, 0, 36, 38, 38, 98,194,132, 9,162, 93,187,118,117,244,240,240,184,102, 50,
+153,164, 34,145, 8, 92, 46,183, 65, 61,161, 80, 8,179,217, 44,234,208,161, 67,220,141, 27, 55,130, 35, 35, 35,249, 25, 25, 25,
+ 72, 77, 77,133,217,108, 22,250,249,249,221,188,118,237, 90,151,145, 35, 71,242,179,178,178,144,145,145,241,160, 30,214,212,215,
+104, 52, 66, 36, 18,161,118,151, 22, 69, 81, 48, 24, 12, 16, 10,133, 86,107,241,120,188,193, 1, 1, 1, 55,111,220,184, 17, 50,
+122,244,104,193,213,171, 87,145,157,157, 13,154,166,133,129,129,129, 55,111,220,184,209, 53, 42, 42, 74, 16, 23, 23, 7,181, 90,
+ 13,107,187,208,106,222,119,227,198, 13, 76,154, 52, 73,120,236,216,177,174,238,238,238,113, 22,139, 69, 8, 0, 55,111,222,196,
+132, 9, 19,132,199,143, 31, 15,105,213,170, 85, 92, 19, 93,137, 92, 0, 48,155,205,120,237,181,215,100, 74,165, 18, 89, 89, 89,
+ 96, 24, 6, 52, 77, 3, 0,138, 75,139,111,222,184, 25,159,248,194,196,103, 6,234, 76, 6,195,197, 43, 49,183,219,182,246,241,
+162, 40,210,186,137,170,142,145,201,100,153,171, 86,173,122, 43, 61, 61, 93, 20, 16, 16,192, 73, 73, 73, 65,101,101, 37, 4, 2,
+193,131,107,204,218,253, 22, 10,133,131,130,130,130,120,122,189, 30, 12,195, 0, 0,225,112,234, 31,177, 34, 46, 59,135, 64, 87,
+ 11, 95, 34,145, 12,250, 71,190,189, 43,130, 28,193, 96,104, 70,161, 81, 36,178,243, 82,200,221,253,128,204,179,104,227, 44, 2,
+151,195, 21, 95, 77,213,202, 0, 50, 20,222, 69,142,182,105, 50, 67, 83, 11,140, 34,179, 67, 71,185,135,151, 55,138,139,139,209,
+170,109, 0,244, 66,103,225,133,187, 85,114, 80, 54,106,254, 73,255, 14, 29, 58,184,181,111,223, 30, 69, 69, 69, 8, 9, 9,129,
+189,189,189, 61,128,161,205,254,210,249,206, 71,132, 10,244, 5, 56,171, 64, 83, 31,195,204, 91,134,187,133, 33,100, 75, 8,255,
+113, 50, 89, 74,185,240,210,174,221, 63,122, 58,122, 7, 2,209, 47,195,213, 78,132,111, 94, 15,113,112, 86,137, 14, 52,211,108,
+ 5,187,186,186,158,190,124,249,178,147, 88, 44,198,181,107,215, 16, 20, 20,132, 53,107,214, 56,219,219,219,159,109, 94,100,139,
+128, 80, 13,155,172, 1, 3, 6, 96,214,172, 89,216,177, 99, 7, 28, 28, 28, 48,105,210,164,166,204, 22, 73, 4, 14,125, 30, 23,
+247,221,142,123,247, 14, 79,110,215, 46,114,146,159,223,210,233,207, 61, 55,245,141, 55,222,192,138, 21, 43,112,224,192, 1,244,
+237,219, 23,211,166, 77, 51,103,102,102,110,111,110, 87,213,170, 85,171,102,207,153, 51,167,174,166, 41, 35, 35,227,243, 22,181,
+ 75,197,197, 55,227,226,226, 18, 39, 78,156, 56, 80,175,215, 27,174, 92,185,114,219,215,215,215, 11, 64,235,230,106,182,192, 96,
+ 81,132, 16, 49, 0,105,245, 34, 3, 32,221,181,107,151,106,244,232,209,202,234, 50, 73,245,210,100,247,126, 80, 80,144,215,157,
+ 59,119,114,230,206,157, 27,178, 99,199, 14,137, 84, 42, 69, 89, 89, 25,190,254,250,107,188,247,222,123,160, 40, 10,132, 16,124,
+251,237,183,210,151, 94,122, 41,244,222,189,123, 57, 62, 62, 62,214, 12,105, 17,201,229,242,189, 75,151, 46, 85, 50, 12,131, 5,
+ 11, 22, 20,153, 76,166, 89,213,235, 22,218,217,217, 93,194,125,195,221, 24,245,122,145, 90,223,149,135,235, 28,155,200,186,101,
+117,215, 17, 66, 34, 27,211,176,241, 92,212,247,121,209,141,153,173,218,223, 64,131,234,117,145, 64,103, 55, 95,127,148,255,186,
+ 23, 18, 30, 5, 9,183,122,225, 81,224,164,220, 68, 43, 49, 31,102, 66,130,155,107,180,106, 22, 62,159, 15,173, 86, 11,154,166,
+241,222,123,239,137, 78,156, 56,225,200,225,112,126,110, 74,167,182, 97, 74, 78, 78, 70, 96, 96, 32,117,232,208, 33,215, 89,179,
+102, 73,106, 62,167,188,188, 28,237,219,183,167,142, 30, 61,234,242,193, 7, 31,200, 27, 51, 51, 20, 69, 65, 32, 16, 96,206,156,
+ 57,146, 43, 87,174, 56,120,120,120, 32, 37, 37, 5, 37, 37, 37,144,203,229,152, 51,103,142,228,242,229,203,206, 30, 30, 30, 72,
+ 79, 79, 71,121,121, 57,228,114,185,205, 70, 75, 32, 16, 60,180, 13, 69, 81, 48,153, 76, 54, 25, 3,149, 74,181, 51, 54, 54,214,
+ 89,165, 82, 33, 46, 46, 14, 22,139, 5, 42,149, 10,179,103,207,150,196,198,198, 58,219,217,217, 33, 49, 49, 17,132, 16, 40,149,
+ 74,155,234, 8, 0, 12,195, 32, 49, 49, 17,173, 91,183,198,217,179,103, 93,166, 79,159, 46,174, 41,191,123,247, 46,188,188,188,
+112,246,236, 89, 23,153, 76,182,179, 33, 45,134, 97,144,151,151,135,132,132, 4,164,164,164,160,176,176, 16, 69, 69, 69,168,172,
+172,132,197, 98, 1, 0, 72, 43, 43,162,119,237, 57,116, 67, 34,145, 72,131,252, 58,120,223,140,191, 85, 32,145, 72,164, 62,222,
+222,126,192, 71,156, 70, 12,225,207, 25, 25, 25,142, 47,189,244,146, 32, 63, 63, 31,165,165,165,224,241,120,127,185,182,132, 66,
+235,134, 2, 89, 44,150, 64,177, 88, 76,153, 76,166, 7, 17, 48,161, 80,136,183,118,106, 17,180, 24, 15, 45,207,173, 43, 0,161,
+205, 48, 26,141,129,255,239,209, 44,128, 2,101,236, 0,138, 10,185,148, 82,229,208, 63,114,162, 0,169,199, 0,198, 12,112,120,
+ 24,212,217,139,119,224,102,149, 43, 8, 58,195,128, 0, 66,154,158,249, 69, 0, 10, 48,181, 7,168,238, 39,238, 88, 28,251,142,
+125, 93,144,147,147, 3,129, 64, 0,145, 72,132,144,193, 79,243,118,221, 48,187,129, 66, 23,152,224,111,141,230, 67, 97, 71,137,
+100,209,135, 31,126, 40,171,173, 57,117,234, 84,153, 74,165,250,176,217, 38,171, 74,218, 27, 22, 50, 39, 33, 71,219,122,105,116,
+126,224,189, 2,157, 63, 8,153, 11,152,187, 62, 2,179, 53, 72, 36, 18,165, 2,232,215, 34,147,165, 16, 94,220,189,251, 71, 79,
+135, 86,247, 77, 22, 44,122,128, 47,129,155,179, 29,190,121, 43,204,193,217, 78, 98,171,217, 10,118,117,117, 61,117,233,210, 37,
+ 39,177, 88,140,216,216, 88, 8, 4, 2,136,197, 98,116,234,212, 9, 91,182,108,113,118,112,112,176,217,108, 17,144,122, 99,190,
+ 99,198,140, 33, 3, 6, 12,192,204,153, 51,177,125,251,118, 24,141, 70, 44, 93,186, 20, 25, 25, 25, 86,201, 38, 2,135,150,199,
+197,125,191, 44, 33, 33,249,221,224,224,128, 49, 50,153,195,204, 73,147, 84, 31,124,240,193,225,131, 7, 15,126, 55,114,228,200,
+162, 43, 87,174,172, 5,176,215,198,195, 75, 1,216,184,122,245,234,153, 53,198,237,131, 15, 62,248,246,224,193,131,203, 70,142,
+ 28,153,119,229,202,149,185, 0, 54,182,164, 93, 98, 24, 38,250,231,159,127,190, 33,145, 72,164,254,254,254,222,241,241,241, 5,
+ 18,137, 68,234,237,237,237, 55,112,224, 64, 78,115, 52,155,131,139,139,203,144, 75,151, 46, 5,225,254,164, 49, 81,141,209,138,
+143,143,183,171,168,168,176,147,203,229,118,238,238,238,138, 26,179, 53,118,236, 88, 59, 30,143,215,232,117,171,209,104, 14, 46,
+ 92,184, 80, 53,118,236,216,154,255,113,238,220, 57,108,223,190, 29, 50,153,236,161,247, 70, 69, 69,225,213, 87, 95,181, 55, 26,
+141, 63, 91, 81,221, 41,175,189,246,154,191,171,171, 43, 22, 45, 90,100,200,201,201, 25, 2, 32, 3,128, 42, 60, 60,252,211,248,
+248,248,158,161,161,161,123, 0,116,107,236,222,171,207,139,212, 54, 58,214,148, 53,247,253,214,154,173, 58, 69, 13,230,208,122,
+200,104, 69, 70, 70,158, 65, 3, 51,169, 76, 37,106,136, 64, 67,194,165, 32,229,214, 50, 91, 96,192, 43, 47, 0,213,140, 89, 42,
+245,125, 25, 10,133, 66,112,185, 92, 24,141, 70, 88,251,160,234, 26, 83,160, 84, 42, 33,151,203,161,211,233, 96,177, 88, 32, 22,
+139,107,204, 8,148, 74, 37,248,124, 62,248,124, 62,196, 98,241, 95,162, 73,117,163, 57, 2,129, 0, 50,153, 12,121,121,121,200,
+200,200, 0,195, 48,144,203,229,144,201,100, 16, 10,133,200,205,205, 69,110,110, 46, 8, 33,144,201,100,144,201,100,176,101,192,
+ 53, 77,211,245,126,249,155,205,102,155, 34, 90, 22,139, 5,183,111,223, 70,102,102, 38,196, 98,241,131,125, 21,137, 68,184,123,
+247, 46,242,243,243, 33,149, 74,161, 84, 42,161, 82,169,172,214,173,217, 23,133, 66, 1,137, 68,130,210,210, 82,104,181,218, 7,
+199, 84,169, 84, 66, 38,147,161,188,188, 28, 5, 5, 5,141,238, 59, 77,211,200,205,205, 69, 97, 97, 33,178,178,178, 80, 84, 84,
+244,160, 1,170,142, 26,181, 44,176, 83, 81,129,226,226,226, 7,145,200,134, 22,107, 96, 24, 6,149,149,149,184,116,233, 18,197,
+ 48, 12,202,202,202,152,194,252,124,122, 70,174, 16, 7, 62,218, 68,126, 60,118, 93,191,235, 72,172,110,223,169, 4,221,198,125,
+ 55,117,226,158, 31, 91,240, 79,240, 85,176, 10,102,126, 68,145,198, 44, 42, 52, 9, 84,174,193,225, 64,234, 81,128,195, 3,196,
+246,232,213,177, 13, 50, 74,105, 89,146,218, 40, 6,133, 97,216,232,103,111,149, 38,205, 31, 90, 88,105, 22,165,155,156,149,129,
+157,187, 65,173, 86, 67, 36, 18, 65, 36, 18,161,123,223,112,164, 22,211,210, 91, 57, 58, 41, 8, 34,172,210,252,147,182,114,185,
+188,119,191,126,253,168,218,154, 35, 70,140, 0, 69, 81,157, 0, 4,216,212,200,173,111, 43,132, 73,218, 11, 60, 50,231, 86,158,
+214,227, 64,188,222,111,212,152,167, 29,190, 56, 89, 16,120, 59,223,224, 11, 98,158, 7, 98,234,214, 2,179, 53, 80,161, 80, 28,
+222,176, 97,131,175, 88, 44, 62, 10,160,127,115, 68,228, 18,238,230, 69, 51, 39,122,218,215,152, 44,179, 22,224, 73, 0,190, 4,
+224, 73,224,230,226,132, 37,175, 14,117,144,138,249,251,108, 48,172,187, 54,110,220,232, 92,215,100,213, 44, 33, 33, 33, 88,188,
+120,177,179,131,131,195, 78,107,244, 86,173, 92, 65,202,202,203, 1, 2, 84, 84,104,176,106,229,138,210,154,117, 99,199,142, 37,
+253,251,247,199,204,153, 51,177,108,217, 50, 28, 57,114, 4,189,122,245,194,180,105,211, 16, 26, 26,218,148,116,132, 74,165,218,
+ 17, 30, 30,126, 41, 87,161,120, 53,175, 91, 55,225, 41,149,170,124, 72,121,185,202, 39, 62,222,228, 15,220, 4,240, 85,118,118,
+246, 83, 54,152,172,231,148, 74,101,236,144, 33, 67, 76, 10,133, 34,115,205,154, 53, 51,102,205,154,133, 21, 43, 86, 96,225,194,
+133, 95, 3,120, 5,192,251,217,217,217, 30,141,153,172,191,171, 93,250,187,218, 58,154,166,179,246,238,221, 27,106, 50,153,188,
+170,187, 7, 69,101,101,101,202,146,146, 18,133,201,100,146, 49, 12, 35,179,179,179,147, 3,144,190,240,194, 11,188, 91,183,110,
+ 5, 90, 44,150,156,198, 52,243,243,243,159, 95,176, 96, 65, 81, 81, 81, 17, 0,160, 83,167, 78, 40, 43, 43,195,252,249,243,241,
+230,155,247, 39, 4,119,237,218, 21,132, 16,168,213,106,172, 90,181, 74,157,159,159,255,162, 21,213,109,215,161, 67, 7,196,199,
+199,227,246,237,219, 39, 1, 48,184, 63,142,181,252,250,245,235, 55, 10, 11, 11,177,115,231, 78,129,167,167,231, 65, 52,144,226,
+165, 49, 47,210, 28, 40,138,138,110,206,118, 53,145,171,250, 34, 98, 13,208,120, 68, 43, 50, 50,146,170,253,250, 80,196,136, 66,
+ 92,102,204, 89, 56, 4,119,123, 40,154, 37,229, 82,144, 40, 85, 72,205,202,128, 0, 84,194,163, 50, 90,165,165,165,152, 49, 99,
+134,238,249,231,159, 47,102, 24,230,105,107, 77,129, 74,165,130, 74,165,194,173, 91,183,200,184,113,227,212,107,214,172,209,213,
+ 54, 90,201,201,201, 36, 34, 34,162,224,195, 15, 63,212, 52,102,180,106, 34, 90,203,151, 47,215, 13, 26, 52,168, 48, 33, 33,129,
+212,152, 41,185, 92,142, 85,171, 86,233,194,194,194,212, 87,175, 94, 37, 53,101,182, 68,180, 56, 28,206, 3,163, 85,123, 27, 14,
+135, 3,134, 97,108, 50, 90, 85, 85, 85,207,143, 28, 57, 82,157,152,152, 72,106,246, 83,165, 82, 97,205,154, 53,186,161, 67,135,
+170, 19, 18, 18, 72, 77,153, 82,169,180,218, 12,214,124,190, 66,161,128, 82,169,196,173, 91,183, 72, 68, 68,132,122,253,250,245,
+250,218,229,183,111,223, 38, 81, 81, 81,234,202,202,202,231, 27, 51, 47, 53,221,121, 22,139, 5,122,189, 30, 69, 69, 69,200,202,
+202,122, 16, 78,215,201,148, 79, 77,124,118, 84, 23,157, 78,167,189,149,124, 39,179, 83,199, 32, 23,157, 78,167,205,200,204, 76,
+ 6, 62, 98, 26,209,126, 58, 56, 56,184,120,198,140, 25,186,210,210,210, 22, 27, 45,161, 80,152,200,227,241, 72,255,254,253,137,
+209,104, 36, 89, 89, 89,230,162,210, 82, 75,192,103,159,145,132,183,222,162, 36, 49, 49, 34,185, 92, 78, 85,107,114, 82, 82, 82,
+ 24,137, 68,146,248,255,110,180, 56,140, 27, 40,210,239,143, 59, 26,187,161,163, 38, 8,169,252, 43,128, 73, 3,136,236, 1,145,
+ 61,120, 50, 71, 12,239,223,149,251,253,165, 10, 55, 16,166, 15, 4, 34,175, 38, 53,249,196, 21, 96,250,255,154,172,183,239, 55,
+126,182,176,164,164, 4, 92, 46,247,129, 41,146,202,100, 24, 50,230, 5,206,183, 87, 12,110, 0,233, 11,138,235,101,195,189,254,
+206,162, 69,139, 4,165,165,165,224,112, 56,127,106, 74,165,152, 62,125,186, 72,169, 84, 46,180,186,241,219, 27, 40, 0, 95,212,
+ 11, 32,111, 38,229,235, 61, 14,222,212,249,207, 91,254,141, 36,184,107, 40, 94, 27,228, 34, 89, 30, 93, 16,124, 35, 75,215, 6,
+160,223,130,197,216,189, 25,102,171,191, 66,161,136,142,137,137,145,142, 24, 49, 2,171, 86,173,146, 73, 36,146,163,205,105,248,
+171, 52,244,172, 79,214,255, 79, 29,183,118, 24, 96,170,186,111,176,106, 45, 5, 26, 6,139,191, 57, 93,110, 54,147,137,214,106,
+234,116,186, 41,175,188,242, 74,241,190,125,251,254, 98,178,196, 98, 49,210,210,210,176,116,233,210,146,146,146,146, 38,191, 20,
+215,172, 94, 21, 27,127,227, 55,124,251,245, 39, 0, 8, 54,172,121, 29, 23,255,216,109, 55,104,224, 0,210,186,117,107, 18, 26,
+ 26,138, 25, 51,102, 96,201,146, 37, 72, 74, 74,130,147,147, 19, 94,127,253,117, 12, 28, 56, 16,171, 87,175,110,172,145,138,152,
+ 53,107,214,210,236,236,108,255, 95,127,253,149, 87, 88, 88,232,178,122,219,182,242,159,202,203, 75,150,197,199, 39,189,223,177,
+ 99,135,119, 59,119,126,177,145,212, 15,245,154,172,153, 51,103,238,202,206,206, 14, 57,121,242, 36,191,176,176,208,107,230,204,
+153, 88,185,114, 37, 22, 46, 92,184, 5,192,107,176,110,194,139,213,237, 18,151,203,125,234,233,167,159,238,162,211,233,180, 73,
+ 73, 73,153, 29, 59,118,116,209,233,116,218,204,204,204,228, 51,103,206, 48,205,209,108, 14,197,197,197,247,118,238,220,153, 60,
+123,246,236,144,236,236,236, 64, 0,142,149,149,149,178,202,202, 74,145,209,104,148,216,219,219,219,119,237,218,213,105,218,180,
+105,242,235,215,175, 7,102,103,103,107,170,163, 72, 13, 98, 50,153,146, 74, 75, 75, 35,135, 13, 27, 86, 86, 90, 90,138,206,157,
+ 59, 99,212,168, 81,112,115,115,131,135,135, 7, 70,143, 30, 13, 63, 63, 63, 20, 23, 23, 99,226,196,137, 37,133,133,133,195, 0,
+164, 88, 81,221,123,249,249,249,232,211,167, 15, 62,249,228,147,200,103,158,121, 38,161,127,255,254, 21, 29, 59,118,212,122,121,
+121, 5,124,241,197, 23,240,244,244,196,222,189,123,221, 69, 34,209,206,122, 76, 86,131, 94, 4, 64, 97,181,225, 49,214,121, 45,
+108, 98,157,181,219,214,251,183, 21,239,171,107,182,106, 47,127,233, 58,172,255,132, 0,139,183,239,253, 94, 47,244,110, 15,149,
+127, 23, 72,197, 98, 72,132, 66, 72,236, 29, 97, 96, 24,108, 75,203,215, 86, 17,178,208,214,139,167,238, 23, 33, 69, 81,248,242,
+203, 47, 45,189,123,247,214,159, 62,125,122,131, 78,167,243,198,253,172,178, 86,155,130,245,235,215,107,231,204,153,115,163,160,
+160,160,139, 88, 44, 54,214,148,111,216,176, 65,251,194, 11, 47,196,103,103,103,135, 72,165, 82,109, 67,227,179,106, 27, 45,145,
+ 72,100, 40, 40, 40, 8,157, 58,117,106,226, 87, 95,125, 85, 37,149, 74, 33,147,201, 32, 18,137,140, 5, 5, 5, 93,102,204,152,
+113, 99,229,202,149, 90,137, 68, 2,153, 76,102, 83,183, 28, 33,228, 47,134,170,118,185,181, 88, 44,150,211, 5, 5, 5, 93,230,
+204,153,115,253,139, 47,190,168,170, 49, 64,181,235,184,122,245,106,173, 92, 46,183, 41,162, 85,243, 62,153, 76,134,117,235,214,
+105,103,207,158,125,163,160,160,160,139, 72, 36, 50,214, 42,175,154, 53,107,214,245,130,130,130, 46, 22,139,229,116, 35,191,198,
+232,138,138, 10,240,120, 60,196,199,199, 27, 4, 2, 1, 56, 28, 14,238,222,189,251,160,241,113,112,112, 8,234,210,169, 99,192,
+255,118,237, 61, 35, 17,136, 68,189, 67,187, 7,166,164,103,100, 19, 66,165, 55, 81,213,253, 58,157,206,251,244,233,211, 27,122,
+247,238,173,255,242,203, 47, 45, 13, 69,182,172,193, 96, 48,156,185,118,237,154, 89, 44, 22, 83,121,121,121, 22, 46,151, 11,154,
+166,137, 33, 52,212,208,233,139, 47,200,173,119,223,165,148, 50, 25, 79, 32, 16, 64, 42,149, 82,199,142, 29, 51,106,181,218, 51,
+255,255, 70, 11, 82, 80,144,220, 41, 48, 40,196,127, 29,166,161, 0, 0, 32, 0, 73, 68, 65, 84, 28, 11,133,228,253,247, 77,150,
+216, 14, 16,219, 3, 98,123,120,122,122,225, 74,154, 86, 1, 14,132,160,173,200, 33, 70,136, 12, 20,164,241,106, 40,248, 66, 9,
+149,159,159,255,192, 16,213, 44,190,237, 3,113, 45, 67, 35, 7, 69, 68,224,194,150, 20, 36,145,142,142,142,188,188,188,188,191,
+104, 6, 5, 5,113,205,102,179,245,169, 93,114,105,119,128,153,153,156,175,119,255,229, 70,149,255, 91,203,190,149, 72,232, 50,
+ 32,102, 61,130,219,122,224,173,241, 93,133, 31, 28, 44, 12,190,154,174,109, 11, 46,121, 13,140,198,217,134,122,246, 83, 40, 20,
+ 71,175, 94,189, 42, 85, 40, 20, 72, 73, 73, 65,104,104, 40,182,110,221, 42,149, 74,165, 71, 0,216, 52, 30,239,178, 26, 25,154,
+ 74,186,247, 59,123, 51,243,227,242, 44, 15,153,172,194, 42,130, 87, 62, 63, 88, 86, 90,161,127,250, 82, 86,195,247, 79, 61, 92,
+ 47, 43, 43,139, 88,184,112, 97,113, 97, 97,225, 67, 38, 43, 35, 35,163,230, 75,113, 16,128, 38,127,252,254,254,219,241,144,207,
+150,204,193,213,152, 4, 12,143,124, 19,215,226,238,225,253, 5, 99, 96,167,148,224,244,233,211, 24, 59,118, 44, 62,249,228, 19,
+220,189,123, 23, 63,254,248, 35,181,117,235, 86,234,210,165, 75,212,231,159,127, 78, 53, 49,164, 97,210,178,101,203,112,245,234,
+ 85,140, 24, 49, 2,103,207,158, 69, 73, 73, 9,118, 31, 61,122,103,231,157, 59,239,215,140,217,106, 32,245, 67,189, 40,149,202,
+121,203,150, 45, 67, 76, 76,204, 3,205,226,226, 98, 44, 91,182, 44, 27,192,235,182,152, 44, 91,218,165,206,157, 59, 7,236,218,
+181,235,140, 88, 44, 22,133,134,134, 6,166,165,165,101, 3, 72,111,134,102, 69, 75,122,170,138,138,138, 46,108,221,186,245,210,
+224,193,131,165, 83,166, 76,113, 62,112,224,128,163, 86,171,245, 16,137, 68, 46, 70,163, 81,120,251,246,109,238, 79, 63,253,228,
+118,235,214,173, 52,189, 94,127,197,154,227, 81, 80, 80,112, 37, 41, 41,105, 88,231,206,157,111,111,216,176, 33,219,221,221,157,
+153, 54,109, 26, 94,121,229, 21, 56, 59, 59,211,235,214,173,203,236,223,191,127,252,189,123,247,194,181, 90,237, 77, 43,235,250,
+221,103,159,125,118,126,215,174, 93, 24, 53,106, 20, 62,255,252,115,236,222,189, 27,191,253,246,155,228,143, 63,254, 16,110,221,
+186, 21, 2,129, 0,189,122,245, 66, 68, 68,196,144,234,238, 78,107,191,151,174, 82, 20, 21, 77, 81,212,201, 58,175, 87, 27, 91,
+103,195,182, 13,253,221,232,251,234, 84,115,107,157,197,122, 38,181,197, 71,211, 59, 42,180, 23, 38,247, 34,249,211,250, 17,245,
+132, 64,114,110,160, 3,153,218,142,170,154,210,204,244, 14, 58,157,238,193,178,111,223, 62,226,230,230, 86,165, 80, 40,108, 78,
+239,224,230,230,166,174,168,168, 32, 61,122,244, 40,113,118,118,126,144,138,192,221,221, 93, 93, 85, 85, 69,122,245,234, 85,226,
+226,226,242, 32,189,131,151,151, 87, 22, 33,132,248,248,248,228, 54,164,103,177, 88,136,155,155, 91,205, 12, 61,190,131,131,195,
+166,158, 61,123,150,168,213,106,226,238,238,254, 32,117,130,179,179,243,170,208,208,208,186,229, 77,213, 55, 43, 59, 59,155,100,
+103,103,147, 86,173, 90,229,214, 46,207,200,200, 32, 25, 25, 25,196,203,203,203,230,244, 14,206,206,206, 43,235,169, 75,179,234,
+232,237,237,173,214,233,116,164, 79,159, 62, 15, 29, 83,111,111,111,181, 94,175,175, 41,183, 42,189,131, 68, 34,121, 77, 44, 22,
+231,138,197,226, 92,145, 72,180,180,117,235,214, 5,123,246,236, 33,235,214,173,171,153,146, 14,231,160,168,222,237,251,188,248,
+190,115,208,232,121, 45, 73,239,160, 80, 40, 78,185,185,185, 85,237,219,183,239,161,235, 75,167,211, 89,157,222, 65, 34,145,100,
+107, 52, 26, 70,173, 86,155,207,159, 63,175,141,137,137,209,198,199,199,107,211,210,210,116,197, 5, 5, 38,181, 90,173, 43, 47,
+ 47, 55,220,184,113,195, 32,149,254, 51,233, 29,200, 86,191,246,100, 83,192,193,123,159,248,222,154, 51, 64,170,191,185,164, 11,
+ 33, 63,143, 37,228,200, 43,132,156,126,135, 92,217, 50,141,244,241, 21,209,231,231,183, 74, 38,155,253,127,177, 38, 37, 3,217,
+218,169, 61,217, 20,112,228,206,199,190,183,166,244,247,208,111,251,106, 29,185,124,249, 50,137,143,143, 39, 41, 41, 41,228,200,
+254, 61,164, 79, 91,233,125,205, 77, 1, 7,109, 76,243,208, 87, 36, 18,105,214,172, 89, 67, 46, 93,186,244, 64,243,224,193,131,
+ 68, 42,149,106, 1,235,102, 45, 19,128, 34,155,130,198, 88,190,242,255,227,131,161,242,202,226,195,239, 16,114,243,123, 66,182,
+ 6, 19,242, 93, 79, 66,246,140, 36,228,208,139,228,210,186,241,164,175,175,192, 76, 54,251,159, 37, 91,130,172, 30,108,207,231,
+243, 43,246,237,219, 71,114,115,115,201,217,179,103, 73, 76, 76, 12, 73, 76, 76, 36,153,153,153, 36, 58, 58,154,240,249,124, 61,
+154,241,216,178,158,174,240, 9,239, 32,200,187,177,188, 47, 33, 7, 38,146,194,157,147, 72,100, 71, 69, 73,175, 86, 45,202, 71,
+215,213,209,209,177, 40, 58, 58,154,164,165,165,145, 51,103,206, 16, 23, 23,151, 34, 0, 86,143,151,141, 28,222,159, 16,227, 13,
+ 18, 54,160, 35,233,220,185, 35, 25,216,183, 3,201,185,183,158,132,118,107, 77, 54,109,218, 68,212,106, 53,105,221,186, 53,177,
+181, 98,225,225,225,151, 9, 33,177, 35, 70,140,136, 5,112, 44, 60, 60, 60, 54, 53, 53, 53, 54, 52, 52,244, 18, 26, 79,253,208,
+ 32, 67,134, 12, 49, 17, 66,200,136, 17, 35, 8,128,220,240,240,112,146,154,154, 74, 66, 67, 67,141,205, 57,120,214,180, 75, 33,
+ 33, 33,189, 7, 15, 30,252,126, 72, 72,200, 60,107,210, 59, 52,161,249,168,146, 80,115,113, 63,249,103, 16,128,238,213, 75, 96,
+117, 25,183, 5,154, 47,242,249,252,109, 14, 14, 14,191,217,219,219,159,230,114,185, 91, 1, 76, 70,243,242,155,113,170, 35,140,
+ 39,156,157,157,239,118,238,220, 89, 55,108,216, 48, 50,124,248,112, 50,115,230, 76,194, 48, 12,217,179,103, 15,249,228,147, 79,
+ 72, 59, 71, 71,203, 58,160,104, 51,240, 18,254,165, 60, 72,239, 96, 13,227,125,209,247,165,182,212,153,231,219,160,114, 98, 27,
+104, 94,110, 71, 89,147,176, 52,188, 33,163,197, 48, 12, 73, 78, 78, 38, 97, 97, 97, 85, 50,153, 44, 7,214, 39, 44,125, 72,211,
+201,201, 41,198,197,197,229, 47, 73, 52,107,149, 63,148,176,212,197,197,229,130,187,187,187,218,217,217,249, 90,125,154, 78, 78,
+ 78, 49,238,238,238,106, 39, 39,167,135,146,123,114,185,220, 17, 78, 78, 78, 57,117,203,121, 60,222, 96, 23, 23,151,172,186,229,
+ 13,236, 59,220,220,220,178,114,115,115, 73, 97, 97, 33,241,246,246,206,173,107,192,242,243,243, 31, 50, 96,214,104, 54, 85,151,
+ 70,234, 88,175,166, 21,199,180, 57,231,189, 6, 63, 79, 79,207,130,213,171, 87, 19,185, 92,254,208,148,103,255, 1, 47, 47,186,
+124, 71, 83,241,202,130, 77,123,234, 73, 88,106,109,114,208, 97, 50,153, 44, 39, 44, 44,172, 42, 57, 57,153, 48, 12, 67, 24,134,
+105,200,104,213,167,249, 84,247,238,221,139,139,138,138,232,202,202, 74, 75, 86, 86,150, 33, 53, 53, 85,183,100,201, 18, 83, 97,
+ 97,161, 94,163,209, 24,227,226,226, 12,238,238,238,133, 0,158,178,245, 28, 53,147,240,186,221,103,100, 75, 96, 95,178, 57, 48,
+ 58,241, 67,159,219, 47,246,148, 25, 98, 87,143, 32,228,244, 59,228,210,166, 87, 72,111, 95,225,125, 67,180, 37,224, 40,249,214,
+111, 0, 89,223, 86,104,149,230,182,118,253,201,150,128,163,183, 22,251,220, 30,219,205,217,184,235,251, 45,228,238,221,187,228,
+224, 79, 59, 73,175, 54,213, 38,107,115,224, 9,178, 41, 48,204, 26,205,250,204,214, 55,223,124, 67,238,222,189, 75,126,249,229,
+ 23,107, 77, 86,120,125, 70,235,189,112,121,217, 43, 61,197,134,137, 93,133,198,209,193, 2, 83, 68,123,129,165,143, 15,143,238,
+226,206, 97, 2,157, 65, 34,252, 37, 6,178,217,255, 44,217, 28, 56,204,218,122, 10,133,194, 76,212,202,169, 83,119, 17,137, 68,
+133,141, 24,173,240, 38,205,150,159, 40,239,212, 39,131,201,168,206,138, 98, 43, 77, 86, 83,215, 82, 87, 39, 39,167,162,239,190,
+251,142,184,186,186, 22, 90,105,178, 30,104, 70, 69, 70,144,140,123, 71,200, 47,123,150,145,176, 1,129,100,199, 55,115,200,229,
+179, 31,146,145,195,195, 72,120,120, 56, 41, 42, 42, 34,131, 7, 15, 38,182,214, 83,165, 82,237,208,104, 52,177,199,143, 31,143,
+ 13, 15, 15,143,221,177, 99, 71,236,185,115,231, 98,165, 82,233,142,154,224, 68, 93,179, 21,248,215,246, 63,188, 78, 68, 43,182,
+178,178,146, 28, 63,126,156,132,135,135,147, 29, 59,118,144,115,231,206, 17,169, 84, 26,219,220,251,200,218,118,105,232,208,161,
+139,210,210,210, 42, 22, 47, 94,188,167,158,132,165,214,106,222,125, 68,245,124, 36,109,200, 63,160,169,144, 72, 36,177, 55,110,
+220, 32,165,165,165,164,163,171, 43,249,140,203, 37,217, 2, 1,201, 21, 8,200, 38,160,228, 95,224,169,166,213,215,117,104,147,
+209,122,132, 39,130,232,245,122, 50,127,254,124,163, 88, 44,214, 10, 4, 2, 91, 31,193,243, 68, 95,132, 78, 78, 78, 23, 92, 93,
+ 93,213,174,174,174, 15,153,189,218,229, 78, 78, 78,215,254,229, 55,160,159, 64, 32,200,224,243,249, 15, 63,130, 39, 40,170,119,
+187,190, 83, 22,186, 6, 71, 13,111, 97, 61, 5, 2,129,224, 61,177, 88,172,157, 63,127,190, 81,163,209,216, 98,180, 0, 96,168,
+ 84, 42,205,217,190,125,187,238,206,157, 59,230,146,146, 18,203,229,203,151,205, 49, 49, 49,198,143, 62,250,168, 82, 42,149,230,
+160,225,180, 4,255, 47,199,147,172,111, 43,172, 49, 91, 55, 23,250, 36,142,234, 40, 53,109,157, 27, 65,122,183,174, 99,178, 26,
+206,228, 94,191,102,181,217,186,254,129,119, 98,152,159,220,178,108,225, 91,164, 87, 27,201,195, 38,203, 6,205,186,102, 75, 42,
+149, 86,126,248,225,135,182, 68,178, 30, 54,132,219,252,189,201,150,128, 29,247, 77, 84, 19,203, 38,255,175,201,151,254,222,143,
+203,125,212,211, 21, 62, 67,252, 68, 9, 54, 68,178,172,169,103, 87,123,123,251,219, 54, 68,178, 30,104,126,249,229, 6, 50,105,
+194, 80,114,239,246, 62,162, 41, 62, 66,174, 93, 92, 67,198, 69,133,144, 94,189, 66,201,150, 45, 91, 72, 82, 82, 18,233,209,163,
+ 7,105, 70, 61, 35,166, 79,159, 30,155,154,154, 26,155,146,146, 18,123,238,220,185,216, 49, 99,198,196, 2,136,168,221, 19, 84,
+ 99,182, 76,227,198, 25,186,114, 56,111, 53,161,249,220,244,233,211, 73,106,106, 42, 73, 73, 73, 33,231,206,157, 35, 99,198,140,
+ 33,176,237,241, 61,205,106,151, 66, 66, 66,122,135,133,133, 45,236,214,173,219,240, 71,165,249, 31, 52, 90,178,177, 99,199, 50,
+ 52, 77,147,225,195,135,211, 95, 0,101, 91, 41, 74,189,149,162,212, 91,128,194,127,123, 68,235,239,126,224,103, 56,128,147,181,
+ 11,196, 98,177, 90,175,215, 59,203,229,242,253, 26,141,102, 54,238, 79,139,108,145,230,223, 81, 79, 86,243, 95,161,233, 46,151,
+203, 55,104, 52,154, 49, 98,177,184, 80,175,215,187,218,160,105, 39, 18,137,222, 18,139,197, 97, 90,173,214, 15, 0,100, 50, 89,
+178,193, 96,248, 77,167,211,173, 5, 80,246, 79,239, 59, 89,223, 86, 8,161,176, 59, 8,222,141,205,172,106,179,236,120,137,207,
+220,193,246,153,125,218,201,210,192,103, 62, 7,101,184, 66,189,148, 97,176, 89, 83, 66,133,130,230,191,123, 37, 93,219,250,243,
+ 95, 43,125,230,133,201, 51,251,180,149,103,130,224,115,136,180, 23,109,213,172,107,182,100, 50,217,246,170,170,170, 87, 1,252,
+102,235,190,147,189,129, 2, 84,153, 61, 97,230,118, 4,105,228, 17, 62,132,104,193,225,198, 35, 31,106,234,163,219, 38,246, 62,
+170, 95,243,171,175, 54,146,147,191, 30,129, 65, 91,130,188,130, 10, 76,154,252, 50,186,118, 13,129,147,147, 19, 62,251,236, 51,
+180,111,223, 30,159,124,242, 9,213,140,122, 70,200,229,242, 73, 1, 1, 1,109,111,221,186,149,162,213,106,127, 0,112,162,206,
+123,168, 0, 32, 76,202,227,117,209, 89, 44,103,111, 3, 49, 77,104, 62, 39,151,203,231, 5, 4, 4, 4,223,186,117, 43, 65,171,
+213,174, 6,176,155,109,235,158, 12, 77, 14,135,179,214,199,199,103, 92, 90, 90,218,187, 0,118,225, 63,194, 63, 98,180, 88, 77,
+ 86,243, 9,212,172,185, 79,200,227, 86,207, 63,205, 22, 51, 27, 20,218,128, 80,217, 16, 48,235,154, 48, 89, 77,107, 74,168, 80,
+ 88,120,111,130, 66, 43, 16,228,131,112,214, 54, 97,178,254,127, 77, 38, 64,225,163, 70,218,175,143, 64,168,134,207, 23,123,205,
+215,195,162, 69,139,200,177, 99,199, 32,149, 74,161,211,233, 48,108,216, 48,124,250,233,167, 20,219,134,176,154,255,143,154,255,
+ 74,163,197, 99, 15, 3, 11, 75,211,247,202,227, 90, 49,234,141, 20, 35,217, 27,120, 21, 69,220,249,224,160, 13, 96,201, 64,149,
+ 37,159,122, 35,195,216, 66,205,203, 40,162,230,128, 11, 63, 8, 45,247,160, 49,230, 83,175, 55, 95,243,145,239, 55, 64,240,209,
+227,123, 94,158, 68,234,154,170,152,152, 24,246,160,176,176, 88,207, 52, 60, 60,211,240,193,255,172,209, 98, 97,121,194,161,158,
+185,109, 2,144, 93,189, 60,182,154, 44, 44, 44, 44,255, 65,195, 5, 10, 13, 15,104,179, 37, 36,216,156,129,118, 39, 89,205,102,
+105,114, 1,168, 0,216,225,126, 14,146,154, 41,189, 77,165,217, 24, 14,192,204, 30, 79, 86,147,213,100, 53, 89, 77, 86,243, 31,
+214,108, 74,251, 73,236,146,172, 47, 51,252,214,127,106,214, 33,171,217,124,134,177,199,147,213,100, 53, 89, 77, 86,147,213,252,
+151,106,254,235, 32,132, 52, 43, 25, 25,203, 63,135,152, 61, 4, 44, 44, 44, 44, 44, 44,143, 29, 33,213,175,238,184, 31,221,114,
+175, 89,241,143,142,209,146, 56,118,112, 7,143,211,153, 98, 72, 0, 0, 16, 14,149, 8, 11, 19,167, 43,190,147,215, 82,109,185,
+135,159, 3,129,112, 47, 5,227, 51,154,220,228, 22, 39, 67,235,232,167, 28,231,234,164,152,148, 95, 92,190, 61, 33, 73,115,192,
+150,109, 85, 42, 31,149,216,193,126,188,193,100,238, 40, 20, 8, 50, 77,101, 21, 91, 75, 75, 83, 42,155, 81, 13,135,198, 86,126,
+244, 17,161, 14,231, 93,163, 4, 82, 19,199, 81, 41,160, 52,208, 16, 77,158,156,241, 45, 75, 35, 63,253,244, 12,177,245,220, 80,
+ 28, 12,146, 41, 20,221, 68, 98,105,168, 84, 97,223,129, 33, 64,137, 58, 39,221,104,182,156,163,141,218, 88,194,224,247, 71,113,
+174, 88, 88, 88, 88, 88, 88,254, 5, 70,235, 26,128,145,184, 63, 70,171,233,193,240, 62, 65,253,174,138,197, 18, 95, 0, 96, 8,
+ 1, 67,128,170,138,178,216,252,148,152, 97, 0,224,212, 58,228, 56, 95,172,236,198,144,251,235,105, 6,176,152,244,105, 21, 25,
+151,123, 88, 83, 35,153,179,223,216,193,225, 67,198, 69, 70,142,244,239,212,177, 83, 59, 0,184, 25,127,243,222,225,195,209, 73,
+167, 79, 82,251,170, 10,147,127,105,201, 30, 19,136, 63,237,222,189,107,191,152,152,107,159, 0,152,217,210, 35,232,232, 40,159,
+125,226,231,249, 3,134,140, 91, 37, 3,108, 51, 90, 98, 7,251,241,163, 71, 61,213,245,237, 55,166,115, 94,153,255,153,239,213,
+243,191,175,144,187, 7,151, 17,198,124,162, 74, 61,225,143,198, 30,156, 92,215, 63, 54,100,176,126, 40, 57,198, 89,247, 93,111,
+123, 93,201,189, 9,132,161, 39, 80, 20, 5,174, 80,250,147,115,219,126,123,236, 6,205, 45, 5, 96,245,140, 49,165,123, 80,184,
+139,187,215,190, 9, 47,191, 37,150,170, 92,121,224, 10, 0, 80,200, 77,191,141,211,187,151,217,191,249,241, 55, 33,231,227, 50,
+ 44,167,126,222,168,167, 4,252,113,218,188, 91,236, 20, 95, 22, 22, 22, 22,150,255, 50,209,213,230, 42,186,238,138, 6,141,150,
+ 88, 44,241,189,244,251, 97,135, 95,206,101, 1, 0,194, 67,220,240,254,146, 13, 17, 59,214,199, 36, 1, 64,239,193,145,126,159,
+188,247, 6, 46, 36, 20,128, 16,130,174,237, 29, 49,124,244, 51,214, 25, 15,215,192, 30,227,199, 63,253,252,252,249,243,162,238,
+222,189,155,190,107,215,174, 63, 0,160,255,128, 1,237, 63,251,236,179,103, 87,217, 59,136,126,252,233,231, 28,189,250,246,213,
+230,236,173,216,163,173,167,127,135, 54,147,126,252,118, 3,103,208,176,167, 39,166,163,106,153, 62, 55, 37,199,154,109,157,156,
+156,230,240,249,124, 21,112,255,105,236, 53,152, 76,196, 13, 0, 44, 52,163,176,247,240,175,228, 10,196,180, 72, 36,184, 85,169,
+209,108,175,200,185,189,173, 49, 77,131,217, 28,252,230,235, 47,113,174,167, 20,195, 55,184, 63,119,221,178, 15,192,208,102,251,
+183,222, 91, 50, 62,230,242,143,168, 82,227,140,149,187,198,175, 91,224,233,217,139,251,233, 50,249, 80,138,194,139, 62,189, 95,
+ 30,243,201,247, 63,241,187,183, 87,194, 96,102,112, 52,182,184,247,166,181,159,174, 60,191,105,228, 33, 0, 91, 0,156, 2,208,
+164,169,115,112,116,248, 97,206,194,181,242, 42,227,159,179,189,171, 77, 22,190,222,190, 23, 55,178, 24, 4,248, 7,240,220,230,
+172,144,111, 89, 50,237,123,237,253,231,108,177,176,176,176,176,176,252, 87,201,195,195,179, 13,183, 54,105,180, 0, 64, 46,225,
+ 33, 41, 53, 31, 0, 96, 39, 1,102,191, 54, 5,197, 69,133,126, 70, 11,131,151,167, 76,198,181,196, 60, 36,165, 21,130, 16, 2,
+ 63, 47,171, 31,194, 13, 46,152,238, 47, 79,125,121,224,241, 19, 39,174, 44, 90,184,232,127, 20,133,139, 0,176,101,235,215,189,
+ 23,127,184,248,213,201, 83, 38, 15,253,233,167,159, 18, 0, 52,203,104,241, 40,197,134,149,203,151, 10,179,139,244,250, 57,243,
+223,101,230,205,157,179, 14,192,211, 86, 57, 25, 62, 95,149,157,157, 45,231,112, 30, 30,190,246,249,210,119,207, 14, 29,183,234,
+ 78,122,102,217,245,227, 7, 15,246, 8, 10, 10, 66,118, 78,126,223, 21, 95,108,238,114,244,184,228,165,202, 10,221, 56,109,209,
+237,122, 31,218, 44,226,243, 19, 62, 94,177,169, 43, 99,215,158,243,254,171, 35, 16,220,206, 3, 57, 5,101, 24, 48, 44,138, 23,
+123,245,106, 4, 96,181,209,170,155, 60,112,188,145, 41,232,242,217,246,203, 67,198,244,241,232,206,225,112,161,209,153, 81, 88,
+110, 0,205, 0,253, 3, 85,120,106,199, 23,188,146, 42,243,216, 37, 63,103,141,189,184, 62, 82,173, 47,207,157, 5, 96, 95,227,
+ 31, 67, 28,188, 92,148, 72,202,170,172,215,100, 85,233, 45, 0, 0, 1,151, 6, 5,226,200,222, 95, 44, 44, 44, 44, 44,255,113,
+234,157,117, 8, 84, 63,153,251,240,225,195,245,142,223,161,105,130,164,180, 60, 36,165,229,225, 74, 98, 33, 76,132,143,117, 43,
+ 62,198,234,101, 31,162, 68,199,193, 47, 23,178,144,156,150,143,228,180,124, 20,149,106,234,147,120,168, 75,105,213, 50, 73,200,
+218,181,202,149, 17, 3,100,131, 28,236,237,237,239, 36,252,175,106,241, 92,117,224,199,111,102, 9,248, 70, 81,182, 76, 46,235,
+179,119,239,158, 32, 87,103, 23,153, 92,174,120, 71,234,217,229, 27,149,234, 47, 79, 74,111,180,155, 74,226, 18, 16, 21, 53,242,
+169,193,110,110,174,204,244,117,177,137, 29, 3, 3,204, 29,218,119,232, 43,113,233, 16,213,200,102, 15, 52, 25,134, 1,135,195,
+129, 90,173, 70,110,110, 46, 82, 83, 83,145,156,156,140,172,172,116, 53, 67, 8,159, 6,195,113,119,247, 2,143, 39,132,111,107,
+ 31,108, 90,183, 76,186,228,163,247, 67,197, 50,225,129, 58, 70,232,129,166,190,164,244,167, 35,199, 78,228, 28,221,181,137, 6,
+128,130, 82, 13, 78, 95,189,139,107,183,178,108, 61,145,117, 83, 56,180,206,201,184, 91, 97, 73,139,230,126,242,193,188,172,115,
+231,206,167,151, 87, 26, 81,169, 53, 65,171, 55,195, 96,164, 97,166, 25,248, 56,139,177,255,221,142, 56,248, 91,156, 43, 69, 81,
+107,155, 58,158, 6,131,153,238, 23, 32,195,196,176, 86, 8,240,146, 33, 39,233, 34,230, 44, 92,139,152, 84, 3, 74, 75,203, 96,
+174, 42, 2,163,201, 70, 81,218, 53, 88,104,154, 52,117,222, 31, 17,172, 38,171,201,106,178,154,172,230,191, 88,179, 33, 47,242,
+132,176,181,158, 5, 15,140, 86, 67,220,203, 42, 65, 82,106, 62,186, 5,120,162, 93,107,119, 92, 73, 46,197, 15,167,179,240,205,
+241, 12,156,190, 81, 8,134,167, 64,126, 5,112, 39, 93,141, 59, 25, 69, 77,230,207,230,138,248, 19,222,124,179,124,126,167,160,
+138, 94,191, 31,157, 13, 79,231, 59, 65, 11, 22,148,205,230,138,248, 19,236, 91, 41,118,189, 59,255,173, 73, 10,169, 84,104, 52,
+ 24,209,182,141,143,248,141, 89,179, 95,162,236, 69, 86, 63, 19, 73,225, 25,104, 47,146, 72,182, 45,249,232, 29,209,218, 95,238,
+100, 86, 25, 81,181,239,162, 58,101,222,187,139, 75,120,124,241, 38,133,103,160,189,181, 90,102,179, 25, 6,131, 1, 70,163, 17,
+ 38,147, 9, 57, 89,183,163, 78,253,242,246,176, 54,173, 28,134,137,196, 98, 16, 0, 21, 58, 11, 82,243,180, 8, 27, 50,148,219,
+ 45, 36, 36, 88,238, 30, 56,181, 62,173,242,242,140,114,134,112, 21,135,247,239,228,238,249,245, 58,254,119,248, 42, 14,252,118,
+ 29, 87,206, 28,181, 16,198,252,224,249, 95,114,247,246,126,114,247, 78, 25,114,143,206,234, 7,139,103,199, 70,211, 51,115,185,
+ 28, 18, 54, 36,252,228,107, 51,223,248, 93, 91, 89, 92,176,109,195,199, 57,133,185,233,183, 69, 2,202, 34, 21,113,161,209, 91,
+240,253,169, 92,140, 95,118, 3,183, 50, 53, 32,132, 52,249, 0,111, 6,152, 59, 97,234,219,180,217,100,130,191,183, 28, 59,183,
+ 46, 71, 84, 88, 23, 12,238,100,143, 30,237,100,144,242, 12, 72, 72, 76,194,238,157,223, 91, 24,134, 51,143,253, 33,195,194,194,
+194,194,194, 70,180, 30, 44,238,181, 87, 52,216,117,168,215,235,210,158,158, 48, 25,238, 46,110,242,209,131, 94, 20,196,222, 43,
+ 67, 97, 94, 6,238, 38,199, 67,171, 55, 67, 96,223, 6, 16,187,161,181,175, 15,226,146, 14,152,214,175,140,214, 48, 22, 67, 90,
+ 67,122, 81, 81,238, 94,119, 19, 41,206,202, 21,222,151,146,147, 74,187,237, 92,248, 29,158,127, 94,238,180,114,133,247,165,244,
+ 20, 25, 71, 42, 38,125, 94,154, 50,145,226, 80, 4, 11, 22,204,199,232,200,167,240,242, 75, 47, 80,219,183,127,223,171,204,202,
+189,100,192,255,242,189, 15, 62, 22,170,203, 44,198, 43,201, 26,131, 84, 38,145,156,191,163,169, 10,246,245,150,140, 24,247, 98,
+110,244,222,109,107, 1, 76,177, 70,171,198, 96,153,205,102,152, 76, 38, 0,160, 1,128,195,185,255, 90, 92,105, 68, 65,153, 1,
+234, 50, 3, 44, 52,131,113, 19,166, 72,174,198,220,152, 2,160,129,241, 90, 12, 99,182,152,177,239,215,107,200,185,250, 19, 67,
+113,184,229,181, 6,195, 67,238,222,222,207,205,205,251,108,228,184, 23,156,133,226,251,221,176,149, 85, 6,108,223,188,162,209,
+122,114, 40,138, 48,180,165,204, 98, 54, 87,181,109,211, 54, 39, 32,168,139,248,220,239,199,163,206,159,220,167,177,180,125,193,
+238, 94,122, 30,184,124, 17,184, 2, 49, 12, 38,235,126, 44,168,239, 94,218, 8,128,154, 58, 99,254,186,183,222,126,159, 59,119,
+253, 31, 48,234,181, 48,232,170, 80, 81, 94, 10, 9,207,140,132, 11, 7, 45,132, 54,191, 85,149,119,125, 35,123,127,177,176,176,
+176,176,252,199,169,251,248,157, 7,101, 13, 26,173,140, 91,231,122, 0,128, 95,247,136, 98,185,152,231,192,227, 80, 80,103,223,
+195,246, 85,115,192, 48, 4, 35, 94, 93, 9,133,175, 27, 36, 2, 46, 12,154, 98, 77,201,189, 51,141,142,213,161, 40,243,208,141,
+ 91,114,124,103,188,222, 86,185,115,167,134, 15, 0, 59,119,106,248,175, 79,111,165,252,106, 75,154,111,207,126,221, 64,104, 26,
+145,163,159,198,132,231, 38, 32, 61, 95,139,159,207,102,162, 74,103,180,106,182,156,196, 41,160,139,147,163,243, 83,111,190,248,
+148,140,199,165,168, 14, 62, 42,110, 86,161,217,194,229,242,233, 67, 87,203,115,199,141,123,206,233,244,145, 61,131,105,167,128,
+ 46,186,162,196, 27, 77,233, 25, 12, 6,208, 52, 13,131,193, 0,179,217, 12, 7,167, 54, 71,134, 62,189, 42, 59, 47,191, 50, 58,
+191, 84,223,179,202,108,129,186,204,128,130, 50, 3,202,170, 76,112, 83,216,195, 98, 54,118,106, 72,143, 16,242,191, 49, 79, 79,
+126, 1, 0,135,226, 88,190,211,228, 37, 38,223, 95,243,167,201,122,106,244,243,206,103, 99,239,225,110,204,209, 82,194, 88,238,
+103,113,167,152,236,198,143, 43, 8,151, 2, 35,224, 81,102, 46,135,195,152, 76, 26,179,139,139,243,233, 51,167,143,141,210, 91,
+ 82,192, 21,136, 30,188, 87,103,164,173,190, 98,212,119, 47,125, 9, 0, 95,172, 95,183,186,207,208,231, 5,103,174,165, 65,103,
+ 6,122,135,248, 97,255,143, 95, 27, 8, 49,191, 93,149,119,253, 75,246,222, 98, 97, 97, 97, 97, 97,121,200, 96, 69,227,254,224,
+248,135, 35, 90, 53,125,163,145,145,145,127,121, 90,123,142,186, 4,142,114, 30,156, 61,124, 49,105,206,106,252,111,237, 92,208,
+180, 25,132, 0, 22,218,186,204, 4,132,240,127,157,249,186,111, 64,107, 95,174,243,164,231,165,186, 31,118,106, 37,147,158,151,
+234, 58,118,114, 44,159,249,186,111, 90,165,222,187,175,133,166,113, 62,161, 0,241,105,229,136, 79,175,128, 92, 98,125,154, 47,
+174, 80,240,250,138,229,203, 4, 60, 46, 69, 37,100,104, 52,217,197, 22, 13,151,207, 55, 73, 37, 66, 98, 36, 60, 67,122, 17, 41,
+ 30, 50,230, 37,221,161, 29, 95, 76, 5, 48,171, 33,157,154,153,134, 53,145,172,154, 87, 66, 8,161, 0,134,161,104, 58,187, 72,
+ 15,141,201, 12,117,233,159, 70,139,178, 52,220,115, 42,119,111,239,167, 84,200,143,113,185, 92, 17, 33,128,217,100,121, 22,238,
+237,135,105,242,238, 38,215, 54, 89,151, 18,114,113,239,250, 73, 53,109,210, 78,214, 22, 36,157,178,118,223, 41, 10,132,203, 5,
+195,229, 80, 12, 69,129,225,115,136, 17,132, 48,117,107,164,181,193,104,213,152, 45, 33,159,187,240,196,238,181, 46, 47,143, 12,
+196,143,103,239,123, 62,125,101, 97, 69, 85, 14,107,178, 88, 88, 88, 88, 88, 30, 45,141,121,145, 39, 40,170,245,215,136, 86, 99,
+ 59, 68, 8,112, 39,163, 8,173,189,156,225,213,186, 29,146,111,199,253,185, 14,128,133,182,174, 59,234,224,193,188,236,213,171,
+149,204,220,185,229,189, 87,172,240,190,248,250,244, 86,170,142,157, 28,203,223,121, 39,179,247,154, 53,170,139,191, 94,226,211,
+164, 58, 95, 87, 77,110, 46,219,158, 17,196, 9,237, 18,212,134,251,241,206, 59,153,167,110, 86, 22, 8, 4, 2,179,155,189,152,
+ 82,200,133, 92, 46,135, 47, 52,152, 57, 6,191,224, 16,238, 33, 14, 21,210,152, 74,141,209,170,219,117, 88, 92,120, 47,234,196,
+207,243, 59, 14, 26,179,210, 33,167, 80,135,114, 35,247, 65,215, 33,151, 67,225,230,237, 12,128, 43,136,175, 79, 83,169,112, 56,
+190,235,135,255,121,175, 89,177, 20, 38, 11,141,153,115, 23,225,165, 41,147,143,195,189,253, 48,111, 95,255,216, 63, 14,125, 39,
+ 29, 54,125, 19, 50,146, 98,242, 45,134,138,221,182,152,172, 7,102, 11, 32, 52, 97, 56, 37,165, 21,114,131, 5, 98,212,227,251,
+ 12, 38,166, 89, 87,142, 70,103,193,161,203,249, 56,252,203,110,168, 20, 50,182, 37, 96, 97, 97, 97, 97,121,228, 60,161,230, 10,
+117,204, 21,208, 80, 68,171, 49,124,188, 92,113, 57, 62, 13,157, 2,218, 64,165, 84, 32,241, 94, 54,184, 28, 62, 56, 20, 96,182,
+ 88,111,134,136,201,252,227,154, 53, 42,100,164,201, 56, 95,109, 74,243,157,249,186,111,218,154, 53,170,139,196,100,254, 17,192,
+100, 66,238, 63, 23,168, 38, 65, 42,109,131, 47, 32,140,185,149,171,131,148, 27,147, 82, 85,204,225,112, 13,142, 42, 49,227,168,
+ 18,113, 28, 21, 66,190,128,207,101, 44,132, 99,242,114,241,213, 19,134,233, 98,141, 94,237,174, 67,154,166, 65, 81, 28,186,218,
+136,201,178,138,117, 40,215,115,161, 46, 51,160,180,210,132, 14,158, 50,156, 60,253,147,150, 54,235,118,214,167,197,229, 11, 84,
+237,124,189,240,254,167,107,160, 51,208,184,147,163,129, 64, 36,114,115,117, 11,190, 49,121,198,187,162, 55,182,222,195,212,193,
+142,152,251,199,189, 28,173, 90,252,174, 45,103,150,166,105,232,244, 70,129,186,168,212,190,162,178, 74, 41, 17,139,116,206, 14,
+170,162,250,222,171,183, 49,162, 85,131, 84,204,195,168, 94,110,208,155, 38, 66,103,176,224,194,169,125,108,139,192,194,194,194,
+194,194,242, 39, 91, 27, 90, 97,149,209,146, 75,197, 32, 92, 49,254,136,189, 7,255,160,206,248,254,224, 21,180,239,212, 11,121,
+149, 22, 16,112,154,156,109, 88,195,252,247,116,215, 0, 92,139,138,146,122,141, 29,235, 57,148, 16,254,175,155,182, 84,100, 3,
+ 64,155,142,247,101, 24,134,128, 16,128, 48,247, 13,151,213, 80,188,140,180,188,138,214,190,110, 50,220,202, 54, 25,100, 34, 1,
+199, 94, 38,228, 58,171,132, 2, 1,143, 7,154, 80,134,188,188,123, 6, 10, 72,183, 70,174,110,215,161, 84,238,126,100,200,152,
+149,133,233,153,229, 49, 29, 74,180, 93,202, 77, 66, 16, 2,116,240,148, 33,254, 82, 52,173,206,185,123, 71,167, 78,218, 92,159,
+ 22,195,128,107,178, 48,184,145, 82,142,178, 42, 51,202, 52, 38,244, 13, 27, 37,232, 27, 30,133, 63,226,139,192, 88,204, 88,241,
+117,116, 37, 77,204, 19,128,219,102, 27,118,154,115,249, 90,130, 87, 97,233,255,177,119,222,225, 81, 20,255, 31,127,239,238,245,
+146, 70,146, 75, 35,116, 72,232, 29, 18,122, 39, 82, 5, 65,138, 8, 10, 4, 80, 65, 17, 80, 84, 84, 58,124,233, 85,148, 38,210,
+123,175, 66,232,210,123,128, 4, 72, 35, 61,151,122,189,238,238,239,143, 75,168, 41, 23,130,229,167,243,122,158, 60,151,189,220,
+189, 51,219,102,223,243,153,207,204,232, 37, 66,129, 32,183,102,245,138,177, 98,145,208,174,209,104,196, 47,127,138,129, 66, 38,
+ 70,182,206, 6, 0,182,210, 94, 61,121,122, 27, 14, 92, 78,195,193, 61, 91, 33,147,201,192,147, 27,138, 64, 32, 16, 8,132, 23,
+241,131, 99,249,157,195,249,175,207,204,151, 83,139, 74,179, 28, 15, 47,207,114,144, 42, 92, 17,151,110,133,150, 82, 33,199,192,
+131,101, 29, 17,173, 98, 2, 79,133,174,238,125,224, 64,106,210,254,253,153,235, 14, 28, 72,125, 33,209,251,121, 36,235,217, 43,
+199, 59,173, 73,241,236,201, 3, 71,207,228,245,106,238,237, 65, 51,140, 81, 36,164,205, 2, 17, 99, 21, 9,104,155, 72, 64, 91,
+124, 92,133,204,153,131,219,196, 60,133, 51, 37,105,154, 76, 38,116,234,212, 9,221,186,117, 67,239,222,189,209,191,127,127, 4,
+ 5,213, 82,209, 12,101,225, 41,142,243, 22,107, 81,205,155,130,192,148,136, 83,219,254,103,184,119,113,223,109,214,108,234,137,
+151, 45,231,115, 77,158,231,178,243,204, 48, 89, 89,228,232,172,200,209, 91, 97,247, 14,197,190, 63, 82, 96,180,176, 72,184,177,
+203,168, 78, 75,250,220,156,241, 56,174,132, 83,241,245,203,155,124,210,136,143,135,170, 93,164,244,227,214, 45,154,170,189, 60,
+203,217, 41,234,121,228,149,162, 40, 72, 93, 85,240,112,119, 65,220,205,163, 56, 49,175,163, 17,192,119,206, 28,207, 23,113,149,
+ 11,208,171,185, 47,122,246, 29,132,122, 33, 93,157, 49,214,100, 69,123,162, 73, 52,137, 38,209, 36,154,255, 37, 10,214, 56, 44,
+120,117,110,102,248, 2, 3, 84,213, 79,129,234, 1, 10,152,172, 42,152, 44, 44,244, 38, 22, 26,131, 21, 26,131, 13,113,105, 6,
+220, 59, 80,246, 18, 58,162, 88,142, 25, 63,121, 30, 0,229, 48,120,206, 70, 79,196, 86,203,140,133,243,102,191,191,173, 81, 67,
+203,184,238,126,129,119,226, 44, 41, 20, 69, 27,105, 70, 96, 43,231, 34, 16, 62,124,120, 71,125,233,220,145, 54, 82, 59,251,161,
+161, 24, 29,187,221,158, 23, 16, 16, 0,224,229, 37,120,106, 85,147,245,190,120,248,235, 42,109,123,205,243, 94, 60,107,162,129,
+102, 68, 28, 37, 16,221, 99,109,198,173,198,244,168, 85, 40,198,126,208, 34,233,131, 43,183,238,135,184,151, 11,196,227,100, 61,
+244, 38, 59,172,118, 14, 30, 74, 17,146,238, 30,183,198, 61,188,190, 67,151,114,103,195, 27, 28,182, 45,209, 15,238,149, 15, 11,
+235,250, 94, 72, 72, 40,243,195, 15,223, 35, 56, 56, 24, 70,163, 17, 52, 77, 35,176, 82, 53,196, 69,223,194,229,195, 51, 88, 67,
+ 86,252,207, 0,166, 3, 80,151,246,159,100,106, 44, 56,122, 61, 3,135,247,110, 7, 35, 20,147,219,137, 64, 32, 16, 8,132,215,
+ 9,127,229,117,181, 83, 70,203,100, 50,197,181,234,212, 19, 28,199,131,229, 1,142,205,143, 60,113,207,163, 79,172,205, 20, 87,
+214,210,113, 28,123,117,197,234,117,221, 26, 53,107,203,212,174,160,132, 38, 43, 13,151, 47,158,182,131,227, 47, 57,243,253,172,
+172, 71, 58,153, 79,245,247,222,239,215,103,231,208,143, 71,231,182,105,223, 94,161, 82,249,154,147,146,147, 12,235, 55,109,182,
+ 29, 63,178,191, 13, 7,251,192,172,172,199,186,226,116,242,242,242,150, 22,246,190, 68,172,108, 9,160, 10, 35,160, 44, 70,245,
+163, 82,101,132,103, 38, 39,246,157, 61, 99,106,252,224,145,227,197, 85, 3,170, 33, 35,143, 65, 92, 82, 26, 30,158,219,111, 78,
+142,190,182, 87,147,116,115,184,147, 82,169,133,188,151, 4, 96,241,229,203,151,234,132,133,133,117,237,208,161, 3, 31, 30, 30,
+ 14,158, 7, 78,173, 30,195,103,199, 93,222, 5, 71, 20, 43,230, 13,207, 75,194,185, 75,183,202,245,111,211, 68,224,233, 50, 28,
+235,182, 31,177,129,231, 18,200,253, 68, 32, 16, 8, 4,194, 51,222, 60, 71, 43,241,129, 99, 62,173, 63, 27,109, 90,198,144, 13,
+ 27, 54,206,220,184,105, 91, 75,147,197, 18,192, 67,148,200,218, 45,103,117, 44,126,112, 86,195,152,254,248,186,167,103,141,186,
+235,215,172,248,110,253,186,159,218,130, 99,107, 82, 64, 60, 79,225,140,212,198, 14, 45,201,100, 21,107,150, 50,181,191,116,126,
+111,129, 49, 43, 75,183,177,180,223, 53,102, 69,165,209,140, 53,240,151, 37, 51,230,211, 52,211,133,101, 57, 33,199,218, 30,179,
+ 86,211,255,140,234,168, 3,112, 58,203, 13,217,197,252, 45, 18, 64,100, 68, 68, 68,235,136,136,136,102, 0,150,194,177,134,226,
+245,178,156, 23,115,150,182,227,164,137,147, 78, 77, 0, 85,145,227,120,216, 89, 46, 65,100, 52,116, 36,247, 20,129, 64, 32, 16,
+ 8,207, 8,199,235,147,150, 58, 23,209,250,171,200,201,137,209, 34, 7,227,202,170,147,149,245, 72, 7,224,181,145,123,134, 50,
+234,222,123,164,217,141, 71,154,221,111,250,125,125, 70,172, 26,136, 29, 90,198, 98, 56,147,200,126, 62,255,231,173,144,153,249,
+ 64,143, 76, 52, 39,247, 16,129, 64, 32, 16, 8,165, 54, 92,206, 37,195, 19, 8, 4, 2,129, 64, 32, 16, 74, 52, 89, 47,190, 2,
+112,228,158, 23, 53,114,160, 52, 43,115,191,201,232,131,147, 68,179,204,154, 66, 0, 98, 0, 74, 0, 37,117,105,118, 69,254,122,
+141,228,120, 18, 77,162, 73, 52,137, 38,209,252, 27, 53, 75,210, 62,137,127, 9,165,155,120,253,205, 32, 67, 95,137, 38,209, 36,
+154, 68,147,104, 18, 77,162,249,111, 39,188,144, 31,240, 60,255,207,201,209, 34, 16, 8, 4, 2,225,175,194,211,179,134, 18,120,
+150,215, 91, 34,114,175, 90, 62, 0, 96,200,124,144, 78,142, 30,161, 16, 94, 92,231,240,173,228,104, 9,105,129,120,146,220,197,
+243,129,194,205, 51,249, 63,126,112,169,160, 74,138,177,157,219, 84,222, 23, 92, 69,214,187, 52, 95,148,123, 7,253,234, 91,173,
+249, 83,133, 42,104, 44,252, 26,201,202, 82, 8,133,170,138,183, 50,176,201, 69,151,128, 58,239,252, 9,251, 40,169, 93,187,118,
+104,237,218,181, 67, 1, 72,222,134,160, 92, 21, 52,168,124,245,144,115,170,170, 13, 79, 43,124,106,244,123,219, 5, 86,250, 85,
+247, 84, 6, 54,222,173,244,175,159,163,244,171,175, 81,150,111,124,214,197,171, 86,213,146,190, 23,216,107,118,205,105, 91,239,
+109, 13,236, 53,187,102, 97,127,247, 8, 91,230,242,227,182, 71,179, 60,123,254, 79, 73,234,149, 55, 35,176,229, 32,119,191,182,
+ 19, 60, 75,251,189,128,160,144,200, 74,117, 90,103,248,215,104,126,207,217,239,148, 15, 14,189, 89,177,118,203,244,242, 65,161,
+215,201,145,119, 14,169,119,149, 80,169, 71,133,195, 18,143, 10, 71, 36,229,170,180, 47,171,158,159,159,159,172,102,205,154, 97,
+ 33, 33, 33,163, 58,118,236,248, 69,195,134, 13,195, 43, 86,172,216, 5,127,227, 96, 44,185, 42,232, 27,179,144,202, 52, 11,169,
+ 76,185, 42,232,155,146,235,215,224,153, 20,205,166, 80, 52,155,162, 80, 5,207,252,167,156, 43,137, 79, 80, 69,185, 42,104,145,
+139,111,237,171, 50, 85,141,158,165,253,190,135,135, 71, 23,111,111,239,119, 11,126, 60, 60, 60, 12, 35, 15, 31, 0, 0, 32, 0,
+ 73, 68, 65, 84,186,144, 59,224,141,121, 22,197,122,229,247, 55,186,208, 25,161, 68,126, 97,240,199,159,214,157, 59,117,178,116,
+201,186,125, 88, 50,107,226,125,179, 62,183,246, 63,113,207,189,170, 52,187,206,208, 76,249, 23,223, 99, 57, 54, 41, 51,246,106,
+147,183,161, 31, 92, 73, 54,252,187,175,134,124, 57,232,253, 78, 21, 59,245,248,156,138,138, 53,238,119,222,162,161,193,142,221,
+123, 3,207,157, 57,189,108,221,186,213,211,213,246,224, 69, 66,137, 96,133, 38, 49, 50,183, 52,101,112,245,174, 90, 69,160,240,
+ 58,215,170,247,167,190, 55, 78,110,222,192, 90,184,206,134,204, 23, 86,255,126,115,188,171, 85,171,214,148, 97, 24,207,177, 99,
+199,138, 0, 96,241,226,197,213, 89,150,205,122,242,228,201, 53,188,193,228,167, 14,131, 25, 60,100,233,252,105, 27,223,121,167,
+ 27, 82, 50,245,152,183,104,101,187, 99,135,118,244,215,167, 63,218,245, 54,206,137,187,123,101, 87,136, 92,238,126,254,213,116,
+ 85, 88,187,166,140,206,100,199,177,115,183, 90,111, 94, 57,253, 42, 80,171,153, 54,243, 65,145,115,138,113,134,188, 41, 62, 74,
+ 62,140, 51,228, 1,192,160,215, 30,246, 74, 91, 39,111, 25, 27,230, 39, 17,220,202, 2, 74, 92,244,209,189, 82,203,227, 66,137,
+164, 34, 77,211,160, 41,128,166, 41, 48, 20,229, 88, 39,212,106, 76, 72,126,120,190,235, 63,225, 62,113,169,208, 44, 13,140,192,
+147,166,158,151,143,162,243, 95,121, 94,147,246,232,130,231, 91,248, 55,110,117,171,187,215,105, 89, 93,191,254,108,108,182, 66,
+208,230,139,195, 20, 79,255,244,244,252,162,219, 78, 25, 0,169,212,227,224,193,131,222, 97, 97, 97,110,170, 58,189,207, 58,243,
+ 29, 49,163,171,125,232,208, 1, 81, 88, 88,215, 82, 92,159, 65,157, 65,211,155, 40, 64,200,113,252, 98,134,227,119,232,178,162,
+159, 0,165, 91,125, 74,166, 10, 30, 78,131,119,186,158,225, 64, 93, 55,102, 68,173,123,211,131, 43,144,184,118, 20,138, 68, 95,
+ 84, 9,170,215, 40, 57,254,241,117,189, 78,187,200,110,206, 59, 91,106, 33,155,125,210,201,243, 55,222, 17, 8,133, 84, 88,199,
+230,140, 25, 56, 93,150,147,238,227,227,243,238,242,229,203,171,134,134,134, 2, 0,236,118,187,235,206,157, 59,125,103,204,152,
+161,136,142,142,126,211,133, 83, 3,188,189,189, 43,136,197,226, 0, 0,176, 88, 44,201,106,181,250, 41,128, 18, 27,254, 10,159,
+170, 94,224, 49,253,252,185,115, 2, 0,104,221,186,205,204, 10,173, 62,243, 96, 68, 74, 99,161,135,195,162, 85,228, 62, 57, 61,
+254,242,149, 75, 20, 0,132, 52, 15,157, 44,247,170,181,226,239,140,108, 73, 85,193,205,105,224,203,144,214,157,250, 14, 24, 56,
+132,174, 83,163, 2,186,116,238,240,181, 17, 56, 88,170,107, 70, 32,144, 93,189,122,181, 26, 77,211,140,221,110, 55,133,132,132,
+ 60, 45, 75,185,252,131, 66,255,160, 64, 7, 90,237,150, 53,234,152,235, 51,129,215, 22,142, 97,220, 2, 27,125, 7, 70, 48,146,
+227,184, 68,237,211,235, 45,254,133, 17,173,215,143,115,105,149,104,129,248,139, 65, 31,125, 82,119,252,132,111,165,159, 47,137,
+192,225,149,147, 51,255,169, 38, 11, 0, 24,154, 41,127,252,196,113,149, 92,204, 0, 0,116, 38, 59,222, 9, 11, 43,249,137, 80,
+169,217, 25,154,162,130, 11, 22,180, 97,237, 86,169, 64, 40, 54, 81, 14,131, 4, 10,128,151,127,165, 8, 31,251, 5,249,160,247,
+ 59, 85,220,180,237,247,164,167, 73, 89,165,174,212, 40, 70,132,144, 54, 93,208,169,115, 87,183,171, 87,254,152,190,250,231, 85,
+223,216,173,182, 85,156,141, 91,100,202,126,156, 82, 98,101,238, 91,163,177, 88,233,117,172,239,168, 25,158, 38,186, 28,126,152,
+181,212,235,220,209, 45,103,147, 19, 27,112, 9, 9,137, 38,158,162,238,231,100,167,126,161, 79,123, 18,229,236, 33, 83, 42,149,
+ 85,149, 74,101,131,250,245,235, 75, 39, 78,156, 40,108,215,174,221,115,203, 30, 30, 46, 58,115,230,140,223,130, 5, 11,186,221,
+185,115,199,164,211,233,110,235,116,186, 24,148, 34,209,222,215,215,251,179,247,250,244, 68,135,190,159,130,229, 40,132,127, 50,
+ 30,199,143,238, 25, 13,224,173, 24, 45,155,220,117,198,200, 81, 19,189, 67,154, 54,100,166,111,137,130, 76, 44, 64,215, 38,193,
+212, 71, 99,167,184,175, 91, 54,125, 45, 50,209,182,176, 72, 22,103,200,155, 82,215,203, 50,176, 87,104, 21, 28,216,106, 25,136,
+142, 95,129,150,187,205, 76, 60,240,237, 67, 0,168, 26, 54,214, 69,194,170,151,251,187, 51, 42, 9,171, 94, 94, 53,108,236,201,
+152, 99,203,181,197,149, 69, 40,145, 84,220,186,101, 75, 13, 15, 23, 17, 4, 52, 5,134,161, 32, 96,104,152, 44, 44,250,191, 63,
+240,173, 93,230, 50, 85,141,110, 52,240,145,227,129,141, 95,141, 25,143,142,148,230,156, 80,140,200,243,208,129,189, 2,149,155,
+ 4, 12, 67,129,161, 1,134,166, 16,159,110,196,240,225, 31,185,149,213,176,191,211, 82,213,116,210,128,224,174, 33,117,203,213,
+223,126,137,114, 11,121,103,128,103,166, 73, 62,108,219,254,211, 3,249,214,227,175,240, 60, 55, 63,233,194,210, 19,197,137,152,
+205,230,244,174, 97,239,184, 82, 2,133,252,228,190, 13,109, 4, 52, 5, 27,203,195,206,242, 96,243,215, 70,165,242, 91, 48, 52,
+ 77,129,231,120,140, 28, 57, 28, 93,195,222, 49,112,118, 46,201,249, 74,142,222,116,236,228, 69,111,179,141,195,130,229,235,166,
+235,243,212,211, 99, 31,122,198,235,242, 50,199, 27, 51, 30, 57,189, 14, 6, 13,190, 73, 98,204,189, 81, 91, 14, 93, 70,221,218,
+181,192,114,142,114, 6,151, 87, 96,203,225,203,168, 25, 92,211, 81,110,142, 71, 80,160, 18, 77,155, 52, 5,128, 55, 50, 90, 2,
+137,203, 15,109,187, 15,153,214,163,255,199, 80,121,123,131,230,109, 61, 78, 30,222,210,227,215,159,230, 79,178,155, 52, 11, 74,
+ 37,198,179,207,158, 11, 60,199,149, 57,234,228,239,239,239,221,180,233,243,233, 24,237,118, 59, 42, 87,174,140,228,228,228,224,
+ 55,105,167,249,249,249,117,255,241,199, 31, 85,221,186,117, 19,250,250,250, 2, 0,210,210,210, 2,142, 29, 59,214,232,199, 31,
+127,204, 72, 77, 77, 61,140, 98,102,244, 97,109,180,136, 22,128,145, 74,229,142,125, 4, 69, 79,252,236,195,250, 62,126,254,230,
+194, 62,175, 86,167,137,191,250,244, 52, 37, 16,136,242, 63, 15,154,231, 57,170,152, 40, 81, 39,161, 80, 88,104, 15,133,149,113,
+ 13,225,133,110, 35,104,134,118, 92,172,118,155, 58,231,233,205, 90,165,136,196,213, 17,138, 69,171,222, 27,240,113,139,126,125,
+123,195,207,219, 13, 39, 47,220,193,232,207,190,180,217,173,182, 69,111, 84,121, 48,140, 32, 35, 35, 35,222,195,195,195,183,236,
+207, 91,170,202,239,199,143,170, 78,158,138,152,188,112,201,178, 49, 86,139,221,198,241,252,179,117,140,101, 50,137,176,115,143,
+247, 93, 85,213, 66,164,203,126, 28, 33,252, 23, 70,180, 86,191, 21,163, 37,150,185,188,255,253, 87, 99,165, 51, 54, 95,198,225,
+149,163, 51, 13,154, 76,239,103, 45, 5, 87,247,155,122, 77,110,163, 55, 41,161,210, 59, 40,148, 98, 4,163, 40,134, 81, 80, 52,
+ 37,230, 88, 46,209,110,177,204, 52,102, 61, 74, 45,235,222,115, 28,143,221,127,100,148,206, 0,241,168,190,105,251, 94,149,143,
+187, 4, 38, 43,139, 1,131,134, 96,227,198,141, 46,222,110, 98,152, 44,118,204, 95,184, 80,171,139, 63,172,138, 79,204, 73,238,
+212,243,203, 19, 49,113, 25,247,158,166,154,118,148,182,108,102, 43, 11,141,193, 14,131,153, 70,141, 58, 77, 49,127, 81, 77,233,
+211,132,216, 47, 55,252,186,118,220,253,251,204, 70,142,161,167,153, 82, 31, 36, 22,122,211,249,214,237,234,234,225,185,181,207,
+168, 89,238,143, 50, 4,224, 97,197, 19, 87, 41,222, 31, 54,206,181,170,175, 12, 10, 41,227, 30,155,144,236, 55,113,210,164, 11,
+ 49, 44,223, 76,163,142,137, 45,169, 60,149, 42, 85,234,219,163, 71, 15,249,132, 9, 19,132,129,129,129,248,117,203,206,138,173,
+187,246,239,153,146,154, 30,200,243, 60,124, 84,170,196,145, 31,245, 63,120,228,200,145,132,196,196, 68,225,188,121,243,154,239,
+221,187,183,118, 90, 90,154,211, 45, 83,150,231, 97, 50,179, 96,243, 31,144,234, 60,115,169,253,105, 64, 64,128, 36, 57, 57,217,
+252, 66,148,129,122, 30, 40,164,186,118,108,219, 92,240,203,209, 56,232, 76, 44, 20, 82, 33,226,210, 13,104,210,176, 30,181,134,
+181, 55, 40, 76,112,248,251,221,167,248, 40,249,176, 94,161, 85,160,242,144, 99,253,138, 89, 56,112, 41, 54, 44, 93, 71, 97, 57,
+207,140,242,147, 8, 58, 43,184,212,229,237,154, 84,243,237,208,184, 34,174, 53,169,230,123,238, 70, 84,180,172,255,194,177,201,
+ 58,225,201,156, 99,227,180,133, 87, 60, 52,202,185,136,176,238,120, 2,228, 82, 1, 20, 82, 1, 20, 18,199, 43, 77, 83,101,107,
+213,250,213, 10,100, 56,118, 56,195, 8,134, 15,124,191,191,255,224,129,253,121, 48, 52,118,238, 62,216,123,243,230, 77,169, 54,
+171,101, 45, 75, 51,235,138,186,126, 94, 58,160, 52,160,114, 19, 99,210,218,123,112,149, 9,225, 34, 23,194, 85, 46, 68,135,250,
+222, 96,222,124, 18, 24,143,209,189,171,118, 27,221,167, 82,251,224, 10,202, 26,183,159,228,221, 31, 62,243,250,146, 51,185,237,
+191, 88,177,184,182,167, 46,215, 34,248, 97,226, 72, 65, 82, 74, 74,251,157, 7,207,118, 96, 45, 31, 71,217,173,250,111,213,119,
+118, 22, 26, 21, 78,138,186,212, 40, 32,164,159,212,170,179,221,189, 29,149, 84, 45,199, 44, 65,100,188, 6, 10,169, 0,202,130,
+ 99, 43, 21, 64, 33, 21, 66, 41, 21, 32, 37, 41, 14,217,122,230, 66,178, 39,221, 30,103, 47,217, 75, 83,112,147,149,197,173, 88,
+ 29, 42, 5, 55,132,159,159, 63, 44,221, 62,168,116, 37, 98,247,254,171,103,247,205, 49,164, 61,252,214, 89,157, 45,135, 46, 99,
+242,248, 81, 55, 40,224,102,254, 67,186,209, 15,115, 87, 54,158, 62,249,211,151,222,155, 56,109, 89,227, 55,143,100,185, 76,233,
+208,231,147,105,173, 59,247,129, 54, 59, 29,127,156,216,129,174, 61,222,195, 7, 31,127, 14,119,119,175,249,139,102,126,117,219,
+110,214, 68,188, 86,231,250,214,108, 85,175,110,173,205, 1,254,254,129, 28,231, 88,229,131,231, 1,157, 54, 15, 95,125, 49, 18,
+ 28,207,163, 65,163,102, 29,164,173, 59,243,124,254,106, 32,153, 89,153,250,168,135,247, 59,153, 50,162,174, 56,125, 44, 77, 38,
+155, 90,173,198,173, 91,183, 16, 29, 29,141,200,200, 72,100,101,101,193,205,205, 77,167,215,235, 75, 21,188,175, 95,191,254,224,
+136,136, 8,169,135,135,199,179, 55, 45, 22, 11, 92, 92, 92, 48,120,240, 96, 97,151, 46, 93, 2,186,119,239, 62,244,222,189,123,
+ 91, 0,104, 10, 45, 79,246,227, 20, 23,159,224,159,219,182,107, 59, 6, 0,100,174,126,177,203,127, 61, 24, 89,108,131,214,205,
+191, 98,139, 22, 45,171,129,231, 65,129, 95,106,200,138, 78, 43, 38, 74,164,184,124,249,114, 85,134, 97, 4,207,159, 65, 28,126,
+ 90,191,189,230,239,231,239,246,157, 59,127,129,212, 85, 33,129, 58,207,130, 17, 31,244,113,250, 25, 44,243, 9,238,214,162, 69,
+155,253,211,167,125, 47, 80, 42, 20, 56,113, 37, 6, 99,191,152,100, 74,141,191,183,128,231,132, 43, 13,234,232,140, 50, 62, 42,
+223,202,240,184, 26,229,149,112,233,213, 85, 58,250,195, 94, 82,139,141, 69,174,222, 6,179,149, 5,203,241,200,211,219,112,255,
+169, 22, 94,174,165, 95,202,141,231,249,166, 0,188, 1,168, 41,138,186,246,226,118, 65,131,174,192, 27,191,178,157,153,255,124,
+240, 4, 96,129, 99,164,254,179,203, 39,127,187,168,247, 11,190,127, 31, 64,173,124, 77, 22,192, 85,138,162,114,138, 48, 91,175,
+ 69,185, 4,135, 14, 29,226,123,244,232,241,172,198,127,117,251, 85, 36, 34,161,191,194,205, 27, 60,255, 0, 47, 46, 96,172,242,
+ 13,200, 90,176,104, 73,185,207, 62, 25,149,160,201,205,174,152,255,246, 73,103, 30, 22, 2,138, 89,212,182,101, 72,151, 49,159,
+124,130,224,170,229, 69, 44,203,242,247,162, 99,109, 27,214,173, 31,118,238,146,120,137, 38,233,222,148, 23, 66,144,165, 26,246,
+201,114,108,210,171, 17, 44,150, 99, 95,109,221,190,166, 73, 81,128,187, 82,140,159,143,198,129,231, 1, 10, 60,220, 20, 66,108,
+ 59,147,132,216, 27,123, 52, 61, 26,104,244,131,231, 78,237,208,190,219,184,136,251, 79, 76, 59, 50, 50, 76,199, 1,164, 21,167,
+ 89,120,133,206,193,108,101, 97,179,219,177,235,224, 65,132,117,104,142, 22, 45,154,163, 77,235, 22,130,235, 55,238,124,252,201,
+152,145,129,120, 62,186,227,153,166,212,167,122, 83,165,155,215,142,190, 99,230,185,220, 77,178, 67,192, 0, 85,124,101, 40,231,
+ 34,130,197, 78, 33, 94,109,205,191,115,220, 49,118,226,180,114,147,191, 28,115, 68,163, 22,215, 5, 30, 88,139,219,119,131,193,
+ 32, 30, 50,100,136,208,102,179, 89, 7,143,248,188, 75, 90,154,186,247, 79, 75,255, 39, 81,169,124, 96, 48,217,113, 35,242,113,
+173,233,211,167, 85, 57,120,236,204,190,169,147, 70,239, 15, 11, 11,115,219,190,125, 59, 87,210,241,124,169,133,152,158,185, 98,
+253,230, 93, 27, 23, 47,152,141,168,132, 28,172,251,101, 37,120,214,254,115, 9,135,234, 69, 77,126,200,144, 33,178,125,251,246,
+149, 79, 74, 74,210, 24, 12, 6,245, 75,241, 8,154, 18,164,103, 27,224,229, 34,134, 72, 64,195,199, 67, 10,149,155, 4, 66, 6,
+160, 41,138, 45, 76,115,221,142,195, 51, 57, 67, 30, 14,108,181, 12, 92,191, 98, 22, 62,254,236, 59,220,203, 20, 31,163,229,110,
+ 51, 63, 29,216,119,178,183,140, 13,243,119,167, 85, 29, 26, 87,130, 66, 42,194, 55,227,134,160,217,141,120, 85,114, 46,247,157,
+218,200, 52,156,118,236,217, 98,221, 39, 95, 14,142, 56, 34, 88, 46,114, 33,142,109,158,159,161,207, 83,231, 21,116,201, 89,204,
+166, 4, 39, 47,227,147,133,180,108, 39, 55,172, 87,103,214,152,240,225,116,203,208,102, 60, 77, 11,145,169,181, 80, 60, 15,124,
+ 49,118, 52, 62, 29, 61,210, 55, 49, 37,227,135,149, 43,127,158, 18,241, 59, 63, 67,175,126, 56,181, 56, 77,154,114, 68,129,148,
+ 82, 1,148, 50,135,113, 81, 74, 5, 48, 89, 88, 80, 20, 24,247, 10,141,242, 40, 71, 36, 55, 37, 59,161,200, 22,248, 75,154,229,
+ 42,212, 57,245,123,172, 75,205,156, 29, 57,151,226, 82, 34,103,222,184,147,126, 21, 64,118, 96, 27,247,161, 86, 59, 15,157,201,
+142,184,116, 3,236, 86,158,250,248,157,138,168,220,143, 10,158,189,254,230,198,163,119,224,250, 66,165,255,146,102,242,229, 93,
+ 38,207,186,125, 6, 44, 94,246,203,181, 5,179,190, 99, 50,243, 44,224,120, 30, 82, 49, 3,153, 88,144,255,195,192,168,207,195,
+202, 85,107,210,236,160,250,226,236, 89,123,105,174, 79,112,252, 7,125,186,181,217, 70, 1, 98,138, 22, 37,249, 87,172, 84,177,
+ 99,207, 97,210,142,189,134,128,181, 91, 38,223, 56,207,159, 54,100, 68,157,114, 70,179,110,237, 90,160,128,155,250,140,232,209,
+ 0,160, 80, 5,253, 92, 51,184,102,227, 87,223,171, 94, 61,184,177, 51,231,253, 89,164, 84,234,242,153, 71, 57,239,239,130,235,
+ 52, 84,165,231,152, 41, 23,207,242,136,123,116, 11, 91, 87,253,176,137, 51, 89,166,157, 58,188, 99,214,146,117,123,223,239, 24,
+214, 7,235,127,250,223, 55, 89,169,207,140,214,201, 23,162, 85, 31,108, 88,187, 58, 80, 40,150,192,102,231, 96, 99,121,199,171,
+157, 69,118,118, 14,108,118, 14, 82,185, 11,236, 28, 5, 27,203,193,102,231, 96,182,216, 21,163,135,116,255,196, 4, 92, 41,172,
+156, 1, 53,219, 30, 23, 73, 36, 21,121, 56,214,174,229,121, 30,113,105, 70,218,207,207,111, 11, 0, 72, 36, 18, 72, 36, 18,112,
+ 28,135, 27, 81,234,207,188,130,131,198, 32,223,224,177, 86, 75, 66,110,252,197,174, 69,237,187,175,175,111,207, 87, 77,150,201,
+100,130, 78,167,195,249, 75,215,220,214,110,220, 21, 22,151,144, 84,149,227,221,204, 46,170,170, 93,181, 25, 49, 61,139, 58,158,
+218,244,168, 79, 92, 67, 70,210, 19, 62, 29, 90,125,217,134, 67, 87, 31, 31,159, 89,108,158, 86,229,142, 95, 91, 38,140,122,175,
+201,220,165,235, 30,229, 92,252,121,124, 73,231, 72, 32, 16, 8,213,106,245,179,251,123,249,154,173, 77,110, 70, 37,191,187,100,
+241, 18,233,141, 24, 45,238,198,165, 96,104,167, 10,142, 22,142, 19,231, 93,225, 83,213,171, 74,181,106, 91, 86, 46,157, 43,120,
+148, 98,194,138, 61, 87, 17,177,255,231,243,105, 25, 87,194,144,158,106,124,147, 58,228, 45, 24,173, 34, 53, 79,223,201,132,206,
+100,135,217, 98,135,141,227,161, 49,216,144,145,107,129,198, 96,133,206,104,199,208,206, 21, 10,253, 94, 9,126,196,155,162,168,
+ 67, 60,207,247,224,121,190, 19, 0,113,193,182,227,153, 77, 29,202, 55,100, 47,109, 79,158, 60,249,219, 57,115,230, 68, 22,124,
+182,224,253,130,207, 22,247,254, 11,223,247,252,230,155,111,234,206,157, 59,119,118,104,104,232,182, 63,254,248, 35, 22, 64,142,
+179,221,135,130, 23,119,230,208,161, 67, 37, 29,232,170, 86,155, 85,226, 42, 19,162, 74,229, 10,248,232,219,245, 94,191,205, 29,
+158, 33, 21, 11,152,163, 71,143,150,203,178, 40, 65,211,140,211, 77, 20,165,119,141, 22, 34,145,248,240,194,133, 11, 49,176,103,
+107,217,211, 76,155,238,206, 83, 99,186,222, 2,187,202, 59, 72, 60,115,246, 92,229,220,121,243, 63, 61,116,128,203,213,165,223,
+159, 95,120, 23, 95,147,235, 12,245, 66, 14, 22, 69,129,231,216,164,156,248,107, 77, 0,160, 44,185, 88, 58,147, 13, 76,126,110,
+ 13, 69, 1, 6,147, 29, 12, 67,101,228, 70,237,184, 63,120,198,204, 14,155,182,253,158,194,211,238, 90,189, 62, 78, 14,199,154,
+131,165,198,100, 97, 97,182,177,136,188,125, 3,109, 66,106,163, 69,147,154, 48,152, 88, 24,204,118, 84,174, 22, 12, 0, 94,133,
+158, 56,134,142,229, 89,155,137,231, 89,151, 30, 77,189,161,114, 23,195,207, 67, 2,137, 88, 0,155, 29, 48, 90, 56,152, 44, 44,
+226, 51,140,208, 26,101,168,215,182,127, 21, 79,191,235,230,180,120,217,190,236,167,215,251, 22,107, 78, 89, 22, 27,182,236,170,
+158,146,146,222,251,200,190,205, 18,181,198,134, 59,241,122,100,228,154, 1,198, 27, 63,206, 94, 33,249,122,124,248,187, 27,182,
+238, 78,232,216,186,121, 66,105,247,217,160,142,218,180, 99,231,174,159,123,244,120, 87, 22,121,229, 8, 30,221, 58, 53, 75,159,
+ 81,170,252, 44,186, 65,131, 6,246,240,240,112,237,236,217,179, 3, 15, 28, 56, 80, 89,173, 86,223, 2, 96,115,119,119,175, 25,
+ 84,189,226,237, 19,199,142, 6,116,127,183,191, 48, 41,211, 8, 55,185, 8, 21, 85,114, 92, 58,127,220, 38, 22, 11, 11,205, 55,
+201,239, 30, 28,132,142, 95,225,192,165,216,176,200, 44,233,153,145,195,135, 38,156, 56, 23,149,181,124,227,137,255, 5, 40,109,
+183,164,156,122,249,245, 38,213,124, 39,143, 29,130, 57,203, 54,225,236,141,168, 12, 61,237, 55, 43,213,108,255,189,232, 80, 58,
+ 32, 96, 40,184,200,132,208,107,212,121, 79,110, 30, 11,122, 75, 97,234,161, 39,246,109,162,179,181, 54, 36,102,154,168,148,108,
+ 45, 88,142,135,187, 92, 4, 59,199, 35, 55, 59,147,218,188,105, 35,174, 93,187, 68,131,161, 71, 0,152, 90,236, 1,165, 28, 93,
+133, 74,169,208, 17, 17,146, 57, 94,109, 44,135,224,234,213,176,122,249, 34, 87, 47,149, 15, 90,181,113, 62, 55,218,197,179, 98,
+131,109,191, 46,199,153, 63,110,182, 59,187,100, 69, 83,165,191,247, 50,138, 98, 23,128,135,201,108,101,145,151,155, 3,177, 37,
+ 17,205, 2,212, 40, 39,103, 17,175,241,195,189,180, 71,202,146, 42,252,172,123,123,111, 81,252,187, 83,118, 29,140,152,211,181,
+115, 59,220,139,215, 64, 38, 22, 64, 42,102, 32, 21, 51, 16, 82, 44, 22,173,250,217,150,147,167,237,145, 21,185, 63,243, 13,174,
+207,147,249,173, 95,135,185, 99,117,222,155,150, 77,249,109,228, 87,243,186,134,245, 25, 70,221,187,118,250, 91, 3,112,202,185,
+134, 30,239,212,123, 28,231,252, 51, 78,234,226,181,116,220,215, 51,199,117,233,209, 31, 12, 35,128,205,102,195,238,237,155,240,
+235,138, 31, 31, 90,116, 89,195, 0,112,150, 12, 38,124,199,166, 85,253,191,250, 97, 17, 85,183, 65,179,230,167, 83, 95, 95,142,
+150, 99,168, 95, 62, 28, 62,106,128,143,143,143,203,243,136, 22,143,160,224,218,232,214,235, 61, 28,223,191, 23,247, 35,239,128,
+227, 29,134,137,227,120,228,230,100,165,217,109,150, 13, 69,246,120, 72,165, 21,215,255,186,177, 6, 77, 83,176,218, 56, 88,236,
+ 28,198,127,242,145,101,244, 23,223,182,234,214,165,109,164,152,129, 38,254,105,170,251,165,155, 15,234,113, 66,101,224,240,137,
+139, 68, 38, 51,139, 60,131, 13, 71,214, 21,237,117,164, 30, 21, 66, 43, 53,238, 54,124,244,247,171, 37, 18,134,182,214, 9, 10,
+140,109, 27, 82, 39,177,130,191,151,118,250,220, 21,205, 46, 92,185,217,237,253,193,195,165, 67,107, 54,166,252, 61,101, 46, 31,
+ 13,238, 83,159,181, 91, 63, 52,100, 39, 22, 57,191,160, 80,238,145, 91,161,114,117,195,243,136, 81,208, 30,138, 71,149,151,156,
+ 7,133, 88, 99,122,116, 95, 0,240,243,175, 96, 18, 74, 92,181,165,136,192,240, 0,176,108,205,214, 38,183,163, 83, 70, 46, 94,
+188, 68,126, 35, 70,139, 91, 49,121,144,136,104, 88,109, 28, 40, 39,131,218, 28,207,140,250,238,155,201,174, 57,122, 22,103,238,
+168, 17,121,253, 52,111,209,153, 6,203,237,174,125,161,114,249, 16, 64, 53, 0, 79, 40,138,255, 69,159,238,187, 31, 56,107, 47,
+237,117,207,113,142,246,178,171,119,213, 42,172, 64,210, 77, 40, 86,132, 82, 20, 95,135,226,225, 1,240,201,217,249,207, 84,103,
+157,154, 62, 61, 26,243,102,255,128,165,107,247, 34, 37,203, 4, 55, 54, 17,251,215,205,196,132, 57, 91, 96, 52, 23,157,213, 80,
+146, 31, 41,204, 24,189,106,184, 10,126, 47,248,220,156, 57,115,122,188,114,110,122, 20,113,206, 94,251, 92,193,247,231,206,157,
+ 59,251,133,191, 27,156, 53, 89,207,140, 86,193, 78,149, 96,182,130,188,253, 42,254,177,127,223, 30,143, 28,157, 21, 82, 17,131,
+ 10,149,171, 99,234,242,253,222,239, 52,241, 66,166,213, 13, 91, 87, 47,200, 54, 25,180,219,157,170, 44, 84,193,205,101, 74,197,
+145, 61,187,247,162,106, 5,149,104,243,249,236,184,155,177,198,103,161, 94,141, 58, 65, 92,217,213, 32,232,219,167,143,252, 84,
+196,233, 47,116, 64,161, 70,139,161,152,242,107, 54,238, 86,185,200,132,160, 40, 64,107,180, 99,228,135,239,149,253, 49,198,115,
+204,240, 97, 67, 65,229,155, 44, 77, 86, 26,190,253,250, 19,147,194,246,232,254,211,248,167,201,157,122, 78, 56,165,209, 81,166,
+ 1, 67, 62,185,118, 63,122, 78,142,193,240,102,139,252,152, 45, 44,204, 86, 14, 49, 49, 79, 48,126,104,103, 8, 25, 26, 12,195,
+ 57,146,165,237, 69, 95,140,186,148,232,108,248,138,250,109, 90,248,217, 26,127, 31,149,167, 82, 33,227,149,114, 9, 85,167,102,
+ 13, 81, 72, 72, 11,113,229,224,250,162,243, 15,140,120,170, 54, 34, 54, 37, 15, 18,159,134,130,129, 29,222,193,166, 37, 19,219,
+101, 63,189, 78,227,245, 36,197,151,248,253,204,229,158,107, 87, 45,150,164,231, 90,241,240,169, 14,105, 57, 38,164,230,152,145,
+150,109,130, 82, 38, 68,155, 94,225,146,195,251,127,233,217,177,117,243,101,111,178,223,177,177,113,135,227,147, 83,251,215,111,
+212, 12,155,126,251,181,181,187,123,101,215,220,220, 56,141,179,103,103,230,204,153,226,185,115,231, 10,150, 47, 95,174, 9, 9,
+ 9,241,253,230,155,111,186,102,100,100, 92,173, 84,169, 82,240,241, 61, 27, 34, 26,182,233,221, 20,156,213,187,117,219,246, 34,
+ 9, 39,192,137, 67,135,172, 59,182,111,206, 50, 26,181,163,139, 53, 28,114,183,153,233, 58, 10,222, 1, 1,145, 74, 49,219, 89,
+ 64,231, 70,231, 28, 27,183, 49, 7,216, 83, 53,108,236,201,211,215,163,162,155,220,136, 87, 69,220,120,156,145,109,176, 6,197,
+ 28,155, 80,108,197,203, 80, 20,132, 12, 13, 23,153, 0,116,126,173,170,244,175,255, 24, 20,229, 93, 16, 57,165, 64,229,191, 2,
+ 20,133,148,156,167,183,156,200,217,160,120,142, 7,162,146,244,208,153, 28,161,249,242, 94,114,168,211,147,240,211,178, 13,184,
+121,253, 26,186,188,211, 11, 43,215,108,198,200, 15,251,155, 74,106,253,208,116,126, 68,235,133,104,150, 82, 38, 0, 64, 33, 87,
+111,195,238, 11,137,168, 86,133,118,250,193, 0, 0, 46, 74, 57,242,180, 70,208, 34, 23, 60,185,113, 68,126,244,244,149,111,166,
+204, 88, 60, 41, 39,245,206,211,199,119,207, 35,216, 43, 15, 85, 2,172,136, 76,115,197,245,172,202, 8,174, 94, 21,180,232,154,
+ 83,218,153,145,245,230,237,167,119,247,104,210,176,118,104, 69,149, 59,140, 22, 54, 63,170,197,224,215,245, 27, 17, 31,151, 52,
+ 60,235,254,254,155,111,195,209,234, 51, 98,213, 18, 85,245, 79,239, 94, 57, 21,219,103,240,167,240, 11,168,208, 32,247,233, 45,
+167,211, 22,156,121,143,117,210,104,137,228,238,223,140,255,238,127,227,186,116,239,135,203,231, 79,225, 86,228, 19, 52,111,222,
+ 20,239,188, 59, 16, 90, 77,118,205,157, 27,151,116,182, 27,180,199, 5, 18,251,184,102, 45, 58, 80, 28,203,226,209,195,123, 79,
+ 10,211, 50,166, 70,221,186,148, 26,229,250, 82,247,148, 87,205, 6, 74,183,114,183,204, 86, 22,201,201, 73,184,248,199,153, 70,
+198,212,168, 91,165, 57, 94, 18, 17,131, 19, 55, 51, 96,181,113,176,218, 57,180,105,219,217, 34,162,205,173,103, 45, 94, 31,146,
+154,146, 74, 43, 92,189,184,114, 1,181, 68,126, 18,171,249,118, 76,158,200,106,227, 80,213, 95, 81,172,166,183,127,245,217, 19,
+ 39,142,175,197,136,100,208,234,205,150,212,148,100,223,213, 91, 79,235, 30, 60,188, 27, 80, 94,229,230,250,191, 37,191,136, 52,
+ 38, 10, 25,121,102,100,107, 53,212,224, 81, 95,249,175, 93, 49,231,131,226,140, 86, 33,233, 34, 85, 14,159, 56, 95,211,195, 69,
+ 68,233, 76,118, 46, 75, 99,101, 7,191, 91,182, 65,151,249, 38, 43,124,241,162, 37,242,155, 49, 90,220,142,201,131, 84,196, 64,
+ 44,162, 97,177,113,112,242,118,162,125, 85,190,163, 91, 52,169,135,227,183, 50,193, 48, 52,140,218, 28,131, 0, 89,209, 77,218,
+117,145, 55,110, 22,130,246,237,218,226,113,116, 84,133, 67, 7,118,119,188,116,241,108,154,221, 26,244,153, 94, 29,189,183, 84,
+129, 5,131,129,177,137,125, 63,242, 11,168,212,178,239,192,143,220, 42, 86, 8,160, 84, 94,158,176,243, 2,132,127,248,158,211,
+119,190,195,152, 3,115,103,124, 3,179,217, 2,111,119, 49,120, 30, 88,191,108, 42, 44, 22, 11,252, 61, 37,200,211, 23,189,154,
+ 92, 73,126,164,168, 40, 84,169,114, 79, 94, 48, 99,197,189, 79, 81,212,161,201,147, 39,127, 11,128,159, 60,121,242,183, 5,219,
+115,230,204, 49, 2, 72, 41,161,235,112,245, 75, 70,171, 96,231,138,190,187, 69,193, 94,158,126,151, 78, 28, 63,230,182,239, 54,
+135,203,123,175,163,123,115, 63,136, 4, 52,228,110,254,184, 29,151,135,195,123, 86,229,238,223,246, 75,178,217,108,158, 95,114,
+ 95,115,245, 38, 74,185,226,248,111,155,182,115, 94,158,158,244, 79, 39,212, 49, 89, 90,251,179, 46,173,232, 43, 7,184,235,199,
+ 87,251,241,160,142, 73,165,210,234, 22,139,197,163,164, 19,187,254, 68, 66,126, 18, 47,245, 54,234, 86, 80, 12,195,110,218,188,
+ 9, 94,174, 98,152,109, 28, 38, 79,250,220, 56,180,139, 50,119,240,251, 3, 59,180,239, 54, 46, 66,168,168,113,170, 69,163, 26,
+124,195,134, 13,115, 25,134,113, 42,149, 66,165, 82, 77,165,105,122,144, 88, 44,118,177, 88, 44, 90, 11,103,146,235, 77, 22,152,
+172,128,193, 96,130, 80,228, 48,139, 66,134,130,209,100,129,193,104, 41,254,198, 72,187,119, 1, 64,144,230,133,152,210,169, 7,
+ 85,197, 91,118,238,255,188,223,251, 3,166, 4, 52,120, 87, 25,151,154, 7, 17,101, 69,211, 90,126, 56,125,108, 47,159, 20, 31,
+ 61,190, 36,147, 5, 0, 25,234,236, 64,111,111, 31,220,140,213, 33, 57,203,136,180,124,147,149,154, 99,134,214,168, 69,253,138,
+254,200,205,203, 11,124,227,227, 11,236, 61,126,252,120,255,110,189, 7, 96,220,164,105,173,214,173, 90,112, 71, 33, 22,126,172,
+ 79,127,116,198, 25,163,117,239,222,189,236,175,191,254,186,218,154, 53,107,232, 15, 62,248,192, 88,175, 94, 61,233,144, 33, 67,
+ 90,109,220,184, 81, 42,151, 75,141,183,207, 31,152, 50, 98,236,228,222,171,151,206,108,144,147,147, 67,217,109,182,163,214,156,
+156,201,186, 18,204, 92,226,129,111, 31,254, 24, 99, 29,214,185,181,247,129,114,114,186,142,132,183, 12, 68,173,169,219,241, 96,
+170, 53,230,216,114,173,172,255,194,177, 41,185,220,119, 38, 90, 53,171, 36,147, 5, 0, 52, 67,193, 98,103,225, 34, 19,130,166,
+233, 2, 19,239,247,235,246,163,114,111, 55, 49,132, 12, 13, 1, 67, 65, 99,176, 33, 83, 99,197,167, 31, 57, 59, 67, 8,207,217,
+ 89, 30, 70,139, 29,134,252,214,161, 86,147,137,111, 38,125,137,119,122,246,193,136,209, 95, 34,199, 8, 92,143,213,194,106,179,
+149,120, 83,208, 20, 13,131,217,142,143,187, 84, 68,182,206, 10,189,209, 14,139,157,131, 92, 44,128, 80, 64, 67, 33, 21,192, 85,
+ 46, 4,120, 94, 84, 80,153, 8,133, 66,147,205,102,219, 84, 76,139, 30,149, 3,125, 96,180,209,104, 54, 96, 1, 58,133, 6, 33,
+242,194,110,193,217,203,119,171,124, 49,233, 59,124, 62,178, 39,118, 61,172,134,114,170,138, 80, 42,100,176,241, 52, 0,222,201,
+132,189,169, 28,109,237, 51,232,231, 53,235,163,166,255, 48, 89,154,171,167, 32, 17, 49,136, 56,117, 18,151,174, 92, 95,154,121,
+127,255, 38,188, 69,132, 60,237,227,234,234, 10,169,152,129,197,106,182, 56,159,186,192,131, 7, 26, 41, 84, 65, 63,231,183,248,
+ 27,177, 28, 10,121,175,100,163, 37,144,186, 78,254,108,210,244,217, 93,186,247,195,137, 67,187,176,115,215,118, 54, 52,108, 56,
+179,249,215, 85,104,213,169, 23, 90,117, 25,128,163,123, 55,126,169,231,168,218,225,227,166,204,104,211,161, 27, 78, 28,222,133,
+244,180,164,133,206,150,151, 17, 82,227, 58,116,238, 9,147,133, 69,235,142, 61,112,236,224,222,177,200, 31,100,225,252, 67,236,
+149,250, 25,180,253,203,241,227,132, 25,185, 22,161, 90, 99, 65,146,218,128,184,116, 3,246,111, 91,199, 59, 95, 95, 88,154,182,
+169, 95, 94, 24, 62, 47, 34, 49,176,188,159, 89,104, 54,202,162,159,196,212, 28,241,209, 80, 97,149,234, 53,233,140, 60, 51,212,
+121,102,100,230,153,161, 51,217, 81,189,124, 13,218,102,167, 66, 75,123,158,189,220,196,194,149, 7, 99,225,170, 16,162, 69,205,
+ 55, 31,104,203,113,220,115,147,181,216, 97,178,238,196,230, 65, 34, 98, 32, 17,209,144,136, 24,216, 89,222,169,134,139, 76, 21,
+212,237,211,207, 62,241,183,216,129,172, 60, 11, 4, 12, 5,149,151,135,162,105,131, 65, 88,191, 96, 44, 0, 96,228,215, 63, 97,
+196,199, 67, 80,171, 78, 61,228,230,228,248, 14,234,215,109, 49,128,189,206,150,245,200,137, 51, 21, 78,156,187,249,245,167, 19,
+127, 84,190,223,179, 61,115, 43, 38, 15,169,217,102, 60,137,214,150, 42,242, 6, 0,118,150, 3, 15, 30, 27,182, 31,130, 76, 44,
+128, 58,207, 10,158,231, 49,115,249, 14,184,200,132, 72,205,113,116,247, 23, 71,177,126,164,152,136, 84, 41,162,141, 61,224,200,
+229,242,118, 54,162, 53,103,206,156,200, 57,115,230, 20, 26, 33,123,193,100,189,217,162,210, 34,145,162,166,171,167,215,229, 19,
+199,142,184,236,189,205,226,244,237, 44,244,107, 93, 30,186,236,167,152, 63,233,253,108, 10,188,133,102,152, 92,179,209,176,199,
+104,212,207, 2, 96, 45,246,162,241, 13,106,164,144, 42, 79,174, 92,253,155,221, 75,165,194,166,243,217, 73, 57,122,187,237,121,
+183,149,141,186,126,124,117, 21, 59,103, 11, 51,165, 63,190, 86, 82, 75,156,227, 33,154,179,106, 63, 0, 30, 28,199,129,231, 56,
+ 8,165, 74,133, 87,213,144,244,252,138, 78, 42,160, 41,211,139, 53, 0,207,217,147, 50, 99,139, 15,131, 82, 0,220,228, 66,108,
+ 63,155, 12, 0,233,140,246,198,131,193,239, 59,186, 11, 77, 22,169,166, 78,181,106,124,211,166, 77,115,101, 50,167,166,191, 98,
+124,124,124,174, 78,153, 50,165,230,136, 17, 35, 36, 98,177, 24,118,187,189,220, 47,171, 87,115,171,103,141, 68,223,177, 43, 33,
+ 18, 75, 96, 52, 89, 33, 20, 10,144,147,167, 67,174,198, 0,173,193, 86,250, 43, 40, 38,198,162, 6,230,237,219, 43,238,211, 85,
+ 89,191,153,152, 22,161,113,176, 31, 78, 31,223,199, 95, 62,182,126,164, 49, 35,250, 55, 39, 47, 68,232, 76, 54,164,100,153,144,
+156,101, 66, 90,142, 9,105,217,102,164,229,152, 64, 81, 20, 76, 22,123,153, 30, 92,250,140,168,157,155,126, 91,219,203,108,197,
+192, 54, 93,250,224,203, 31, 87, 86,220,244,243,220,147,177, 60,221,210,201, 68, 91, 54, 50, 50, 50,254,163,143, 62,106,176,117,
+235, 86,166,110,221,186,198, 7, 15, 30,200,243, 77,164, 85,169,148,203,214,173,152,115,188, 89,179,102,219,146,163, 31, 70,228,
+247,167,151, 88,177, 87,108, 59, 76, 34,179,222, 12,175,160,104,209,181,170,175, 28, 21, 20,218,174, 53,149,183,231,103,117,248,
+124,182, 58, 98,105, 70,170,217,254,187,218,200, 52, 76,214, 9,157,202,193,179,153, 77, 9,125,251, 13, 4, 67,209,176,154, 12,
+ 9, 5, 23,151,202, 77,140,169,155, 31, 66, 41, 21,194, 69, 38,128, 82, 38, 68,171,218,229, 80,138,250,140,183,177, 28, 12,102,
+ 22, 70,179, 29, 38,139, 29, 94,129, 30, 88,179,105, 39,158,102, 24,177,255, 90, 38,162, 18,180,168, 81, 94, 1,158, 47,185,154,
+228, 88,155,190,231,123, 31,184, 48, 52, 5,134,166,232,218, 53,131,144,173,179, 66, 36,160, 33,146,202,160,144, 8,224, 42, 19,
+ 66, 36, 18, 34, 35, 35, 3,102,179, 25, 21, 42, 84,144, 22,111, 5,121,184, 40,101,168, 81,197, 31, 86,155, 29, 71,206,221,199,
+172,241,125,209,185, 77, 19, 80, 66, 37, 30,154, 27,193,165,156, 11, 56,154,134,213,206,193, 98,101, 1,208,166,162,244, 2, 3,
+ 3, 59, 40, 20, 10,133,193, 96,208, 62,125,250,244, 76, 90,212,222,167, 44,211, 59,252,216,137,136, 77, 61,222,233,140,155,119,
+ 34,177,107,239,129,243,153,158,121, 19, 11,190, 83,167, 78,157, 16, 47, 47, 47,101, 86, 86,150,230,222,189,123, 87,223,180, 93,
+192,211,244, 23,161,173,218, 65,151,155,129,244,196, 56,167, 91,209,181, 42,186,224,251, 57, 43, 27, 7, 7, 5, 55,102,121,135,
+241,170, 93,193, 5, 19,126, 92,214,184, 90,141,160,198, 5, 3, 66,106, 85, 40,126, 90, 54,129,220,165,203,135, 35,190,156,211,
+171,223, 48, 68,156, 56,128, 69,179, 38,109, 82,184,121,215, 42,231,225,214,176,110, 72, 23,156, 63,121, 0, 82, 23, 95,120,120,
+250,182,250,224,227,207, 58,245,251, 96, 20, 46,157, 63,137,165,115,191,221,200,154,181, 91,156, 41,171, 66, 85,197,187, 65,163,
+102,131, 93,202,249, 32, 55, 79, 11, 23, 15, 21,106,213,111, 58,248,254,109,243,215,250,140, 88,245, 27,155, 14,158,135,217,202,
+ 35, 71,103, 69,162,218,136,248, 52,135,209,226,184, 82,228, 4,177, 28,165,148, 10, 4,229,108,143, 43,220, 61, 25,193, 87, 12,
+244,161,230,205,152,196, 88, 33,133, 58,215, 97,178,212, 26, 11,212,121, 22,232, 76, 54,148, 83, 8,192,177, 92,169, 91,221, 57,
+ 58, 43, 92,228, 66,184,201, 69, 78, 71, 25, 11, 99,213,175,219,131,111, 71,167,188,187,104,209, 18,249,173,216, 23, 76,150,208,
+ 17,205,146,136, 24,176, 28, 7, 56,113,199, 11, 5,194,113,189,187,117, 66, 98,166,209, 49,106,153,166, 80,163, 94, 51,120,201,
+ 56,116, 28, 48, 25, 0,208,179,155, 35,181, 45, 54, 85,143,131,151,213,192,203,137,221,197,215,197, 70, 35,179,122,243,225, 47,
+118,238,216,230,102, 98, 5,248,229,104, 60, 12,102, 59,164, 34, 6, 18, 17, 3,153,136,121, 41, 31,187,100,163,229,200,185,123,
+154,105,131,193,100,130,198,104, 3, 15,224,234, 99, 29,140, 22, 59,242,244, 54,132,212,244, 40, 91, 32,132,162, 14,243, 60,223,
+253, 85, 67,244,170, 89,122, 33, 34, 85,152,198,181, 23, 53, 10, 62, 95,148,145,123, 49,103, 11, 64,169, 70,112, 9, 94,117,142,
+ 47,110,139, 20, 30,181,220, 92,220, 46, 31, 59,122, 72,185,247, 54,135, 51,119, 28, 38,203,102,204,196,194,175, 7, 37,105,114,
+ 51,219, 3,136,113,246,159,201,189,106,213,151,138, 37, 17,255, 91,242,139, 85,229, 19,192,237,185,156,155,145,103, 96, 95,114,
+ 19,172,217, 76,216, 55,223,224, 0, 0, 32, 0, 73, 68, 65, 84,243, 28, 47, 50,165, 63,118,170, 15,129,166, 41,235,143, 99,251,
+128,227,121, 76, 93,178, 19,179, 39, 14,128, 82,246,129,156,162, 40,185,222,100,199,248,105,107,177,240,251,225, 46,114,137, 0,
+ 20,229,200,137,250,112, 96, 31,231, 46, 64,147, 29, 79,174,108,213,105, 99, 15, 61,120,177,187,176,121,171,119,174, 55,111,222,
+ 60,215,195,195, 3, 50,153,236,121,164,162, 8,124,124,124,190,255,241,199, 31,131, 71,143, 30,253,108,178, 79,129, 64,128, 79,
+ 63,249,132,102, 89, 30, 71,143,174,135,119,165, 70, 56,240,251,101,132,117,104, 10,157,193,132,236, 92, 45, 56, 48,111,124, 33,
+106,115, 51, 35,210,226,239, 54,107,217,190, 39,206, 28,223,199, 95, 62,186,110,100,105,230,232,241, 40,231,145,120,227,238,147,
+ 90, 20, 85,206, 17,209,202, 55, 89, 22, 27,135,138, 62,114, 36,198, 63,129,187,155, 91,162,179,122, 50,239,224,222, 20,205,143,
+166,192,175,215,167, 63,218, 9,128,215,167, 62, 24,180,115,203,234, 59,145,247,110,205,234, 49,120,156,160, 75,191, 79,152,159,
+231,124,246, 45, 0,103, 39,222,179, 70, 69, 69,221, 31, 62,124,120,139, 75,151, 46,177, 0, 12, 20, 69,217, 24,134,145, 91, 44,
+ 22, 81,251,246,237,243, 30, 62,124,120, 22,133, 39, 45,190, 68,171,143,118,122, 81, 18,237, 59, 98,206, 58,168,162,139,182,115,
+251,214,161, 8,173, 19,136,196,214,161, 0, 48, 46, 65,167, 12, 54, 85, 91,187,221,102,151, 29,249,249,215,131,179, 71, 14,232,
+ 52,126,147, 96,234,162,212, 67, 83,139, 77, 68, 77,124,112,182,107, 97, 54, 94,192,208,112,145, 9,161,148, 9,224, 34, 19,194,
+ 69, 42,132,205,206,151,166,229,200,219,236,156, 35,162,101,177, 67,103,180, 35,226, 86, 58,210,242, 44,200,213, 90, 97,180,178,
+224,193, 59, 90,163, 78,212,230,234,199, 23,221, 11,158,164,238, 21, 26,229,173, 94,190,192,117,247,133,164,103, 35,250,220,228,
+ 98,184,200, 29,163,177,207,157, 59, 7, 79,207,146, 91,251, 28,199, 97,215,177,171, 88,180, 33, 2,199,214,127, 5,169,136, 65,
+253,222,211, 48,236,221,230,224,120, 14, 79,162, 34,211,107,212,110,224, 67,211, 50,208, 20, 5,179,141, 3,192, 23,121, 60, 45,
+ 22,139,231,211,167, 79, 53,213,171, 87,247,245,247,247,239,199, 48, 12, 15,237, 45,243,190,109,217,134, 83,135,182,200,245, 70,
+ 51, 43,183,231,173,175,158,106,236,142,234,213, 65, 81, 20,239,234,234, 42,138,136,136,208,213,171, 87,207,251, 13,111, 37, 90,
+166, 10, 90, 58, 98,204, 23,253,170, 85,173,138,157, 91,214,131,231,169,221,206,126,121,243,193, 75,152,241,205,203, 35, 12, 39,
+252,184,172,241,194,105,227, 94,122,111,204, 55,139,138, 29,117, 40,147, 40, 39,246, 29, 20,142,235, 87,255,192,252,105, 19,182,
+153,117,217,195,108,118, 91,255,236,212,216,109, 85,106, 55, 7,111,213,226,196,142, 5, 24, 48,100,164,164, 75,143,126,184,116,
+254, 36,102,127, 59,102,179, 33, 55,227, 35, 56,153,228,204,241,194,209,237,187,190, 43, 52,154,173, 88, 54,239, 7,140,154, 56,
+ 11, 33, 29,122, 10,239,221,186, 60, 26,192,116,167,211, 33,172, 44,218,215,243,114,152,103, 27,135, 3,177,140,160,176, 43, 80,
+192, 80,116,195,170,238, 48, 90,236,208,148,208,168, 20,136,132,105,185,121,154, 74, 43,102,127,193,232, 77,118,168,243, 44,200,
+200, 51, 35, 51,247,185,193,202,204, 51, 67,157,103,129, 80, 64, 33, 58, 38, 1,180, 80, 80,234,252,188, 28,157, 13,205,130, 60,
+ 28,247,232, 27,246,142,216, 4,174,205,143,157,189,221,119,209,162,197,210,219,113, 90,220,137,213,228, 71,178, 24, 72,132, 52,
+196,249,191,179,156, 35, 55,178, 56, 92,189,171, 86, 25,250,225, 7, 29, 93,149, 50,164, 60,202,128,128,113, 76, 17,227,166, 10,
+132,155,196,132,207,198,132,195,203,211, 29, 79, 51,205, 88,186, 55, 26,119,238, 63, 6,103, 44,221,110, 47,251,101, 91,216,136,
+ 79, 39,184,211, 66, 49, 54, 30,143,115,148,147, 97,241,240,242, 65, 83,202,147,187,122,157, 38,139, 7,207, 58,153,131, 76,241,
+118,214,113,185,205,158, 58, 25,219, 54,252,132,227, 55, 50,158, 93,129, 23,118, 47,196, 23,223,204, 68,166,198,130,194,174,203,
+226,252, 8, 0,245, 11,145,168,215,182, 95, 48, 71,133,109, 83,249,219,150, 34, 52, 44,175,152, 43,203, 43,239, 91, 94,209, 43,
+108,238,191,213, 37,118, 29,190,102,138,220,189,235,202,165,138, 63,142, 30, 61,168,216,119,135,127,102,178,172,134, 76,126,214,
+184,158, 73,154, 92,117,151, 82,153, 44,239, 26,117, 37,114,201,217, 41, 51,151,154,125, 2, 42,217,143,220,210,100,105, 77,172,
+253,245, 28, 4, 5,171,112,243, 54, 9,196,146, 69, 66,163,229,135,204,204, 7,250,146, 34, 79, 28,207,227,208,149, 52,240,188,
+163,137,180,227, 92, 50,242, 91,230, 96, 57, 71,183,202,239,183, 50, 32,200,207, 67,113, 54,252,189,234,151,159, 52,221,235,229,
+233, 7,207,158,250,172,187, 48,164,129, 35,146,229,234,234, 10,119,119,119, 40,149, 74,148,212,117, 72, 81,212,135, 35, 70,140,
+120,173,245,159,145,145,129, 78, 29,219, 99,249, 79,107,208,160,227, 80,252,126,241, 56,172, 54, 14,245,107, 87, 69, 37,127, 15,
+ 36,166,107,223,232, 70, 87,248, 4,127,218,172,253,187,223,182,234,208, 19, 17,199,246,240,151,143,253, 26, 94,218,137, 16,187,
+119,106,113,112,198,140,169, 85,166,204, 90, 33,113,145, 10,240, 64,103, 1, 77, 81,168,232, 35,135,167,130,198,153,125, 27, 77,
+ 3,122,182,112,122,114,188,192,192,128, 77, 11,151,175, 86, 44,156, 59,173,253,245, 27, 84,132, 46, 37, 58, 27, 0, 12,233, 81,
+243, 30, 2,247,203,255,113,226, 72,131,182,125,224,227, 95,181,115,108,250, 67,167,205, 6, 0, 67, 76, 76, 76,236,148, 41, 83,
+130,231,206,157,203, 51, 12,195, 1,144, 44, 89,178,196,240,232,209,163, 91,112, 12,205, 69, 73, 15,155,142,157,235,140, 87,138,
+217,144,114,114,186, 78, 85, 95, 57, 66,235, 56,122, 69, 7,116,111,133,192, 10, 21, 16,147,102,104,152,109,224,132, 58, 11, 83,
+117,229, 47,119,174, 85,246, 98, 70,218,141,150,251, 0,246,151,246,252, 80,120,158, 32, 95, 16,205,114,145, 9,193, 57,174,149,
+ 82, 25, 45,179,149,133,209,204,194,104,177, 67,111, 97, 97,176,176,224,120,199, 61, 65, 81, 20,172,118, 14, 78, 53,155, 95,185,
+246, 93,203,121,161,106,101, 10,174,114, 71,217, 92,243,167,123,160, 0,120,122,122, 66,165, 82, 57, 21, 21,181, 88, 29,183,184,
+197,198, 61,235,214,183, 88,237,224,121, 30,209,209, 81, 95,197,199,198,246,174, 94,163,122,155,218,245, 27,148,147, 75,104, 0,
+ 40,210,104, 25, 12, 6,214,197,197, 69, 85,174, 92, 57, 58, 57, 57,249,153,121,174,222,176,189,125,239,158,221,232,219,183,143,
+238,193,213,219,207,134,184, 27,141, 70,170,101,203,150,174,129,129,129,180,217,108,214,148,246, 52, 41,188,131,222,245,240, 44,
+ 55,235,195,143, 70, 5,181,239, 20,134,211,167, 78, 96,255,158,173,191, 25,212,209, 39,156, 21, 9, 14,174,249,218,168,195,106,
+ 53,130, 94, 27,117, 88,169, 74,141, 98,141, 86,237,250, 77,155,243,148, 0,199, 15,237,224, 77,180,117, 12, 0,142, 53,105,119,
+108, 95,245,253,244, 65,163,191,169,214,173,215, 32,124, 56,100, 24, 4, 2, 6,103,126, 63,136,133,211,190, 60,172,203,203, 24,
+234, 76,154,128, 35,244, 86, 75, 20, 32, 11,252,188, 66,181,186,184,113,249, 60,158, 68,223,139,188,125,237, 82,157,234,245, 66,
+224,237, 95,241,243, 4, 47,102, 46, 30, 60,176,150, 36, 99, 49,153, 18,134, 13, 29,130, 23, 71, 29,134, 54, 10,246,164, 94,189,
+ 1, 0, 24,180, 25,214,117, 11,198, 63, 42, 24,117,200, 89, 45, 9, 69,233,230,229,168,119,157,185,120,101, 98,239,238, 97,116,
+166,198,226,136, 96,229, 89,242,127,204,200, 44,248, 93, 99, 70, 13,127, 37,162, 34,111,112,166,188,204,221,165,188, 47, 77,195,
+250,119,189, 95,112,237,114, 28, 15, 10, 48,149,186, 91, 74,232, 26, 62,111,254, 34,233,237, 88, 29,238,196,105, 28, 93,133, 66,
+198, 97,176,132,244, 51,211,229, 24,205, 94, 66,116,136, 98,102,127, 60,116, 32, 50, 53, 86,112, 28, 32, 96,232,252, 31, 17,158,
+106, 41, 36,106, 13,200,204, 81, 35, 54, 62, 1,185,105, 79, 64,211, 52,188,252,131,156,158, 73,154,229,197,126, 6, 11, 95,175,
+ 95,247, 54,130, 61,127,164, 66, 46, 17,192,172, 77,199,209,237, 11,212,102,157,102,150,209,160,219,227,204,124,142,207, 83, 16,
+ 40,181, 70,103,242,145, 8, 25,236,220,176, 2,253,135,141,121,169,246,253,234,187, 25, 0, 77, 33, 59, 71, 11,138,162,212,165,
+171,151,168,107,197,109,191, 97,100,172,204, 26,133,152,173,215, 27, 10, 69,183, 70,249,163, 39,142, 29, 84, 92,136,151,224,106,
+ 84,106,190,201, 82,115, 51,199,118, 79,210,230,101,119, 5, 16, 93,186,118, 33,221,117,192,199, 19, 35,171, 6,213, 54,159,190,
+167,139,203,213,219,138,204,115, 8,237, 55, 37,242,250,225,229,221,242,108, 49,159, 40,252,106,179,156,221, 62,207,168,142,158,
+ 86, 68,215,161,120,218,210,157,207,186, 13,191,158,187,209,241, 59,203,130,229, 57,240, 28,240,217,247,171, 96,231, 88,112, 44,
+ 11,142,229, 97, 99,121,121, 73,197, 85,249, 87,218,147,243,112, 71,205,193,211, 95,239, 46,116,119,119,135,167,167, 39, 60, 61,
+ 61,225,234,234, 90,162,209, 18, 10,133, 74,129,224,229, 67,157,144,144,128,248,248,120,184,186,186,130,231,108,176,216,128,186,
+ 33, 93,112,247,201, 61,156,188,112, 11, 60,199, 66,161, 44,253, 42, 47, 10,159,224, 79,154,182,235,189,162, 67,175,225,248,125,
+207, 47,252,181,115, 7, 71, 25, 51,162,215, 58, 29,161,103, 89,202,102,179,161,123,151,118, 9, 55, 35, 31, 31,251,110,226,232,
+176, 22, 61, 70, 73, 66,131, 3, 96,178,176, 72,138,127,130, 51,251,126, 53, 5, 85,241, 59,222,177,117,243, 4,155,205, 6,150,
+101, 75,124,144,155, 44,214, 76, 70, 40, 83, 12, 28, 56, 88,120,237,234,213,221, 10,239, 26, 59, 89,138,190, 77,241, 92,125,138,
+231,251,214,175, 95, 11, 86, 27, 7,131, 65,147, 83,218,125,214,106,181,177,235,215,175,175, 50,116,232, 80,121,237,218,181,133,
+ 79,158, 60,193,194,133, 11,179,180, 90,109,172,179, 26, 39,206, 69, 45, 17, 80, 57,143, 10, 34, 90, 79, 91,133, 98, 96,143, 86,
+216,118,248, 2,206,156,191,132, 4,157,242,150,206, 46,216,151,152,144, 98,174, 83, 78,179,187, 87,104, 37,102,231,134,156,221,
+145,237, 38,191,207,243,146, 19,153,103,167,234,157,191,185, 1,173,209, 6, 87,185, 99,190,167,130,200, 22, 67, 81, 78, 59, 34,
+ 10,136, 61,127,233, 70,221, 38, 53,106,227,102,108, 30, 50,114,205, 48,154,237,224, 56, 30, 28,120,120,186,136, 33, 21,209,120,
+ 26, 31, 11,142,183,198,149,242, 81,161,110,219,166,173, 0,160, 64, 81,188, 64, 40, 16,128,135, 99,126, 69,153, 76,166, 83,169,
+ 84, 78, 69,180,172,118, 59,250,134, 53, 71, 72,211,250,232, 61,202, 49,103,230,169,223, 38,195, 67, 41,196,182, 77,107,145,120,
+110,201,166, 42,161,163, 79,220,187, 27,249, 94,228,205, 63, 6,191,211, 88,214,208, 87,144, 34, 42, 42, 76,170,215,235,119, 3,
+ 16,139, 68,162,176, 54,109,218,148,219,189,123,119,174,151,151, 23, 39, 22,137,212,189,122,246,224,132, 34, 81,118,193,103, 47,
+ 94,188, 40, 28, 53,106,148, 75, 78, 78,206,211,244,244,244, 75, 0,108,197, 55, 4,131, 59,129,198, 86, 80,148, 84, 41,147, 39,
+ 84,174, 92,213,191,105, 72,115,183,119,251,246,135, 68, 44,193,239, 39,142, 97,217,226,185, 59,116,169, 15, 62, 46,205,145,124,
+ 91,163, 14,147,158,198,197, 26,140,230,122,117,155,180,163,206,159,216, 55,206, 10,175,197,140,196,186,160, 83,223, 49,213, 98,
+ 83,116, 88, 54,231, 43,120,184, 41, 16,247,228,161,241,209,131,187,171,108, 38,205, 87, 78,155, 44, 0,242, 44,246,189,208, 33,
+ 97, 30,102, 43,139,115, 17,135, 77,156,157, 11,187,116,246,200,147,242, 65, 77,165,117,155,118,244,200,220,191,182,175, 1,216,
+ 86,146, 78,242,195,215, 35,184,188, 37, 55,238, 84,196, 73, 55,159,138,117, 24, 10, 20,172,102, 19,212, 49,215,236,134,244,135,
+ 26, 77,242, 61,167, 70,225,102, 37,226,251,111,126,252,223, 39, 77,155, 52, 81,240,144,190, 20,193, 42, 48, 88,153, 26, 11,188,
+ 92,196, 48,106,212,120,116,237,152,201,160,102,138,157,239,204,110,209,203, 51, 51,210,197,207,211, 25,162, 67,138,251,124,102,
+ 70,186,216,110,209,203, 75,126,212, 49,112, 85,136,113, 55, 46,249, 89,226,187, 68,232,200,205, 18, 11,153,103,121, 90, 5,117,
+ 65, 9,180, 19, 73,221,145,156,101, 2, 5, 30, 28,107,135,221,102,129, 86,163, 65,114, 74, 26,210,211,210,161,213,230, 66,174,
+244, 64,221,134,205,224,162,144,226,246,153, 29,224,121,222,169,121, 13,109,148, 48,184,105, 72,107,201,189,120, 71, 46,150, 84,
+200,227,224,214,185, 89, 58, 77, 70,107, 93,234,163, 71,165,173,139,237, 44,123,242,206,253, 71,117,202,251, 85,166,110, 61,201,
+195,166, 53,203, 97,201,143,108,218,108, 44,238, 61,213, 35, 53,219,128,167, 49, 15,120,142,101, 79,226, 63,130,160,232, 0, 32,
+ 4,245,235,214, 66,151, 15,222,197, 79, 63,173, 66, 76,108, 60, 55,107, 92,183,167, 58,109,238, 59,165, 48, 89,157,144, 63,215,
+134, 33, 61,106,158,209,163,105,210,129,155,217,180,209,194, 23,155,224, 35,245,174,136,214, 31, 47, 60,110,212,102,139, 89,179,
+ 65,112,112,211,199, 91, 11,211,116, 56,104, 88,102, 77, 24, 0,165, 76, 0,138,162, 80,208, 93,184,114, 70, 56,228, 18, 71,223,
+178,209,108,199, 7,227, 23, 97,211,162, 47,193, 3, 24,212,255,130,161,168,114,194,177,118,225,103,126,184, 90, 62, 33, 62, 35,
+185, 83,207, 9,167, 76, 86,137,185, 71,159,161,215,155, 52,105,146, 43,147,201, 32,147,201,224,234,234, 10, 15, 15, 15,184,187,
+187,151,184,239, 54,155, 77,103,177, 88, 60,197, 98, 49, 56,142, 67, 92, 92, 28,226,226,226,144,151,151, 7,181, 90, 13,189, 78,
+ 99,191,122,106,167,160,110,104, 55,248, 87,173,135,138, 53, 26, 64,200, 80, 16, 8,104,156, 57,176,166,168,114, 22,110,178,218,
+246, 90,217,177,247, 8,252,190,103, 53,127,237,220,193,209,198,140,232, 53,206,158,163,252,238,158,219,125,251,246,173, 55,106,
+212, 40,209,143, 19, 71, 29, 63,124,226, 76,244,206, 67,171,123,230,228,228, 6,242, 60, 15,119, 55,183,196, 1, 61, 91, 28,108,
+223,178,105,194,169, 83,167,184,173, 91,183,154, 41,138,186, 91,156,166,163,146,202,248,237,212,201,136,169,173,219,182,195,218,
+ 13, 91,219, 70,222,127,208,246,201,147, 71, 8,172, 88, 21,149,171,212,128,129,242, 64,196,217,243,208,229,102,252,230, 76, 57,
+ 95,137,106, 81, 57, 57, 57,127, 12, 24, 48,160,203,133, 11, 23,232, 1, 3, 6, 24, 50, 51, 51, 47,190, 16,197,226, 75,210,188,
+244,115, 31, 53,128,223, 42,182, 29,182, 35,217,154,251, 57,128,185, 21, 42, 86,192,153,243,151,112,233,194,149, 85,153,242, 10,
+211, 62,254,224,163,240, 74,189,152, 17,189, 66, 43, 49, 42, 15, 57,182,172, 94,200, 28,184, 20,191, 40, 62,139, 93, 59,247,236,
+212, 25,206,156,163,103, 15, 14,173, 21, 45,107,149,131,141,229,193,241,142, 10,215, 69, 42, 44,170,226,125, 77, 83, 96,145,124,
+ 60,122,212,168, 39,117,235, 55,252,226,131,143, 70,139, 26, 86, 13,196,213,199,185, 0, 69,161,156,175, 2,169,169,169, 56,183,
+107,181, 61, 39,249,225, 42,134,225,166,151,226,120, 34, 39,225, 86,245, 23, 54,195, 51, 51, 51,113,230,204, 25, 20, 24, 44,111,
+111,239,162,140,214, 75,154, 89,233, 41, 23,103,204,255,165,229,200, 15,251,160, 71,187, 58, 56,123,237, 9, 44,249,243, 53, 21,
+ 12, 37,143,189,244,179,248,243, 1, 85, 45,159,244, 13,210, 24,109,226,248,239,227,242,206,193,177, 6, 43, 87, 68, 57, 45,217,
+217,217, 7,162,162,162, 90, 53,104,208,160,210,145, 35, 71,178, 35,175, 28, 31,247, 98, 33, 38, 76,152,160,252,233,167,159,228,
+ 60,207, 95,180, 88, 44, 49, 78,237, 59,141, 45, 55,174, 95,247,180,218, 56,156,191,114,187, 86,199,150, 13,193,241,192,181,107,
+215,176,118,221, 90,211,221, 59,183, 22,232,211,125,167, 23, 99, 94, 10, 61,158,108,217, 70, 29, 62,211, 76, 77,142, 95,240,251,
+225, 93,155,154,182,237,137,193,159, 77,159,126,230,240,214,169,141, 91,247,160,107, 53,237,130, 27,151, 34,112,242,200,177,255,
+ 89,117,217, 83, 81,114,238, 72,161,229,148,200,228, 99,107, 55,110,139,167, 9,241,136,123,116,239, 55, 83,246,227,148,132, 39,
+204,111, 41, 73, 9,163,171,212,105,137, 11,199,183,141, 43,198,104, 21,123,205, 7,122,203, 86, 31, 57,116, 96, 96, 82,210,207,
+190,122,163, 73,194,243,188, 73, 34, 22,164, 41,105,237,118,141,211,229,124, 96, 85,167, 84,234,219,255,131,209,135,151, 45, 91,
+ 44,244,113,151, 35, 45,199, 4,141,209, 10,173,193, 10,154,162, 80,221, 95, 1,131, 54, 27,103,119,205,183, 89,116, 57, 3,128,
+ 39,214,162, 52, 21,170,224,153, 57,143, 35, 62,155, 48,230, 52,196,110,129,254,149, 59,124, 83,108,180, 78,155,124,171,231,132,
+ 49, 7,131,121,158,239,168, 80, 5,107,245, 25, 81, 83,138,218,119,138,114,220,223,131,219, 7,194,106,119,204, 63,102,231, 0,
+150,227,242,163,124, 0,255,172, 63,159, 42, 97,223, 41,110,251,225,139, 72, 73,207,133,209, 98,131,217, 98,135,213,198,130,102,
+ 24,184,123,184,163, 70,229, 70,112,115,119, 69,122, 90, 10, 46,157, 58,128,232, 59,103, 47, 82, 60,166, 25,213,143, 78, 57,115,
+142, 68, 50,247, 96, 63,127, 95, 58, 85, 99,129, 76,204,224,214,217, 35, 86,155,197,188,192, 73,147,245,154,102,110, 86,246,162,
+ 47, 38, 78, 26,244,235,250, 13,190,245,170,184, 34, 41,211,136, 36,181, 9, 90,147, 45,223,136,113, 48,235, 50,113, 39, 98, 67,
+ 26,107,210, 46,194,127,132, 34,141,150,221,106,210,238, 62,118,213,115,242,212,249,204,227, 39, 49,182,153,159,119, 79, 50,234,
+ 52,221, 74, 29,201,122,129, 95, 63,173,178,237,207,216,137,215,186, 11,121, 14, 28,207,227,224,149,180,103,221,133, 92,126,230,
+229,205, 39,197, 47, 35,248,226,218,133,237,186,141,251,253, 78,148,118,179,209,152,238,246,240,241,130, 28, 0, 96, 24,230,217,
+ 79, 65,110,150,201,100,178,148,208,133,178,113,205,154, 53, 95,143, 30, 61, 90,146,152,152,136, 39, 79,158, 32, 55, 55, 23, 82,
+169, 20,199,142, 29,179,129,179, 47,184,115, 97,111, 92,212,141, 19, 63, 4, 55,233, 82,190, 94,104, 55,200,229, 10, 8,120,231,
+147, 49,229,170,160,129, 77,218,246, 90,209,241,221,145, 56,185,119, 13,127,237,236,129, 49, 70,117,244,234,210, 30,203,220,220,
+220, 72, 0,143, 22, 44, 88,208,112,237,218,181, 85, 38, 78,156, 24,179,113,197,212,101, 0,144,149,149, 5, 0,184,121,243, 38,
+ 63,102,204, 24,179,201,100,138,205,201,201,185,129, 18, 6, 64, 0,128, 81, 45,159,189,118,229,220,186,137,201,169,125,170,214,
+109, 6,239, 42,205,224, 91,189, 57,114,180, 86, 92,125,156,130,152, 7,167,240,224,252,174, 35, 6,165,125, 42, 74, 57,191,113,
+131, 6, 13, 2,105,154,174,172,211,233,124,107,215,174,221, 64,161, 80,220,108,208,160, 65, 35,129, 64,144,116,253,250,245,248,
+210,104, 37,156,221, 96,174,216,118,216,210, 4,173, 75,251,152, 52, 67,163, 4,173,203, 77,131,196,237, 75,117,196, 82,243,175,
+ 76,192, 34,222,154, 25,185,115,131,102,247,150,213, 11,153, 15,194, 39,176,247,242, 60, 62, 23,200,196,191,151, 46, 92, 77,167,
+126, 50,180,247,243,233, 29,242, 35, 89,249,191, 59, 21,166,207,203,187,147, 7,224,235, 59,247,133, 43,238,125, 62,106, 70,253,
+166, 45,135,180,121,103, 0,109, 23, 41,113,124,239,207,124,236,157,136,157, 2,158,253,206,232,196,106, 0, 37,118, 7, 89, 44,
+206,152,172,215,203,152,168,104,183,115,235,186, 97,187,247,238,153,243,110,175,222,158, 43,191,127, 31,243,127,217, 7,133, 76,
+ 2,158,227,240,126,251,192,126, 63,140,168,217, 51,208, 71, 26,176,251,116,210,185,207, 22,223,251,218, 96,176, 70, 59, 17,137,
+225, 51, 51, 51,207, 43,149, 74,117,171, 86,173, 66, 36, 18, 9,149,153,153, 41, 80,169, 84,118, 55, 55, 55, 75, 82, 82,146,193,
+108, 54,239, 6, 80,170,105,199,173, 54, 14,113,233, 38,236,223,179, 27,183,175,156,194,131, 7, 81,218, 7,247, 31, 44,167, 4,
+252, 98,125,250,163,108,160,212, 13,124,112,133,142, 58,228, 75, 61,234,144, 53,107,183,108, 92, 53,179,131,193,100, 30,214,160,
+ 69,119, 84,170,213,146,182,218, 88,220,189,118, 26,167,119, 45,158,111,213,101, 79, 46,203, 57,246, 47, 95,165, 6,207,136,241,
+199,153,195,224, 57,110, 21, 0,240, 28,183,234,230,133, 35,163,155,119, 27,129,114,170, 74, 13,114,159,222,164,240, 6,179,135,
+139, 4,180,254,232,238, 95,247,198,197,197,225,225,195,135,120,252,248, 49,178,179,179,177,101, 75, 92,169,206,143, 33, 39,254,
+247,232,251,116,215,247,222, 31,124,176,223,192, 15,165, 85,106,212,163,131,203,123,192, 83, 41, 64,212,227,120, 68, 95,191,195,
+ 69, 93, 61, 98,178,106, 50,222, 53,230,196, 23,105,252,228, 94,181,124, 0,118,114,193,218,133,161,161, 45,131, 39,205,154, 19,
+226,233,173, 42,180, 30,207, 82,103,136,191,250,236, 64,240,165,203,127, 56,181,214, 33,199,178, 89,225,195, 6,112,140, 99,161,
+ 80, 60,139, 83,231, 31, 61, 71, 99,202,241, 62,207,217, 75,140,224,127,212,167, 53,236, 28, 7,189,209, 10,141,222,140, 60,173,
+ 9,169, 25, 89,184,125,231, 14,206, 30, 60,128, 39, 81,183, 99,109, 22,203, 9,154,166,118, 25,211,163,207,150,174,167, 73, 80,
+197,179, 92, 57,196,102,235, 32, 21, 11, 16, 31,125,221,172,215,228,109,126,211,235,200,152,245, 40, 53,131,161,186, 12, 24, 48,
+240, 88,135,174,189,220,154,182,232, 36,247,114,117,135, 72,192,227, 81, 92, 10,110, 92, 60,166,143,185,125, 78, 99,179,232,194,
+222,198,170, 47,255,112, 74, 30,117,104, 53,235,123, 14,234,221,118, 15,195, 8,196, 28,103, 55, 91, 45,230,247,202, 98,178,254,
+ 44,120,158, 77, 26, 54,168,207, 75,109, 3, 59,199,203, 6,245, 63,110,124,177,173, 96, 99,121,249,160,254, 23, 13,142, 10,164,
+232,196, 62, 63,191,114,221, 11,214, 46, 76, 72,200,186,150,157,109, 62, 13, 32,201,100, 50,189,113, 25,211,211,211,103,204,154,
+ 53,171,135,193, 96,168,217,174, 93, 59,137,171,171, 43,178,178,178,112,226,196, 9,219,161, 67,135,238,103,100,100,252, 0,100,
+216,141,104,244,219, 29,211,222,161, 81,215, 79,252, 80,179, 73,215,242,245, 90,116,115,190, 50,147,200, 70,118,232, 53,156, 58,
+185,111, 13,127,245,204,190, 79,140,234, 71,191,148,225,176, 90, 77, 38,211, 21,147,201,116,239,187,239,190,107,234,227,227,227,
+243,195, 15, 63, 72, 53, 26,141,112,229,202,149,166,204,204,204, 52,141, 70,115, 9,197,228,211,188,206, 77, 91, 94, 50,250, 30,
+221,189,166, 61,191,123, 77,103,119,175,128, 46,110,222,229,171,229,170,147, 99,243,212, 41, 39, 0,156,204,159, 40,178, 84, 52,
+108,216,176, 42, 69, 81, 3, 0,212, 85, 40, 20,213,149, 74,165,132,231,249,154, 20, 69, 69,114, 28,119,167,118,237,218,135,238,
+223,191, 95,170,201,100, 19,206,110, 48, 7, 6,183,220,154,109,224, 68, 22, 90,180, 53,225,236, 6, 51, 0,100,252, 62,201, 0,
+ 96,255,253,118, 95,247, 61,112, 41,126, 89,100,142,219, 56,245,153, 57, 7, 74, 91,230,188,164,219,213,223,214,245,111, 74,189,
+159, 4, 96,216,157,235, 88,120,247,230,165, 31, 41, 30, 66, 22,246,153,198,140,199,215,223,134,190, 80, 40, 52, 5, 4, 4, 20,
+ 58,186, 80, 34,145,152,204,230,226, 2, 40,103,237,186, 84,172, 5,218,110,216,179, 99,195,176,125, 7,246,207,105,211,241, 93,
+ 79,105,249,242,168,172,162,176, 97,114,227,113,167,110,170,175,246,154,116,238,167,152, 20,211, 29,148, 50, 31, 70,167,211, 69,
+ 3,200,209,233,116,189,121,158, 79,164, 40, 42, 48, 39, 39,231,150,205,102,187, 91,106, 67,192, 97,112,104,104,179, 45, 20, 69,
+ 9,120, 59, 55,239,146,144,217,106, 74,125,144,132, 50, 46, 75, 82,175,178, 43,198,255,176,180,113,181,234, 65,141, 11,214, 58,
+172, 83,201, 5,163,190, 94,216,184, 82,149, 26,141,159,175,127, 88, 98,154, 0,111, 51,228,124,188,103,221,188,115, 55, 47,159,
+254,214,203,175, 82,165,180,164,152, 7,137,143,111,205, 96, 77,154, 61,101, 61,207,113,143, 35, 23,175, 93,240,245,196,212,228,
+216,181, 6,245,163,123, 0, 96, 80, 63,186,247,224, 6,190,207, 76, 75,154,152,149, 17,179,224, 77,143,133, 94,175, 79,217,188,
+121,179,123,203,150, 45,105, 31, 31, 31,168,213,106,156, 62,125,154,227, 56, 46,185,212, 90,217,177,167,245,217, 84,185,223,126,
+ 89, 49, 79,164,112,233,102,183,219,253,121, 30, 16, 8, 4,169, 22,131,230,152,150, 86, 76, 66, 78,188,169,248,103, 6, 71, 1,
+160, 11,214, 46,228, 56,142,154,183,108, 67,188, 80,234, 82,232,100,136, 54,147, 86,206,113,156,211,107, 29,230, 62,189, 81,237,
+109,221,223, 20,207, 79,107,208, 36,228, 91,155,205,106,202,191, 63, 76, 0, 76, 60,143, 44,154,166,206, 50,156,237,184,166, 12,
+141, 41,138,130, 43, 79, 9,224, 34, 19,128, 2, 5, 93, 94, 54, 95,154,156,172, 66, 13,113, 70,116,164, 33,163,109,197,163,150,
+ 29, 67, 35,126, 63,210,159,101,217,202,249, 49,131, 56,179, 81,191, 83,151,234,241, 27,112,221,142,127, 63,135, 11,204, 22,245,
+ 39,255, 35,167,186, 81,254, 73,154,193, 85,100,189,203, 7,248, 12,141,139,207,184, 26,147,104,248, 13, 47, 47,171, 83,150,114,
+ 50, 62, 62, 62,223, 83, 20, 53, 68, 44, 22, 43, 45, 22,139,158,231,249,141,233,233,233, 51,240,218,226,191,141,132, 50,149,113,
+168, 88, 42,159, 98, 53,233,255, 48,100, 68, 15, 46,105,223,229,222, 65, 93,164, 10,197,215, 38,163,126,163, 33, 61,122,195, 91,
+ 62,158,110, 18,137,164,145, 82,169, 20,102,102,102, 94, 1,144,247, 79, 58,239, 13, 26, 52,168, 64,211,116,101,142,227,124, 0,
+184,193, 49, 42, 36, 83, 32, 16, 36,231, 71,180,248,210,106,182,250,104,167, 87,199,206,117,198,159, 56, 23,181, 36,191, 91,241,
+ 25, 1,253, 22, 73,135,116,107, 63,225,183, 61,251, 11, 27,117,248,255,238,154,255,235, 52,219, 10,148,126,153,195,104,177,219,
+204,142,193, 38, 67,102, 74,242,152,243,119,213, 87, 0,104,203, 82, 78,145, 72,244,129,213,106,149,137, 68, 34,163,213,106,221,
+252, 79,217,119,153, 42,120, 56, 13,222,233,149, 41, 56, 80,215, 95, 25,180,242,111,185,150,152,122,245,234,181, 22,137, 68, 21,
+ 88,150,149, 91, 44, 22,131,209,104,140,139,143,143,255, 3, 69, 47,124,254,167,150, 83,161,170,177, 88, 36,146,124, 14, 0, 86,
+171,121,169, 62,227,209,248,226,190, 88,204,231,255, 95,159, 35,175,202, 77, 30, 9, 24,161, 55,242, 39,230,230,236,118,117,122,
+236,181, 26,127, 99, 57,255,117,240, 60,255,167,255,143, 78, 68,147,104, 18, 77,162, 89, 8, 52, 57,158, 68,243,239,212,148,250,
+213, 10,148,250,213,114,122,210,229, 34, 62, 79,142, 39,161,128,240, 66,126,192,243, 60, 4,228,216, 16, 8,132,191, 1,142, 28,
+ 2,194,223,137, 41,245, 65,226,159,249,121,194,127,142, 34,115,162,169, 98, 92,105,105, 66,130,111,226,108, 79, 18, 77,162, 73,
+ 52,137, 38,209, 36,154, 68,243, 63,167, 89,146,246,255,199, 46,201,240, 87,182, 15, 3, 72, 37, 93,135, 68,147,104, 18, 77,162,
+ 73, 52,137, 38,209,252,167,104,254,155,120,214,117, 72,147, 99, 65, 32, 16, 8, 4, 2,129,240,231, 64,114,180, 8, 4, 2,129,
+ 64, 32, 16,202, 70, 97, 93,135,196,104, 17, 8, 4, 2,129, 64, 32,188, 5,138, 76,134, 39, 93,135, 4, 2,129, 64, 32, 16, 8,
+101,163, 32,162,229,135, 23,166,119, 32, 70,139, 64, 32, 16, 8, 4, 2,225,237,145,138,194,162, 91,135, 14, 29,226, 11,251,157,
+ 64, 32, 16, 8, 4, 2,225,175,224,255,185, 23,121, 49,146, 21,158,191,253,242,168, 67, 98,176, 8, 4, 2,129, 64, 32,252, 83,
+204,214,255, 51, 10, 34, 89, 5, 63,207, 22,205,126,102,180,122,244,232, 65, 17,179, 69, 32, 16, 8, 4, 2,225,239,226,223,232,
+ 69,232, 87,119,144,156,102, 2,129, 64, 32, 16, 8,127,167,217,250, 55,237, 15,153,222,129, 64, 32, 16, 8, 4, 2,161,108,248,
+ 1,232,254,194,246, 97,188,208,125, 72, 32, 16, 8, 4, 2,129, 64,120,115,194, 11,219,230,121,158, 68,180, 8, 4, 2,129, 64,
+ 32, 16,254, 4,179, 69, 32, 16, 8, 4, 2,129, 64,248,179,248, 43, 22,149, 38, 43,155, 19, 77,162, 73, 52,137, 38,209, 36,154,
+ 68,243,223, 78,193, 60, 90,192, 11,243,104, 1,100,102,120, 2,129, 64, 32, 16, 8,132,178,210, 29,142,249,179,194,243, 95,187,
+ 19,163, 69, 32, 16, 8, 4, 2,129,240,118,121,109,249, 29, 98,180, 8, 4, 2,129, 64, 32, 16,222,174,193, 90, 77,140, 22,129,
+ 64, 32, 16, 8, 4,194,159, 12, 49, 90, 4, 2,129, 64, 32, 16, 8,127, 18, 20,138, 30, 57,112,178, 20, 58,111, 50,250,224, 36,
+209, 36,154, 68,147,104, 18, 77,162, 73, 52,255,115,154, 37,105,159,196,255, 63, 10,102,134, 63,140,231,137,240,171,121,254,207,
+ 95,182,145, 12,125, 37,154, 68,147,104, 18, 77,162, 73, 52,137,230,191,157,240, 87, 94, 1,252, 53,243,104, 17, 8, 4, 2,129,
+ 64, 32,252,215,204,214, 51,195, 69,150,224, 33, 16, 8, 4, 2,129, 64, 40, 27,171,139,250, 3,137,104, 17, 8, 4, 2,129, 64,
+ 32,148,141,240,162,182,137,209, 34, 16, 8, 4, 2,129, 64,248,115, 12, 23, 49, 90, 4, 2,129, 64, 32, 16, 8,111,209,100,133,
+ 23,250,215, 67,135, 14,241,228, 24, 17, 8, 4, 2,129, 64,248,187,248,183,121,145,103,211, 59, 20,236, 24, 49, 91, 4, 2,129,
+ 64, 32, 16,254, 78,147,245,255,212,139,248,225,249,104,195,240,252,109,240, 60, 79, 70, 29, 18, 8, 4, 2,129, 64, 32,148,145,
+238,120,121,228, 97,120,193, 54, 49, 90, 4, 2,129, 64, 32, 16, 8,101, 39,188,216,191,146,110, 67, 2,129, 64, 32, 16, 8,127,
+ 39,255,198, 28, 45,138,156, 86, 2,129, 64, 32, 16, 8,132, 50, 81, 88, 52,235, 47, 89,235,144, 64, 32, 16, 8, 4, 2,225, 63,
+105,184,136,209, 34, 16, 8, 4, 2,129, 64,248, 19, 76, 86,129,209,250,179, 39, 44, 37, 43,155, 19, 77,162, 73, 52,137, 38,209,
+ 36,154, 68,243,191, 98,178, 94,156,226, 1, 0, 25,117, 72, 32, 16, 8, 4, 2,129, 80, 86,200,162,210, 4, 2,129, 64, 32, 16,
+ 8,127, 18,100, 81,105, 2,129, 64, 32, 16, 8,132,191,216,112, 17,163, 69, 32, 16, 8, 4, 2,129,240, 22, 77,214, 75,102,139,
+228,104, 17, 8, 4, 2,129, 64, 32,148,141, 34,115,180, 40, 20, 61,114,224,100, 41,254,193,155,140, 62, 56, 73, 52,137, 38,209,
+ 36,154, 68,147,104, 18,205,255,156,102, 73,218, 39,241,255,159,112,252, 69, 19,150,146,161,175, 68,147,104, 18, 77,162, 73, 52,
+137, 38,209,252,175, 17, 14, 56,230,209, 34, 93,135, 4, 2,129, 64, 32, 16, 8,111,193, 88, 21, 6, 49, 90, 4, 2,129, 64, 32,
+ 16, 8,101,131,204,163, 69, 32, 16, 8, 4, 2,129,240, 39,225, 7, 71, 84,171,224,181, 17, 49, 90, 4, 2,129, 64, 32, 16, 8,
+111,135,238,112, 68,181, 10, 94,137,209, 34, 16, 8, 4, 2,129, 64,120,139, 20, 58,143, 22, 5, 0,135, 14, 29, 42, 24,127,216,
+174, 71,143, 30,103,201,177, 34, 16, 8, 4, 2,129,240, 87,242,111,244, 34, 60,207, 63,143,104,245,232,209,131, 2,112,134,156,
+106, 2,129, 64, 32, 16, 8,127, 7,255, 70, 47, 66,191,226, 36,219,145,211, 76, 32, 16, 8, 4, 2,225,239,224,223,232, 69, 4,
+175,184, 72, 2,129, 64, 32, 16, 8,132,191,133,255,199, 94,196, 15,142, 68,248,195,249,175, 64,254,148, 15,100, 30, 45, 2,129,
+ 64, 32, 16, 8,132,178, 81, 48,218, 48, 28,175,204,169, 69,162, 88, 4, 2,129, 64, 32, 16, 8,101,163,176,153,225,255,146,181,
+ 14, 9, 4, 2,129, 64, 32, 16,254,147,144,181, 14, 9, 4, 2,129, 64, 32, 16,222, 14, 47, 70,181, 86,255, 85,255,148,172,108,
+ 78, 52,137, 38,209, 36,154, 68,147,104, 18,205,255,146,201,122,182,253,210, 60, 90, 4, 2,129, 64, 32, 16, 8,132,183, 11,233,
+ 58, 36, 16, 8, 4, 2,129, 64, 40, 27, 5, 35, 14, 95,220, 38, 70,139, 64, 32, 16, 8, 4, 2,225, 45,154,173,215, 32, 93,135,
+ 4, 2,129, 64, 32, 16, 8,101, 35,188,168, 63, 16,163, 69, 32, 16, 8, 4, 2,129,240, 39, 25, 46, 10, 69,143, 28, 56, 89, 10,
+225, 55, 25,125,112,146,104, 18, 77,162, 73, 52,137, 38,209, 36,154,255, 57,205,146,180, 79,226,255, 31,127,219,132,165,100,232,
+ 43,209, 36,154, 68,147,104, 18, 77,162, 73, 52,255,147,144,233, 29, 8, 4, 2,129, 64, 32, 16,254, 68, 74, 99,180,188, 5, 2,
+193,183, 50,153,236, 39,153, 76,246,139, 64, 32, 88, 0,192,163,180,255, 80,161, 80,140,243,245,245,125,232,235,235,155, 84,161,
+ 66,133, 35, 46, 46,242, 47,170, 74,208, 6,128,240, 45,237, 79, 48,128, 47,100, 50,217, 3,169, 84, 26, 15, 96, 19,128, 47, 0,
+120,149, 69,120,134, 63,222,187,247,121,239,125, 51,252,241,222, 43,127,234,238,227,227,115, 30, 64,151,183,117, 82, 6,202,209,
+169,159, 2, 79,251, 41,240,116,160,252,205, 91, 13, 46, 46, 46, 67,252,252,252, 46,121,122,122, 38,251,249,249, 93,148, 74,165,
+253, 74, 41,161,242,241,241,153, 31, 24, 24, 24,237,239,239,191, 4,142,213,201,255,177,180,150,160,117,136, 4,234, 80, 49,180,
+ 45,197,248, 41, 84,140,206,157, 1,249, 27,202,181, 2,176,203,213,213,245,150, 64, 32, 56, 4,160,111,254,245,213, 87, 32, 16,
+ 28,114,117,117,189, 5, 96, 87,254,231,222,228, 58,157, 15, 32, 25,192,236,252,237,177,129,129,129,218,250,245,235,199,215,175,
+ 95,255,215,234,213,171,127,232,172,152, 92, 46,239, 28, 24, 24,184,187, 66,133, 10,241,161,161,161,217, 1, 1, 1, 81,229,203,
+151,223, 32,145, 72,218,145, 42,142,240,127,236,125,119, 88, 20,215,251,253,217,198,238,194, 46,236,210,151,174, 82, 4, 11, 40,
+ 42,118,236, 53,216,137, 93, 99,143,209,104, 52,198,174,128, 81, 99,137, 61, 38,209,143, 45,162,177, 18, 11,118,108,216,149, 69,
+ 17, 16, 1, 65,164,119,182, 2,219,239,239, 15, 74,136,161,154,228,251, 75,153,243, 60,243, 44,236,222, 57,115,239,204,189, 51,
+103,222,251,222,247,165, 64,129,194,223, 31,195, 0,124, 3, 96, 79, 76, 76,140,152, 16, 34, 38,132,136, 99, 98, 98,196, 0,190,
+ 7,176, 9,117,155, 16,127,243,189,165,165,101,200,250,245,235,203,115,114,114, 72, 65, 65, 1, 73, 76, 76, 36, 59, 86, 47, 51,
+ 12,178, 96, 18, 87,107,243, 82, 59, 59,187, 55, 46,142,142, 39,218,240,233,203, 0,184, 53,134,179, 6,204,141,141,141,159,172,
+ 94,189, 90,113,239,222, 61,133, 90,173, 86, 24, 12, 6, 69,118,118,182, 34, 34, 34, 66,209,189,123,119, 5,128, 69, 0, 24, 77,
+224,172,198, 58,123,220, 37, 7,215,144,117,246,184, 91,243,123, 47, 47,175,120,131,193, 64,198,140, 25,163, 2,224,208, 20,206,
+247,225, 0,112,219,152, 65, 24,200, 71,158,238,200,215,132,236, 93, 66, 2,121, 72,255, 16, 78, 27, 27,155,243, 11, 22, 44,144,
+101,101,101, 17,149, 74, 69,210,211,211,201,156, 57,115,164, 54, 54, 54,199, 26,217,118, 75,111,111,239,188, 71,143, 30, 25, 36,
+ 18, 9,185,115,231,142,161,109,219,182,121,141, 20, 91,253,223,171,203,126,123,123,251,203, 77,217,108,108,108, 14, 52,245, 26,
+117,230, 32, 93, 35,190, 77,200,179,235,228,194,152,174,100, 71, 71, 71, 50,218,130, 45,233,193,198,231,189,106, 15,101, 82, 23,
+231,199,189,122,245, 82,190,124,249, 82, 95, 84, 84, 68,226,227,227, 13,179,102,205, 42, 7, 16, 55,107,214,172,242,248,248,120,
+ 67, 81, 81, 17,121,249,242,165,190, 87,175, 94, 74, 0, 51,155, 80, 79, 58,128, 67,193,193,193,132, 16, 66,214,175, 95, 79,124,
+124,124, 72,223,190,125,137, 66,161, 32,132,144, 52, 66,200, 97,157, 78,247, 73, 99, 56, 5, 2,193,228, 5, 11, 22, 40, 74, 75,
+ 75, 73, 21, 12, 6, 3,145, 72, 36,100,207,158, 61, 74,145, 72,116,185,142,151, 12,106,202,131,226,164, 56, 41,206,191, 27,231,
+ 63, 25,118,168,240,211,170,218,236,128,138,169,195,134, 48, 97,217,178,101, 85,162,234, 74,143, 30, 61,158,126,242,201, 39,226,
+ 79, 62,249, 68,220,163, 71,143, 59, 0,174, 69, 69, 69,137,151,246, 11, 11, 36, 0, 0, 32, 0, 73, 68, 65, 84, 46, 93, 42, 6,
+ 48,161,129, 11, 97,222,173, 91, 55, 73,110,110, 46,241,240,240, 32,205,154, 53, 35,185,185,185,132, 16, 66,158,125,220,129,220,
+108, 5,146, 17,121,133, 92,255,229, 12,153,101,199, 36, 61,237, 4, 90, 59,145,168,200,202,202,106, 3, 42,156,246,235,187,184,
+163, 90,181,106, 37,143,139,139, 83, 36, 37, 37, 41, 66, 66, 66, 20,125,251,246, 85,120,123,123, 43, 70,143, 30,173,216,189,123,
+183, 66,163,209, 40, 14, 28, 56,160, 48, 51, 51,139,171, 69,108,125,176,208, 98, 50,153,187, 98, 98, 98,200,155, 55,111, 72,165,
+149,162, 46, 78,129, 80, 40, 28,108,110,110,190, 72, 40, 20, 14, 6, 32, 0, 0, 15,128,223, 78, 0,231,207,219,185,122,133, 79,
+232,239,182,167,127,167, 14,129,166,116,137,246,187, 37,132,140,113,254, 32,161, 37, 16, 8, 38,127,241,197, 23,114,149, 74, 69,
+ 74, 75, 75,137, 66,161, 32,165,165,165, 68, 46,151,147, 9, 19, 38,200,184, 92,238,168,134, 56,173,172,172,190,142,140,140,212,
+229,230,230,146,200,200, 72,114,249,242,101,178,119,239, 94,131,141,141,205,246,166, 14, 64,145, 72,116,227,250,245,235,226,232,
+232,104,241,147, 39, 79,196, 90,173, 86,172,209,104,196, 26,141, 70, 28, 30, 30, 46, 14, 11, 11, 19,159, 60,121, 82,172, 86,171,
+197,106,181, 90,172, 82,169,196, 45, 90,180,184,218,212,107,228,199, 65,134,250,222, 5, 66,182,207, 35,210,205,115,137,100,241,
+ 80,146, 63,199,159,124,223,201,145,248, 27,227,226,123,253,168, 78, 78, 22,139,117, 55, 45, 45,205,176, 98,197, 10,117,235,214,
+173,165,211,167, 79, 47, 87,169, 84,132, 16, 66, 84, 42, 21,153, 62,125,122,121,235,214,173,165, 43, 86,172, 80,191,125,251,214,
+192,100, 50, 35,154, 80,207, 77, 85, 34,235,238,221,187,164, 38, 20, 10, 5,233,219,183,111,154,143,143,207,225,230,205,155, 79,
+108,136,147,207,231,143, 88,190,124,185,130,212, 2,173, 86, 75,228,114, 57,121,251,246,173,161, 89,179,102,217, 0, 44,169,155,
+ 57,197, 73,113, 82,156,148,208,250,203, 80,103, 10,158,122, 79,226,210,165, 75,197,132, 16,241,170, 85,171,196,149,150, 45, 35,
+ 0,252,202,141, 9, 96,252,242,229,203,197,132, 16,241,178,101,203,170,202,212,117, 33,134,157, 62,125, 90,179,115,231, 78, 98,
+107,107, 75, 68, 34, 17,217,181,107, 23, 49, 24, 12, 36, 55,252, 24,185,217, 10,228,213,202,169,132, 16, 66, 18, 55,204, 39, 55,
+ 91,129,164,252,176,142, 76,154, 52,169,212,196,196,100, 66, 61, 23,215,162, 67,135, 14,242,178,178, 50,197,145, 35, 71, 20, 38,
+ 38, 38,207, 0,180, 70,197, 84, 36,173,178,174, 83, 90,183,110, 45,139,141,141, 85,252,252,243,207, 10, 0, 33,141,236, 48,110,
+ 0,250,240,120,188,209,203, 29, 88, 73,228,224, 26,178,220, 22, 47, 1,180, 5, 96, 93, 89,198,126,217,178,101,132, 16, 66,156,
+156,156, 34,235,224, 20,120,123,123, 47, 75, 74, 74, 10,210,106,181, 65,209,209,209, 65, 45, 91,182, 92, 49,188,133, 93,215,115,
+ 19, 6,248, 74,215,205,245, 37,219, 22,123,127, 59,196,175,255,137,113,189, 39, 76,107,110,117,111,186, 13,183,116,172,128, 33,
+127,111,234,176, 81, 29,219,193,193,225, 73,122,122,122,181,184,146,203,229, 36, 43, 43,139,164,166,166,146,123,247,238, 17, 59,
+ 59,187,155, 13,113,138, 68,162,248,244,244,116,242,195,142, 29,100, 76, 91, 47,226, 47, 52, 37,189,204, 77, 73, 71, 62, 87,217,
+ 10,232,216, 84,161,245,252,249,115, 49, 0, 49, 0,113, 81, 81,145,184,168,168, 72, 92, 82, 82, 82,253, 29, 0,177, 84, 42, 21,
+ 75,165, 82,177, 90,173, 22,187,186,186, 54, 89,104,117,231,162,123,103, 46,138,187,114, 80, 54,204,193, 42,123,110, 11, 43,253,
+227, 9, 93, 73,201,188,190,100,167,175, 3,233,193,198,231,141,228, 28,198,102,179,239, 0, 88, 82, 41,202,167, 14, 30, 60,184,
+148, 16, 66, 6, 15, 30, 92, 10, 96,106,229,247, 95, 84,138,172,193,141,172, 39,221,221,221, 93, 89,101,201, 2,240,208,221,221,
+ 93,233,227,227, 67,124,124,124,136,147,147,147,188,146,187, 81, 55, 52, 55, 55,183,196,178,178,178,106, 1, 40,145, 72, 72,118,
+118, 54, 73, 73, 73, 33,113,113,113,228,217,179,103, 36, 45, 45,141,156, 58,117, 74, 47, 20, 10, 47, 81, 55,115,138,147,226,164,
+ 56, 41,161,245,151, 10,173,247,183,223, 10,173,240,240,240,247,101,215,230,168,168, 40,241,242,229,203,197,168, 39, 16, 23,128,
+217,171, 86,173,170,178,122,125, 83,207,195,255, 64, 98, 98, 34,153, 58,117, 42,241,244,244, 36,158,158,158,228,147, 79, 62, 33,
+ 82,169,148, 40,146, 99,201,205, 86, 32,207,198,118, 36,132, 16, 34,127, 21, 77,110,182, 2, 17, 79,234, 70, 94,188,120, 65, 28,
+ 29, 29,175,215,115,252,139, 15, 30, 60, 40, 56,118,236, 88, 46, 42,252,177, 88, 0,186, 0,216,101,108,108,124, 8, 21,211,133,
+205, 0,152,123,120,120, 20,151,150,150, 42,198,140, 25,163, 0,224, 92, 15,103, 47, 79, 79,207, 55, 7, 14, 28, 32,249,249,249,
+164,184,184,152,108,233,222,146,144,131,107,200,250,142,205, 12, 63,252,240,131,106,201,146, 37, 74, 11, 11,139,112, 0,246, 99,
+198,140,209, 17, 66,136,191,191,127, 94,109,100, 66,161,112,112, 82, 82, 82, 80,121,121,121,144, 68, 34, 9, 42, 46, 46, 14,186,
+112,238, 92,208,160,182, 45,167, 74,215,205,245, 61, 55, 97,128,239, 16, 7,243,209,219, 7,118,250, 52,107,197,204, 49,171,186,
+181,126, 85,190,105,225,237,143, 91,216,110,253,144,171,109,109,109,157,163, 82,169, 8,128,223,109,111,222,188, 33,150,150,150,
+233, 13,113, 88, 88, 88,172,250, 98,252, 56,253,168,102, 14,228,205,206,213, 68,123,227,103,162,189,124,132, 36,111, 94, 76,134,
+139,172,100, 93,140,232,203, 27, 91, 31,145, 72,116,227,201,147, 39,191, 17, 90, 37, 37, 37,181, 10, 45,153, 76, 38, 86,171,213,
+ 98,119,119,247,171,127,180,215,119, 97,195,181,151, 49,227, 89,244,212,158,164, 96,110, 95, 50, 88,192, 74,251, 3,116,227, 1,
+220, 1, 48,169,137,251,209, 1,108,170, 18, 84,155, 55,111, 38,132, 16,226,238,238,174,196, 31,139, 99, 39,240,242,242, 74,157,
+ 57,115,166,174, 85,171, 86,249,221,187,119,151, 60,125,250,148,220,189,123,151, 92,190,124,153,156, 57,115,134,196,198,198,146,
+172,172, 44,146,152,152, 72, 62,250,232, 35, 9,128, 94,212,189,144, 2, 5, 10,127,103,212,162, 69,254,209,168, 94,117, 24, 30,
+ 30, 78, 2, 2, 2,104, 53, 26, 40, 0,192,237,216,177, 99,193,166, 77,155,182,161, 34,172, 60,205,155,129,143,251, 26, 51, 95,
+244, 53,102,190,240,102,224,227, 74,139,209,254, 13, 27, 54,124,237,227,227,147, 3,192, 24,128,168,142,131,245,180,180,180, 68,
+122,122, 58, 4, 2, 1, 4, 2, 1,210,211,211, 65, 8,129,142, 0, 90, 2,168, 52, 26,148,149,149,161,220, 64, 80,102, 0,100,
+ 10, 5, 68, 34, 17, 52, 26,141,107, 29,109,104, 55,118,236, 88, 87,111,111,239,130,165, 75,151,102,163,194, 87,230,208,140, 25,
+ 51,110, 60,124,248,208, 91,161, 80, 20,199,197,197,149,183,109,219,118, 48, 0, 81, 82, 82,210,228, 61,123,246, 96,234,212,169,
+168,231,161,211,246,163,143, 62,186, 28, 27, 27,235, 58,105,210, 36,220,185,115, 7, 91,182,108, 65, 97, 97, 33, 1, 0,149, 74,
+ 69,244,122,189,166, 91,183,110,154,157, 59,119,250,249,251,251, 63,105,209,162, 5, 3, 0, 82, 83, 83,147,107, 35,164,209,104,
+ 45, 93, 92, 92,160, 82,169, 80, 80, 80,128,216,216, 88,152, 10, 4,136,201, 46,180,237,189,253,135,162,149,231,110,176,198,251,
+121, 91, 44, 26,208, 93,181,241,250, 29,143,214,246,182,182,106,141, 86,148,152,147,151,253, 33, 23,214,200,200, 40,189,176,176,
+ 16,106,181, 26,101,101,101,144,201,100, 40, 42, 42, 66, 97, 97, 33,178,179,179, 97,100,100,244,166, 33, 14,179,226,226,200,212,
+ 7,119,105,167,126,220, 12, 87, 93, 49,152,103,119,129,121,254,123,184,169, 11,176,111,245, 28, 83,181,165,117,176,153,169,105,
+137, 80, 40,220, 15,192,189, 33, 62, 95, 95, 95, 20, 21, 21,161,168,168, 8,150,150,150, 48, 55, 55,135,185,185, 57, 36, 18, 9,
+164, 82, 41,100, 50, 25, 60, 60, 60,208,174, 93, 59, 28, 61,122,244, 79,233,224,143,213, 72,209, 65, 63,247,198,235,108, 24,241,
+120,104, 97,206,119,233,196,135, 69, 61,187,244,101,177, 88,167, 45, 44, 44,174, 3,152, 7,128, 7, 96,158,133,133,197,117, 22,
+139, 53, 18,192,122, 0,199,154, 88,141,141,193,193,193,203,146,146,146, 76, 94,188,120,129,165, 75,151, 34, 36, 36, 4,201,201,
+201,223, 1, 48, 84,150,249,204,210,210, 50,156, 78,167,255, 15,192, 80, 0,131,237,236,236,250, 53,192, 59,114,201,146, 37,229,
+ 29, 58,116, 72,124,245,234,213,200, 7, 15, 30,116, 92,188,120,177,244,221,187,119, 72, 76, 76,132,157,157, 29,156,156,156,160,
+ 80, 40, 80, 82, 82,130,145, 35, 71, 10,204,204,204, 38, 80,183,113, 10, 20, 40,252,157, 69,214,123, 90,228,159,102,209,170,245,
+255, 90,223,168, 77, 76, 76,130,197, 98,113, 87, 31, 31, 31, 38,128, 83, 0,224,205, 64,224,200,110,237, 15,157,219,191,217, 39,
+108,231,106,159, 65, 62, 30,135,188, 25,168, 90,197, 22,222,177, 99, 71,115,177, 88,220,141,195,225,124, 94,151,176, 3, 0,115,
+115,115, 8, 4, 2, 8,133, 66,152,155,155,195, 96, 48, 64, 81, 90, 14,165, 30,144,151,171, 33,149, 74, 33,175,252, 95,161,210,
+ 64,169, 84, 86,239, 91, 11,122,207,156, 57,179, 96,207,158, 61,249, 57, 57, 57,155, 1,180,157, 58,117,234,136,221,187,119,227,
+214,173, 91,229, 67, 61,221, 44, 55,244,108,255,117,235,156,228, 32, 79, 22,102, 1,136,140,140,140, 68,183,110,221, 64,163,209,
+198,213, 70,104,108,108,252,253,137, 19, 39,140,227,226,226,224,230,230, 22, 55,110,220,184,143, 55,111,222,236,202, 83, 20,223,
+ 7, 0, 93, 81,110,220,252,249,243,215,108,216,176,161,160,160,160, 64, 83, 90, 90,106, 51,124,248,112,164,167,167, 35, 43, 43,
+235, 97, 29, 34, 51, 49, 58, 58,154, 72,165, 82,164,164,164, 32, 58, 58,218,120,205,154, 53,126,122, 58,125, 68, 38, 76,167, 77,
+237,222,209,111, 82,151,246, 56,246,232,133,209,189,215,169,194,142,205, 28,204,159,103,228, 52,215,210,240,230, 67,174,182, 92,
+ 46,223,245,245,215, 95, 43, 20, 10, 5, 50, 51, 51,241,242,229, 75,188,122,245, 10,105,105,105,216,178,101,139,162,184,184,120,
+119, 67, 28,246, 92,230,151, 91, 23,207,160, 49,227, 31, 2, 47,238, 2,165,114,160, 76, 1, 85,130, 24,135, 19,114,177,247,236,
+ 47,236,119,233,233,194,147, 39, 79,206,116,118,118, 22, 3,240,104, 72,213, 3, 0,157, 78,127, 95,132,130, 78,167,203, 1,228,
+242,120,188, 12, 83, 83,211, 12, 58,157,158, 75, 8, 81,254, 25, 61,159,174,131, 6, 12, 6,192, 54, 6,157, 85,111,106,207,143,
+199,141, 27,119, 34, 35, 35, 99, 80, 74, 74, 74,215,221,187,119,127,205,229,114, 99,118,239,222,253,117, 74, 74, 74,215,140,140,
+140, 65,227,198,141, 59, 1, 96, 74, 83,142,239,238,238, 62, 63, 40, 40, 8, 91,182,108, 65,187,118,237,224,225,225, 81, 26, 28,
+ 28,188, 11,192,106, 0,159,187,187,187,223,159, 63,127,254,244,252,252,124, 81,102,102,102,187,239,190,251,110,206,174, 93,187,
+ 58,101,103,103,115, 27,160,238, 49,112,224, 64, 92,185,114, 5, 0,114, 0,164, 20, 21, 21,233,178,179,179,225,229,229, 5, 63,
+ 63, 63, 40, 20, 10, 40, 20, 10, 72, 36, 18,184,184,184,192, 96, 48,116,165,110,229, 20, 40, 80,160,240,127, 42,184,106, 23, 90,
+ 92, 46,215,220,215,215, 23, 45, 90,180, 48, 71,229,106, 45, 75, 54,115,197,162,153,227, 77,248,226,171,160, 69,223,196,184,158,
+109, 76, 44,217,204, 21,149,187, 48, 93, 92, 92, 56,190,190,190,224,241,120, 14,117, 28,252, 78,110,110, 46,124,125,125, 33, 20,
+ 10, 33, 16, 8,224,235,235, 11,141, 70, 3,169, 92, 14,165, 30, 40,213, 26, 32,149, 74, 81, 92,144,135, 82, 61,160, 51,181, 68,
+ 90, 90, 26, 24, 12, 70,106, 29,156,118,110,110,110, 5, 49, 49, 49, 5, 0, 34, 1,124, 26, 18, 18,130,229,203,151, 99,237,218,
+181, 39, 76,114,222, 14, 60,113,229,188,229,241,224,207,172, 61,216,180,241, 0, 52, 25, 25, 25, 16, 10,133,224,241,120,181, 10,
+ 3,127,127,255, 14, 60, 30, 15, 71,142, 28, 33,153,153,153,221, 81,177,132, 63,149, 70,171, 16,123,198,116, 72, 1,236, 18,139,
+197,157,215,172, 89,243,186,127,255,254,172, 46, 93,186, 96,253,250,245, 0, 16, 94, 27,167, 68, 34,121, 60,101,202, 20,245,237,
+219,183,145,144,144,192, 59,119,238, 92,224,250,245,235,219,188,123,247,142,115,241,242,213, 33,161, 25,178,192,205,215,239,113,
+ 55, 92,187,243,216,202,140,215,186,185,149, 5,162,223,101, 25,233, 25,120,218,208, 21,237,204, 98,204,236,205,101, 70,247,228,
+208,115,122,115,153,226, 78, 44,198, 12,185, 92,126,242,194,133, 11,215, 22, 47, 94,172,200,207,207,135,169,169, 41,138,138,138,
+176,113,227, 70, 69,116,116,244, 89,181, 90,125,177, 33, 94,189,129,116,112,106,230, 12,188,137,169,254, 78, 99, 32,120,170, 54,
+ 66,192,167, 11,225,233,229, 5,181, 90,141,182,109,219,210, 66, 66, 66,120, 2,129,224,171, 6, 69, 15,253,119,221, 77, 71,163,
+209,114, 9, 33, 89, 10,133, 34,211,216,216,248,157,145,145,209,187,226,226,226, 76, 66, 72,222,159,161,179, 8, 29, 95,118,107,
+235, 14,112,140,241,174, 72,145,253, 76,129,226,218, 10,154,154,154,206,216,187,119, 47,247,224,193,131,218,249,243,231,171,230,
+204,153,195, 42, 43, 43,179,153, 51,103, 14,107,254,252,249,170,131, 7, 15,106,247,238,221,203,229,243,249,163, 63,164, 34, 90,
+173, 22, 49, 49, 49,155,147,147,147,121,168, 8, 55,178, 48, 56, 56,120,106, 82, 82, 18,119,207,158, 61, 56,115,230, 12,206,156,
+ 57,131, 17, 35, 70, 96,193,130, 5, 8, 10, 10,170,143,206,196,199,199,199,215,210,210, 18,119,239,222,205, 6,240, 14, 64, 7,
+ 62,159,111, 58, 98,196, 8, 12, 26, 52, 8,229,229,229,208,104, 52,213, 66,139,193, 96, 64, 40, 20, 90, 82,247, 64, 10, 20, 40,
+ 80,248,203, 69,214,111,196, 22, 19, 0,170, 76,117, 1, 1, 1,180,250, 30,140,250,146,124, 72,148,165, 72,147,150, 34,189,196,
+240,155,223, 12, 6, 67,189, 71,207,206,206,190,248,232,209,163, 25,190,190,190,204,236,236,138, 25, 49, 95, 95, 95,148,150,150,
+ 34,251,197, 19, 40, 13, 0,207,205, 27, 74,165, 18, 37,175,158,131,239,211, 21,150, 31, 77,194,246, 61,123, 84, 69, 69, 69, 63,
+214,198,201,102,179, 89,142,142,142, 5,169,169,169, 58, 0,197, 2,129, 96,160,179,179, 51,238,220,185, 3, 0,199, 8,176, 21,
+209,183,129,187, 97, 32, 21, 38, 21,190,139,139, 11,242,243,243,161, 80, 40,238,212,198,249,232,209,163, 36,173, 86,219,118,248,
+240,225,180,159,126,250,233,148, 76, 38, 91, 11,224,165,202, 0,198,139,140, 60, 40,245,224, 2, 24, 96,110,110,254, 69, 80, 80,
+ 80,191,249,243,231,227,194,133, 11,184,126,253,186, 6, 21,190, 96,143,106,161,149,166,164,164,236, 91,178,100, 73, 23, 58,157,
+254,233,141, 27, 55,116, 30, 30, 30, 50,141, 70,163,111,233,233, 73, 95, 27,178,206,104,222,167,179,133, 69,165,136, 31,212,210,
+174, 27,141, 6,196,103,229,191, 75, 86,160,168,190,115,234,207,102,132,143,236,238,227, 63, 99,220, 48, 62,207,173, 53,148,177,
+ 79, 68,251, 78, 95,222,110, 28,157, 20,112, 55, 63,127,196,133, 11, 23, 2,239,220,185, 51, 79,173, 86,183,224,112, 56,111, 36,
+ 18,201, 78,133, 66,209,160,200, 98, 48, 24, 31,169,236, 28,205, 37,197,197,224, 86, 90,162,100, 90, 3, 10, 85, 58, 36, 8, 61,
+ 48,193,209,169,122, 26, 52, 55, 55, 23, 34,145,136,166,215,235,135,213,199,121,253,250,117, 4, 4, 4, 84, 9, 79,208,104, 52,
+208,104,180, 66, 79, 79,207, 60, 14,135, 83,100,100,100, 36,219,186,117,107,121,121,121, 57,152, 76, 38, 87,175,215, 51,254, 72,
+111,247, 51,129, 13,135,208,190,159, 51,188, 79,255,118,173,189, 72,228,179, 23,180,146,210,242,195,245, 88, 1,191,115,119,119,
+103, 22, 23, 23, 95, 4,144,160,213,106,143,159, 58,117,138, 59,121,242,228,242,211,167, 79, 79, 4,224,186,109,219,182, 64,133,
+ 66,177,191, 41,245, 72, 78, 78,254,110,195,134, 13,203, 86,173, 90,133,163, 71,143,206, 79, 78, 78, 94, 94,105,233, 26, 17, 20,
+ 20,132,173, 91,183,226,232,209,163,134,132,132,132,203, 6,131, 33,121,241,226,197, 62,182,182,182,133, 57, 57, 57,201,245,208,
+118, 28, 60,120,176,234,254,253,251,108,185, 92,126, 15,192, 23,115,231,206,157,217,185,115,103,217,184,113,227,248,197,197,197,
+ 18, 19, 19, 19,246,129, 3, 7,204,153, 76, 38,148, 74, 37,104, 52, 26,228,114,185,154,186, 15, 82,160, 64,225,239,138,186,180,
+200, 63, 4,117, 62, 27,152,181, 53,176,180,180, 52, 47, 61, 61,221, 43, 43, 43, 75, 7, 64, 7, 0, 69,106,221, 55, 27, 14,132,
+ 29, 28,221,197,157,151,163,213,226,220,179,184,210, 34,181,174,202,249, 93,151,149,149, 37,127,247,238,157,105, 89, 89,153,162,
+142, 99, 61,252,254,251,239,203,110,223,190,109,154,146,146, 2,189, 94,143, 14, 29, 58, 32, 49, 49, 17, 37, 9, 49,224,121,117,
+ 0,175, 87, 0,226,196,207, 16,125, 61, 2,111, 21,106,221,235,213, 27,164, 10,165, 50, 72,163,209,156,171,141,144,197, 98, 21,
+ 3, 32,132, 16, 61, 0,200,100,178,151, 10,133,162,167,173,173, 45,226,227,227,121, 74, 61, 22, 4,174,216,190,155, 16,162, 55,
+170, 88,205,181,104,220,184,113,136,138,138, 2,128,168,218, 56,101, 50,217,252, 89,179,102,221, 62,114,228, 8, 51, 37, 37,101,
+208,193,131, 7, 7,189,126,253,154,208,138,211,245,247, 75, 89,112,157,186,160,211, 15, 46,158,215, 3, 2, 2, 96,103,103,135,
+ 3, 7, 14, 96,231,206,157,218,207, 62,251, 44,105,231,206,157,157,242,243,243,143,215,209,126,169, 68, 34,185,106,105,105, 57,
+175, 77,155, 54,114,165, 82,137,162,162, 34,100,103,103,195,194,210,146,174, 3,189,155,181, 80,120,252, 98,174,156,199,188,250,
+ 24, 79, 50,115,234,181,102,117, 97, 49,166,140,246,111,239,255,249,170, 21,124,220, 63, 7,218,172, 32,144,131, 95, 99,225, 39,
+129,166,229,170,227,189,148, 47,210, 38,139,101,178, 80,153, 76,118,166,137,157,101,112,183,110,221, 78,108,216,176,193,120,229,
+150, 13,216,230,229, 0, 93, 81, 17, 10, 84,122, 20,170,116,144,149, 36, 32, 62, 62, 14,150,150, 86,120,251,246, 45,202,203,203,
+241,234,213, 43,194, 96, 48, 46, 54,100,209,169, 66,141,233, 66, 9,135,195, 41, 98,177, 88,121, 76, 38,179, 56, 37, 37, 69, 89,
+ 94, 94, 14, 58,157,206,211,235,245,198,141,168,171,163,149,149,213, 98, 84, 4, 19,189, 32, 47, 44,220,229,203,130, 16, 76,244,
+118,177,178, 28,178,122,206,100, 43,103,123, 27, 73, 74,210, 27,237,143,215, 30, 20,150,171,234, 94,172, 1, 32,188,184,184,184,
+218, 34,121,250,244,233,133,167, 79,159,158, 9,224, 16, 42,242,110, 69, 72, 36,146, 31, 62, 96,240,173, 62,123,246,236,178, 85,
+171, 86,193,216,216,184, 58,120,170,177,177, 49, 23, 0,126,254,249,103,196,199,199,119, 70,165,191,150,193, 96, 56,145,147,147,
+211, 16,167,171,183,183,119, 74, 88, 88, 24, 27,128,253,220,185,115,187,238,222,189, 27,159,124,242, 73, 65, 92, 92, 92, 23, 0,
+169, 0, 92, 63,253,244,211,167, 71,143, 30, 53, 55, 24, 12, 40, 41, 41,129, 90,173, 78,165,110,229, 20, 40, 80,160,196,214, 95,
+ 2, 95, 0,209,168,136,159,245, 17,128, 75,168,112,235,168, 19, 78,149,234,236, 26,128,225, 85,207,199, 58,156,225,129,138, 21,
+ 89, 87, 1,252, 15,128,109, 93,164,150,150,150, 95, 77,157, 58, 85,155,153,153, 73,114,115,115,201,153, 51,103,200,162, 25, 83,
+245, 3,220,236, 13,110,246,182, 74,107,107,235, 68, 59, 43,139,195,237, 77,176, 8,128, 99, 35, 26, 54,245,245,235,215,179,167,
+ 78,157, 58,163,242,184, 51, 78,156, 56,161,184,113,227,134,130,193, 96,132,163, 34,180, 67,149,160,156, 50,108,216, 48,133, 74,
+165, 82,120,122,122, 22,163,194,113,191, 46, 4,246,238,221,187,228,202,149, 43, 68,175,215,255, 46, 70, 81, 65, 65, 1,185,126,
+253, 58,233,222,189,187, 4,192,228,126,253,250,221,121,240,224,193,157, 30, 61,122,156,109,168,194, 86, 86, 86, 43, 94,188,120,
+ 17,149,150,150, 38,190,116,233,146,248,248,241,227,226, 79, 63,253,244,165,143,143, 79, 89, 82, 82,146, 65,167,211,145, 23,207,
+159, 19,207,150, 45,149, 0, 92,234,226,233,107,204,124, 42, 59,240, 53, 41, 95,255, 9, 41, 31,233, 68, 0, 16,249,246,175, 72,
+222,252,254, 36,113,222, 16,210,135,203,120,244, 33, 61,197,194,194,226, 90, 84, 84, 20,145,203,229, 36, 54, 54,150, 76, 9, 24,
+ 68, 30,205,236, 79,174, 14,114, 39, 71,123, 53, 39,219, 7,250,144, 65,189,122,146,239,191,255,158,132,133,133,145, 21, 43, 86,
+ 24,172,172,172,228,168,199, 71, 75, 36, 18,221, 56,117,234,148, 24,128,152,193, 96,136,101, 50,153, 88, 46,151, 95,204,200,200,
+216,235,233,233,185,172, 77,155, 54, 19,189,188,188,250,246,105,238,178,172,159, 41, 39,177,191, 25,247, 77, 75,190,201,118,252,
+ 62,238, 85, 53, 4,128,139,155,171,171,252,238,221,187, 6,149, 74, 69,238,221,187,103,104,213,210,163,124,219,216,193,103,223,
+ 30,216,116,182,252,202, 79,215, 74,207,239,127,112,122, 90, 64, 76,111, 19,250, 79, 93,121,213,225, 56, 62, 20,227, 1,156,195,
+175,171, 14,167, 2, 56,143,250, 87, 33,210, 1, 28, 90,191,126,125,205,149,134, 0, 64,247,241,241, 17, 19, 66,196, 62, 62, 62,
+226,166, 86,196,196,196,100,241,133, 11, 23,130,157,157,157,183,140, 27, 55,238,128, 68, 34,185, 52,113,226,196, 24, 84, 44, 6,
+161,161, 34, 59,194, 48, 71, 71,199,130,232,232,104,114,231,206, 29, 50,102,204, 24,185,145,145,209, 36,234, 54, 78,129, 2, 5,
+ 10,127, 9,102,215,246,217, 80, 28,173, 13, 49, 49, 49, 85, 49,180,230,214, 71,190,124,249,114,113, 84, 84,148, 24, 21, 81,226,
+235, 5,147,201,252,229,179,207, 62, 35,182,182,182, 10, 27, 27,155, 95, 88, 12,198, 76, 39, 99,248,226,195,150,186,247, 12, 13,
+ 13, 29,241,221,119,223,125, 4,160, 51, 0,150,131,131, 67,118,110,110,174,226,193,131, 7,138,238,221,187, 43,172,172,172,242,
+189,189,189, 21,219,182,109, 83,104,181, 90,197,226,197,139, 21,248,125,188,175,218,192, 5, 48,143,205,102,255,210,170, 85,171,
+152,213,195,251,106,183, 44,152, 73,166,186, 91, 43, 0,124, 7,224, 51, 0, 66, 0,172,192,192,192,155,175, 94,189,186,230,237,
+237,189,175, 17,188,246,109,218,180,185,117,226,196,137,168,176,176, 48,241, 87, 95,125, 21,101,105,105,153,153,148,148,100, 40,
+ 47, 47, 39, 37, 37, 37, 68, 34,145,144, 75,151, 46,233, 45, 44, 44,246,212,217,112, 14, 35,135, 92, 63, 86,107, 8,135,140, 85,
+147, 72,119, 54, 61,235, 67,122, 10,143,199, 43, 46, 42, 42, 34,185,185,185, 36, 37, 37,133,156, 61,123,150, 12,238,230, 71, 78,
+126, 58,154, 28,155, 49,130,108, 29,236, 71, 58,155,114,149, 34, 83,126,148,169,169,105,126, 99, 86, 29,138, 68,162, 27, 42,149,
+170, 58,124,131,163,163,163,216,211,211, 51,204,219,219,123,251,133, 11, 23, 22,238,216,177, 99, 68,159,230, 46,203, 54, 14,234,
+ 86, 86, 26,113,154,200, 79,125, 71,150,119,240, 40,175, 20,243,181,194,193,210, 34,244,238,157, 59,134, 42,241,171,211,233,200,
+185, 95,126, 33, 99,135, 12,136,145, 94,253,249,127,247,130,230,159, 88,220,193,227, 92,119, 46,198,215, 39,216,170, 95, 69,248,
+176,244, 55,163,239, 29,234,108,145,211, 83, 64,255,174,139,233,111,210, 75,141,245,240,240, 72, 33,132,228,120,121,121,165, 0,
+ 56,230,229,229, 85,243,255,105,117,208, 86, 7, 39, 13, 14, 14, 38,149,227,131, 14, 96,237,134, 13, 27,196,132, 16,177,187,187,
+251,125, 0,104,199,131, 85, 47, 1,253,127,195, 93,109,139,122, 9,232,255,107,199,171, 61,101,148,139, 17, 90,246,180, 54,185,
+ 55,194,221, 78,222,219, 65, 16,121,236,240,193, 45, 67,135, 14, 61, 0, 96, 15,128,175, 45, 45, 45,239,141, 31, 63, 62,254,232,
+209,163,241,219,182,109,211, 36, 37, 37,145,233,211,167, 43, 57, 28,206,215,212,125,144, 2, 5, 10, 20,254, 50, 84, 69,134,183,
+107,138,208, 26,182,108,217, 50, 49, 33,164, 42,150,214,228, 90,202, 12, 95,181,106,149,152, 16, 82, 21, 29,254,253, 0,102,181,
+ 5, 52, 11,222,187,119, 47,225,112, 56,255,251,192,198,212,228, 20,141, 28, 57,178,139, 76, 38,235,100,107,107,219,169,210,114,
+229,100,101,101,149,114,252,248,113, 69, 89, 89,153,130, 16,162,208,233,116,138,168,168, 40, 69,239,222,189, 21, 53,222,250, 27,
+170,231,111,176, 82,132,251,207, 86,207, 32, 43, 69,184,255,222, 79,147, 14, 29, 58,116, 37, 53, 53,245,162,153,153,217,210, 70,
+114, 58, 89, 91, 91,175,181,176,176,184,102,101,101,181,210,194,194, 34, 71,163,209,144,146,146, 18,146,152,152, 72,238,220,185,
+ 67, 30, 61,122, 68, 44, 44, 44, 50,235,170,103, 63, 99,230,227,146, 45,243,136,225,208, 6,162,222,189,130, 0, 32,146, 29,203,
+ 73,225,247, 33,228,217,172, 65,164, 55,151,241,240, 3,206, 39,132, 66,225,254, 95,126,249,197,144,156,156, 76,194,195,195,201,
+165, 75,151,200,130, 5, 11, 72, 75,123, 59, 85, 23, 54, 61,175, 39,135,121,237, 67, 2,150,170, 84, 42,177, 76, 38, 19, 43, 20,
+ 10,113,171, 86,173,196,126,126,126, 97, 93,186,116,217,126,250,244,233,133, 27, 55,110, 28,209,207,148,147, 88, 26,113,154,144,
+175,134, 16, 50,175, 7,121, 51,179, 55,233,107,204,124, 81, 39,167,173,109,102, 85,180,118,165, 82, 73, 34, 35, 35,201,173, 91,
+183,136,200,202, 74,230,111,204,152,221,157,131, 94,221,205, 32,108,108, 61,251, 8,232,135, 31,127,255,141,190,236,202, 81,242,
+243,212, 33,186,222, 66,250,222, 26,229, 78, 18, 66,114,198,140, 25,243,150, 16,146,115,246,236,217, 12, 66, 72,206,232,209,163,
+223, 18, 66,114, 0,156,168,141,243,189,224,164,135, 42, 69,214,188,224,224, 96, 49, 33, 68, 28, 28, 28, 44, 6, 42,130,168,246,
+ 18,208,143, 60,217,183,213,160,186,116,132,156,158,254,145,190,151,128,126,164,214,122, 10,153, 23,163, 15,237, 32,234,107,199,
+200, 47, 11, 38,234,123,136,204,238,122,120,120,108, 93,184,112, 97,216,163, 71,143, 94,234,245,250,248,148,148,148,248, 61,123,
+246,196,119,237,218,245,190,165,165,101, 12,155,205,254,172,161,107,244, 39,129,226,164, 56, 41, 78,138,147, 66, 13, 16, 66, 80,
+223,122,247,139,155, 55,111,230, 17, 66, 22, 7, 6, 6, 98,211,166, 77, 99,219,180,105, 51,222,193,193,193, 26, 0,178,179,179,
+ 75, 99, 99, 99,101,129,129,129, 88,187,118, 45,182,108,217,178, 29, 21,190, 44,255,151,200, 61,119,238,156,227,252,249,243,243,
+ 55,110,220,104,152, 62,125,186, 23,128,216,194,194,194,150, 19, 39, 78,156,199,100, 50, 3, 93, 92, 92,188,115,114,114, 10,202,
+202,202,142, 1,216,135, 6,230, 76,235, 2,135, 14,125,199,102,118,184, 70,135,190,198,215, 67,214,174, 93, 59,110,244,232,209,
+154, 29, 59,118,232,100, 50,217,133, 70,210,101, 20, 20, 20,172,171,250,199,194,194, 66,244,226,197,139,207,108,108,108,232, 41,
+ 41, 41, 80,169, 84, 72, 78, 78, 54,160, 98,106,170, 86, 40,116,100,215, 15,103,111,120, 46,158, 20, 96, 86,154,240, 28, 70, 12,
+ 6,180, 44, 54,114, 31, 95,195,161,200, 4,153, 82,131,221, 31,210, 78,137, 68,242,237,130, 5, 11, 38, 46, 93,186,148,235,226,
+226, 66,123,248,240, 33, 78,157, 58,165,202,207,207, 31, 12,224,238,175,161,159,154, 6,131,193, 0, 54,155, 13, 0, 88,190,124,
+ 57,232,116, 58, 43, 63, 63,159, 77,163,209, 56, 52, 26,205,132, 70,163, 49,180,169,241, 48,200, 74,144, 87, 34, 65, 70,158,164,
+ 94, 62,189,193,112,234,201,147, 39,139,218,183,111, 79,127,246,236, 25, 10, 10, 10,144,156,156, 76,244,132,156,136, 44,211, 87,
+ 56, 37,170, 26, 95, 63, 19, 11,203,145,237,204, 57,116,246,225,181,240, 87,211, 25, 63, 26, 48, 6, 21,177,180, 0,224, 16,141,
+ 70, 51, 2, 80,212,170, 85,171, 62,175, 94,189, 50,110,213,170, 85, 89, 66, 66,194, 21, 26,141,230, 0,224, 72,109,156,198,198,
+198,133, 0, 10,207,158, 61, 11, 0,179, 80,113,242, 58, 4, 5, 5,229, 68, 70, 70, 34, 56, 56, 56, 15,192, 94, 0,224,155, 91,
+ 14,247, 22, 24,209,216, 63, 5,163,171, 10,244,221, 6, 82,171,213,149,111, 99,219,183, 13,143, 14,214,193, 53,232, 36,242,164,
+179,117,154,182, 33, 33, 33,145, 10,133, 66,117,242,228, 73,245,180,105,211, 24, 73, 73, 73, 79, 1,220, 3,112, 22,149, 62,150,
+ 20, 40, 80,160, 64,225, 47,197,251, 97, 29, 26,244,209,122, 95,181,110, 2,240,195,235,215,175,171,147, 74,191,126,253, 90, 12,
+224, 71, 84, 68,131, 31,214, 4,197,187,186,210,162,181,239, 3, 27,243, 62, 39,215,215,215,215,248,213,171, 87, 70,168, 61,225,
+ 49,237, 3, 56,127,135,218,114, 29,122,120,120,236,212,106,181, 97, 63,254,248,227,105, 6,131, 49,241, 15,168,125, 23,119,119,
+247,146,227,199,143, 27,194,195,195,201,234,213,171,245,118,118,118, 37,248,189,143,214,111, 56,253,217,140, 51, 75,188, 28,100,
+ 81,147,123,144, 55, 11,135,147,123,147,122,147,217, 14,124,153, 63,151,113,234, 15,190,149,184, 11, 4,130, 67,198,198,198, 50,
+ 51, 51,179, 27, 0,186,253,145,107,100,105,105,121, 84, 36, 18,221,168,185,217,218,218,134, 89, 91, 91,127,103,101,101,181, 90,
+ 40, 20,206,113,229,178,119, 44,108,105, 95, 30, 51,178, 21,137,232,110, 77, 38, 89,177,223,159, 58,124,191,158,118,174,174,174,
+ 69,161,161,161,134,139, 23, 47,146, 21, 43, 86, 24,154, 53,107, 38, 67, 61,126,109,245, 90,180,132,140, 83,103, 70,119, 49,228,
+125,228, 64, 54,121,153, 26,250,152, 51,234, 90,161, 56,169, 82, 0, 79,109,136,211,205,205,237, 71, 66,200,225,245,235,215, 31,
+198,175,185, 64, 7,132,132,132, 4, 17, 66,130, 66, 66, 66,130, 0, 12, 2, 0,127, 1, 61,244,216,136,142,250,236,161,246,228,
+ 27, 47,190,222, 95, 64, 15,173,213,146,105,193, 60,119,126,230, 71,134,156,153,221,201, 90,119,158,190,139, 5,231, 38,155,205,
+ 94,136, 10,139,179, 31, 0, 54,245,214, 76,113, 82,156, 20, 39,101,209,250,123, 8,175,198, 36,149,174, 9,145,133,133,197,161,
+ 22, 45, 90,156,118,113,113, 57,205,231,243,183,163,194,105,190,169, 23,194,117,195,134, 13, 50,129, 64,208,238, 79,188,184, 54,
+ 0, 28,240,251,196,185,127, 90,135, 89,103,135,249, 73, 75,199,190, 88,103,135,249, 53,190,246,243,242,242,250, 6, 21,209,188,
+255,104, 39,116,177,176,176,216, 99, 97, 97,145, 89,233,155,229,210, 24,206,142, 12,198,196, 62, 92,198,195,110,108,122,110, 31,
+ 46,243, 65, 39, 6, 99,194, 63,116, 0,214,183,216,162, 46, 78, 71, 43, 43,171, 29, 22, 22, 22,217, 86, 86, 86,123,154, 40,178,
+126,195,217,206, 24,118,125,133,140,115,221, 76,105,202,190, 2,198,217,142, 38,117, 47,234,104, 66,219,125,131,131,131, 63, 33,
+132,124, 98,111,111, 31, 88, 67,248,123,175, 93,187, 54,128, 16, 18, 80, 21, 1,222,207, 4, 54,189,133,140,227,221,205,104,146,
+222, 66,198,113, 63, 19,216,212, 85,207, 62, 66,198,169,238,102, 52,137,191, 25,253,184, 51, 7,205,168,155, 57,197, 73,113, 82,
+156,148,208,250,119, 8, 45,170,195, 80,156, 20, 39,197, 73,113, 82,156, 20, 39,197, 73, 9,173,218,133, 85,205,205,174, 74,104,
+ 49,169,115, 67,129, 2, 5, 10, 20, 40, 80,160,240,135, 80,103,192, 82, 90, 61,170,180, 41,142,237, 31,162,108, 35, 40, 78,138,
+147,226,164, 56, 41, 78,138,147,226,252,207,113, 54,196,253,127,189,176,238, 47, 3, 53,117, 72,113, 82,156, 20, 39,197, 73,113,
+ 82,156, 20,231,223,133,243, 95, 7, 66,200, 7, 5, 9,165, 64,129, 2, 5, 10, 20, 40, 80,160,240, 43,124, 43, 63,171, 3,151,
+ 86, 89,179,106,245,209, 98,250,173,207,211,233,116, 54, 0,192,100, 50,243,181, 79, 87,219,213,199,206, 2,250,233, 42,210,239,
+128, 9,204,210, 1, 55,106,225,188,161,211,233,204, 43, 57, 75,180, 79, 87, 15,170,151,211,111,253,181,154,229,117, 79, 87, 15,
+248,157, 82, 4, 24, 44,191,245,217,239,213,213,190,177,103,133,134,223,196,196,250,203,234,249, 79,225,252, 47,131,213,121,125,
+158, 86, 91,209,143, 88, 44,102,190,230, 73,253,253,200,168,243,250,236,154,229,181, 79, 86,219,214,199,105, 98,204, 41,114,115,
+176,222, 94, 31,103, 74,118,225, 98,101,105,185,101,125,156, 77, 29,155, 78,118,118,253,244,149, 99,147, 1,204,202,204,201,185,
+241, 55,235, 75, 29, 1,172, 6, 96, 86,227,187, 24, 0, 95, 80,189,146, 2, 5, 10,255, 48,161, 21,141,138, 60,135,251, 43,197,
+214,254, 58,133,150, 78,167,179, 17,255, 18, 4,165, 10,232, 55,101,189,141,235,200,125,191, 75,148,172, 43, 47, 97, 75,226, 78,
+122, 51,180, 50,115,107,166,198, 44, 59, 59,155, 6, 0, 52, 26,237,127, 0,156,107,225, 52, 23,255, 18,132, 82, 53,224, 63, 62,
+196,220, 25, 48, 43, 48, 50,250,210,152,199,235, 83, 86, 86,214, 6, 0,140,141,141,227,202,148,202,219,214, 26,205,182,247,203,
+215,213,178,154,117,237, 59,121,189,141,215,200,125, 11,244, 6, 3, 59,235,217,143,254,229,133, 73, 76,150, 78,181,119, 37,112,
+ 37,168, 22, 81, 85, 7,223,175,199,253,120,133, 37, 11,232,203,230,114,219, 9,205,205,123, 26, 8,105,101, 48, 24,104,122,157,
+ 46, 94, 38,149,222, 51,232,116, 47,116,106,165,165,248,194, 55,134,250,234,249,126, 91, 62, 6,152,191, 0,129, 60, 62,191, 15,
+131,197,234, 6, 0,122,173,246,161, 82,161,184, 61, 10, 56,211,152,182, 55,246,252,124,104,249,255, 26,180, 90,157, 77,234,181,
+ 32,168,180,128,239,152,111,108,124, 38,254,116, 28, 0,212,249, 47,108, 21, 73, 23, 58, 3, 0,207, 45,224, 9, 71,228,155, 7,
+ 0,204,119, 57, 54,137,225,171,160,210, 2,173, 2, 66,108, 26,226,156,182,246,148,229,210,217,163, 57, 0,112,253,236,119, 45,
+111,133,253, 48, 4, 0,250,142,158,123,101,224,152,249,137, 0,176,101,127,152,229,137,111,198,214,203,217,184,177, 41, 53,146,
+ 38,133,187,171,101, 57, 66, 39, 30, 83,148,148,148, 68, 7, 0,123,123,251, 70,141, 77, 71, 64,144, 3,204,163, 51, 24, 61,221,
+220,221,125, 1,144,148, 55,111,162,245, 58,221,125, 59, 96,239,159,220,151, 22, 16,242,219,224,172, 52, 26,141,234,144, 20, 40,
+ 80,248,167,225, 82,165,184,186,244,187,151,217,186,246, 80,170,128,187,201, 64,175, 46, 62,152, 61,113, 40,191,230,111,103,246,
+133, 56, 39, 61, 59,239,117,240,167,109,116, 31, 31, 31,164,166,166, 54,170, 22,165,106,224, 78, 18, 0,201, 43,211, 18, 30,239,
+205,142,173, 91,205, 6, 12, 24,192,180,183,183, 7,141, 70, 67,110,110,110,151,136,136,136,142,139, 22, 45,250, 20,146, 87, 37,
+165,106,200,239, 36, 53,204, 91, 85,215, 54, 45,155, 97,245,252,177, 2, 0, 88, 57,101,111,199,103,175,243, 44,222,188,121,211,
+111,217,178,101, 69,140,219,183,127,176, 2, 14,231, 1, 25,141,169,231,209,139, 79,184,130,156,159, 93, 39,205,159,127,214,221,
+221,157,239,226,226, 66, 51, 53, 53, 5,131,193, 64, 73, 73,137,115,108,108,236,144,167, 79,159, 42, 35,238,254,143, 29,245,116,
+120, 74, 62,183,115,121,163,218, 94,150,205,189,110,106, 26, 55,121,212, 40,199,177, 99,199,114,221,220,220, 0, 0,111,222,188,
+241, 56,115,230,204,248,179,103,207,174, 69, 89,182,174, 84,141,242,134,218, 94,205, 9,128, 11,116, 19,218,216, 76, 98,176, 88,
+109,116, 58,157, 67,165,181, 33, 75,175,213,198, 73,242,243,143,189, 95,158,194,239,161,210, 2,175,114,128,254, 61,125, 49,121,
+116,127, 30, 0, 44, 27,183,161,203,187,183,201, 70,106,181, 26, 45, 61, 91,117,255,250,155,237,215, 64,167, 35, 52, 44,162,186,
+124, 99, 56, 99, 94,165, 34,232,235, 29,200,126,121,166,139, 94,154,220, 71, 46,147, 50, 0,192, 76, 32, 24,125,230,228,207,183,
+237,189, 3, 31, 39, 23,106, 26,197, 89,223,216,188,122,114,143, 93,102,236,237,214,223, 95, 63,196,114,118,118,198,203,151, 47,
+155, 54, 54,165,175, 77, 13,118,118,241,219,190,250, 74,228,239,239, 15, 62,159, 15, 38,147, 9,157, 78,215,255, 42,105,207, 98,
+ 0, 0, 32, 0, 73, 68, 65, 84,254,253,251,253,131,130,130,230, 66,250, 90,217,216,177,217, 8,108,163,209,104,125,166,205, 94,
+ 96, 55,116, 68, 32, 70, 15,238, 78,117, 68, 10, 20, 40,252,211, 80,101,189,170,185,242,112,127,189, 66,139,201,100,230, 15,152,
+186,209,166,103,231,182,120,246, 34, 81,154,150,158,163,168,250,173, 56,238, 76,203, 17,221, 29, 90, 71, 70,222,133, 74,165,194,
+195,135, 15,241,226,197, 11,188,125,251, 22,115,230,204, 81, 85, 78, 29,214,198, 89,226, 63, 62,196, 28,210, 36,190, 7,251,117,
+243,136,132, 4, 70,121,121, 57, 34, 35, 35, 81, 82, 82, 2, 54,155, 13, 71, 71, 71, 12, 28, 56,144,153,144,144, 96,209,111,192,
+ 96,129,255,224, 9,169, 16,120, 40,152, 76,102, 73, 93,121, 68,152, 76,102,126,191, 41,235,109, 90,123, 52,195,155,180,108,233,
+234,111, 14, 42, 12, 6,194, 76,121,251, 78,115,247,238, 93,248,250,250,226,198,141, 27,150,197,197,197,107,246,238,221,187,154,
+181,249,251, 93, 90,117,209, 18,212,205, 87,226, 63, 62,196,220, 50,255,180,203,173,171,231,140,226,226,226,140,126,252,241, 71,
+ 20, 21, 21,129,205,102, 67, 40, 20, 66, 36, 18,161,101,203,150,180,149, 43, 87,242, 3, 2,226,240,249,172, 64, 23,141,235,204,
+215,117,213,179,186,237,138,119, 38, 86,178,235,110, 97,151, 46,209,123,244,232,241,155,215,246, 22, 45, 90, 96,208,160, 65,220,
+ 73,147, 38,185,141, 29, 63,209,224,255,209,180, 55,224,187,148, 54,200,169,204, 48,182, 44,125,100,223,127,252,248, 11, 33, 33,
+ 33, 66,145, 72, 4, 30,143, 7, 0,144, 74,165,142,105,105,105, 93,214,174, 93, 59,230, 73,204, 73,166,127, 64, 70, 54,120, 78,
+101,245,157,207,255, 42, 88, 44,102,126,149, 21,201,148,103, 92,146,145,153,167, 4, 0,181, 90, 13,181, 90, 13,149, 74,133,207,
+230,206, 97,204, 26,227,231,238,210,115,193,243,183, 89,121,197,173, 34, 30, 91, 84,237,171,109,128,147, 89,250, 86, 34, 73,191,
+ 57, 43,232,171,175, 68,182,182,191,206, 8,134, 30, 61,202, 40, 46, 46,238, 31, 20, 20,212,154,152,244,150,180, 10, 8, 17,214,
+199, 89,223,216,148, 36, 94,106,254,245,252, 65,237,246,125, 19, 14,189, 94,143, 71,143, 30, 33, 50, 50, 18,219,183,111, 39, 87,
+174, 92,145,154,241,120,179, 80,239,216,124,109,218,195, 46,215,117,243,230,179, 52, 14,135,131,243,231,207, 35, 33, 33, 1,116,
+ 58, 29, 62, 62, 62,152, 60,121, 50,250,247,239, 47,154, 61,123, 14,241, 31, 60, 46, 5, 2, 79,249, 31,236, 75,116, 0, 11, 86,
+ 4,109,182,155, 50,115, 30,182,124,189,146, 18, 90, 20, 40, 80,248, 39, 91,179,234, 12,241,128,240,240,112, 82,185,245, 2, 0,
+ 2,208, 91,140,220,119,226,116,148,225, 82,139,145,251, 78, 16,128, 78, 0,186, 25,208,172,125,251,246, 90,137, 68, 66,158, 62,
+125, 74, 62,251,236, 51,229,174, 93,187,110, 95,186,116,233,140, 78,163, 57, 96,111,103,247, 45, 65,237, 14,246, 4,160,187, 0,
+ 2, 19, 19,147,130,244,244,116,114,249,242,101, 18, 28, 28, 76,142, 29, 59, 70,174, 92,185, 66, 34, 34, 34,200,149, 43, 87,200,
+137, 19, 39, 72, 76, 76, 12, 73, 76, 76, 36, 60, 30,175,192, 5, 16,212,195,201, 32, 0,163,229,200, 31,151,156,125,166, 13,241,
+ 28,185,111, 17, 1, 24,230,128, 87,251,246,237,245,103,206,156, 33,161,161,161,228,167,159,126, 34, 49, 49, 49,164,176,176,144,
+ 48, 57,188,130,170,253,234,170, 39, 1,232, 14, 14, 14, 5, 18,137,132, 56, 57, 57, 17, 54,155, 77,108,109,109, 73,203,150, 45,
+ 73,151, 46, 93,200,144, 33, 67,200,196,137, 19,201,154, 53,107,136, 68, 34, 33, 92, 46, 55,175,106,191,186, 56,125, 1, 99, 30,
+143,151, 46, 22,139, 73, 93, 40, 43, 43, 35,133,133,133,228,218,181,107,132,199,227,165,251, 2,198,245,113, 26, 3, 29,188,189,
+189, 11, 10, 11, 11,137, 70,163, 33,233,233,233, 36, 54, 54,150, 36, 36, 36,144,244,244,116, 82, 86, 86, 86,205,157,152,152, 72,
+ 92, 93, 93, 11,140,129, 14,117,113,254,151, 81,213, 39,222,223,156,109,109,135,136, 68,162,178,179,103,207,146,172,172, 44,114,
+228,200, 17, 66, 7, 54,188, 95,174, 62, 78, 54, 48,176, 71,143, 30,250, 71,143, 30,145,231,207,159,147,229,203,151,147, 65,131,
+ 6,145,193,131, 7,147,160,160, 32,146,153,153, 73, 50, 51, 51,201,144, 33, 67,244,108, 96, 96, 67,253,179,182,177, 41, 0,156,
+ 3, 2, 2,202, 52, 26, 13, 73, 73, 73, 33,109,218,180,201,100, 0,147,120, 64,235, 94, 0,167,161,254,233, 0,152,219,217,217,
+229, 60,122,244,136,132,133,133, 17, 23, 23,151, 2, 6, 48,205, 12,104, 97, 6,180, 96, 0,211, 90,180,104, 81,240,232,209, 35,
+ 82, 84, 84, 68,156,157,157,115, 28, 0,243, 63,208,151,232, 0, 14,173, 8,218, 76, 94,103, 42,201,138,160,205, 4, 64, 58,169,
+240, 30,189, 65,245, 72, 10, 20,254,123,120, 95,139,252,227,159, 43,132,252,118,213, 97, 64, 64, 0, 13,192,157,250,118, 42, 99,
+ 48, 54,110,217,178,133, 89, 94, 94,142,131, 7, 15,202, 63, 30, 51,230,116,175,158, 61, 83,154,187,184, 72,104,116,122,131,217,
+134, 11, 56,156,133, 91,182,108, 17,170,213,106, 68, 69, 69,161, 99,199,142, 16,137, 68,224,243,249,224,243,249,176,177,177,129,
+167,167, 39,242,243,243, 97,106,106,138,165, 75,151, 10, 10, 56,156,133, 13,241, 26, 12,132, 9, 0,122,131,129,109, 4,204,118,
+237,212, 41,106,237,218,181,116, 75, 75, 75, 88, 88, 88,128,207,231, 35, 33, 33, 1,106,181, 26, 38,198, 38,141, 10,210, 74,167,
+211,233,124, 62, 31,183,110,221,194,130, 5, 11,208,173, 91, 55, 8,133, 66,152,154,154,162, 77,155, 54, 24, 56,112, 32,102,205,
+154,133,148,148, 20,208, 26,225, 84, 18,207,100,206,155, 53,107,150,141,175,175,111,173,191,151,151,151, 67, 34,145,160,160,160,
+ 0,142,142,142, 8, 12, 12,180,137,103, 50,231,213,197,103, 9,136, 28, 61, 60, 46, 60,125,250,212,138,199,227, 33, 52, 52, 20,
+231,206,157,195,213,171, 87,113,249,242,101,132,135,135,227,252,249,243, 40, 40, 40, 0, 0,120,120,120,224,212,169, 83, 86,124,
+ 27,155,112, 75, 64, 68, 13,233,198,225, 93, 94,222,245, 54,185,185, 86,147, 38, 78,188,167, 80, 40, 48,105,210, 36,108,220,180,
+105, 37, 11, 88,212,152,253, 61, 1,129,133,157,221,225,205,155, 55,211,115,115,115, 49,106,212,168,194,109,155, 54,205,136,190,
+118,205, 77,124,245,170,219,198,144,144, 25,189,122,245, 42,204,204,204,196,209,163, 71,233,182,206,206,135, 61, 1, 65, 83,235,
+ 41, 7, 22,236,220,185,147, 91, 94, 94,142, 1, 3, 6,164, 24,226,226, 60,117,192,207, 10, 32,225, 14,160,105,104,255, 28, 96,
+222,210,165, 75, 69, 28, 14, 7, 95,126,249,101, 97,233,187,119,109,117,192, 79, 82, 32, 77, 10,164,233,128,159,228,169,169,109,
+167, 76,153, 82,200,225,112,176, 99,199, 14, 81,206,175, 73,183, 27,139,142, 0, 46, 0,184, 11, 32,123,218,236, 5,211,124,253,
+186,226,232,129,189,248, 38,100,217, 97, 0, 31,211,104,180, 99, 0,150, 80, 61,143, 2,133,255, 38, 26,163, 69,254,166,152, 93,
+215, 15,204,154, 74, 18, 64,239,250, 88,204, 45, 45, 59,182,109,219, 22,145,145,145,240,246,246,126, 42, 20, 10,117, 70, 28, 14,
+ 88, 44, 22,136,161, 65,157, 5, 99, 30,175, 95,255,254,253,153,143, 31, 63,134,171,171, 43,140,141,141,193, 98,177,126,179, 25,
+ 25, 25,193,206,206, 14, 50,153, 12,253,250,245, 99,237,222,189,187, 31, 84,170,175, 27,124, 32, 38,197,242, 11, 30,111,158,248,
+191, 35,135, 91,248,251,251, 67, 42,149,193, 96, 48,192,196,196, 4,106,181, 26, 76, 38,179, 98, 10, 72, 75,100,141, 57, 99,122,
+189, 94,207, 96, 48,224,234,234,138,141, 27, 55,162,188,188, 28, 70, 70, 70, 0, 0,153, 76, 6,137, 68,130,216,216, 88,164,165,
+165,129, 52, 34, 34,153,169, 64, 48,116,236,216,177,181, 38,252, 85,169, 84,144, 74,165,144, 74,165,144, 72, 36, 40, 47, 47, 71,
+215,174, 93,217,151,194,195,135,162,168,104, 91,173,251,112,185, 99,142, 30, 61,106,195,102,179, 81, 86, 86, 6,185, 92,142,140,
+140, 12,188,123,247,174, 60, 63, 63, 95,103,106,106, 74,119,113,113,161,115, 56, 28,206,200,145, 35,105, 50,153, 12, 52, 26, 13,
+ 1, 1, 1,150,199, 67, 67,199, 66,173,222, 78, 13,233,198,225, 58,160,234,160, 86, 15,235,236,231,119,235,233,179,103,190, 11,
+ 23, 46, 68, 76, 76,204,102,147,147, 39,239,150, 2, 47,234,219, 55, 5,152,247,109, 13, 1, 67,222,189,243,214, 0, 5, 53,138,
+164,185,164,166, 94,157, 50,101,202,203,152,152, 24,171, 29, 59,118,136, 62, 30, 53,106, 30,128, 13, 77,169,163,169, 64,208,201,
+206,206, 14, 87,174, 92, 65,250,219,183,203,116, 64, 89,147,204, 75, 12, 70, 15,127,127,127,156, 63,127, 30,153,239,222, 45,211,
+253,182,142, 21, 47, 74, 64, 1, 51, 37,101,217,225,195,135, 15, 77,159, 62, 29, 12, 38,179, 7,116, 77,154, 56,252,157,227,251,
+244, 57, 11,113,120,255,238,195, 0,102, 2, 48, 0,120, 74,245, 56, 10, 20,254,219, 86,173,134,180,200, 63, 72,108,237, 7,208,
+ 52,139,150,141,141,141, 3,159,207, 71,118,118, 54, 90,121,121,229,115, 56, 28,176, 89, 44,112,217,236, 70,213,160,180,180,212,
+219,222,222, 30, 82,169, 20, 86, 86, 86, 48, 50, 50,170,222,216,108,118,245,223,166,166,166,160,211,233,112,118,118, 70,105,105,
+169,119,131,188,121,177, 54, 39,119,207,253,236,209,221, 43, 45, 70,141, 26, 13,115,115, 11, 56, 57, 57,194,198,198, 6,198,198,
+198,112,114,114,130,155,155, 27,217,182,109, 27, 76,108,124, 26,117, 35,175, 41,158,152, 76, 38,244,122, 61,242,242,242,240,250,
+245,107,196,196,196,224,209,163, 71,120,254,252, 57,228,114,121,163, 34,191,150,150,149,181, 99, 50,153,181,138, 44,137, 68, 2,
+137, 68, 82, 45,180, 10, 10, 10,144,150,150, 6,133, 82,217,190, 30,209, 59,186,109,219,182, 12, 0, 48, 54, 54, 70,251,246,237,
+177,111,223, 62,221,197,115,231,198,181,126,244,200,194,233,218, 53,225,255,126,252,113, 92, 96, 96,160,254,241,227,199,144,201,
+100,120,245,234, 21,172,173,173,153,108, 46,119, 44, 53,156,155, 6, 49,160,180,146,203, 7,119,235,214, 45, 85, 42,149, 98,235,
+214,173,116,150,169,233,254,144, 58,166,248,170,193, 96,116,247,247,247,199,133, 11, 23,144,253,238,221,242,119,181, 8,152,119,
+ 64, 65,122, 74,202,242,195,135, 15, 99,224,192,129,160, 49,153, 77,118, 84,234,210,165, 75, 91,131,193,128,151, 47, 95, 66, 8,
+ 60,105,234,254,110,238,238,190, 85,150, 95, 30,112,175,174,114, 60,224, 94,116,116, 52,140,141,141,209,170,117,235, 14, 77, 60,
+204, 54, 26,141,150, 51,125,206, 66,132, 93,125, 0, 0, 56,188,127,119, 94, 13,145, 69,129, 2, 5,202,162,245, 79,181,104, 85,
+ 9,171,154, 27,126, 35,180, 26, 41, 62, 0, 0, 44, 22, 11,108, 14, 7,108, 54,187, 66, 32,113, 56,141,230,160,209,104,224,114,
+185,213,194,170,166,192,170,249,183,137,137, 73,163, 67,215,151, 36, 95,237, 57,115,198,116, 54,135,195,129, 90,173, 2, 33, 4,
+ 28, 14, 23, 66,161, 16,174,174,174,144,201,100,232,214,189,151, 42, 67, 98, 20,110,217,106,100,204,135,156, 61,157, 78, 7,165,
+ 82,137,146,146, 18, 20, 23, 23, 67, 38,147,161,172,172,172,209, 75,209, 13, 6, 3, 35, 35, 35, 3, 63,255,252, 51,138,138,138,
+ 0, 84, 56, 90, 87,137,171,170,207,212,212, 84,132,134,134,226,237,219,183, 77,186, 62, 61,123,246, 68,120,120, 56,163,119,191,
+126, 7,110,184,184,100,223,112,113,201,238,221,175,223,129, 11, 23, 46, 48, 28, 28, 28,144,150,150,134,168,168, 40,148,148,148,
+128, 16, 66,173,159,255, 0,188, 1, 74, 74,139,139,167,175, 92,185,146,240,249,124,108,253,246,219,118, 27,128, 9,141, 21, 48,
+130,122, 4,140,224,143, 9, 24, 16, 66, 96, 48, 24,160,215,235, 63,168,109, 52, 26,141,198, 98,177,154, 26, 90,161, 41,133,171,
+ 29,223,151,174,217,136,203,231,207, 84,125,159, 68,137, 44, 10, 20, 40,252, 11, 80,167, 35, 60,179,134,130,172,254,172, 11,121,
+121,121, 89, 74,165,178,133,139,139, 11, 50, 51, 51,109,156,157,157,223,177, 89, 44, 24,177,217,160,209, 27,214, 4, 38, 38, 38,
+ 47,179,179,179,187, 59, 56, 56, 64,167,211, 85,139,170,247,167, 14,171,172, 52,207,159, 63,135,137,137,201, 75,148,215, 27, 57,
+ 1,122,117, 73,179, 14, 29, 58, 84, 91,134,132, 66, 33,132, 66, 1, 56, 28, 46, 86,173, 90,101,216,177,109,219, 94,231,190, 33,
+210, 79, 22,173, 36, 43, 55, 28,248, 83,207,108, 99, 31, 76, 38, 38, 38, 47,157,156,156,186, 10, 4, 2,132,133,133, 33, 45, 45,
+ 13, 37, 37, 37, 40, 45, 45,133, 74,165, 66,105,105, 41,212,106, 53,184, 92, 46, 90,183,110, 13, 51, 51, 51, 68, 68, 68,188,132,
+ 74, 85,187,184, 44, 42, 10,123,249,242,101, 87, 63, 63,191,106,139, 74,159, 62,125,104,125,250,244,177,170,182,162,149,150,162,
+176,176, 16, 79,159, 62, 69, 68, 68, 4,104, 52, 26,146,146,146,244,170,178,178, 19,212,152,248, 48,148, 3, 15, 25,135, 15, 31,
+250,244,211, 79,103,116,239,222, 29,122, 96, 8,128,208,255,143, 2, 6, 0,240,232,209,163, 88,189, 94,223,189,101,203,150,144,
+ 0,157, 1,156,111,146,136, 76, 78,142,214,233,116,253,218,181,107,135,176,211,167,123, 2, 72,171,173,156, 18,232,233,235,235,
+139,178,178, 50,188,138,143, 23, 55, 65,100, 29, 88, 17,180,121,218,148,153,243,112,244,192, 94, 28,222,191, 59,227,208,190, 93,
+ 78,104,132,255, 24, 5, 10, 20,254, 83,214,172, 6,181,200,223, 20,179,235, 18, 95,204,166,176, 72, 75, 74,196,209,209,209, 45,
+ 58,116,232,128, 3, 7, 14,248,117,235,218, 53,203,136,205,214,177,141,140, 64,111,196,131,164, 76,169,188,121,243,230,205,206,
+ 35, 71,142,100, 62,126,252, 24, 34,145,168, 90,104, 85,125, 50,153, 76, 16, 66, 96, 98, 98,130, 95,126,249, 69, 83,166, 84,222,
+108,208, 90,164, 55,232,233,149, 66,143, 16, 2,137, 68, 2, 35, 35, 35,108,223,190, 3,123,182,109,155,168, 7,206,120,240,172,
+191, 2,192,253,255,246,128, 46, 45,189,117,249,242,229,142,107,215,174,101, 57, 58, 58, 66, 34,145,160,164,164, 4, 69, 69, 69,
+144,201,100,144,201,100, 40, 41, 41,129, 68, 34, 1,151,203, 69, 76, 76,140,182,188,180,244, 86, 93,124,156,242,242,179, 83,167,
+ 78, 93, 26, 29, 29,109,199,100, 50,161,213,106, 97, 48, 24, 96, 48, 24,160,209,104,144,156,156,140,184,184, 56, 36, 36, 36,160,
+184,184, 24, 44, 22, 11, 12, 6, 3,207,159, 63, 47,225,105,181,167,213,212,152,254, 96,176,128,176,251,247,239,207,152, 60,121,
+ 50,236, 29, 29,123, 33, 51,179, 81, 2,230, 92, 61, 2, 70,250, 97, 2,230, 87, 1, 36,151, 63, 75, 77, 77,237,222,187,119,111,
+216, 57, 58,110,110,157,153,121, 35,190, 9,126, 90,122,157,238,222,253,251,247,251, 77,153, 50, 5, 7, 14, 28,216,108,157,154,
+122,181,224,189,105, 78,107,192,186,185,155,219,230,105,211,166,225,250,245,235,208,235,116,247,234,161,172, 25,241,189,217,180,
+217, 11,156,222,115,124,223, 71,163,209,230, 3,216, 74,245, 40, 10, 20, 40,252,155, 45, 90, 77,154, 58, 52,214,235, 87, 44, 89,
+178, 68, 75,167,211, 49,122,244,104,211,243, 23, 46, 4, 62,127,241,194, 53, 63, 63, 95,168,215,235, 27,228,178, 86,169,118, 45,
+ 89,178, 68,162, 86,171,225,233,233,137,226,226, 98,232,245,122, 48,153, 76, 48,153, 76,208,104, 52,208,233,116,240,249,124, 68,
+ 71, 71,227,208,161, 67, 50,107,149,106, 87,131, 15, 9,189,254,101,104,104, 40, 24, 12, 6,225,114,185,160,209,104, 96, 50,153,
+216,177, 99, 71,254, 30, 32, 12, 0, 24,116,186, 26, 0,232,116, 90, 99,189,119, 27,156,183,100,179,217, 48, 84, 44, 2,104,176,
+172,185, 74,181,115,203,150, 45,242, 87,175, 94, 65,169, 84, 86, 91,223, 20, 10, 69,181,115,189, 68, 34, 1,141, 70,131, 82,169,
+196,133, 11, 23,228,230, 42,213,206,186,248,138,128,220,204,164,164,225,126,126,126, 69,169,169,169,144, 74,165,120,249,242, 37,
+ 34, 34, 34,112,234,212, 41, 92,191,126, 29,201,201,201,208,233,116,112,112,112, 0, 33, 4,231,206,157,147,234,228,242, 33, 69,
+ 64, 46, 53, 38,234, 70, 51,145,168,159,173,141, 77,186,181,149, 85,102, 51,145,168,223,251,191, 11,128,196,196,196, 68,232,116,
+ 58,184,186,186, 90,212,231,167, 69,116,186,251,247,239,223,199,148, 41, 83,224,212,162,197, 38, 23,192,250,253, 50, 46,128,181,
+139,155,219,166, 42, 1, 67,116,186,251, 77,173,179, 41,176,251,171,175,190, 42, 51, 50, 50,194,201,147, 39, 93,181,238,238, 9,
+ 76, 96, 2, 31,240,234, 13, 24, 53,180,191, 29,176,119,205,154, 53,185, 52, 26, 13,199,142, 29,179, 18,184,185,197, 50,129,169,
+ 2,160,153, 0,104,198, 4,166, 10,220,220, 98, 79,158, 60,105,165,211,233,176,104,209,162, 92, 59, 96,111, 61,148, 11, 8, 33,
+195, 8, 33,254,132, 16,167, 67,251,118,225,242,249, 51, 85, 34,107, 38, 42,156,222, 39, 3,136,165,122, 28, 5, 10, 20,254,205,
+168,213, 12,197,244, 91,159, 7, 16,155, 94, 93,124,240,236,197,107,169,149,185,217,181,170,223,138,227,206,180,236,235,109,230,
+243,253,247,223,131,197, 98, 33, 35, 35, 3,241,241,241, 48, 51, 51,195,196,137, 19, 85,101,114,249,240, 26,185, 14,251, 3,136,
+168,228,172,200,167, 38, 77,226,187, 49, 99, 90, 92,189, 28,206, 16, 8, 4, 80, 40, 20,160,211,233,224,114,185, 48, 49, 49,129,
+177,177, 49,162,162,162,240,209,176, 17,250, 2, 19,255, 95, 3,150,254,154, 79,173,154,179, 42,214, 80,103,192, 36, 26,248,210,
+198,222,126,201,234,213,171,141, 7, 13, 26, 4, 35, 35, 35, 56, 54,243,200,117, 29,188,117, 55,157, 78,211,101, 22,201, 86,185,
+ 53,179, 23,196, 39,165, 1,160,229,107,159,174,182,175,145,235,240,119,245,116, 86,223,117,253,229,167,109,102,237,219, 87,248,
+163, 75, 36, 18,228,229,229, 33, 63, 63, 31, 18,137, 4, 74,165, 18, 0, 16, 30, 30,142,203,145, 9,178, 50,199,192,148,186,234,
+249,107,219, 95,155,218,107,158, 52, 63, 30,250, 19,195,218,218, 26,121,121,121, 40, 40, 40,128, 68, 34, 65, 89, 89, 25,244,122,
+ 61,138,139,139,113,240,240, 79,250, 34,190,255,219,234,128,144,245,113, 42, 51,140, 45, 20, 15, 28,124, 91,187,144, 25, 51,102,
+152,154,153,153,193, 96, 48,160,164,164, 4,233,233,233, 72, 77, 77, 69,100,100,164, 50, 95,162,134,210,106, 64,102,117,192,210,
+ 90, 56,255, 68,252,227, 56,107,198,173,178,183,179,203,126,247,238,157,141, 94,175,135,131,131,131, 78, 82, 92,188,137, 13, 92,
+ 55, 5,114, 0,144, 66, 96,245,206,221,187,167,143, 24, 49, 2,157, 58,117,202,200,205,203,107, 94, 91, 95, 34, 0,195, 19, 16,
+148, 58, 58,198, 61,125,250, 84,148,158,158,142, 41, 83,166, 20,190,123,243,102,121,149,191,150, 20,232,233,226,230,182,233,228,
+201,147, 86, 45, 90,180,128,183,183,119, 46, 55, 61,189,205,107, 64, 90, 71,255,172,115,108, 74, 18, 47, 53,159, 59,170,109,167,
+207, 62,251, 12, 58,157, 14,145,145,145,120,242,228, 9,222,189,123,135, 7, 15, 30, 72,204,120,188,113, 53,114, 29,214,218, 63,
+135,120, 40, 93,143, 29, 11,165, 25, 25, 25,225,240,225,195,136,142,142, 6, 0,248,250,250, 98,218,180,105,208,233,116,152, 52,
+105, 50,185,244,218, 56,165,190,254, 9,160, 45,128,111, 81, 33,242, 58, 17, 66,184, 52, 26, 45, 27,128, 19,154,230,147, 69,245,
+ 79,138,147,226,252,239,112,254,171, 80,111, 82,233,154,249,212,214,255, 0,193,111,211,124,204,202, 62,179, 47,132,217,163,167,
+191, 87, 72,112, 16,221,207,207, 15, 78, 78, 78,240,245,245, 69,122,122, 58, 71, 40, 20, 54,148, 79, 77,225, 63,120, 66,170,143,
+143,143,112,249,242,229,130,129, 3, 7,178,156,156,156, 64, 8, 65,116,116, 52,194,194,194, 52, 7, 14, 28,144,149,218, 14,147,
+136,111,255,172,104, 76, 62,181, 39, 64, 41,128,117,142,217,217,251,231,205,157, 27,212,190, 67,135, 25,193,193,193,116,190,137,
+ 49,107,227,170,153, 92, 0, 88,255,221, 41,193,136,192,137,216,233, 14,244,154, 80,123, 30,185,154,245, 76,207,156,245,110,232,
+168,126,238, 95,206,159,174, 31, 59,118, 44,207,204,204, 12, 78, 78, 78, 48, 55, 55, 71, 74, 74, 10, 50, 51, 51,201,197,139, 23,
+ 21,143,158, 39,178,206, 93,127,246,142, 43,176,107, 76, 94, 66,185,255,160,143,223, 14, 29, 58,212,124,234,212,169,166, 29, 59,
+118,100,113, 56, 28,112, 56, 28,228,229,229, 33, 57, 57, 89,115,241,226, 69, 69,169,205,144, 18,241,237,147,242, 70,230, 58, 44,
+243, 31, 31,146,124,239, 70,240,162,184,151, 47, 39, 27,128,118, 26,141,198, 65,175,215,211,232,116,122,142,193, 96,120,169,145,
+203, 15,169,124,131,119, 80,185, 14, 27, 7,189, 94,111,164,215,235, 33,145, 72,112,227,198, 13,230,155, 55,111, 86,191,120,241,
+ 98,117,118,118, 54,180, 90, 45,198,140, 25, 3, 95, 95, 95,220,190,125, 27, 5,121,121, 23,235,227,122, 13, 72, 57,153,153,211,
+102,205,154,117, 37, 52, 52,148,254,226,197, 11,171,195,135, 15, 31,172, 77,192, 76,158, 60,217,144,151,158, 62, 77, 5, 72,235,
+233,159,245,141,205,194,171, 39,247,188, 24, 57, 58,176,117,240,218,213,172,110,221,186,193,202,202, 10, 61,123,246,132, 70,163,
+ 17,182,106,213,170,161,177, 41,247, 31, 60, 46,165, 93,187,118,188, 29, 59,118,136,166, 79,159,142,249,243,231, 3, 0,202,202,
+202,112,253,250,117, 44, 90,180, 40, 55,157,217, 89,217, 80,255,172,180, 84, 85, 9,176,187, 0,252, 1,164,128,114,124,167, 64,
+129,194,191, 19, 85, 73,165,237, 80,145, 88,250, 18, 42, 94,206, 27,206,117,120,239, 73, 44,106,166,249,168,128, 93,188,206,121,
+234,155, 57, 75, 54,121, 51,180, 50,115, 22,173,220, 44, 41, 49,145,214, 80,206,195,234,124,106, 2, 15,133,101,234, 9,191,141,
+235,215, 47,220,185,115,103,191,170, 16, 14, 38, 38, 38, 47,203,148,202,155,214, 42,213,174, 82,129,199,205,166,230,230,203, 4,
+242, 0,204, 53, 23,139,119, 7,140, 24,179,133,107,225,202, 90,185,225, 64, 57,131, 78, 87, 39,103, 23, 96,167, 59,192,107,196,
+ 2,201, 82, 53, 16, 39,177,211,229, 89, 6,190, 94,243,213, 87, 95,174, 95,183,206,143,207,231,247,210,232,116, 30, 6,131, 1,
+ 48, 24,146, 74,149,202,187, 68,163,121,170,242, 93,187,141, 43,176, 35,141,206, 75, 40,108, 37,183,120,123,198,239,200,161, 67,
+ 11, 78,159, 62,253,187,182, 91,170, 84,187, 75,133,173, 34, 26,211,246,154,101,202,129,135,200,207,127, 88,159,233,146,202,117,
+216, 56, 48, 13,134,217,230,230,230, 71,251,245,235,199,237,223,191, 63, 62,250,232, 35,116,235,214, 13, 6,131, 1,132, 16,200,
+229,114,156, 58,117, 10, 91,182,108, 73,106, 14,172,107,136, 79, 5,220,228, 92,190, 60,164, 93,187,118,135,235, 19, 48,149, 34,
+171, 65,159,196,250,199, 38, 39, 73, 39, 24,158, 54,126,222, 70,119,181, 44, 71,104,105,162, 19,197,197,190,164, 55,126,108,122,
+202,245,209,167, 58,143, 25, 53,106, 30,131,201,236, 89,185, 2,146,188,138,143, 23, 87, 37,149,134,239,180, 27, 77,236, 75, 85,
+177,235, 40,199,119, 10, 20, 40,252,219,133,214, 71,168,240,215,170, 78,201, 83,103,174,195, 42,171, 15,147,201,204, 79, 57, 55,
+103, 98,125,236, 44,160, 95,165, 37, 11, 13,230, 58,172,252, 59, 13,144, 67,165,250,250, 55,193, 72,107,172, 46,100,189, 87,190,
+ 41, 97, 17, 75,128,215,208,169, 2,144, 31, 15, 92,152, 91,193,231,183,126, 89,205, 54,213,249,144,253,205,113,141,138,203,129,
+123, 80, 40,238, 65,161,168,213,105,151,197, 52, 42,110,168,158,239,183, 61, 29,144,253,209,182,191,207,217,160,120,248, 3,231,
+243,191,134,172,194,194,115, 0,248,142,225,225,182, 87,195,195,199,126,185,120,241, 24, 59,123,123, 55, 43, 43, 43,115, 83, 83,
+ 83,250,227,199,143, 83,117,229,229,187,219, 3, 71, 42,173,169, 13, 66, 5,220,244, 76, 79,111,243,241,168, 81,243,104, 76,102,
+143,154, 2,134,232,116, 15, 92,129,189,245, 89,178, 62,116,108, 58,113,236,250, 85, 90,178,192, 0,102, 53,166,111,100, 86,212,
+ 99, 3,116,186, 13,136,137,169,165,207, 55,185, 47,173,167,209,104,114, 80,142,239, 20, 40, 80,248,247,162, 42,223,225,165,255,
+235, 3,247,167, 56, 41,206,127, 17, 39, 3, 21,171,232,168,243, 73,113, 82,156, 20, 39,197, 73,161, 94, 84,229, 58,100, 82,167,
+130, 2,133, 70, 67,143, 95,167,193, 40, 80,160, 64,129, 2,133, 42, 84,249,102,213,196,126,160,194,117,167, 46, 85,218,148,213,
+ 4, 31,162,108, 35, 40, 78,138,147,226,164, 56, 41, 78,138,147,226,252,207,113, 54,196,253, 79, 92,205, 88,229,147, 85,237,155,
+213,216,236, 54,127, 20,148, 89,149,226,164, 56, 41, 78,138,147,226,164, 56, 41,206,127, 59,236, 42, 69, 86,245, 86, 53,117, 72,
+167,206, 13, 5, 10, 20, 40, 0,193,193,160, 19, 2, 26, 33,193,116, 66, 78, 51, 8, 9,100, 16,130, 63,148, 10, 36, 48,176,246,
+ 96,182,159, 79, 52, 55,165,206, 56, 5, 10,255, 42,228,160,142,164,210,148,143,214,255, 95, 56,139, 68,162,125, 0,104,185,185,
+185,179, 1,164, 83,167,228,239, 7, 11, 11,139,126, 58,157, 14, 50,153,236,230,191,177,125,173,221, 48,138,208,209,170,250, 11,
+130,244, 87,201, 56, 90, 91,217, 86,238,152, 2,218,175,177,184,104, 6,188,138,127,131, 95,154,112, 56,250,144,254, 78,123, 1,
+224, 74, 68,198, 60,252, 53,113,181, 90, 90, 91, 91, 95, 99, 50,153, 76,189, 94, 63, 55, 63, 63, 63,188,110, 33, 20,200, 0, 0,
+ 22,185,189, 66,146,107,179,252,139, 79,105,172, 82,213, 33,137,170, 76, 41,101,176, 24,111, 57, 44,209,253, 57,211,233, 87, 74,
+ 20, 93,227,107,219,255,204,153, 51,117,102,241,110,227,142, 33,116,125,235, 97,190,109, 83, 83,190,221,229,183,179,151,171, 21,
+ 43, 53,227, 57,127,243,143,210,125,108,161,203,176, 41, 99,105,225, 76, 19,218,228, 67,135,138, 20,212, 40,107, 60, 54, 2, 22,
+ 26,192,155,197,225, 56,233,117, 58, 91, 26, 64, 24, 76,102,158, 86,165,202, 48, 2, 98, 86, 0,146,127, 59,167, 17,135,227,168,
+215,233,108, 1,224,239, 88, 79, 10,191, 69,157, 66,139,207,231, 71,209,233,116,199,154,201,112,171,242, 9, 86,125, 87,243, 55,
+ 26,141, 6,189, 94,159, 89, 82, 82,210,177, 9,199, 55, 3, 48, 22, 64,213, 18,245,227, 0, 78,225,195, 29,142,205,140,140,140,
+150,240,120,188,190,101,101,101,109, 0,192,216,216, 56, 78,169, 84,222,210,104, 52,223,126, 32, 47, 19,192,199,124, 62,191, 15,
+157, 78,239, 67, 8,161, 17, 66,110, 43, 20,138, 91, 0, 78, 3,248,144, 72, 9,198, 54, 54, 54, 27, 44, 44, 44, 38,172, 88,177,
+162,200,210,210,210,115,209,162, 69,207,138,139,139,127, 46, 44, 44, 92,133, 38,228,168,251,139,225, 38, 18,137,142,179, 88, 44,
+ 70, 70, 70, 70, 31, 0,112,114,114,186,173, 86,171,245,249,249,249, 19, 1,188,105, 34, 31, 15, 64, 23, 62,159,223,145,207,231,
+251,235,245,250, 86,149,249, 25, 95, 41, 20,138, 72,141, 70, 19, 5,224, 49, 0,229,223,104,140,152, 50,153,204,208,202,190,238,
+ 1, 64,254,111,187, 9, 16, 58, 90,197,199, 37,120, 86, 11,175, 54, 94,117, 23,166,193,185,150,178,141, 22, 90,125,123,217, 13,
+ 27, 62,124, 0, 29, 0,212,218, 43,195,110,221,205, 57,255, 39, 55,167,229,232,209,163, 31,134,134,134,154,171, 84, 42,204,158,
+ 61,251,120, 68, 68,196, 94,153, 76,182,162,222, 27, 7,223,124,209,214, 29,215, 77,104, 52, 58, 0,216, 24, 12,122,155,172,172,
+ 55, 30,241,177, 15, 7,199,197, 61,218, 88,150,112,235,177,129,198,154,163, 65,207,132,198, 84,162,149, 43, 2,134,141, 25,245,
+209,186,117,193,152, 48,110, 66,179,184,184,114, 99, 7,179, 20,118,113, 25,207,221,210,218,102,248,186,245,103,104,247,239,157,
+ 27, 30,122, 56,228,214,244,233,150,125, 41,177,213, 40,208,214, 51,153, 93, 4,238,238,254,227,206,157, 3,223,201,137,201,228,
+112,232, 0,160, 83,169,156, 20, 25, 25,118, 39,135, 15,239, 28,156,152,120, 39, 24,120, 66,113,254,127,225,164,208, 20,161, 69,
+167,211, 29,179,178,178,108,120, 60, 94,197,205,152, 16,232,245,122,232,245,250,234,228,197,132,144,234, 79,157, 78, 7, 47, 47,
+175, 70,189,209, 2,232, 11,224,147,222,189,123, 7,126,251,237,183, 44,111,111,239,170,148, 33, 61, 87,174, 92,249, 93,116,116,
+244, 89, 0, 71, 80, 17,188,177,177,111,188,131,120, 60,222,177,173, 91,183,154, 13, 24, 48,128,105,111,111, 15, 26,141,134,220,
+220,220, 46, 17, 17, 17, 29, 23, 45, 90, 52, 87,169, 84, 78, 2,112,173, 9,231,167,173,169,169,233,153, 81,163, 70, 57,246,234,
+213,139,219,186,117,107,232,245,122, 60,127,254,124,122, 84, 84,212,248,179,103,207, 6,201,229,242, 64, 52, 62, 95, 27,141,207,
+231, 79, 53, 51, 51,219,176,118,237, 90,139, 73,147, 38,177, 99, 99, 99, 75, 92, 93, 93,105,247,239,223,183, 62,117,234,212,220,
+ 77,155, 54,125, 44,147,201, 86, 41, 20,138,159,208,136, 28,138,166,166,166, 81,116, 58,221,177, 49, 66, 24, 64, 83,196,112,251,
+230,205,155,159,186,119,239, 94,243,180,180, 52,253,200,145, 35,143, 2,192,173, 91,183,188,181, 90, 45,109,224,192,129, 87, 50,
+ 51, 51,199, 2,120,222,200,182,251, 88, 88, 88,156,159, 48, 97,130,133,155,155,155, 73,243,230,205,105, 60, 30, 15, 12, 6, 3,
+ 82,169,212, 62, 54, 54,182,255,147, 39, 79,202, 34, 34, 34,138, 85, 42,213,112, 0, 49, 77,184, 78,221,108,108,108, 38,179, 88,
+172,182, 58,157,206, 1, 0,152, 76,102,150, 86,171,141,205,207,207, 15, 5,240,240, 67, 7,136,173,173,237,158, 13, 27, 54, 88,
+229,231,231,147, 77,155, 54,237,145,203,229, 83,255,173, 55,131,227, 63,159, 70,212,179, 39, 64, 69,218, 28, 90, 45,253,143, 6,
+192,232,139, 47, 22,163, 99,167,206,152, 56,225,227, 6, 57,135,246,115,220,202, 98, 27, 89,150,151,151, 63,148,150,170, 78,243,
+ 76,184, 99, 39,140, 15, 72, 2,128, 43, 87,239,140,245,243, 51,191, 45, 48,225,124,204,229,114,187,105,213,154,162,203, 55, 51,
+191,106,138,168,114,112,112,184,102,110,110,110, 82, 92, 92,156, 91, 80, 80,240,195,176, 97,195,214, 31, 57,114,196, 60, 53, 53,
+ 21, 25, 25, 25, 88,184,112, 33, 63, 51, 51,115, 94, 76, 76,204, 35,181, 90, 93,167,101, 75, 46, 47,222,181,114,249,136,181, 2,
+129, 21,131,103, 98, 6, 83,129, 5, 92,221,218,161, 75,183, 97, 24,242,209, 12, 36, 39, 69,119, 57,114,120, 93,116, 86, 86,196,
+ 55,124,139, 22,235, 37,146,230,117,222,151, 90,183, 68,175,225,163, 42, 68,214,218,181,193, 72, 76, 72,144,167,189,165,127,126,
+233, 28,211,100, 72, 63, 47,142, 78,157,155,118,255,222,185,230, 61,122,142, 4,128,142,161,135, 67,110,125, 62,209,188,223,158,
+227, 37,114,234,145, 84,247,189,115, 29,139, 53,117,208,142, 29, 54,190,115,231, 26, 41,222,190,213,164,252,248, 99,105, 94,100,
+164,158,201,225, 16,167,193,131,105,214,125,250,112,231,190,122,101,244, 96,211, 38,127, 86, 72,136,235, 42,141,230, 24,197,249,
+127,202,249, 95, 71,149, 19,124,205,213,135,251,235, 21, 90, 52, 26, 13, 60, 30, 15, 39, 79,158, 4,139,197, 2,147,201, 4,139,
+197,170,243,111,103,103,231,198, 84,100,180, 72, 36,250,110,239,222,189,182,131, 6, 13, 2,151,203,173,254,129,193, 96, 96,192,
+128, 1,232,223,191, 63, 43, 59, 59,123,252,201,147, 39,199,111,220,184, 49, 79, 34,145,204, 71,101, 98,232,122,208,199,211,211,
+ 51,236,250,245,235,198,229,229,229,136,140,140, 68, 73, 73, 9,216,108, 54, 28, 29, 29, 49,112,224, 64,102, 66, 66,130,197,128,
+ 1, 3,194, 18, 19, 19, 3, 0,220,110, 68, 93, 59,218,216,216,220, 61,125,250, 52,183, 93,187,118,180,228,228,100,248,250,250,
+ 2, 0,164, 82, 41, 70,142, 28,201,157, 52,105,146,219,248,241,227, 31,231,231,231,247, 2, 16,213, 0, 95, 7,145, 72,244,211,
+168, 81,163,236, 55,110,220,104,102,106,106,138,180,180,180, 28,145, 72,228, 81,117,190,199,143, 31,207, 30, 54,108,152,221,150,
+ 45, 91,118,157, 57,115,230,171,252,252,252,169, 0,196,245,170,214, 74, 65,108, 98, 98,130,188,188, 60, 28, 63,126, 28,243,230,
+205, 3,131,193, 64,126,126, 62, 78,157, 58,133,207, 63,255,188, 74,208, 52, 74, 12,155,152,152,244,119,119,119, 63,120,235,214,
+ 45, 71,161, 80, 8,123,123,123,250,154, 53,107,218,186,186,186, 26, 55,107,214,140,145,147,147,131,176,176, 48,215,201,147, 39,
+159, 79, 79, 79,159,174, 82,169, 26,156, 82,179,181,181, 61,116,233,210, 37,231,184,184, 56,252,248,227,143, 40, 46, 46, 6,155,
+205,134, 80, 40,132, 72, 36,130,135,135, 7,109,249,242,229, 38,195,134, 13, 51,153, 63,127,254, 33,181, 90,221,190, 17,215,168,
+157,141,141,205,190, 62,125,250,184,134,132,132, 8, 69, 34, 17,170, 94, 12,164, 82,169, 99, 90, 90, 90,151,181,107,215, 6, 70,
+ 69, 69,165,230,231,231,207, 1,240,162,137, 3,167,125,235,214,173, 3, 70,142, 28,201,200,201,201, 65,104,104,104,128, 92, 46,
+111,223, 4,113,249,143, 66,212,179, 39,152,253,217, 66,133,189,147,147,209,245,107, 7, 71,159,249,165,229, 51,161,113, 69, 66,
+106, 73, 25, 52,129,163, 18, 59, 13, 28, 52,195,104,232, 71, 35, 21,251,191,223,197,111,140,208, 98,177,141, 44,143, 31,219,158,
+126,239,126, 84,219, 27, 17, 79, 6,143, 30, 62,156, 24, 25, 9, 93, 1,224,171, 69, 95,176,194, 46, 92, 56, 60,160,127,231,236,
+158, 61, 58,166, 79,156,180,216,185, 9,213,109,217,178,101,203, 59,209,209,209,182, 28, 14, 7,197,197,197,150,251,247,239,223,
+222,163, 71, 15,122, 74, 74, 10, 18, 18, 18,240,246,237, 91, 72,165, 82, 12, 24, 48,128, 47, 22,139,127, 0, 80,167,208,210,208,
+251,110,176,111,166,221,109,105,204,107,174,209,203,108,136, 54,167,245,141, 75, 55,124, 78,132,150,249,218,218,121,121,124, 50,
+ 45, 8,235,214,159,101,253,124,124,243,218,155, 17, 39, 0,122,243,186, 51, 2, 16,116, 91,185,106, 5,100,114, 21, 38, 77,152,
+133,201, 19,102, 89, 18,168,237,136,190,156,167, 46, 43, 17,154, 26,189, 10,223,123, 96,251, 40, 0,142, 53,196,214, 77, 74,108,
+213,141,117, 76,102,231,128,239,190,179,110, 59,115, 38,231, 69, 72,136,178, 48, 50,178,204,125,232,208, 18,223, 79, 63, 85, 1,
+128,252,237, 91,163,196,160, 32, 19,107,127,127,227,174, 75,150,152,235,213,106,209,186,117,235,252,214, 86, 36, 47,111, 18,167,
+243,216,177,250,181,135, 15,119,138, 92,188,184, 55, 77,171,101, 12,238,218,245,249,166,208,208,172, 63,194,249,103,214, 51,251,
+238, 93, 85,177,171, 43,124, 71,142, 44,114,182,177, 81,253,153,109,255, 35,245,164, 80,141, 42, 95,173,217, 53,223, 80, 17, 30,
+ 30,222, 11,192, 29, 0, 33, 1, 1, 1,193, 0, 32, 16, 8,242, 36, 18,137, 77, 88, 88, 88,131, 34,139,197, 98,193,206,206, 14,
+ 30, 30, 30,249,249,249,249,182,245, 84, 32,195, 96, 48, 56, 18, 66,170,173, 47,117, 65,165, 82, 33, 41, 41, 9, 62, 62, 62,153,
+168, 72, 68, 91,167, 81,199,196,196, 36, 37, 33, 33,193, 42, 62, 62, 30, 81, 81, 81,112,117,117,133,185,185, 57, 88, 44, 22,180,
+ 90, 45,100, 50, 25, 60, 61, 61,193,225,112,208,161, 67,135, 66,165, 82,233,218,192, 20, 16,135,199,227, 37,221,189,123,215,201,
+215,215, 23, 79,159, 62,133,147,147, 19, 68, 34, 17, 0,224,237,219,183,184,127,255, 62,134, 14, 29,138,232,232,104,140, 25, 51,
+ 38, 67,169, 84,122, 0, 80,213, 69,104, 97, 97,145,115,235,214,173, 76,111,111,239,114,165, 82, 73,207,203,203, 99, 69, 70, 70,
+234,228,114, 57, 95, 42,149,178, 36, 18, 9, 75, 38,147, 49,149, 74, 37,139, 78,167, 27,149,149,149,177,110,222,188,201,208,104,
+ 52,245, 6,200,172,186, 78, 23, 46, 92,128,183,183, 55,194,194,194,240,229,151, 95,226,193,131, 7,112,114,114,194,233,211,167,
+177,100,201, 18,188,126,253, 26, 86, 86, 86,104,221,186,117, 67,215, 8,110,110,110,201, 47, 95,190,116, 51, 50, 50,170,202,235,
+ 88,149, 47, 15, 5, 5, 5,120,243,230, 13,178,178,178,224,238,238,142, 9, 19, 38,188,201,202,202,114,111,168,231, 57, 56, 56,
+ 20,196,197,197, 89,249,248,248, 32, 47, 47, 15, 66,161, 16, 2,129, 0, 66,161,176,250,111, 87, 87, 87, 44, 94,188, 24, 34,145,
+ 40,191,188,188,220,182, 33, 17, 79, 8, 2,211, 0, 0, 32, 0, 73, 68, 65, 84,228,237,237,125,237,230,205,155, 86,102,102,102,
+200,205,253,127,236, 93,119, 92, 20, 87,219, 61,179,189,209, 97,151, 38, 88,136,116,108, 65,141, 45,246, 10, 70, 99, 73, 51,209,
+196,110,140, 61, 70,163, 81, 99,138, 61,182,104,108,177, 98, 98, 98, 15, 86, 84,196,110, 20, 80,233, 32,210,148,133, 93,218, 46,
+108,223,217,153,239, 15, 89, 94, 36,192, 46, 70,243,189,241,221,243,251, 45,187, 59,220, 57,123,239,204,157, 59,103,158,251,220,
+231, 41,130, 82,169, 4,139,197,130, 80, 40,132,155,155, 91,141,144,207,204,204, 68, 68, 68, 68, 73,118,118,246,192, 38,136, 36,
+134,187,187,123,218,253,251,247,253,105,154, 70,126,126, 62,210,211,211, 49,109,218,180, 76,173, 86, 27,132, 87, 40,103, 95, 45,
+191, 43,206,216,143, 39,113,222, 30,214, 85,159,154, 28, 77,240,168,116,180, 15,115, 80, 0, 64, 98,146,210, 81,199, 8, 68,112,
+104, 36,125,236,196, 13,238,190,189, 59,216,160,224, 14, 2,233,169,153,248,166, 33,238, 1,189, 61, 39,204,154,245, 73, 88,175,
+238, 61, 25,149, 42,149,228,167,159,214,191,158,157,157, 42, 1, 0, 63,191, 96,217,212,169,179,227,237, 69, 34,217,229,107,113,
+212,134, 13,187,147,206,199, 74,119, 89, 81,101, 63,127,127,255,155, 39, 79,158,116,147, 72, 36,112,116,116,132, 74,165,130,193,
+ 96, 64, 74, 74,138,246,208,161, 67, 70, 7, 7, 7,251,162,162, 34, 84, 84, 84,128, 32, 8,156, 60,121, 50, 31, 64,243,186, 68,
+102, 31, 45, 0,152, 54, 56,152, 29,210,199,223,153,195, 35, 5, 2,118,134, 39, 8, 19,143,160,237,220,207,156, 75,108,123, 38,
+230,207, 15,222, 30, 49, 87,220,163,231,219, 88,178,120,148,177,176, 48,191,131, 1, 61,210,234,243,209, 10,106,141, 62,195, 71,
+190, 61,122,249,242,101, 88,182,228,107, 68,159, 60,174,176, 19, 49,116, 14, 78,108,199, 55,223,232,166,157,243,233,176,130,170,
+170, 66,159,229,171, 15,189, 31, 49,108, 78,179,238, 61,134,227,218,213,227, 56,176,231,235,187,132,128,182, 77, 35,214,193, 50,
+192,217,201,207,111,242,140,204, 76,206,189,101,203,170,200,194,194,242,240,217,179, 75,234, 43,251, 56, 38, 70,196,245,242,114,
+112,126,235, 45,151,141,205,155,211, 70,153,108,123,125, 62, 70,245,113, 94,176,179,115,250,245,204,153,190, 52,155,221,115,254,
+ 23, 95, 8, 34, 35, 35,161, 84, 42,113,228,200, 17,108,223,182, 77,231,233,233,249,192, 43, 41, 41, 33, 76,169, 92,108, 45,103,
+248,236,217, 37, 38,147,137, 24, 61,111, 94,255,228,156,156, 62, 69, 50, 89, 11, 0,240,116,113, 41, 8,247,243,187,187, 59, 58,
+ 58,125,115,203,150,148,181,245,220,121,246,172,251,225,220,220, 9, 46, 46, 46,130, 98,153,140,197,227,114, 75,223, 8, 9,249,
+125,235,162, 69,151,201,251,247, 57,252,102,205, 28, 28, 35, 35,155,220,246,240,217,179, 75,202, 42, 43, 89, 51,190,253,182, 91,
+ 94,113,113,139, 42,157,174,117, 69,101,165,135,201,104,100, 56, 8,133,165,173, 2, 3,101,154, 43, 87,164,173,212,234,153,187,
+ 0,217,203, 58,215,245,105,145,127, 17,234,198,209, 58, 69,211,244, 51,185, 14, 47, 71, 70, 70,254,101,117, 13, 77,211, 86, 89,
+179,216,108,246, 51,211, 84,141,128, 67, 16, 4,226,227,227,225,234,234, 10, 15, 15, 15,240,120,207, 38, 31,148,203,229,184,126,
+253, 58, 82, 83, 83,209,174, 93, 59,243, 52, 70,195,138,136,199,155,181,122,245,106, 39,189, 94,143,187,119,239, 34, 60, 60, 28,
+ 60, 30, 15, 28, 14,231, 25, 17, 40,147,201, 16, 26, 26,138,249,243,231, 59,126,255,253,247,179,116, 58, 93,131, 79,164, 44, 22,
+107,250,196,137, 19, 37,102, 11, 86, 65, 65, 1, 94,127,253,245,154,255,139,197, 98, 36, 38, 38, 34, 60, 60, 28,205,154, 53,195,
+168, 81,163, 36, 7, 14, 28,152, 78,146,228,218,134, 56,185, 92, 46,163, 77,155, 54, 29, 1, 64, 36, 18,129,193, 96,100, 56, 56,
+ 56,136,221,221,221, 69, 14, 14, 14,127,105,227,158, 61,123, 42, 24, 12,134,209,162, 26, 96, 48, 80, 84, 84,132,176,176, 48, 40,
+ 20, 79, 51,184,168, 84, 42,180,110,221, 26, 74,165,178, 70,180,122,121,121, 65,163,105,220,245,171,109,219,182,203,130,130,130,
+ 6,136, 68, 34, 30,155,205,198,189,123,247,208,161, 67, 7, 28, 58,116, 8,190,190,190, 16, 10,133,200,204,204, 68,155, 54,109,
+ 16, 23, 23, 7,177, 88,140,208,208, 80,158, 68, 34,185, 90, 86, 86, 22,155,151,151,183,172,145,122, 50,236,236,236, 16, 23, 23,
+135,221,187,119, 35, 39, 39, 7,133,133,133,176,183,183, 71,251,246,237, 17, 18, 18,130,174, 93,187, 34, 51, 51, 19,132,229,206,
+228,225,239,239, 31,253,231,159,127,186,209, 52,141, 3, 7, 14,160,170,170, 10,122,189, 30, 12, 6, 3,124, 62, 31,206,206,206,
+232,211,167, 15,196, 98, 49,252,253,253,241,219,111,191,185, 13, 30, 60,248,180, 76, 38,107, 15,160,200,210,113,117,118,118,158,
+185,116,233, 82, 31,137, 68,130,220,220, 92, 40, 20, 10,184,187,187,163, 87,175, 94,222, 23, 46, 92,152,105, 52, 26,215,191, 42,
+ 55,178, 90,142,239,196,249,115, 63,143,240,111, 85,222,166, 93,160,208,231,104,180,187,207,161,104, 89, 40, 0,132, 5,187, 39,
+143,136, 20, 22,220, 75,142, 46, 56,127,238,248,221,212, 12, 28,133, 21, 83,219, 10,181,238,247,152, 11,183, 7,117,104,247, 58,
+181,122,213,188,136, 79,167, 77,224, 73,220,199,163, 56,255, 56, 46, 92,138,247,157, 55,119,162,120,237,186,157,103, 98, 46,220,
+102, 40,212,186,197,214,153,178,124, 55,239,221,218,213,173,178,228, 48,178,210,184, 16,216,135,193,207, 47, 0, 74,165, 18,124,
+ 62,159,255,254,251,239,155, 22, 46, 92,168,118,112,112, 16, 18, 4,129,216,216, 88, 25,128,129,150,120,181, 18,103,218,100, 48,
+146, 52,151, 73,209,132,189,134, 48,149,113,147, 82, 30, 97, 64,191,222,197,221, 59,135,125,191,112,249,186, 47,253, 3, 58,136,
+ 63,153,240, 53,251,219,101, 31,108, 3,129, 30,245,241,164,101,225, 18,241,251, 49, 1,128,136,229,223, 44, 67,118,118,166,243,
+164,113, 21, 95,179,120, 2,175,160,230,221,236,183,237,142, 29,212,186,117,203, 22,115,166,143, 58,245,195,143, 63, 68,212,182,
+108,237,221,179,244, 4,128,190,214, 28,219,255, 33,180,253, 48, 58, 26, 85,249,249,198,178,171, 87,181,125,127,252,177,196,103,
+224,192,245,122,131,193,205, 60, 84, 48, 8, 2,132,217,117,130,162, 8,214,252,249, 12,154,197,130,209,217,121, 28,202,203, 3,
+ 44,113,206,149, 74, 71,124, 48, 97, 66,196,137,179,103,209,178,101,203,154,251,153,147,147, 19,230,205,155,135,217,179,103,243,
+ 18, 19, 19, 59, 29, 62,124,184,211,218, 53,107,220, 1,140,176,166,158,231,111,221,114,158,178,124,249,162,118,225,225,190,251,
+ 15, 30,228,189,246,218,107, 0,128,135, 15, 31,250,175, 90,185,178,121, 88,155, 54,197,223,207,154,181, 55,121,225,194, 80, 0,
+ 87, 27,227, 44,186,114, 69,127, 56, 55,119,194,165,216, 88,167,176,176, 48, 0, 64,122,122,186,100,227,198,141, 19, 67, 71,141,
+ 26,179,124,234,212,197,145, 90,109,133,131, 92,206,139,220,188,153,245,235,232,209, 22, 57,205,245, 4,128, 94,159,124, 50,171,
+ 71,239,222, 33, 35, 38, 76,112,241,245,245, 37,236,236,236, 96, 48, 24, 80, 88, 88,232,156,156,156,252, 90,116,101,165,242,216,
+173, 91, 7, 96, 50,245,127,137,231,186, 94, 45,242, 47,179,100,253, 85, 83, 84,191,247,138,142,142,166, 1,244,138,140,140,140,
+ 51,223,192, 77, 38,147, 85, 34,139,197, 98,129, 32, 8,107,197, 22,104,154, 70, 73, 73, 9, 74, 74, 74,106,166,142,100, 50, 25,
+ 46, 93,186,132,204,204, 76,176,217,108,112, 56, 28, 24, 12,150,115,208,138, 68,162,126,253,250,245, 99,221,186,117, 11,126,126,
+126, 16, 8, 4, 53,245, 50,191, 56, 28, 14, 60, 61, 61,161, 84, 42,209,183,111, 95,246,166, 77,155,250, 53, 38,180, 28, 29, 29,
+135,188,243,206, 59, 92,243,247,170,170, 42, 48,153,204, 26,209, 82, 85, 85,133,178,178, 50, 84, 84, 84, 64,171,213,162, 75,151,
+ 46,220,232,232,232, 33,165,165,165,107,173,105,191, 90,173,174,146,201,100, 78, 61,122,244,112,222,187,119,111,122,151, 46, 93,
+ 2,159,233,105,151, 47,107,181, 90, 45,155,193, 96, 88,149, 71, 47, 42, 42,170,230,216, 63,121,242, 4,219,182,109,171,249, 95,
+102,102, 38, 54,109,218, 84,147, 10,160,177,115, 20, 20, 20, 52,248,192,129, 3,225,251,247,239, 47,103, 50,153, 72, 79, 79,199,
+193,131, 7, 65,211, 52,196, 98, 49,212,106, 53,138,139,139, 17, 27, 27, 11,146, 36, 97,103,103, 7,111,111,111,254,244,233,211,
+187,127,253,245,215,236,198,132,150,201,100, 50, 49,153, 76, 52,111,222, 28, 75,150, 44,129, 86,171, 5,135,243, 84, 95, 42,149,
+ 74, 84, 84, 84, 32, 33, 33, 1,185,185,185,160, 45, 68,121,227,243,249,163,246,239,223, 47,225,114,185,208,104, 52,168,172,172,
+ 68, 65, 65, 1,242,242,242,180, 50,153,140,180,183,183,103, 52,111,222,156,193,227,241,120,195,135, 15, 39,204,130, 51, 50, 50,
+210,245,192,129, 3,239,234,245,122, 75, 34, 73,236,225,225,241,229,196,137, 19,249,181,251,108, 81, 81, 17, 70,140, 24, 33,188,
+113,227,198, 66,165, 82,121, 16,128,252, 21,187,161,209,135,143, 5,220,185,123, 33,189,205,209,104,119,159,188,199,166,110,243,
+ 62, 95,199, 2,128, 29,219, 87,116, 59, 26,253,228,122, 80,203,226,130,195,199, 2,238, 56, 59,167, 90, 18, 2,140, 62, 61, 61,
+135,138,132,252,119, 70,188,245, 22,253,211, 79,235, 95,255,116,218, 4, 94,243,128,121, 79, 45,156,108, 9,250,146,223, 16,106,
+205, 67,254, 79, 63,173,127,125,196, 91, 35, 19,114,114,114,183,247,233,201,251,237, 82,156,244,143,198, 44,134, 18, 87,190,183,
+144,167,130,183, 95, 8, 2,131, 69, 72,188,151,142, 35,191,223, 68,112,232, 27,208,233,116, 32, 73, 82, 52,116,232, 80,245,161,
+ 67,135,180, 25, 25, 25,149, 26,141,166, 39,128, 12, 75,141,127,252, 56,133, 10,244,120,195,192, 17,240,200, 74, 5, 71,189, 96,
+241,225,209,175,119, 30, 16,238,236,233,205, 22,139,168, 63, 6,247,239,116,112,247,174, 37,179, 23, 47, 61,136,142,157, 6,116,
+ 73, 77,191, 26, 2,224, 65,189,226, 53, 27,209,140, 35,199,200,236,172,172,136,188,220,220,199, 1,238, 30,250,135, 21,180,113,
+230,130,157,253,123,244, 28,213,246,181,224, 55,185,169, 41,113,196,146,249,239,254,178,124,245, 15,239,155,197,214,197,152, 95,
+122,142, 27,119,147,187,119,111,195,214,241,255, 53,112,120,188,102,118,205,155,179,114,246,238,213,248, 13, 29, 90, 14, 0,122,
+131,193, 45, 39, 55,215, 81, 40, 20,130,166,105, 24,141,198,103,124,136,205,126,195, 97,129,129,238,214,112,230,124,245, 85,219,
+249,243,231,163,168,168, 8, 36, 73,130,205,102,215, 29,179,161, 82,169, 48,110,220, 56,108, 94,179,230, 13,107, 56, 77, 38, 19,
+ 49,101,249,242, 69, 95, 44, 90,244,218,228,201,147, 25,181,199, 94, 23, 23, 23, 28, 62,114,132,187,101,203,150,102, 95,110,222,
+ 60,238, 3, 30, 47, 27, 58, 93,163,156, 37,173, 91,195,165,184, 88, 96, 22, 89, 0, 16, 24, 24,136,109,219,182,241,198,143, 31,
+207, 29, 58,116,232,186,196,118,237, 54,174,239,222, 61,203, 53, 32,192,129,203,227, 53,179,196,105, 62,158, 0, 80,169,213,134,
+173,223,184,209,249,246,237,219, 40, 46, 46, 70, 81,209,211,231, 81,130, 32,208,177, 99, 71,226,195, 15, 63,116,108,229,227,211,
+ 9, 38,211,203, 60,221,127,209, 34,255, 34, 76,170,103,219,127,124,180,170, 27, 68, 84, 55,144,168,117,115,124, 70,176, 88, 18,
+ 90,207,131,138,138, 10, 84, 84, 84, 96,215,174, 93,224,112, 56, 53, 55, 95, 0,208,235,245,214,136,150, 54, 94, 94, 94, 80, 40,
+ 20, 8, 8, 8,120,198,146,197,225,112,192, 98,177,192,225,112,192,227,241,160,211,233,224,235,235, 11,181, 90,221,166, 49, 78,
+141, 70,211,222,197,197,165,230, 6,171,171,238,172, 58,157,174,166,190,122,189, 30,229,229,229,168,170,170, 66,101,101, 37, 84,
+ 42, 85, 7,107,218, 75, 81, 20,146,146,146, 30, 6, 6, 6,182,103, 50,153,176,179,179, 19,169, 84,170, 26,223,162,178,178, 50,
+236,219,183, 79,245,209, 71, 31,185,157, 60,121,210,162,208, 34, 8, 2,159,125,246, 25,120, 60, 30,212,106, 53,126,250,233, 39,
+204,152, 49, 3, 28, 14, 7,149,149,149,216,182,109, 27,230,204,153, 3, 22,139, 5,189, 94,143,141, 27, 55, 54,200,149,146,146,
+146,115,235,214,173, 14,175,191,254,186,243,177, 99,199,228,253,251,247, 23, 15, 28, 56, 16, 2,129, 0, 26,141, 6, 70,163, 17,
+111,188,241, 6,130,130,130, 32,147,201,112,230,204,153, 18,127,127,127,183,219,183,111, 83, 69, 69, 69,121, 22,196, 53, 93,203,
+ 98, 8,147,201,132,226,226, 98, 84, 84, 84, 64, 46,151,163,176,176, 16,143, 31, 63, 6,139,197,178, 24, 77,215,213,213,117,100,
+ 88, 88, 24, 19, 0, 4, 2, 1,218,183,111,143, 69,139, 22,145, 26,141,230, 29, 0,103,170,139, 13,222,185,115,231,177,107,215,
+174,177,188,188,188,144,150,150, 6,177, 88,204,226,243,249, 22,133,150,135,135,199,158, 63,254,248,195,197, 44,174,205,199, 89,
+173,126,122, 58, 70,140, 24,225,178,127,255,254, 61, 36, 73, 14,121,213,110,106, 78, 2,112,218,135, 57, 40, 14, 69,203, 66,231,
+125,190,142, 21, 20,246,244,225,117,210,100,176,214,174,153, 27, 58,102,152,195, 41, 39,129,146, 99,137,103,112, 63,159, 45,111,
+189,213,159,241,254,123,145,153, 28,142,147,223,246, 29, 95, 75, 36,238,227,107,201, 48, 7,184,186, 57,192,175, 57,151, 56,124,
+ 42, 85,178, 96,225, 55,186,168,253, 63,100,255,242,107,244, 32, 46, 59,102,192,153, 11, 5, 83, 27,226,206,120, 88,113, 82,173,
+227, 7, 43, 75,239, 19, 46,238,221,208,190, 93, 32, 36,226,114,236,220,115, 8, 45, 91,117,132, 78,167,131,131,131,131,208,100,
+ 50, 25,152, 76,102,148, 53, 34, 11, 0, 46, 94,172,160, 66, 67, 43,244,204, 74,138,252,116,198,218,183,251, 15,126, 43,164, 79,
+159,126,212,249,152,243,134,110, 29, 12,210,193, 3,219, 23,159,141,217,146, 41, 45,124,228, 31,218,166, 59, 82,146, 99, 7,209,
+ 52,146, 8,162,126,235, 83,114, 22,206,106,169,148,216, 67,135, 38, 81, 26, 42, 65,240,237,119, 15, 6, 71, 68,140, 13,123,179,
+199,155, 84,204,133, 75,122, 46, 74, 82, 29,186,119,125,242,233,132,193,199,126,142,218, 56,224,236,153, 61,173, 21,202,188,104,
+155,200,170,243,144, 70,146,238, 44, 30,143, 33,143,141, 37,219,140, 31,175, 51, 95,143, 66,161, 16, 39, 78,156, 0,151,203,173,
+121,113, 56,156,154,207,238,238,238, 32,170,151,145, 90,195, 9, 0, 82,169, 20, 69, 69, 69,112,116,116,132, 88, 44, 70, 81, 81,
+ 17,110,220,184,129,140,140, 12,176,217,108, 12, 26, 52, 8,140, 6,124,155,235,114,142,158, 55,175,127,112,155, 54,190,117, 69,
+ 22, 0, 24, 12, 6,148,149,149, 97,216,176, 97,140, 51,103,206,120,156,205,207,127, 11, 64, 84, 99,156, 29, 34, 34, 74,139, 15,
+ 31,174,247,183, 95,127,253,117,226,250,245,235,188, 65, 3, 7,206,158,251,221,119, 91, 54,239,223, 95, 96, 34, 73,143,166,180,
+157,193, 96, 48, 8,130,128,143,143, 15,202,202,202, 80, 85,245,116, 6,219,206,206, 14,206,206,206, 48, 26,141,160,104,154,253,
+ 50,207,117, 67, 90,228, 95,130, 29,181, 4,215,142,191, 88,180,170, 27, 5, 0,189,106,223, 88, 40,138,178, 74,100,177,217,108,
+139, 62, 87,214, 88,185,234,194, 26,161,101,174, 43,159,207,175,185,208,106, 11, 44,115, 61, 25, 12, 6,152, 76,166, 85, 33,241,
+ 41,138, 98, 86, 86, 86,226,200,145, 35,232,217,179,103,205,180,148, 66,161, 64, 69, 69, 5, 20, 10, 5,180, 90, 45,114,114,114,
+112,241,226, 69,180,110,221, 26,128,117,193, 95,179,179,179,239,182,108,217, 50,220,124, 19,239,221,187,119,179,189,123,247, 22,
+ 14, 25, 50,196,139,166,105, 44, 94,188,184,228,141, 55,222,112,171,125,147,183, 4, 38,147,137, 27, 55,110,160,117,235,214,160,
+105, 26, 28, 14, 7,233,233,233,144, 72, 36,160, 40, 10, 44, 22, 11,114,185, 28,246,246,141,199, 72, 76, 74, 74,250,248,147, 79,
+ 62, 41,116,116,116,108, 91, 90, 90, 42,229,241,120, 61,174, 92,185,226, 99, 48, 24,224,224,224, 0, 7, 7, 7,156, 62,125, 26,
+ 78, 78, 78,152, 53,107, 86,190, 70,163,185, 33, 18,137,220, 53, 26,205,253,162,162,162,197, 77, 57,223, 36, 73, 66,165, 82,161,
+188,188, 28,101,101,101, 80, 42,149,208,106,181, 22,235, 88, 31,122,244,232,129,232,232,104,230,138, 21, 43,126,206,206,206, 6,
+ 0,248,249,249, 97,214,172, 89, 76,111,111,111,228,228,228,224,238,221,187, 48, 24, 12,160,105,186,209,139,151,197, 98,245,254,
+232,163,143,186,251,250,250, 18, 6,131, 1, 20, 69, 65,167,211,193,252, 57, 63, 63, 31,193,193,193,140,230,205,155,119,201,206,
+206,238, 13,235, 22, 86,216, 0,160, 56,255, 56,188,217, 18,128,225, 0, 90,115, 28,165, 37,207, 23,197, 69, 38,147,125, 55,255,
+171,235,227, 55,175, 54,184, 63,150, 2,129, 97,195,225, 31,210, 23, 31,127, 72, 98,197,154, 35,240,109, 30,136,188,188, 60,244,
+238,221,155, 83, 88, 88,248, 73, 85, 85,213, 60,107,185, 99, 98,110,153,206,159, 62, 51,106,244,187, 99,195,251,245, 27, 66,158,
+ 59,119, 26, 73,247,207, 37,127,242,238, 72, 25, 77, 85, 17, 46, 78,130,132,244,180, 59,254,109,219,247,130,158, 52,245, 0,150,
+173, 6,150,209, 13, 95,239,208,159, 58,229,201, 56,117,124,207,135,239,143, 25,215,174,111,223, 1,198,115, 49,127,224,238,205,
+152,123,235, 86, 79,140, 91,177,241,183,222,253, 7,141, 12, 21,187,223, 56, 29, 22,160,155,224,227,234,248,112,231,222, 50, 91,
+103,169,239,218,228,243, 41, 84,143,139, 12,130, 0, 77,211,207,136,172,186, 66,139,193, 96, 88, 52, 0,212,230,172,125, 47, 50,
+ 63, 80,111,223,190, 29, 60, 30, 15, 92, 46, 23,108, 54,219,162,251, 69,109,206,228,156,156, 62,251,162,162,120,245,137,172,210,
+210, 82,148,150,150,162,170,170, 10,239,189,247, 30,231,235, 59,119, 94, 71,181,235, 71, 67,156,190,158,158, 58,145, 64, 80,156,
+146,146,226, 21, 18, 18,242, 76,125,149, 74, 37, 4, 2, 1,162, 14, 30,228, 68, 70, 68, 76,235,123,250,244, 58, 88,136,127, 85,
+ 95,219, 9,130,128, 68, 34,129,179,179, 51, 8,130, 0, 73,146, 40, 42, 42, 66,114,114, 50,238,220,185, 3, 38, 65,144, 47,243,
+ 28,215,167, 69,254,133, 86,173, 29,245, 78, 29, 54, 52, 39,218, 20,161,197,100, 50,159,219,170,213, 16,172,153, 58, 20, 10,133,
+ 15, 10, 11, 11,187,121,123,123,131, 36,201, 26,161, 85,119,234,208,108,253, 72, 76, 76,132, 80, 40,124,160,213,106, 27,229,164,
+105,186, 75,167, 78,157,112,244,232, 81,196,198,198,226,209,163, 71, 80,171,213,208,233,116,208,104, 52, 72, 78, 78, 6, 69, 81,
+ 8, 11, 11,131, 72, 36,130, 80, 40,124,160,211, 53,254, 32,170, 82,169,164,108, 54, 59, 80, 32, 16,212,108,243,244,244, 68,105,
+105, 41,101, 52, 26,177,111,223, 62,165,135,135,135, 72, 32, 16, 88, 45, 92, 9,130,128, 76, 38, 67,179,102,205,106,124,180, 42,
+ 43, 43, 33,145, 72,204,194, 2, 58,157, 14,246,246,246, 22,167, 14, 1,104,179,178,178,230,214,250,222,113,244,232,209,191, 28,
+ 58,116,168,213,133, 11, 23,112,251,246,109,136,197, 98,124,255,253,247,143,114,115,115,223, 7,112, 71, 38,123,177,126,145,214,
+244,161,210,210,210, 35, 15, 30, 60,232,210,169, 83,167,154, 81,162,119,239,222, 68,239,222,189,221,106,155,250,229,114, 57,254,
+252,243, 79, 92,184,112, 1, 4, 65, 32, 51, 51,211,164,209,104,126,105,108,150,194,219,219,123,239,162, 69,139,236, 72,146,172,
+233,219, 2,129, 0,124, 62, 31, 28, 14, 7, 76, 38, 19,185,185,185, 24, 54,108,152,227,143, 63,254,184, 71,167,211,189, 6,192,
+128, 87, 4, 21, 26, 24, 18,147,148,142, 97,193,238,201, 59,182,175,232, 54,105, 50,204, 83,135,100, 88,176, 36, 57, 49,169,216,
+ 49, 92, 98,185,189,103, 46, 20,124,170, 55,158, 25,122,230,236,229,119, 62,159, 61,139,237,231, 23, 44,187,112, 41,222,183, 47,
+249, 13,225,234,230,128,210, 18, 37,114,243,139,145,157,167,167,253,252,130,101,119,255,124,192, 91,179,126,131,191, 74,173, 53,
+ 79, 29, 54,218, 79,175,222,120, 52,124,221, 38, 94,220,216, 79, 58,114, 5, 2, 47,148,149, 60,128,175,175, 24,195, 34,219, 98,
+247,254, 27,112,116,116,129,187,187, 59, 24, 12,134,200,218,182,151,148,148, 16, 71,126,189, 58,254,163,113, 19,223, 24, 56, 32,
+130, 60,123,238, 20, 43,246,252,201, 27,123,118,124,121,140,102,170,132, 4, 93, 41,104,209,210,227,254,195,172,196,247,251,244,
+123, 15, 2,142,125,107, 32,168,222, 14, 91,179,192,128, 70,254,209, 67,203,248, 31,141,155,212,117,224,192,183,200,115,231,142,
+227,220,233,253,183,150, 46,109,113,250,209,147,131,156,155,119, 30,243,135,143,154, 90, 30,125, 38, 85, 63,114,104,203, 12, 47,
+ 81,123, 13,240,200,166,170,106, 63, 72,178, 88,197,164, 78,231,211,108,224, 64,166, 58, 47,143,109,231,238, 78, 2,128,209,104,
+180, 40,180,208,192, 20,116, 93, 78,107,235,162, 86,171, 65, 53, 16, 59,177, 46,103,145, 76,214,162,250, 33,188, 6, 70,163,177,
+ 70,100,149,150,150,162,162,162, 2, 34,145, 8,114,157,206,221, 26,206, 1,157, 59,239,251,122,217,178,121,135,143, 28,225,212,
+ 22, 89,230, 23,155,205,198,170,213,171, 57, 51, 62,255,124,234, 52, 22,107, 38, 72,210,234,227,105,126,104,103, 50,153, 96,177,
+ 88,200,203,203, 67,126,126, 62,242,242,242,144,151,151, 7,129, 64, 0,250, 37, 47, 2,250, 23,251,103,153, 69, 86,237,247, 26,
+ 43, 87,163,225, 29,154,226, 12,111,173, 48, 48, 53, 97,126,215, 26,161,165, 82,169, 46, 92,188,120,177,243,240,225,195, 89,183,
+110,221,130,135,135, 71,141,208, 50,191,155,167,163,132, 66, 33,142, 29, 59,102, 80,169, 84, 23, 44, 92, 76, 23, 79,159, 62, 29,
+190,100,201, 18,246,199, 31,127,140,148,148, 20, 76,158, 60, 25, 21, 21, 21, 80, 42,149, 40, 45, 45,133, 90,173, 70,231,206,157,
+193,231,243,113,255,254,125,163, 90,173,190,104,193, 98, 71,203,100,178, 42,177, 88,236, 89,247,127,163, 70,141,114,223,186,117,
+171, 58, 45, 45,205,216,173, 91, 55, 7,107, 5,135, 25,191,254,250,107,141,165, 46, 35, 35, 3, 91,183,110,173,241,201,138,143,
+143,199,218,181,107,107, 98,159, 53, 17,119, 74, 74, 74, 72,163,209,136,214,173, 91,195,219,219, 27, 90,173, 22, 27, 54,108, 32,
+ 1,220,249,255,234,205, 90,173,246,240,216,177, 99,191, 72, 72, 72,240,100,177, 88, 79, 77,218,213,237, 51, 24, 12,200,202,202,
+ 66,114,114, 50,210,210,210, 80, 86, 86, 86,243, 32,144,152,152, 88,110, 52, 26,127,107,136, 87, 44, 22, 47,222,189,123,183,135,
+ 80, 40,124,166, 63,155,173,161,102, 43,169, 92, 46,135,147,147, 19,250,246,237, 43,185,120,241,226, 98,157, 78,183,228, 21,185,
+167, 17,163,222,206,232, 56,227,211,225, 24, 17, 41, 44, 56, 26,253,228,250,218, 53,115,171,157,225, 37,201, 35, 34,189, 11,238,
+165, 59, 97,212,219,199, 59, 2,120,140,198, 29,182,169, 75,113,210, 19,157, 58, 57,199, 30, 61,121,114,207,194,249,179,227,231,
+205,157, 40, 86,107, 30,242,253,154,115, 9, 0,200,206,211,211,247, 83, 40,237,218,117,179,227, 87,172,254,145, 81, 92, 90, 49,
+249,207, 63, 27, 14,111, 80, 91,188, 48, 24,224,251, 5,245, 44,244, 15,232,222,242,214,141, 40,216, 9, 53, 8, 12,234,136,129,
+ 3,186, 32,246,114, 34,138,228, 90, 72,165, 82,232,116,186, 70,195, 37,164,221, 63,246, 33, 77,208,190, 4, 77,228, 19, 12,154,
+255,225,216, 9, 61, 34, 34,222,162,163,163, 79,146,199,143, 69, 93,251,237,192,166,195, 12, 14,155,165,209, 59,234, 9, 66,171,
+ 0, 35, 41,165, 74,245,244,129,134,205,227, 52,108,126,173, 14,236, 26, 18, 26,228,241,225,216,201,142, 67, 6, 15,163, 79,159,
+ 62, 78,253,118,104, 95,236,111,187,218, 68, 81, 12, 37, 71, 90,160,230, 41,148, 70, 5, 77,112,157,170,148,148,186, 56,251, 53,
+173, 87,196, 40, 3,112,216,166,174,106,223, 7,116,186,199, 85, 5, 5,158, 46, 61,123,242,178,150, 45, 19,186,119,238,172, 37,
+170,125,136, 27, 19, 90, 76, 38, 19, 96, 48, 40,107, 56,173,173,139, 70,163, 1, 5, 24,159,135,147, 36,201,103, 68,150, 89,104,
+153,175, 23,107, 56,119, 44, 93,122,203,119,224,192,178,203,151, 47,187,247,234,213,139,168,172,172, 68,101,101,229, 51, 98,203,
+203,203,139, 8, 9, 11, 19,254, 26, 27,235,103,237,241,180,166,237, 12, 6,227,165, 11,173,127, 57,118, 52,104, 61,108,108, 47,
+179, 69,203, 26,161,101,165, 69,203,104, 52, 26, 33,145, 72, 80, 82, 82,210,224,141,159,193, 96, 64, 32, 16,152,231,136, 27, 93,
+121,167,211,233, 54,204,155, 55,111,250,224,193,131,221, 2, 3, 3, 33,151,203,225,238,238, 14, 62,159, 95,227, 59,102,230,139,
+143,143,199,238,221,187,149, 58,157,110,131, 5,206,245,171, 87,175,254,116,196,136, 17, 46, 30, 30, 30,112,118,118,198,253,251,
+247,225,236,236, 12,165, 82,137,244,244,116,216,219,219,215,248,237,156, 60,121,178, 82,167,211,173,183, 32,222,232, 43, 87,174,
+ 24,236,237,237,239,203,229,114,102, 89, 89, 25,171,188,188,156,165, 84, 42,217, 10,133,130,125,246,236, 89, 55, 71, 71, 71,245,
+165, 75,151,228,190,190,190,204, 71,143, 30, 49,141, 70,163, 69,245, 74, 16, 4,102,206,156, 9, 14,135, 3,157, 78,135, 13, 27,
+ 54, 96,222,188,121, 53, 62, 89,171, 87,175,198,162, 69,139,106,132,243,206,157, 59,155,212,115,104,154,134,193, 96,128,209,104,
+132,209,104,180, 74,252,254, 29, 88, 41,216,139, 50, 51, 51, 35, 59,117,234,116,254,247,223,127,119,173,142, 73,134,226,226, 98,
+ 20, 23, 23, 67, 46,151,163,170,170, 10, 36, 73,194,219,219, 27,197,197,197, 56,126,252,184,162,178,178,114, 32, 26, 89,113,200,
+100, 50,199,246,232,209,131, 85,183, 14,230,167, 60,179,120,231,241,120, 40, 44, 44, 68,239,222,189,185,151, 47, 95, 30, 11,224,
+ 95, 45,180,106,135,119, 24, 48,112, 60, 39, 56,180,171,254, 94,114,116, 65, 80,203,226,130, 49,195, 28, 78, 1, 64, 98, 82,177,
+227,189,116, 39, 4,135, 70,210, 3, 6, 58,135, 23, 23,237,104, 3,192,208, 88,186, 30, 0,112, 20,242, 70,247,239,215,185,208,
+ 94, 36, 98,172, 93,183,243,204, 79, 63,173,127,253,240,169,255,132,119, 88,187,238,105,120,135,254,253, 58, 83,105,169,105,163,
+ 1,236,178, 86,188, 68, 70, 14, 77,216,189,119, 55,210,146, 47,121,125, 49,179, 45,183,172,216, 8,129,157, 15,194,219,187, 99,
+199,222, 7,184,119,239, 94,145, 94,175,239,221,104,255, 38,104,223,228,148,164,128, 54,161, 33, 30, 31,142,157,228, 16, 25, 57,
+ 12,209,209, 39,112, 96,223,174, 43, 35,223, 27,241,243,147,114, 37, 83,194, 22,114,132, 52,197,101,114, 28, 89, 28,158, 64,166,
+215, 63, 93, 3,193,102,243, 29,128,209,141,222,120,166, 76, 26,227,216,167,223, 48,156, 58,125, 2, 7,246,237,136,251, 42,116,
+212,174,150, 29,130,137,206,175,175,153,218,178, 85,203,230,170,170, 98, 37,131,224, 26,180, 90,202,126,205,190,220, 31,178, 23,
+141,205, 6,176, 14,182, 85,135,181,113,255,192,144, 33,157,102, 60,124,200, 17,119,239, 46, 40,140,141, 21, 86,103, 34,105, 84,
+104,177, 88, 44,208, 13, 79,117, 61,195, 73,236,223,207, 0,208,232, 34, 44, 14,135, 3,181, 90, 13, 99,195, 22,236,103, 56, 61,
+207,157, 43,120,248,240,161,191,139,139,203, 51, 34,171,172,172,172,230,179, 86,171,133, 90,173,134, 64, 32, 72,214,212, 63, 35,
+242, 12,103,241,149, 43,218,149, 51,103, 46,121,255,189,247, 54, 93,184,120,145,239,234,234, 10,133, 66,241,140,208,210,235,245,
+232,211,183, 47,103,117, 66,194,135, 80, 42,151, 90,115, 60,221,123,247,182,232, 15,204,100, 50, 65,189,228,169,195, 87, 0,147,
+234, 19, 94, 12, 75, 83, 56,214,174, 58,108,224, 6, 89, 55,187,247,162,240,240,112,109, 70, 70, 6,124,125,125,107,196, 74,237,
+223,116,112,112,128,147,147, 19,226,227,227,241,221,119,223,105, 0, 44,178,192, 89,169, 86,171,223,237,223,191,191,134,197, 98,
+ 33, 40, 40,168, 38,126, 22, 69, 81,224,114,185, 16,137, 68, 72, 72, 72,192,208,161, 67,213,106,181,250, 93,252, 53,134, 86, 93,
+ 78,133, 90,173,254, 96,192,128, 1,234,148,148, 20,244,232,209, 3,247,238,221, 67, 85, 85, 21,170,170,170,144,147,147,131,144,
+144, 16,168,213,106,108,221,186, 85,163, 86,171, 63, 0,160,104,140,179,178,178,114,232,188,121,243,152,191,252,242, 75, 75,111,
+111,239,208,142, 29, 59, 6,246,237,219,247,181,183,223,126,187,249,144, 33, 67, 60,253,253,253,181, 3, 7, 14, 20, 15, 30, 60,
+ 88,172, 86,171,217,215,175, 95,151, 26,141,198,193, 22,234, 89, 35, 78, 50, 50, 50,106,166, 10, 89, 44, 22, 74, 74, 74,106, 34,
+247,155, 7,165, 6,132,112, 63, 75, 98,219, 44,176,204,130,203, 10, 63,183,250, 56, 45,238,196,229,114,205, 22, 79,218, 10,206,
+196,212,212,212,254, 61,123,246, 76, 28, 63,126,124,101, 81, 81, 17,236,237,237,225,231,231,135,128,128, 0,184,185,185,193, 96,
+ 48,224,216,177, 99,170,227,199,143, 63, 80, 40, 20,189,241,215, 24, 90,253,234, 28,199,156,250, 6, 89,179, 53,203, 44,180,248,
+124, 62,188,189,189,205,199, 54,167, 41,199,243, 57,241,114, 57,171, 5, 76,223, 62, 3, 91, 13,137, 24,238,120,236,196, 13,238,
+166, 45,199, 31,132,247,195, 78,215, 22,202,147,174, 45,148, 39,195,251, 97,231,166, 45,199, 31, 28, 59,113,131, 59, 36, 98,184,
+ 99,223, 62, 3, 91,165, 36,167, 5,214,206,123, 88, 95, 61,249,124,126,215, 30,221,195,203, 47, 95,139,163, 86,172,254,145,209,
+167,247,200,132, 93, 63, 31, 59,182,235,231, 99,199,250,244, 30,153,176, 98,245,143,140,203,215,226,168, 30,221,195,203,249,124,
+126, 87,107,218, 62,101,210, 24,199,136, 33,195, 16, 29,125,140, 60,252,235,214,213,135,142,100,246,156, 48,253, 74,113, 70,198,
+ 61, 90,246,248, 28,216,140, 60,164,166,166, 42,170, 69, 86,134, 53,156,147, 39,142,169, 45,178,174,186,122,244,216,153,154, 10,
+ 83, 76,204, 31,198,139, 23, 19, 52, 87, 19,101,138,187, 41, 37,101,133,242,178, 71, 74,101,169,158,162, 76, 48,153, 76,204,175,
+191,174,113,216,173,247, 28,117,235,214, 11,151, 46, 28,196,190,189,219, 21, 20, 5,237,232,195,135, 77,163, 71, 47,163,155,183,
+104,209, 60,234,215,131, 68,228, 91,195, 29,105,128, 26, 58, 98,152,211, 47,135,126, 33, 90,181,110,213,194,207,175, 38,164,205,
+191,175, 47,189, 4,206,101, 64,185, 50, 47, 47, 46,254,199, 31,117,238,239,190,235,194,117,119,119,128,201, 68,152,199,247,134,
+ 94, 44, 22,171,174, 5,166, 65, 78,111, 55,183, 39, 39, 79,158, 68, 64, 64, 0,188,189,189, 81,219, 71,214, 28,144,219,213,213,
+ 21, 71,142, 28, 1,253,108,112,234, 6, 57, 59,180,108, 25,191,106,229, 74, 61, 69, 81, 40, 47, 47,255,139, 53,171,188,188, 28,
+ 20, 69,225,244,169, 83,122,229,211, 76, 32, 86,181,189, 55,147, 89,245,254,155,111,174,136,136,136, 48, 60,124,248, 16, 20, 69,
+161,182,101, 75, 38,147,193,206,206, 14, 90,157,206, 7,128,208, 26, 78,217,217,179, 34, 88, 24,215,235,177,104,189,140,243,254,
+111, 23, 89,181, 19, 74, 79,178,202,162, 69,146, 36,124,124,124,158, 73,233,194, 96, 48,158,121, 53,113,197,225,254,148,148,148,
+115, 3, 7, 14, 92,242,198, 27,111, 76, 89,178,100, 9, 51, 48, 48, 16, 10,133, 2,206,206,206,144, 72, 36, 72, 79, 79,199,201,
+147, 39, 77, 37, 37, 37,219, 0, 44,135,117, 75,232, 99, 51, 51, 51, 35,219,182,109,123,104,193,130, 5,142, 3, 6, 12, 96,251,
+248,248,128,166,105, 36, 36, 36,224,232,209,163,134, 93,187,118, 41,171, 69,150,181,206,203,231, 11, 11, 11, 71, 14, 30, 60, 56,
+106,236,216,177,246, 38,147,137,157,147,147, 3,157, 78, 7,163,209,136,252,252,124, 67,116,116,116,149, 90,173, 30, 3,224,188,
+ 21,124,241, 21, 21, 21, 33, 49, 49, 49, 99,175, 95,191,254,221,248,241,227, 93,251,246,237,203, 33, 73, 18,215,174, 93,147,119,
+232,208, 65, 34,147,201, 12, 71,142, 28, 41,213,106,181,139, 76, 38,147, 85, 41,120, 8,130,128, 82,169,132,155,155, 27,116, 58,
+ 29, 40,138,130, 94,175,135,157,157, 93, 77,218, 36,154,166,209, 20,231,250, 58,125,128,105, 48, 24,240,222,123,239,129,162, 40,
+108,216,176, 1, 36, 73, 54,153,204,209,209,241,110, 98, 98, 98,100,251,246,237,107,196,139,185, 15,241,120, 60,184,185,185,193,
+213,213, 21,209,209,209, 96,179,217,119, 45,249,187, 85,227, 94, 73, 73, 73,135,152,152,152,174, 15, 30, 60,248, 8, 64,123,131,
+193,224,109, 50,153, 8, 6,131, 33,165,105,250,190, 82,169,252, 25, 86,166,224,145,201,100,223,141, 27, 55,174,195,193,131, 7,
+237, 88,172,255, 92, 26, 44, 22, 11, 60, 30, 15,230,224,152, 52, 77, 67,175,215, 99,241,226,197, 74,149, 74,245,221,171, 50, 74,
+132,119,236,140, 29, 91, 55,218, 93,188,116, 78,158,154,137,163,245,132,112,120, 92, 92,180,163, 77, 97, 65,129, 93,120,199,206,
+ 86,113, 26,245,134,210, 15,198,204,241,173, 78,193,179, 56, 39, 39,119,123,212,254, 31,178, 1, 96,205,250, 13,254,197,165, 21,
+147,211, 82,211, 70,111,223,254,107, 87,163,222, 80,106, 13,231,127,196, 75,148, 2, 52,180, 0,110, 39, 60, 40,110, 57,244,221,
+179,139, 90,183,114,120, 75, 86,170,121, 82, 85,165,254, 12, 64,182,181,109,239,222,173, 39, 46,157,255, 5, 7,246, 69, 41,105,
+138,169,117,115,115,163, 1, 32, 53,213,141, 78, 77,173,160,255,227, 87,236,164, 98,211,247,150,207,249,172,239, 28,133,178,108,
+253,134,173,141, 79,165,180,109,247, 6,218,182,123, 3,211, 63,251,210, 49, 36, 52,200, 23, 0, 14, 31,134, 41,180,117,202, 31,
+ 75,190, 90,246,214,242,229,203,160,172,212,193,156,174, 39, 61, 41,229, 84,118, 54,244,182,123,214,179, 88, 66,146,183, 49,103,
+142,191,186,172, 76,220,253,139, 47,220, 88,159,127,206,104,204, 25,190,246,245,107, 13,231,157,251,247, 79, 77,158, 48,225,201,
+210, 37, 75, 6,110,219,190, 93,208,166, 77, 27, 20, 21, 21, 33, 40, 40, 8,222,222,222,136,137,137,193,145,223,126, 83, 85, 84,
+ 86, 46, 2,240,147, 53,156,251, 79,159, 78, 15, 12, 13, 45,217,190,125,187, 87, 68, 68, 4,161, 82,169,160, 80, 40,160, 80, 40,
+160,211,233, 80, 29, 16,154,206,200,204, 76, 53, 26,141,219,172,109,187, 73, 46,231, 47,239,220,249, 49,135,162, 86,141, 28, 49,
+ 98,222,242,111,190,225,181,106,213,138,208,233,116, 53, 86, 45,131,193, 0, 59, 59, 59,131, 94,175,119, 5,160,182,134,147,183,
+107, 23, 41,151,203, 33, 22,139,107,194, 53,213,142, 75, 88, 89, 89, 9,154,166,109,193,116,159, 3, 13, 42, 36,103,103,231,187,
+ 44, 22,171, 89,109,235, 86,125,185,243,106,111, 51, 26,141,143, 75, 74, 74,194,235, 40,222,134,252,161,252, 0,124,223,167, 79,
+159,145,115,231,206, 37, 46, 95,190,140,227,199,143,211,217,217,217,135,171,173, 88,217,141, 60,233, 52,196,105,207,227,241,102,
+137, 68,162,126,230, 16, 14, 66,161,240,129, 74,165,186, 80, 61, 93, 88,249, 28,156, 14, 60, 30,111,166, 72, 36,234, 95,157,126,
+ 5,246,246,246,137, 42,149, 42, 70,167,211,109, 68,195,137,170, 27,227, 20, 56, 58, 58,126,231,230,230,246,193,231,159,127,238,
+122,229,202, 21,233,165, 75,151, 56, 21, 21, 21, 7,245,122,125, 99, 73,165,255,194,233,226,226,114,151,201,100, 54,123, 73,231,
+ 8,109,219,182,141, 30, 58,116,104,196,152, 49, 99, 96, 52, 26,241,211, 79, 63, 33, 38, 38,230, 84, 86, 86, 86,164,133,167,209,
+186,156,110,205,154, 53,187, 60,101,202,148,230,239,189,247,158,208,217,217, 25, 44, 22, 11, 42,149, 10, 89, 89, 89, 72, 72, 72,
+160, 79,156, 56, 81, 21, 31, 31,255, 88,173, 86,247, 2, 80,210,132,227,249,119,158,154,159,225,100,177, 88, 61,125,124,124,126,
+ 93,186,116,169,125,255,254,253, 5,174,174,174, 96, 50,153, 48, 26,141,144, 74,165, 72, 74, 74,194,185,115,231, 84,135, 15, 31,
+ 86,149,150,150,190, 7, 32,238,255,163,158, 47,146, 51,216, 31, 95,213, 73, 20,221, 96,180,119, 11,101, 45,214,179, 79, 79,207,
+ 97,163, 71, 14, 30, 4, 0,191, 31, 57,115,214,138,164,210, 13,214,211, 82, 93, 57, 2,187,231, 0, 0, 32, 0, 73, 68, 65, 84,
+173,225, 12,106,205, 88,154,156,146,244, 76, 64,203,208,144,176,140,224, 54, 35,190,181,134,168, 86,100,248,103,218, 94,107, 58,
+182,182, 77,247,153,105,214, 96, 63, 68, 14, 27,253,118,196,151,139, 22,226,251,239, 86,224,196,239,199, 78,165,102, 63,147, 38,
+232, 95,215,151, 94, 50, 39,241, 45,139,245,134,208,211,243,205, 13, 20,181,240, 94, 82,146, 93,237, 7, 54,179,229,185,246, 67,
+165,151,151,151, 76, 42,149,186, 91,195, 25,185,121,179, 65, 45, 18,241, 22,174, 90,213,179, 74,171,237,185,124,249,114,214,157,
+ 59,119,176,245,199, 31, 73,237,227,199, 81,114, 96,102, 3,179, 33, 13,114, 54,159, 57,147, 63,127,235,214,143,253, 90,183,150,
+124,244,209, 71,108, 54,155, 13,149, 74,133,130,130, 2,156, 63,119, 78,159,146,154,154,162, 84, 42,223, 2, 80,104, 45,103,228,
+230,205, 6, 39, 63, 63, 8,197, 98,250, 98,108,172,227,228, 89,179,166,180,104,217,210,113,224,160, 65,108, 7, 7, 7,148,151,
+151, 35, 39, 39, 7,199,142, 29,147, 85, 85, 85,121, 1, 48, 89,195, 25,117,253,122,219,211,113,113,163,190,253,246, 91,110, 88,
+ 88, 24, 28, 29, 29, 81, 89, 89,137,164,164, 36,196,197,197,233,182,109,219,166, 80, 40, 20, 83, 76, 38,211,201,151,120,222, 95,
+ 5,171,150, 25, 59,204,179, 63, 47,219,195,223,154, 19, 17, 14,224,171,234,207,223,192,114,206,192, 87,105,240,241,117,113,113,
+217,161,213,106,105,141, 70, 51, 25, 64,254,127, 97, 61, 89,225,225,225, 91,101, 50, 89, 87,154,166,225,232,232,120, 35, 57, 57,
+121, 26, 26, 88,121, 99,129,147, 9,160,171,157,157, 93,103,123,123,251,158, 58,157, 46,184,122,250, 45, 85,165, 82,197, 25, 12,
+134,219,213,214, 39,211,255,115,219,153, 0,250,123,121,121, 77,160, 40,170, 53, 65, 16, 78, 38,147, 9, 70,163,177,130,162,168,
+ 44,133, 66,177, 11, 64,204,127, 65, 61, 95, 8,103,200,107,120,155,102, 32,184, 33, 65,240,140,208,170, 35, 32, 8, 10,169, 41,
+ 15,113,172, 9,245,100, 12,238,231,179, 5,120,186, 50, 17,150,157,107,255, 35,180,172, 16, 47, 77, 22,153,175, 49,199,209, 4,
+253, 12, 39, 65, 19,249, 65,109,223, 62,240,119,132,150,181, 8, 9, 64, 79,208,232, 74,209,184,157,150,133, 75,175,240, 88,247,
+194, 56,191, 7, 92,126,116,118,190,193, 96,177, 60, 0, 48,170,173, 47, 20, 69, 16, 38,154, 32,200,218,211, 91,117, 30, 44, 27,
+229, 52, 0,109,216, 60,158,143,137, 36,221,139, 0,187,211, 38,211,235, 90,154,174,106, 6,124,149, 8,164, 63, 79, 61, 13, 64,
+ 27, 38,143,231,123,154,166,135,201, 69,162,182, 50,141, 70, 12,128,182, 19,137, 82,149, 42,213, 62,173, 86,187, 5,127,157,185,
+176,200,201,225,241,154,153, 72,210, 29, 0, 24, 44,150,236,144, 78,231,243,216,193,225, 35,173, 78,215,220,206,206,206,168,215,
+235,149, 90,173,118, 12, 73,146, 23,155,210,246, 44,146, 12,185,206, 96,244, 48,136, 68,174, 6,130, 16,233, 73,210,160, 55, 24,
+ 10,180, 90,237, 3, 0, 63, 0,120,248,146,207,251, 43, 5,107,194, 73,189,168,139,197,198,105,227,180,113,218, 56,109,156, 54,
+ 78, 27,231,203,231, 20, 2,240,173,126, 88,252, 55,182,253,149,178,110,153, 87,255,179,108,199,194, 6, 27,108,176,193, 6, 27,
+ 94, 9,168, 81,143, 79,150, 13,255,191, 32, 26, 81,165, 77, 49, 9, 62,143,178,189, 96,227,180,113,218, 56,109,156, 54, 78, 27,
+167,141,243,127,142,211, 18,247,191,113, 74,242, 47,185, 14,105,154,222,241, 79,252,176,205,252,107,227,180,113,218, 56,109,156,
+ 54, 78, 27,167,141,243,127, 14,230,169, 67,134,237, 80, 52, 8,247,234,215,139, 46,107,195,171,221, 23,254, 9,120, 87,191,154,
+ 82,222,211,118, 26,109,176,193, 6, 27,254,121,252,127, 8, 45,107,111, 90,127,231,230,246,119,111,140, 43, 8, 2,133, 4,129,
+ 66, 0, 43, 94, 96, 89, 75,240,114,115,115,155, 17, 18, 18, 18,229,238,238, 62, 29,128,164,137,251,251, 11,133,194,141, 34,145,
+232,178, 72, 36,186, 44, 20, 10, 55, 2,240,127, 65,231,141, 0, 48,153,199,227,197,122,122,122, 62,225,114,185,177, 0,166,224,
+249, 87,174, 6,226,105,156,180,111, 0,180,109,202,142,146,208, 97,191,137, 67,135,221, 23,135, 14, 75,114, 13, 27,234, 47, 14,
+ 29,150, 36, 14, 29,118, 95, 18, 58,236,183,151,208, 95,255,214,249, 37,136,167,175,166, 28,100, 11,229, 87, 16, 4,242, 9, 2,
+249, 86,214,231, 7, 2, 40, 32, 8, 60,126, 1,253,211, 6, 27,108,176,193,134,151, 9, 47, 47,175,145,158,158,158, 23, 60, 61,
+ 61, 99,188,188,188, 70, 90,177, 75,191,122,110, 18, 38,130,128,201,194,160,223, 88, 57, 75,230,202,218,251,174,181,178,105,181,
+ 57,221, 9, 2, 38,186, 26, 4, 1, 74, 34,145,108,242,244,244, 92, 81,247, 37,145, 72, 54, 17, 4,168, 90,101, 77,181, 4, 94,
+ 83,205,170,238, 31,126,248,225,239,229,229,229,209,122,189, 62, 58, 51, 51, 51,186, 87,175, 94,135,234, 88, 34, 26,228,228,243,
+249,239,119,234,220, 53, 62,238,218,237,204,140,172,220,194,148,244, 71,185,127,156,189,120, 39,172, 77,219, 63,249,124,254,251,
+ 77, 56, 71, 4,128,201, 44, 22, 43,214,206,206,238, 49,139,197,138, 5, 48,149,201,100,158, 92,185,114,101,110,114,114,114,241,
+245,235,215, 43,226,226,226,158,140, 31, 63, 62,139, 32,136, 63,234, 17,236,253,172,176,192, 44,201,203,203, 59, 43,149, 74,207,
+ 9, 4,130,239,172, 40, 95,195, 41, 14, 29,118, 95,166, 48,208, 50,133,129, 22,135, 14,163,107,125,190,223,196, 99,110,233, 28,
+253,165, 47,240,120, 60, 95, 11,130,190, 95,109,145,101, 54, 29, 91, 35,182,248, 60, 94, 67,229,251, 53, 84, 31, 0, 30,213,255,
+ 11, 7,176,185,250,101, 94,206,238,193,231,241, 94, 84,255,124, 17,199,211,198,105,227,180,113,218, 56, 95, 85,116,168,126,247,
+196, 83,127, 45,207,231, 93,117,248,105,102,102,166, 29, 0, 4, 4, 4, 76, 3,112,164, 41, 66,130, 32, 48,159,162,104, 6, 0,
+ 48, 24,196, 23,189,123,247,233, 32, 16, 8,158,137,130,172,209,104,184,177,177,151,250, 82, 20, 77, 84,151,155, 79,211,216, 8,
+160,216,218,223,208,235,117, 12, 54,155, 11, 6,131,152, 19, 22,214,166, 69, 73, 73,201, 21, 6,131, 17,245,228,201,147,242,166,
+ 91, 36, 8,236,220,185, 51,192,211,211,243, 47,209,154,165, 82, 41,119,216,176,183,154,196, 55, 14,224,233,120,188,206, 28,130,
+240, 52,145,164, 19, 0,176, 88,172,242, 59, 92,110,248,247,223,126, 43, 36, 8,130, 42, 45, 45,133, 70,163,193,236,217,179, 5,
+ 41, 41, 41,195, 75, 74, 74,182, 88,160, 13,104,219,174,195,236,115,231,206, 6, 43,203,202,181, 59,215,111,143,215,176, 56,234,
+150, 33, 65,156,173, 59,246, 57, 79,250,120,204,103,105,105,201,137,168, 63, 29, 73,109, 48, 0, 28,155, 53,107, 86,104,100,100,
+ 36,183,178,178,146,175,209,104, 90, 68, 69, 69, 45, 14, 15, 15,183,107,223,190, 61,247,215, 95,127, 37, 20, 10, 5,104,154, 22,
+ 6, 5, 5,209,239,188,243,142,246,208,161, 67,211, 1,108,106, 68,248,206,127,122, 44, 25, 27, 2, 3, 3,151, 2, 64,102,102,
+ 38,167,214, 49,102, 7, 7, 7,139, 0, 32, 61, 61,253,107,154,166,102, 1, 0, 77, 99, 53,128,133,245, 88,125, 50, 67,187,143,
+ 6, 8,180, 78,190,246, 59, 63,180,199,104, 45,104,100, 17, 64,102,245, 3,193,114,160, 86, 92,168,103,145, 90, 88, 88,248, 92,
+185, 9, 35, 34, 34, 9,130, 32, 14,199,199,199, 31,145,201,100, 45, 41,202, 52,177,177,122,214,237, 71,174,174,174, 40, 41, 41,
+ 9, 16,139,197,231, 76, 38,147,238,234,213,171, 1,193,193, 79,171, 41,110,251,118, 87, 87,123, 81, 95,183,208,225, 87, 74,146,
+143,199, 89,217, 55, 9, 87, 87,215,113, 37, 37, 37, 43, 0, 76, 72, 77, 77,237, 0, 0,193,193,193, 28, 0,119, 29, 28, 28,186,
+ 25,244,122,194, 54,254,217, 96,131, 13, 54,252, 35, 66, 43, 1, 64, 4,254,147,130,103, 7,128, 38, 11, 45, 46, 0, 92,185,114,
+ 5, 0,120,207, 81, 17,162,246,141,103,230,204,153,240,244,244,172, 43, 94,112,249,114,236,223,105,236, 51,191,241,205, 55,223,
+216, 85, 84, 84,244,251,249,231,159,223,164,105,122,109, 97, 97,225, 45, 11,251, 23,211, 52, 86, 51, 24,196, 23, 4, 65,128,199,
+227,103, 76,153, 50, 37,161,250,127, 45,254,248,227, 15,225,208,161, 67,213, 0,114, 1,128,199,227,123, 51,153,140,128,167,202,
+ 21,171, 27, 19,132,163, 0, 63,146,203,237, 51,121,243,102,242,245,161, 67, 89, 34,177,152, 0,128,220,180, 52,215,213,107,214,
+116, 43,207,206,230,106, 92, 93, 75, 75, 85, 42, 77, 70, 70, 6,120, 60, 30,193,100, 50, 95,183,212, 96,145, 72, 52,227,219,239,
+ 87,137,148,101, 21, 26,173,178, 82,207, 36,141, 58,123,129,208, 84, 92, 36, 43,181, 19,136,212, 95,124,181,140,251,233,196,177,
+ 51, 84, 42,213, 52, 11, 84,211,231,204,153, 19,220,169, 83, 39,239,223,126,251,141, 80, 40, 20, 96,177, 88,118,237,219,183, 71,
+120,120,184,233,210,165, 75, 68,203,150, 45, 17, 22, 22,134,107,215,174,225,198,141, 27, 68,135, 14, 29,132, 71,143, 30,253,208,
+104, 52,110,178, 36,174,153, 76,198,236,160,160,160,246, 34,145, 72, 31, 16, 16,128,137, 19, 39,130,166,105,244,235,215, 47,204,
+206,206,238,136, 74,165,226,166,167,167,189,105, 73,100,203,146, 79,188, 99,182,108, 1,104, 3, 26, 89,242,228, 19,181,167, 31,
+131,211,211,211,223, 40, 47, 47,175,177, 16,153, 19,152,191,249,230,155, 77,233, 75,197, 52,141,213, 67,135, 70,126, 1, 16, 68,
+191,126,253, 42,166, 79,159,206, 72, 75, 75,251,224,237,183,135,135,101,102,102,161,177,122,210, 52,192, 96, 60, 77,101, 49,110,
+220,199,216,189,123,119,192,128, 1, 3,174,157, 62,125,218, 53, 32, 32, 64,206,225, 60,213,154, 18,137, 4,238,174, 78, 3,227,
+142,110,152,241,221,198,168, 32, 73,200,219, 21, 52,141, 7, 22,250, 38, 49,110,220,199,197,118,118,118, 35, 14, 31, 62,156, 46,
+149, 74, 89,102, 62, 0, 76,137, 68, 34, 14, 8, 8,152,234,226,226, 34, 99, 50, 24, 18, 26, 52,109,169,127,218, 96,131, 13, 54,
+216,240,220, 56, 85, 45,174, 78,213,253, 7, 11, 0,162,163,163,107,194,151, 70, 70, 70, 54,248, 4, 76,211,116,241,189,123,247,
+124,212,106, 53,104,154,182,102,192,174,189, 68,179,152, 32, 24, 91, 25, 12, 98, 26, 65, 16, 8, 11,107,243,104,195,134, 13,245,
+229,244,210,135,133,181,121,196,100, 50, 90, 61,157, 66, 97,252, 68,211, 84,113, 3,156,245,222,136,184, 92,222,124, 0,240,240,
+240,204, 62,115,230,140,126,212,168, 81, 88,179,102, 13,103,193,130, 5,243, 88, 44,214,244,252,252,252,162, 70,234, 9, 0, 11,
+197, 98,137,112,231,206,157, 1, 83,166, 76, 73,144, 74,165, 11, 1,192,211,211,115, 5,128, 16, 0,185,181,182, 97,219,182, 67,
+ 79, 38, 78,156,152, 33,147,201, 22, 54,196, 57, 2,120,205, 39, 40,168,207,242, 43, 87,104,134, 78, 71,148, 92,189,170,148, 23,
+ 23, 27, 31,202,229,194,189,119,239, 70, 46, 94,177,130,237,227,235,139,203, 39, 79,186,149,168,213,114,133, 78,167, 45, 46, 46,
+166, 73,146,188, 97, 69,219, 67, 37, 98,137,112,251, 15, 63,221,177,103, 51, 41, 73, 51,111,130,237,226,194, 98, 8, 29,184, 76,
+ 22, 67,215,170,133, 63, 23, 64,168,165,115,196,225,112, 62, 28, 48, 96,128,240,208,161, 67, 68, 88, 88, 24,156,156,156,112,245,
+234, 85, 36, 38, 38,162,188,188,156, 97, 52, 26,209,177, 99, 71,172, 90,181, 10,190,190,190,168,168,168, 64,126,126,190, 27,151,
+203, 21, 27,141,198,134,142,231, 51,253,105,254,252,249,240,244,244, 4, 73,146, 40, 43, 43, 3, 73,146,176,179,179, 3, 0, 60,
+126,252, 24, 39, 79,158,176,166, 47, 89, 4, 77,211,232,210,165, 75, 37, 65, 16,169,117, 45, 90, 77,225,244,246,246,254, 85, 46,
+ 47, 25,220,167, 79, 31,148,151,151, 27,151, 45, 91,134,182,109,219, 34, 32, 32,192, 98, 61,189,188,188, 38,147, 36,185, 4, 0,
+142, 31, 63,190,215,211,211,243,147, 3, 7, 14,184,154, 83,132, 76,157, 58, 21,226,182,111,119,117,177, 23,245, 45,150,149,150,
+223,184,147,156, 62,103,242,168, 94, 87,110, 37, 21, 24,216,195,242, 21,247, 79, 40,234,225, 92, 88, 90, 90,250,115,243,230,205,
+127,152, 57,115,166,167,139,139, 11,116, 58,221,226,162,162, 34, 76,157, 58, 21, 0, 48,100,200,144,182,108, 54,251,204,248,241,
+227,209,178,101,203, 39,101,101,101,249,241,241,241, 19,217,175,245, 75, 82,220, 63,241, 92,199,211, 74,216, 56,109,156, 54, 78,
+ 27,231,115,195, 90, 45,242, 95, 10,169,217,130, 85,141, 29,207, 8,173,200,200, 72, 34, 58, 58,154,182,162, 97,165,205,154, 53,
+243, 17, 8, 4, 0, 80,218,212, 90, 80, 20, 53,221,213,213, 85,182,112,225,194,238, 1, 1, 1,250,233,211,167, 39,229,230,230,
+ 46,170, 93,166, 69,139, 22,223,253,248,227,143,200,200,200,200, 93,177, 98,197,181,210,210,210,166,230, 49, 91, 64,211,216, 80,
+109, 29, 43, 57,121,242,100,219, 43, 87,174, 76, 91,191,126,189,248,211, 79, 63,229,204,152, 49, 99, 12,128, 53,150, 72,152, 76,
+166,186,190,233,194,250,224,233,233,169,103, 50,153, 13, 6,137,139, 4, 4,124, 46,183,247,242, 43, 87,104,125,110,174,122,247,
+186,117,246,219,255,252,115,169,145,166,221, 37, 18, 9,122,116,235, 86,197,103, 50, 75,100, 69, 69,148,228,181,215,152, 57,103,
+206,184,105,184,220,194, 67,135, 14, 41, 74, 75, 75,143, 91, 52,225, 17,132,146,162,105,189, 93, 51, 95,227,168,225,253,195,238,
+220, 78, 76,179,151,184, 49, 58,180, 15,107,155,150,145, 27, 15,138, 50, 16, 4,161,180,196,227,232,232, 24, 80, 90, 90, 10,165,
+ 82, 9,177, 88,140, 13, 27, 54,192,195,195, 3,106,181, 26,201,201,201,116,179,102,205,136, 43, 87,174,160, 89,179,102,144,203,
+229,208,235,245,168,172,172,148,233,116,186,134,114, 51, 22, 51, 24,204, 61, 12, 6,241, 49, 65, 16,104,213,202, 47,111,203,150,
+ 45,122,138,162, 16, 28, 28,140,183,223,126, 27, 71,143, 30, 69,114,114,178,217,242,164,111,222,188, 69, 30,131, 65, 52,175,214,
+ 74,207,109,129, 49,167,246, 41, 44, 44, 28,241,156, 23, 13,195,203,203,107, 76,235,214,173,167,189,255,254,251, 70, 46,151, 11,
+149, 74,101, 62, 22,198,193,131,135, 84, 12, 29, 26,233,120,234,212,169, 6,235,105, 48, 24,150, 60,121,242,196, 83,163,209, 96,
+208,160, 65, 51,214,174, 93, 43,226,114,185, 0, 0,147,201,132,159,126,250, 9, 35,167,174, 28, 24,119,116,195,140,111,215,239,
+ 63, 55,107,201,150,216,115,191,174,242,250,118,193, 39,189,198, 76,255, 46, 22,192,217,122, 56, 81, 89, 89,153,237,227,227, 51,
+ 97,206,156, 57, 81,219,182,109,115, 94,180,104, 17, 40,138, 2, 77,211, 32, 73,178, 38,145, 56, 69, 81, 56,118,236, 24, 30, 62,
+124,248,221,177, 51,113, 73, 99,166,191, 50,249,175,109,176,193,134, 87, 16, 77,208, 34,255,141,240,196,211,105, 67,212, 21, 91,
+255,120,100,120, 38,147,185,253,252,249,243,237,223,124,243, 77, 86,223,190,125,195,206,158, 61, 27,246,228,201,147,164,106,235,
+ 65, 88,223,190,125,195, 36, 18, 9, 54,110,220,168,102, 50,153,219,159,243,103,106,110,122, 69, 69, 69, 9, 0,214, 30, 61,122,
+116,245,228,201,147,225,225,225, 17, 34,149, 74,255,209, 54, 59,240,120, 29,198,111,216, 64,178,141, 70,198,230,181,107, 29,214,
+197,198,174,254,237,247,223, 89, 93,186,116, 33,104,154,198,131,251,247, 5,171, 54,109, 18,190, 55,124,120,110,122,118, 54,121,
+226,220, 57, 99,241,147, 39,101, 79,228,242, 37, 0,202, 44,241, 27,141,198,155,153,153,153, 94, 61,122,118,241,142,251, 51, 41,
+113,212,240, 33,125,216, 44, 6,145,149,251,248,174,167,135,155,227,229,216, 11, 26,163,209,120,211, 18,143, 74,165,202, 33, 73,
+210,133,166,105,241,229,203,151, 33, 22,139, 81, 94, 94, 14,163,209, 8,189, 94,175, 87,171,213,252,210,210, 82,104,181, 90,232,
+116, 58, 56, 56, 56,224,193,131, 7,197, 36, 73, 94,106,136,211,100, 50,141,231,241,120,223,176,217,108, 46,135,195, 41,188,123,
+247, 46,148, 74,101, 11, 39, 39,167, 53, 36, 73,162,176,176, 16, 87,174, 92,249,220,193,193, 33, 23, 0,248,124, 62,184, 92,158,
+171, 78,167, 35, 1, 60,121,222, 99,254,119,114, 76,121,120,120,248, 10, 4,130,229, 95,124, 49, 63,184, 93,187,246,144,203,229,
+160, 40, 10, 34,145, 8,106,181, 26, 14, 14, 14,232,218,181,107,206,242,229,203,165, 52,141, 73,141,136, 65,102,245,249,193,228,
+201,147, 69, 14, 14, 14, 40, 40, 40, 64, 80, 80, 16, 76, 38, 19, 72,146,132, 84, 94,250,224,250,157,164,180, 57, 83, 70,247, 60,
+120, 50, 54,245,220,229,187,169,195, 7,117,107, 71, 16,116,139,198,234,152,156,156, 44,111,215,174,221,244,201,147, 39,127, 19,
+ 16, 16,208,138,166,105,248,251,251, 99,192,128, 1, 56,115,230, 12, 50, 50, 50,160, 82,169, 76,183,110,221,250,229,203,239,182,
+252, 17,226,223, 28, 4, 65,219, 70,114, 27,108,176,193,134,151,131,191,248,102, 61, 99,209,250, 39, 33,147,201,228,105,105,105,
+103,227,227,227, 35,223,121,231, 29, 92,190,124,121, 28,128, 57, 0,192,227,241,198,189,243,206, 59,136,143,143, 71, 90, 90,218,
+ 89,153, 76, 38,127, 17,191,201,229,114,181,122,253, 83,227, 20,159,207,231, 55,113,247, 22,213, 83,134, 0,208,162,145,109, 13,
+155, 70, 88, 44,207, 54,131, 6,177,202, 19, 19,149, 59,111,223,254, 38, 42, 42,138,213,189,123,119,194,104, 48,192, 68, 81,240,
+243,243, 35,250,246,235, 39,218, 19, 21,229, 98, 82,169,174,124,251,197, 23, 87,119,140, 31, 95,149, 89,237, 7,102, 9, 58,157,
+110,211,180,169, 19,250,197, 94,190,234, 29, 18,244,154,203,217,243,177, 9,174,174,142,194,128,214,173, 69,165,229,101,166, 69,
+ 11, 62,103,233,116,186,205,150,120, 52, 26,205,177, 11, 23, 46, 12,247,241,241, 17, 39, 37, 37, 65,175,215,195,100, 50,161,111,
+223,190,160,105,154, 7,128, 98,177, 88, 72, 75, 75,131,193, 96,144,101,102,102, 22,102,101,101,241, 0,172,180, 80,191, 60,157,
+ 78,135,212,212,167,179,118,205,154, 53,235, 31, 17, 17, 1,146, 36, 49,104,208, 32,156, 56,113,162,127,106,106,234,186,218,154,
+239,239,158,243,106, 11, 89,176,151,151,215,209,234, 77, 86, 57,193,123,123,123,135,249,249,249,109, 91,185,114, 37,167, 89,179,
+102,160,105, 26,206,206, 78, 80,171,213, 40, 41, 41, 69, 72, 72, 8,124,124,124,176,114,229, 74, 0,248,165, 49,139, 27, 69, 81,
+144, 74,165,200,201,201, 65,118,118, 54,124,124,124, 64, 16, 4, 42, 43, 43, 65,146, 36, 40,138,130,176, 82,121,234,199, 61,127,
+244,254,125,219,146,208,206,109,252,125,111, 39,164,200, 62, 28,209, 95,232,223,210, 55, 64,158,180,140, 1, 44,163, 26,226, 28,
+ 55,110, 92, 86,239,222,189,223,153, 49, 99, 6,167,162,162, 34,188,127,255,254, 27,251,245,235,135,132,132, 4, 92,189,122,245,
+ 61, 30,143, 39, 51, 24, 12,228,119, 95, 78,155,244,253, 34,194,129, 50, 24, 14, 2,203,164,192, 50,219,144,104,131, 13, 54,216,
+240, 98, 97,246,209, 66,173,247,166, 89,180,130,131,131, 69,185,185,185, 31,181,104,209,130, 11, 0, 2,129, 32,196,207,207,111,
+ 94,118,118,118,101, 83,107,163, 86,171,127,139,138,138, 26,240,195, 15, 63,112,134, 12, 25,242,218,209,163, 71, 59, 1,192,144,
+ 33, 67, 94,179,183,183, 71, 84, 84,148, 65,173, 86,191,176,152, 72, 70,163,241,205,142, 29, 59,162,172,172, 12,185,185,185, 73,
+ 77,217,247,143, 63,254, 16,226,169, 95, 86,163,219, 26, 3,169,215, 59, 59,121,123, 51,158,196,198, 26,202,148, 74,207, 55,123,
+246, 36,140, 6, 3, 24, 12, 6, 74, 75, 75,145,159,159, 15, 71, 39, 39, 34, 45, 51,211,110,215,252,249,127,180,104,215,142,107,
+210,235, 93,155, 80, 77, 85,137,172,248,227,207,166,127,122,236,224,193, 95,196, 21, 74,229, 67,129, 64,168,227,241, 56, 30, 51,
+ 63,251,204, 84, 86, 86, 54, 22, 64,149, 21, 60, 43, 15, 30, 60, 56,104,208,160, 65,247,125,125,125, 37,114,185,220,163,162,162,
+194, 84, 86, 86,198, 68,117,136, 39, 0,136,141,141,133, 82,169, 36, 77, 38,211, 21, 60,141,133,165,183,182,162,205,155, 55,119,
+ 12, 15, 15,239, 37, 22,139,161, 80, 40,224,234,234,138,246,237,219,247, 98, 50,153, 63,231,229,229, 41, 94,100,175,143,137,137,
+177,167,105,250, 13,154,166, 49,104,208, 32,171,246, 49,153, 76,159, 68, 68, 68,112, 8,130,128, 70,163, 6,159, 47,128, 72,100,
+ 7,123,123, 7, 4, 4, 4,162,176,176, 16, 3, 7, 14,212, 63,124,248,112,171, 84, 42,253,205, 2, 23, 10, 11, 11, 33,151,203,
+145,159,159,143,146,146, 18, 0, 64, 73, 73, 9, 40,138, 2, 73,146, 77,110, 83,125,156, 10,133, 98, 88,215,174, 93,231, 78,157,
+ 58, 21, 36, 73, 98,216,176, 97, 40, 40, 40, 88,151,147,147,115,200,203,203,107,204, 39,159,124, 34,118,117,117,197,220,185,115,
+ 5, 0,190,182,141,135, 54,216, 96,131, 13, 47, 28,117,125,180,254,106,209,106,108, 78,212,195,195,163, 7, 65, 16,139, 53, 26,
+ 13,215, 60, 37, 67, 16, 4, 87, 44, 22,159,208,104, 52, 43,164, 82,105,147,156,226, 42, 42, 42,148,143, 30, 61, 58,113,243,230,
+205,209, 35, 70,140, 64, 76, 76,204, 88, 0, 24, 49, 98, 4,110,222,188,137, 71,143, 30,157,168,168,168, 80,190,136,150,123,123,
+123, 15,238,217,179,231,136,142, 29, 59, 34, 58, 58, 26, 38,147,233, 70, 83,246,175,189,194, 16,245,172, 58, 52,111,179,138,140,
+201, 4, 65, 16, 53, 55,216, 18,185, 28, 25,233,233, 40, 43, 47,135, 78,171,133, 74,173, 54, 5,180,108,169, 81,232,245,108, 2,
+104,234, 60, 79, 94,252,157, 91,249,106,149, 74,226,234,236,162, 17, 10,121,168, 80, 42, 56,119,239,220,170, 2,240,208, 74, 14,
+ 61, 77,211, 61,207,156, 57,179,132,201,100,190, 99,103,103,135,105,211,166, 49,123,245,234, 5, 14,135, 3,157, 78,135,138,138,
+ 10, 68, 69, 69,201, 77, 38, 83,171,234,125,236,132, 66,225, 62, 38,147,249,184,178,178,114,177,197, 31,208,235,135, 68, 70, 70,
+178,244,122, 61,190,253,246, 91, 44, 93,186, 20,131, 6, 13, 98,221,185,115,103, 8,128,131, 47,170,199, 83, 20,133,254,253,251,
+215,118,134, 79,181,102, 63, 54,155, 29,214,186,117,107,200,229,114,200,229,114,136,197, 98,120,121,121,193,195,195, 3,235,214,
+173,163, 55,110,220,120,214, 96, 48,108, 45, 41, 41, 41,182,166, 14,217,217,217, 53,150, 65,173, 86, 11,149, 74,133,130,130, 2,
+152, 76, 38,196,198,198, 66, 35,114, 24, 52,253,227,161,237, 84, 26,141,250,246,131,204,252,197, 51,198,116, 81,105, 52,234,204,
+156,252, 12, 96, 19,101,137,115,222,188,121,147,198,141, 27, 55,105,244,232,209,168,170,170,194,205,155, 55,209,173, 91, 55,172,
+ 94,189,218,243,202,149, 43,115, 58,118,236, 8, 54,155,141,203,151, 47,131, 36,201, 2,155, 53,203, 6, 27,108,248,111,198,191,
+212, 63,171, 81, 52,106,209,242,241,241,113, 50,153, 76,159, 71, 68, 68,244, 31, 62,124, 56, 6, 14, 28,248,204,255, 15, 30, 60,
+104,127,228,200,145, 21,155, 54,109, 26,100, 48, 24, 86, 54,101,170,143,162,168, 99, 7, 15, 30, 28,210,165, 75, 23, 97,239,222,
+189,253, 0,128,199,227,233, 15, 30, 60,168,166, 40,234,216,115,180,197, 28,136,177, 24, 0,188,188,188,218,178, 88,172, 17,131,
+ 7, 15,110,251,241,199, 31, 35, 57, 57, 25, 81, 81, 81, 89, 1, 1, 1,215,138,139,155,228, 95,157,107, 97,213,225, 10, 75,214,
+ 45, 38,151, 91, 90, 81, 84,228,100,231,235,203,118,182,183,151, 70, 71, 71,251,244,235,215,143, 40, 40, 40, 64,121,121, 57,180,
+ 90, 45,238,220,185, 67,177,128, 60,150,179, 51,145,119,243, 38,193,228,114, 75,241,236, 74, 62,139,240,241,116,246,255,106,193,
+148, 22, 90,157, 54, 84,161, 80,144, 44, 54,155,221,204,195,169, 32,253, 97,147,102,226,116, 66,161, 48, 28, 0,139,162, 40,181,
+139,139,139,240,252,249,243,224,114,185, 32, 8, 2,109,218,180, 1,159,207,231,208, 52,157, 15, 0,246,246,246,220,237,219,183,
+ 59,142, 25, 51,230,170, 37,226, 14, 29, 58,176,121, 60,222, 91, 1, 1, 1,184,121,243, 38,146,146,146,242,110,222,188,217,188,
+ 67,135, 14,240,245,245,125,203,211,211,243,247,132,132, 4,227,139,232,216, 79, 87,172, 54,221, 25,222,100, 50, 81, 4, 65,128,
+193, 96,128,162, 40,200,229,114,180,106,213, 10, 91,182,108,193,134, 13, 27,190,149, 74,165, 39,155,192,101, 82, 42,149, 16,137,
+ 68, 72, 74, 74,210, 69, 68, 68,240, 24, 12, 6,178,178,178, 96, 50,153,176,102,205, 26, 72,252, 7,134,116,235, 24, 22,244,237,
+250,253,231, 68, 60, 30,111, 96,175,240,224,148,204,188,199, 52, 77,228, 54,100,209,170,197,201,105,223,190,253,216,209,163, 71,
+ 35, 59, 59, 27, 43, 86,172, 40,145, 74,165,177,231,206,157, 27, 57,117,234, 84,102,183,110,221, 80, 90, 90,138, 61,123,246,144,
+119,239,222,221, 93, 84, 84,180,223, 54,140,219, 96,131, 13, 54,252,151, 8, 45, 31, 31,159,209, 28, 14,103,238,187,239,190,203,
+ 12, 12, 12, 68,113,113, 49, 28, 28, 28,140, 4, 65,176, 1,192,201,201,201, 40, 16, 8, 48,101,202, 20,180,107,215,174,199,252,
+249,243,187,177, 88,172, 45,133,133,133,251,172,249, 97,153, 76,166,102, 48, 24,135,167, 77,155,182, 50, 49, 49,161, 21, 0,252,
+249,231,159,143, 10, 11, 11, 23,200,100, 50,117, 19,219, 97, 14,138, 73,240,120,252,219,254,254,254, 57,225,225,225, 14,195,135,
+ 15,135, 88, 44, 70,124,124, 60, 86,173, 90,149,169,215,235,151,196,197,197,145,255,244, 65, 38,117,186,162,187,199,143,219,247,
+250,224, 3,135,153, 17, 17,107, 63,157, 54,237,135,175,190,250,138, 21, 24, 24, 72,168,213,106,220,190,125,155, 62,114,228,136,
+113,207, 55,223,108,128, 72,196,190,121,228, 8, 87,175,215,231, 53,209,114,215,179,251,155, 61, 2,215,254,176, 9, 90, 77, 21,
+110,223, 56,133,242,114, 57,182,239, 56, 26,232,237, 77,247,124,242,228, 73,156,181, 92, 4, 65, 4,196,196,196, 72,104,154, 6,
+151,203,197,242,229,203,225,229,229, 5, 7, 7, 7, 84, 86, 86, 98,206,156, 57,142,179,102,205,114, 4,128,228,228,228,154,240,
+ 12,150, 80, 88, 88,216,117,202,148, 41,246, 36, 73,226,236,217,179,122,130, 32, 22, 95,184,112,225,231, 54,109,218,112,123,244,
+232, 97,191,127,255,254,110, 0, 46,191, 40,161,245,156,251,101,157, 63,127,190,227, 59,239,188, 67,179,217,108,162,162,162, 2,
+ 78, 78, 78,216,178,101,139, 74, 42,149,158,106, 34,215,242, 5, 11, 22, 44,169,254,188,119,241,226,197, 19, 86,174, 92, 41, 46,
+ 42, 42,122,234, 8, 47,149,130,116, 46,187,212, 53,226, 51, 83,105,133, 66,191,123,253,252, 81, 2, 62,143,187,120,229,238,203,
+ 70, 38,110, 53,212,174, 5, 11, 22,152,175, 81,174, 80, 40,228,210, 52,141,195,135, 15, 35, 47, 47,239,147,210,210,210, 34,147,
+201,116,244,243,207, 63,159, 23, 24, 24,216, 50, 61, 61, 61,175,178,178,114,181, 79,251,183,115,180,146, 34,212, 10,239, 96,131,
+ 13, 54,216, 96,195,139,131,217, 9,222,188,250,240, 20,158, 78, 39, 54,156,235,208,100, 50, 77, 57,119,238, 28,243,163,143, 62,
+194,189,123,247,176,103,207, 30, 90, 40, 20, 46,246,244,244, 20,250,249,249,241,248,124,254,188,137, 19, 39, 82, 89, 89, 89,232,
+209,163, 7,110,222,188,201, 0, 48,182, 14, 77,163, 33,250, 21, 10,197,157,132,132,248, 86, 38, 19, 69,152, 76, 20,145,144, 16,
+223, 74,161, 80,220,177,208,152,186,156, 53, 65, 49, 41,138, 38,244,122, 93,231,229,203,151,139, 39, 79,158,140,226,226, 98, 44,
+ 95,190,156,250,250,235,175, 47,210, 52,189, 88, 42,149,106,172,228,124, 17,168,225,228,146,100,252,129,121,243, 88, 85,106, 53,
+ 61, 97,238,220,202,239,199,143,159,177,101,211,166,188, 15, 62,248,192,240,197,130, 5,250,107,113,113, 89, 59,150, 47,159, 60,
+232,173,183,170,146,227,226,184,137, 49, 49,108,177,209,120,175, 41,245,124,242,228, 73,220,229,203, 87,177,119,231, 15, 56,176,
+103, 51,174,196, 94, 70,242,253, 84,148,148, 42, 96, 65,100,253,133,147, 36, 73,197,200,145, 35, 43, 70,141, 26,165, 63,124,248,
+ 48,100, 50, 25,170, 67,122, 64,169, 84,226,212,169, 83,136,137,137, 65, 76, 76, 12,206,157, 59, 87,227,228,110,169,158, 34,145,
+232,173,110,221,186, 33, 47, 47, 15,201,201,201, 23,165, 82,105,105,114,114,242,197,130,130, 2,116,236,216, 17, 34,145,104,104,
+ 83,234,249, 2,132,214, 95, 56, 5, 2,193,130,163, 71,143, 70,205,152, 49,131,124,244,232, 17,218,183,111, 15, 0,168,172,172,
+ 84, 3, 48, 53,133, 83,163,209,108,215,106,181, 94, 90,173,214,203,215,215,119, 81,110,110,238,155,115,231,206,149,155,195, 47,
+ 0,128, 60,229,228,205,180,107,123,191,151,184, 57, 11,186,118, 12, 13,252, 97,251,225,203,249, 5,197, 81,181, 98,104,213,229,
+132, 86,171,133, 86,171,173,105,167,209,104, 4, 69, 81,112,113,113, 81, 85, 63,196,228, 60,124,248,112, 90,110,149,235,192, 59,
+241,137, 83, 62,252,116, 89, 78,126, 65,113, 93,145,101, 75, 29, 98,227,180,113,218, 56,255,219, 56, 95, 5,152, 87, 31, 70, 88,
+180,104,209, 52, 77, 82, 20,133,203,151, 47,227,232,209,163, 38,131,193, 48, 73, 42,149,214,142, 86,189, 41, 62, 62, 62,102,228,
+200,145,251,210,211,211,153, 41, 41, 41,160,105,218,212,148,218,104,181, 90, 99,221, 28,112, 90,173,246,111, 79, 29,237,221,187,
+ 23, 69, 69, 69,134,130,130,130, 11, 36, 73, 30,251,155,171, 23,255,246,170,195,189,128,238,125,189,254,194,210,238,221,251, 47,
+137,137,225, 77,248,242, 75,221,184,143, 63,254,220,164,215, 27,153, 28, 14,197, 21,137, 24, 38, 30,143,157, 28, 23,199,223, 56,
+117,170,139, 70,167, 59, 27,213, 4, 7,115,179, 69,171, 87,175, 30, 24, 55, 97, 54, 52,181, 44, 90, 55,239,100, 64,103, 64,147,
+ 44, 90, 58,157, 46, 84, 42,149,130,207,231,231, 3,240,248,232,163,143, 64, 81, 20, 52, 26, 13, 42, 43, 43, 81, 88, 88,168,248,
+248,227,143, 77,213,226,137, 53, 98,196, 8, 7,107,120,253,252,252,188,216,108, 54,206,158, 61, 11, 54,155,125, 10, 0,216,108,
+246,169,152,152,152, 33,239,189,247, 30,188,189,189,253,178,179,179, 9, 88,240, 79,147,132, 14,251,141, 6,252, 65,160,245, 83,
+ 19, 28, 90,139, 67,135,221, 39,128,204,234,168,241,169, 29, 58,116, 0,172,244,203,170,141,234,197, 29, 27,140, 70,227,239,243,
+231,207,159,214,185,115,231, 1, 75,151, 46, 37, 80, 29,170,225,239,224,221,119,223,205, 56,116,232,208,155, 11, 23, 46, 60, 71,
+211,180,174,246,255,100, 37,101,151,186, 68, 78,167, 43, 42, 20,137,242,212,147, 15,154,194, 75,146,100,189,194, 82, 86, 82,134,
+ 46,145,211, 81, 81,161,128, 60,245,164,109,248,179,193, 6, 27,108,120,249, 86,173,191,160, 65,161, 69, 16,196,142,158, 61,123,
+ 78, 2,192, 36, 8, 98, 91, 97, 97,225, 95, 6,127,169, 84,154,225,229,229,181,166,101,203,150,147, 1,208, 4, 65,236,104, 98,
+165,138,105, 26,171, 24, 12, 98,254, 83,113,247, 92, 1, 42,205,105, 73,230, 3, 32, 24, 12,230,190,132,132,132, 47,243,243,243,
+229, 86, 90, 32, 26,197,139, 88,117, 8, 0,191, 0, 57,239,230,229,157,155, 27, 22,214,111,208,212,169,104, 59,104,144,131, 87,
+243,230, 38,141,193, 64, 61,184,118,141,184,113,248, 48, 39, 49, 38,134,173,209,233,206, 30, 3,242,155, 90,207, 39, 79,158,196,
+ 93,138,141, 59, 63,106,196,144, 1,126, 45,189,158,138,134,156, 66,148,148, 41,206, 55, 69,100,213, 17,189,195,182,108,217,114,
+146,195,225,176,106,167,178, 49, 24, 12,101, 58,157, 46, 20, 0,202,203,203,189,118,236,216,241, 43,131,193,200,179,196,151,146,
+146,114, 98,201,146, 37, 35,114,115,115,207, 23, 20, 20,228, 2, 64,126,126,126,174,209,104,220, 39,149, 74, 71,228,229,229, 29,
+129, 21,139, 0,104,192, 63,249,218,239,109, 0, 32,180,251,104, 36, 95,251,157, 15,160, 77,104,247,209, 0,128,231,205,101, 88,
+ 27,165,165,165, 82, 0,139,111,222,188,121,112,192,128, 1, 19,241, 55, 98,122, 1,128, 94,175,135, 70,163,193,245,235,215, 51,
+214,172, 89,211,252,193,131, 7,200,203,251,207, 33,147,167,156,188, 41, 7,110, 54,145,211,168,209,104, 72,147,201,196, 50, 24,
+ 12,180, 94,175,127,230, 33, 69,158,114, 18,114,219,192,103,131, 13, 54,188, 34,160,105,186, 35, 0,177,121,136,171,126, 23,215,
+249,172, 71,117,186, 64,243, 80, 89,253, 93, 78, 16,196,157, 90, 28, 53,219,173,216, 23, 0, 74, 0,220, 39, 8,162, 33, 35,200,
+142,134,190, 55, 40,180, 10, 11, 11,143,192,138,164,209,214,150,107, 4, 11,171,243,196, 1,207,159,135,173,134,195,100, 50, 21,
+231,231,231,255,237, 19,202, 96, 48,114,134, 14, 29,218,164,242,150,202, 28, 2,242, 62,211,233,246, 71,111,222,220,254,236,182,
+109,222, 38,146,116, 37, 0,154,201,229,150,234,245,250, 92,177,209,120,175,169,150,172,103,172, 49,143,158, 12,204,126,244, 4,
+173, 91,183,166,179,178,178,158,218,122,254, 30,238,169, 84, 42, 31, 75, 93, 64,173, 86,247,176, 82, 12,254,242,228,201,147, 95,
+234, 17,236,191, 74,165,210, 95,173,173, 84, 77, 82,105,128, 65, 17,212,168,208,238,163, 15, 3,160,204, 73,165, 95, 36,138,138,
+138,210, 81, 29,231,237,239, 32, 47, 47, 15, 4, 65, 96,213,170, 85, 72, 76, 76, 68, 97, 97, 33, 94, 0,167,142, 32,136, 3,171,
+ 86,173,250, 48, 49, 49,241, 80, 97, 97,161,206, 54, 20,219, 96,131, 13,175,178,200, 34, 8, 34,186,250,123,100,181, 81, 40,186,
+238,103,115, 25,115,185,218,101,204, 28,117,183, 55,182, 47, 0, 44, 88,176,224,203, 21, 43, 86, 8, 1, 88,155,140,249,185,147,
+ 74,191, 44, 20,255,151,112,212, 22, 5, 59, 95, 70, 67, 55, 3,122,144,228, 45,212,142,161,100, 52,190,208,223,200,202,202, 34,
+ 94,229, 11,206,156, 84,186, 22,194,254, 13,245,206,205,205,133,175,175,239, 11, 17, 89,181, 56,183,248,250,250,110, 47, 44, 44,
+ 36, 97,131, 13, 54,216,240,234, 66, 92,159, 48,106, 64,148, 69, 54,246,255,103, 30,220,235, 41, 87,223,119,130, 32,162, 87,172,
+ 88, 17,217,132,250,214, 88,180, 24,182,115,103,131, 13,255, 28,226,226,226, 94, 6,167, 77,100,217, 96,131, 13, 54, 60, 7,234,
+ 90,177,204,226,171,238,247, 5, 11, 22,124,137,198,103,156, 60,241,212,138,229, 89,253,189,198, 95,139, 64,195, 43, 7,154, 18,
+132,244,121, 86, 31, 92,176,113,218, 56,109,156, 54, 78, 27,167,141,211,198,249, 63,199,105,137,251, 66, 61,130, 40,162,161,169,
+190,198,166, 17,235,126,182,180,175,165,178, 4, 65, 52, 20,230,199, 60, 85, 88,243, 78,211,244, 14,252, 3,176, 45,125,181,113,
+218, 56,109,156, 54, 78, 27,167,141,211,198,249,183, 64,211,116, 71,154,166, 35,240,116,193, 20, 77,211,116, 4, 77,211,131, 22,
+ 44, 88,176,208,188,109,193,130, 5, 11,105,154,238,107, 46, 87, 93,166,102, 31,243,182,186,239,117,183, 53, 86,182,145, 42, 78,
+170,243,121,146,121, 17,217,127,139,143,150, 13, 54,216, 96,131, 13, 54,216, 96, 67,189, 48,175, 24,172,101,109,146, 3,120,176,
+ 98,197,138,242, 90,190, 83,114, 0,247, 0,180,171, 46, 39,175, 22,105,181,125,171,244,213,223,245,245,148,209, 91, 83,182, 1,
+236,104,224,179, 77,104, 53,132,118, 30,140,111,124,155, 73,194,171, 79, 0,104,234,105,218, 57,170, 58, 94, 17,109, 14, 92, 68,
+ 81,160,105, 26,133,178,138,248, 7, 50,124,245,188,191, 23,224, 5, 23, 9,159,191,129,162,233,238,213,155,226, 20,165,186,217,
+201, 74, 84, 88,203, 17,228,142, 96, 62, 3,159, 83, 52,218, 2, 0,131,192,125, 45,133, 53,105,197, 77,143, 39, 85, 95, 63, 15,
+ 21, 99, 18, 87, 32,124,215,209,201,185,117,121,121, 73,166, 65,171,251, 61, 69,142,237,104,122, 94, 70,248, 57,227, 13,138,198,
+151, 0, 24,108, 6,214,101,150, 89,189,146,195, 54,224, 16,230, 39, 60, 43,203, 87,255,121,206, 96,249, 54,216,240,202,129,166,
+105,230,223,187, 6, 9, 83, 61,156,196,223,228,180, 93,161, 86,136,173,122, 54,255, 89,207,182, 59,255, 77,245,110,146,208, 10,
+ 17, 99, 42, 8, 44, 3, 64,131,198,215, 41,114,252,212,164,253, 61,209,143,207,100,238, 2,192,212, 26, 76,115,105, 10, 87,234,
+ 61,152, 12,188,201,231, 48,215, 1,160,180, 38,211,248, 20,169,245,254, 98,161,222, 24,196,162, 24, 7, 40,154,102,155, 40,122,
+ 40, 53, 96,187, 0, 0, 32, 0, 73, 68, 65, 84, 31,104, 68,219,113,112,253,214, 19,104,155, 82, 87,223,102,146,240,227,127, 74,
+ 7,196,254, 52, 19,157,219,190, 6,218, 68, 2,148, 17,194, 30,159,227,226,250,143,208, 57,216, 23, 52,101, 4, 40, 18,118,131,
+215, 98,112,152, 35,253, 64,246,124,121,176, 3,188,224,210,220, 77,146,180,115,231, 46, 15, 47,191, 16,130, 34, 13, 72,255,243,
+252,152, 89,243,151,244, 9,133, 34,204, 26,177,213,214, 19, 19,124, 91, 4,126, 62,123,217, 15, 76, 79, 47, 31, 17,101,212,145,
+ 69, 57,169, 29, 54,173, 94,114,132,195,200, 91,119, 95,138, 93,214,246,229, 16, 49, 38,179,120,220,209, 2,190,168,181, 90, 93,
+153,101, 50, 24,127,103,176, 89,131,214,172,221,208,190, 87,255, 33,118,166,202, 34,134,145, 66,200,111,135,126,109,190,121,203,
+214, 33, 73, 82,211, 91, 0,168,166,180,153,162, 49, 63, 99,255,164, 33,108, 22,147, 8,254,100, 39, 19, 32,159, 75,104, 5, 75,
+240, 62, 65,195, 98,120, 9,154,192,213, 84, 25,126,121,158,223, 8,146,224,103,130, 70, 0, 8, 28, 38,104,252,154, 34,135,236,
+255, 83,100, 81,212,211,241,152,193, 32, 44,138, 39, 62,143, 7, 77,117, 20,121,107,202,219, 96,195,255, 42, 24, 12, 70, 44, 69,
+ 81,189, 95,176, 48,120,131,166,233, 91,182,163,251,191,141,166, 89,180, 8,124,155,252,176,192, 25, 38, 3, 66, 3,252,190, 1,
+154, 38,180,248, 76,230,190, 59,153,197, 30, 32, 13,216,249,221,180, 67,122, 35, 64, 26, 13, 48,145, 70,152, 72, 35, 72,210, 0,
+147,209, 8,218,168,195,146,221,177,128,190, 18,225, 97,254,251, 0,147,167,181,191,193,166, 25, 7,226,175,157,119, 33,244, 10,
+252,242,211,138,207, 10,228, 85,159, 93,184, 95, 88, 18, 34,209, 44, 76,145, 97, 79, 83, 4, 65,236,182,153,136, 58,118,234,241,
+198,159, 85,105, 20, 77,195,197, 65, 16, 56, 38, 50,217,103,255,137,216,130, 13,251,180,105, 0,224, 40,226, 6,142,189,159,233,
+251,119, 78,130,132,207,223,176,125,235,102, 15, 79, 87, 1, 65,222, 88, 9,210,100,130, 79,243, 8,230,194,233, 99, 60,191, 93,
+191,107, 61,148,186,113,141,237, 31, 40, 65, 72,139,150,193,115,247,157,186,225,171, 82,202,244,231, 15,126,249, 16, 58, 24, 61,
+188,131,217,223,172,248,129,185,232,139,153,115,244,166,199,183,211,101, 72,177, 52,214, 4, 75,112, 98,197,202,181,109,251, 12,
+142,180,163,170,228, 76,173,170, 42, 96,231,238, 93,203,130,218,118, 18,246, 8,107,198,145,253, 62,133,208, 84,150,193,192,224,
+243,250,132,246,115,208,124,248,158,113,231,222,168,233, 41, 50,108,106, 74,155, 77,181,166,173, 41,234,249,163,174, 19, 52,122,
+ 36,222,138,157,108, 42,188, 3,218,100, 4, 76,134,154,119,152,140,160,169,167,239,157,167,236, 6,240,124, 66,139, 65, 99,192,
+133,107,119, 60,139,139,164, 29,215,175,253,126, 33,125,231,206, 25,152,112, 32,181, 12,113, 77, 21,152, 0, 2, 90,185, 50,207,
+ 25, 77,208, 21, 84,152, 2, 0,160, 79, 0, 15, 0,186,122,218, 17,125,243, 21,196,149,171, 15, 53,113, 86, 14,226,112,117,117,
+ 69, 73, 73, 9, 0,212,164, 66, 10, 14, 14, 6, 0, 56, 56, 56,192,160,215,219, 70, 57, 27,108,176, 94, 24,145, 52, 77,179, 94,
+ 48,231, 16,154,166, 79,255, 77,154,207, 1, 76,168,254,188, 11,192,154, 23, 80,181,102, 0, 60,170, 63, 23, 1,120,108,235, 1,
+127, 11, 53,113,179,234,126,111,106,135,226,131,166,128,195,195, 1, 64,208,212, 90,208, 0, 31, 4, 19, 48,170, 48,108,112,127,
+184, 73, 60, 0,163, 26, 48,168, 1,163, 6, 48,170, 0,163, 6, 37,210, 60,192,160, 2,178,207,128,164,105, 94,147,155,171, 83,
+ 0, 25,191,163,111, 7, 95,136, 29,249,152, 57, 44,196,109,199,217,140, 93,187,206,167,247, 75,145,225, 93,171,234, 74,211,232,
+220,166, 53, 54,238, 82,165,253,145, 32, 31, 8, 0, 67,218,185,158,237, 28,210,220,103,195, 62,109,218,233, 7,229,131, 0, 96,
+ 80,168,195,153, 78,129,158,190, 20,158,223, 84, 64,209,116, 15,175, 22,173, 9, 83,226,118, 80,202,199, 80, 42, 53,120,156,179,
+ 31,206,222,175, 51, 76, 20,122, 90,218, 95,192,196,130, 25,139, 86,177,213,202, 98, 61,101,144,155,196,204,114, 38,139, 75, 17,
+120, 18,167,171,162, 42, 76,179, 39,125, 68,206,253,234,187, 5, 0,198, 52,106,113,148, 96,250,186,117, 27,218,116, 11, 15,146,
+ 20, 29,153, 73, 84,149, 23,131,100, 10,121,195,186,116,131,147,127, 8, 85,124,121, 29,193,245,235, 7, 39, 87, 63, 60,185,113,
+ 16,185,183,142, 18,221, 59,140,224,237,249, 63,246,206, 59, 60,138,170,109,227,247,148, 45,201,166,247,158,144, 80, 18, 2,161,
+ 73,239, 40, 69, 32,188, 20, 65,154,212,151, 34,162,136, 40, 42, 40, 32, 42,197, 6, 40, 29, 84,154,180,128,148,128,148, 40,189,
+ 68, 19, 74, 42,129, 36,164,247,158,108,182,206,204,249,254, 72, 49,129,148,221, 4,245,149,111,126,215, 53,215,108,189,119,102,
+206,236,156,123,158,115,158,115, 14, 74, 95, 3,116,117, 26,173,214,246,232, 59,172,127,247,195, 45, 61, 93, 93, 8, 17, 32, 8,
+ 4, 68,224, 81,166,214,227,195, 35, 9,224,121, 30,175, 12,235,251,146,153,140, 34,130, 32,128, 16, 1,169, 89,249,229,191,133,
+198,190,148, 80,136, 80, 67, 34, 85,157,122, 14,234,123, 63,252,118, 91,125,220,105,116,157,186, 54,150, 2,174,215, 56,231,250,
+222, 57,255, 99, 91,224,135,166,123, 57, 10,124,210,185,117,240,236, 63,151,217,113,240,156, 67,113,110,250,244, 99,251,182,142,
+223,182, 99,199,129,216, 28,204, 55,198,100,189,221, 95,118,125,195,111, 37,118,189, 90,154,229,166, 86,198, 41,125,108,104, 0,
+ 24,182,253,108,244, 91,183, 86,247,104,187,252, 12, 41,186, 26,175,142,168,251,188,172,136, 76, 81, 20,133, 25, 51,102,194,220,
+220, 28, 65, 65, 65,200,204,204,132, 84, 42,253,211,188, 59, 58,194,215,215, 23,182,182,182, 96,104, 26, 4, 68,140,102,137,136,
+ 24,112,221,127,214,102, 43, 57, 57, 57,163, 57,102,203,205,205,173,127,122,122,250, 23, 85,189, 85, 40,138,250,162, 69,139, 22,
+ 43,254,188, 81,173,117,175, 87,204,243,252,212,244,244,244,171, 13,105,142, 28, 57,210,245,204,153, 51,222, 53, 52,189, 1,120,
+215,245, 89,107,107,107,190,119,239,222, 73,103,206,156,201, 16,207,144, 38, 25, 46,163,141, 86,108,202,209, 69, 93, 52,153,101,
+ 0, 16,107,192,231,107, 53,249,169,245,252,186, 61,171,166,173,107,223,194, 22,165, 74, 45, 46,132, 37,129,231,245,224, 57,174,
+ 50,178,197,129,231,244, 24,214,201, 30,189,213,243,241,109,240, 3,112,188,176,182, 33,205, 39,209, 17, 97,114,231,193,175, 30,
+ 17, 4, 34,147, 75,232, 98, 95, 15, 59,199, 37,175,116,162, 23,141,110, 15,149,142,123,245,167,203,241,191,197,228, 96,151, 65,
+154,194,211,195, 19,145,186, 94,227,185, 70,247,189,129,104, 84,143,193, 3,251, 89, 18, 77, 49,244,121, 9, 40, 45,215, 35, 33,
+ 95,143, 44,117, 17,228, 84,166, 65,154, 2, 65, 71,119, 55, 23,197,141,195,239, 63,182, 99, 74, 88, 71,134,147,202,104, 14,188,
+ 64, 24, 82, 20,173,177,109, 59, 68, 82,213,111,171,161,237, 52, 85, 88, 76,235, 63,116,164, 85,202, 79,115, 41, 83,223, 97,112,
+236,226,129,199, 87,247, 32, 39, 44, 24,249, 25, 73,148,165,186, 8, 78,118,173, 48,124,234, 68,124, 57,177, 27, 74, 75, 74,193,
+100,198, 91,201, 36,114,107, 64, 87,167, 38,225, 49,245,235,245,159,187,176, 12, 93,113, 60,171, 22, 94, 15,149, 70, 3,240, 28,
+ 76, 88, 1, 20,169,122, 79, 15, 94,175, 83,116, 28,247,254, 2,128, 15,109,108,223, 99,114,112,176,157, 3,250, 65,208,183, 37,
+122, 21, 40,224,122,116,238,159,230,199,223, 17,147, 95, 24, 54,179, 31,161,112,173, 41,101, 20, 96,135,192,174,222,230,102,102,
+ 37,177, 72, 11,122, 19,241, 48, 33, 78,125,254,139,201,179, 22, 42,118,238,220, 57, 10, 32,175,163,118, 31,181, 16, 0,104,235,
+196, 0,192, 60, 61,143, 21, 0,160,210,147, 61, 22, 50,106,214,215,135,110,217,129,169,152,209,161, 42,146,165,214,147,151,210,
+ 75, 72,161,238,210, 71, 15,122, 46, 9, 30,216,225,238,192, 84,138,146,167, 92,121,164, 41,174,107, 59,165, 82, 25,188,188,188,
+176,104,209, 34,216,218,218, 66,163,209, 32, 43, 43, 11,175,191,254, 58, 0, 96,196,136, 17,144, 72, 36,152, 61,123, 54,188,189,
+189, 81, 80, 80,128,240,240,112,148,151,151, 27,125,126, 26,137,168, 41,106,214,194,210,210,210,167, 69,139, 22, 43,244,122,125,
+127,169, 84,234,164,211,233, 32, 8, 66,150, 76, 38,187,150,148,148,180,186,164,164, 36,241,127,109,223,239,223,191,111,140,217,
+106, 84, 83, 34,145,224,193,131, 7,143,140, 48, 91, 33, 79,124,127,255,245,235,215,113,228,200, 17, 0, 64, 92, 92, 28,218,180,
+105, 99, 86,215, 23, 31, 63,126,108, 54,112,224,192,253, 0, 60, 26,210,140,136,136,240, 57,125,250, 52,130,130,130, 0, 0, 15,
+ 30, 60,128,175,175,111,157, 27,115,253,250,117,102,202,148, 41, 62, 0, 50,254,134, 50,122, 30, 76, 86,205,245,159, 70, 43, 56,
+ 56,152, 4, 6, 6, 82, 79, 62,174,131, 4, 79, 27, 89, 23,168,121, 0, 72, 48,118, 11, 98,178,177,126,211,190,243, 47,255, 26,
+180,165,191,137,148,198,202, 93, 75, 82,115, 11, 74,123,178, 84, 69,243, 11, 71, 64,219,152,203,110,173,157,222,201,179,176, 76,
+141, 83,191,167, 95,141,206, 49, 46, 68, 26,157,137,139,128, 96, 93,241,140,135, 90,149,227, 59,253,203,139,135, 14,125,240,114,
+199,197,163, 59,226,228,205,164,197, 0,215,232,168,239, 68, 16, 64, 4,174,186,243,123,229,173, 3, 32,212,158,192, 87, 0,169,
+120, 77, 48, 46, 92, 48, 0, 96, 11, 29, 49,220, 66, 33,219, 60,111,222, 28, 75,125,238, 67, 20,104,165, 72, 45, 84, 35, 75, 37,
+ 65, 25,235,136,244,216, 8,158,166,112,177,209,144, 11,133, 18,194,169,173,109,100,230,116,192,144, 5,110, 37,231,150, 21,202,
+ 40,142,177, 28,251,153,117,222,175,223, 36,113,202, 92, 37, 69,161,209,225,231,173,172,172,219,168,243,147,152,226,194, 60, 88,
+ 59,183,199,203,175, 6,226,147,145,237, 80, 90,162, 68,110,193, 45,210,218,197,146, 74,190,118, 0,203,135,251, 35, 63, 59, 19,
+ 26, 61, 64, 41, 53, 5,106,173,186,172,222,227, 72, 99,199,219,239, 46,157,236,229,226, 96, 86,149, 84, 64, 4, 30,157,252, 91,
+ 98, 72,255, 30,184,120,253, 6,254,136,136,131, 80,153, 84, 64, 4, 1,105, 57,133,217,106, 29,191,199,168, 3,202,115, 32,122,
+117,157, 70, 12, 77,104, 50, 12,112,132,130, 7, 62,238,230, 99, 49,251,131, 64, 47, 11, 51, 57, 5,181,158,135, 90,171, 71,233,
+141,205,176,107,209, 1, 10, 19, 19,170, 11, 84,236, 29, 60,125,108, 43,167, 70, 95,145,152, 89,228,130,178, 44, 76, 25,210,254,
+173,189,107,223, 48,163, 76, 42, 78, 77, 61, 95, 59,146,117, 99, 85,183,243, 83, 62, 61,113,233,200,209, 73,174, 95,190, 55,109,
+224,176,119,246, 92, 2,112,174,174,109,211,106,181, 40, 46, 46,198, 59,239,188,131,237,219,183, 99,249,242,229,213,199,143,227,
+ 56,240, 60, 95, 61, 47,229,207, 63,255,140,248,248,248, 39, 77,150,136,200, 95,202,248,241,227, 77,178,179,179, 47,123,120,120,
+180, 27, 50,100,136,162, 95,191,126, 80, 42,149,184,112,225, 2,148, 74,165,151,135,135,135,215,133, 11, 23,198,165,164,164, 68,
+187,187,187, 15, 12, 10, 10, 50,184, 15,109,165, 1, 98,170, 47,193, 0, 71, 85,100,136, 48,168,200,253, 16,208,140,121,110,101,
+ 50, 89,213,148, 89,207, 52,178,149,158,158,254,168, 41,145,173,178,178, 50,169,155,155, 27, 28, 28, 28,192,243, 60,148, 74, 37,
+ 78,156, 56,129,226,226, 98, 8,130, 0, 83, 83, 83,124,246,245, 46,196,222,185,140,208,208, 80, 20, 23, 23, 75, 27,211, 76, 75,
+ 75,163, 58,117,234, 4,141, 70, 3,142,227,160, 86,171, 17, 18, 18, 82,253,156,101, 89, 44,253,116, 3,226,194, 46,227,238,221,
+187, 72, 75, 75,251, 91,102, 27, 49,194,139,252, 47, 82,239,152, 89,127,123,214, 33,207,115, 31,238,220,123,232,214,135,243, 39,
+ 98,225,164,193, 30,171,183, 28, 31, 28,147,135,189, 0,224,111,143,233,175, 13,106,237,105,173,144,224,147,159,194, 0, 66, 62,
+108,238,239, 69, 21, 32,174,157,147,176,248,231,208,228,203,203, 38,118, 65, 75, 23,203, 54,133,178, 2, 89, 66,130, 1,115, 10,
+ 10, 28,108,204,229,126, 35, 58,217,157,131, 32,192,218, 66,222, 22, 60, 7,107,115,185,223,203,237, 45,127, 1, 0, 75,133,164,
+109, 93,145,175,250,232,234, 33,153,171,144,179,115,205, 44,172, 61,103,140, 26, 98, 58, 98,212, 56, 83,115, 9,135,252,208, 11,
+ 40,145,184, 67,111,235, 5,141,190, 0,105,137,241,252,175,183, 99,210,243, 74, 53, 75, 26,221, 76,130,171,233,137, 15, 28,124,
+ 58, 14,177,201, 11, 94,158,227, 51,243, 39,111, 26, 2, 93,122, 96,108,182,153, 99,119,211,223, 19, 18,203, 4, 82,103, 68,167,
+ 22, 37,197,197, 73,122, 30, 46, 42,158,181,136,191,244, 35, 62, 24,222, 1,133, 5, 57, 80,235, 56, 20,171, 56,157,179,181,137,
+ 92,147, 24, 9,141,142,131, 86, 47, 64, 98,237,134, 11,183, 34,242, 4,189,254,151,250, 52, 19,242,113, 55,225,196, 93,243,154,
+175,181,180, 71,167,247, 45, 77,239, 66,175, 66,114, 90, 6,246,158,185,213, 37, 33, 31,119,155, 83,206, 68,224, 42,154,159,107,
+ 68,178, 40,130,126, 77,233, 4,223,214, 17,221,165, 38,210,239,190, 88, 60,165, 93, 47, 95, 91,185,144,118, 11,148,160,131, 25,
+207, 66, 37,227, 97,229,209, 18,130,182,148,148,171,213, 69, 81, 64, 67,133,207, 0, 0,209, 41,241,229,180,246,102,148, 77, 75,
+240, 9,231,192,118,158, 11,189, 0,196,231, 11, 0, 16,161,187,244, 81,108,239,119, 79, 15,248,244,226,160,152,140, 51, 43, 99,
+220,198,111,238, 4,236,105,209,208, 54,230,228,228,128,101, 89,204,155, 55, 15,190,190,190, 32,132,160, 77,155, 54, 24, 58,116,
+ 40,126,249,229, 23,196,197,197, 65,169, 84,226,246,237,219,200,204,204, 20,107,126,145,191, 13, 63, 63, 63,231,244,244,244,168,
+119,223,125,215,118,236,216,177,248,249,231,159, 81, 82, 82,130, 61,123,246, 96,227,198,141, 88,181,106, 21,244,122, 61,118,238,
+220,169, 56,118,236, 88,247,173, 91,183,166,121,122,122,182, 79, 73, 73,201,106,196, 96, 81, 0,228, 0, 36,149,117, 23, 5, 64,
+ 56,123,246, 44, 70,140, 24,129,179,103,207, 10,149,175,241,168,184,249,105,210,220,159, 50,153, 12, 50,153, 12,197,197,197,207,
+196,108, 73, 36, 18,152,155,155, 67, 38,147,161,180,180,212,104,179,197,113, 28,147,150,150,134,226,226, 98, 12, 25, 53, 10, 27,
+214,174,197,160, 65,131, 48,100,200, 16, 16, 66, 16, 18, 18,130,193,125, 2, 48,241, 63, 3, 17, 19, 19, 3,142,227, 12,218,222,
+172,172, 44,100,103,103,227,229, 81,163,176,107,235, 86,244,232,209, 3,126,126,126,224, 56, 14,151, 47, 95,198,248, 97,125, 96,
+ 50,102, 48,226,226,226,196,147,218,240,104,214, 51,233,163,213,108,162,114,113, 91, 56,121, 37,120,210,176,238,129,163,250,182,
+195,174,195,191,126, 14,135,146, 67, 0, 96,167,145,127, 54,109, 80, 75, 68,167, 20,226,215,187, 25,193, 49,121,120, 38,217, 26,
+ 2, 15,123, 59, 75, 5,192,200,160,210, 9,156,101, 66,227, 29,152, 5, 66,160,232,255, 62, 94, 27, 21,237,209,163,157,135, 71,
+ 85,214,161,249,136,111, 48, 61,226,145,103, 55, 63,103, 79,240,122,128,215,195,114,226, 79,192,167,102,141,110, 71, 31,111,217,
+197,183, 23, 45,234, 61,124,204,171,166, 50,133, 21,248,146, 84,232,179, 34,144,255,240, 42,148,138, 54,200, 74, 78,192,145,243,
+161,197, 15,211,242, 75,104, 26, 23,178,139, 53,239, 37, 20,162,172, 49, 93,181, 30,107, 87, 44, 95, 50,242,200,161,195, 22,242,
+150,125,169,248,205, 35,138,101, 44, 39,119,240,126,129, 46, 55,177, 39,107,246, 28,182, 84,106,177,174, 49,157,114,101,201,241,
+144, 11,231, 38,182,246,233,107,241,248,143, 51, 80,169, 53,208,232,129,246,221, 7,130,231,137,140,162, 41,193,146, 97,168,156,
+252, 66, 80,122, 62,251,218,189,199,153,215,239, 37, 48, 26, 11,172,107,112,116,145, 39,221, 61,197,188, 53,106, 96,103, 64,175,
+194,127,250,119,192,134, 3,191,190, 9,240, 51,155, 87,200, 21, 17, 45, 2,244,109,231,128,237,132,160,111,216,137,141,109,187,
+142,121, 27,198, 68,180,218,219, 99,184,191,143,235,143, 27, 62,123,223,214,206,189, 13, 67, 9,122, 16,231,142, 64, 73, 26,161,
+210,110,193,202,173, 7,120,215, 62,216,249,237, 87,101,130, 64, 14,161,158,161, 45,248,202, 51, 76, 72,185, 2, 62,246,103, 36,
+ 36, 36,192,222, 43, 12,160,104,144, 22,143,161,227, 8, 52, 58, 2, 0,103, 54,237, 57, 61,232,189, 23,215,182, 31,213,150,245,
+188,117, 47, 62,231,213, 89,174,138,158,158,140,111,116,166, 25,157,167, 84,214,123,174,102,100,100, 32, 35, 35, 3, 57, 57, 57,
+ 40, 42, 42,194,144, 33, 67, 48,120,240, 96,220,185,115, 7,215,174, 93,131, 92, 46,135, 78,167,131,179,179, 51, 40,138,130, 78,
+167, 67,126,126,190,120, 57, 20,249, 75, 81,171,213,199,215,175, 95,111, 27, 24, 24, 88, 21,145,193,173, 91,183,176,123,247,110,
+152,153,213,190, 78,142, 24, 49, 2,132, 16,219,149, 43, 87, 30, 7,208,171, 62,205,222,189,123,143,186,123,247,110, 70,231,206,
+157, 19, 42,205,150, 20, 0, 29, 25, 25, 73,167,166,166, 82, 54, 54, 54,196,213,213, 85,159,145,145, 33, 0,224,103,205,154,197,
+ 28, 61,122,180,181, 82,169,188,210, 84,163, 37,147,201,158, 73,159, 45,137, 68, 2,138,162, 32,147,201, 32,149, 74, 65, 8, 49,
+202,108,241, 60,207,158, 61,123, 22, 97, 97, 97, 88,213,185, 51, 22,187,185,193,214,214, 22,151, 47, 95, 6, 33, 4,102,102,102,
+ 40, 40, 40,192,161, 67,135,240,226,139, 47,130,227, 56,169, 33,186, 65, 65, 65, 8, 15, 15,199,167, 93,187, 98,177,149, 21,204,
+205,205, 17, 18, 82,209, 26, 40,151,203,145,156,156,140,144,144, 16, 12, 28, 56, 80, 60,169,155,137,193, 39,207, 0,128, 45,160,
+224,172,211,170, 64, 56, 2, 80,112,245,247,135, 52, 38,166,118,231, 28, 67,160,105, 44,255,118,111,240,200,111,222, 30, 69,205,
+ 29,221,197,117,245,143,151, 94, 7,128,217,175,248,186, 41,228, 44, 54,157,140, 38, 52,141,229,207, 98, 7,253,253, 33,165,242,
+241,250,144, 30,126,200, 40,210, 34, 62,163,232,183, 24,192,160, 89,156,127,253,230, 53,236, 59,117, 57,117,227, 62,117, 44, 33,
+ 4,214,230,114,191,233,247,227, 61,127, 60, 27,158,242,245, 17,117, 44, 17, 8,172, 21,146,182, 51, 99,250, 52,154,117,216,213,
+ 67, 50,247,157, 37, 75,250,140,158,249,174, 9, 23,123, 20,218,248,243, 16,116, 42,148,232,164, 40, 98,156,145,150,146,130, 53,
+ 59,131, 83, 75,148,218,137, 81,185,198, 25,204,135,249, 40, 99,169,146,177,107, 62, 89,118,113,237,103, 43,205, 85, 9,151,203,
+ 24,138, 83, 49, 45, 6,176,159,173,250,134, 42,213,104, 95, 77, 40, 68,105, 99, 58, 26, 11,172, 91,255,245,183, 35,231, 76, 29,
+ 23,235,219,102,128, 29,159,145,104,167, 46, 41,201,249,233, 92,184,115,229,157, 34, 5, 0,241,105,249,200, 45, 86,114, 60,167,
+191, 98, 33,193,234,104, 67,162,131,149,248, 56,194, 33,176,111,251, 41, 14, 22, 82,168,202,138,224,104, 33,193,176, 30,173,166,
+232,127,143,123, 63, 49,199, 24,187,246,164,209,210,131,232, 85,184,189,238,197,182,132,215,183, 5,175,135,238,254,126,227, 35,
+ 99, 20, 22, 47,236,111,110,105,163,125, 76, 67,105, 6,152,218,131,178,244, 2,172,188, 41,137,255,171,200, 72,136,226,222,156,
+ 50, 53, 63, 49, 41,237,123,123,211,250,155,181,245,149, 77,201, 66,210,101,148,101,199, 35, 50, 67,135,246, 57, 21,173,237,150,
+217,119,192, 63,195,142,233,197,197,197,232,221,187, 55, 94,127,253,117,112, 28,135,209,163, 71, 35, 53, 53, 21,143, 31, 63,134,
+171,171, 43,102,205,154, 5, 59, 59, 59, 44, 89,178, 68,188,226,137,252,229, 36, 39, 39, 79,251,240,195, 15,175,247,232,209,195,
+201,222,222, 30, 29, 58,116,192,169, 83,167,240,238,187,239, 86,127,166,115,231,206, 32,132,160,160,160, 0,235,215,175,207,202,
+200,200,152,214,224, 13,122, 84, 84,236,190,125,251,250,183,107,215, 78, 39,149, 74,139, 0,200,139,138,138, 76, 10, 10, 10, 40,
+181, 90, 13, 65, 16, 4, 43, 43, 43, 62, 35, 35, 67, 63,113,226, 68,205,205,155, 55, 91, 41,149,202,228,230, 68,180, 60, 60, 60,
+ 34,243,243,243,139, 41,138,106,246,208, 15, 85, 38,203,222,222,222,161,172,172, 76, 0, 80,216,148,161, 31, 56,142, 67,215,174,
+ 93,113,254,234, 29,156,253,245, 38, 74, 50, 30,224,245, 57,211,208,161, 67, 7,156, 63,127,190,201,101,214,169, 83, 39,156, 11,
+185,142,235, 97,247,144, 28,119, 31,111,190, 62, 7,237,219,183,199,185,115,231,196, 19,218,112,206,160,118,223,172, 51, 79, 26,
+173,129,193,193,193, 85,151,254,167,236,107, 91,123,116,146, 88,203,246,175, 28,222,202, 95, 50,100, 37, 40,137, 41,142,182, 57,
+215,103,249,154,205,177,140, 99,242,212,200,156,198,179,195,106,253,105,114, 16, 69, 66, 99, 15,222,139,105, 59,229, 63, 61, 60,
+176,235,148,226, 99, 0,120,181,159, 15,126,127,152,139,208,184,156,131,209,185,136,106,238, 94, 7, 56, 66,193,231,225,224,250,
+183, 70, 15,244,114,119,198,238,159,175,131,162,112,220,160, 10,151, 16,210,163,157, 23, 54,238,123, 50,195,208,217,243,235, 35,
+234,216, 11, 81,165,195, 1, 96, 72, 91,197, 47,221, 90,217,120, 18,210,112, 78,151,169,140,157, 55,124,220,107, 38, 92,220, 41,
+ 32, 41, 4, 20,167,129, 74, 39, 32, 51,175, 20,229, 86, 30,184,124,235,158,170, 88,173,125, 59, 58,183,105, 81,188,152, 60, 36,
+ 72,255,184,151, 82,166, 84,185, 40, 28, 90,169, 25, 90, 16,202, 52, 4,191, 71, 39,149, 68,103,225,129, 33, 26, 9, 9,208,246,
+116,227,250,109,223,123,100,133, 68, 42,123,149,161, 64, 57, 90,155, 57,108,255,230, 83, 88, 88,152, 67,208,150, 1,202, 92,140,
+125, 99, 77,110,100,134,222, 7, 0,218,216,193,188,159,143,100, 47, 75, 83,105,151,226,117, 31, 53,246, 27,148, 30,243,167, 14,
+235, 44, 17,180, 74,188,181,254, 48,118,188, 63, 26,175,189,228, 47, 57,115, 35,110, 62,128,213, 77, 45,107,194,115, 32,122, 21,
+122, 45,187, 26, 75, 1,215, 9,208, 55,236,200,103,109,129, 59, 6,107,116, 1, 36, 60, 75,249,119,244, 52,147, 10,105, 55, 32,
+164,221, 32,140, 71, 31, 80,158,253, 41,202,185, 43,249,238,139, 85,202, 93,187,118, 95, 16,104,124,210,216, 80, 25, 85, 17,173,
+188,184,235,208,106,181,208,243,128, 90,173,134, 82,169,132, 89,252, 57,232,121, 64, 42,161, 0,224,229, 69, 51, 70,117, 34,101,
+ 25,229,167, 99,185,148,221,115,218,246, 34,101, 25,229,183, 83,248,184, 60,165,166,209,200,171,155,155, 27,166, 79,159,142, 9,
+ 19, 38, 84, 71, 14,250,244,233,131, 47,190,248, 2, 87,175, 94, 69,183,110,221, 32,145, 72,112,249,242,101,112,156, 56,247,180,
+200,223, 66, 66, 70, 70,198,203, 35, 70,140,248,245,252,249,243,182, 1, 1, 1, 0,128,176,176,176,138,155,206,174, 93,225,235,
+235,139,236,236,108, 76,154, 52, 41, 47, 51, 51,243,101, 52,210,231,183,180,180, 52, 49, 40, 40,200, 73,169, 84,118,254,232,163,
+143,114,188,188,188, 74,212,106, 53, 85, 84, 84, 36,112, 28, 7, 27, 27, 27, 89,231,206,157,209,187,119,239,178, 91,183,110,181,
+ 72, 77, 77, 45, 5,144,212,148,141, 31, 61,122, 52,174, 94,173, 72,218,123, 22,227,106, 73,165, 82, 4, 4, 4,184, 37, 36, 36,
+164, 87,214, 45, 70, 95,227,107, 86, 47,247,238,221,195,149, 59,105, 96,181, 42,200,114, 51,112,251,231, 32,140,154,183,160, 89,
+255,239,123,247,238,225, 68,200,109,152,201, 89, 60,120, 16,133,160,160,160,234, 27,183,191,153, 6,189,200,255, 56,153,168,167,
+159, 22, 11, 0,129,129,129, 87,170,162, 21, 53,105,217, 18, 50,121, 25, 86, 14,233,226,182,244,213,190,173, 24,125, 73, 6, 4,
+ 94, 0, 35, 1, 28,237, 45,177,127,255, 65,159,131,135, 15,223,218,186,101,235,183, 2,199, 45,143,204,129, 49, 61,110, 87,126,
+115,248,250,171,251,151, 12,100, 95, 31,222,214, 22, 0,164, 44,141, 77,167,162, 56, 0, 43,155,179,183, 61,221, 96, 82,166,199,
+ 92, 71, 59,171,143, 63,252,239, 72,219,129, 93,125,113, 37, 52, 18,223, 6,221,186, 42,203,193, 62,131, 79,110, 65,143, 39,253,
+ 83, 93, 89,135, 16, 26,239,119,201,243,196, 89,106,102, 3, 93,210, 37, 64,167,134, 90,163, 67,106, 62,143,212, 2, 53, 88,133,
+ 20, 97,113,105, 42,187, 44, 4, 55, 99,183, 41, 51,133,137,235,138,207,191,118, 87,171,202,184,146,194, 60, 78, 42,187, 45, 81,
+152,202, 51,141,233,170,112, 59, 29,234,254,222,146, 23, 0,129,145,153,144,242,101,239,204, 48, 75,143, 62,143,214,116, 6, 40,
+ 66, 96,234, 63, 18, 22,166,140,180,111, 11, 73, 10, 0,152,153, 41,100,235, 63,121,215,234,237,247, 63,105,180, 15,152, 63, 32,
+245,109,233,252,118,128,151, 13,174,134,199,226,106, 68,114,212,213,176, 7,237, 7,117,112,133,175,187,245, 34, 89, 97,209,186,
+ 24, 24, 31, 33,173, 40, 24, 14,208,171,171,179, 14,253, 29, 49,185,219,171, 31,213,151,109, 88, 39,222,128, 16,199, 19, 80, 12,
+ 3, 80,116, 69, 6,100,234, 13,176,214, 45,201,193, 35, 39,202,119,239,222,247,105, 76,158, 97,201, 25,250,138, 83,130, 47, 41,
+ 41,129,153,153, 25,206,197,113,154,215,134, 73,229, 52, 77, 35, 53,238, 78, 69,103,120, 91, 26, 0,218, 73, 7,125,214,246,198,
+170,110,231, 45,100,148,220,117,228, 39,254, 92,196,190, 52, 67, 42, 9,127,127,127,248,248,248, 96,194,132, 9, 72, 72, 72,192,
+218,181,107,145,153,153,137,243,231,207,227,245,215, 95, 71,159, 62,125,144,159,159,143, 31,127,252, 17, 97, 97, 97,200,202,202,
+ 18, 45,128,200,223, 66,113,113,241,253,152,152,152, 97, 29, 59,118,220,243,214, 91,111, 89, 76,157, 58,213,117,206,156, 57, 52,
+ 0,100,103,103, 11, 27, 55,110,204,248,238,187,239,138,243,242,242,102,234,245,250, 8, 67,254,225,153,153,153, 55,191,255,254,
+251,220,107,215,174,181,239,222,189,187,252,133, 23, 94, 16,108,108,108, 88,185, 92,206,107,181, 90,117, 92, 92, 28,159,144,144,
+224, 82, 84, 84,244, 8, 64, 60,154, 48, 99, 69,101,244,106, 53,195, 48, 43, 8, 33, 1,207,162,143,150, 66,161,112, 5,240,136,
+162,168,214,198, 54, 27, 62, 85, 97,179, 44, 10, 11, 11, 81,158, 21, 5,147,180,135,232,104, 70,163,157,141, 57, 44, 45, 45,155,
+101,138,138,139,139, 1,101, 58,174, 95,191, 7,112, 28,172,172,172, 96,101,101,245,183, 27,173,250,188,200,191,132,185,117,188,
+214,112, 31,173,118, 14,120,221, 84,139,141,243, 70,182,146,122,123,186, 67,147, 22,134,123,169,101, 88,222,179,123, 52, 35,183,
+ 80,207,155, 54,186,235,184,241, 45, 48,176,119, 55,202,219,197,106,209,186,111,182,189,209, 14,121,239, 70,231, 96,147, 33, 91,
+ 20,157,139, 68, 1, 57,187, 47,221, 79,155,239,174, 80, 65, 16, 8, 46, 69,100, 34, 34,169,112,119,108, 46, 18,141,217,187,118,
+ 46, 24,204,130, 62, 76, 8, 49,177, 50, 51, 43,109,231,235,110, 63,184, 87, 39,250,229, 1, 93, 33,101,128,235,191,223,195,226,
+111,142,223, 22, 4, 50,242,142,129,205,134, 21, 25,134,181, 13, 84, 69,134,161,190, 86,134, 33, 33,132, 84,100, 29, 54, 28,124,
+ 96, 24, 42,171, 60,249, 15,103,137, 93, 27,168,226, 47, 33,169, 80, 64,114, 78, 41, 74, 88,103,104,210,211, 1, 34,164, 92,105,
+184, 99,117,131,216,219,219, 59,250,180,243,109,181,121,111, 16,116,229,197, 72,188,188, 7,101,133,153,248,108,251,169, 86,110,
+110,118, 3,210,211,211,175, 24,113,177,241,253, 53,248,160, 35, 8,192, 72,228, 56,179,245, 8,242,236, 76, 97,175,144, 66, 80,
+229, 98,222,219, 83,173,134, 15,153,106, 5, 0,201, 15,238,194, 75,161, 50, 72, 87,103,135,113,175, 14,242,179,134, 94,133,189,
+231,238,170,105,224,229,125, 23,162,226, 7,181,181, 54,121,181,175,151,205,234,140,162, 87,144,223,180, 65, 69,171, 34, 90,213,
+ 17,190, 38,100, 27, 6, 1,124, 91, 1,241,135,111,230,152,141, 31,242,130, 66,202, 82, 20, 41, 75, 7, 49,181,199,182,189, 71,
+203,100,122, 24, 60, 19,123,229,217,176,186,199,218,196, 21, 21,231, 9,246, 12, 95, 27,246,223,139, 31,247,116,200,202,202,130,
+142, 39, 72, 44, 16, 0,224,183,105, 67,218,241,105,197,130,246,194,186,177,227, 41, 83, 7,217,123, 95,238,187, 76,208,120,100,
+147,227, 56, 40, 20, 10, 16, 66, 16, 20, 20,132,228,228,100,228,231,231,131,231,121,188,247,222,123,240,243,243,195,131, 7, 15,
+ 80, 90, 90,138,156,156, 28,136,136,252,157,168, 84,170,112,149, 74,213,225,189,247,222,155,188,108,217,178,254,102,102,102, 62,
+ 0,160, 84, 42, 19,245,122,253,213,202,255,167, 49,217,129, 4,192,163,248,248,248,196,248,248,120,167, 3, 7, 14, 88, 3, 48,
+169,124, 79, 13,160, 8, 64, 54,154,145,113, 88,101,170, 40,138, 90,241,172,142, 67,149,169,162, 40,170,117, 83,190, 79,211, 52,
+ 79, 81, 21, 99,231,201,229,114, 92,187,118, 13, 19, 70, 14, 65,204,153, 34, 4, 88,155,163,251,204,121, 56,124,241, 34, 24,134,
+ 1, 69, 81, 96, 24,198,168,122,132,101, 89, 92,191,126, 29,175, 77, 26, 15, 57, 11, 88, 89, 89,225,189,247,222,195,201,147, 39,
+193,178,226, 44,125, 70,176,179,134,225, 50,112, 28, 45, 10,171, 47,238, 89, 35, 5,175,199,233, 61, 95, 33, 56,178, 76,251, 32,
+ 23,203,253,114,177, 49, 8,165, 66,238, 55,251,230, 95,188, 30,249,229,172,137,129,138, 23, 7, 13,193,139, 3, 7,177,237,187,
+ 13,248, 24,168,101,180, 6,163,129,177, 54,120, 1,159,238, 60, 23, 59,239,240,229, 56, 10,186, 82, 76, 28,218,141,240, 2, 62,
+109,100,103,158,210,180, 50, 53, 63,124,253,214, 45, 27,232,202,144,116,247, 55,147, 22, 62,173, 0, 94,135, 71,143, 30,226,187,
+189, 63, 11,151,127,127,176, 95,203,225,173,132, 66, 40, 13,213,172,168, 45, 57, 88,153,201,252, 94,110,111,249,139, 0, 2,107,
+133,180, 45, 17,120, 88, 43, 36,109,135,180, 85,252, 66, 8, 33, 22,166,146,182,132,215, 55,170,169,210,114, 59,246,254,176,251,
+235,217,179,103,155,229,165,101, 33,163, 36, 18,101, 50, 55,232, 21, 30,136,191,123, 85, 85,174,225, 12,169,196,235, 61,158,121,
+121,121, 57,225,161, 5, 56,188,125, 45,244, 90, 13,114,210, 42,188,106, 70, 94, 9, 44,237,221,110,165,167,167, 27,172,169,227,
+132,226,113, 83,231, 74, 77, 45, 96,250,218,184, 64, 89,124,190, 6, 93, 92, 45, 42, 46, 26,101,185,136, 9,185,142,129,149,125,
+ 76, 19, 82,105,120,117,114, 53,104, 59, 45, 76,164,111, 13,127,193, 13,137, 41,153,184, 22,149,190, 55,177, 0, 25,124,108,230,
+222,248,140,162,249,163,123,122, 98,195,201,232, 55, 1,253, 65, 99,246,221,223, 17,147, 9, 65,223,138,206,240, 42, 16,160,175,
+191, 35, 38, 27,152,105,248,148, 38, 43,197,148,175,127, 73,254,232,232, 31,121,163,151, 78,233,103,217,187,247, 8, 25, 56, 45,
+ 74, 85, 26,125, 76, 17, 74, 12,213, 44, 81, 9, 0,176,163,114, 1, 0,132,167, 9,251,251,173,188,117,245,224, 28, 15, 7,129,
+ 0, 87,227, 53, 0,112,107, 86, 15,211, 91, 62,182,244,199,210, 65,159,249,221, 90,221,227,124, 68,166,112,224,106,124,245, 24,
+ 90, 13,150, 59, 33, 4,122,189, 30,130, 32,192,214,214, 22,249,249,249,200,201,201, 65, 78, 78, 14,226,227,227,155,116, 46, 53,
+ 3, 81, 83,212,124,234, 50, 15, 96,191, 94,175,223, 95, 84, 84,244, 44, 53, 51,240,244,184, 78,205,218,247,154,205,132,132, 16,
+182, 50,154,213, 88,103,248, 6, 53,107, 54, 19, 18, 66,206, 86, 70,179, 26,139,106,213,210, 20, 4, 33,163,107,215,174,182,163,
+ 70,141, 2,207,243,120,248,240, 33,146, 83, 83, 49,120,254,155,176,182,182,198,213,251,247,241,224,193, 3,172, 88,177, 2,122,
+189, 30, 39, 78,156, 72,107, 76,147,101, 89, 93,171, 86,173,164, 99,198,140, 1,199,113, 72, 72, 72, 64,122,122, 58, 22, 47, 94,
+ 12, 43, 43, 43,132,135,135, 87,107,230,229,229,129,101, 89, 93, 29,209,173,191,226, 92,250,183,243,148,201,106,216,104, 1, 60,
+120, 61,138, 47,174,196,166,107,208,233,244,104, 27,157,139,199,209,127, 70,164,182, 49,161,247, 79,223,143,140, 77, 12,191,241,
+162, 12, 57, 17, 48,246, 78,226, 97, 62, 50, 45, 76, 74, 75,161, 43,181, 68,194, 47,120,156, 93, 90,246, 48, 31, 70,231,162, 19,
+129,167,160, 43, 7, 50,195,112,243,234, 21, 92,190,125, 15,127, 68,196,242, 55,195,227, 14,211, 2, 62,141,201,199,195, 38,220,
+133,192,124,228, 6,204,136,120,228,217,205,215,201, 19, 60, 7, 34,232, 97, 53,241, 32,102, 70,247,246,236,214,210,218,179, 34,
+146,165,135,205,127,127, 3,190, 54,105, 80, 47, 44, 85,191, 83,118,242,252, 43,165, 69,249, 61, 95, 26,208,203,204,202,127, 56,
+242, 30,197,225,225,189,235,170,240,200,248,155, 97,169,250,157,205, 41, 93, 55, 55,183,254, 47, 13,240,195,196,121, 31, 66, 87,
+ 94,140,132,203, 63,160,172, 32, 11,215,110,153, 35,182,164,164, 23, 0,131, 35, 90,183, 82,184,246, 72, 41, 68,159, 22,146, 20,
+ 11,104,156,167, 5,142,130,156, 82, 67,208,148,128, 42,207, 67,124,186,182,248,149,237,169, 60, 0, 40,228, 20,107, 70,138, 45,
+ 13,138, 60,122,217,181, 81, 48,122,236,187, 24, 5, 65,168,152,190, 73, 16,176,109,223,111,241,243, 63,125,173, 11,218,121,218,
+116,186,155,158, 67,193,136,144, 63, 69,208,239,143,195,159,180, 85,255,250, 49, 32,232,112,125,145,109,219,126,155, 10,250,161,
+137,211,237, 68,102, 32, 29,192,124,176,229, 59, 22,109, 58,247,113,215,139,209,125,151,252,119,180, 37,200, 51,201,208,141,139,
+206,226,251,247, 88,151,124, 94, 32,127,182,231,254, 25,217,242, 39, 25, 37,228,238,213,120, 77,132, 49,162, 28,199,129,136,195,
+190,139,136, 60,151,148,149,149,205,155, 57,115,230, 14,137, 68,226, 0,128, 18, 4, 1,130, 32,176, 95,126,249,165,132,231,121,
+154,166,105,158, 97, 24,238,236,217,179,122,158,231,115,213,106,245, 60, 3,174, 25,241, 11, 22, 44,104,213, 88,134,226,161, 67,
+135,170, 76, 86,188, 88, 18, 6,153,172,154,235,234, 40, 23,219, 64,144,246,147, 62,175,173, 92, 9,128, 2,193,170,232, 92, 60,
+126,242, 35, 17, 5,200,104,199,232, 22,183,239, 54, 96,101,213,119,140,221, 50, 53,207,143,239,214,193,247, 16, 0,104, 8,255,
+ 90, 83,246,174, 68,163,122,181,115,183, 94,135, 5, 66, 88,142,144,221,180,128, 99,106, 14, 49,134,100,218,213, 71, 70, 78, 81,
+248,240, 0, 43, 2, 84, 52, 25, 86, 55, 23, 86, 14,227, 64, 8, 33,213,205,133, 95,153, 32,175, 88,211,232, 56, 80, 55, 30,107,
+135,104,185, 63,230, 94,184,113,119, 30,207, 19,103,134,161,178, 84, 90,110, 71,115, 77, 22, 0,164,167,167, 95, 9,185,152,126,
+225,126, 39,167,161,246,138,202, 40, 87, 57,144, 87,142, 11,233,185,101, 87,154,162, 89,168,212,143, 94,182,241,228, 41,153,132,
+ 97, 65, 72,197,128,162,132, 64,173,227, 11,110,165,112,237, 1,160,131, 45, 92,223, 59,193, 29, 98, 24, 42,185, 49,189,208, 7,
+153, 27, 38,174, 11,121, 55, 42,169,112,119, 82, 17, 34, 1, 32,169, 8,145, 71,174, 63,254, 56, 62,171,244,221,200,228,194,175,
+ 96,100,191, 10, 66,225, 90,183,137, 43,159,122,173,185,199, 51, 54, 19,247, 0,140, 5,210,134, 76, 92,242,221, 18,138,194,179,
+154,126, 34, 78,165, 35, 94, 53, 95,168,138,108, 85, 46, 6,163,213,106,161, 82,169,192,243, 60,116, 58, 29,180,226,188,134, 34,
+ 34,207,140,170,168, 22, 77,211,171,159,161,230, 89,138,162, 70, 0,120,100,196,215, 66,203,202,202, 58, 60,227,221,203,231, 56,
+206,160,177, 94,196, 36, 26,131,217,249, 79,253,240, 96, 81,243,239,215,108,221,186, 53, 49,194,176,136,199,243, 95,172,217,162,
+ 69, 11, 4, 6, 6,194,213,213, 85, 60,158,162,166,168,105,160, 38, 33,132,105,206, 82,143, 38,213,156, 69, 44,163,127, 61, 79,
+118,134,159, 91, 21,156,160,197, 99,243,252,241,232,209,163,234, 49,175, 68,158,111,146,146,146, 80, 86, 86,134,140, 12,113,190,
+ 87, 17, 17, 67,161, 40,138,111,206, 82,143, 38,105,206, 34,150,202,115,107,184, 68,163, 37, 34,242,111,231,202,149, 43,226, 65,
+ 16, 17, 17, 17,249,223, 49, 89,181,204, 22,133,111,195, 47,213, 0, 0, 32, 0, 73, 68, 65, 84,250,195,127,198,100, 19, 52, 37,
+132, 24, 34,106,138,154,162,166,168, 41,106,138,154,162,230,255, 59,205,198,180,159,139,108,198,191, 43, 73, 73,236, 15, 32,106,
+138,154,162,166,168, 41,106,138,154,162,230,243,142,216, 71, 75, 68, 68, 68, 68, 68, 68, 68,228,239, 70, 28,246, 85, 68, 68, 68,
+ 68, 68, 68, 68,164,121, 52, 58,169,180,136,136,136,136,136,136,136,136, 72,211,104,120, 82,105, 17, 17, 17, 17, 17, 17, 17, 17,
+145, 38, 99,252,164,210, 34, 34, 34, 34, 34, 34, 34, 34, 34, 6,177, 83, 60, 4, 34, 34, 34, 34, 34, 34, 34, 34,127, 15,181,179,
+ 14,131,131,131, 73,205,181,136,136,136,136,136,136,136,200,223,201,243,234, 69,196,166, 67, 17, 17, 17, 17, 17, 17, 17,145,230,
+ 49, 87, 52, 90, 34, 34, 34, 34, 34, 34, 34, 34,127, 13,245,246,209,170, 26,176,116, 96,101,168,110,160,120,172, 68, 68, 68, 68,
+ 68, 68, 68,254, 1,158,111, 47, 34,246,207, 18, 17, 17, 17, 17, 17, 17, 17,189,200,179,161,170, 51,188,136,136,136,136,136,136,
+136,136, 72,243, 16,231, 58, 20, 17, 17, 17, 17, 17, 17, 17,249,155, 13,215, 95,110,180,196,153,205, 69, 77, 81, 83,212, 20, 53,
+ 69, 77, 81, 83,212,252,255,100,178,106,153, 45, 49,235, 80, 68, 68, 68, 68, 68, 68, 68,164,121, 52,154,117, 40, 34, 34, 34, 34,
+ 34, 34, 34, 34,210, 52,230, 2, 8,172,124, 28,136, 26, 81, 45, 49,162, 37, 34, 34, 34, 34, 34, 34, 34,210, 60,118, 2,112,169,
+ 52, 88,103, 0,100,138, 70, 75, 68, 68, 68, 68, 68, 68, 68,228,217, 80,179, 95,214,200, 26,230, 75, 52, 90, 34, 34, 34, 34, 34,
+ 34, 34, 34,205,164,222, 62, 90, 20,234,207, 28, 8, 49,226, 7,154,146,125, 16, 34,106,138,154,162,166,168, 41,106,138,154,162,
+230,255, 59,205,198,180, 67,240,239,227,169, 97, 29, 8, 33, 59,255,142, 31, 22, 83, 95, 69, 77, 81, 83,212, 20, 53, 69, 77, 81,
+ 83,212,252,127,199, 95, 54, 96,105, 23,192, 84, 60,188,207, 37, 78,149,139,136,136,136,136,136,136, 72,195,252, 53, 89,135,254,
+192,127,167, 6, 56,108,215, 71,230, 90, 70, 2,229, 13,125,214,193,193, 97,135, 66,161,152, 90, 94, 94,174,164, 40, 74,168,233,
+ 0, 1,212,156, 28, 40, 33, 55, 55,183, 95, 99,191, 45,147,201, 54, 58, 57, 57,253,183,172,172,172,156,162, 40, 66, 81, 20, 40,
+138, 2,128,167,214, 60,207,167,229,231,231,119,253,151, 91,101,198,222,201,233,119, 9,195,184, 25,251, 85, 94, 16, 30,231,100,
+103,247, 50,226, 43,107, 41, 10, 75, 43,126, 22, 95, 0,248,240,185,187,243, 0, 24, 67, 62, 23, 0, 88,196, 1, 19,121,154,126,
+ 83, 2,108,209, 8,194,118, 0,160, 0,190,169,191,173, 9, 69, 43,138,160, 19, 69,193,138, 16, 20, 19, 10,247,228, 61, 16,255,
+ 15, 29,138,113, 18,137,100,180,165,165,165,121,126,126,254, 21, 0,135, 0, 76,178,179,179, 27, 80, 82, 82, 82,166,215,235, 79,
+ 2, 56,222, 20,225,126,157,240,190, 76, 42,153,165,214,233,215,223,184,135, 31, 6,116,129, 29, 39, 96,157,137,148,237,167,209,
+114, 95, 92,191,143,221, 70, 74, 82,149, 75,213, 53,195,232, 73,197,142, 26, 88,238, 0,112,194,198,198, 87,238, 96,249,171, 68,
+198, 60, 46,202, 46,155, 58, 62, 39, 39,117, 66, 51,202,253,127, 17,123,123,251, 25, 52, 77,127, 78, 8, 1,207,243,203, 11, 10,
+ 10,246, 60, 35,233,229, 0,172, 43, 31, 23, 1,248,188,153,122,201, 0, 60, 43, 31,167, 0,240, 18,235,245, 38,179,237,231,159,
+127,158, 63,104,208, 32,108,216,176, 1,219,182,109, 75,202,205,205, 93, 7, 96, 47, 0,237, 63,160, 35, 82, 31,237,128, 17, 95,
+ 14,235,193,235,127,252, 84,168,241,242,224,122,254,204,223, 79,155, 54, 77, 71, 8, 33, 15, 30, 60, 32, 90,173,150,232,245,122,
+194,113, 28,225, 56,142,232,245,250,234,197,205,205, 45,253,137,175, 63,165, 73,211,244,166, 87, 94,121,165,148, 16, 66,194,194,
+194,136, 74,165, 34, 26,141,134,104,181, 90,162, 86,171,137, 74,165,170,181, 56, 57, 57,101, 55,164,105,105,105, 25,102, 99, 99,
+147,109, 99, 99,147,109,107,107,155,109,107,107,155,109,103,103, 87,189,216,219,219, 87, 47, 14, 14, 14,217, 14, 14, 14,217,182,
+182,182, 97,141,109,103, 37,195, 0, 92, 49, 96, 25, 86,199,119, 7,215, 52, 90, 46, 46, 46,217,164, 9,184,187,187,167, 26,176,
+157, 85, 56, 81, 20,248,170,239, 82, 20, 4,185, 92,238, 89,243,125, 60, 29,233,106, 52,164,236,234,234,250,138,139,139, 75,136,
+139,139,203, 69, 87, 87,215, 87, 12, 56,197,106,105, 90, 88, 88,132,217,219,219,103, 59, 59, 59,231, 84, 45, 46, 46, 46,181, 22,
+ 87, 87,215,234,197,201,201, 41,219,198,198,166,222, 50, 34, 0, 83,223,114, 25, 96,229,192,139, 44,195, 4, 59, 57, 57,149, 68,
+ 68, 68,240,132, 16, 66,211,116,122,213,103,140,217,247, 39, 77, 86,249,117, 44,207,187, 36, 15, 45,123,188,174, 56,239,146, 60,
+180,252, 58,150,107, 66,209,170,169,154, 6, 82,151,230,244,233,211,167,223,203,206,206, 78, 47, 42, 42,202,220,190,125,123,156,
+137,137,201,245,237,219,183,199, 21, 21, 21,101,102,103,103,167, 79,159, 62,253, 30,128, 5, 70,104, 2, 0,122,117, 66,207,217,
+227, 92,202,239,157,120,173,252,197,110,236,221, 62, 1, 8, 28,210, 75,154,190,249, 3,255,242,171,187,250,150, 15,122,129,142,
+ 52, 82,147, 98, 89,182,183,167,167,231, 44, 7, 7,135,105,149,203,107, 85,139,179,179,243,107,206,206,206,175,217,216,216, 76,
+104, 72,243, 40,192, 24,178,120,152,152,244,158,224,227, 89,158,188,122, 21,137,120,251, 77, 50,171,165, 71,201,120, 71,199, 22,
+255, 64, 25,253,165,154,142,142,142, 25,122,189,158,232,116, 58, 98,103,103,151,241, 12,183,243, 43, 66,200, 87,132,144,175, 0,
+124,245, 12, 52,171,175,103, 70, 24,236,134, 52, 77, 88,154, 94,162,144,201, 46,202, 89, 54, 71,206,178, 57, 10,153,236, 34, 75,
+211,239, 2, 48,249, 95, 42,163,191, 64,211,220,193,193, 33,113,227,198,141,164,188,188,156,148,151,151,147,141, 27, 55, 18, 7,
+ 7,135, 68, 0,230, 70,104, 54, 85,231,121,138, 96,213, 90,170,154, 14,159, 73, 68,203, 31,232,250, 98,167,214,199, 22,205,152,
+ 8, 33,104, 35,213,200, 29,211,247,189,186,118,157,181,119,239, 94, 0,192,212,209,163, 49,180,123,119, 88,152,155, 65, 38,171,
+216, 28,138, 80,144, 74,164, 24,179,248, 29, 67,126,254,139, 49, 99,198, 76, 9, 10, 10, 50, 7,128,109,219,182, 97,220,184,113,
+176,181,181,133, 66,161,128, 84, 42,133, 68, 34,169,181,110, 12,134, 97,220,211,211,211, 29, 77, 76, 76,170,163,108,130, 32,212,
+ 90,106,206,202,205,113, 28,218,180,105, 99,232,225,250,160,184,184,184,191, 82,169,172,214,168,107,241,241,241, 1,128,243,134,
+ 8,126,254,217,167, 16, 56, 37, 88, 22,224, 56, 64,163,163, 33,144, 58,205, 13, 22, 44, 88,208,172,217,196, 71,142, 12,164, 40,
+138, 10, 10, 15, 15, 63,150,147,147,227, 45, 8,252,156, 38, 70,186,222,120,248,240,161, 57, 0,248,250,250, 46, 0,112,204,152,
+237, 96, 89,214,253,254,253,251,142,114,185,188,222,200,101,141, 8, 38,116, 58, 29,186,116,233,194, 25,243, 27, 78,128,103, 1,
+ 77,207,233,252,194, 11,115, 87,142, 25, 99,242,251,239,191,155,208, 52, 13,142,227,240,229,151, 95,114,132, 16,235,118,128,101,
+ 52, 80,210,128,204, 50, 0, 51, 42, 43,131,221, 0,190,172,229, 22, 8, 58,169,244,242,192,132,178, 49,221,123,180,120, 31,209,
+ 81, 17,221, 91,154,159,128, 5,171,137, 7,254,222,168,150,165,165,229,232, 13, 27, 54, 56,236,222,189,187,228,193,131, 7,186,
+237,219,183, 59,204,155, 55,207, 66,167,211, 97,254,252,249,185,126,126,126,210, 13, 27, 54, 56, 28, 63,126,252, 69,165, 82,185,
+213,168,242,162,240,233,164,209, 67,161,214,211,208,235, 57, 7, 23, 7,139,253,139,166, 15,148, 16,162,197,190,147,225,208,115,
+194, 15, 70, 70,178,122,141, 31, 63,190,229,193,131, 7,217,216,216, 88,182,109,219,182, 16, 4, 1, 60,207, 67,175,215, 3, 0,
+ 4, 65, 64,235,214,173,155,125, 92,102, 1,190,246, 78,182, 23,123,141, 24,110,234, 98, 34,135,109, 97, 46,102, 75, 89,139, 61,
+ 10,205, 1, 0,189,159,171,200, 46, 33, 96, 89, 22,169,169,169,112,116,116, 52, 21, 4, 33, 19,192,170,194,194,194,157,120,126,
+233, 46, 99,217, 99,251,126,216,228,220,163,119,111,198,201,197, 17,113, 15, 83,192, 82,252,224,251,127,132, 15,156,245,250,146,
+ 69, 90,142,123, 5,192,239,207,219,142, 59,247, 94, 48,150,162,153,109, 20, 17,240,201,230, 83,165,107,191,216,168,152, 63,103,
+ 58,179,120,241, 98,120,120,120,120,143, 29, 59,246, 11, 0,175, 55,170,211, 99,193, 88, 48,244, 54, 16,130,149,223,157, 42, 93,
+243,197, 70,197,235, 77,208,249,151, 83,239,127,164,217, 70,203, 31,104,217,222,195,241,194,218,165,175, 75,200, 47, 63,210,229,
+249, 57,245,126,214,193,193, 97,199,203, 47,191, 60,117,207,158, 63,163,209,189, 2, 2, 48,246,197,190,112,180,179,130,194, 76,
+ 86, 81, 29, 9, 20,238, 61,120,108,144, 33,240,240,240,152,127,236,216, 49,243,154,102, 66, 42,149, 86, 47, 53, 77, 86,213, 82,
+ 85, 1, 55,132,137,137, 9, 66, 66, 66,192,178, 44, 24,134, 1,203,178,213, 75,205,231, 12,195,192,201,201,168,174, 75,235,172,
+172,172, 58,150,150,150, 90, 22, 21, 21,193,211,211,179, 4,192,253, 26,239,119,204,205,205,181, 52, 70, 80,224,148, 88, 60,219,
+ 31, 18,237,109,104, 37,221,161, 98,251,224,230, 31, 49, 8, 62,127, 5,233, 25, 89,232,219,179, 51,166, 77, 30,143,139, 23, 47,
+130,231,141,110,233,200, 38, 4, 95,140, 26, 21,248, 62, 64, 81,131, 7, 15, 46, 90,184,112, 33, 29, 27, 27, 59,101,236,216, 49,
+ 1, 15, 31, 62,170,140, 42, 82, 75, 9,193, 38, 0,217, 6,234,202, 0,224,234,213,171, 0, 32,111,202,185, 39,151,203,113,235,
+214, 45, 84, 53, 19,211, 52, 13,154,166,193, 48, 12, 78, 63,178,135, 82, 75,163, 60, 59, 18,111, 6,122,194,199,199, 7, 52,221,
+120,151,196,129,128,201, 77, 96, 44, 37,145, 44,118,113,117,245, 30,208,178,165, 34, 36, 36,132, 1, 0, 47, 47, 47,146,153,153,
+ 89,116,242,228,201, 82, 22,216,230, 69,200,222,134, 76,150,135,135, 71,159,244,244,244,207,171,142, 57, 69, 81, 95,180,104,209,
+ 98, 69,117,185, 9, 2, 86,253,160,148, 44, 90,244,182,180,199,192,143, 0, 0, 61, 70, 29, 68, 73,194, 90,127,170, 96,153,213,
+223,125,149, 40, 41, 41, 57,220,186,117,107, 38, 63, 63,255, 38,128,100,189, 94,255,193,254,253,251, 29,103,207,158,157,115,224,
+192,129,117, 0, 92,215,175, 95, 63, 80,169, 84, 30, 49, 70,183,111, 71,140,120,161, 99, 64, 79, 79, 15, 15, 92,185,249, 59,164,
+ 50,137,245,130, 25,129, 48, 55,103,241,213,238, 51, 66,114, 90,193,194,235,247,177,215, 8,147,213,125,252,248,241,222, 7, 15,
+ 30,148, 1,192,253,251,247,145,149,149, 5, 7, 7, 7,152,154,154, 66, 34,145,128, 97, 24, 72, 36,146,103, 98,178,172, 60,236,
+ 66, 79,156, 56,105,106,107,107,141,205,239, 44,194,180,156,108, 88, 91,152, 67, 95,166,244,126,206, 42, 10,223,126,253,250,153,
+240, 60, 15,165, 82,137,203,151, 47, 91,153,154,154, 90,185,187,187,175,108,168, 18,169,227,218,153,173, 86,171, 29, 43, 31,231,
+168,213,106, 39, 0, 37,114,185,188,234, 58, 93, 86,185, 54,180, 57, 49, 25, 79, 55, 19,166, 80, 20, 85,243,181,166,210,173,123,
+183,142, 33,199,131,126, 50, 47, 46,205,130,181, 77, 14,104, 20, 99,231,206, 45, 48, 53,181,196,202,149,203,216,199,131, 95,116,
+ 27, 54,226,149,144,168,152,184,193,207,157,217, 34,212,206,193,163,166,218,154, 42, 44, 42,235, 18, 61,246,236, 90, 4,154,166,
+177, 98,197, 10,180,111,223,126,110, 84, 84,212, 71, 0, 10, 26,150,193,206, 14,253, 95,181,149,153, 84, 20,177,192,235,177,253,
+208,187, 21, 58, 31,206,195,164, 81, 62,115,223, 27,159,120,174,125, 75,148, 86,222,152,171, 36, 52, 82,168, 30,168, 54, 12,193,
+193,193, 3, 2, 3, 3,175,212,247,252, 95,128, 11,254, 28, 63,171,150,249, 98,131,131,131, 73, 96, 96, 32, 85, 99,231,106, 61,
+111,136, 78,128,189,141,149, 34,100,219,170, 69,230,236,237, 51,140, 42,229, 17, 50,212,181, 42,242, 90, 41,154, 10,133, 98,234,
+158, 61,123,106,133,148, 60,157, 28, 33,149, 74, 32,145, 82,176,238, 87, 49,122,125,209,181, 96, 80, 84,189, 38,171,150,166, 82,
+169, 84,223,189,123,215,124,247,238,221,112,116,116,132,183,183, 55, 20, 10, 5, 76, 76, 76,106,153,171,154,134,171, 14,163, 85,
+ 75,179,234,125,150,101, 65,211, 52, 46, 94,188, 8,142,227, 48,126,252,248,167, 76, 22,203,178,245, 25,183,250,210, 83,207, 3,
+184, 79, 8,233, 95, 89, 1,223, 7, 48,160,198,251,195, 28, 28, 28, 62, 0,176,206, 80, 77,134, 33, 96,212, 55, 33,184,111, 4,
+155,186, 8, 90, 73, 39, 92,186, 30,142, 61, 59, 54, 0, 0,188,219,118,195,132,177,129,213,209, 56, 3,183,179, 26, 55, 55,183,
+ 67,185,185,121,195, 95,124,241, 69, 20, 22, 22,234, 87,173, 90,133,142, 29, 59,194,215,215,215,160, 50,170,231,206, 57,251,254,
+253,251, 30, 42,149, 10,132, 16, 67,204,217, 83,154, 20, 69, 97,255,254,253, 80,171,213, 79,125,216,102,192, 26,188, 59,206, 11,
+ 51,223,220,139, 47, 30, 28,193,214,173, 91, 27,220,119, 5,208, 81,109,213,122,147,140,225, 58,174, 91,246,134,124,218,180,105,
+204,204,153, 51,145,146,146,130,217,179,103,171, 47, 94,188,168,205,202,204, 60, 41, 19,132,205,186,218,198,184, 94, 77,185, 92,
+190,239,252,249,243, 56,114,164,194,151,196,197,197,161, 77,155, 54,102,181, 76,114,193, 81,148, 38,111, 70,232,233, 88,244, 24,
+117, 16,161,167, 39,131, 47, 58, 35,233,218, 6,197,198, 28,207, 38, 80,151,230,145,252,252,252,106, 19,117,224,192, 1,211, 3,
+ 7, 14,140, 1,112, 10,192, 17, 0, 40, 40, 40,248,198, 72, 77,128,194,204, 87,199,141, 1, 43,181, 64,236,163, 52, 12,232,213,
+ 5, 78,142,142,184, 31, 19,143,228,244,130,108,138,194,140, 97,189,101,235, 84, 42,237, 71,215,238,225,251, 70, 52, 41,119,119,
+119,223,163, 71,143, 74,107, 68,160,171,255,227, 12,195, 84, 63,175, 50,222, 77, 57, 63,171, 76,150,133,187,121,232,167, 91,250,
+152,133, 70, 28, 64, 27,175, 17,176, 25, 17,136,239, 47, 92,192,195,168,104,181,182,156,123,233, 31, 40,163,191, 74,211,119,220,
+184,113, 55,127,250,233, 39,235,212,212, 84, 92,189,122, 21,222,222,222, 40, 47, 47, 55,228,134,183,150,166, 90,173,118,172,250,
+ 14, 69, 81,142, 85,129,119,173, 86, 91, 85, 24, 85,127, 68,235, 26,159,179,110, 64,211,179,198,231,170,204,149,215, 51,216,119,
+153,137, 84,122,244,196,241, 67,230,209,177, 87,209,185, 83, 79,152, 91,181,131,192,103, 33,191,160, 12,133,143, 50,240,217,103,
+ 95, 96,229,170,229, 56,245,115,144,185,159,127,167, 99, 90,142,107, 13, 64,253,220,148, 59, 69,230,134,156, 62,176,141, 34, 2,
+ 84,217,177,114,137, 50, 81, 49,117,242, 43,204,196,137, 19,113,234,212, 41, 68, 69, 69,109,107,192,100,133,212,136,204,207,141,
+188,122,100, 27, 8,129, 42, 39, 86, 46, 85, 37, 42,166, 79,153,192, 76,155, 52, 20,183,127,219,132,161,157, 19, 35, 93, 29, 49,
+182,176,210, 98,179, 12,242,229, 38,184, 65, 66,113,187,134,217,186, 12,128,170, 97,176, 46,227,207, 62,152,255, 6, 70, 86, 26,
+171,185, 79,222,152,176, 77, 49, 88, 0,208, 6, 48,167,100,210,208, 61, 43,223,112, 85,164, 68,177,154,200, 91,200,208, 8,100,
+123, 18, 39,116, 1, 76,239, 0,170, 39,191, 83, 94, 94,174,140,143,143, 55,157, 49,118, 44,122, 7, 4,192,197,206, 14,173,221,
+221, 97, 42,151, 65, 38,149,212,186,101, 53,184, 13,129,162,136,159,159, 31, 70,141, 26, 5,137, 68, 2,133, 66, 1,115,115,115,
+200,100,178, 58,163, 89,134,222,229, 18, 66,192, 48, 12, 34, 35, 35,145,156,156, 12,107,107,107,220,184,113, 3, 47,189,244,210,
+ 83, 81,173,154,230,204,152, 16,125, 29, 21,127,149, 17, 59,111,140, 22,207, 83, 40, 35,157, 96,146,180, 16,229, 84, 23,104, 52,
+ 28, 52, 26, 13,190,191,174,195,239,241, 74,232,116, 90,104, 52,154,134,126,179, 62,104, 87, 87,215,169,173, 91,183, 94, 48,121,
+242,100,189, 76, 38,131, 82,169, 68,121,121, 57,162,162,162,244,195,135,143, 40, 26, 53, 42,208,234,204,153, 51,164,178,233, 48,
+219, 8,237,124, 55, 55, 55,143,202,230,217,252,166,156,213, 20, 69, 85,155,152, 39,153,241, 77, 52, 88,166,162, 76,182,109,219,
+ 6,158,231, 65, 8,169,183,144,212, 20,245,235,170, 53, 95, 91,173,223,248, 3,172,108,157,112,229,202, 21,254,220,185,115,165,
+ 20, 16,247, 48, 42,234,155,255, 0,103,143, 2, 58, 99,182,175,176,176,208,212,219,219, 27,238,238,238, 16, 4, 1,122,189,190,
+ 58,250,146,159,159, 15,149, 74, 5, 91,179, 34,180,178,115, 7, 87,122, 25,153,145,159,192,197, 60, 22,123,207,107,245, 47,248,
+226,222,255,192,133,227,199,202,165,153,119,205,112,115,116,246, 0, 77,244,200,200,201,199,152,145, 67,193, 72,205,241, 56, 53,
+ 15,157,218,181,116,153,242,159, 62, 46, 12,197, 97,233,186,131, 11, 0,225,251,198,228,202,202,202,248,216,216, 88,220,191, 95,
+225,119, 45, 45, 45, 97,102,102, 86,235, 63, 78,211,116,179, 34, 90, 85, 38,107,205,182,151,204,104,137, 18, 37,124, 8,118,239,
+ 15, 71, 39,191, 64,108, 15,253, 67,205,103, 23, 12,254, 74,173,142, 59,244, 47, 14,102, 56, 59, 59,207, 19, 4, 97, 37, 33,164,
+168,111,223,190, 78, 7, 15, 30,180, 73, 79, 79, 71,120,120, 56, 86,172, 88,145,203,243, 60, 71, 8,161, 8, 33,159, 60,131,159,
+ 19,106, 24,172,103,137, 68, 97,130, 55,237, 45,169,209, 44,109,233,205,149,148, 61,206,211,146,147,229,156,240, 29, 0,125,131,
+ 23, 55,154,254,111,208,225,109,174,246, 14, 2, 6, 58,188,136,204,108, 29,214,188, 51, 29,249,249,165,248,126,215, 90, 0, 50,
+232, 56, 6,253, 7,190, 2, 71, 71, 55,204,157, 51,215,121,219,142,237,111,112,130,240, 21,158, 19,178,110,110,253, 25, 64,136,
+131,131, 67,212, 27,115,231, 58,120,123,191, 6, 19, 19, 19, 28, 58,116, 8, 7, 55,111,230, 55, 2, 19,228,192,165,249,192,207,
+ 13,234,132,254,169,179,104,254,124, 7,127,255,249,144,203,229,248,237,220,143, 80,103,237, 47, 29,217, 27,186,114, 53, 70,182,
+ 24, 69,108,147, 78, 83, 5, 18, 9, 30, 1,128,196, 4,153, 0,158,108, 6,251,183, 25,172, 42,206,224,207, 76,195,185,181, 34,
+ 90, 77,190,118, 74,100, 17,187,222,158,228,229, 4, 13,165,189,126, 26,233, 26,129, 95,255, 80,199,220, 41, 38,239,198,212, 97,
+178, 42, 79,108,193,211,211, 19, 47,118,237,138,177,253,250,129,101, 89,152,200,164,176, 48, 49, 5,225, 43, 34, 89, 85, 77,135,
+ 13,212,137,168, 43,250,100,103,103, 7,169, 84, 90,109,176,140,136,102,213,169, 41, 8, 2, 88,150,197,253,251,247,209,183,111,
+ 95,120,120,120,224,200,145, 35, 24, 54,108,216, 83, 77,137,198,154,172, 42,163,245, 68, 51,222, 48, 0, 85,145, 44,163,140,150,
+ 90, 75, 33, 79,219, 9, 20, 21, 0,142, 3,120, 2,104,212,106, 16, 2, 16, 2,232,117, 90,168,213,234,234,223, 52,164, 73,214,
+217,217,217,211,212,212,116,245,251,239, 47,245,239,212,169, 51,114,115,115, 33, 8, 2,204,204,204, 80, 94, 94, 14, 75, 75, 75,
+244,238,221,251,241,234,213,171, 51, 9,193, 92, 35, 77, 86,179,169, 58,230, 23, 46, 92,168,213,108, 88,181, 40, 51,211, 48,243,
+173, 3,144,177, 21, 77, 75, 85,125,120, 26,186,238, 14,234,223, 7, 55,239,196,113,255, 93,186, 73, 35,201, 15, 95,231, 44, 8,
+123,210,154,177, 95,132, 16,228,229,229, 33, 59, 59, 27,163,199,140,193,193,159,126, 66, 82, 82, 18,218,181,107,135, 65,131, 6,
+193,209,209, 17, 73, 73, 73,248,253,154, 6,154,194, 2, 20,104,195,161,176,232,129, 19, 87,226, 53, 43,182,233,226,255,193, 11,
+198,104, 0,211, 45, 45, 45,125,202,203,203, 51, 57,142, 59, 10,224, 40,128, 9, 44,203, 78, 80, 40, 20, 46, 37, 37, 37,137,168,
+200, 38, 58,217,152,152,169,137,137,157,220,196, 18, 2,167, 1,203,178,240,240,240, 6,225,181, 40, 44, 81, 97,198,196, 81,184,
+115, 63, 6,231, 46,221,230,244,122,225, 91, 67, 14, 43,195, 48,196,215,215, 23, 57, 57, 57,144, 72, 36, 48, 53, 53,133,185,185,
+ 57, 62,252,240, 67,108,222,188,185,218,100, 53,213,104,205, 2,124, 45, 61,205,111,127,190,165,194,100,101,101,100, 34, 59, 77,
+ 2, 7, 59, 39,124,187,121,163,178, 48, 41,171,199, 15, 64,220,191,189,146, 21, 4,225,147,244,244,116, 71,150,101,157, 57,142,
+ 67,106,106, 42,194,194,194,176,112,225,194,236,252,252,252,129,104,226, 62,154,152,152,228, 84, 69,178, 42,155, 14,235,107, 78,
+ 44,170, 17,201, 42,106, 64,178,190,102,194,150,222,238, 22, 23,119,109, 88,236,217,173, 71,111, 90,193, 90, 22,150, 61,202,234,
+123,253,234,149,222, 11, 55,124,255, 70,114, 97,217, 80, 0, 9,245,137,202, 37,146,225, 61,251,244, 97, 65,178,193,202,250,226,
+139,245, 19,145,155, 87,130,194,130, 82, 72,165,102,208,234, 25,240, 2,133,222,125,251,225,199,189,135,209,126,206,108, 70, 38,
+145, 12,225,180,218,231,198,104, 85,178,246,187,239,190,243,244,243,243,195,158, 61,123,112,105,223, 62, 76, 43, 46,198, 21,154,
+102,244, 18,137,253, 89,189,126, 39, 26, 49, 90, 53,117,218,183,111,143, 31,126,248, 1,251,247,239, 79,153,250, 82,206,177,197,
+ 83,225,168,211,225,229,240, 7,176,109, 49, 10, 8,127, 0,219, 23,252,208,154, 99,241,136,162,106, 15, 7, 21, 28, 28, 60,160,
+230,250, 95, 70, 38,234,105, 98,103, 1, 12, 12, 14, 14, 38, 53,215,141, 94, 56, 29,218,204, 95, 59,212,199, 43,160,149, 39,165,
+ 63,178, 9,169, 74, 78,251,209, 3,157,236, 97, 25, 89, 28, 3,108,108,224, 14,130, 48, 12, 3, 11, 83, 83, 56, 88, 91, 87,132,
+249,105, 26, 16, 0, 65, 15, 80,124,133, 1, 32, 2, 5,194, 27,117,193,128, 76, 38,171,179,227,187,177,125,179,106,106,150,150,
+150,226,241,227,199,152, 59,119, 46, 20, 10, 69,133,115,207,202,130,151,151, 23, 88,150, 69,122,122, 58,126,251,237, 55,248,248,
+248, 64, 46,151, 27,229,182,106, 68,151, 58,162, 34,203,176, 99,102,102,166,165,139,139, 11,140,142,104, 9, 4,229, 26, 10, 90,
+ 45,143,135, 15, 31, 34, 35, 35, 3,143, 19, 31,161,155,178, 4, 4, 12, 8, 33, 70, 69,180,220,220,220, 2, 90,182,108,185,125,
+221,186,117, 82,119,119,119, 16, 66, 96, 99, 99,141,242,242,114,228,229,229,163, 93,187,118,240,240,240,192,186,117,235, 0,224,
+224,223,109,178,158, 56,167,170,141, 86, 77,195,245,214,127, 60, 81, 80, 96, 14,134,161,171,141,115, 35,125,180,164, 0, 48,112,
+232, 56,246,226,185,179,102, 28,176, 58,139, 97, 86,179,141,151,163,158, 23, 4, 69,125,239,167,166,166, 66, 34,145, 32,232,232,
+ 81, 20,100,103,163, 83,167, 78,232,222,189, 59, 30, 61,122,132, 59,119,238,192,206,206, 14, 14,238,189,112, 37, 81,135,232, 12,
+ 21,172,172,172, 16,159, 70,255,147, 67, 6,204, 25, 60,120,240,138,111,190,249,198,209,217,217, 89,146,155,155,235,183,101,203,
+150, 78, 91,182,108, 89,244,198, 27,111, 56,189,241,198, 27, 54, 14, 14, 14,108, 86, 86,150,239, 59,239,188,243, 66, 72, 72,136,
+ 15,128,175, 27, 18, 52, 51,179,176,101,164,102,160, 40, 22,214, 86, 54, 96,101,102, 16, 56, 22,188, 0, 88, 90, 57,224,230,157,
+ 32,220,136, 40,157,151,147,143,163, 6,197,199, 42,203,221,206,206,238,169, 72,245,194,133, 11,177,107,215,174,234,102,196,166,
+154,172, 53, 91, 94, 50,167, 42, 77, 86, 86, 42, 11, 74,227,131,211, 63,223, 42, 42, 76,202,234,251, 60,152,172,170,107, 28, 33,
+ 4,137,137,137, 40, 47, 47,199,181,107,215,240,201, 39,159,228, 62,105,178, 28, 29, 29,231, 88, 90, 90,174, 42, 43, 43,251, 34,
+ 43, 43,107, 83,163, 55,126, 21, 38,170,234,113,213,186,206,230, 68, 3, 55,213,171,174, 72,150,135,139,201,249, 59,215, 14,120,
+ 89,145,123, 20,146,231, 2, 15, 75,162, 44, 66, 29,251,143,232, 54,146,238,178,245,211, 22,221,231,125,120, 62,181, 68,237, 87,
+ 95,100, 75,224,249, 46,102,230, 22, 0,114, 16, 30,118,185,218,100,229, 23, 20, 67,163, 99,160,209, 82, 80,235,104,188, 56,248,
+101,108,222,190, 31,233, 57, 5,224,121,190,195,115,102,178,108, 3, 2, 2,230, 79,152, 48, 1,171, 87,175, 70,200, 55,223,104,
+ 95,167,168, 18, 22, 32,103,120, 30, 2, 33, 20,109, 88, 39,246, 90, 58, 95,125,245,213,207, 0, 38,173, 91,136, 94,133,101,152,
+225, 58,138,216,182, 24, 85,241,193,241,239, 19, 0,176,205, 13,169, 93,101, 6, 6, 6, 82, 85, 45,107,198,182,176,253,175,195,
+ 6, 6, 6, 94, 9, 14, 14, 70,205,117, 67, 95,176,112,242, 27,241,222,146, 5,235,187, 13,235, 71,101, 46, 25,130,130, 18, 53,
+183, 44, 90, 39, 75, 83, 53,108,178,106,242,222,150, 45,184, 19, 87,241, 63,118,119,116,196,210, 41, 83, 64, 56,224, 70, 84, 52,
+ 14,135,132, 96,226,224,193, 48, 51, 49, 49, 56,178, 33, 8, 66,157, 81,172,154,209, 44, 99,163, 78, 69, 69, 69, 56,122,244, 40,
+186,119,239, 14,133, 66, 1,150,101,209,177, 99, 71,196,196,196,160,101,203,150,160, 40, 10, 39, 78,156,192,216,177, 99,145,144,
+144,128, 94,189,122,153, 39, 39, 39, 27,109,180,162,163,163, 45, 9, 33,253,171,162, 31, 77, 69,163,209, 32, 54, 54, 22,163, 70,
+141,130,141,141, 13,220,220, 14, 34,228,252, 1, 40, 2,166,129,162, 96,148,209,226,121,126,214,200,145, 35,165, 20, 69, 65,165,
+ 42,135,137,137, 41,204,204,204, 97, 97, 97, 9, 95, 95, 63,100,100,100, 96,216,176, 97,218,248,248,248,173,153,153,153, 71,140,
+221, 86,127,127,127,179,164,164,164,105, 45, 90,180,144, 1,128,169,169,105,187,150, 45, 91,190,155,144,144, 80,106,108, 84,171,
+202, 96, 81, 20, 5,134, 97,170,141, 22, 75,211,112,113,118,172,126, 94,217, 63,141,106, 64,171, 36, 61, 95, 35, 7, 0, 79, 79,
+ 79,108,222,113,138, 30, 57,114, 36, 22, 45, 90, 4,189, 94,143,173, 91, 43,146,236, 38, 79,158, 12,157, 78,135, 99,199, 42,146,
+ 36, 89,150,109, 48,108, 18, 22, 22,134,240,240,112,232,245,122, 20, 23, 23,227,151, 95,126,193,149,171, 87,113,232,196,175, 72,
+ 74,124,132,142,126, 94,152, 61,123, 22, 36, 18, 9,246,238,221,139,190,125,251,254,163, 23, 4,137, 68, 50,117,215,174, 93, 46,
+123,246,236, 41, 58,113,226,132,178,103,207,158,242,141, 27, 55, 58,110,222,188,217, 65,171,213,226,237,183,223,206,185,125,251,
+182,102,204,152, 49,102, 59,119,238,116,105,213,170,213, 16,142,227,234, 50, 90,102, 0, 38, 2,120,173,176, 84,203, 22,149,170,
+ 32,112, 90, 36, 38, 61, 70,113,153, 22, 2,175, 67, 74, 90, 6,202,212, 60,242, 11, 74,209,177,203,208,239, 46, 95,190,188, 92,
+167,211, 45, 3, 16,220,216,118, 70, 69, 69,225,246,237,219, 72, 74, 74, 66, 98, 98, 98,109,167, 56,103, 14,246,239,223,111,116,
+ 68,171,110,147,197,128,210,180, 68,240,137,208,162,156, 71,153,207,141,201,170,188, 6,173,116,113,113, 89,233,226,226, 98,114,
+225,194, 5,171, 22, 45, 90,128,227, 56,237,147,145,172,129, 3, 7,126,180,107,215, 46,151,150, 45, 91, 46, 4,176,233,127, 97,
+219,105, 26,115,190,216, 54,223,222, 66,150,146,129,135, 95, 87,142, 37,200, 0,229, 37,192,229,159,192,246,249,248,241,194, 49,
+239,219,124,176,103,245, 28, 1, 66,189, 25,178,241, 9,169,216,182,109, 51, 22,191, 61, 3, 63,126,255, 5, 4,129,133, 70,207,
+192,211,187, 39, 52, 58, 1, 20,205,162, 83,151,174,184,116,249, 26, 36, 52,112,116,207,182,231,204,103,161, 32, 50, 50,114,235,
+137, 19, 39,222, 92,180,104, 17, 4, 65,144,173,218,182, 77,149,155,155,187, 22,198,141,127,245,164,206,216,109,219,182,197,125,
+176, 57,247,231,197, 83,193, 36,157,166, 10,194, 31,192,118,252,251, 4, 65,235, 41,188,224,135, 2, 69,221, 85,252,213, 39,214,
+207,135,209,170,114,146, 53,215,117,209,165,141,207,167, 86,182, 54,179,104, 11, 55,251,165,139, 94,103, 19,178,212, 56,214, 98,
+ 74,217,111,251,190, 53,203,226,228,223,197, 67,189,209,152, 31, 62,252,219,111,213,143,191, 60,120,176,206,247, 50,199,143, 55,
+248,206,172,190, 40,150,177,145, 44, 0, 80, 40, 20,214, 67,134, 12,193, 75, 47,189,132, 87, 94,121,165,186, 79, 86,231,206,157,
+113,232,208, 33,140, 27, 55, 14,119,239,222,133,139,139, 11,218,182,109,139,182,109,219,226,236,217,179,198, 94,228,192,243, 60,
+ 2, 2, 2,170,178, 14, 59,166,165,165, 89, 54,181, 32, 53, 26, 13,242,243,243, 97,107,107, 11,153, 76,134, 30, 61,186,227,205,
+183,122,192,222,229, 7, 4,248,251, 65,169, 84, 86,167,191, 27, 80,217, 6,180,110,221, 26,185,185,185,200,205,205,133,131,131,
+ 3, 92, 93, 93,225,236,236,140,175,191,254,154,108,218,180,233,156, 78,167,219,154,151,151,103,116, 36,203,217,217,185, 31, 69,
+ 81, 31,169, 84, 42, 89,141, 59, 92,153,131,131,195, 73,149, 74,181, 54, 51, 51,211,224,142,160, 20, 69, 65,167,211,129,162, 40,
+156, 73,116,133, 82, 75,161, 36, 45, 28,139,254,227, 85,203,120, 73, 36,146, 70,155, 75, 9, 33,202, 73,147, 38, 57,122,120,184,
+ 35, 53, 62, 10, 65, 65, 4,223,124,243, 77, 85, 86, 36,226, 42,111, 12,170,158, 15, 26, 52, 8,222,222,222, 32, 70,140,149, 33,
+ 8, 2,238,223,191,143,131, 39,175,192,197,203, 31, 41, 15, 99,113,231,236,105,180,112,176, 69,251, 46, 93,161,215,235,155, 53,
+244,198,179, 64,175,215,239,110,211,166, 13,209,106,181, 87, 0,108,142,136,136,152,145,153,153,249,246,169, 83,167, 92, 39, 76,
+152,144,113,250,244,233,141, 0,246, 68, 68, 68,204,255,236,179,207, 94,226, 56,174,206,108, 65,134, 97,126,124,231,157,119, 6,
+ 78,152, 48,129,146,210,122,237,133,243,123, 89,142,211, 83,239, 45,219,205, 95,190,126,133,230, 56, 61,245,202,164,119,132,179,
+191, 69,208,243,222,250,146,239,220,115, 36, 34, 35, 35,157, 3, 3, 3, 63,211,235,245, 13, 26,173,170, 72, 85,125, 17, 74,134,
+ 97, 48, 99,198, 12, 28, 58,100,120, 15,170,217, 64, 75, 75, 47,243,219,107,182, 12, 54,167,216,178, 26, 38,171, 21,130, 79,132,
+ 22,101, 63,204,120,174, 76, 22, 0,228,231,231,239, 0,176, 67, 16,132,108, 51, 51, 51,148,150,150,214,117,254,153, 68, 68, 68,
+152,200,100, 50, 12, 29, 58,212, 54, 36, 36, 36,142,166,233, 77, 25, 25, 25,245, 58,142,186,154, 9,235,106, 78, 68, 51,178, 14,
+109, 28, 16,216,163, 95, 23,139, 7, 86,171, 45, 76, 88,245,221, 22,113, 38,150, 20,128, 98,141, 83,226,205,228,137, 37, 84,142,
+188,115,215, 65, 47,192,146, 53, 11, 44,226, 74,235, 52, 90, 52,195,220, 41, 46, 44, 26, 94, 82,170,197,245, 27,145,152, 52,177,
+ 53, 52, 58, 10,130, 64,163, 76,169, 1, 24, 9,104, 0,147,167, 76, 7,161, 88, 20,100,103,128, 97,152, 8,112, 28,158, 51, 62,
+156, 63,127,254,240,101,203,150,249, 44, 93,186, 20, 75,151, 46,245,218,181,107,215,142, 53,107,214, 44,205,205,205,237,128, 70,
+ 6, 31,111, 64,167,197,233, 67, 31, 47, 57,121,109,123,241,200,222,170,135, 47,248, 85, 68,190, 94,240, 67,129, 68,130, 71, 44,
+131,124, 66,106,119, 51, 10, 12, 12, 28, 80,115,253, 47,227,201, 78,240,213,207, 13,234,163,213,218,199,237,229, 46,157, 3,222,
+ 90,190,108,185, 69,204,205,203,248,224,211,205,164, 77,215, 33,165, 59,174,221,209,150,153,121, 15, 47,203,123,116,195, 80,127,
+ 1, 0, 47,191, 56, 14, 29,219,117,127,234,205,190,131, 42, 6,107,191,126, 41, 12,217,185,233, 6, 87,182,149,230,160,206, 62,
+ 89,134,164,244, 63,137, 74,165, 42,138,140,140,116, 76, 75, 75,171,213,241,221,219,219, 27, 20, 69, 33, 52, 52, 20,183,111,223,
+198,164, 73,147,192,178, 44, 36, 18, 9,174, 92,185, 98, 84, 52,166, 70,116,169, 42,235,112,152,187,187,123,125,217,134,141,106,
+169, 84, 42, 20, 23, 23,227,252,249,243,104,221,186, 53,214,172, 89, 3, 87, 23, 39, 44, 95,190, 4,130, 32,160,164,164, 4, 60,
+207, 27, 26,209, 18,170,162, 69,130, 32, 32, 55, 55, 23, 62, 62, 62,216,178,101, 11, 54,110,220,248, 89,102,102,230, 41, 99,183,
+209,195,195,195,154,231,249,247, 70,142, 28, 57,100,204,152, 49, 24, 54,172,246,120,172, 63,253,244,147,197,177, 99,199,214,126,
+251,237,183, 47,235,116,186,117, 57, 57, 57,185,134,232,254,240, 67,197,240, 75,138,158, 43,241,193,132, 22,120,109,193, 94,124,
+253,245,113,200,229,242, 90, 21,239,234,213,171, 27, 52, 49, 2, 33,109,164,121, 55, 51,150,188,255,149,227,218,181, 33, 8, 9,
+201, 1, 77,211,112,113,113, 1, 77,211,120,252,248, 49,104,154,134,151,151, 23,104,154, 70,122,122,122, 85,159,192, 66,212,145,
+245, 88,247, 93, 56, 13,181, 90,141,212,148, 36,164,197,199,193,188, 36, 11, 14,150, 10, 20, 70,221, 71,199,217,115,170,199,127,
+250,135,217,175,213,106,247,215,120,254,213,233,211,167,181, 20, 69,189,130,138,126, 26, 85, 17,141,207, 56,142,251,172, 62,145,
+158, 61,123,118, 94,182,108,153,164,106,184, 13, 87,207,207, 57,157, 78, 39, 0,128, 95,199,254,181,220,254,163, 71,143,240,245,
+215, 95, 67,169, 84, 66, 42,149, 74, 13, 57, 14,130, 32, 84,103, 24,214,101,194,140, 49, 89, 0, 96,231,229,254, 93,104,248, 21,
+254, 94,252,118, 85,196,131, 95, 76, 51, 83,104,208,218,231,215,100, 61, 25,217,114,119,119, 95, 41, 8, 2, 33,132,124, 92,227,
+ 45,185,167,167,231,181, 11, 23, 46,216,113, 28,135,111,191,253,214, 58, 43, 43,203,186,127,255,254, 31, 0,168,215,104,213,213,
+ 76, 88, 87,115, 34,106,100, 29,202,229,114, 91,173,182,222,224,201, 83, 89,135, 60, 15, 95, 75, 11,107, 20, 34, 13, 26,123,125,
+231, 34, 59,174,224, 98,230,156,187,174,201, 93,218,153,241,122, 31,186, 68, 11, 55,133, 53, 4, 66,234, 77,141,214,232,245,191,
+220, 13,191, 51,212,211,163, 53,115, 42,248, 42, 70,143,157, 0,141,134,134, 90, 79,129, 98, 36,160, 24, 41, 58,116,236,130,182,
+237, 59,130, 0, 8,251,253, 38,167,213,235, 47, 62, 79,101,239,210,231,205, 73, 20,133, 77, 32, 2,169, 99, 28, 45,159,177, 99,
+199,174, 5,240, 86, 99, 58,142, 61,223,156, 68,211, 21, 58, 53,199,209,122,231,205,249,136,250, 93, 98,117, 53,124,189,116, 88,
+ 79,156,201, 13,161,160, 48,249, 51,235, 80, 66, 55,107,104,142,127,139,225,106,220,104,121,120,120, 88, 91,202, 77,126,120, 99,
+246, 44,139,228,123,183,144, 21, 29,138, 27, 87,227, 10, 15, 31, 59, 94,160,204,207,153,109,132,201,170,110,230,179,115,110, 1,
+111,255,167,141,150,137,185, 3, 0,192,219,191, 59, 24, 51,227,134, 17,170, 43,154,213, 20,147, 85,243,130, 93,215, 24, 90,243,
+230,205,195,174, 93,187,208,167, 79, 31,180,105,211,166,250, 98,111,108,212,172,142,232,146,209,217,134, 53, 41, 45, 45,133,151,
+151, 23,118,238,220,137,136,136, 8, 88, 88, 88, 96,210,164, 73, 40, 45, 45,173, 54, 88,134,118,134, 39,132, 60,186,112,225, 66,
+183, 87, 95,125,149, 72, 36, 18,170,168,168, 8,214,214,214,216,178,101,139, 50, 51, 51,243, 76, 19, 76,214, 4,169, 84,186,100,
+226,196,137,140,159,159, 31,178,179,179, 97,105,105,169,167, 40, 74, 2, 0,214,214,214,122, 83, 83, 83,204,159, 63, 31,157, 58,
+117,234,183,116,233,210, 62, 44,203,110,201,200,200,216,219,208,185, 68, 81, 84,117,133, 58,123, 83, 44,180,218,138, 10,122,235,
+214,173,168,236,235,246,103, 19, 65,124, 60, 96, 64, 38,139,185,185, 57,218,180,105, 83,103,217,247,235,215, 15, 97, 97, 97, 21,
+ 77,147, 44, 11, 71, 71, 71,220,184,113,195,160, 76,170,170,129, 32, 35, 35, 35,225,239,109,143,136,144, 11,176, 87, 72,208,201,
+213, 25,238,253, 6, 32, 46, 46,238,159,140,102, 81,168,232,135, 49,184,242, 28,220, 13, 96, 94,141,231, 91, 0,124,103,140, 32,
+199,113,132,166,105, 42, 53, 53, 85,167, 80, 40, 40, 91, 91, 91, 86, 46,151, 67,163,209, 84, 27,174, 71,143, 30, 33, 56, 56, 24,
+105,105,105,176,181,181,165,173,172,172,160,211,233, 10, 13,209,247,245,245,133,179,179,115,173,142,239,179,103,207,110,146,201,
+154, 1, 4,236,250,124, 93, 11, 57,205, 88,249,219,191,140,196,216,199,106, 90, 11,147,255, 15,167, 78,133,254, 0, 0, 32, 0,
+ 73, 68, 65, 84, 38, 11, 0,138,138,138,118, 0,216, 81,245,220,222,222,126, 38,195, 48,203, 53, 26,141,213,149, 43, 87,172, 29,
+ 28, 28,168,189,123,247,234, 63,254,248,227, 34,134, 97, 10, 41,138,218,240,207,155, 67, 68,231, 21,199,123, 73,108, 92,133,123,
+106,114,243,237,212, 15,218, 22, 74, 90, 59, 80,237, 3, 48, 54, 39,230,250, 76, 46,190,119,118,102, 22, 77, 32, 68, 55,112, 13,
+222,253,193,178,213,239,197,197,222,241, 52,177, 52,193,188,249,203,112,230,220, 37, 80,180, 4,215,110,134, 66,171,227,145, 87,
+ 80,140,137,147,167,194,221,197, 30,209,183,207,231,114,130,176,229,249, 50,217,194,230,161,163,103,218,200, 77, 21,149,199,132,
+199,254,239,151,128,166, 55, 97,197,138, 21, 8, 8, 8, 88, 16, 25, 25,249, 9, 26, 25, 71,139,162,132,205, 29, 6, 76,182,145,
+202, 43,116,136,192, 99,231,209, 15, 42,199,209, 90,140, 45, 59,142,117,104,239,157,184,170,161,113,180,158, 35,147, 85,115,221,
+176,209,242,242,242,146,155, 73, 48, 87,194,176, 75,223,152, 50,198, 33, 39, 62, 10,105, 49,119, 42,154, 23,116, 42, 93,214,195,
+ 24, 67,134, 66, 31,140,218,227,119,144,134,154,174,212,106,131,238,232,107,105, 86, 85,184, 79, 70,179,140, 52, 89, 79,105,214,
+ 52, 91, 53,199,205,242,240,240,192,218,181,107, 13, 25, 71,235,201,125,175, 98, 24, 42, 58,192,215,236, 12, 63,204, 64,147, 85,
+167,166,131,131, 3,242,243, 43, 70, 72, 24, 56,112, 32, 6, 14,252, 51,159, 65,167,211, 85, 71,177, 44, 44, 44,234,138,104, 61,
+165,105,106,106,250,193,241,227,199,103,221,188,121,243,213,119,223,125, 87,242,210, 75, 47, 85,153,185,114, 24, 54,183, 91, 45,
+ 77,158,231,231,159, 63,127,158, 17, 4, 1, 59,119,238, 68, 88, 88, 24, 81, 40, 20, 31, 41, 20,138,205,166,166,166,188, 74,165,
+154, 55,103,206,156,169,171, 86,173,162,251,245,235,135, 91,183,110,209, 62, 62, 62,211,129, 90,131, 88,214,185,239,161,161,161,
+160,105, 26, 92, 65, 10, 22,124,112, 24,102,166, 44, 98, 99, 99, 81, 80, 80,240,212, 32,166,134, 28,207,154,145,146,170,165, 95,
+191,126,213,205,144, 61,122,244, 0,195, 48,184,123,247,110,125,205,176, 53, 53,137,157,157, 93,245,249, 33,149, 74,113,233,210,
+ 37,124,250,233,167,240,180,181, 70, 97, 76, 4,156, 7,190,136, 33,179,230, 96,210,164, 73, 96, 24, 6,182,182,182,213,145, 95,
+ 3,206,165,230, 80, 83,115,150,191,191,255,244,232,232,104,247, 14, 29, 58,184, 68, 70, 70, 14, 10, 8, 8,240,138,136,136,168,
+122, 46,135, 97,125,115,170, 53,255,248,227,143,160,205,155, 55,207,159, 49, 99,134, 84, 16, 4, 62, 57, 57, 89, 15,128,114,118,
+118,102,254,248,227, 15,225,212,169, 83, 80,169, 84,112,119,119,167,221,220,220,168,139, 23, 47, 10, 49, 49, 49,161,132,144,101,
+134,236, 59,207,243,181,134,113,168,122,252,211, 79, 63, 25,253,127,111,209,214,119,205, 75,253,253, 60,242, 50,238, 34, 51, 61,
+ 30,124,177,131, 46,248,196,105,141,145, 38,235,175, 46,163,191, 83,115,245,195,135, 15,221, 52, 26, 13,100, 50, 25,182,110,221,
+170, 91,187,118,109,116, 94, 94, 94, 95,212,157, 81, 94, 75,179,137, 89,135, 5, 13,104, 62,149,117, 88,156,143, 51, 39, 78,254,
+209,205,124,236,110, 44,200,200,173,238,216, 72, 40,202,246,184, 83,187,190,138,238, 29,210,233,179, 43,233, 82,190,252, 76, 3,
+251,174, 85,105,181, 19,198,142,155,252,235,161, 67, 7,205, 63, 94,185, 18, 55, 66, 35,144, 95, 84, 6,129, 48, 16, 40, 10,203,
+151,127, 12,103,123, 91,148,100, 60, 44,215,232,116, 99, 81,123, 12,173,127,125,185, 83, 20,189,240,226,169,189,155,104, 10,130,
+ 50,251,129,156, 41,141, 87,188, 54,105, 44, 59, 97,194, 4, 28, 63,126, 28,145,145,145,219, 27, 48, 89,213,154,132,208, 11, 35,
+174, 28,222, 68, 1,130, 42,247,129,156, 45, 75, 84, 76,159, 50,150,157, 52,105, 18,126, 14,190,137, 67,167, 19,183, 29, 58,141,
+211,120,190, 49,126,100,120, 11, 22,145,125,219,181,116,235,215,165,189, 9,203,171,144, 22, 19,143, 2,165, 26, 23,163,146,139,
+104, 66, 55,121,108,157,138, 11,164, 20, 41, 41, 15,235,184,179, 50,169,172,208,213, 70,105,210, 52, 93, 43,154,213,156, 72, 86,
+205,237,116,114,114,170, 53,157, 75,205,138,187,170, 15, 80, 19,134,118,248, 32, 37, 37,197, 50, 37, 37, 5,132, 16,132,134,134,
+ 90,246,232,209,227,131,230, 68,179,150, 44, 89, 82, 29,181,122,114, 93,215,107,141, 81,217, 41,125,163, 94,175, 63,186,116,233,
+210, 5, 61,122,244, 24,186,114,229, 74, 10, 70, 76,192,251, 68, 52,135, 19, 4, 1,151, 47, 95,198,241,227,199,121,157, 78, 55,
+ 55, 51, 51, 51,162,198, 71,190, 13, 15, 15,191, 56,110,220,184,189, 15, 30, 60, 96,162,163,163, 65, 72,227,121,167, 42,149, 10,
+109,218,180, 1,199,113, 88,191,192, 3,165,165, 29,192,113, 28,120,158,135,153,153, 89,117, 20,175,166,121,110,236, 60,226,121,
+254, 41,163, 21, 26, 26, 10,134, 97,208,183,111, 95,220,185,115,167, 58,162,213, 88, 4, 74,167,211,165, 56, 57, 57, 57,173, 94,
+189,186,122,187,114,115,115,113,225,194, 5,244,236,213, 27,237,230,206, 67, 70, 70, 6, 54,108,216, 0, 87, 87, 87,172, 89,179,
+ 6, 5, 5, 5,224, 56,238,239, 14,167, 15,143,142,142,118,159, 50,101, 74, 78, 68, 68,132,123,112,112,176,117, 96, 96,160,217,
+228,201,147,115, 34, 34, 34,220, 41,138,234, 13, 35, 59, 65, 11,130,240,225,242,229,203,207,173, 89,179,230,131,183,222,122,171,
+199,140, 25, 51, 36, 18,137, 68, 72, 79, 79,231, 14, 30, 60, 72,181,105,211,134,150, 74,165,212,249,243,231,133,223,127,255,253,
+ 54,199,113,235, 1, 92, 51, 38,226, 92,211,100, 49, 12, 99,168,201,170,197,219,142,242,233, 22,116,110,223,205, 91,215,210,126,
+222,238,186,125, 7, 47,164, 94,187,245, 48,129,209,112,111,255,208,192,208, 0,207, 51, 12,195, 28,241,247,247,159,185,112,225,
+ 66,211, 97,195,134,201, 87,173, 90, 85, 92, 90, 90, 90,159,201,170,227,134,249,111,201, 58,252,254,195,119,131,223,126,167,195,
+204,150,255,117,110,129, 16,101, 14, 10, 89,134,182,180,166,209,197,139, 65,105,222, 35,135,211,191,238,121, 12,160,177,113,217,
+254, 8,191, 31, 57,184,125,135,206,199,214,175, 89,239,248,209,251, 75, 37,199,130,127, 1,225,116, 8,189,114, 5,230, 82,158,
+196,132,135,100,107,116,218, 49,120, 14,167,224,201,188,241,221, 33, 0, 39,109,109,109,239,205,154, 49,163,141,191,255,100, 40,
+ 20, 10, 4, 5, 5, 97,255,183,223,242, 27,129, 87,229,192,157,249,141,140,167,151,115,187, 90,231,238,156, 89,179,124,187,116,
+249, 47, 20, 10, 5,142, 30, 61,138,189, 27, 55, 26,172,243, 47,167,106,100,248, 51,248,115,132,248, 70,250,104,209, 84,233,237,
+135,201,101,161, 15,147,203, 32, 16, 34, 16,162,161,105,164, 42,117,186, 53, 15, 19,211,155,100, 10,170,154, 14, 63,251,124,225,
+179,107,243,168, 97,126,154,154,210, 93,135,201, 74,171, 57, 71, 90,205, 74,186,190,199,122,189, 62,205, 64,249,117,158,158,158,
+ 79,189,214,244,208, 47, 49,202,100, 25, 58,142, 22, 0,228,231,231,103, 2,248,232,214,173, 91, 63, 13, 29, 58,116, 14,128,244,
+ 38,150,209,206, 1, 3, 6,204, 5,192, 80, 20,181, 61, 35, 35, 35,226,169, 63,124,102,102,156,171,171,235,151,222,222,222,243,
+ 42,110, 76,169,157,141, 84,228,137, 29, 58,116,208,213, 85, 22,245, 61, 23, 4,161,209, 50, 42, 42, 42, 66,247,238,221,159,154,
+211,146, 16,130,228,228,228,170,136, 83,245,177,111,200,192,149,149,149,205,123,243,205, 55,119, 72, 36, 18, 79, 0, 84,149,201,
+229,121,158,249,238,187,239,254,143,189,235, 14,139,226,106,191,103,182, 87,154,116, 1, 17, 81, 32, 40, 86,212, 24, 49,216,177,
+ 27,187, 81, 99,239,189, 99,212, 88, 98,141, 26, 91, 44, 81, 99,193,222,141,216, 69,177, 97, 23, 4, 69, 80,233, 44, 75, 95,202,
+246,221,217,153,223, 31,148, 31, 42,101, 65, 83,190,239,219,243, 60,243,236,238,148,179,119,238,157,153,123,230,125,239,125, 95,
+190,193, 96, 96, 2, 32, 24, 12, 6,201,102,179,213,103,207,158, 37, 73,146, 76,214,104, 52, 19,255,230, 7,196, 41,162, 40, 21,
+131,226,245,235,215, 94,197,150,172,212,168,168,168,240,227,199,143,219, 2, 56, 81, 67,222,123, 74,165,242,222,218,181,107,219,
+237,220,185,115,209,196,137, 19, 91, 13, 29, 58,148,213,190,125,123, 92,186,116,201, 16, 26, 26,250, 88,165, 82,173,171,142,192,
+ 42,110,203,124, 23, 23,151, 82,193, 85,197,189, 92,233, 64, 94,107, 87,222,111,195, 39,215,230,239, 89,119, 93,158,157,166, 13,
+211,203,181, 63, 30, 4,162,240, 63,140,140,140,140,121, 0,150,110,222,188, 57,173,105,211,166, 60, 14,135,163, 53, 86,100,253,
+141, 32,169, 60,121,143, 95,187, 12,188,224,191,120,186, 91,151, 14,126, 66,151,186,118, 78,209,239, 51,240,238,225, 37, 69,196,
+197,213,137,180, 70,214, 23,128, 49, 35,215,159,104,116,186, 6,115, 23,204,157,194,101,179,187, 26, 12,134, 38,157,110,156,167,
+153, 76,102,164, 86,175,191, 81,236, 46, 84,255, 23, 55,249,170, 13, 27, 54,120,120,123,123,227,244,233,211,184,113,228, 8,134,
+100,103,227, 54,147,201,100,112, 56,214, 23,117,186,141, 48, 78, 32,173,218,180,105,147,167,143,143, 15, 78,158, 60,137,107,135,
+ 14, 97,112,205,120, 42,234,235, 90, 2,176, 45,254,153, 13, 32, 6, 64, 11, 0, 2, 0, 26, 20,165,118,178, 41,219,133, 21,111,
+ 43,217,126,151, 32,136,191,114, 32,108,213,145,225, 63, 70,212,187,196, 22, 95,186, 20, 42,149, 42,215,195,195,163, 90,115,174,
+245,122,125,165, 62, 92,146, 36, 83,221,221,221,141,182, 90, 24, 35,138,114,115,115,125,255,194,198,248,172,177, 88, 31,116, 34,
+ 20,149,232,232,232, 72,149,116,250,229,137,176,242,214,209, 64, 66,117,254, 39, 61, 61, 61, 6,192,156,154,150, 51, 45, 45,237,
+ 12,140, 72, 26,109,236,126, 0, 32,147,201,190,120, 50, 95,130,166, 37,203,151, 47,175,150,192, 6, 77, 87, 38, 62, 35,229,114,
+121,107, 99,254, 91,167,211,225, 31,196,201,226,133, 17, 21, 21, 53,158, 32,136, 0, 20,185, 4,118,227,203, 68,243,190, 87, 80,
+ 80,112,239,151, 95,126,105,183,103,207,158, 89, 52, 77,163,160,160, 96, 75,117, 5, 86,233,219,115,102,230,165, 47,117,226,185,
+ 25,218, 91,199,118,167,118, 84,229,233,102,237,149,107, 15,193,132, 82, 99, 20, 77,211, 7, 70,140, 24,241, 53,128,131,159, 75,
+ 86,193,172,195,207, 69, 2, 37,203,111,122,123,238,207, 99,110, 91,154,245,132,129,229, 5, 45,227, 34,180, 57,151, 0,236,135,
+113,195, 28, 74,207,151,164,168, 77,164, 86,187,169, 76,231,242,191,208,206,181,124,124,124,102,141, 30, 61, 26, 75,151, 46,197,
+181,141, 27,117,147, 9, 34,159, 13,208, 87,139, 94, 52, 25, 4,176,208, 88,158,145, 35, 71, 98,233,210,165,184,188,126,125, 77,
+121, 42,131, 45, 65, 16,193, 0, 16, 24, 24,248,227,218,181,107,173, 22, 45, 90,212,100,221,186,117,107,138,127,191, 42,217, 94,
+220,215,245, 90,180,104, 81,163, 50,219, 11, 1, 60,253,139,235,179,220,200,240,127, 53, 58,155, 56, 77,156, 38, 78, 19,167,137,
+211,196,105,226, 52,113,126, 14,104,154,238, 89,244, 81,241,103, 69,223,203,124,226,111, 46,115,209, 68, 40,211,139,155, 9, 38,
+152, 96,130, 9, 38,152,240,159,136,178, 86,172,154,108,255,130, 40, 25,163, 85, 22,123,128,162,105,221, 21,169,210,234,204,122,
+168,137,178,189,105,226, 52,113,154, 56, 77,156, 38, 78, 19,167,137,243,127,142,179, 42,238, 79,142,167,105,186, 39, 65, 16,193,
+ 52, 77,247,170,232,179, 68, 88,125,252,189,204,231, 23, 27,118, 80, 14, 74,198,102,149,142,209,250,187, 66,246,152,204,170, 38,
+ 78, 19,167,137,211,196,105,226, 52,113,154, 56, 63, 11, 37, 46, 64, 0,116, 96, 96,224,162,127,161,235,208,177, 88,100,149, 46,
+ 85,186, 14,105,250, 20, 83, 34,129, 57,151, 43,228, 0,128, 86,171,212, 57, 57,161,128, 32, 6,253,147, 9,111, 77,248,207, 68,
+201,116,239,140, 47,188,175, 9, 38,152, 96,130, 9,255, 27,200, 42,177, 84, 1,200, 2, 64, 20,255,214, 22,127,102, 21, 11,178,
+143,191,127,176,253, 47,132, 20, 21, 12,126,103, 85, 36,178,178,179,133, 54, 44,150,204,211, 96, 80,127, 5, 0, 44, 22,227, 77,
+118,182, 85, 44, 77,159,202,174,137,216,178,177,179,123,206,102, 50,157,140,217, 87,111, 48, 72,178, 51, 50, 62, 12, 29, 79, 16,
+255, 13, 2,207, 88, 17,241, 57, 98,227, 47, 23, 42, 54, 54, 54,246,246,246,246,125,204,205,205,219,228,229,229, 61,201,202,202,
+ 58, 87, 73,222,195,181, 4,129, 5, 69,215, 21,126, 1,176,168, 18,234,234,236,251, 49, 60,132, 66,225, 20,130, 32,124,138,111,
+176, 40,165, 82,185, 19,192,219,255,193, 7,146, 0,192,119, 44, 22,107,164,141,141, 77,171,244,244,244,229, 0,106, 26,205,155,
+ 5, 96,174,165,165,229, 16, 75, 75, 75,247,220,220,220,184,130,130,130,147, 0, 54, 1,168,114,170,244,242, 25,142,109,218, 7,
+180, 95, 18,122, 45,116,213,242,109,210,135,159,108,159,235,104,221,181, 75,219,165,161, 23,195, 86,254,184, 35, 45,183,154,101,
+ 99, 20, 47, 64,209,236, 72, 26,159, 6,123,253, 92,176, 1,244, 6,208, 30, 64, 40,128,139,198,156,119, 5,248, 26,192,143,197,
+101,222, 4,224,246,191,252, 58, 18,217,219,219,175, 7,208,155,197, 98,189,150, 72, 36, 19, 0,164,254,195,101, 98, 1,104, 9,
+192, 7, 69, 97, 56,158,194,184, 16, 14, 85,194,218,218,186, 23,139,197,154, 82, 28,218,101,103, 78, 78, 78,240,191,181, 97,184,
+ 92,238, 22, 7, 7,135,113, 42,149, 74, 73, 16, 4, 93, 54,222, 35, 73,146,169,217,217,217,190,255,109, 15, 53,130, 32,158,254,
+203,139, 56,161,156,117, 21,199,209,146, 72, 96,206, 98,201, 60, 51,211, 35,135,164, 73, 95, 14, 6,128,218,142, 77, 78,218, 57,
+ 52, 62, 33,145,112,117, 14, 94,253,196,108, 33,107, 39,147,201,110,166,214,106,108,216, 44,118,182,142,212,135, 51,180,244,148,
+244,152,115,229, 6, 91,100, 51,153, 78,137,177,183,237, 72, 93, 46,216,252,218, 96, 11,234, 84, 88,218,218,181,107,215,232, 44,
+173,172,220,205,116, 60,254, 44, 54,155,217,133,162, 73, 31,154, 2, 24, 4, 59,138, 52,232, 67, 56, 26,205,175, 50, 89, 92, 97,
+ 77,107,208,203, 26, 14, 52, 48, 20, 4,186,128,198, 13, 2, 56, 30,147,131,244,106, 80, 24, 43, 34, 62, 71,108,148, 61,118, 51,
+128,121, 95,250, 74,114,114,114,178,234,213,171,215,150,159,127,254, 89, 32, 22,139,137,228,228,228,128,133, 11, 23,126,251,236,
+217,179, 57, 18,137, 36,237, 99,209, 71, 16, 88, 64, 81, 52, 3, 0, 24, 12, 98,161,173,173,157,144,201,100,126, 18,219,200, 96,
+ 48, 8,179,178, 50,167, 81, 20, 77, 20,239,187,128,166,177,213, 24,193,200,231,243,191,247,105,220,108,206,250, 13,155,196,246,
+118,118, 34,210, 64,233, 18,146, 18,133, 75, 2,231,181,126,255,238,237, 86,181, 90,125,172, 38,247, 53,147,201, 28,194,227,241,
+122, 1,240, 46, 94, 23,173,209,104,130, 13, 6,195, 9, 99, 59,116,123,123,251,187, 76, 38,179,110,117,254,216, 96, 48, 36,103,
+100,100,248,213,176,137, 6,213,169, 83,103,191,191,191,191,176, 85,171, 86,224,114,185, 88,186,116,233, 92,169, 84, 90,149,208,
+ 98, 1,152, 43, 20, 10,135,136, 68, 34,119,185, 92,254, 94,165, 82,157,225,114,185,157,183,110,221,234,210,182,109, 91,179,140,
+140, 12,130,201,100,218, 95,190,124,249,135, 45, 91,182, 4,144, 36,217,169,170, 78, 46,255, 61,189,132,215,219,187, 93,254,251,
+219, 75, 0,116,255,120, 59,169,230,143,164,153, 46,189, 84,244,139,148, 98,241, 97,180,200, 98,179,217, 91, 29, 28, 28, 70,171,
+139, 98, 5,208, 31,119, 56, 0,160,213,106,101,121,121,121, 94, 53,185,229, 1,140,181,180,180, 28, 61,127,254,124,171,238,221,
+187,227,200,145, 35, 83,247,238,221, 43, 43, 40, 40, 56,128,162, 64,152, 49,213,228, 92,144,158,158,222,131,205,102, 19, 46, 46,
+ 46, 76,149, 74, 85, 29,161,229,137,162, 36,204, 79, 1,236, 68, 81,232,130, 14, 64,209,253, 14,224,151, 18,225,198, 96, 48,118,
+122,121,121,245,137,142,142,222, 5, 96, 85, 77,239,117, 7, 7,135,223,119,236,216, 49,184,111,223,190,204,172,172, 44,167,166,
+ 77,155, 30, 77, 79, 79,111,247, 5, 30, 35, 99,120, 60,222,236, 38, 77,154, 52,140,137,137,137, 45, 40, 40,216, 84, 92,159,149,
+221, 83,206, 0, 58, 91, 90, 90,118, 90,188,120,177,184, 87,175, 94,216,179,103, 79,143,189,123,247,202, 11, 11, 11, 67, 80, 52,
+166,231,179, 68, 32,139,197,154,146,154,154,106, 67,211, 52, 28, 29, 29,167, 0,248, 87, 10, 45, 6,131,177,181,127,255,254,163,
+143, 30, 61, 42, 76, 76, 76, 20, 58, 57, 57,149, 6,207, 38, 8,162,198,253,167, 9,159,141, 61,101, 4, 87,213,113,180,184, 92,
+ 33,199, 96, 80,127,149, 38,125, 57,248, 91,255,237, 22, 0,112,247,206,244,193,118, 14,141,162,184, 92, 97, 44,207,156,127,182,
+127,239,206,205, 6,246,242, 39,156, 29,237,144, 42,205,180,255,227,248,181,110,193,215,110,159, 69, 81, 0,177,114, 65,234,114,
+ 33,208,221, 68,204,253,109,176,105,159,134,223, 46,167,226, 97, 68, 2,148,249,217,168,235, 32,192,134, 89, 93,225, 96, 37,172,
+217,171,151,157, 71, 7,146,197, 59, 49,236,251, 17, 22,125,190,243,102,187, 58, 56,128,166,121,136,125, 47,255,230,202,245,219,
+ 45,207,156, 58, 54, 69,196,246, 24,162,200,124,107,244,195,173,185, 35, 4, 10, 29,190, 99, 49,137, 31,218,250, 54,236,244,125,
+143,118,140,134,222, 13,240,250, 85,116,215, 11,183, 30,111, 96,132,189, 10, 33, 13,116,144,136,131,243, 47,164,149, 6,244,251,
+ 68,112,116,234,212,185, 29,143,199,251, 32,120,146, 70,163,225,132,132,220,252,186, 38, 98,163,228, 63,180, 90, 13,131,205,230,
+130,193, 32,230,248,248, 52,246,206,206,206,190, 77, 16,196,254,180,180,234, 89, 11,166, 3, 92, 25,139,213,130,193,227, 57, 26,
+180, 90,107, 0, 32,184, 92, 89, 2,131,209,120,241,143, 63,138,153, 76, 38,149,147,147, 3,165, 82, 73,140, 31, 63,158,255,254,
+253,251,254, 18,137,100, 91, 21,111, 36,216,187,119,175,167,163,163,227, 39,217, 99,165, 82, 41,183,111,223, 62, 53,105,122,207,
+ 38, 77,155,207,190,118,237,170,119, 65,174, 76,189,119,243,239,207,245,124,161,166,158,183, 23,123,231,158, 67, 22, 19, 70, 15,
+159,254,230,205,171,112, 84, 47, 95, 93, 29,129, 64,112,118,227,198,141, 62, 29, 58,116, 96,219,217,217, 33, 35, 35, 3,209,209,
+209, 62,183,110,221,250,238,208,161, 67,115, 85, 42, 85,127,192,168,132,168, 30, 33, 65,251,237, 68,181,172, 97,208,235, 81,187,
+ 73,243,210, 1,146,239,110, 93, 7,169,211,129,210,235,225,221,235,187, 98,107, 50, 13,111,111,239,154, 70,221,173,221,168, 81,
+163,195,107,214,172,225,104, 52, 26, 60,126,252, 24,183,111,223,166,164, 82,105, 85, 1,113, 89, 4, 65, 92, 95,182,108,153,179,
+159,159,159, 89,118,118, 54, 12, 6,131,205,249,243,231,167, 52,107,214,204,220,197,197,133, 27, 20, 20, 4,185, 92, 14,146, 36,
+107,185,187,187,215,250,254,251,239,181, 65, 65, 65,115, 1,172,175,200,146, 85,240,158, 94, 34, 37,220,187,121,181, 24,137,116,
+226,106,183,217,221,112,197,188, 62, 81,106,217,234,230,238,110, 86, 32, 17, 46, 20,155, 55,174, 85, 32,185,185,176,155,187,251,
+222,171,113, 70,189, 12, 49,138, 59,155, 97,199,143, 31, 23, 70, 71, 71, 11,189,189,189, 65, 81, 84,105, 4,254,146,128,179, 30,
+ 30, 30, 53,169,199,117,147, 38, 77, 90, 56,120,240, 96, 52,105,210,164, 52, 40,234, 79, 63,253,132,133, 11, 23, 90,221,189,123,
+119,238,177, 99,199,230,158, 59,119,110, 61,128,192,106, 90, 99, 74, 80,221, 54, 94, 17, 31, 31, 63,232,236,217,179,195, 23, 44,
+ 88,224, 1, 96, 26,128,165, 57, 57, 57,254,197,214, 24,110,177,208, 26, 51,119,238,220,201,129,129,129,232,209,163,199,210,199,
+143, 31,175,174,161,149,143, 73,146,100,143,190,125,251, 50,245,122, 61, 68, 34, 17,244,122,125,253,207, 53, 74, 0,216, 49,113,
+226,196,201,147, 38, 77,130,149,149, 21,244,122,189,231,241,227,199,247, 46, 93,186,180, 13,128,177, 21,148,117,228,228,201,147,
+ 7,140, 24, 49, 2,190,190,190, 96,177,138,170,113,227,198,141, 88,185,114,165,248,250,245,235,223, 5, 5, 5,125,119,225,194,
+133, 51,248, 48,109, 87,181, 64, 81, 20, 88, 44, 22, 82, 82, 82, 96,103,103,199,163, 40,234, 26, 65, 16,123,114,115,115,207,253,
+139, 58,243, 95, 6, 13, 26, 52,236,232,209,163, 98, 0,216,176, 97, 3,102,207,158, 13,123,123,123,136,197, 98,147,212,249,247,
+ 88,180, 38, 84,105,209,170, 10, 74,165,178,249,162, 25, 63,128,193, 40,122,107,108, 80,175, 14,214,254, 56,129,184, 16,124,173,
+121,165, 54,120,126,109,196,220,223, 6,158,203, 44,104,244, 36, 30, 69,196,227,198,134,128,162,222,178,251, 98,104,116,157, 74,
+ 58,155, 90, 92,129,224, 23,173,193,240, 0, 14, 14,143,145,148,148, 85,149,200,178,117,176, 15,222,189,123,189,192,167,190, 23,
+116,164, 30,146, 76, 9, 8,130, 7,103, 39, 51,140, 25,217,157,237,239, 95,219,102,197,138,223, 47,165, 83,232,167,204,126, 91,
+101,192, 80, 79, 27, 28,108,238,227, 49,248,251,158,126,188,198, 62,141,192,225, 9, 74,183,181,240,245, 69, 11, 95, 95, 70,160,
+188,176,203,147,167,207,187,156,190,254, 72,163,212, 39,157,140,205,198,168, 42, 30, 50,165,130, 99,230,204,153,176,183,183,255,
+ 96,135,140,140, 12,220,186, 21, 82,238, 49,213,120,144,149,254,199,234,213,171,205,100, 50, 89,247,125,251,246,117,164, 40,106,
+117,122,122,250,125, 99, 72, 70, 0,117,243,121,188, 78,163, 55,109,162,154,245,233,195,180,116,112, 96, 80, 6, 3,145, 22, 23,
+103,189,121,219,182,246,185,239,222, 9, 20,181,106,229,202, 84, 42,101,108,108, 44,248,124, 62,193, 98,177, 90,150, 67,149, 65,
+211,248,133,193, 32, 22, 18, 4, 1, 30,143, 31, 59,105,210,164, 23,197,219,234, 94,188,120, 81,216,187,119,111, 37,128, 68, 0,
+224,241,248, 78, 76, 38,195,179,104, 0, 33,126, 49, 70, 96,138, 68,162, 25,171,214,172, 23, 21,228,230,169,116, 10,133,222,214,
+ 92, 76, 16, 98, 51,102, 65,126, 97,161, 68,154,165, 89,188,124, 37,115,226,152, 17, 51, 20, 10,197, 20, 99, 69, 86,211,166, 77,
+159,156, 61,123,214,206,218,218, 26,121,121,121,200,201,201,193,147, 39, 79, 64, 81, 20,250,247,239,207,251,166,117,171,230, 63,
+ 46, 94,242, 48, 69, 34,105, 99,140,216, 18,213,178,193, 6,191,102, 69,157,117, 98, 78,105,251,236, 25,212,171,116,159,149,169,
+249, 37,214,185,207, 73, 33,213,166, 83,167, 78, 28, 0, 24, 59,118,108, 65, 97, 97,225, 90, 0, 71, 81,117, 68,255,185, 75,150,
+ 44,113,170, 87,175,158,235,209,163, 71, 33,151,203, 1,192,174, 94,189,122,240,244,244, 52,132,134,134,194,211,211, 19,102,102,
+102,184,123,247, 46, 30, 62,124, 8, 95, 95, 95, 51, 14,135, 51, 88,167,211,149, 43,180,218, 7,180, 95,194,235,237,221,206,171,
+197, 72,136,205, 29,177,247,216, 9,196, 60, 63,212, 78,163,139, 94,194, 49,220, 25,161,162,121,163,178,146,197,129,117,125,253,
+173, 27, 52,234, 3,215, 22, 47,108,212,134,123,241, 75,186,212, 91,199,226,171, 15, 45,223, 36,205,169, 72,100, 1,216,208,191,
+127,255, 65,199,143, 31,183, 4,128,200,200, 72,100,100,100,192,214,214, 22,124, 62, 31,108, 54,187, 52, 63,105, 13, 49,106,231,
+206,157,165,162,141, 36,201,210, 44, 0, 66,161, 16,223,126,251, 45,154, 53,107,134,115,231,206,141,170, 64,104,249,181,110,221,
+250,136,171,171,171, 75,217,149, 10,133, 2, 67,135, 14, 5, 0,248,251,251,119, 18, 8, 4,116,137, 32,148, 74,165,242,167, 79,
+159,118, 1,240,184, 2,101,169,146, 72, 36,152, 63,127, 62, 18, 18, 18,166,238,222,189, 59, 9, 0,159,203,229,150,190, 31, 3,
+240,108,212,168,209,214,217,179,103,227,253,251,247,120,253,250,245, 19,212,220,149,106, 16,137, 68,239,244,122,189, 47, 73,146,
+ 80,169, 84,232,215,175, 31,255,204,153, 51, 25, 76, 38,243, 77,118,118,246,112, 20,141, 73, 49, 22,124, 0,155, 38, 77,154, 52,
+121,193,130, 5, 8, 9, 9,193,133, 11, 23, 48, 98,196, 8,204,154, 53, 11, 98,177,120,244,172, 89,179, 30,162, 40,161,249,199,
+232,180,115,231, 78, 24, 12,134, 79,238, 13, 62,159, 15, 63, 63, 63, 52,108,216, 16, 23, 46, 92,232,244, 25, 66,203,213,207,207,
+143, 75, 81, 20, 20, 10, 5, 66, 67, 67,197, 2,129, 64,236,236,236, 60, 30,192,191, 70,104,185,186,186, 78, 58,126,252,184,184,
+172,247,135,199,227,161,204,117, 96,194, 63,111,209,170,244, 13,171, 20, 90,173, 82,199, 98, 49,222,212,118,108,114,242,238,157,
+233,165,174, 67,128,241, 70,171, 85,234, 0,192, 64,209, 40, 80,146, 16,240, 24, 72, 76, 47,196,171,184,236,242,168, 62,152,162,
+201, 22,212, 1,175, 85, 34,104,154,134, 86,103,128, 38, 63, 29,107, 47, 41, 17,157,170,134, 86, 33,131, 86, 87, 52, 12,203,198,
+198,134,117,237,218,149,217, 55,111,222,154,124,224,192, 1,102,170,133,197,235, 66,160,121,121,156, 86, 86,238,102, 20,151,123,
+114,215,238,165, 2,154, 25,135,216,100, 5, 26, 56,183,130,141,165, 11,210,179, 21,120,240,250, 50,222,188, 13, 70, 61, 71, 87,
+204,154,209,141,191,106,205,209, 19, 28,210,173, 78, 94, 94, 66, 65, 69,229, 44,121,139,250,253,106, 44,200,220, 56, 24,114,222,
+195, 80,152,246,201, 14, 98,219, 58,104,209,193, 9,182, 46,245,121,163,102,173, 28, 9,124, 32,180,202,114,102, 16, 4, 99, 23,
+131, 65, 76, 38, 8, 2, 77,154, 52, 77,221,180,105, 83,121,161,192,117, 77,154, 52, 77,101, 50, 25,206, 69, 15,118,198, 78,154,
+166, 50,170, 40,231, 7,162,134,203,229, 45, 40, 50,251, 59,166, 92,186,116, 73, 55,104,208, 32,108,220,184,145,187,112,225,194,
+197, 76, 38,115,108, 57,238,189, 15, 56,251, 1,117, 44,235,215,239,186,250,193, 3,154,173,215, 19,185, 79,158, 20,228, 73,165,
+100,122, 97, 33,247,212,155, 55, 61,198,205,155,199,117,113,113,193,253,224, 96,235, 44,133,130,206,211,104, 84,121,121,121, 52,
+ 73,146, 79, 42,224, 92,100,107,107, 39,220,187,119,175,231,164, 73,147, 94, 72,165,210, 69, 0,224,232,232,184, 22, 64, 67, 0,
+137,101,214, 97,247,238, 19,146,241,227,199,199,102,102,102, 46,170,172,156,101,208,200,206,214, 78,120,236,247,160,151,181,204,
+ 4, 12, 91,231,218, 12,182,165, 37,139,228, 10, 56, 20,160,170,231, 82, 95, 4,160, 81, 5,199,126,204, 73, 8, 4,130,179,127,
+254,249,167, 29,155,205,134,193, 96,128,173,173, 45, 18, 18, 18,144,151,151,135,194,194, 66,196,191,137,134,155,139, 11, 86, 4,
+ 46,116,156,182, 48,240,172, 82,169,244,253,168, 51,251, 52, 1,178, 94,247,137,101,175,188, 44, 6, 31,187,189,140,108,247,178,
+ 72, 72, 78, 78,134, 88, 44,134,143,143,143,248,193,131, 7,247, 42, 17, 89,101,147, 0, 15,110,219,182,173,217,209,163, 71,225,
+235,235, 11, 11, 11, 11,132,134,134, 34, 50, 50, 18, 58,157,142, 33,151,203, 33, 22,139,177,110,221, 58,212,169, 83, 7,133,133,
+133, 72, 76, 76,180,102,179,217, 54, 31, 69,180, 47,229, 12,189, 22,186, 42,255,253,237, 37,233,196,213,110,123,143,157,192,248,
+239,135,192,129,142,187,103, 81,159, 88,213,181,119,219,159,104,166, 75, 47,145, 89, 19, 43, 15,159,222,224,112,197,152,182, 96,
+ 37, 98,163, 46, 90, 41, 11, 95, 78, 37, 12, 41, 46,203, 55,157,154, 89,206,185, 19, 0, 24, 46, 46, 46,227, 78,157, 58,101, 86,
+106,122, 97, 50, 75,115, 30,150, 77, 2, 95, 73,194,247, 42,235,147, 32, 8, 36, 36, 36,192,206,206, 14, 98,177,184, 52,129,120,
+116,116, 52, 30, 61,122,132,146,108, 20, 21,112, 14,191,121,243,166,139, 72, 36,250, 96, 7,154,166,145,157,157, 13,146, 36, 33,
+ 20, 10, 97, 48, 24,160,211,233,160,215,235,161, 86,171,197, 13, 27, 54,156,162,215,235, 31,151,199, 73, 81,212,156,193,131, 7,
+183,125,252,248,177,251,182,109,219,160,213,106, 55,164,167,167, 99,192,128, 1,160, 40, 10,157, 58,117,250,154,166,233,152,197,
+139, 23, 3, 0,102,207,158,173, 87, 40, 20,147,106,114,238,197,104,216,162, 69, 11,247,144,144, 16,180,107,215, 14, 26,141, 6,
+ 27, 55,110, 52,223,189,123,183,121, 80, 80,144,237,130, 5, 11,246,103,101,101, 5, 84,193, 73, 0,216,224,224,224, 48,185,125,
+251,246,130,226, 28,166, 56,116,232, 16, 86,172, 88,113, 28,192,226, 43, 87,174, 44,187,112,225,194,200,113,227,198, 97,197,138,
+ 21,179,242,242,242,246, 85,196, 25, 31, 31, 15, 91, 91, 91,152,155,155, 23, 61, 44,117, 58,132,135,135,227,198,141, 27,248,234,
+171,175,140, 57,167,138,202,233,218,191,127,255,253,199,142, 29, 51, 75, 73, 73,193,221,187,119,225,230,230, 6,165, 82,105, 76,
+110,216,155,127, 65,135, 93, 33,167, 74,165, 82, 39, 39, 39,139,215,175, 95, 15, 71, 71, 71,184,186,186,130,207,231,131, 32, 8,
+232,245,250,202,194, 9, 84, 89, 78,127,127,176,178, 37, 86,125, 45, 44,173,166,210, 52,205,202,207,151,253,174, 67,222,233,184,
+ 56,104,255,198,115,255, 79, 70,115, 0, 47,240, 97,206, 67,105,169,208, 10, 14, 14,166,123,245,234, 69,148,124, 58, 57,161, 32,
+ 59,219, 42,214,206,161,241, 9, 59,135, 70,197,121,191, 24,111,152, 76,171, 88,123,123,101, 1, 0,232, 72, 26, 97,111,242,240,
+242, 93, 58, 34,223,165, 67,196, 51,206,248,162,209,145, 69, 35, 86,105, 26,106,249,255,191,180,234,148, 50,104,116, 69,195, 61,
+180, 26, 37,242,179, 94, 19,131,250,117,225, 79,158, 60, 17,142,142, 78,182, 21,241,233,120,252, 89,211,102,247,176,172,101,201,
+ 70,240,131,171,248,250,171,126,224,243,216,200,201, 87, 3, 4,240, 54,238, 6, 64,153, 33, 42, 54, 25,173, 27, 9, 17,208,213,
+ 91,124,238,116,204, 60, 0, 75,141, 41, 47,153,250, 4, 28,143,238, 96, 27,244,208,103,199,128,202, 75, 2, 68, 14, 80, 17, 98,
+228, 72,147,240,230,222, 25,163,222, 25, 41,138,154,106, 99, 99,147,183,120,241,226,246, 13, 26, 52,208, 77,153, 50, 37, 34, 41,
+ 41,105,206, 71,111, 43,191,238,220,185, 19,239,222,189,147,172, 94,189, 58, 52, 59, 59,123, 73, 53, 27, 58,144,166,177,165,216,
+ 21,151,125,254,252,249, 22,119,238,220,153,181,101,203, 22,251,233,211,167,115,167, 79,159, 62, 6,192,207,149,185, 11, 11,120,
+188,206,171,239,222,165,201,212, 84,205,225,237,219,185, 59,194,194, 22,235, 40,170,182,141,157, 29,241, 77,235,214, 10, 33,131,
+145,157,147,145, 65,218,186,187, 51, 19,110,220,176,166, 5,130,180, 43, 87,174, 20,200,229,242, 10, 83,231, 48,153, 76,101,121,
+238,194,242,224,232,232,168, 45,111, 12, 87, 37, 29, 98, 1, 69,211, 58,203,122,245,232,174,157,218, 52,120, 23, 19, 23,199,183,
+180,100,122, 52,112,243,122,245, 38,225, 9,109, 48,168, 9,130, 40, 48,202, 87,194,100, 14,217,178,101, 75, 99,115,115,115, 80,
+ 20, 5, 11, 11, 11,100,101,101, 65,171,213,162,160,160, 0,218,194,124,104,243,243, 17,153,148,128,182,237,219, 99, 80,183,174,
+222, 65,231,255, 28, 98, 48, 24,142, 87,234,207,107,210,188,212,146,181,178,174,245,255,251,130, 82,242, 74, 69,215,250,230, 30,
+224,136,197,232, 50, 39,240,115,110,244, 23,151, 46, 93,186,220,191,127,255, 30,243,230,205, 99, 72,165,210,171, 9, 9, 9,109,
+ 1,188,174,236, 32,177, 88, 92, 63, 59, 59, 27,114,185, 28, 22, 22, 22,216,178,101, 11,236,237,237,161, 84, 42,241,244,233, 83,
+218,217,217,153, 8, 13, 13,133,179,179, 51,114,114,114,160,211,233,160, 82,169,210,181, 90,109,133,238,242, 98,247, 96,247,217,
+221,112, 37,230,249,161,118, 78, 68,252,211,193,115,253,223,197, 68,190, 73,190,126,227,193,207,164,154,159,146,151,122,115, 97,
+189,150, 47,108,166,206, 95,129,223, 54, 44, 67,204,227,187,185,246,117, 10,118, 8, 8,205,193,202,202,171, 80, 40,212,111,222,
+188, 49,139,136,136, 0, 65, 16,176,176,176,128, 80, 40, 44, 87,108,213, 0,140,178, 22, 40,133, 66, 1, 14,135, 3,107,107,107,
+236,219,183,175,180,227,117,115,115,171,140,227,247, 46, 93,186, 12,169, 83,167,142, 89,217,149, 45, 91,182,196,196,137, 19,177,
+107,215, 46,132,133,133,125,144, 79, 51, 61, 61, 93,170,215,235, 43, 59,239,188,140,140,140,110,253,250,245,123,126,239,222, 61,
+243,125,251,246,129, 36,201,114,151,189,123,247,226,209,163, 71, 75, 1,188,169,225,117,244,213,128, 1, 3,238, 30, 57,114,196,
+ 50, 43, 43, 11, 37,215,134, 66,161,128,193, 96,128,151,151, 23, 65,146,100, 85,227,222, 24, 76, 38,243,252,246,237,219,123,143,
+ 31, 63, 30, 44, 22, 11, 90,173, 22,219,183,111,199,194,133, 11, 51,138, 95, 74,117, 0, 22, 31, 60,120,112,100,159, 62,125,208,
+180,105, 83,239,219,183, 43, 30,217, 33,151,203, 33,151,203,193,102,179,225,224,224,128, 85,171, 86, 65,171, 45,122,172,120,122,
+122,150,222,198, 0,126,247,244,244,236, 29, 27, 27,187, 17, 69, 99,215, 62,129,131,131, 67, 63,154,166, 39, 24, 12,134,194,118,
+237,218, 89, 31, 59,118,204, 76, 34,145,224,249,243,231, 88,186,116,169,140,162, 40, 3, 69, 81,132, 74,165,138,183,179,179,123,
+206,227,241, 4, 74,165, 50, 55, 39, 39,103, 13,128,171,255, 84, 79, 78, 16, 4,193,102,179, 49,118,236, 88,176, 88, 44, 8, 4,
+ 2,168,213,106,232,245,250, 82, 49,143,106,186,165, 27, 52, 16, 91,179,192, 25,111,101,214,112,214,160,153,189,108, 29,107, 59,
+193,210,156,135,232,232,215,109,111,133,220,216,206,101,197,236,166,180,250,221, 49,137,249,127,121,178,251,143,181,200,127,168,
+208,250, 36,231, 33,171,252,198, 28,100,160,233, 83,217, 18, 9, 87,199,229, 10, 99, 75,172, 92,246,246,202, 2,130, 24,100,176,
+109,212, 23,164, 78, 95,252,160,160,139, 23, 35,133,150,222,128,119, 49, 81,184,119,253, 79,216, 40, 37,200,142,111, 6,112, 26,
+ 67,171,202,135, 90,171, 43, 22, 37, 6, 68, 60, 15, 65, 65,126, 46,124,124,123, 1, 12,198,163,138,248, 44,172,137, 94,223,180,
+104,194,124,151, 28,133,150,158, 3,225,238,220, 14, 73,210, 2,228,201, 53,144, 21,168,209,204, 39, 16, 89, 50, 21, 10,148,106,
+188,126, 23, 4,167,218,238, 12,130, 21,215,201, 88,161,165,121,125, 22,154, 55, 23,192,113,109, 11,174, 87, 31, 48, 93,253,144,
+252,242, 54, 34,174,108, 70,234,171,251,160, 41, 3, 28, 61, 91, 25,123,147,108,191,122,245,106,171,182,109,219,178, 58,119,238,
+220,244,242,229,203, 77,165, 82,105, 68,177,192,104,218,185,115,231,166,182,182,182,216,186,117,171,138, 32,136,237, 53,108,236,
+ 82, 11, 88,102,102,230, 19, 0,171,207,158, 61,187,125,226,196,137,176,179,179,107,156,150,150, 86,225,129, 89,108,118,211, 81,
+107,214,208,108, 38,147, 62,254,219,111,156, 21, 87,175,110, 58,112,240, 32,167, 99,135, 14, 4, 77,211, 8, 15, 15, 23,174,255,
+237, 55,225,176,190,125, 19,147, 50, 51,201, 59, 97, 97, 58,105,106,106, 97,166, 66,177, 66, 42,149,166,255, 19, 87,182, 94,175,
+127, 24,159, 16,239,228,219,186,153,237,139,232,248, 87, 1, 29,191,249,134,193, 96, 48, 98,226,146,194,108,109,205,133, 55,174,
+223,208,233,245,250,135,198,112,241,120,188, 94, 29, 59,118,100,201,100, 50,212,174, 93, 27, 89, 89, 89,144, 72, 36, 69, 22,135,
+124, 25,116,249,249,208, 23,228,193,160,144, 35,254,233, 19, 52,115,175,199, 59,197,227,245, 82, 42,149,149, 10,173,146,183,204,
+242, 18, 93,151,172,227,154,153,129, 43, 22,131,168,190,219,176,175,165,165,229,194,188,188,188,203, 0, 86,233,116,186,105, 11,
+ 23, 46,108,185,109,219, 54,155,213,171, 87,155, 79,152, 48,225,148, 92, 46,111,134,162,164,170, 21,117, 96,239, 73,146,180, 6,
+ 96, 31, 18, 18, 2, 59, 59, 59,228,231,231,151, 88, 90,180, 74,165,146,159,147,147, 3,141, 70, 3,173, 86, 11,115,115,115, 60,
+123,246, 44,151, 36,201,139, 85, 21,206,188, 62,177, 74,163,139, 94, 98,237, 45, 74,211,145, 86,254,153,185,148,108,249, 38,233,
+ 74, 0,155,186,185,187,239,213, 81,119,227,223, 70, 93,180, 74,120, 26,154,155,246, 86,225,190,239,114,124,101, 99,180,104, 0,
+ 20, 65, 16,180,145,103,230,210, 0, 0, 32, 0, 73, 68, 65, 84,167,167, 39,178,178,178,192,100, 50, 33, 20, 10, 33, 22,139,177,
+104,209, 34,108,223,190,189, 38, 66,139, 47, 18,137,214, 48, 24,140, 33, 12, 6,195,214, 96, 48, 32, 48, 48, 16,189,123,247, 6,
+151,203,133, 78,167, 43,181,104,150, 88,169,170,176,116,132, 63,122,244,200,252,209,163, 15, 30, 91, 29,108,108,108,110,105, 52,
+ 26,196,197,197,225,252,249,243,237, 1,220,169,102, 91,199,133,135,135,119,243,243,243, 59,212,162, 69,139,250, 52, 77,163,113,
+227,198, 24, 58,116, 40,130,130,130, 16, 17, 17,129,252,252,124,234,198,141, 27, 7, 0,108,172,110, 31, 94, 92,191, 94, 3, 6,
+ 12,184,127,244,232, 81,171,156,156, 28,168, 84, 42, 40, 20, 10,156, 58,117, 10,109,219,182,133,141,141, 13,142, 28, 57, 66,210,
+ 52, 93, 89,219, 51, 24, 12,198,190,221,187,119,247, 30, 55,110, 28,118,236,216,129,227,199,143,163, 79,159, 62, 24, 50,100, 8,
+178,178,178,236, 55,108,216, 48,178,216, 77,184,108,232,208,161,144,203,229,120,250,244,105,180,145,247, 60,242,242,242,144,151,
+151, 7,129, 64, 80,246, 30, 35, 0, 4,109,222,188,249,251, 89,179,102,193,221,221,125, 89,124,124,252,102,148, 51, 75,148,162,
+168, 73, 18,137,196,138,197, 98, 89,147, 36,137,148,148, 20, 60,123,246, 12, 83,167, 78,205,205,205,205,157, 8, 32, 9,192,226,
+177, 99,199,174,154, 51,103, 78,233,181, 52,103,206,156,224,203,151, 47,119,251,187,173, 57,158,158,150,141,184, 76,222, 76, 89,
+ 33,211, 90, 38,147,149, 62, 59,180, 90, 45, 52, 26,205, 7,150, 44, 14,135,109,221,178, 89,157, 75, 42,101,225,143,175,223,230,
+ 85,152, 32,221,187,190, 69, 19,161,200, 98, 86,219,118, 29,135,119,237,246, 29,147,212,235,113,237,218, 69,252,241,199, 78,116,
+240,243,132,123,131,198,152, 62, 99,166,133, 70, 75, 6,222,184,113,117,161,229,163,123, 87, 11, 11,242, 22, 85,198,249, 63,142,
+ 75,197,226,234, 82,185,174,195,242, 20,100,113, 8, 7, 89,241, 79, 27, 43, 43,171,223, 12, 6, 67, 7,115,115,115, 80,121,177,
+120,253,236, 49,114,101,108,104, 84, 6, 80,116,145,216, 50, 74,184,104,180,184,123,237, 2,182,108,222,132,156,156, 28,248,125,
+219, 30,114,150, 11,234,184,212,129, 90,165, 44,190,105, 0,157, 86, 15, 91,123, 87,188,120, 17,161, 47, 80, 40, 42,124, 32,113,
+248, 58,239, 58,246,158,208,232,218,128,207,229, 34,191, 80, 11, 89,177,200, 58,114,122, 48, 52, 74, 21, 72,173, 14,164, 86, 15,
+219, 58, 3,240,149,125, 71, 80,134,139,141,170, 85,125,148, 1,186,132,187,208, 37,220,133,160,205, 12,252,185,246,251,143, 58,
+ 82,227,242,238,102,101,101,101,190,122,245,234, 98,120,120,120,191,193,131, 7,227,246,237,219, 19, 0, 76, 46,118,223, 76, 24,
+ 60,120, 48,194,195,195,241,234,213,171,139, 89, 89, 89,153, 95,162,229,185, 92,174, 74,163, 41,234, 99,133, 66, 33,191,138,125,
+157, 90,246,239,207,200,127,241,162, 96,243,131, 7,203,246,238,219,199,233,220,169, 19,161, 39, 73, 80, 6, 3, 26,120,120, 16,
+ 93,187,118, 21, 5,157, 60,105,205,212,235, 31,205,159, 54, 45,100,215,136, 17,133, 79, 20, 10, 99, 7,154,215, 45,118, 25, 2,
+ 64,221, 74,214, 25, 13,141, 70,179,109,210,248,209,157,239,220,189,239, 82,199,197,201,252,218,141, 59, 17, 60, 1,151,225,238,
+ 86,159, 41,203,207,101,173, 92,246,163, 64,163,209, 24, 43, 90,189,109,108,108,144,158,158,142,119,239,222, 65,163,209, 64,175,
+215,131, 82, 42,160,149,229, 65,155,159, 11, 66,173, 2,207, 96,128, 58, 59, 3,117,221,235, 1,255, 63, 35,177, 74, 87, 84,121,
+ 66,171,228,147,111,110, 14,142, 72, 12, 6,155,109,116,114,116, 0, 45, 90,181,106,117,242,204,153, 51,156, 49, 99,198,180,190,
+121,243,230,111, 0,146, 36, 18, 73,167,165, 75,151, 62,249,237,183,223,120, 19, 39, 78,244,218,184,113,227, 72, 0,191, 87, 68,
+162, 86,171, 79, 94,186,116,105,152,171,171,171,125,100,100, 36,212,106, 53, 40,138, 66,247,238,221,129,162,177, 53, 0,128,152,
+152, 24,149, 90,173,206,140,138,138, 42, 72, 74, 74,210,193,136, 89,130,203,183, 73, 31, 22,164,223,237,111,239,224,244,136, 47,
+168,235, 70,203, 95,244,155, 61,208,105,195,230,211, 18,245,213,184,184,194, 37, 93,234,173, 83, 20,190,156,106,233, 44,223,113,
+ 53, 56,222,152,129,240,165,179, 11,173,173,173,193, 98,177,192,102,179,193,225,112, 64, 16, 4,102,204,152,129, 61,123,246, 84,
+229, 58,252, 64,100,153,153,153,189, 90,177, 98,133,243,196,137, 19, 57,124, 62, 31, 50,153, 12, 71,142, 28,193,216,177, 99,241,
+199, 31,127,148, 59,254,197, 8,151,210,199,214,210, 89, 35, 70,140,128, 86,171,197,208,161, 67,177,119,239,222, 89, 6,131,225,
+ 78, 13,110,233, 71, 17, 17, 17, 30, 17, 17, 17,230, 0,250, 12, 25, 50,228,224,128, 1, 3,112,231,206, 29, 92,188,120,177, 61,
+138, 38,125,168, 0,172, 5, 96, 87,252, 89,217,253, 41,178,183,183,223, 73, 81, 84, 31, 91, 91,219, 8, 79, 79, 79,159,163, 71,
+143, 90,102,102,102,150, 76,126, 64, 66, 66, 2,246,239,223, 47,221,183,111, 95,129,193, 96,176,102, 48, 24,151,242,242,242, 22,
+ 85, 34,216,246,109,222,188,121,116,177, 59, 16,103,206,156,161, 55,109,218, 68, 44, 93,186, 20, 50,153, 12, 29, 58,116,192,238,
+221,187,103,202,229,242,166,155, 54,109, 26, 63,104,208, 32,172, 92,185, 18, 10,133, 98,115, 85, 47, 43,149,136, 47, 2,192, 55,
+155, 55,111,118,157, 53,107, 22,206,156, 57,131, 22, 45, 90, 8,226,227,227,119, 1, 24, 87, 94,251,209, 52,141,248,248,120, 40,
+149, 74,220,191,127, 31,203,150, 45,147,149, 17, 89, 51, 39, 79,158,188,106,230,204,153, 88,179,102, 13, 29, 25, 25,153, 57, 96,
+192, 0,251, 61,123,246, 48, 27, 52,104, 48, 83,169, 84,254,109, 66,203,171, 65,173,117, 45, 91,180, 91,232,232,212, 0, 71,142,
+ 30, 67,110,110,110,105,157,148,212, 11, 77,211, 40, 44, 44, 68,122,122, 58, 44,204,205,176, 97,227,170, 30, 83, 38,140,118, 65,
+ 81, 24,140, 79, 77,150,238, 86, 27, 7, 12, 25, 51,119,232,176,209,136,140,120,142,160,131,191, 35, 42, 50,188,148,143,212,235,
+ 16, 27,253, 12,177,209,207, 96,239,224,138,174,157,219, 19,223,127,255,125,247, 17,195,134,216, 2,248,203, 66, 71,252, 7, 91,
+179,128, 79,227,104,237,249, 64,104, 85, 97,174,179,177,178,178,122,117,226,196, 9,107, 63, 63, 63, 38, 73,146,184,122,237, 26,
+166, 78,254, 1, 35, 71, 4, 66, 7, 43,144, 90, 14, 40, 14,223,168,146,168, 84, 74,208,160,161, 80, 40, 16, 22, 22, 6,154, 34,
+ 17,180,103, 19,104,154, 42, 21, 90, 0, 13,173, 78, 7,167, 58, 94,216,185,119, 53, 9, 54,251, 9,244,229,135,174, 41,200, 97,
+ 26,244, 36, 13, 73,102, 50,146,165, 81,176, 48,171, 3, 22,187, 14,114,242,148, 96, 49, 28,160, 87,199,192, 80,124,172, 82,145,
+ 10,149,238,243,218,207, 80,142,245,148,174,198, 67, 87,165, 82, 29, 62,124,248,112,143, 95,127,253,149,219,179,103, 79,207,211,
+167, 79,127, 3, 0, 61,123,246,244, 52, 55, 55,199,225,195,135,181, 42,149,234,240, 23,180,248,116,108,213,170, 21,100, 50, 25,
+ 18, 18, 18, 34, 42, 61, 55,173,214, 90,108,103,199,204,188,125, 91,159, 37,147,185,116,236,216,145,208,147, 36, 24, 4,129,220,
+252,124, 36, 37, 38,194,210,210,146,120, 21, 19, 35,222, 62,125,250, 57, 79, 31, 31, 86,201,140, 68, 99,112,241,226, 69, 33,138,
+198,101, 85,186,174,154, 80,100,102,164,143,158, 54,109,218,185,195,135,143, 88,100,100,102,196,242,184, 92, 82, 44,230,215, 30,
+ 49,124, 10, 43, 47, 47,111, 24, 0,185,177,100, 50,153, 12,241,241,241, 16, 8, 4,224,176,217,160, 84, 74, 24, 20,114,168,115,
+179,192,212,105,193, 53, 24, 80, 75,200,131,139,189, 61,234,216,218, 24,197,249,238,214,245,210,129,239,101,221,133, 27, 90,121,
+131, 43, 18,131,107, 38,198,148,224,208,226,183, 81, 14,176,244,103, 99,104,109,156,156,156,254, 60,122,244, 40, 39, 43, 43, 11,
+225,225,225, 17, 0,242, 1,152, 1,160,162,163,163,111, 70, 69, 69,245, 42,158,117, 87,213,108,177, 77,103,207,158,237,226,231,
+231, 71,186,185,185,137, 50, 51, 51, 93,100, 50, 25, 37,149, 74, 63, 48, 9, 93,191,126,157, 87, 88, 88,168,160, 40,234, 92,177,
+200,170, 50,126,209,236,129, 78,252,176, 23,152,225, 31, 80,183,177,185, 77, 19,228,146, 47, 26, 63,138,144,206,152, 61,208,105,
+219,230,211, 18,181,128,208, 28, 36, 12, 41, 46, 44,190,218,216, 65,204, 52, 80, 52, 86, 42, 44, 44, 12, 73, 73, 73,136,143,143,
+255, 64, 80, 77,152, 48, 1, 65, 65, 65, 70, 89,180, 68, 34,209,154,229,203,151, 59,207,154, 53,139, 83, 70, 20, 97,218,180,105,
+200,207,207,199,222,189,123, 49,109,218,180,106,119,252, 31,161, 94,199,142, 29,123, 58, 58, 58, 34, 39, 39, 7, 14, 14, 14,240,
+243,243,235,125,231,206, 29, 55, 0, 9, 53,188,238,167, 4, 4, 4,172, 90,177, 98, 5,244,122, 61,198,142, 29,139,183,111,223,
+158,124,251,246,237,150, 58,117,234,204, 88,176, 96,129,189,189,189, 61, 6, 15, 30, 44, 34, 73,178,127, 69, 36,181,106,213, 90,
+251,251,239,191, 15,235,217,179, 39, 67,167,211,125,123,235,214, 45, 36, 38, 38, 66,171,213,130, 36, 73,188,127,255, 30,211,166,
+ 77,147, 22,207,110,124,111, 68,185,198, 44, 94,188,120,244,140, 25, 51,176,126,253,122, 44, 95,190,252,128,133,133,133, 79,179,
+102,205,154, 47, 95,190, 28,243,231,207,135,171,171, 43,172,173,173,191, 90,186,116,169,247,156, 57,115,176,109,219, 54, 44, 91,
+182,236, 0,128,253, 53,169, 8,138,162,136,117,235,214, 53,221,188,121,179, 99,137,200, 98, 48, 24, 56,113,226, 4, 94,188,120,
+209, 59, 46, 46,174,188, 99,118, 59, 56, 56, 76,112,116,116,228,222,184,113, 67,236,234,234, 10,146, 36,245,197, 34,107,123,157,
+ 58,117,166,190,127,255, 30, 61,123,246, 68, 92, 92,220, 97, 0, 35, 45, 44, 44, 20,115,230,204, 17, 10, 4, 2, 11,165, 82,249,
+119,117,222, 96, 50,136, 81,107, 86,206,199,211, 23, 49, 56,123,150,131,167, 79,159,194,222,222, 30, 60, 30, 15, 52, 77, 67,163,
+209, 32, 43, 43, 11,122,157, 6,141, 27,213,195,161,125,235,144,153,153, 5, 48,136, 10,135,220, 16, 12, 98,248,232, 31,250,225,
+222,253,107,216,181,235,119,200,229,138, 10, 94,190,249,104,224,233, 13,167,218,118, 72, 73, 77, 1,193,128,205, 95,121,174,255,
+225,174,195,210, 71, 16,140, 9,239, 80, 22,150,150,150, 91,142, 31, 63,110,221,161, 67, 7,166, 66,161, 0, 69, 81,104,231,231,
+135, 25,179,102,225,226,209,163,240,104, 61, 20,132, 86, 12, 82,104,220,172, 7,181, 74,137,134,205,191,193,160,193, 67,144,156,
+148,132,128, 94, 3,160, 86, 43, 75,223, 48, 74, 44, 90, 90,173, 14, 54,118, 46,184,126,253, 58, 19, 99,199,190,198,246,242,141,
+ 18, 6, 29,247,101,236,123,117,219, 60,213, 11,132, 61, 13,130, 78,163, 67,227,198, 75,161,163,172, 97,231, 60, 1,122,253,121,
+ 20,100,221, 42,114, 99, 88,119, 64,106,114, 50, 24, 76,206,171,154,214, 32,165,200,250,172,135,110,126,126,126,126,124,124,252,
+233,176,176,176,225,253,251,247,199,245,235,215,199, 3, 64,255,254,253, 17, 22, 22,134,248,248,248,211,249,249,249,249, 95,162,
+181, 29, 29, 29,251,180,111,223,126,104,203,150, 45, 17, 28, 28, 12,154,166,239, 25,117, 99,179,217, 52,131,193, 0, 69, 81, 32,
+ 0,228,228,229,225,237,219,183,200,201,206,134, 94,175,135, 66, 46,167,188, 61, 61,229, 52, 69,153, 85,167, 60,101,103, 24,162,
+156, 89,135, 37,235,106,112,170, 73, 79, 30, 61, 72, 46,148,203,109,173, 44,173, 10,185, 92,174, 65,150,151,151,255,250, 85,164,
+214,200,206,161, 4,209, 81, 81, 81, 62,105,105,105, 72, 78, 78, 6,169, 40, 4, 83,163, 5, 67,163, 68,167,111,218, 64, 0, 26,
+124, 80, 96, 83,122,176,153,108, 20, 22,205,206,171,210,221, 97, 40,243,146, 80, 34,178, 8,130, 40,114, 23,138, 68,224,138,205,
+ 62,176,112, 25,115, 61,241,120,188,163,167, 78,157,114,116,114,114,194,202,149, 43,225,236,236,252, 85,237,218,181,149, 22, 22,
+ 22, 2,123,123,123, 52,108,216, 16,223,124,243, 13,174, 92,185, 2, 35,234,128,164,105,186,235,189,123,247,230, 62,120,240, 96,
+144, 72, 36, 34,166, 79,159,206,234,222,189, 59,120, 60, 30,148, 74, 37,100, 50, 25,142, 29, 59,150, 77, 81, 84,201,164, 20,107,
+161, 80,184,159, 32,136, 4,133, 66, 49,235, 99,194, 67,191, 54,174,157,153, 75,141,165,229,194,126,254, 1,117, 27,119, 12,232,
+140,122, 30, 29,209, 49, 32, 25, 0,214,213, 98, 37, 14,253,101,177,229, 57, 75, 51, 98,255,245,171, 55,150,249,249,119, 92,188,
+ 80,126,123,213,250, 61,121, 85,142,167, 35, 8, 2, 20, 69,125, 16, 59,232,227,237, 35, 71,142,196,137, 19, 39,170,172, 71, 6,
+131, 49,100,226,196,137,156,143, 44,207,144, 72, 36,232,213,171, 23,250,247,239,255,129,208,178,177,177,129,131,131, 3, 18, 19,
+ 19, 1, 32,199,200,235,106,198,152, 49, 99, 8,149, 74,133,113,227,198, 97,239,222,189, 24, 58,116, 40,113,231,206,157, 25, 0,
+102, 85,247, 98,103, 48, 24, 27, 22, 44, 88, 48,119,218,180,105,200,205,205,197,229,203,151,209,189,123,119,156, 56,113,194,246,
+242,229,203,107, 58,116,232, 0, 38,147,137,224,224, 96,144, 36, 89,105,172, 47, 14,135,211,167,103,207,158,140,148,148, 20,112,
+ 56, 28,248,250,250, 34, 53, 53, 21, 74,165, 18, 18,137, 4, 51,103,206, 76,207,201,201,105,111,236,125,196,225,112,102,205,152,
+ 49, 3,199,143, 31, 71, 96, 96,224, 65, 0,227,242,243,243, 7, 61,120,240,224,120,223,190,125, 33,145, 72,112,238,220, 57, 44,
+ 91,182,140, 24, 57,114, 36,118,236,216,129,153, 51,103, 30, 40,182, 58, 85,116,225, 23,102,102,102, 90,212,175, 95, 31, 25, 25,
+ 25,144,203,229, 56,119,238,156,221,149, 43, 87,220,156,156,156,204,227,227,227, 13, 63,255,252, 51,119,214,172, 89,216,178,101,
+ 11,194,195,195, 17, 20, 20,132,142, 29, 59,146,113,113,113,229, 90,201,138, 67, 54,156,163,105,250,134, 72, 36, 66, 97, 97, 97,
+201,125, 55, 47, 48, 48,112,218,218,181, 69, 70,246,180,180, 52,140, 26, 53,106, 68, 72, 72, 8,213,161, 67, 7, 33,135,195,129,
+ 90,173, 86,252,157,189, 54,101,160, 0, 80,112,115, 17,227,218,197,125,120, 30, 17,135,231, 17, 81,224,242,138, 6,193,171, 84,
+ 74, 52,111,220, 0,173,125, 91, 33, 77, 42,193,225,160,125,168,101,227, 84,233,115,132,166,105,112, 88, 6,120,123, 58,224,104,
+208,239, 8,190, 28,130,160,195,199, 74,199,188,177, 88,108, 52,107,222, 26,190,190,126,136,139,127,143,125,251,118,193,214,206,
+197,228, 28,172, 33, 74, 93,135,101, 63, 63, 82,254, 29,253,252,252,152,114,185, 28,106,181, 26,233,233,233, 72, 76, 76,132,165,
+149, 37,226,210, 18,208, 94,168, 67, 58, 85,128,232,136, 87, 6,130,201, 14,175,234, 15,123,250, 55, 3,252,155, 97,234,152,161,
+149,188,178,210, 16,153,219, 20,185,110, 72,242, 29,182,109, 35, 43, 18, 90,164, 65,127,243,218,141, 91,173,198,140,236,195,190,
+126,107, 47,244, 90, 10, 42,189, 5, 20,106, 45, 20, 58, 54, 24, 22,221,129,236, 59, 96,178,120,248,186,105, 3,156, 59,123, 69,
+ 71,147,250, 16,163, 43,200,222, 7,100, 70, 84, 25,161,149,249,145,223,161,150,209,174,195,210,142,215, 96, 56,113,228,200,145,
+239,218,180,105, 35,236,208,161, 67,253,226,142, 83,119,228,200, 17,101,113, 48,204,234,226,131,104,240, 14, 14, 14,205, 57, 28,
+206,208,238,221,187, 55, 31, 61,122, 52, 94,191,126,141,195,135, 15,199, 54,104,208,224,182, 84, 90,241,140,108, 38,151,155, 35,
+207,204,180, 20,187,185,177,172,204,204,210,174, 92,190,236,218,185, 75, 23, 34, 57, 57, 25, 57, 57, 57, 80,171,213, 8,143,136,
+160,217, 76,102, 42, 97,110,206,136,121,241,130,193,228,114,115, 42,178, 54,150,131,196, 42,102, 29,174,173,169,117,203,197,209,
+170,254,178,192, 73,245,212, 26,181, 79, 65, 65, 1,201, 98,179,217,206, 14,150, 73, 49,239,141,127, 38,106, 52,154,224,155, 55,
+111,126,215,185,115,103, 94,236,203,112,144,249,249,208,230,203,192,161, 12,168,213,188, 41,152, 58, 13,160,213,195,201,155,134,
+ 58, 79,136, 59,143, 99,244, 26,141,166,202,160,134, 37, 66,139,241,145, 48,224,138,197,224,153,153,131, 39, 22,127, 44, 24,170,
+122,147, 19,118,237,218,181,211,215, 95,127, 13,154,166,177,103,207, 30,232,116, 58,174, 78,167,131, 86,171,133, 78,167, 67, 65,
+ 65, 1,130,130,130,176,115,231,206, 7, 0, 14, 24,113,250,164, 64, 32,232, 75, 16,132, 29,139,197, 82,218,218,218,138, 78,156,
+ 56, 81, 26,110,162, 89,179,102, 48, 51, 51,227,160, 56, 40,164,157,157, 29,251,143, 63,254,176,236,221,187,247,221,114,221, 29,
+141,191,154, 95,143,180,242,231, 11,234,186,153,219, 52, 65, 61,143,142, 0,128, 46,189,198,160, 94,131, 58, 40,200,126,233,166,
+ 86, 37,246,227,176,100, 86,175,182, 73, 94, 11,122,250,140, 86,100,134,190, 69,249,211,251,203,237, 40, 24, 12, 70,133,238, 88,
+ 99, 68, 86,145,102, 97,216,150,140,243, 1,128,156,156, 28, 72,165, 82, 68, 71, 71,195,203,203, 11,185,185,185,112,114,114,130,
+ 86,171, 69,203,150, 45,161, 82,169,176,121,243,102,220,191,127,255, 1,128,153, 70,252,135,192,195,195, 99, 84,243,230,205,113,
+249,242,101, 60,125,250, 84,114,237,218, 53, 39, 63, 63, 63,184,185,185,141, 78, 72, 72,248,177,216,213,103, 44, 68,126,126,126,
+211,167, 77,155,134,168,168, 40, 76,154, 52, 41, 39, 37, 37,229,220,201,147, 39,199, 45, 91,182,140, 17, 16, 16, 0,169, 84,138,
+ 13, 27, 54, 24,238,223,191,191, 17,192,202, 42,234,241, 77, 74, 74,138,179, 90,173, 70,110,110, 46, 72,146,132, 82,169,196,149,
+ 43, 87, 16, 20, 20,148, 81, 44,178,222, 25, 91,184,166, 77,155, 54,100, 48, 24, 56,126,252, 56, 0, 44, 65, 81,196,254,115,253,
+250,245,147,252,252,243,207, 78,139, 22, 45,194,248,241,227,161,211,233,176,126,253,122, 44, 90,180,232, 82,177,200,170,236, 33,
+250,171,131,131,195,132, 73,147, 38,125, 53,103,206, 28,132,133,133,217, 61,123,246,204, 55, 60, 60, 28, 46, 46, 46,200,201,201,
+ 97, 89, 91, 91, 99,203,150, 45,152, 61,123,246, 25, 0,217, 15, 31, 62, 28, 18, 31, 31,191, 22,192,134, 42, 68,251,110, 39, 39,
+167, 9, 52, 77,211, 74,165, 50, 49, 48, 48,112,195,234,213,171, 49,123,246,108,188,122,245, 10,249,249,249, 48, 51, 51, 35, 22,
+ 44, 88, 48,106,201,146, 37, 24, 59,118, 44,173, 80, 40,118,254,221, 29, 53, 77, 27,160,148, 69,193,160,177, 66,179,198, 94,104,
+230, 83, 23,215,110, 61, 7, 0,116, 26,224, 7,165,162, 16, 7, 15,238,193,187,119,111,193, 98,179, 97, 89,203,193, 24, 75, 32,
+180, 5,111,144,167,147,162,115, 7, 95,116, 15,104,143, 3,135, 78,128,212,235, 48,110,204, 48,200,242,242,112,232,208, 62,196,
+197,191, 7,139,205,134,181,205, 95, 31, 8,181, 50, 45,242, 31, 47,180,140,112, 63,129,162, 40, 72, 36, 18, 60,123,246, 12, 9,
+ 9, 9, 16, 10,133, 80,145, 6,106,215,205,251, 20, 65,112, 82, 41,154,126, 64,147,165, 81,138, 63,229, 48, 24, 36,101, 34,214,
+ 90, 88, 89, 89,113, 53, 26, 21, 72, 82, 95,166, 87, 33, 0, 2,224,176, 0,199,218,245,144,146,156, 66,171,213,234,208, 74,223,
+160, 52,234, 45, 23,206,157,154,246, 77, 91, 63,155,238,157, 86,224,220,249,165,144, 21, 20, 64,173, 99, 67,161,214, 65,169, 6,
+ 44,107,121,162,101,227, 38, 72, 75,203,193,203,167,119,228, 44,141,210,152,129,162,111,183, 47, 30,227, 49,102,234,124, 8, 92,
+219, 66, 19,125, 14,148, 60,163,212,162,197, 23, 91,161, 86, 29,111,228, 41, 52, 56, 21,242, 28,168, 70,170,151,204,204, 76, 37,
+147,201, 60, 50,109,218,180,245,207,159, 63,115, 6,128,231,207,159,167, 74,165,210,133,153,153,153,213,181, 73,151, 68,131, 39,
+248,124,193,243, 6, 13, 26,164,249,250,250, 90,244,235,215, 15, 54, 54, 54, 8, 15, 15,199,218,181,107,223,232,116,186,249,119,
+238,220,169,212,213,163,213,106, 37,207,207,159, 55,111,255,195, 15,150,243,123,247,222, 48,109,218,180, 45, 43, 87,174,100,123,
+120,120, 16,122,157, 14,145,145,145,244,209, 35, 71,244, 59, 23, 45,218,204, 21,137, 88, 79, 46, 92, 96,147, 26,141,228,159,190,
+136,157,156,156,252,253,190,109,231,189,241,215,109, 80,171,228,120, 28,118, 9, 50, 89, 22,126,223,115,214,219,201,137,246,151,
+ 72, 36,119,140, 21,192,251,247,239,159,219,186,121,243,230,238, 46, 46,136, 76, 74, 0,151, 50,128, 67,146, 96,234, 52, 96,144,
+106,184,248,208, 32, 24,102,144,166, 23, 96,245,241,211, 81,198, 8,227,175,122,244,193,202,212,124, 16, 4,129, 77,109,124,192,
+ 53, 19,131, 35, 18, 99,202,159,183, 74,133, 65,240,202, 69,224,138,197,168,223,218,168,128,240,202,219,183,111, 63,139,140,140,
+108,233,227,227,131,185,115,231, 34, 49, 49, 17, 20, 69, 33, 35, 35, 67, 45,149, 74, 37, 89, 89, 89,137, 40,138,255,179,183,138,
+ 78,172,172,234,112,186,115,231, 78,169,187, 33, 36, 36, 4,181,107,215,134,133,133, 5, 10, 10, 10, 48,113,226, 68,203,159,126,
+250, 9, 0,240,236,217, 51,148, 21, 40, 31, 35,242,121,244,198,188, 66, 90, 70,203, 95,244,203, 37, 95, 52,238, 24,144,130, 46,
+189, 70,227, 70,240, 1,220,186,118, 19,181, 88,137, 9, 16, 21, 94,201, 78,200, 46, 72, 85,120,236,246,110, 49,142, 41, 85, 92,
+219, 61,189, 79, 44,211,209,145, 58,181,104, 87, 65, 94,101,101,245,240,240,128,189,189,125,233, 24, 45, 22,139,133,177, 99,199,
+130,166,105, 99, 69, 86,113, 95, 67,101,169,213,106,123, 62,159,143,244,244,116,188,127,255, 30,113,113,113,165,161, 3, 40,138,
+210,207,155, 55,143, 61,125,250,116,236,218,181, 11,161,161,161, 15, 0,172, 0, 96,236,203,218,176,193,131, 7,155,105,181, 90,
+ 28, 59,118,140, 4,208,235,212,169, 83,207, 90,182,108,201,234,214,173,155,217,142, 29, 59,134, 21,183,145,209, 66,203,220,220,
+156,163,211,233,176, 99,199, 14,164,164,164,248, 3,136,126,242,228,201,238,193,131, 7,239,244,241,241,105, 16, 21, 21,245, 86,
+ 46,151, 79, 1,240,178, 42,178,140,140,140, 49,190,190,190,167, 40,138,114,237,220,185,179,232,215, 95,127, 53,143,137,137,129,
+179,179, 51, 40,138,138, 68, 53, 83, 88,189,125,251, 54, 90, 42,149,122,183,111,223, 30, 87,174, 92, 89,103, 48, 24,214, 0, 88,
+ 63,121,242,100,167,164,164, 36, 52,111,222, 28,181,106,213, 66, 76, 76, 76,161, 84, 42,221,137,162,148, 68, 85,153,112,227, 1,
+ 44,220,189,123,119,147,221,187,119, 15,173, 85,171,214,215,225,225,225,184,119,239, 30, 54,110,220,136,159,126,250, 9,237,218,
+181,195,220,185,115,179, 1, 12, 5, 64,198,199,199, 27, 21, 55,175,196,178, 5, 0, 45, 90,180, 72, 91,187,118, 45,198,141, 27,
+ 71,255,241,199, 31, 91,143, 28, 57, 50,107,216,176, 97,165,125,224,168, 81,163,232,195,135, 15,143, 66, 81, 26,166,191, 19,122,
+157, 78, 11,243, 90,245, 32,207, 75, 70, 86, 74, 24,132,102, 14, 8,232,216, 20, 74,149, 22, 23, 47,156,193,203,200, 8, 48, 24,
+ 12,216, 59,184,192,210,202, 6,177,177,111,129,202,103, 27,235,117, 58, 29,204,172,234, 66,158,159, 2,109,230,115, 8,196,118,
+ 24,253, 67, 63, 40, 85, 58,156, 61,119, 6, 81, 81, 47,193,100, 50,225,224,232, 2, 11,203, 34, 78,130,174,124, 6,179, 9, 0,
+202,137,167, 85,165,208, 98, 50,153,183,175, 94,189, 58,176,117,235,214,172,119,239,222,225,221,187,162,151, 27,153, 76, 70, 18,
+ 48,156,206,140,188,240,125, 37,135,119, 70,241,236,140,178,185, 11,197,102,102,146,152, 55,209,246,178,220, 12, 68,188,184,143,
+119,177,145, 72,136,139,134, 78,167, 6,147,193, 0,131,201, 64,221,122,141,112,255, 65,152, 86, 77,146, 97, 21,113, 22,149, 35,
+174, 80,100,231, 49,100,213,202, 31,131,103,207, 95, 46, 24, 52,112, 23, 94,198,188,134,156,116, 0, 77, 3, 14,214, 34, 52,115,
+ 95, 0, 73, 90, 22,142, 31,216,161,164,116,186,225, 31,197,208,250,132, 19, 0,236,179,209,112,231,158, 3, 99,247, 6, 29, 93,
+ 62,127,250, 68,251,190,253,135,131,155,251, 26,250,180,231,168,215,178, 59, 8,158, 37, 46, 95,191,133, 59,207, 94,103, 80, 6,
+122,185,125, 14,254,136,173,130,179, 44,242,242,242, 30,166,167, 75,157,203, 68,129,119,230,241,248, 85,205,142,251,152,243,131,
+136,243, 76, 38,163,197,170, 85,171,244,246,246,246,186,168,168, 40,236,218,181,139,122,254,252,249,117, 6,131,177, 93, 42,149,
+170,171,226,180,213,235, 35,142, 6, 6, 54,108,213,191, 63,253,253,244,233, 74,240,120, 51, 54,108,218, 20,152, 37,147,213,166,
+ 41, 10,182,181,106,165,110, 88,180,104,237,192,193,131,101,175,238,223, 23,132,157, 63, 47,224,146,228,115, 35,202,249, 37, 80,
+ 33,167, 68, 34,185, 19, 26,122, 15, 7,247,254, 10,157, 78, 3,169, 36, 9, 0,144,157,147,143, 42, 68,214,199,156,180, 82,169,
+236,191,228,167,159, 30, 45,153, 61,203,225,219, 78,157,145, 28, 17, 14, 93,110, 22, 8, 61, 9, 54,193,130, 34, 83,136,204, 12,
+ 57, 22, 30, 62,153, 41, 87, 42,251,151,211, 73,148, 91,206, 18,139, 21,207,220, 12, 28,145, 24, 92,177,217, 7, 86, 44,190,185,
+ 57,184, 34, 49, 88, 92,110,121, 3,184, 63,225,148,203,229, 3, 6, 14, 28,248,242,201,147, 39, 86,227,198,141,195, 55,223,124,
+243, 66,165, 82,117, 0, 80, 88,211,250,164, 40, 74,242,237,183,223, 50, 8,130, 16, 15, 31, 62,156,151,149,149, 85, 26, 89, 93,
+ 46,151,227,202,149, 43,240,242, 42,154,213,255,234,213, 43, 52,106,212,168, 66,206,241, 11,163, 36, 0, 86,206, 30,232,180,225,
+ 81,132,116, 6,128,117,245, 26,184,224,214,181,155,184,119, 43, 44,240,107, 31,106, 91,143,225, 45,127, 22,118, 24, 60,223,187,
+197, 56,166,216,220, 17,135,206,158, 97, 70, 63,223,183, 90,169,140,172,143, 93,231,230, 85, 84, 78,130, 32, 64,211,244, 39,161,
+ 28,152, 76, 38,142, 28, 57, 82,221,115, 63,185,119,239,222,201,147, 38, 77,226, 72,165, 82,188,121,243, 6, 10,133, 2,124, 62,
+ 31,215,174, 93, 35, 1,236, 56,114,228,200,181, 35, 71,142,116, 67,209,108,162,144,234, 92,159, 34,145,104, 90, 64, 64, 0,222,
+188,121,131,167, 79,159,158, 1,240,242,197,139, 23,103,222,189,123, 55,164, 93,187,118, 56,112,224,192, 52,149, 74,181,183, 58,
+156, 20, 69,149,141,153, 84,146,241, 33, 66, 46,151,127, 29, 22, 22, 86,221,118,151,230,228,228,180, 45, 22,214, 41,246,246,246,
+230, 17, 17, 17,168, 83,167, 14,116, 58, 93,235,234, 94, 75,249,249,249,191,110,223,190,253,143, 49, 99,198,224,231,159,127, 30,
+126,242,228,201,225, 61,122,244, 64,207,158, 61,177,127,255,126,188,124,249,114, 29,140, 75, 43, 86,222,185,191, 4,240,210,222,
+222,126,170,139,139, 11, 54,110,220,136,200,200,200,181, 43, 87,174, 92,244,242,229, 75,120,121,121,241,162,163,163,201,154, 60,
+ 67, 0,192,220,220,220, 92,175,215,227,252,249,243,143, 1,204, 30, 62,124,184,221,150, 45, 91,134,138,197, 98,228,230,230,170,
+162,162,162,134, 1,184,240,119, 63,235,104,130, 88, 60,110,252,140,221,227,199, 13,227,251,182,104, 6,101, 65, 42, 84,242, 12,
+ 40, 11,211,177,125,239,117, 16, 4, 3,182,182,142,176,115,112, 70, 82, 82, 50, 30, 92,186,172, 85, 40, 85, 91,184,122,106, 93,
+229,156,211,139, 56,155, 23,113, 42, 21,153, 80,201, 51, 75, 57,237,236,106, 23,115, 38,225,126,216,101,181, 74,161,248, 85, 75,
+ 19,191,252,197,231,254,159,140,234,229, 58, 44, 11,153, 76, 54,115,226,196,137, 29, 22, 46, 92,104, 77,146, 36,179, 86,173, 90,
+ 72, 74, 74, 34, 79,159, 62,157, 43,151,203,103,214,164, 52, 44, 54,251,165,135,167, 87,135,190,125,251,146,125,250,244,230,140,
+ 24,211,141,101,107,103,135,252,188, 28,196,190, 9, 71,204,235,231,240,240,106,138,101, 43, 55, 3,150,150, 85, 38,146, 44, 78,
+171,211,107,197,146,121, 39,218,250,119, 53,247,106,212,148,211,172,190, 5,116,122, 18,169,169,169,184,112, 62, 66, 23,245,236,
+ 94, 1, 69,106,135, 40,179,141, 75,193,115, 7, 32,145,131,223,125,236,116, 71,214,108,216, 62,119,199,239, 7,231, 47,156, 49,
+ 78,212,206,175, 11, 34,111, 30,192,153,224, 19, 10,181, 70,187,129,195,196,166,168, 28, 40, 99,171, 89, 7,106,181, 90,247,113,
+127,170, 86,171,117,159,219,210,251,247,239, 71, 70, 70,134, 54, 49, 49,241, 42, 73,146, 39, 43, 73,246,252, 9,182, 3,218,126,
+ 26,205,205, 37,126,126,221,150, 92,187,198, 31,181, 96,129,118,248,136, 17,243,160,209,232,192,229,210, 44,145,136, 1, 30,143,
+253,234,254,125,193,214,201,147,107, 17, 90,237,141,131,149,132, 13, 40, 7, 95,124,214, 97,137, 69,171,125,251,118, 24, 53,110,
+ 54, 84,101, 44, 90, 15,159,198, 66,163,131,209, 22,173, 98, 36, 39,166,164,124, 61, 99,241,146,179, 67, 2, 58,121,251,184,214,
+229,217,186,213,133,216,193, 1, 57, 89, 89,184,255, 52, 70,191,242,196,217,168, 98,145,101, 84, 92, 25,138,162,138, 6,185, 3,
+232, 52,115, 33, 8, 38, 19, 40, 14,227, 80, 50,115,200,173,229, 55, 32, 88, 44, 24,104, 10, 26,141,198,152, 65,127,169,239,223,
+191, 31, 48,124,248,240,144,224,224, 96, 70, 64, 64, 64,179,115,231,206, 81,159,115,237,168, 84,170,175, 1,128,207,231, 39, 88,
+ 90, 90, 58,141, 25, 51, 6,122,189, 30, 74,165, 18,249,249,249, 72, 77, 77,205, 27, 51,102,140, 14, 0, 4, 2, 1,119,224,192,
+129,230, 85,113,110, 62, 45, 81,207, 30,232,180,173, 22, 43,113,104, 65,246, 75,183, 90,172,196,132,175,125,168,109,155, 79, 75,
+212,230,181, 21,171,178, 19,239,196, 74, 21,215,118, 31, 58,123,134, 57,178,223, 0,131,179,248,109, 32,223,142, 62, 93, 21, 47,
+ 65, 16,159, 4, 39, 53, 82,100,125,128,194,194,194, 69, 75,151, 46,237, 41,147,201,156,187,117,235,198,241,246,246,198,163, 71,
+143, 16, 28, 28, 76, 62,124,248, 48, 69,161, 80,252, 8, 64, 13,224,122, 77,234,212,211,211,211,141,197, 98,149,184,210,126, 43,
+ 94,253,219,185,115,231,134,140, 27, 55, 14,117,235,214,109, 24, 29, 29,205, 67, 53,238, 35,154,166, 75,189, 12, 95, 18, 4, 65,
+196,109,221,186,213,201,193,193,129,184,114,229, 10,201,100, 50,107, 98,185,217,191,111,223,190,214,122,189,126,252,132, 9, 19,
+224,239,239, 15,146, 36,113,248,240, 97,236,219,183,207, 88,145, 85, 41, 98, 99, 99,159,167,164,164,124, 59,111,222, 60,108,220,
+184,113,209,188,121,243,144,146,146,130,216,216,216,240,207,225, 45, 40, 40, 80, 37, 39, 39, 11,219,180,105,227, 27, 21, 21, 21,
+213,161, 67,135, 70,227,198,141,195,186,117,235,232,208,208,208,129, 0,174,252, 19,189,119,204,187,220, 32,182,129,117,109,229,
+170, 95,127,170,239,238, 54,105,236,232,193, 76, 79,143, 70, 80,228,167,194,218,198, 30,206, 46,245,144,149,153,141,171, 87,175,
+ 24,178,179,243,246, 27, 24,196,138,119,239,114,211, 62,135,211,201,185, 30, 50, 51, 51,113,249,242,101, 67,158,172, 96, 15,244,
+140,149,209, 73,121, 25, 48,193, 24, 75,214, 4, 84, 18, 37,190, 50,216, 88, 89, 89, 29, 51, 55, 55,207, 48, 55, 55,207,176,178,
+178, 58, 6, 24, 53,251,160,115,153,167, 3,243,131,101,224, 64, 62,248,252,175,193, 98,205,177,180,178,186, 98, 97, 97,145,211,
+190,125,123,237,238,221,187,213,209,209,175, 40,137, 36,133,182,176,176,200, 47,221,191, 60,206,143, 96,101,229,110, 38,114,108,
+244,147,133,115,179,251, 98,199,134,133, 98,199,134,133, 22,206, 77, 31,136, 28, 27, 46,183,178,114, 55, 51,170,156, 21,160,158,
+ 29,108, 61,108,176,195,203,150, 80,121,216, 96, 71, 61, 59,216, 26,125,238,149,187,253, 12, 4, 1, 3,138,166, 97,163, 6,156,
+ 37, 28, 20,147,201, 60,232,236,236,236,136,234, 5,172,251,132,115, 4, 80,119, 4,143, 55,254, 84, 96,224,168,132,208,208,225,
+ 5,241,241,223,231,199,197, 13, 14, 63,113, 98,200,111, 67,134,140,248,158,199,155, 48, 16,112, 55,150,211,209,209,113,237,243,
+231,207,131,141, 93,202, 8, 47,163,235,211,189,158,211,181,128,206,173,233,105, 19,251,211,211, 38,246,167, 3, 58,183,166,221,
+235, 57, 93,251,140, 54, 34,152, 76,230, 80,161, 80,120, 76, 36, 20, 70,138,132,194, 72,161, 80,120,140,201,100, 14, 69,229, 99,
+168, 62,224,180,182,182,126,102,111,111,159, 81,157,197,198,198,230, 69, 53,202,249,189,155,155, 91, 10,131,193,216, 92,205,123,
+186, 50, 78, 15,129, 64, 16, 39, 18,137, 82,203, 46, 2,129,160,108, 96, 40,107,161, 80,120, 81, 36, 18,109, 49,134,243,151,197,
+141,126,122,112,125,234,203, 95, 22, 55,250,233,227,109,211,191,179, 26,243, 40,100, 69,206,244,239,172,198, 24, 83, 78, 59, 59,
+187, 80, 59, 59, 59,169,157,157,157,212,222,222,190,210,197,198,198,230,153, 17,156,124, 51, 51,179, 45,102,102,102, 25, 34,145,
+200, 32, 22,139, 51, 68, 34,209,102,148, 9,109, 81,211,250,100, 48, 24,235, 26, 54,108,168,102, 50,153,127,124,180,105, 99,253,
+250,245,213, 44, 22,107, 67, 53, 57,205,219,181,107,103,136,136,136,160,253,253,253,105, 0, 86, 95,176,221, 29,172,172,172,174,
+152,155,155, 39,155,153,153,109, 7, 32,170, 33, 39, 1, 96,168,147,147, 83,120,199,142, 29,149, 78, 78, 78, 97, 0,250,126,193,
+114,246,252,238,187,239,168,228,228,100,154,166,105, 58, 57, 57,153,254,238,187,239, 40, 20, 5,138,252,156,103,242,226,201,147,
+ 39,211, 15, 31, 62,164, 31, 62,124, 72,135,133,133,209, 61,123,246,164, 0,252,240,153,207,121,124,169,115,247,174,103,227,254,
+ 85, 3,171,147,195, 6,248, 81,215, 47,108,166,151,253, 56,137,238,226,223,136,246,170,111,117,214,195,195,218,227, 75,112,254,
+244,227, 68,186,243,183, 13, 41,111,119,171, 19,222,245,108,220,255,230,115,255,175,178,106,149,188, 72,255,213, 3,206,254,223,
+180,248,161, 88, 42, 31,181,107,215, 70, 78, 78,107, 62,139,229,199,227,241, 58, 48,152,204,219,185, 89, 89,179,138, 95,183, 12,
+127,151,169,182,210, 14,221, 29,220, 74, 82, 18,212,132,243,131,129,236, 53,228,172, 14,135, 81,156, 21, 37,149,166, 52,154, 52,
+107,146,124,182, 29,149,214,193, 7,156, 78, 78, 78,227, 41,138,114, 51,182, 64, 12, 6, 35, 65, 34,145,236,173, 73,125, 54,104,
+208,128, 46,118,111, 19, 95,178,221,255,138,107,233,127,137,243,208,175,141,107,123, 53,254,106,126,228,243,232,141,197,110,197,
+ 82, 44,159,110,101,230,215,177,253,210,251,183, 66,127, 94,190, 93, 86,248, 15,159, 59, 3, 70,142,105,251, 2,156, 37, 65, 66,
+171,197,201,102,179,119,183,106,213,106,252,163, 71,143,254, 48, 24, 12, 19,254, 71,175,207,158, 76, 38,115,158,167,167,103,179,
+216,216,216,112,131,193,176, 17,229, 4,138,172, 65, 57,127,116,115,115,155,194,225,112,120,114,185, 92,150,150,150,182, 20,192,
+201,127, 91,125,122, 55,168,229, 75,211,165, 65,183, 87,191,121,159,251,228,139,113,210,148,129,162,153,171, 98,227,115, 94,252,
+ 3,237,254, 95, 35,178,138,133,214,158,191,227,143, 59,155, 56, 77,156, 38, 78, 19,167,137,243,139,115, 10, 76,245,105,226,252,
+ 47,228,252,175, 66,137, 69,139,101,170, 10, 19, 76, 48,193,132,255, 56,168, 76, 85, 96,130, 9,255, 58,148,181,106,149, 90,179,
+136, 74, 84,105,117, 76,130, 53, 81,182, 55, 77,156, 38, 78, 19,167,137,211,196,105,226, 52,113,254,207,113,254,183,138,172,178,
+174,194, 9, 38,215,161,137,211,196,105,226, 52,113,154, 56, 77,156, 38,206,127, 19,231,127,186,208,194, 71, 66,203,228, 58, 52,
+225,239,193,182,126,112, 2,128, 25,231, 32,249, 43,246, 55,193, 4, 19, 76, 48,193,132,127, 24,123, 80,129,235,240,223, 32,180,
+106, 3,248, 26, 69,137,111, 99, 0,220, 3, 32,251, 12, 62, 27, 0,131, 9,130, 24, 4, 0, 52, 77,159, 66,209,172,145,108, 99,
+ 14,230,243,249, 25,106,181,218,174,248,123,166, 90,173, 46,155,203,128,192,167,179,217,232, 50, 75,185,112,115,115,203,208,104,
+ 52,118, 70,252,125, 62, 77,211, 47, 25, 12, 70,164, 88, 44,190, 21, 27, 27, 27, 92,157, 19,239,208,161,195, 40, 38,147,185, 26,
+ 0, 12, 6,195,226,219,183,111, 31,252, 11,219,173,181, 75,109,132,110,109,220, 0, 0, 32, 0, 73, 68, 65, 84,135, 3, 58,189,
+142,204,200,202, 93,138, 79, 3,249, 1, 0,118,244,194, 90,130,196,252,226,239, 27,166, 6, 87, 30, 71,167,186,251, 87, 2, 95,
+ 54,155, 61,205,222,222,190,123,106,106,234, 51, 0, 11,128,170,163, 26,187,184,184,252,192, 98,177,134, 27, 12, 6,119, 38,147,
+ 25, 71,146,228,145,148,148,148, 32,211, 51,196, 4, 19, 76, 48,193, 4, 35,196,214, 39,168,150,208,242,178,134, 3, 13, 12, 5,
+129, 46,160,113,131, 0,142,199,228, 32,221,216,227,123,120, 65,175, 39,139,254,147,195,128,225,202,123,198,158,238,221,187, 59,
+ 79,159, 62, 29,223,124,243, 13, 30, 61,122,212,102,255,254,253, 99, 78,158, 60,249,146,162,168,219, 0, 30, 1, 70,133, 82, 16,
+161, 40, 78,203,176,238,221,187,119, 94,189,122, 53,179, 81,163, 70, 80,169, 84, 8, 13, 13,245,219,176, 97,195,150, 7, 15, 30,
+220, 4,112,180, 88, 16, 84,152, 0, 79,173, 86,219,149, 36,227, 36, 8,194,110,224,192,129, 79,202,138,171,226,252,106, 4, 77,
+211, 15, 9,130, 8, 51, 24, 12,143, 78,159, 62,157,226, 5,180,158,232,198, 57, 61, 43, 65,231,252, 49,167, 70,163,177, 59,255,
+203, 26,176,120, 60,104, 10, 11,208,102,244,255,139,222, 27, 63,205, 7, 65,145, 96,130,150,117, 88,181,229, 37,128,200,180,180,
+180,151,254,254,254, 9,213,109, 97, 38,147,185,250,234,213,171,142, 52, 77, 35, 32, 32, 96, 53,128,191, 74,104,241,190,246,109,
+122,251,226,153, 99,124,121,110, 6,186,245, 29,114,228,109, 74,230, 40, 0,103, 62, 16, 77,221, 97, 79, 16,152, 63,121,205, 81,
+ 38, 0,236,252,113,216,130,205, 93,177,109,246,117,164, 3,232, 80, 44,126, 0,224, 23, 0,183,119,116,135, 61,128,133,147,215,
+ 28, 37, 0, 96,215,143,195,230,239,232,142,173, 83,175, 84, 59,108,197,148, 81,163, 70,109, 91,189,122, 53,211,209,209, 17, 18,
+137,164, 91,195,134, 13, 61, 11, 10, 10, 26,162,146, 65,196,117,235,214, 61,209,174, 99,239,122,253, 7, 13, 21,218,218, 88, 33,
+ 77,154,109,126,226,216, 31, 19,153, 15, 67,187, 39, 38, 38, 14, 49, 61, 67, 76, 48,193, 4, 19, 76,168, 0, 53,143, 12,223,220,
+ 17, 2,133, 14,223,177,152,196, 15,109,125, 27,118,250,190, 71, 59, 70, 67,239, 6,120,253, 42,186,235,133, 91,143, 55, 48,194,
+ 94,133,144, 6, 58, 72,196,193,249, 23,210,202,103,194,232, 73,176,174,159, 63, 90,212, 19,142, 25,198,124,242,228, 73,131, 22,
+ 45, 90,148,166,134,233,212,169, 19, 58,117,234, 68,236,220,185,179,233,245,235,215,155,238,219,183, 79, 23, 18, 18,114, 0,149,
+199, 71,153, 86,191,126,253, 13,219,182,109,227,249,251,251,131,199,227,149,110, 16,139,197,232,221,187, 55,122,247,238,205, 76,
+ 75, 75, 11,184,120,241, 98,192, 47,191,252,162, 77, 74, 74,154,135,255,143,210, 92, 41,150, 46, 93,234, 91,206,234,171, 4, 65,
+188, 39, 73, 50,188,105,211,166, 41,158, 64,131,137, 61,190,185, 49,165,173,135,104,214,162,253,229,242,176,184, 92, 28, 26, 85,
+212, 87,151, 21, 90, 9,183,174, 64,108,110,150, 35, 52, 51,123, 9, 32, 18,192, 75,154,166, 35,227,226,226,162,191, 2,154,126,
+109,197, 56,240,135,140,106, 82, 13,177,133,148,148, 20, 88, 88, 88, 8,252,253,253,165, 4, 65, 44, 15, 13, 13,253,210, 3,242,
+ 90, 47,159, 63,133, 35, 75,124,137,244, 55, 15, 49,103,144,159,112,214,246, 63,127, 86,107,245,103, 42, 59,136, 32, 24,140, 95,
+194,168, 64, 20, 37,227, 93,154,147,147,227, 15, 0,214,214,214, 92, 0,183, 55, 63, 70,143,217,109,137,207,137,237,198, 97, 50,
+153, 59,246,239,223, 63,238,135, 31,126, 40, 74, 29,113,255, 62,196, 98, 49, 86,174, 92, 89,119,238,220,185,107, 73,146,156, 89,
+145, 37,171, 93,199,222,245,182,110,252,185, 97, 97,110,190,230,247, 29, 39,159,214,246,241, 98, 76,158, 54,215,108,171, 78,227,
+ 96, 48, 24,126, 48, 89,182, 76, 48,193, 4, 19, 76,168,142, 53,171, 74,161,229,105,131,131,205,125, 60, 6,127,223,211,143,215,
+216,167, 17, 56,188,255, 15,221,210,194,215, 23, 45,124,125, 25,129,242,194, 46, 79,158, 62,239,114,250,250, 35,141, 82,159,116,
+ 50, 54, 27,163,140, 45, 85, 73, 82,218,213,125,237, 59, 42,242, 50,249, 0, 32,178,180, 83,255,120, 62,253, 86,219,182,109,225,
+236,236,204, 9, 9, 9, 25, 91,133,208,250, 49, 38, 38,134,199,100, 86, 30, 15,181,118,237,218, 24, 56,112, 32,188,188,188,184,
+237,219,183,255,177, 34,161,197,231,243, 51, 9,130,176, 3,128, 90,181,106, 25,150, 47, 95, 30, 78, 23, 1, 0,104,154,166, 31,
+ 50, 24,140, 71, 20, 69, 61,254,243,207, 63, 83, 27, 2,118,221, 90,120,221,155, 50, 98,160,144, 62,189,165, 66,145,160, 46, 40,
+ 40,119,189, 80, 44,202, 18,136, 68, 47,121, 66,126, 36,138,114,121, 69, 58, 59, 59, 71, 55, 4,156, 91,121,185, 93,223, 57,123,
+152,217, 31, 19,126,174,178, 46,155, 55,111,238,217,164, 73, 19,190,193, 96,128, 66,161,192,174, 93,187, 44, 4, 2,129, 69,247,
+238,221,151,149,189, 0,188,129,198, 3,106, 51, 39,172, 72, 51, 76,173,193,133,100,217,174,141,111,226,192,222,221,205,125,191,
+110,135,183,183, 15, 35, 55,183, 16,249,121,114, 80, 20,245, 73, 92,159,169, 87,144,177,163, 23, 54,236, 92, 52,108, 33,193, 96,
+ 16, 77,251, 45, 64, 31,135,252, 25,187,119,239,126, 5,128,205,229,114,203, 94,135,181, 5, 78, 62, 27, 26,116,109,135, 93,139,
+ 71,128,166, 40, 26,192,134,106, 88,179,236,204,204,204, 46, 92,191,126,189,117,203,150, 45,241,232,209, 35,196,199,199, 99,202,
+148, 41,218,169, 83,167,114, 70,142, 28, 73,204,153, 51,103,250, 47,191,252,114, 26,192,131, 79,110, 4, 22,107,120,223,254, 67,
+184,242,188, 2,181, 86,163,211,214,178,177,164, 52, 10,181, 50, 91, 86,160, 30, 50,108,188,246,213,139,199,195, 1,124, 34,180,
+ 62,179, 62, 77, 48,193, 4, 19, 76, 48, 2, 52, 77,183, 4, 96, 11, 32,139, 32,136,167,101,127, 23,239, 82,146,173,229,227,223,
+217, 40,242, 74, 89,151,161,203, 70,209,112, 31, 91, 0, 6, 0, 79, 8,130,144,125,102, 17, 43, 79,189, 19, 28, 28, 76,151,253,
+ 44, 35,180,104,154,166,105,125,206,123, 90, 19,123,133, 86, 62,221,251,201,162,122,117,134,150, 62, 57, 73, 63, 62,250, 19,237,
+105, 83,121, 22,246, 30, 94,208, 15,107, 2,122,114, 75,208, 51,219, 91,170,159, 60,121, 18, 66, 81, 84,112, 96, 59,208,244,235,
+163, 52,253,250, 40, 61,187, 13,232,211,167, 79, 95, 93,187,118,109,112, 80, 80, 80, 48,128,170,198, 41,101, 20, 62, 13,163, 31,
+219,129,174, 8, 49, 49, 49,244,238,221,187,233, 69,139, 22,209,127,252,241, 7,141, 42, 34,168, 7, 4, 4,132, 70, 69, 69,209,
+ 35, 71,142, 12, 71, 37,129, 1,189, 1,209,240,186, 14,111, 52, 39,182,232,180, 63, 52,166,101,223,242,203, 61,127, 71, 71,199,
+ 15,202,179,206,195,129,254,173,149, 7,125,176, 75,139,116,154,166,175,210, 52,189,142,166,233, 33, 52, 77,123, 1, 64,115,192,
+188,175,163,245, 59,245,201,173, 42,237,132,175,171,204,123,215,188,121,115,207,121,243,230,229,106,181, 90, 58, 33, 33,129,254,
+253,247,223,233, 27, 55,110,208,231,207,159,167,253,252,252,210,202,148,215,126,140,151,107,134,118,223, 10, 77, 77,174, 34, 54,
+147,249,219,211, 27,167,233,119,247, 78,209, 79,142,175,165,143, 44,249,158,158,222,183,181,206, 92,192, 83, 3,232, 88,209,113,
+ 83,219,162,129, 87, 93,219,216,164,164, 36, 90,167,211,209,163, 71,143,166, 3, 2, 2,232,174, 93,187,210,157, 59,119,166, 59,
+117,234, 68,119,236,216,145,190,117,235, 22,157,150,150, 70,119,110,215, 66,209,203, 27,190,213, 40,154,143,171,171,107,122, 66,
+ 66, 2,173,211,233,232,144,144, 16,250,240,225,195,116, 72, 72, 8, 29, 24, 24, 72, 3, 56, 56,121,242,100,149, 76, 38,163, 3,
+ 2, 2, 82, 81, 78,212,120, 87, 87,215,232,168,216,148,148,205,107,246,222, 58,244,219,177, 91,103, 79,223,184,117,225,218,147,
+ 75,231,175, 61, 61,249, 56, 34,238,188,171,171,107,116, 57,237,255, 89,245,105,130, 9, 38,152, 96, 66,213, 90,164, 88,104,245,
+ 44, 54,118,244,164,105,186,243, 71,191,123, 22, 11,167, 79,126, 7, 6, 6, 46, 42,251,187,100,159,192,192,192, 69, 0,232, 54,
+109,218, 28,163,105,186,193, 23, 40,254,132,143,151,106,205, 58, 36, 83,159,128,227,209, 29,108,131, 30,250,236, 24, 80,121, 73,
+128,200, 1, 42, 66,140, 28,105, 18,222,220, 59, 83,121, 34,137, 98, 92,142, 1, 27, 64, 72,116,116, 52,222,188,121,131,148,148,
+ 20, 8,133,194, 79,246,187,127,255, 62, 4, 2, 1, 28, 29, 29,141, 83,186,218, 15,251,185,151, 45, 92, 33,110,227,143,236,239,
+ 39, 33, 36, 36, 4,153,153,153,224,112, 56,224,114,185, 32, 73,178, 74, 62, 6,163, 40,227,111,137, 21,171,188,125,252, 1, 22,
+175,150,248,226,206,101, 51,221, 24, 15,131,217,170,228,119, 72, 83, 27,140,179,228,137, 69, 16,138,132, 82,129, 64, 88,234, 46,
+ 4, 16, 73, 16,196,219,230, 0, 91, 36,230, 95, 60,176,106,142, 3,243, 69, 8, 95,245,238,101,185, 28,157, 59,119,158, 8, 96,
+ 25, 77,211,121, 77,154, 52,177, 95,189,122,181,149, 68, 34,193,235,215,175,113,242,228,201, 44,178,232, 68, 9,154,166, 87, 0,
+192,215, 0,223,210,214,242,218,111, 63,205, 52,195,237, 19,220,154, 92, 69, 22,222,189, 47, 13, 24, 57,121,234,182,153,189,161,
+ 40, 84,225,232,141, 23,184,250,252,125, 31, 0,247, 81,201,184,183, 29, 15,240, 14,200,234,212,191,127,255,240,187,119,239,218,
+236,219,183, 15, 36, 73,150,187,236,219,183, 15, 55,239, 61,159, 1,224,153,145,197,170,237,230,230,118,243,241,227,199,182, 66,
+161, 16, 55,110,220, 64, 94, 94, 94,169, 37,107,212,168, 81, 68, 94, 94,222,208, 93,187,118, 13, 72, 76, 76,220,120,239,222,189,
+ 28, 20,229,130,252,224, 66, 96, 50,153,239, 73, 82,247,149,163,119, 3,214,160,222,237,218,201,115, 94, 66,108,221, 4, 15, 35,
+222, 95,204,147,229,168,152, 76,230,251,178,251,127,137,250, 52,193, 4, 19, 76, 48,161,122, 32, 8, 34,152,166,233, 94, 4, 65,
+ 4,127,188,238,227,239, 37,251,173, 93,187,182,244,119,201, 49,235,214,173, 91, 83,230,183,242, 11, 21,175,210,193,240,237,139,
+ 21,100,251,242,118,210,188, 62, 11,205,155, 11,224,184,182, 5,215,171, 15,152,174,126, 72,126,121, 27, 17, 87, 54, 35,245,213,
+125,208,148, 1,142,158,173,140, 45,136,250,171,175,190,130, 90, 93, 52, 52, 75,163,209,128, 35,178, 82,207,153, 48,140, 15, 0,
+ 20,139,175, 41,163, 96,141, 34, 52,107,219, 1,173, 50,104, 60,177, 47, 50, 84,180,202, 40, 58,110,213,232,209,224,112, 56,224,
+112, 56, 32,138,135,254, 24, 35,180,136,226,157,169, 34,247, 85,121,133, 32,148, 60,246,209,227,203,166,181,226, 37, 70,114, 53,
+ 81, 15,145,166,161,232,139, 25,134, 75,198,148, 87, 40, 18, 74, 4, 66, 97,164, 64, 44, 42, 21, 90, 4, 65,188, 7, 0,154,205,
+ 14, 58,188, 98, 90, 19, 81, 70,156, 72,253, 52, 4, 82, 53,165,171,128,102,197,149, 43, 87,236, 88, 44,150,131,193, 96, 64,114,
+114, 50, 94,189,122,133,173, 91,183,102, 20, 22, 22,182,127,241,226, 69,108, 89,237,104, 16,112, 79, 6,173,156, 89,143,245,242,
+ 14, 95,243, 62,170,218, 87,143,141,207,119, 1,125,218, 55,189, 52,113,196, 98,124,215,163, 43, 70,182,111, 72, 39,164,229,170,
+ 1,220, 40, 54,189, 86, 5,201,139, 23, 47,186,124,251,237,183, 71,154, 53,107,230, 77,211, 52, 26, 55,110,140,161, 67,135, 34,
+ 40, 40, 8, 17, 17, 17, 40, 40, 40,208, 93,191,254,127,236,125,119, 88, 20, 87,227,245,153,217,190, 44,189,131, 5, 21, 69, 41,
+ 10,138,162,216, 16, 75,212,136,137,221,216, 19, 19,125,237, 53, 17, 53,198,146, 40, 36,198, 94,162, 38, 49,150, 55, 22, 98,139,
+216, 91,192,136, 29,165, 8,130, 5,105, 46,189, 45,176,125,230,126,127,176,172,136,148, 5,205,247,203,155,236,121,158,125,102,
+103,103,230,236,157,123,103,238, 61,247,220,118,113, 51,128,189, 6, 6,203,196,202,202,234,252,213,171, 87,237, 76, 76, 76,112,
+241,226, 69,200,229,114, 56, 57, 57, 97,214,172, 89,130,208,208,208,253, 37, 37, 37,163, 67, 66, 66, 68, 41, 41, 41,219, 47, 92,
+184,208, 2, 21,235,206,189,241, 16,168, 84,170, 61,191, 30,216,183,117,214,236, 57, 77,174,222,122,116, 69, 89, 42,179,112,113,
+ 73, 47,177,179, 50, 53,219,252,237,234,230, 42,149,106,122,205,241,249, 71,163,226,211, 8, 35,140, 48,194,136, 55, 80,167, 22,
+169, 42,158,170,139,173,134,136, 52, 0,242,224,224,224,101, 20, 69,133, 7, 7, 7, 47, 11, 9, 9,145, 3,120,249, 87,136, 44,
+189,208, 10, 10, 10,138, 8, 15, 15, 71, 80, 80, 80, 68,173, 20, 44, 3,117, 74, 36,212, 41,145, 16,251,207,197,239, 33,227,170,
+221, 60,219,232,208, 13, 93,115,233,170, 82,169,228,238,219,183, 79,223,111, 11, 0, 24,134,121,231,169,216, 16,161,165, 19,122,
+111, 4,162,165,208, 52, 98,207,130,209,221,108,152,114,158,234,207,211,200, 84,178,218,239,159,168,203,239, 22,145,239,106,227,
+ 60, 57,127, 58,210,175, 95,134,137,169,105,250,167,145,177,122, 23, 75, 39,178,158, 3, 64, 11,161,217,149, 93,243,134,245,116,
+228,131,175, 58, 19,134,151, 74, 86,185,235,133,102,111, 45, 15, 27, 8, 33,120,254,252, 57,202,203,203, 17, 21, 21,133, 99,199,
+142,229,214, 32,178,208, 82,104,250,199,207, 95, 76,232,106, 46,203,226,171,238, 94,198, 75, 37,107, 80, 83,151,109,135, 97, 61,
+248, 52,117,145,162, 57,226,126,221,218, 98,254,103,195,177,233,231,223,181, 42,251, 94, 65, 91, 79,157, 29, 83,170, 84, 47, 51,
+ 80,100,233,205,198,232,232,104,207,232,232,104, 33,128,192,143, 62,250,232,236,200,145, 35, 17, 17, 17,129,211,167, 79,187, 1,
+144,234,206, 91,131,138,133,178,191, 3,240,172, 54,227,145,207,231, 31,190,124,249,178,151,179,179, 51, 46, 95,190, 12,185, 92,
+142, 25, 51,102,168,102,207,158,205,159, 50,101, 10, 85, 92, 92,172,119,178,162,162,162,242,107, 19, 89, 0,144,153,153,121,238,
+216,209,131,221,123,247,238, 61,188,149, 91, 59,243,103,178,146, 28, 19, 19,145,248,122,196, 53,254,221,219, 55,182,103,102,102,
+222,169, 57, 62,175, 24, 28,159, 70, 24, 97,132, 17, 70,212, 14,131,180, 72, 53,103,170, 33,168,114, 29, 47, 36, 36, 36, 62, 36,
+ 36,228, 53,199,235, 45, 81,125,212,225,153,202, 50,173, 81,243,104, 49,197,105,111,222, 0,203, 54,228,102,223,248,205,202,202,
+ 74, 43, 22,139, 95, 19, 90,172,129,156, 5, 39, 14,225,217,204,241,122, 39,171,210,217,194,160, 41,111, 37,180, 88,150,141, 2,
+240, 90, 32, 76,236,219,142,219, 60,212,163,135,103,171, 38,180,230,232, 22,100,148,107, 21, 43, 31,171, 21,137, 50,242, 65, 66,
+ 13,157,172,245,156, 90, 13, 68, 18,113,170,216, 84, 82, 93,100,189, 0, 0,137,131,219,200,239, 7,183,235,227,211,174, 53,173,
+ 61,178, 17,153,229,154,210,224, 4,181,250, 89, 25, 57, 94, 75, 28,174,124,239,189,247, 86,218,216,216,136,182,110,221,106,225,
+226,226, 2,173, 86,171,170, 46,178, 76,236,219,142,219, 50,172,125,143,182,142, 86,180,230,183,109, 72,151, 51,229, 91,158,105,
+246, 27, 34,178,108, 45, 76, 47,236, 90, 55, 83,108, 34,228, 65,161, 80, 32,116,231,111,184,120, 35, 46, 40, 47,238,228, 5, 0,
+ 23,222,226,129,252, 52, 40, 40,104,211,154, 53,107,160,209,104, 48,117,234, 84, 60,125,250,244,226,227,199,143,183, 52,111,222,
+124,241, 23, 95,124,225,236,232,232,136, 49, 99,198,240, 53, 26,205,148, 90, 56,190,253,245,215, 95,131,124,124,124, 16, 17, 17,
+129,162,162, 34, 56, 57, 57, 97,246,236,217,130,144,144,144,253, 37, 37, 37,163,215,173, 91, 39,122,254,252,121,157, 78,214,107,
+207, 53,195,124,179,123,211,204,197, 93,186,245,164,159, 60, 73,210,166,249, 5,208,215, 46,159,142,180,177,177,217,159,150,150,
+246, 42, 62,135,119,104,112,124, 26, 97,132, 17, 70, 24,241,110, 64, 81,212, 25, 93,191,171,215, 92,174,234, 34,172,210,177,170,
+186, 95,253,124,221,241,119, 81, 89,222, 83,131,240,122,125,122,135,160,160, 32,131,135,213,179,101,185, 6,137,167,234,120,191,
+ 29, 52, 77, 76,193, 93, 22, 64,131, 47,177, 82, 12, 93,115,233,106,109,231, 74, 36, 18,131, 29, 45, 86,169,168, 47, 81, 26, 36,
+180,116,125,180,206, 19, 66, 94, 19, 90, 22, 14,109, 3,150,124, 49,111,115,207,145,131,232,236,207,252, 81, 84,170, 84,126,241,
+ 72,203,102,148,215, 45,178, 42, 74,113, 77,138,137,196, 52, 86, 36, 49,169, 42,178,210, 0, 64,100,223,218,239,243,249,179,118,
+246, 29, 55,148,202,157,209, 19,133, 69,114,229,226,120, 45,149, 41, 39,163, 19,128,107, 53,209, 93,189,122,117, 55,128,221, 1,
+ 1, 1,217, 18,137, 4,165,165,165,111,164, 65,101,120,123,140, 28, 68,103,127,218, 21, 5,101,106,229, 23,241, 90,188,148,179,
+135,235, 19, 89,118,150,102, 23,118,173,157,105,242, 50,227, 5,248,124, 62, 76, 77, 77,113,233,207, 88,228,197,159,122, 27,129,
+ 5,154,166, 87, 5, 7, 7,175,156, 53,107, 22,242,243,243,113,250,244,105,188,255,254,251, 56,116,232,144,203,217,179,103, 55,
+ 5, 6, 6,130,195,225, 32, 60, 60, 28, 26,141, 38,185, 22,154,225,211,166, 77, 91, 60,114,228, 72,220,185,115, 7, 82,169,244,
+ 53, 39,171,168,168,232,163,157, 59,119,142, 76, 73, 73,169,215,201,170, 6,191,150,173, 59,241,151,174,216, 0,101,121, 14, 55,
+ 55,243, 86,196,149, 75,244,205,130,130, 2, 19, 0,197,141,141, 79, 35,140, 48,194, 8, 35, 12,118,181,106,211, 34,185, 58, 17,
+149, 91,211,126, 21,129, 85,211, 62, 85,205, 5, 83, 85, 59,254,240,175,188, 39,131, 28, 45,174, 67,123,104,179,227,170, 8,173,
+156,215,142,139,204,172, 13,106, 58,212,104,193,221,181, 87, 63,143,150, 40, 63, 63, 95,100,107,107,171,168, 42, 16, 76, 76, 76,
+224,236,236,140,194,194, 66,236,217,179, 7,168,191, 83,180,214,124,228, 68,248,141,155,138,187, 77, 5, 32, 26,181,222,217,218,
+245,241,199,175,137, 45, 62,159, 95,217, 55,172,190, 66,247,182,206,105,186, 9,128,116,114,107,245,181, 72, 34,249, 88,100,219,
+204,118,254,204, 79,121, 41, 57, 74, 92,237,185,180,232,183,111,151,152,166, 19,211, 89,105, 40,190, 81, 15,223,179, 15,127, 56,
+ 88,221,201,202,232,232,214,106,185,200, 68,244,153,192,186,133, 99,240,194,153,188,148,108, 37,117,213,239,139,146, 99,223,125,
+ 97,242, 28,102,139, 51, 80,116,205,128,228, 89,249,254,251,239,175, 36,132, 16,150,101, 87, 0, 64,213,240, 46,156,253, 25,239,
+ 89,150, 2, 87,122, 46, 47, 60,246,237, 18,179,116,212, 29, 94,219, 14,195,122, 56, 88,153, 95,216,181,110,150,137, 52, 51, 21,
+ 66,161, 16,102,102,102, 72,207, 46, 6,143,203,145,191,229,243, 38,236,213,171,215,146,153, 51,103, 34, 54, 54, 22, 51,102,204,
+144,166,165,165, 29, 63,114,228,200,140,175,190,250,138, 59,112,224, 64, 72,165, 82,172, 95,191, 94,243,231,159,127,174, 3,176,
+190,198,231,145,203,253,244,235,175,191, 38, 47, 95,190,164,158, 63,127, 14, 39, 39, 39,204,153, 51, 71,176,110,221, 58,125,159,
+172,134, 56, 89,149,200,204,204,140,184,120,249, 38, 62, 56,183, 25, 90,141, 50,162, 40, 63, 45, 50,241, 89, 97,132,181, 64,176,
+168, 73,167, 14,141,138, 79, 35,140, 48,194, 8, 35,222,137,139,117,183,174,253,191, 1,106,106, 58, 52, 72,104, 37,111, 91,254,
+137,219, 39,179, 62,135,216,165, 7,148, 9, 39,192,150,102,235, 29, 45,145,169, 21,172,155,123,160,168, 76,137,176, 43,247, 1,
+ 32,185, 33,161,146,201,100,240,245,245,197,142, 41,109,251, 42,100,249, 34, 49, 0,165,208, 92,113, 82,208,235,234,217,179,103,
+203, 89,150, 61, 12,224,108, 61, 52,171,188,188,188,182,111,216,176, 65,224, 49,238, 19,148,222,186, 94,221, 65,129, 88, 44,134,
+ 80, 40, 68, 76, 76, 12,174, 94,189,170, 2,176,170,158, 4,189,173,213,106, 31, 30, 57,114, 36,163, 77,171, 38,131,124, 59,122,
+207, 93,182, 52,216,236,209,245,139, 88,177,110, 59,219,166,243,192,226,208, 67, 39,101,197,166,205,251,201,165,143, 31, 24,112,
+171, 15,171,137,172,151,238, 45,155,245,237,216,222,235,243, 21, 43,150,155,199, 95,191,132,175,190,219, 69,220,124,250, 23,127,
+119,236, 84, 73,158, 73,139,247, 20, 57,137,119, 12,137,195,136,136,136,221, 0,118, 87,238, 87, 15,111,240,154, 45,108,219, 46,
+131, 10, 67, 15, 29, 43, 43, 49,107,222,191,174,240,218,121, 12,239,222,212,206,234,194,182,111,254, 99,146,149,153, 6,161, 80,
+ 8, 83, 83, 83,164, 73,139,176,114,243,209, 50, 53,203, 14,122, 91,161,101,102,102, 38, 84,171,213,216,177, 99, 7,210,210,210,
+252, 1,164,221,187,119,111,215,216,177, 99,183,118,232,208,193, 61, 62, 62, 62,185,180,180,116, 22,128,196,218, 72, 44, 45, 45,
+253,237,236,236,168,155, 55,111,226, 63,255,249,143,106,206,156, 57,252,201,147, 39, 83,133,133,133,141,117,178, 0, 0, 77,154,
+ 52, 9, 24,208,175, 27,122, 12,152, 17,161, 82, 20, 69,166, 36,238,143,160,201, 13, 81, 99,227,211, 8, 35,140, 48,194,136,127,
+ 13, 26, 55, 49,120, 0,192,109,107,131,233, 94, 77,248, 89, 7,190,157, 67,100,207,162,136,252,206,110, 82,114,226, 51,114,102,
+253,100,114,118,219,124, 50, 99,136, 23,113,183,167,178,218,218, 96,122,192,155,194,237,181,213,189,223,111, 7,205,128,214, 32,
+ 3, 90,131, 12,105, 11, 13,128,101,157, 58,117, 58, 57,219,239,213, 60, 90,179,253, 64, 0,252, 7,128,105, 45,193,170,105,197,
+112, 39, 0,123,124,125,125,181,215,174, 93, 35,143, 71,247, 39,209,238,182,100,214,172, 89,228,171,175,190, 34,227,199,143, 39,
+118,118,118, 90, 93, 68, 56,213,199,249,193, 7, 31, 52, 5,128,102,205,154, 89,118,246,104,147, 21,115,229, 52,137, 60,176,149,
+252, 60,123, 4,233,218,193, 35,207,209,189,247, 67,177, 83,187,142,245, 68,159,158,211,209,209,113, 41, 33,100, 16, 33,196, 9,
+ 0,220,220,108, 76, 59,185,183,121,249,240,242,105,114,253,224,118,242,243,236, 17,164,155,183,103,126, 83,143,192, 68,145,189,
+187,159, 33,156, 53,161,198,240,182,119,207,115,104,211,253, 65, 29,225,213,115,182,242, 27,115, 42,227,101, 54,185,125,251, 54,
+ 57,123,246, 44,185,126,253, 58, 57,112,228, 20,105,222,101,116,169,109,135, 97, 61, 26,240,232,212, 22, 78,139, 33, 67,134,144,
+228,228,100, 50,120,240, 96, 2,192,162,145,156, 39, 83, 82, 82, 72, 92, 92, 28, 89,182,108, 25, 1,176,111,230,204,153,242,226,
+226, 98,210,191,127,255, 52,157,192,226, 54, 38,156,174, 45,155,132, 14, 31,218,107,213,236,255,140, 12,120,219,248,124,135, 48,
+114, 26, 57,141,156, 70,206,127, 3,231,255, 50,156,116,174, 86,229,182,147, 65,243,104, 69, 0, 90,228, 99,119,123,123,245,127,
+215,173,223,182,104,199,238,125,159, 47,153,251,169,164, 87,207, 1,136,189,252, 11,142,133, 31, 41, 83, 40, 85,235,249, 28,108,
+136,203, 71,121, 82, 61,161,208,205,163,245, 26,162,163,163, 77,172, 91,191,154,131,233, 73,197,220,172,187, 26,120,131, 82, 0,
+211,238,223,191,191, 33, 48, 48,112,237,103, 61,252, 70,204,238,222, 23, 26,141, 6, 7, 14, 28, 64,106,106,234,113, 0,203, 13,
+117,220, 98, 99, 99,243, 60, 91,187,204,227,113,184,159,207, 26, 63,220, 46,247,233, 35,100, 36, 68, 3, 0,148, 74,185, 38, 43,
+ 57,210,167, 33,129, 19,139,197,183,237,236,236, 30,219,217,217, 21,182,109,213,108,154, 16,188, 21, 51, 62,250,208, 62, 63, 37,
+ 17,233,241, 21, 45,163, 74, 69,185, 58, 35,249,154,123, 99, 82,215,197,197, 69, 40,225, 97,122,141,225, 85, 41, 52,217, 79, 18,
+ 59, 26,194, 83,174, 84,173, 91,189,233,192,123,223,124,254,177,208,220,220, 28,247,227,158, 96,197,198, 67,101,114,149,102, 80,
+ 94,236,201,119,210, 60, 70, 8,129, 70,163, 49,120,160, 67, 45, 88,226,227,227,211,110,237,218,181,110, 83,166, 76,193,219, 58,
+ 89, 85,241, 44, 37, 51,184, 73, 51, 87,207, 39,143,239, 7, 90,139,249,255,125,155,248, 52,194, 8, 35,140, 48,226, 95,131, 33,
+ 58, 51,103, 90,149,109, 52, 12,172,245, 35, 46, 7,229, 0,214,180,226,148,238, 90,186,118,211, 74,154,218,252, 49, 75,200, 47,
+ 90, 26,171,159,231, 35,247, 45, 3, 87,206,227, 66,251,222,176,241, 92, 0,224,113, 27, 87, 64,234,144, 12, 96,228,143, 55,238,
+116,249,241,198,157, 47,117,191,125, 3,160, 65,109,185,102, 92,196,245,244,116,109,210,171,147,151,136,195,200,145,145,240, 20,
+ 5,101, 10, 92,138, 79, 45,162, 9,253, 75, 67, 3,245,252,249,243, 63, 0,192,193,194, 36,161,151,103,235,230,189,125,189, 76,
+120,148, 10, 25,143,238,163, 88,174,194,197,248,212, 98, 80, 84,163, 59, 84,191,171,240,102,199,158,186,251, 59,168,254, 20, 69,
+ 93, 94, 54,123,156,112,229,198,195,239, 84,100, 1, 40,207,204,204,204, 47, 47, 47,183,121,249,242,165, 10,141,159, 36,238, 73,
+ 73, 73, 73,135,249,243,231,175, 89,188,120,241,231,223,126,251, 45,191, 49,125,178,106, 67, 97,102,234,137,222, 94,239, 46,253,
+141, 48,194, 8, 35,140,248, 87, 96, 90,181, 45, 12, 22, 90,122,193,144,131, 92, 0,179, 92, 93,201,194,103,207,160,122, 87, 33,
+171,201,233,122, 75,220, 5, 48,180,209, 87,211,148,236, 86,114,106,233,237,228,212, 82,176,132,176,132, 40,105, 26,233,101,106,
+245,186,228,231,153,141, 31,117, 71, 81,204,221, 39,105,242,123, 79,211, 21,132,101, 9, 75,136,138,162,144,165,209,176,235,226,
+159,167,158,250, 59,132, 55, 47,246,228,141,112, 45,213,235,198,237,184,133,101,101,234,237,121, 9, 39,163,222, 97,186,104, 98,
+ 99, 99, 39,248,251,251,127,194, 48,204, 46, 0,154,183,224, 82,105,181,218, 37,161,161,161,199, 99, 99, 99,143, 70, 69, 69, 73,
+223,133,200,250, 75,211,223, 8, 35,140, 48,194,136,127, 42, 26,183,168,116,109,120,151, 34,235,239,136,184, 39, 47,124,255, 10,
+222,248, 39, 47,218,255, 47,132, 55, 59,225,196,189,108,224,163,191, 40,122, 47, 50, 12,115,241, 93,138,234,243,231,207,183, 68,
+ 13,203,234,252,221,210,223, 8, 35,140, 48,194,136,127, 44,166,213, 38,190,184,198,184, 49,226, 31, 0,242,174, 68,150, 17, 70,
+ 24, 97,132, 17, 70, 52, 2,181, 58, 90, 20,106, 31, 57,112,185, 1,127,208,152,209, 7,151,141,156, 70, 78, 35,167,145,211,200,
+105,228, 52,114,254,235, 56,255,137,112, 66, 69,135,248, 51,186, 45, 8, 33,123,254,127,252,177,113,232,171,145,211,200,105,228,
+ 52,114, 26, 57,141,156, 70,206,127, 58,222,232, 8, 95, 57,189, 3,109,140, 27, 35,140, 48,194, 8, 35,254, 66, 8,117,159,198,
+ 30, 55,194,136,255, 69,177,165, 23, 92,141,233,163,213, 70,183,125,242, 23, 6,118,182,147,147,211, 52,111,111,111, 15, 62,159,
+ 79,203,100,178,213,215,174, 93, 91, 85,253,164, 94,158,220,123, 28, 26, 77, 95,253, 66, 1, 20, 7,160,105, 48, 4, 25,215, 99,
+228,157,141,233,254,183,134,139,216,220,238,119,138,230, 8, 24,173, 26,140, 70,141,138,238, 86, 21, 96, 89,109, 42,163, 86, 14,
+172,237, 98, 71,159,225,205,181, 12,251, 45, 64,118, 0,244, 76,128,221, 73,129, 59,131, 64,251, 3, 5,206,127,192, 33,223,129,
+161,190,224,242, 56, 75,165,209,191,165,255, 19, 34, 44, 44, 44,140,243, 54,215,143, 30, 61,186,198, 5, 68,157,157,157,195, 77,
+ 76, 76, 90,215,118, 93, 89, 89,153, 84, 42,149, 6,254,195,159,199,222, 0,182, 1,240,170,246,123, 34,128,121, 0,174,188,237,
+ 31, 4, 0, 92, 7, 96, 58, 31,248, 2, 0,212,192,119,217,192,238,136,191, 81, 31, 67, 59, 59,187, 72, 46,151,235, 86, 86, 86,
+ 86, 38,147,201, 92,205,204,204,158, 73, 36, 18,137, 86,171, 77,206,205,205,237,221, 64,186,153,120,181,148,214,231, 0,118, 54,
+240,184, 17, 70,252,175,224,173, 70, 29,182,173,200, 31, 16, 0,160,119,151, 46, 93, 28,202,202,202,144,152,152,152, 13, 32, 18,
+ 64,132,238,147,244, 46, 66, 74,211,244,247,155, 54,109, 90, 52,103,206, 28,253, 98,208, 49, 49, 49,240,241,121,115,142, 80, 14,
+141,166,215, 78, 95,182,191, 27,155,132, 46,253, 71,233,132, 22, 13,148, 73, 17, 56,192,175,177, 65, 48,179,178,178, 90, 77, 81,
+212,104,154,166,235, 45,212, 88,150,101, 8, 33, 97,133,133,133, 43, 1,200, 26,242, 71, 18, 19,161, 70,203, 48, 53,254, 7,151,
+195, 97,202,202,149,181, 78,123, 97,109,109, 29, 69,211,116,171,170, 11,102, 3,175, 47,160, 93,219, 49,173, 86,155,145,151,151,
+103,136, 8, 21,209, 92,254, 60,138,226, 15, 0,205,182, 5, 40, 80,160,147, 88, 70,117,137,213,170,183, 0, 80,188,141,200,114,
+106,230,122,125,193,242,208,166,113, 9,137, 88, 54,123, 60,190,221,182, 15, 75,231,125,130, 45,123, 14, 97,222,180,113,240,244,
+244, 66, 93,203,138,179,224,175, 91, 62,119,116,255,144, 29, 71,123, 46,157, 53, 90, 24,178, 35,172,215,178,217, 99, 5,235,182,
+ 31,237,181,108,246, 24, 97,200,246,163, 61,151,206, 29, 45, 94,183,243, 55, 22,192,196,198, 4,114,156,155,115, 25,165,213,214,
+ 88,219, 38, 92,174,242, 80,242, 75,201,255,197, 27, 61,101,202, 20,111,185, 92,126,127,252,128, 78,161, 29,219, 54,201,172,233,
+156,252,172,204, 38,207, 30, 71, 7,243,248, 98,223, 15,131,247,197,212,105, 57, 8,133,173, 18, 19, 19,221, 88,150, 5,195, 48,
+208,106,181,250,173, 74,165, 66,239,222,189,223,213,192,153,161, 0, 86, 87,188,172, 8, 1,112,244, 45,184, 76,185, 92,238, 2,
+129, 64, 16,160,213,106, 61, 0,128,199,227, 37, 40,149,202, 8,173, 86,187, 9, 64,105, 3,249, 54,103,102,102,122,154,154,154,
+ 66,173, 86,235, 23,160,231,112, 56,238,205,155, 55,223,161, 80, 40,220,222,246,230, 29,128,233,221,123,246,220, 50,121,209, 34,
+142, 60, 50, 18, 91,246,238,221,140,146, 18, 0,216, 81,223,181, 2,129,224, 2, 77,211, 46, 13,249, 63,150,101, 83, 85, 42,213,
+192,134, 92,195,229,114,221, 94,190,124,105,239,236,236, 12,153, 76, 6,137, 68, 34,169,220,111,132,147,181,158, 16, 34,214,229,
+237, 91,186,117,235,230, 79, 81,148, 22, 0, 97, 89,150,190,125,251,246, 56,150,101,185,186,252,105, 61,128,189, 0,148,198, 50,
+219,136,255, 81, 55,107, 79, 67,133,214, 89, 0, 1, 93,186,116, 17,127,244,209, 71, 8, 8, 8,128,155,155, 27, 68, 34, 81, 69,
+ 38,158,159,239,240,224,193,131, 49,145,145,145, 99, 78,159, 62,141, 71,143, 30,201, 1,252, 9,160,198,151,186, 95, 80,207, 57,
+ 34, 83,225, 86, 0,200,205,200,151,102, 60,207,217, 42,149, 74,215, 3,168, 58, 69,184,235,196,137, 19, 23,206,157, 59, 23,225,
+225,225, 56,116,232, 16,148, 74, 37,100,178, 58,244, 75,121, 14, 10,175,134, 2,146, 20, 32, 45, 2, 48,177, 7, 36, 14,141,142,
+ 41, 43, 43,171,213,243,230,205,155,239,233,233,169,159,197, 92,163,209, 64,171,213, 66,163,209,160,176,176, 16, 11, 23, 46,172,
+ 40,104, 9, 1,203,178, 56,119,238,220,156,105,211,166,161,176,176,112, 65, 77,156,221,124,155,221,163, 41,186,105,165, 87, 67,
+ 24, 38,227,214,131,140,206, 90,134,225, 40, 20,234, 26, 87, 42, 23,137,248,117,138, 60, 30,143,215,244,209,239,191,219,211, 2,
+ 1, 8,195, 0, 44, 11,194,178,186,232,212,125, 72,197,111,132, 97, 65, 52, 12, 88, 45, 11,173, 92, 9,191,153, 51, 13,137,138,
+238, 60,129,248,208,132,207, 22, 57,118,237,214,141,215,162,153, 51,180, 12,139,167, 41, 25,142,247,239,221,234, 17,182,127,199,
+ 12,149, 92, 54, 14, 64,163,230,217, 18,152,152, 95,220,254,195,143, 77,239, 62,136,195,149,107,145,184,124, 53, 2, 0,112,225,
+ 90, 84,165,224,174, 55,169,160, 45,237, 48,111,234, 48, 97,232,246,195,188,121, 83,135,115,190,221,126,132, 55,247,147, 15, 57,
+161, 91, 15,241,231,126,242, 33, 39,116,219, 33,254,220,169,195, 56, 33, 91,126,246, 6, 96, 5,160,176, 54,178,218,210,136,210,
+106,133,255,125,150,205, 1,128,220, 93,187,160,201,201,129,243,202,149, 0,128, 9,174, 14, 6, 55,119,216,218,218,222,227,241,
+120, 77,235, 59, 79,163,209,212, 43,130,167, 76,153,226, 35,151,203,239,105,181, 90,194,229,114,131,199, 15,127,239,228,160, 94,
+ 62,249, 85,207,137,137,121,104,179,110,221,239,195,142,222,151,145, 49,190,102,247,195,191,159,210, 57,104,241,190,135,117, 20,
+200,180, 82,169, 68,114,114, 50,170, 46,242, 94, 5, 76, 99,235, 78, 0,182,216,216,216,116,205,207,207,159, 0, 96, 89, 73, 73,
+137, 55,135,195,129,181,181,245, 50,149, 74,245,212,194,194,226,167,226,226,226, 40,157,107,100,232,146, 1,189,205,205,205, 15,
+156, 56,113,194,170, 83,167, 78,116, 94, 94, 30, 90,182,108,137,130,130, 2,191,200,200, 72,223,169, 83,167, 78,149,201,100,147,
+116,149, 65, 67,209,206,196,196,132, 76,158, 60,153, 98,152, 87,183,251,243,207, 63, 99, 96,123,109,107, 59, 75,147,114,133,138,
+ 20, 95, 73,182,248, 15,159,207,255, 51, 53, 53,181,184,161,145,193, 7,190,152,188,104, 17,199,244,197, 11,152, 62,124,136, 9,
+ 37, 37,220,111, 43,220,173,122,133, 22, 77,211, 46, 7, 14,253,226, 38, 16, 8,160,213,106,245, 98,176, 50,143,210,104, 52, 80,
+171,213,208,104, 52, 96, 24, 6, 26,181, 6, 33,223,124,215,232,188,208,196,196,196,196,201,201, 41,219,196,196,196,228, 93,148,
+ 66, 66,161,144,187,127,255,254,113, 2,129, 0, 0,160, 82,169,208,190,125,123,202, 88, 62, 27,241, 15, 19, 91,111,184, 92,117,
+ 9,173,193, 37, 37, 37, 96, 24, 6,102,102,102,224,112, 94, 47,247,109,108,108, 48, 96,192, 0,244,238,221, 27, 31,125,244, 17,
+ 30, 61,122, 36,254,232,163,143, 6,212, 70, 54,126, 81, 16,154,185, 57,232, 10, 19,214,233,198,153, 7,161, 63,127,253,155, 93,
+ 86, 86,214,162, 42,167, 77,157, 62,125, 58,149,159,159,143,209,163, 71, 71, 42,149,202, 15, 0,148,212,198,201,176,200, 8,252,
+104, 2, 88, 66,137, 55,221,254,145, 82, 41,228,132,166,105,121,101,211, 97, 99, 98,137,162,168,209,206,206,206, 56,124,248, 48,
+ 84,170, 55,167, 11, 51, 55, 55, 71,124,124,252, 43, 87,141,195, 65,183,110,221, 56, 20, 69,141, 6,176,160,102, 78,186,233,141,
+187, 47,236, 43,247,131, 6,120,241,187,249,210,217, 47,179,203, 8, 0,106,249,242,229,122,225, 6, 0,171, 87,175, 54, 36,156,
+160,121, 60,228, 70, 68,188,202,136,185, 52,104, 62, 5,138, 7,208,220,138, 86, 84, 16,128, 48, 0,171, 5, 88, 13, 32,114,106,
+102, 72, 52,248, 53,105,238, 22,190,110,227, 78, 75,165,134,224,240,169, 43, 72, 73,121, 14, 14, 77,195,181,181, 27,222,235,211,
+139,231,219,197,191,217,119,171, 22,157,126,153,246,100, 48,128, 59, 13,142,104,150,136, 90, 55,183,197, 79, 63,223,135,157,149,
+ 41, 70, 15,123, 31, 98,145, 16,223,110,251, 5,223, 44,157, 13, 55, 87, 23,236,222,188,182,214,203, 45, 44, 44,214,120,184,181,
+118,217,185,255, 12, 60,220,221, 57, 59, 15,156,129,135,167,110,235,229,193,217,121,224, 12, 60,189, 60, 57, 59, 15,156,129,183,
+ 87,187, 22,247,164,183,215, 20, 20, 20,204,174, 61, 62,171,165,209,123, 21,105,196, 43,101,245, 5,193,139, 25, 51, 0, 64, 47,
+180, 26, 2, 30,143,215,244,229,203,151,246,245,157, 87,159,107,160,115,178,238,105,181, 90,228,228,228, 80, 69, 69, 69,196,210,
+210,114,216,249,221,203, 78, 12,236,233, 83, 0, 0, 15, 31, 62,180, 14, 9, 89, 55,236,200,189, 18,200,111,109,167,254,251,123,
+ 4, 59,225,131,128,123,167, 66,167,248, 66,183, 36, 68,117, 40,149,202,148,142, 29, 59, 18,221,247, 38, 66,161,144, 95,237,121,
+115,110,211,166,205, 27,174,181, 1, 77,138, 91,110,222,188, 57,219,211,211, 19,238,238,238, 81, 93,187,118, 53,151, 72, 36, 56,
+127,254, 60, 60, 60, 60,188,204,205,205,111,135,133,133,241,150, 44, 89,226,179,119,239, 94, 0,152, 99, 64,116,246, 15, 12, 12,
+ 60, 28, 30, 30, 46,226,243,249,144,203,229,136,143,143,135,133,133, 5, 4, 2, 1, 62,252,240, 67, 78,143, 30, 61,108,250,244,
+233,115, 44, 41, 41,105, 28, 26, 48, 2, 74,161, 80,144,101,203,150,193,196,196, 4, 38, 38, 38,144, 72, 36,144, 72, 36, 48, 21,
+129,218, 53,175,185,120,238,158, 34,241,130,149,187, 66, 15,236, 92,117,173, 89, 51,246,171,244,244,244,162,134, 50, 47,200,121,
+ 0, 0, 32, 0, 73, 68, 65, 84, 62, 11,242,200, 72,152, 62,124, 8, 84,121,119, 13,133,133,196, 26,193,193,193,245, 57, 82,224,
+243,249,232,222,189,123,189,124,214,214,214,199,185, 92,238,107, 53, 83,173, 86, 43, 10, 14, 14,102,146,146,146, 36, 52, 77, 75,
+ 88,150, 69,112,112, 48,163,213,106, 69,246,246,246, 81, 44,203,102,231,229,229,141, 48, 32,184, 74, 0,159,211, 52,189, 69, 40,
+ 20,114, 91,180,104,145,186, 98,197,138,155, 58, 55, 19,132, 16,186, 69,139, 22,126, 98,177,216, 69,169, 84,106, 81,209,116,104,
+116,179,140,168, 17,132, 16,223, 10, 83, 88, 15, 21, 0,129,238,123,126, 69,105, 7,219,106,191, 3, 64,158,174,162,232, 80,203,
+126, 62,128, 71, 0,218, 1,176,215, 29,187, 75, 81, 84, 65, 35,130, 89,187,163, 21, 30, 30,174,175,194, 6, 5, 5,233, 11, 22,
+ 51, 51, 51,220,189,123, 23, 20, 69,193,204,204, 12,230,230,230,176,176,176, 64, 73, 73, 9, 30, 61,122,132,196,196, 68,188,120,
+241, 2, 20, 69,193,213,213, 21,149, 47, 80, 21,232, 51,184, 95, 55,132, 67,100, 42, 4, 69, 1,157,250,122,195,187,119,123,116,
+185,243,108,222,189,203,212, 30,169, 84,154, 12,128,219,190,125,251,169,221,186,117,195,198,141, 27,161, 84, 42, 55,214, 34,178,
+244,156,215, 31,105, 59, 3,128,147,147,211,226,131,231,159,154, 76, 28,212,186, 92, 42,149,126,223,136,200,121, 45, 35,206,203,
+203, 51,120, 45, 62,150,101, 81, 88, 88, 88, 39,103,117,135, 96,211,150,237,150,178,226,108,124,253,237, 65,104, 52, 26, 44, 90,
+180, 8, 44,203,234, 63, 69, 69, 69, 6,133,147, 48,204,155,222, 1, 93,209,122, 74,113,129,230, 99, 43,116, 69,218,225,237,160,
+ 8, 64, 49, 0,222,188,175,234,133,144,136,195, 23, 31, 89,245,237, 86,203,232,196, 12,156,186, 18, 13,117, 73, 38,164, 15, 79,
+ 84, 88,142,221,199,225,168,146,131,174,222,173, 49,127,249,119, 86, 95,206,159,116, 68, 37,151,185,227,245,102,196,203,245,191,
+ 52, 12,190, 94,179, 6,123,182,110,196,119, 27,183,162,164,184, 8, 60,158,173, 46,163,103,192, 48, 76,221,247, 78,200,160,224,
+121, 31, 83,223,254,112, 28,126,158, 78, 56,118,254, 14,122,118,116,193,137,139,247,208,219,183, 37, 78, 93,142, 70,223,174,173,
+113, 54, 34, 14,243,167,143,163,198, 93,216, 59,168, 33,105,180,121,243,118, 75, 89, 73, 54,194,215,238, 71,206,142, 29, 72,157,
+ 61, 27,126,186,115,238, 80, 20,248, 77,155, 2,252,250,211,168, 58, 18, 18, 18,160, 84, 42,107,170,237,195,195,195,163,222,116,
+151,203,229,247,181, 90, 45,201,206,206,166,178,179,179, 33,145, 72,168,248,248, 56,198,203,171,253,112,146,248,219,143, 0, 16,
+ 18,178,110,248,209,251, 37, 40,143,218, 10,249,205,109,224,183,140,161,247,172,158,174,158,182,114,247,253, 42,239,232,107,225,
+204,202,202, 26,156,149,149, 5, 0,104,213,170, 85, 98, 82, 82, 82,187,202,166,102, 93, 19, 34, 95,171,213,186, 85, 54, 39,106,
+181, 90, 40,149, 74,244,239,223,159, 83,215,189, 91, 89, 89,117,243,240,240, 64,116,116, 52,182,110,221,106, 29, 24, 24,136, 39,
+ 79,158,128,162, 40,172, 91,183,142,242,244,244,228,229,229,229, 97,224,192,129, 56,126,252,120,247,146,146,146,250,226,211, 76,
+ 34,145,236, 61,125,250,180,136,166,105,200,100, 50,176, 44,139, 30, 61,122,128,166,105,196,197,197, 97,249,242,229, 56,126,252,
+ 56, 78,158, 60, 41,246,245,245,221, 91, 94, 94,238,129,215,155,245,107, 75, 35,162, 80, 40,136, 80, 40,132, 80, 40,132, 72, 36,
+130, 72, 36,130, 64, 32, 64,169, 2,152,182, 41, 85,201, 17,217,178, 94, 29,123,182,254,120,238, 58,250,251, 21,159, 92, 5,112,
+202,208,103, 30,168,232,147,181,229,151, 95,182, 78, 40, 46,166, 1,224, 39,138, 98,213,132,124,103,200,251, 14, 0,165,138, 98,
+184,184, 54,197,177, 35, 39, 49,114,236,176, 26, 69, 22,143,199, 7,159,199,131,185,181,164, 94, 78, 62,159,239,144,152,152,104,
+195,227,241, 64, 8, 1,195, 48, 80,171,213,217, 95,126,249,165,221,144, 33, 67,204,206,157, 59, 71, 15, 25, 50,132,181,178,178,
+ 42,187,115,231, 78,142, 86,171,181,233,213,171, 87, 67,158,249,157,222,222,222,157, 78,156, 56,241, 73,112,112,240,189,197,139,
+ 23,127, 93,245,224,250,245,235,215,156, 61,123,214,101,248,240,225, 7, 30, 62,124,184,179, 33,121,200,219,230,243, 70,206,191,
+ 31,103,109, 90, 68, 7, 7,138,162,194,171,228,217, 65,149,251,193,193,193,203, 66, 66, 66,226, 41,138, 10,175,250,123,229,121,
+186,202, 98,120, 77,251,186,107,173,151, 46, 93,218, 62, 52, 52,116,157,191,191,255,225,168,168,168,231, 0, 26, 42,180,234,238,
+163, 85,121, 67, 85,111,178, 90,161,134,146,146, 18,148,148,148, 32, 61, 61, 29,187,118,237,210,189,208, 60,112,185, 92,112,185,
+ 92,125,127,134,218,112, 37,252,207,109, 0,182,117,234,212,137, 23,123, 51,236,220, 23,123,230,246,235,220,191, 19,231,254,149,
+216, 81,168, 88,143,112,240,228,201,147,109, 1, 96,255,254,253,121, 0,206,253, 31,169,230,176,228,228,228,249, 78, 78, 78,250,
+ 62, 42, 85,155, 15,181, 90, 45, 68, 34, 17, 42,251,178, 40, 20, 10,236,218,181, 75, 75, 8, 9,171,131, 19, 73,241, 87,145, 28,
+127,173,226, 58,150, 5,203,188,186,126,213,170, 85,250, 97,160, 0, 48, 67,231,156,212, 43,242,106,138,115, 82,109, 91,237,119,
+194, 48,245, 52, 79,240,231,142,154, 52,219,137,165,184,248,253,234, 3,240,120, 60,176, 85,220, 76, 30,167,162,182, 28,255,228,
+ 37,156, 29,188,240,193,184,233,142, 39, 14,108,159,171, 85, 43,190,109,104, 92,187,123,251, 99,222,252,249,248,113,207, 30, 44,
+ 95,185, 70,175, 0,180, 12, 3,109,189,225,164,233,254, 61,218, 67, 91,250, 18, 28, 14, 7,125,253, 90,131,195,225, 96,128,127,
+ 91,112, 56, 28, 12,236,225, 14, 46,151,139, 65, 61, 61,209,166, 77, 27,112,185, 92,186,158,116, 71, 82,252, 21, 36,199,255, 81,
+ 69,244, 18, 16, 0,106,169,244,141,243, 53, 82, 41, 72,115,155,134, 62, 91,152, 58,117,106, 81,122,122,186,186,250,177,102,205,
+154,241, 35, 35, 35, 45,107,105,182,211, 67, 44, 22,251,114,185,220,251, 5, 5, 5,172,137,137, 9,205,178, 12,235,229,213,158,
+115,126,247,178, 19,149,231, 44, 93,186,236,196, 24, 95,243,225, 7,195,194, 9,191, 69, 79,138,226, 9,181,159,173,220,205,231,
+241,197,190,128,220,144,202, 3,173, 84, 42,241,248,241, 99,212, 23, 30, 66, 72,157, 77, 63,133,133,133,147, 61, 60, 60, 34,183,
+109,219,102, 77, 81, 20,174, 95,191, 14, 14,135,163,255, 60,123,246, 12, 52, 77,227,139, 47,190, 80,151,148,148,124, 90, 95,216,
+184, 92,238,252, 99,199,142, 89, 8, 4, 2,200,100, 50,253,123,195,225,112,144,152,152,136,239,191,255, 30,147, 39, 79, 70, 90,
+ 90, 26,156,157,157,177,104,209, 34,211,208,208,208,249,106,181,122,141, 1, 73, 20,163, 82,169, 58,155,152,152, 64, 36, 18,161,
+ 82,112, 1,192,197,120, 94,156, 92, 46,239, 96, 99, 83,238,104, 23, 17,254,123,247,192, 15,124,108,236,156,252,165, 82,105,131,
+150,206,122, 10,236, 73, 97,152, 47, 7,159, 56, 97,127,227,196, 9,246,214,233,211, 25, 66,153,108,183,193,207,144,134, 70,234,
+179, 12,248,250,250,226,254,253,251,240,245,245,173, 42,154, 32, 16, 8,192,231,243,193,231,243, 97,107,101, 80, 23, 10, 66,211,
+ 52,110,220,184, 1,134, 97,160, 82,169,160, 82,169,224,233,233, 89,112,237,218, 53, 83, 0,120,246,236, 25,153, 56,113, 98,209,
+237,219,183,209,177, 99,221,235,169, 59, 56, 56, 68,114, 56,156, 22, 85,127,203,207,207,183, 26, 49, 98, 4, 10, 11, 11,223, 31,
+ 49, 98, 68, 79,221,251,155,249,219,111,191, 77, 4, 0,129, 64, 0,154,166, 25, 24,241,175, 71,125, 90,164,170, 80,170, 46,184,
+ 66, 66, 66,130,170,255, 86, 85, 84,213,244,189,234,181,161,161,161,235,170,112,203, 27, 17,252,250,251,104,133,135,135,147, 26,
+ 20,164,193,168, 79,104, 85, 34, 58, 58, 90,227,236,236,252, 99,242,131, 23,253, 90,123,187, 66, 44, 17,190, 7, 96,155, 80, 40,
+ 92, 56,105,210, 36,220,186,117, 11,113,113,113, 63,227, 45, 71,225,180,111,223,254,130, 80, 40,116,169,165,153, 36, 53, 46, 46,
+110, 96, 45, 5,195,202,211,167, 79,163,174,206,240, 87,175, 94,173, 90, 40, 85,237, 12, 95,243,131,193, 18,104,212, 26,148,149,
+203, 95, 21,226, 58,161, 85, 86, 86,134,177, 99,199,190,230,104,229,228,228,212,123,127, 20, 69,225,251, 83,167,112, 41, 44, 12,
+239,251,248,224,248,157, 59, 8,157, 52, 30,238, 46, 77, 64, 24, 10,132, 2,210, 14,109, 71,126, 73, 41,126,189,114, 3, 5,178,
+114, 76,232,213, 11,110,230,182,117,243,242,248, 3,252,186,249,243, 47, 71, 61, 2,143,199, 5, 13, 22, 68, 83, 14,103,143, 62,
+224,208, 52, 44, 28, 90,130,207,227,129,199,227,226, 89,122, 30, 60,218,119, 17,132, 11, 68, 3, 26, 35,180,154,185,180, 4,195,
+ 48,152, 60,121, 50, 14, 31, 62, 12, 27, 71, 23, 88, 52,107,143,111, 54,238,193,251,253,123,213,123,255,149, 53,120, 46,151, 11,
+ 14,135,243,198,182,242,187, 33,238, 36, 97, 9,212,213,211,136, 37, 0, 33,104,186,118, 45,154,174, 93,139, 59,186,255,244, 44,
+ 43,131, 92, 46, 7,186,122, 53, 72,100,169, 84, 42,164,167,167,171,179,178,178, 28,106, 56,158,173, 82,169,234, 21, 54,251,246,
+237,139,153, 50,101, 74,103,107,107,235,123, 49, 15, 31,106,188,125,124,120,231,118, 45, 59, 89,217,108, 8, 0, 62, 62, 62, 5,
+203,150, 45, 59, 57,113,116,208,176,157,193, 31, 49, 51,215, 28,224, 10,197,226,206, 65,139,247,197, 28, 26, 61,186,254,246, 30,
+165, 50,197,219,219,155, 24,114, 95,229,229,229, 89,117, 28, 30, 10, 96,117,167, 78,157,204, 3, 3, 3, 17, 25, 25,137,145, 35,
+ 71, 42,213,106,117, 50, 0, 12, 25, 50,164,237,175,191,254, 42,120,244,232, 17,236,236,236,120,169,169,169,123, 81, 79, 7,121,
+129, 64,208,167, 75,151, 46,180, 82,169,124, 67,100,133,134,134, 98,220,184,113,104,219,182, 45, 88,150, 69,105,105, 41, 2, 3,
+ 3,121, 91,183,110,237, 99,160,208,154,231,238,238,254, 61, 42, 70, 29, 86,205, 11, 19, 80,209,172,133,252,252,252,172, 7,183,
+175,196,247,234, 63,162,115,139, 54,237,157,226, 98,238,215, 73,104,111,111,191,148,166,233, 49, 44,203,114, 74, 74, 74,210, 31,
+168, 84,109, 60, 93, 92, 28,122, 12, 27,134, 98, 30,143,179,229,202, 21, 58, 91, 38, 51, 5, 96, 80, 19,164, 66, 83, 6, 23,215,
+138,174,126, 35,199, 14,195,253,251,247, 49,234,163,225,224,243,249,224,114,121, 21,239, 38,191,194,209,178,180, 53, 55,232,217,
+212,104, 52,250, 60,188,178,159,151, 90,173, 70,101,215, 44, 19, 19, 19,253, 49,165, 82, 9,138,162,234,122, 54,220,142,174, 89,
+ 97, 47, 54,183, 0,163,209,192,107,216, 40,253, 51,125,251,167,157, 98,176,172,184, 40, 53, 5,115,194, 78,243, 96,132, 17,181,
+184, 90,117,105,145,170, 66,233,109, 65, 81, 84,120,112,112,240, 50, 0, 36, 56, 56,120, 89,229,126, 72, 72,136, 28, 64,102, 35,
+197,214, 27, 46, 23,247, 93,136,172,202,230,133,186, 16, 24, 24, 56,199,204,204,108,107,229,126,250,173, 76,164,223,202,132, 71,
+ 59,175, 30,157,124, 58, 23,143, 27, 55, 14, 54, 54, 54, 88,188,120, 49, 1,240,115, 67,255,255, 89, 82,188, 41, 0,226,228,228,
+180, 88,151, 33,251,220,185,115,199,238,238,221,187,232,210,165,203, 43,235, 94,173, 70,207,158, 61,235,162,146,233, 58,181, 47,
+120,119, 46, 25, 11,181, 90,141,242,114, 57, 84, 42, 53,180, 26, 22, 90,173, 22,190, 94,102, 56,176, 39,184,226, 55,109,165,123,
+ 86,225,154, 53,117, 52,131,153, 41, 79, 67,211,148,252, 94, 76, 86,141, 57,166, 74,165, 66, 76,106, 42, 30,190,120, 1, 0,248,
+ 32,164,238,142,175, 7,174, 68,194,211,211,179,190,208,182,110,234,236,136,151,151, 98, 42, 50,111,121, 58,238,254,121, 20,102,
+102,166, 0, 0,175,128, 9,224,243, 43,132, 86,153, 92, 13,219,118,205, 64, 17, 82,235,180, 0, 38, 86,142, 23,184,124,145, 11,
+ 97, 88, 16,194,130,176, 12, 8, 97,193,225,241, 77,230,204,248, 4, 44,203,192,207,207, 15, 20,135, 3, 70,163,196,232,161, 3,
+ 80, 88, 44,131,141,165, 97,133, 4,159,207, 71, 64, 64,128,184,182,227, 79,158, 60,145, 87, 21,102,117,167,145, 6,101,101,114,
+ 40,149, 74,168, 85, 90,168, 53, 90, 48,173,248,248,250,203,241,208,170,181, 40,255,200, 31,106,141, 22,236,252,225, 80,171, 52,
+ 72, 51,161,105,111, 15, 91, 13, 13, 74,254, 32, 33,215,188, 62,161, 85, 41, 14,106, 67, 77,125, 2,107, 17, 91, 15,167, 76,153,
+226,235,237,227,115,127, 76,127,159, 13,177,113,241, 47, 99,227,226,223, 56,207,165,173, 79,202,204,208,195,139,120,124,177,111,
+208,226,186, 71, 29, 86, 69,213,102,196,183,196, 50,153, 76,230,109,106,106,138,164,164, 36,112, 56, 28, 80, 20,245, 4,128, 55,
+ 0, 56, 57, 57, 61,229,114,185,174, 28, 14, 7, 59,118,236,160,184, 92,110, 7,127,127,255,101, 10,133,226,104, 29, 21, 58, 15,
+ 51, 51,179,215,220, 44, 62,159,143,224,224, 96, 76,156, 56, 81, 47,178,248,124, 62,246,237,219,135,206,157, 59, 67,165, 82,121,
+ 24, 24,222,187, 0,122, 25,224,248, 81, 58,113, 94,175, 24,213,106,181, 83,242,199,140,105,131,136, 8,244,112,117,245,244,245,
+245,133, 90,253,202,208,116,117,117,109, 38,147,201,178,228,114,249,127, 81, 49,181,193,131, 58, 69,145,130, 69,234,179,138,238,
+167,247,239,223,135,159,159,159,222,193,170,234,102,241,249,124,136, 5,166, 13, 18, 90, 44, 91,145, 47,201,100, 50, 58, 34, 34,
+194,214,221,221,157, 2, 0,119,119,119,234,193,131, 7,214, 38, 38, 38,121,173, 91,183,174,183, 2, 44, 54,183,192,190, 41, 99,
+ 1, 0, 95,245, 31,164,175, 24,157, 95,189, 12, 60, 30, 15,253, 22, 47,123,227,185,103, 89,150, 3, 35,140, 34,203, 0, 45,242,
+174, 68, 86,117, 71, 43, 36, 36, 36, 62, 36, 36,228, 13,119,172,129,168,223,209,170,106,221, 53, 20,149, 47,107,109,216,184,113,
+ 35, 58,116,232, 80,103, 65,180,117,235, 86, 28, 60,120,112, 35,128,103, 13,182, 28,251,117,242,194,166, 19,241,174,109,189, 40,
+ 0, 88, 51,127, 40, 93, 86, 86,134, 27, 55,110,192,194,194, 2, 79,158, 24, 60,237,151,153,133,133,197,106,154,166, 71,115,170,
+143, 0,168, 89, 96, 50, 44,203,134, 21, 23, 23,215, 58,189, 3, 33,128, 90,163, 69, 89,185, 2, 42,149, 10,243,191,216, 94,111,
+ 32, 66, 0, 74,173,146,113, 3,122,251,139,107,115,116,252, 58,244,193,172, 73,166,111, 20,222, 28, 26,160,105,160,163, 95,133,
+227,242,224, 78, 60, 88, 22, 96, 88,192,214,222, 10, 63, 31,218, 80,167,200,215, 50,172,174,118,204,160, 84,201,192,163, 91, 16,
+ 50, 18, 34,244, 14,146,128, 95,209,100,204,231,241,192, 18,170, 98,214,135,218,132,144, 64,236, 82, 40,125,230,182, 39, 60, 22,
+211,130, 58,224,183,203, 49, 24,213,223, 27,215,110, 63, 66, 96, 87, 79,196, 39,191,128,151, 91, 11,236,216, 27, 6, 66, 32,251,
+ 97,211, 55, 89,175, 10, 52,109,170, 33,142,214,173, 91,183,228,213, 93,172,170, 91, 82,127,121, 8, 66, 94, 57, 90,114,133, 18,
+139,151, 26, 52,157, 79, 69, 26,245,234, 38, 54,228,228,186, 28, 43, 67,132, 88,117,103, 11,245, 76,207,210, 10, 64,103, 96,201,
+255,101,198,201, 48, 12,206,156, 57,163, 79,143,154,210,177,106,218, 25, 32,114,144,154,154,138,248,248,120,116,235,214, 13,197,
+197,197,224,209, 52, 22,197,198,194,115,210, 36,168,248,124,176, 44, 11,129, 64,128,233,211,167, 27, 28,159, 13,204,157,117,157,
+185,153,250,200, 55,248,251,251,183, 73, 42, 43, 67,124, 98, 34,250,175, 90, 5, 0, 56,123,246,236,107,207,196,194,133, 11, 5,
+143, 30, 61,154,122,239,222,189,169, 47, 95,190,220, 8, 96, 81,173,249, 44, 81,234,251,104,141, 25, 63, 18,109,220, 91,225,224,
+ 47,135,244,199, 23,126, 62, 15, 60, 30, 31, 60, 62, 15,150, 22,150, 6,221,141, 70,163,209,139,214,242,242,114,250,236,217,179,
+ 77, 7, 12, 24,192,159, 55,111, 30, 5, 0, 7, 15, 30,164,183,109,219, 38,185,116,233, 18,191, 73,147, 38,210,122,197,165, 90,
+253, 70, 26, 83, 20, 5, 30,143, 7,190,128, 15,176, 44, 40,138,146,172, 95,191,126, 77,124,124,124, 23,119,119,119, 40,149,202,
+ 73,168, 24,168, 97,156, 71,203, 40,182,234,212, 34, 53,245,181,210,185, 82,181, 33,183,106,191,173,218,132, 90,213, 62, 91,104,
+220,160, 12,195,250,104,213, 4, 14,135, 83,175, 91, 69,211,116,189, 77,135, 11, 23, 46,132,153,153, 89,109, 5, 16,137,141,141,
+125, 36,149, 74,247, 0,216,222,168,196,185, 18, 29,191,122,193,112, 25,116,109,171,150,150,150,121,125,251,246, 45, 5,160, 62,
+122,244,245, 10,178, 82,169,172,181, 0,183,176,176, 88,253,211, 79, 63,205, 29, 54,108, 24, 93,125,138,129,170,205,123,149, 31,
+141, 70,131,163, 71,143,206, 93,178,100, 9,138,139,139, 23,212, 85,136,151,151,201, 33,215,117,132,126, 26,247,155,161,153,122,
+173,135, 76, 45,157,208,180,149,119,173,133, 9,205,175,232, 67,228,208,252, 85, 1,102,102, 38, 2, 83, 7, 39, 69,209,207, 94,
+164,189,108,210,204,209, 26, 79,211,115,225,208,162, 3, 10, 51, 95,197, 3,151,203, 1, 79,215,116,104,105, 46, 65,110, 78, 14,
+104,154, 83,167, 48,254,230,215,104,220,142,123,129, 99,151, 31, 64,173, 40,195,166,253,231,161, 86,150, 66,173, 40,131, 90, 81,
+177, 93,183,228, 51, 80, 20,178, 52,202,178,182, 13, 73,119, 46,151,139,174, 93,187,214, 42,116, 50, 51, 51, 13,116,180,136,222,
+209,146, 43, 26,152, 70,134,213,156,234,116,172, 42,143, 55, 86, 24, 84, 78,249, 32, 22,139, 59,239,219, 87,251, 52, 14, 53,193,
+209,209,241,156,169,169,105, 75, 67,207,111,192,228,165,235, 44, 45, 45, 87,187,187,187,123,108,218,180,137,199,225,112,208,175,
+ 95,191,182,142,142,142,169, 0,224,229,229,229, 92,153,199,204,156, 57,147,220,186,117, 43,174,162,142, 81, 59, 4, 2, 65,162,
+133,133, 69,231,192,192, 64, 20, 23, 23, 35, 61, 61, 29, 18,137, 4,158, 27, 54, 32,118,230, 76,248,236,218, 5,186,111, 95, 80,
+ 20, 5,129, 64,128,216,216, 88,136,197,226, 68,133,162,214, 41,223,186, 2,248, 14, 64, 15,188,106, 46, 36, 0,110,160, 98,218,
+133,219, 53,228,119, 52, 0, 48, 44, 91, 95, 98,141, 95,188,120, 49,138,120, 60, 96,200, 16,240,159, 61,131, 90,173, 70,183,110,
+221,244, 46,123,183,110,221,192,229,114,225,237,237, 13,103,103,103,236,216,177, 99,124, 93, 66, 75, 81,170, 70,234,179, 12,248,
+251,251,235,157,171, 33, 67,134,232, 29, 45, 30,143,167,119,182, 40,166,126,225, 74, 81, 20,169, 90, 73,102, 24,134,226,114,185,
+220, 5, 11, 22, 80, 35, 71,142, 36, 42,149,138, 21, 8, 4,244,177, 99,199,168,107,215,174,113,203,202,202,234,173,136,183, 31,
+ 62, 26, 95, 13, 24, 92,241,238,183,180, 3,143,207,131,128,207,199,226,196, 12,125,186,152,239, 59, 44, 8, 13, 13, 29,229,238,
+238, 94,209, 12, 15,112,141,243,104, 25, 81,143,209,147, 91, 77, 36,169,170,236,231, 2,160,116,251,185, 85, 4, 85, 46, 69, 81,
+119, 9, 33, 93,170,157, 91,121, 92, 85,109, 91,121,252, 97, 35,130, 95,185,214,225, 27,226,171,174, 26,113,242,205,155, 55,221,
+124,125,125,145,150,150,246,198, 72,184,202,130, 75, 34,145, 64, 44, 22, 35, 42, 42, 10, 0,146,107, 35,187,118,237,218, 54, 84,
+204,186, 92, 17, 34, 39, 39,255,192, 49,125,162,252, 6,117,193,175, 33,135,138,165, 82,169, 55, 94,205,161, 67, 57, 59, 59, 79,
+228, 9,184, 99, 93,219, 55, 15, 0,203,126,119,229,244,141, 85,117,221,161,107, 91,175, 82, 0,242,202, 81,135,141, 28,125, 8,
+154,166, 71, 15, 27, 54,140,126,244,232, 17,198,142, 29,139,131, 7, 15,214,122,238,196,137, 19,113,248,240, 97, 12, 27, 54,140,
+ 94,186,116,105,173,211, 59,188,238,150,168,222,217, 67,153,244,228, 33, 14, 28,254,169,214, 62, 72,246,246, 21,253,177,114,114,
+242,244,191,117,241,173,187,101,132,213,170, 46, 69,223,187,227,223,189,119, 63,126,122,118, 17, 88,173, 18, 10,217,171,235,203,
+139,178, 65,180, 10,240, 77,172,225,104,107,129,251, 55, 47,170,212, 42,197,165,186, 56,231, 14,243,194,204,161, 30, 0, 97, 49,
+124,209,207, 8,223, 62, 71, 95,131,238, 57,114, 30,174, 28,221, 98,112, 31,191,234,224,241,120,136,141,141,149,215,230,102,113,
+ 56, 28, 67,230,228,210,185,142, 26,148,151,203, 81, 46, 87,188,203,188,195,206,193,193,225, 7, 43, 43, 43, 81, 45, 66,202,206,
+206,206,238, 7, 27, 27, 27,145,161, 77,135,181,137, 44,221,188, 90,247,166, 76,153,210, 32,177, 37, 20, 10, 91, 38, 39, 39,235,
+ 39, 43,173,107,171, 82,169, 16, 24, 24,104,232,228,165,167, 1, 60,119,114,114,186,225,233,233,105,241,244,233, 83, 28, 58,116,
+136,207,227,241,154, 87,230, 31, 50,153, 12, 28, 14, 7, 57, 57, 57, 26, 0,159,160,158,166, 51,165, 82, 25, 17, 17, 17,209,113,
+232,208,161,156,196,196, 68,112, 56,156,138,112,249,251,195,103,215, 46,196, 45, 88,128,128, 23, 47,160, 80,171, 33, 18,137,112,
+225,194, 5,117,121,121,121, 68,109,124, 98,177,120, 79, 74, 74,138,151, 72, 36,130, 90,173, 6,203,178,160,105,154,226,114,185,
+ 61, 45, 45, 45,183, 2,232, 82, 45,177,236,125,186, 4,182, 99,180, 90, 70,154,246, 52,183,190, 8,200,207,207,199,233,211,167,
+209,173, 91, 55, 4, 4, 4, 32, 51, 51, 19,207,158, 61,195,251,239,191,175, 63,231,225,195,135,136,142,142, 70,235,214,173,235,
+119,244,104, 13, 90,183,107, 9, 62,159, 95,225, 16,241,248,186,138, 15, 79,239,100,241,121,124,240,184, 60,136,196, 34,131, 29,
+ 45,138,162, 64,211, 52, 40,138,130, 88, 44,174,172,100,179, 77,155, 54,149, 22, 20, 20, 56, 1,224,136,197, 98, 48, 12, 99, 80,
+165,165,178,140,168, 20, 89,124, 1, 95,239,108, 1, 64, 81, 81,145, 98,216,176, 97,255, 85, 42,149, 31,163,113, 43,148, 24,241,
+ 47, 3, 69, 81,119,255, 47,174,109, 0,134,232,132,213, 27,157,226,235,122,192,223,239,222,189,251,174,113,227,198,245,219,188,
+121, 51, 76, 77, 77, 33,149, 74,245, 5,162, 64, 32, 64,179,102,205, 80, 80, 80,128,221,187,119, 35, 35, 35,227, 42,128,233,134,
+134, 72, 42,149,222,122,242, 32, 57, 63,112, 84,119, 27,175,238,237, 44,211,147, 51,186, 73,165,210, 40,157,200,250,121,220,194,
+247, 63, 14, 28,225, 7,190,128,135,244, 39, 89,184,114,250,198,255,151,196,228,112, 56, 28,138,162, 48,118,236, 88,131,206,255,
+232,163,143, 16, 17, 17,129,186,154, 25,217, 74, 71,171, 92,129, 50,249,187,171,172,205,154, 51, 17,179,230, 76,212,139, 9, 67,
+154, 94, 0,192,217,249, 72, 29, 66, 75,189, 57,252,200,238,105,157,252,252, 93, 58,123,181,196,237,123, 15,240,235,174, 87, 38,
+195,222,109,107,240,237,222,171,104,230, 96, 5,181,178, 12,231,126,251, 49, 75,173, 44,223,220, 72, 83,174, 66,220, 82, 20, 8,
+ 97, 27,116,239,149,226,137,199,227,161,125,251,246,181, 58, 90, 5, 5, 5,242,250, 10, 6,125, 26,169, 52, 40, 45,147, 67, 94,
+254,206,132,150, 79,207,158, 61, 47,133,133,133,217,216,219,219,227,229,203,151,213,133,150, 79,143, 30, 61, 46,133,133,133,217,
+ 56, 56, 56, 32, 61, 61,221,224,105, 69,106, 16, 89,200,205,205,165, 10, 11, 11, 89, 43, 43,171, 6,137, 45,154,166,161, 84, 42,
+145,144,144, 96,232,223, 26, 60, 66,204,194,194, 98,223,225,195,135, 45,242,242,242,192,225,112,144,144,144,240,218,168,195,202,
+207,207, 63,255,204, 31, 62,124,248, 79, 69, 69, 69,117, 14,107,211,106,181, 27, 39, 78,156, 56, 53, 51, 51,211,202,222,222, 30,
+ 82,169, 20, 2,129, 0,132, 16, 80,129,129,232,245,252, 57,212, 12, 3,177, 88,140,164,164, 36,236,217,179,167, 76, 55, 85, 76,
+141, 6, 25, 69, 81,110,124, 62, 31, 19, 38, 76,120,237,192,254,253,251,241, 65,103, 78,103, 59, 11,110,169, 22, 34,101,182,120,
+240, 57, 14,135, 67,249,116,237,219,182,107,239, 33,237, 31,199,221,126,154,155,157, 81, 95,166,164, 81,169, 84,112,119,119,199,
+221,187,119,113,249,242,101,244,237,219, 23, 1, 1, 1,136,137,137,193,197,139, 23, 17, 29, 29, 13,138,162, 96, 99, 99, 83,217,
+253,162,206, 62, 24,170,114, 45,114, 94,230,191,225, 94, 85,223,231,243,249, 80,202,213, 6,165, 81, 98, 98, 34,238,222,189,171,
+159, 90,134,195,225,104, 39, 77,154, 4, 66, 8, 73, 73, 73,129,153,153, 25,153, 50,101, 10,195,229,114,181,153,153,134,245, 15,
+174, 20, 85,149, 34,139,203,231,189, 38,208, 88,150,149,197,196,196, 76, 3, 16,163,115,178, 0,227, 60, 90, 70,252,111,227, 12,
+222, 92, 88,186, 94, 71,235, 57,128,254,135, 14, 29, 26,127,242,228,201,141, 91,183,110,181, 11, 10, 10, 66, 97, 97, 33, 92, 92,
+ 92,224,228,228,132,240,240,112,156, 61,123, 54,143, 97,152, 69, 0,106,178,126,250,163,142, 57,107, 50,159, 74,195,148,165,165,
+ 51,125, 3, 60,112,245,232,245, 16, 71, 71,199,233, 28, 14,103,254,148,101, 31,126,220,103, 88, 23, 36, 69,167,224,214,197, 88,
+100,167,229,213,203, 89,189, 51,188,165,165,229, 84, 19, 19, 19, 1, 0,117, 13,181,226,234,163, 14,245,156, 12,195, 48, 42,149,
+ 10, 71,142, 28, 49, 72,108, 29, 58,116, 8, 10,133, 2,204,155,237,171,122, 78,194, 18,138,203, 19,194,185,153, 59,212,234, 50,
+176,108,163, 7, 84,234, 57, 43,107,160, 79, 5, 2,216,231,229,225,246,237,219,134, 73,238, 33, 67,234, 75, 35,133, 74, 33,155,
+176,101,237,226,240,217,193,223, 89,246,237,222, 17, 95,109,216, 15,181,122, 47,104, 14, 13,177,144, 15, 95,191, 30,224, 64,137,
+ 31, 66, 63, 47, 42, 47, 41,156,128, 55,151,226,121,141,147,212,213,194, 66, 0,134,101,113, 57,242,142,193,247,174, 47,237, 25,
+ 6, 92, 46, 23, 79,158, 60,145,215, 52,218,144,195,169,104,230,172,172,169,215,197, 73, 88,150,226,241, 69,104,230,226, 9,149,
+178,244,157,164,145,189,189,253,231, 39, 78,156,176,169,156, 42, 33, 38, 38, 6, 20, 69, 37,188,114, 28, 43,142,203,229,114,196,
+197,197, 33, 38, 38, 6,168, 24,225,102,240,123, 84,233,100,229,230,230, 82, 82,169, 20, 38, 38, 38,116, 76, 76,140,210,219,219,
+251, 94, 61,239,183,158, 83,161, 80,188,168,173,255,164, 66,161,104, 34, 18,137,120,213, 10, 81,231, 54,109,218, 36,213,208,132,
+248, 70, 56,139,139,139,111, 47, 89,178,196,119,208,160, 65,248,252,243,207, 11,172,172,172,204,126,248,225, 7, 46,135,195,161,
+102,207,158,205,228,228,228,148,254,248,227,143, 22, 39, 79,158, 68, 81, 81, 81,148, 1,247, 46, 83, 40, 20,211,186,119,239,190,
+255,252,249,243, 38,110,110,110, 40, 41, 41, 1, 33, 4,251,246,237,195,236,217,179, 33, 18,137,144,148,148,132, 15, 62,248,160,
+188,188,188,124, 26,222,236, 59, 89,201, 73, 81, 20, 69, 88,150,197,138, 21, 43,244,147,147, 86, 78, 86,106, 38,166,176,103, 97,
+ 43,201,188, 31,139, 37,227,191,250,113, 18, 0, 48, 90, 45,243, 56,238,246,211,125,219,191,186,198,231,243, 35,235, 73,163,229,
+243,230,205,251, 97,200,144, 33, 98, 83, 83, 83, 20, 20, 20,224,198,141, 27,184,121,243, 38,110,221,186, 5,149, 74, 5, 27, 27,
+ 27, 88, 89, 89, 65, 42,149, 34, 49, 49, 81, 14, 96,121, 93,156, 2, 19, 30, 92,219, 86,142,252,173,112,176,120, 85, 70, 27, 86,
+117,183,248, 60,158, 65,239, 81,239,222,189,209,181,107,215, 74, 1,196,164,166,166, 74,149, 74, 37, 85, 69,244,103, 86, 10,242,
+230,205,155,107, 15, 30, 60, 72,234,226,188,181,103, 7,206,127,189, 28, 2, 62, 31,139, 18,210,245,162,107,127,223, 78,224, 9,
+248,240, 24, 58,178,234,181, 59, 81,209, 92,136,106, 34,171,174,178,227,173,223, 77, 35,231,223,150,243,127, 25, 82, 52, 98, 9,
+158, 74,252,170, 80, 40,206,125,246,217,103,161, 62, 62, 62,159,109,218,180,137,226,243,249, 88,181,106, 21,121,249,242,229, 47,
+186, 90, 72, 97, 99, 66, 69, 8,249,229,143,227, 81, 51, 38, 7, 15,163, 22,110,158,210,243,222,149,184,196, 14,221,221,208,161,
+187, 27,238, 93,125,132,237,203, 14, 29,100, 52,204,138,172,172,172,180,122,168,148,253,123,180,171,222, 25,222, 38,226,218, 21,
+155,134,142, 58,100, 89, 54,236,208,161, 67,115, 71,140, 24, 65,223,185,115,231,141, 62, 89,149,203,238,176, 44,139, 75,151, 46,
+ 65,173, 86,227,151, 95,126, 97, 89,150,173,125, 30, 45,144, 83, 91, 54,135, 78,254,229,192, 41,129,128, 79,225,102,228, 49, 20,
+ 23,214, 61,170,139,207,231,225,231,125,199,213,124, 62,239,113, 77,199,213,106,117,250,149, 43, 87, 28, 6, 50, 12,143,166,233,
+154, 4, 84,141, 8, 11, 11,211,176, 44,155, 90,207,105, 81,217, 25,105, 67,191,249,252,147, 67, 67,198,124,230,208,189,123, 79,
+158,173,189, 3, 40,138, 66, 78,118, 14,146,226,238,104,206, 29,251, 41,187,172,220,176, 37,120, 62,249,254, 15,125,159, 44, 0,
+ 8,154,189, 85,223, 63, 11, 0,134, 78, 89,130,192,110, 94,160, 12,177,158, 94,137, 44, 86,171,213, 66, 34,145, 64,171,213,214,
+ 56,197,131,133,133,133, 88,161, 80,200,117, 19, 49,214,105, 21, 17,224,157,167, 17,195, 48, 30,133,133,133, 40, 43, 43,195,205,
+155, 55,201,218,181,107,115,115,115,115,245,157, 54, 53, 26,141, 71, 65, 65, 1, 74, 75, 75, 17, 21, 21, 69, 66, 67, 67,115,243,
+243,243,151, 53,228, 29, 18,139,197,157,185, 92,238,189,194,194, 66,214,196,196,132,214,104, 52, 26,111,111,111,161, 88, 44, 54,
+120, 65,117,169, 84, 58,168,182, 99,174,174,174,201,201,201,201,109, 24,134,169,186, 6, 34, 95,161, 80,184,117,239,222,221,144,
+252, 99,222,222,189,123,113,252,248,113,191,146,146,146,137,169,169,169,251, 1,248,113,185, 92, 60,120,240, 32, 65,161, 80,140,
+ 27, 49, 98,196,190,194,194,194,219,168, 88,130,199, 16,156, 79, 74, 74,154,224,225,225,177,119,245,234,213,166, 1, 1, 1, 92,
+103,103,103,116,233,210, 5, 73, 73, 73, 56,115,230,140,102,231,206,157,101,229,229,229,159, 0,184, 84,119,178,131,210,106,181,
+ 16, 8, 4,250,143, 80, 40, 4,159,207,135, 76, 78,240,233,134,103,114, 45,196,242,141,171,166,157, 33, 0,149,149,254, 44, 47,
+ 39, 43,253, 54, 69, 81,145, 82,169,180,184,150, 56, 19, 40, 20,138,142,132, 16, 14, 69, 81,155,213,106,245,148, 57,115,230, 56,
+173, 91,183, 14,237,218,181, 67, 94, 94, 30, 36, 18, 9,220,220,220,144,155,155,139, 59,119,238, 48,229,229,229,187, 0,172,129,
+174,255, 72,109, 40,202, 43, 65, 83,199,230,175, 57,159,132, 16, 16, 6,208, 40, 25, 48,106, 2, 21,165, 1,143,167, 1,159,207,
+ 55,196,121, 34, 44,203,162,208,201, 9,108, 92, 28,110,221,186, 5, 66, 72,173,174,154,187,187,187, 1, 25, 59, 11,129, 80,240,
+ 90,115, 33, 69, 81,224, 11, 4,224, 9,248, 53,141,156, 49,186, 88, 70,252,163, 97,104,219,120, 17,128,233, 15, 31, 62,220,223,
+167, 79,159,112, 66, 8, 15, 21,237,145,215,223,230,207,179,178,178,238, 71,157,185,191,212,161,169, 85,232,224,137, 61,209,174,
+163, 11, 24, 45,131, 27,103, 31,224,151,117, 39, 15,103,166,103, 78,129, 1,107,159,177, 44,123,173, 71,231,118, 52,170,204,213,
+237,236,236,204, 54,102,212, 97,113,113,241,202, 69,139, 22,225,243,207, 63,111,204,168,195, 26, 17,155,152, 59,157, 2,105, 58,
+116,112,175,129,160,104,162, 82, 41,235,200,248,160,159,185,148,207,231, 61,190, 27, 35,245,174,233,188,220,220,220,129, 31,127,
+252,241, 37, 46,151,219,178, 33,113,206,178,108,106,118,118,118,191,250,207,212,222, 80,202, 75,220, 78, 31,222,189,224,252,241,
+189, 3, 89,150,105, 77, 1,224,112,249, 79, 53,106,245, 5,165,188,100, 19, 12, 92, 84,122,253,116,127,204,219,114, 17, 59, 62,
+ 31,138, 57,161, 71,241,211,138, 79,177,116,195, 33,124,247,249, 60,172,221,250, 95,124, 53,111, 2, 70,141,255,152, 37, 20,253,
+167,161,247,193,225,112,206,239,222,189,123,242,167,159,126,170, 31,180, 64, 8,121, 45, 99,215,104, 52,114,150,101,177,107,215,
+ 46, 22,192,249,186,248, 94, 79, 35,138,212,213, 95,202,208, 52, 42, 41, 41,249,196,223,223,127, 31, 0, 33, 33,228, 73, 97, 97,
+225,127,128, 87, 75, 67,149,150,150,126,210,189,123,247,125,132, 16, 33, 69, 81,111, 28, 55, 4,186,169, 30, 58, 91, 89, 89,221,
+211, 57, 89,194,198,116,136,175, 43,170,235,104, 86, 52,164, 9,145, 5, 48,167,202,140,239,235,252,252,252,170, 46, 42,157, 80,
+ 88, 88,216,185, 17,225,186, 36,151,203,189, 86,172, 88,177, 64, 36, 18, 5,150,151,151,183, 5, 0,137, 68,146,164, 84, 42,175,
+201,229,242, 77,168,127,110, 42, 21,203,178, 73, 90,173,182,189,157,157, 93,197,136, 90,157,216, 2,128,223,239, 49,247, 0,166,
+ 75,133, 41,254,171,193, 1, 59,123,246,108, 11, 43, 43,171,247, 40,138, 26, 69, 8,113,151,201,100,202, 21, 43, 86, 68,133,133,
+133, 21,183,108,217,114,240,144, 33, 67, 40,107,107,107,220,189,123,151,228,231,231, 31, 3,176, 12, 6,140,180,102, 89, 54,117,
+253,250,245,104,232,251, 94,215,113,181, 90,157,117,246,236, 89,219, 65, 57, 57, 92,150,101, 49,116,232,208,215, 4, 92,117, 60,
+126,252, 24, 74,165,178,206,201, 28,149,197,133,232,187, 96, 9,160, 27,253, 89,137, 10, 39,139,128,168,140,186,202,136,127, 23,
+254,234, 5, 61, 13,178, 22,157,156,156,198,138, 36,194, 89, 46,109,157,188, 95, 62,203,121, 36, 43, 46, 63, 40,149, 74,119,215,
+146,145, 27,196,217,192, 9, 75,141,246,239, 95,196,249,106, 30, 45, 6,132, 48, 32, 44, 1, 33, 44, 88,150,169, 88,240,154,176,
+ 32, 12, 67, 81, 20,254, 84,201,235,156, 25,188,122, 56,173,108,109,109,215, 16, 66, 6,113, 56, 28,186,170, 25, 86,245,187,206,
+201, 58,159,155,155,251, 85, 13,206,235,255, 92,124,134,133,133,213, 40,254, 13, 29,117, 56,122,244,104,166,129,239,230, 53,137,
+ 68,226, 84,211,177,178,178,178, 52,169, 84,250,222,223, 36, 62,171,142, 24,108, 8,103,131, 71, 29,214,199,233,226,226, 34, 84,
+171,213,157, 0,184, 81, 20,101, 9,160, 64,173, 86, 95,200,203,203,203, 6,208, 25,192, 10,221, 53, 95, 3,184,247,127,252,190,
+139,109,109,109,247,210, 52,221,212,144,139,181, 90,173,170,160,160, 96,114,181, 10,129,158,211,198,198,230, 30,151,203,109,106,
+ 0, 79, 70,126,126,126,103, 99,254,105,228,252, 7,161,122, 39,248,105,132,144, 61,255, 63,254,184,191,145,211,200,105,228, 52,
+114, 26, 57,141,156, 70, 78, 35,231,191, 64,104,161,154,208, 2, 33,196, 56,172,214, 8, 35,140, 48,194, 8, 35,140, 48,226, 45,
+113,166,154,216, 58, 83,249,133,170, 67,149, 54,196, 18,108,140,178,189,108,228, 52,114, 26, 57,141,156, 70, 78, 35,167,145,243,
+ 95,199,249,175,192, 95,178, 50,197, 59, 74, 32, 35,167,145,211,200,105,228, 52,114, 26, 57,141,156,255, 62,206,255,101,212,218,
+116, 72, 27,227,198, 8, 35,140, 48,194, 8, 35,140, 48,226,175,129,193, 66, 75,226,224,238, 97,235,226,189,207,170,105,135, 24,
+171,166, 29, 98,108, 93,188,247, 73, 28,220, 61,254,165,241, 38, 6, 48,158,203,229, 94,114,116,116, 44, 65, 45, 75,239,252, 3,
+ 96, 14, 96, 20, 42,230,247, 25, 14,192,228, 93,146, 7, 0,220,177,192,172, 73, 64,218, 36, 32,109, 44, 48, 43,224, 31,184, 28,
+199,170,185, 78,254,145,231,198,159, 91, 53,215,201,191,198,227,139,156,108,110, 93, 28,189,101,221, 44,103,235,119,244,151,102,
+246,246,246,123, 28, 28, 28, 94,216,219,219,167,218,219,219,239, 5, 96, 97,204,238,140, 48,194, 8, 35,254, 50, 84,246,209,170,
+252,232,251,104,113, 1, 32, 60, 60, 60, 0,192, 31, 0,250, 4, 5, 5, 69, 84,191,218,170,121,251, 79, 91,183,106,253,249, 55,
+171,150, 81,142,246,182, 38, 90,134, 85,167,188, 72,247, 92,249, 77,232,111, 47, 5,220,141,133,105,113, 63, 53, 34, 80, 20,135,
+195, 25, 43, 20, 10,131, 0, 84, 10,182, 4,165, 82, 25,206, 48,204, 17, 24, 54, 76, 27, 14, 14, 14,145, 28, 14,167, 69, 67,254,
+152, 97,152,180,236,236,236,158,141,140,204,209,205,155, 55,223, 27, 16, 16, 96,226,231,231, 7,129, 64,128, 21, 43, 86, 44,146,
+ 74,165,155, 12, 37,176,178,114, 53, 83, 11, 69,243,185, 2,193, 0,162, 81,181, 39, 32, 0, 45,140, 99,181,202, 43,124,165,114,
+ 99, 97,225, 51,153,129, 84,203, 55,111,183,181, 0, 0, 32, 0, 73, 68, 65, 84, 0, 76,209,197,213, 79, 0,214,191,205, 83, 50,
+185, 35, 52, 26,166,226,153,224,115,193,156,122,110,241,199,242,229,203,185, 65, 65, 65,248,233,167,159,122,238,217,179,103,154,
+ 76, 38,187, 2,224,119, 0, 79,223,246,169,116, 0,166,119,239,217,115,203,228, 69,139, 56,242,200, 72,108,217,187,119, 51, 42,
+230, 91,218,209,208,103,137,207,199, 40, 91, 91, 94, 16, 33,232, 68, 1, 20, 5, 60,200,205,103,207,170,213,204, 17, 24, 48, 23,
+ 91, 29, 24,143,215,135,227,255,218, 80,130,226,167,228, 75,225, 80,143, 94,197, 79,175,125, 9, 96,112,245,227, 90,133,104, 50,
+225, 52, 11,146,147,232,116, 0, 27,222, 50, 90, 77,236,236,236, 98, 78,157, 58,213,212,207,207,143, 11, 0,247,238,221,155, 20,
+ 20, 20,212, 55, 55, 55,183, 61,128,146,255,163, 76, 72,196,165,233, 89, 2, 30,111, 0,195, 48, 29, 0,128,195,225,196,170, 52,
+154, 75, 90,150,221, 1, 3,231,100, 51,194, 8, 35,254,185,168, 79,139,252,205, 81,235,204,240,149, 55, 71,170,110,171, 66, 98,
+223,206,179, 91,191,145,143,139,101,229,138, 23, 47, 50, 11, 23,206, 90,123,105,218,188,239, 79,110,248, 49,252,108,196,237,132,
+ 91, 30,126,239, 61,146,216,183,243,172,133,186,182, 54,220,230, 98,177,248,254,206,157, 59,213, 73, 73, 73,164,168,168,136, 60,
+126,252,152, 28, 59,118,140,204,152, 49, 67, 33, 22,139,239, 3,104,110, 8,167,131,131, 67,246,227,171, 23, 73, 70, 76, 52, 73,
+189,119,155,104, 52, 26,162, 86,171,137, 90,173, 38,143,206,135,147,152,223,143,147, 7,199,142, 16,149, 74, 69, 84, 42, 21, 81,
+ 42,149,164, 85,171, 86, 47, 13, 12,103,117, 56,123,121,121,169,194,195,195,201,111,191,253, 70, 22, 45, 90, 68,124,124,124, 24,
+ 0,179, 13,189,119,137,189, 91,160, 89, 19,239,220, 79,131,119,168,207, 68, 93, 32,241,207, 31,144,248,231,201, 36,236,114, 2,
+153,178,120,171,218,172,137, 79,174,196,222, 45,176,190,123,183,178,178,234, 70, 81, 20,169, 4, 0,210,162, 69,139,210,170,159,
+230,205,155,191,246,105,214,172, 89,105,203,150, 45,159,218,216,216,116,170,137,115, 92, 7, 16,242,232, 87, 66, 30,253, 74,150,
+247, 6,137,143,143,191, 69, 8,249,163,242, 35,151,203,255, 56,113,226,196, 31, 31,126,248,225, 31, 0, 62,168, 35,158, 12,138,
+207, 73, 64,154,236,212, 41, 66, 54,109, 34, 36, 32,128, 36, 0,100, 18,144,214, 64,206, 86,142,142,188, 7,223,175,159,166, 58,
+117,234, 23,114,238,220, 25,114,246,108, 56, 57,121, 98, 47,217,188,105,150,218,193,129, 23, 7,160, 77, 3, 56,185, 0,214, 2,
+216,136, 10,231, 50, 41, 55, 55,151,100,101,101, 17, 0, 73,186,223, 54,218,217,217,109, 64,205,238, 91,255,170, 78,214,130, 65,
+142,231,198, 12,238, 73,100,197, 47,201,152,193, 61,201,130, 65,142,175, 57, 91,131, 92, 93,205,230, 12,237,144, 27,127,239, 32,
+ 51,103,104,135,220, 65,174,174,102,141,140, 79, 10, 21,235,132,238,188,122,245,170,150, 84,129, 70,163, 33,251,247,239,103,172,
+172,172,126,105, 0,103, 91, 59, 59,187, 84,107,107,235,164,170, 63,218,121, 15,239,238,222,107,210, 74, 27,207, 15, 3, 26, 16,
+ 78, 63, 17,159,159,113,233,232, 15, 76,126, 90, 44, 81,201,179, 73,241,147,104,146,145,112,139,236,223,189, 81, 35,224,114, 51,
+ 0,248,189,205,179,212, 64, 24, 57,141,156, 70,206,191, 33,103, 93, 90,228,127, 17,111, 76,239, 80,219,141, 9,133,130,224,149,
+203,151, 80, 69,249, 69,114, 69,137, 76,165, 81, 40, 20, 52,159, 40, 98, 31, 61,207,161,185,156,162, 5,243,230,154, 5, 47, 93,
+ 30, 92, 6, 76, 48,240,191,155,251,248,248,220, 57,126,252,184,189,181,181, 53,138,139,139,145,159,159,143, 59,119,238,128, 16,
+130, 17, 35, 70, 8,187,118,233,210,233,203, 21, 43,110,102,100,102,250,163,246,130,247,149,120,177,182,197,250,158, 21,107,209,
+126,245, 34,191,162,212,161, 40,236, 25, 29,164, 63,103, 77, 70,197,106, 25, 34,145, 72,191, 32,113, 35,224,223,175, 95, 63, 62,
+ 0, 76,157, 58,181, 68, 38,147,133,232, 28, 14,131, 86, 90,149,216,187, 5,218, 58, 57,135,255,176,107,189,184, 67,107, 55,168,
+ 53, 90,164,102,189, 4,151,103,137,166, 77,249,248,120,194, 0, 94,239,238,214,182,107,191,222,115, 38,139,197,240,242,188,228,
+ 11,181,113, 89, 90, 90,238, 63,114,228, 8,142, 30, 61, 10, 0, 72, 74, 74,130,155,155,155,164,190, 48,196,197,197,185,126,240,
+193, 7,135,243,243,243,219,212,119,110,245,137,241,133, 66, 33,122,246,236, 9, 79, 79, 79,156, 58,117,170,143,206,217,122, 43,
+200, 35, 35, 97,250,240, 33, 16,209,168,202, 75, 43, 95, 95,151, 91,103,207, 28,180, 61,115, 54, 1, 27, 54,236,197,211,167, 21,
+ 70,155,171,171, 43,198,143, 27,205,139,141,141,242, 26, 53,106,124,212,245,235, 79,123,234,132, 82,125, 88,253,227,143, 63, 46,
+107,217,178, 37, 70,141, 26, 53,218,203,203,203,209,220,220, 28,187,119,239,134,147,147,147,171, 74,165,122,114,234,212, 41,231,
+172,172, 44,204,157, 59, 23,217,217,217,139,106, 35,234, 51,176,207,151,194,161, 30,189,218,249, 78,134,169,185, 19,126, 60,116,
+ 4,143,239,239,239,165, 84, 39,124,201,103, 34, 38,202,137,112, 74,110,154,105,112,139,206, 1, 54,109,188, 62,128,139,111,180,
+173,130,185,254,252,203, 1,173, 66,185, 34,197,254, 85, 27,164,249,111,144,142, 10,227,180, 47, 73,180,142,187,132,124, 96, 21,
+ 91, 41,176,244,110, 45,193, 7,189,123,247,214, 39,220,139, 23, 47,160, 84, 42,225,225,225, 65,171, 84,170, 64, 3,227,181,237,
+123,239,189,247,231,217,179,103,109,218,182,109,155, 91, 80, 80,160, 63,224,104, 99, 57, 48,226,248,230,185,107,183,252,215,253,
+ 0,161,138,114, 19, 78,198,214,195,229,215,163,155,239,229,115,199, 15,154, 82,165,233, 16, 88,230, 1,108, 62,158, 29,254, 25,
+148,137, 53,198,206, 88,200, 13,236,215,183,201,128,193, 35, 47, 63, 78,126,218, 15,192, 93, 99,189,222, 8, 35,254,213,174, 22,
+249,167,221,147, 94,104, 5, 5, 5, 81, 53,221, 32, 75, 88,111, 7,123, 27,241,230,239,247,221,229,168, 85, 42,137,165,133,138,
+103, 97,206, 82,102, 22, 28,181, 74, 83,234,226,234, 34, 96, 9,235, 93, 11,127,245, 33,158,148, 88, 44, 62,254,251,239,191,219,
+243,120, 60,176, 44, 11, 59, 59, 59,164,164,164,160,168,168, 8, 50,153, 12, 79, 19, 18,208,178,121, 51,172, 10, 94,226, 52,119,
+ 73,240,241,242,242,242,206,120,189, 25,241,141, 97,163,140,230,245,117,163, 43,151, 96,121,163,202,175,251,173,134, 99,134, 14,
+ 69, 77, 73, 75, 75,131,169,169, 41,218,183,111,111,122,227,198,141,235,117,136,172,215, 56,173,172, 92,205, 88,161,224,232,206,
+ 31, 86,136,213,154, 56, 60,122, 86,128,118, 45,123,193,193,166, 57, 94, 22,168,112,235,206,239,136,139,249, 21,173,155, 52,199,
+236, 25,125, 69,161,235,127, 59,194,215,182,108, 94, 84,148, 82, 82, 19,103, 73, 73,137,105,171, 86,173,208,188,121,197,186,103,
+ 12,195,224,209,163, 71, 96, 24, 70,191, 95,117,187,239,216, 85,104, 75, 82, 49,121,210, 36,228,231,231,155,214,196,201,227, 64,
+187,112,218,120,174,152, 7, 8, 36,214,170,210,210, 82,253,240, 84,181, 90,141, 7, 15, 30,192,223,223, 63, 32, 44, 44,172, 62,
+ 85,100, 80,124,170,129,239,182,252,242,203,214, 9,197,197, 52, 0,252, 68, 81,172,154,144,239, 12,125,150,236,237,121,199,206,
+159, 59, 96,203,161, 19, 97,109,241, 45,238,220, 73,133, 90, 93, 17,222,252,252, 28,204,153, 85, 2, 62,207, 12,167, 78,253,215,
+198,195,163,231,177,172, 44,117,123,188,222,140, 88, 83, 56, 69,231,206,157,195,156, 57,115,240,232,209, 35,103, 14,135,131,219,
+183,111, 67, 44, 22,227,251,239,191,231,120,120,120, 56, 75, 36, 18,156, 63,127, 30,217,217,217, 84, 93,225,252,227,194, 31,223,
+ 20, 63,189,246,101, 22,117,126,208,143,135,142,224,179,113, 99,225, 72,158, 93,183,104, 77,125,243,222,208, 30, 95, 17, 78,179,
+ 32,137,153,183,149, 91,251,161,224, 11, 76, 49,251,139, 53, 72,138, 59,109, 85, 46,139,153, 69, 49,233,205, 86,109, 8,155,247,
+ 70, 56,127, 27,205, 76,253,245,134,239,165,230,119, 93, 30, 62,152,118, 91, 26,189, 39,230,149,208,114,229, 82, 52, 99, 81, 89,
+147,122,242,228, 9,158, 62,125, 10, 46,151, 11,185, 92, 14,173, 86, 91, 99, 56,157,157,157,167,107,181,218,175,116,233,188, 79,
+ 36, 18,125,114,240,224, 65,155,170, 66,219,206,123,120,119, 27, 51, 73,191,236,156,252,194,168,187,241,143, 23, 78, 31,213, 39,
+242, 86, 92,186,154,247, 97, 90,113,204,169,226, 90,226, 83, 36, 22, 8,142,157, 63,241, 95, 83,205,243,171,144,120,244, 1,207,
+212, 13,140, 38, 19,229,133,101,144, 61,149, 66,249,195,118,116,156,181, 0,167, 79,254,102,234,213,161,115,152, 82,163,113, 3,
+160,106,196,187,217, 16, 24, 57,141,156, 70,206,191, 39,103,173, 90,132, 16,226, 11,192, 65,183,155,175,211, 5,182, 0,242, 80,
+177,138,140,131, 46,239, 16, 84,185,172,250,126,213,115,171,239, 87,253,158,175,251,110,175,219,222,165, 40,170,160,158,160, 59,
+161, 98,105,194, 51,186, 45,160,107, 74,172,183,227, 49, 69,209, 37, 12,195, 10,249,118,246,138,169, 99,250,117,184,120,249,222,
+ 3, 19, 91,115,238,192, 62,157, 2,238,196, 62,191, 73,209,148,134,162,104,131,250,125,112, 56,156,177,155, 55,111,238, 96,110,
+110, 14,150,101, 97, 97, 97,129,220,220, 92,168, 84, 42, 20, 23, 23, 67, 41, 43,129, 90, 86,130,135,233, 47,208, 35,160, 15, 70,
+ 14,122,207,227,191, 39,127, 31,203, 48,204,225,186,120,157,189, 59,233,157,172, 53, 45,108, 94, 89, 19,233, 69,122,209,245,109,
+ 39, 55,240, 77, 77, 49, 96, 97,240,219, 60, 3,209,103,206,156, 57, 55, 98,196,136,193,139, 23, 47,166,165, 82,233,249,148,148,
+148, 30, 0, 30,213, 43, 42,132,162,249, 51,231, 7, 89, 89,153, 18,132, 93,250, 29,189, 59,141,131,137,128,131,252, 18, 53, 40,
+ 10, 72,136, 63, 14,138,178, 70, 76,146, 20,189, 58,154,227,189,129, 30,166, 39,127, 75, 88,140, 87,253,131,222, 72,154,194,194,
+ 66,228,228,228, 64,163,209, 64,163,209, 96,212,232,209, 56,176,127, 63,202,202,202, 32,151,203,161, 82,169,192, 48, 12,104,154,
+198,165,240, 48,164, 63, 79, 64,119,127,127,160,150,165,151,246, 63, 0, 15,192,173,199,143, 31, 35, 33, 33, 1, 25, 25, 25, 16,
+137, 68,112,116,116,196,154, 53,107,160, 84, 86,172, 81, 54,122,244,232, 0, 0,177,111,251, 66, 61, 5,246,164, 48,204,151,131,
+ 79,156,176,191,113,226, 4,123,235,244,233, 12,161, 76,182,219,144,107,249,124,140, 90,255,221,140,118, 18,137, 4, 25,105,155,
+225,238,206,199,162, 5, 54, 8,249, 54, 15, 0, 48,119, 78, 83,116,233,108,139,146,162,223, 96,107,191, 12, 91,183,206,107, 61,
+101,202,198, 73,229,229,204,190,122,168,191,252,253,247,223, 71,186,185,185, 53,137,142,142,166, 4, 2, 1,196, 98, 49,196, 98,
+ 49, 68, 34, 17,114,114,114,144,146,146, 66,214,175, 95,159, 9,224,203,186,136, 86,109,149,222, 4, 48,120,193, 32,156,123,124,
+127,127,175, 38,156,231, 15, 71,206,238,249, 34,230, 86,180,236,226,165, 27, 95,107, 21,162,244,162,140,203, 75, 90,117,137,182,
+157,245,249,106,108, 95,191, 18,143,111, 71, 22, 56, 52, 47,217, 33,166,148, 53,134, 51, 32, 96, 21,215,201,193, 90, 59,125,202,
+ 72,203,211, 14, 81,211,207,114,169,220,172,188,251,223, 35, 37, 90, 46,108,211,105, 98, 91, 87, 90,117,245,234, 85,113,239,222,
+189,161, 80, 40,244,206,228,193,131, 7, 89,173, 86,123,173,198,103, 83,173,254, 42, 51, 51,211, 73, 46,151, 99,208,160, 65,115,
+191,255,254,123, 73,229, 26,117, 12,195,188,230,100,125,179,233,192,133,249, 95,237,184,118,225,240,183,206,223, 4,127,210,103,
+194,236,181,215, 80,203, 58,146, 92,154,158,117,250,196, 94, 71,145,149, 6, 98,235,247,160,200,150,227,241,158,207, 80, 94,162,
+ 64,151,111, 86, 3, 16, 64,165,161,177,123,232, 40,240,108,156,177,242,211, 79,156,151,239,254,113, 6,203,178,155,141,245,122,
+ 35,140, 48,162, 26, 28, 40,138, 10, 7,128,224,224,224,101, 33, 33, 33,241, 20, 69,133, 19, 66,130,116, 6, 74, 56, 33, 36,168,
+242, 28,157, 56,123, 99,191,242,220,234,251,213,191, 47, 93,186,212, 43, 52, 52,116,157,191,191,255,225,168,168,168,231, 0,234,
+ 19, 90, 67,116,194,170,250, 82, 60, 21,163, 14,131,130,130,168,170,219,215, 28, 45,150,141,124,242,252, 69,249,123,253,187, 54,
+ 13,143,136,189,251,241,199, 67,250,141, 29,218,123, 96, 74, 90,126, 66,107, 23, 71,219,248,248, 88,115,150,101, 35, 13,137, 37,
+161, 80, 24,212,183,111, 95,110, 97, 97, 33, 76, 76, 76,144,155,155,139,204,204, 76,168,213,106, 40,138,139,160, 44, 46,130,162,
+168, 16,234,226, 66, 60,189,119, 7,222,173, 93,133,186,206,242,117,162,210,117,169,238, 84, 85,117,182, 4,102,102, 16,154,153,
+129,106,120,179,225,135,150,150,150,183, 42, 11, 85,181, 90, 61,107,201,146, 37,121, 44,203, 98,237,218,181,230,166,166,166, 97,
+ 0,132,245,145,152,217,113,130,252, 59,182,167, 19, 83, 98,208,211,103, 50,218,182,122, 31, 41,217,114,228,201,212,200, 41, 82,
+163, 75,239,109,104,225,179, 26,205, 58,134, 32, 33,181, 0,206, 77,220,104,112,133,117, 46,254,156,158,158,254,218,254,225, 67,
+135, 80, 94, 94,142,214,173, 91, 99,220,184,113, 88,178,100, 9,198,141, 27, 7,103,103,103, 76, 24,243, 1, 86,174, 92,137,172,
+172,172,250,130,170,108,219,182,173,210,197,197, 69,233,226,226,162, 84,171,213, 40, 45, 45, 69, 81, 81, 81,245,248,158,215,208,
+136,180,183,183, 95,234,232,232, 24, 99,111,111, 31, 47, 20, 10,207, 62,160,168, 68,133,139,139, 67,143, 97,195, 40,207, 49, 99,
+ 56,169, 98, 49, 21, 1,152, 26,194,101,107,205, 27, 18,216,119,176,160,168,112,175,222,164,250,228, 99, 59,252, 25,225,133, 27,
+215, 59, 99,206,172,214,160,104, 17, 40, 90,128,242,178,171,232,234,231,207,183,180,164,234,123,150,198, 3,120,208,163, 71, 15,
+231,217,179,103, 83, 66,161, 16,115,231,206, 85,127,250,233,167,201,227,198,141, 75,190,114,229, 10,227,226,226,130,102,205,154,
+ 81,205,154, 53,115, 2,240, 64,119, 77,157, 48,111, 77,125,163, 84, 39, 92,183,116,147, 60,103, 96,219,189, 84, 35, 28,181,106,
+131, 52,255,155,157,207, 55,164, 60, 46,119,125,124, 59, 50, 63, 57,238, 52,155,114,247,143,188,151,201, 50,215,111,118, 62,223,
+176,108,199,203, 26, 95,234,136, 8,176,199,195, 35,212,229,101,229,220, 97, 67, 3,203,167, 79, 29,219,214,218,212,235, 32,154,
+188,231,211,162,121,211, 9, 43,215,109, 85,127, 58, 99,190,250,167,159,247, 18,153, 76,134,146,146, 18,108,221,186, 85,123,250,
+244,233, 76,134, 97,230,215, 86, 7, 2, 0,141, 70,131,233,211,167, 75,204,205,205,145,158,158,174,119, 68, 1, 64,154,155, 31,
+123,227,110, 92,226,194,255,140, 14, 40, 83, 42,149, 23,254,184,151,224,233,230,210,148,162, 72,173, 3, 81, 4, 60,222,128,206,
+ 93,187,114, 8, 41, 2,197,109,142,167,251,215,163, 36,171, 0, 37, 57, 5,224,240, 36,208, 66, 8, 13, 43,128,165,183, 31,146,
+238, 70,163,137,157, 3, 87,200,227, 13, 52,150, 39, 70, 24,241,239, 68, 93, 90,164,170, 88, 10, 13, 13, 93, 87,215,241, 42, 91,
+ 85,181,125,189,144,170, 46,194,170,126, 7,128,208,208,208,117,132,144,160,168,168,168, 67, 0,228, 6,222,194,180, 42,219,105,
+175, 9,173, 58, 93, 40,133, 42,100,241,146, 47, 97,101, 33,182,240,235,228,230,120,234,124,196,189,200,168,123, 9, 45,154,217,
+218, 17,141,202,234,187,141,219,155, 82,229,242, 80, 3, 3,225, 97,107,107, 11,181, 90,141, 39, 79,158, 32, 35, 35, 3,106,181,
+ 26,218,178, 50, 40,139,138,160, 40, 44, 4, 83, 38, 3,159, 97, 32,207,205,129,141,137, 8,120, 53, 34,177, 30,231,141,170, 81,
+104, 85,110, 69,230,230, 16,154,153,131,230,241,106,108, 86,172, 5,190,126,126,126, 71,227,226,226,186,246,239,223,255,107, 84,
+ 12,145, 79,205,204,204,236,183, 98,197, 10,165,131,131, 3,166, 79,159,222, 14,192,228,122, 69,166, 64,229,225,226,216, 14,109,
+ 93, 39,163, 69,179,190, 40, 42,211, 32,183, 68,131,156, 34, 53,118,111,243,199,177,159,252,240,231,177, 94,136,187, 48, 0, 69,
+ 26, 71,152, 58,127, 8,194,168,188,234,226,188,116,233, 18,214,172, 89,131,175,191,254, 26,107,215,174,197,215, 95,127,141,204,
+204, 76,180,111,223, 30,105,105,105, 56,119,238, 28,164, 82, 41,108,109,109,113,231,206, 29,108,218,180, 9,127,254,249,103,189,
+ 55,109,200,108,182,186,115, 26,212,150,174,213,106,167, 72,135, 13,235,144,109,109,237,217,169, 83,167,193,115,231,254, 63,246,
+174, 59, 46,138,107,109, 63, 51,219, 27,101,233, 44,160, 2,138,162,130, 64, 68,196,142, 26, 73,236, 13, 75, 20, 75, 52,154,196,
+ 18, 77, 98,176,197, 94,226,181,197,146,168,137, 61,118, 49, 42,118,197,222, 5, 11, 2, 10,210,123,135,101,123,153,153,239, 15,
+129,139,134,178,104,114,111,242, 93,158,223,111, 88,118,119,230,217,115,166,156,243,156,247,125,207,123,102,184,119,238,220,185,
+234,123,119,119,247, 38, 66,161, 48, 23,175,103, 80,250,214,197, 69, 3,126,182,182, 94,208,105,227, 43,174, 49, 7, 4, 33, 64,
+207, 15,227,208,185,235, 35,232, 13, 92,144, 4, 31, 36, 41,128,209, 88, 4,169, 84, 6,134, 33,188,234, 41,226,194,130,130, 2,
+143,203,151, 47,147, 41, 41, 41, 16, 8, 4, 0,144,186,120,241,226, 45,235,214,173,139,181,182,182,166, 34, 34, 34,240,251,239,
+191,163,127,255,254,172, 73,147, 38,121,184,184,184,108,171,175,222,139, 55,229,220, 61,176,254,220, 40,142, 65,234, 43, 16, 54,
+115,133, 82, 50,232,139,238, 54, 98, 0, 56,159,148, 84,110,215, 68,190, 90, 89,254, 52,221,210, 89,241,195,249,164,250,102,156,
+ 46,166,163, 18,226,239, 29, 56,113,190, 44, 63,175,132,227,231,221, 86,189,106,233,183,220,102,174, 45,214, 44,250,110,170, 67,
+150, 92, 80,250,225,140,115,241,225,231, 31, 40,198, 78,152,108,252,244,179,105,154,115,231, 47,157,160,105,218, 27,181,204, 56,
+164,105, 26, 57, 57, 57,120,254,252, 57,146,146,146, 80, 80, 80,128,194,194, 66,148,151,151, 87,185, 27, 69,229,242, 51, 91,118,
+159,126, 34, 22, 10, 69, 1,222, 30, 77,238, 71,199,230,139,133, 66,145,135,107,147,150,192,226, 26,219, 17,138,162,188, 5, 34,
+ 33, 0, 2,165, 49, 55,160, 40, 81, 64, 81,170, 64,121,177, 2, 90, 61, 11, 26, 45, 9,181,142, 68,211,238,125,160, 80,106,160,
+ 40, 42, 3, 77, 81, 62,141,221, 77, 35, 26,209,136, 58,250,250,136,176,176,176,121, 38,238,107,178,123,243,109,225, 21, 22, 22,
+ 54,143, 32,136,136,185,115,231,182, 69,237, 19,170,170, 99, 71, 13, 27, 0, 19,210, 59, 20, 21, 37, 40,204,136,214, 67,103,205,
+249,254,220,193,157,155,237,180, 90, 85,186,181, 84, 66, 73, 68, 60,155, 79,167,172, 64,185,162,100,136,210,244,116, 4, 40, 41,
+ 41, 65,114,114, 50,132, 66, 33,184, 28, 14, 40,181, 26,148, 90, 9,117, 73, 17, 72,189, 22, 92,138,130,149, 72,136,166, 50, 7,
+ 52,179,119, 48,137, 51, 49,242, 98, 85,224,123,117,119,225,191, 58,180, 6, 79, 44, 1,207, 76,130, 47, 34,174, 1, 0,184, 92,
+ 46,176,112,153, 73, 70, 19, 39, 39,167, 83, 7, 14, 28,224, 22, 20, 20,224,241,227,199, 79, 0,148, 1, 48, 3, 64,199,197,197,
+ 93,142,137,137,233,239,225,225, 1, 0,205,235, 35,147, 23,146,148,193,200, 32, 35, 55, 21, 41,153,209,176,178,112, 3, 71,212,
+ 18,249,165,122,240,133,110, 48,104,255,237,125,212,200,211,160,214,179, 76,170,187, 78,167,131,209,104,132,209,104,132, 78,167,
+195,103,159,125,134,219,119,238,224,208,239, 87,144,252,234, 37, 90,185, 58, 32, 52,116, 44, 58,116,232,128, 59,119,238,212,201,
+ 53,206, 23, 6, 39, 9,216,235, 63, 38,193,147, 88,107, 59,126,119,225,126,125, 98,139, 32, 8, 6,181,184, 34,223,194,186,192,
+192,192, 22, 47,149, 74, 60,143,143, 71,239,197,139, 1, 0,103,207,158,125,163, 46,179,103,207,230,197,198,198,126,250,232,209,
+163, 79,179,179,179,215, 3,168, 57,216,156, 1,206,156,185,139,169, 83, 99, 81, 80, 80, 0, 0, 56,124,240,223,186, 52, 37, 89,
+143,143,250,189,246,104, 89, 90, 90, 98,253,122, 47,147,206, 39, 69, 81,216,177, 99, 71,149,187, 16, 0,216,108,118,231,217,179,
+103, 15,173,105,255, 22, 45, 90,112,235,227,156, 53,220, 73,112,235, 9,243,165, 69,139,102,109,205,109,218,161,200, 16,237, 21,
+157,149, 51,125,214,112,167,141, 27,142,101,105,132,132,118, 15, 65,101,184,176, 5,154,189,166,148, 49,233,252,102, 93, 81,211,
+241,123,115, 11,228,243,167, 77,254,196,218,220,210, 78,249,235,150, 85, 82,146, 69, 50,167, 30,233, 75,219,186, 91, 91, 14,234,
+248,163, 98,234,172,133,209, 58, 99,198, 52,100,156,122,137, 58, 82, 92, 80, 20,133,236,236,108, 20, 20, 20, 32, 61, 61, 29,133,
+133,175,221,175,133,133,133,160,105,250,125, 26, 68,168,211,211,145,118,226, 87, 52, 27, 59, 22,254,203,150,130,162,217, 80,171,
+ 40,172,239,212, 11, 37,101,106,104,105, 2,178, 15, 58, 97,242,217,155, 32, 25, 10,216,190,181,177, 39,105, 68, 35,254, 71, 97,
+ 74,122,135, 74, 65,180,106,213,170,254,127,246,239, 87, 23, 91,171, 86,173,122,190,106,213,170,134,252,214,219, 46,195,170,247,
+149, 49, 90,215,170, 5,160,253,161,211, 44, 47,140, 75,138,141,101,103, 43,213, 74,145,189,157,173, 86, 36,224,211,101,242,114,
+ 86,244,179, 39,122,101,238,171, 23, 13,168, 71, 92, 76, 76,140, 87,118,118, 54,210,211,210, 96, 84, 43, 65,106,117, 96, 52, 42,
+244,238,210, 9, 2, 0, 2,146, 0,151,214,131,205,226,161, 92, 33, 7,128,184,122, 59, 71,131,225, 15,150, 45,130, 32,192, 51,
+ 51, 3, 79, 44, 6, 79, 98,246,134,133,203, 20,139, 13,159,207, 63,112,244,232, 81, 71, 39, 39, 39, 44, 93,186, 20,206,206,206,
+158, 50,153, 76,101, 97, 97, 33,180,183,183, 71,155, 54,109,208,169, 83, 39,156, 59,119, 14, 48, 33,167,148,193, 40,120,250, 34,
+ 21,157, 11,139,239,224,230,181,159,161, 83,107,225,215,253,103,232,217,205, 96,219,118, 9,232,196,253, 80,229,158,124,109, 61,
+112, 24,128,204,244, 84, 16, 44,222,115, 83, 45, 79,149,255, 63,121,242, 4, 7, 79, 94,135, 99,211,214, 72, 79,136, 71,252,213,
+203,184,109,107,141,166,173,219, 84,185,129,106, 45, 35, 5,246,242,173,175,211, 68, 45,248,242, 19,126,113,113, 49,223,202,202,
+ 74, 91,121,238, 28, 29, 29,223, 71,108,125,242,205, 55,223,160,148,195, 1,250,245, 3, 55, 41, 9,122,189, 30, 29, 59,118,132,
+191,191, 63, 0,160, 99,199,142, 96,179,217,104,215,174, 29,100, 50, 25,182,110,221,250, 73,109, 66,139, 36,240,216,104, 44,242,
+116,119,119,175, 18, 90,123,247, 21, 32,250,209,135, 32,192,195,166, 45,137, 85,251, 54,105,210, 4,185, 57, 73, 32, 8, 38,166,
+158, 50, 46,115,112,112, 88,232,232,232,232,190,110,221, 58,150, 64, 32,192,231,159,127,238,166, 80, 40,154, 85,152,146, 49,119,
+238, 92, 0,192,162, 69,139,176,120,241, 98,104,181, 90, 85,109,100,123,215,123,203,242,139,233, 79, 25,133,104, 72,144, 77, 51,
+239,158,193,189,225,230,209, 19, 61,131,211, 1, 96,165, 21, 59,117,196,154,249,150, 39, 44,205,136, 93, 23,207, 95, 90,212,165,
+123,207,249,223, 41,174, 46,255, 97, 71,105,189, 49,143,101,105,123,202, 95,240, 70,110,216,188,109,223,134,239,231,206, 20,164,
+ 23,232, 74,178, 74, 24,133,132,207,150, 52,183, 39, 36,211,231, 44, 75,206,206, 78,250, 26, 25,231,235,157,105, 73,211, 52,146,
+146,146,170, 98,250, 52, 26, 13,148, 74, 37, 50, 50, 50,170,238, 25,181,216,252,163,105, 19, 6,248, 40,213,106,213,253,103, 9,
+233, 11,102,140, 9, 84,170,213,170,132,148,244,151,192,166, 26,213, 24, 73,146,207, 84,229,170,222,170, 82, 13, 10, 30,191,128,
+115,175,166, 48, 24, 9,232,140, 20, 10,138,202,161, 53, 2, 20,201, 65,219, 17,161,160, 8, 54, 10,179,179, 64,178, 88, 79,240,
+102,208,126, 35, 26,209,136,255, 29,212,169, 69, 42, 45, 90,129,129,129,135,170, 91,157, 42,255, 7,160, 69,221,161, 60, 5,213,
+197, 84,165, 59,177,182,223,121,139,215, 84,252, 33, 70,171,222,244, 14,149,191,233, 98, 33,151,253,107,209, 24,103,218,104,108,
+149, 95,152,103,100,179,249, 28, 23, 11,117, 78,113,186,233,191,174,213,106, 35, 46, 95,190, 60,248,195, 15, 63,228, 39, 60,123,
+ 2, 93, 89, 25,116,101,165,224,208, 70, 88, 9,219,131,212,107, 65,232,116,112,242,164,161, 41, 23,226,250,237, 24,131, 86,171,
+141, 48, 85,104,145, 44,214,155,113, 89, 18, 9,248,102,230,224, 75, 36,111,187, 22,235, 19, 5,162, 62,125,250,244,234,216,177,
+ 35, 24,134,193,142, 29, 59,160,215,235,121,122,189, 30, 58,157, 14,122,189, 30,114,185, 28,251,246,237,195, 79, 63,253,116, 27,
+192,238,122, 59, 51,163,238,242,133, 75,145, 29, 38,142,233,207, 57, 27,177, 30, 70, 29, 5, 53,225, 12,165,210, 0,133, 78, 4,
+202,122, 44,144,119, 6, 44,182, 0,129,237,220,112,242, 88,184, 30, 70,237, 21, 19, 85,248, 27, 86,161,140,244, 84,100,190,122,
+ 9,137, 60, 23,182,230, 34,168,146, 94,194, 47,116,220, 59, 89, 39, 92, 92, 92, 64,211, 52,130,130,130,170,130,171,223, 85,108,
+ 21, 21, 21,225,244,233,211,232,216,177, 35,186,119,239,142,172,172, 44, 36, 37, 37,161,111,223,190, 85,251, 60,121,242, 4,209,
+209,209,104,222,188,110, 35, 97, 97,177,225,108,102,198,227,144, 65,131, 6,113,239,221,187, 7,134, 97,224,225, 97, 14,115, 51,
+ 49, 8,146,143,214,173,237, 0,188, 30, 3,244,232,209, 3,114,121,146,177,164,132, 57, 91, 79,117, 15, 0,248, 93,167,211, 37,
+118,235,214, 77,246,234,213, 43,204,154, 53,139,125,248,240,225, 74, 83, 50,194,194,222,156, 76,161, 86,215,238,186,111,229,237,
+249,173,155, 81,218, 93, 32,108,230,106,110,211, 14,110, 30, 61, 1, 0, 31,246,159, 8,183, 22, 77, 32, 47,124,234,170, 81,167,
+ 14,225,178, 75,164, 79, 55,101,197, 10,251,121, 77,208,228, 95, 75,192,107,215,105,189,151, 93,157,112, 56, 47,157, 51,246,200,
+239,167,206, 77,233,219,127, 32,199, 64, 25,141, 94, 77, 57,150, 71, 79,156,201,207, 74, 75,255, 17,233,231, 99,254,109,255,171,
+211,138, 71,201,229,114,136,197, 98,196,196,196,104,251,245,235,199, 39, 73, 18,137,137,137, 85, 66,203,206,198,170, 77,103,127,
+ 47,207,229, 27,246, 93, 16,243,249,252,224, 30,237, 91,199, 38,164,101, 50, 12,145, 90,171,181,213, 96,184,244,236,241,147, 32,
+ 91, 89, 11, 86,210,181,123,176,238,218, 23, 90, 45, 9,181,142,134,214, 8, 24, 89, 92, 56,250, 6,192,178,121,107, 48, 0, 30,
+222,187,109,208, 26, 12, 23, 26,251,154, 70, 52,226,127,218,170,197,212, 37,146, 42,254, 47, 6,144,186,106,213,170,194,106,214,
+166, 2, 0, 79, 0,248, 84,236, 87,240,214,113, 5, 4, 65, 60,100, 24,198,191, 26, 79, 65, 53,193, 85,253,127,221, 91,251, 60,
+105,128,200,170,254,250,166,208,170,109, 74, 37, 0,216,216,216,216,249,249,181,111,254,203,206, 35, 96, 24, 6, 47,162,215,162,
+ 36, 63, 30, 11, 87,222,109,238,228,228,212, 61, 43, 43,235,186, 41, 37,160, 40,234,240,174, 93,187,190, 14,248,192,207,207,213,
+217, 25, 79, 82, 83,192,101, 40,112, 41, 10,164, 94, 11, 54,165,131,179, 23, 5,146,144, 32, 59,187, 12,171, 15, 28,137,169,200,
+ 18, 95, 39, 60,251, 14,196,210,204, 50, 16, 4,129,117,129, 94,224,153, 73,192, 21, 75,240,197,169,200, 42,113, 21,177,116, 46,
+120, 18, 9,154, 7,152,148, 16, 94,117,245,234,213, 71,207,158, 61,243,247,242,242,194,215, 95,127,141,212,212, 84,208, 52,141,
+188,188, 60, 77, 78, 78, 78, 86, 65, 65, 65, 42,128, 19, 0,126,129, 9,153,199,185, 90,205,198,136,227,123,167, 5,118,233,110,
+ 51,104,200, 79,248,253,216,108,148,150,201,161, 50, 10,161,212, 24,161,212,178, 96,101,237,141,128,118,237,144,157,149,143,231,
+247, 46, 40,216, 90,213,218,134,220,160, 4, 65, 32, 58, 58, 26,238, 50, 51,188,188,121, 29, 54, 34, 14,124,100, 14,144,117,238,
+ 82,149, 95,170, 46,112, 88, 48,126,242,201, 39, 85,153,225,251,244,233,147, 50,118,236, 88,199,217,179,103, 99,231,206,157,184,
+125,251,246, 31, 2,180,187,119,239,142, 27, 55,110, 44, 1,176,168, 62,163,158, 78,167,131,167,167, 39, 30, 62,124,136,203,151,
+ 47,163,103,207,158,232,222,189, 59,158, 62,125,138,139, 23, 47, 34, 58, 58, 26, 4, 65,192,218,218, 26,134,215,226,217, 80, 27,
+153, 94,143,163, 63,172,217, 53,111,195,134,159,218,142, 25, 51, 6,199,143, 31,194,196, 9,173, 64,144,124, 16, 4, 31, 3, 7,
+180,194,210,101, 15, 17, 16,208, 3, 54, 54, 28,108, 88,127, 50, 89,173,166,246,153,112, 26,151, 95,188,120, 81,166,209,104, 80,
+ 90, 90,202, 72, 36, 18,162,168,232,245,140,214,154, 44, 90, 42,149, 74, 80, 27,209,179,168,184,181,165,229, 76, 9,163,136, 30,
+ 82,108,140,246,238, 25,156,129, 15,251, 79,192,165,136,221,136,188,112, 25, 86,236,212, 20,136,203,207, 21,166, 20,202,115,148,
+ 30,219, 90,127, 48,137,149,169,188,176,109,250,192,151, 44, 71, 71,250,232,220,159,229,165,117, 9, 45, 0, 68,113,236,254, 83,
+ 39, 24, 12,236, 20, 24,208,194,171,137, 35,175,164, 48,159, 57,118,242, 92,140, 62,229,248,233,106, 2,139,169, 71,168, 47, 13,
+ 11, 11,251,190,226,255, 61, 11, 22, 44,152,180,122,245,106,219,220,220,220,170, 24,173,252,194,226,200, 78,253,166, 83, 69,165,
+101,186, 93, 27,230, 12, 23, 10,248,188, 5,171,119, 93, 51,176,112,175, 54, 94, 35, 77,111, 29, 49,107,225,204,132, 23,209, 78,
+205,132, 60,156,156,179, 8, 79, 46, 94,133,129,228, 98,234,229,251,208,234, 41,148, 22, 22,225,202,167, 95, 66, 98, 47,197, 79,
+215,142,231,209, 52,253,115, 99, 87,211,136, 70,252,239,162, 54, 45, 66, 16, 68, 77, 57,246,242,106,248,236, 97, 93,199,213,194,
+243,103,160,214,172,240, 38, 77,193, 43, 44, 44,204,191,113,227, 62,174, 69, 44,199,245,136,229,120, 30,253, 4,217, 89, 58,100,
+229,105, 96,110,110,126,183,142, 67,223,206, 28,203,168, 84,170,161, 11, 22,126,159, 43, 16,138,208,173, 87, 47, 56,216,218, 65,
+196,229,128,101,164,193, 34, 56, 80, 20, 88,226,229, 83, 21,190,219,181, 63, 95,161, 82, 13,173,161,147,232, 93,155,200, 32, 8,
+ 2,124,115, 51,240, 36,102,224,155,153,191,225, 70, 20,152,155, 67, 96,102, 14, 54,143, 87, 83, 48,252, 31, 56, 21, 10,197,176,
+225,195,135,151,148,149,149, 97,210,164, 73,184,126,253,122,244,133, 11, 23,204,159, 62,125, 42, 44, 40, 40,104, 1,160, 15,128,
+237,117,136,172, 55, 56, 75, 74,146,202, 25,163,118,228,170,239,191, 82,107,140,214, 8, 25,119, 24, 98, 50, 3, 70,138, 6, 3,
+ 64,102,197, 67,231,222,203,144,175,235,132,195,219, 86,168,104,189,102,204, 91, 57,180,222,224,100, 24,134,177,183,183,255,195,
+ 57,184,124,249, 50, 66,134, 15, 67,240,144,193,176,117,117,135, 93,239,190, 8,158, 52, 21,219,182,109, 3, 73,146,176,177,177,
+121,187,227,173,226,220,251, 24,156,131,207, 64, 28,124, 6, 98, 79, 52,216, 0, 66,247,239,223,255,131,143,143,207,213,219,183,
+111,175, 5, 48,178,250,111, 85,195,226,183,172, 89, 53, 93,163,249, 51,103,206, 84, 39, 36, 36, 64, 44, 22,195,104, 52,226,246,
+237,219,248,233,167,159,176,110,221, 58, 68, 71, 71,195,218,218, 26,205,155, 55,135, 86,171,197,195,135, 15,213, 0,230,215,193,
+ 73, 23, 20, 24,135,109,218,180,186,168,127,255,174,216,181,107, 11, 28, 28, 58,129,195,118, 0,155, 99, 11,177,196, 19,191,254,
+242, 3, 62,254,216, 15,167, 78, 30, 41, 46, 44, 50, 14, 3, 96, 52,225, 94,210,220,191,127, 31,219,182,109,195,240,225,195,179,
+ 66, 66, 66,168,178,178,178, 42,139, 86,101,166,223,197, 21, 49,102, 90,173,150, 95, 27,231,228,239, 98,178,230,172,120,190, 52,
+ 47, 55,171,227,245,171,119, 63,137,188,112, 25,201, 9,145,136,188,112, 25, 55, 35,239,132,229,229,102,117,244,235,208,146, 59,
+116,210,180,111,247,134, 31,103, 73,204, 29,177, 55,252, 56,107,244,244,175, 86,180, 15,238, 57,191,190,123,190,226, 58, 50,138,
+252,188,185, 43,215,110, 86, 24,245, 26,242, 95, 63,110,205, 86, 23,228,204,175,118, 95, 50,245,221,159,106,181,122,187, 70,163,
+145,105, 52, 26,153, 86,171,157,159,154,154,218,237,235,175,191, 46,160, 40,170,202, 90, 90, 16,123,234,110,252,173, 61, 43,237,
+108,164,194, 78,254,109, 91,173,223,126,236, 90,122, 70,222,111,213,114,104,213, 84, 78,141, 66,173, 25, 54,120,232, 88,101,105,
+137, 22,129, 95,133,129, 22, 72,160,165, 0, 3,195,130,145, 96,227,217,242,245, 16, 90,153,225, 64, 74,148,170,204,160, 31,134,
+ 55,115,104,213, 85,247,247, 65, 35,103, 35,103, 35,231,223,147,243,159, 12, 71,188,185,214,161,227, 27, 22,173,250,166, 84, 58,
+ 57, 57,117, 27, 52,176, 55,122,244, 95, 0,134, 97, 16, 31,181, 6, 37, 5, 47,224,228,192, 71, 82,186, 60, 16,192,245, 6, 20,
+ 38, 61, 53, 35,163,227,204,249, 11,194, 67,250,244,106,237,229,234,202,111,214,172, 41,196,118,118, 40, 44, 44,192,173,123,177,
+134, 21, 7,143,198, 84,136, 44,147, 28,147, 52, 77,191, 14,114, 7,208,107,230,119, 32, 88, 44,160, 34,141, 67,101,199,232,234,
+223, 9, 4,155, 13,138,161,161,213,106, 77,153, 45,151,249,234,213,171, 97, 99,198,140,185, 18, 17, 17, 65, 6, 7, 7,251,158,
+ 56,113,226,125,214,204,131, 50, 63,225, 42,128,254, 43,230, 78, 57,220,177,231, 96,115,143,182,237,185,237,155,177,160, 55, 16,
+200,206, 74, 67, 68,248, 3,125,236,253, 11,114,198,168, 25,169, 42, 76,184, 90, 23,151, 94,175, 79,111,209,162,133,253,182,109,
+219,170,130,225, 41,138, 66, 97, 97, 33,238,222,189, 11,111,255, 0,180,158,240, 41, 10, 10, 10,176,105,211, 38, 52,105,210, 4,
+ 3, 6, 12, 64,113,113, 49,140, 70,163,169, 14, 95, 10,192,133,138, 13,111,137, 44,162, 98, 9,160, 58,221,134,238,238,238, 60,
+141, 70,227,203, 48, 12,139, 32,136,141, 58,157,110,252,220,185,115, 29, 87,174, 92,137, 86,173, 90,161,176,176, 16, 98,177, 24,
+ 30, 30, 30, 40, 40, 40,192,131, 7, 15, 40,149, 74,181, 13,175, 23,178, 46,168,167,124,137, 15, 30,164,116,156, 49,227,139,240,
+ 31, 86, 79,241,208,104,123,240,172,172,186,128, 97,140, 40, 40, 72, 69,185,252,182,126,217,210,221,175,242,242, 13, 67, 1, 36,
+152, 88,231, 69,211,166, 77, 3, 0, 1,128, 5, 73, 73, 73,143, 91,183,110,237, 81,155, 69,203, 20,108, 56,150,165, 1,112,112,
+ 88,176,108,150,188,240,169,135, 21, 59, 53,165,163, 23,189,105,195,177, 44,141,185, 76,185,188, 48,245,250,203, 28,229,133,109,
+123,195,143,179,198, 13, 25, 70, 57, 75, 18,194, 4,118,204, 49, 19,168, 25, 31, 31, 31, 23,130, 40,118,203, 47,122,241,104,226,
+164, 41, 35, 44,184,234,179, 62,206, 69,205,201, 38,126,130,232,232,232, 20, 52,112,102,104, 5, 94,102,101,101,117,155, 59,119,
+238, 5,134, 97,222,136, 77,200, 47, 44,142, 12,236, 63,141, 41, 45, 45,123, 92, 16,119,202,148, 92,106, 15, 30, 68, 69,247,242,
+242,246, 59,254,195,202,213,246, 61,102,126,205,126,121,245, 26, 64, 25,144,118,253, 26, 40,190,142, 94,127,231, 82, 94,153, 94,
+ 63, 4,141, 89,225, 27,209,136,255,121,107, 86, 93, 90,228,111,142,126,168, 37, 24,222,228,202,184,187, 57, 93,104,229,209,172,
+ 79, 19,103, 91, 0, 64, 82, 74, 54,146, 82,178, 46, 38, 37,103, 5,215,163,120,107,155, 94, 89,181,168, 52, 81,145,194,129, 49,
+109, 81,233, 55, 56,173,173,173, 31,177,217,108,231,134,156, 13,138,162,178, 11, 11, 11,253, 76, 44,231,104, 87, 87,215,213,105,
+105,105,225, 52, 77,207,106,160,218,175,145,179,114, 81,105,146,205,235,205, 24,117,222, 0, 64,176,121,166, 44, 42, 93,157,211,
+ 91, 34,145,108,231,112, 56, 77, 42,175, 99,101, 12, 22, 69, 81, 44,189, 94, 47,160, 40,138, 5,128, 32, 73,210,200,225,112, 52,
+ 4, 65, 24,141, 70, 99,186, 86,171,157,130,127, 39, 28,173,171,238,245,118,244,175,178,100, 50, 0, 0, 32, 0, 73, 68, 65, 84,
+ 21, 66, 11, 53, 88,180, 46, 3, 64, 66, 66, 66, 75,169, 84, 58,146, 32,136,225, 12,195,120,150,151,151,107, 23, 46, 92, 24,125,
+244,232, 81,185,171,171,235, 71,253,250,245, 35,158, 62,125,138,152,152, 24,166,168,168,232, 88,133, 21, 43,169,129,247, 18,201,
+231,179, 70, 89, 89,145,253, 24, 6, 62, 96, 64, 16, 36,158,149,149,209,103, 85, 42,234,183, 10,193,216,208,251,179, 18,159, 52,
+107,214,108,119, 74, 74, 10,167, 54, 75,106,109,117,127, 27,107,230,183, 93, 16,216,181,235,176,187, 55,111,158,152,179,226,249,
+210,234,223, 77, 31, 44,157, 56,250,203,153,107, 14,110,253,113,206,230,223, 75,118,153, 82, 78, 95, 95, 95,119,130, 32, 70, 2,
+240, 98, 24,166, 5,195, 16, 2,130, 96, 74, 8,130,120, 14,224,169, 78,167,139,136,141,141,205,124,143,186,191,203, 8,183, 54,
+206,170, 69,165, 65, 81,237, 40,128, 49,113, 81,233,255,116, 57, 27, 57, 27, 57, 27, 57,255,123,156,255,100,124, 86, 67, 7,105,
+ 90,102,248, 74, 36, 37,103, 5, 39, 37,103,161, 69,139, 22, 76, 98, 98, 98,131, 68, 90,109,157, 52, 69, 81,135, 84, 42,213,161,
+247, 33, 41, 42, 42,106,255, 23,159,188,131, 41, 41, 41, 7,255, 76,194, 10, 33,181,180, 98,123, 87, 60, 83, 40, 20, 1,166,238,
+172,215,235,255,138,115, 67, 84, 88,179,150,212,182, 67,159, 62,125,210,244,122,253,101, 0, 25, 4, 65, 88, 2, 40,214,235,245,
+ 23,140, 70, 99, 94, 98, 98, 98,251,245,235,215, 87,102,190, 95, 6,224,209, 59,150,131,214,106,169, 3,217,217,212,129,191,160,
+142, 7,116, 58,221,108,107,107,235,230, 26,141,134,167,209,104,184,213, 39, 31, 8,133,194,130,186, 2,226,171,195,210,140,216,
+195,101,151, 88, 91,154, 17,111, 11, 41, 88, 57,225,184, 90, 25,211,202,202, 9,199, 77, 45,216,227,199,143,147,124,124,124,246,
+147, 36,233,202, 48,140, 61,192, 88, 48, 12, 10, 24,134, 41,100,179,217, 89,177,177,177, 89,127,163, 70, 72, 99,164,233,181, 70,
+157,238,223,113,135,141,179, 11, 27,209,136, 70,252,255, 65,173, 49, 90,236,134, 50, 37, 38, 38, 18,141,231,179, 17,213,197, 86,
+ 93, 95,166,165,165,105, 1,220,169,216,222,198, 35, 0, 3,254,238, 21,204,201,201,241,171,237, 59, 83, 69, 22,240, 58,102, 11,
+136,169, 49, 59,251,226,205, 37,229,216, 28,254,109, 67,203,246,228,201,147,116,152,232, 98,111, 68, 35, 26,209,136, 70,252,101,
+248,172, 54,241,197,110, 60, 55,141,104, 68, 35, 26,209,136, 70, 52,162, 17,239,133, 29,213, 4,215, 27,214, 45, 2,181,207, 28,
+104,136,239,245, 93,102, 31, 92,110,228,108,228,108,228,108,228,108,228,108,228,108,228,252,159,227,252,255,138, 55, 68,150, 41,
+201,209,255, 12, 52, 78,125,109,228,108,228,108,228,108,228,108,228,108,228,108,228,252, 95, 16, 89,111,108,149, 89, 15, 26, 93,
+135,141,104, 68, 35,254,103,113,244,232, 81,147, 22, 21, 29, 53,231,215,254, 18,137,116,161, 66, 94,182,250,208,218,137, 39, 42,
+ 63, 15, 9, 9,161, 26,207, 98, 35, 26,209, 8,188, 75, 48,188,155,155,115, 27,146,162, 59, 51, 12,201, 98, 72,198, 64,200,213,
+135,147, 74, 74,222, 72, 59,224,226,226, 98,201, 33, 49,128, 96, 24, 49, 65,208, 20,205, 34,111, 39, 39,103,198, 54,160, 96, 60,
+169, 84, 58,141,203,229,246,214,233,116,206, 36, 73,102,106,181,218,203, 42,149,106, 11,254,152,184,240,191,134,150, 45, 91,142,
+190,118,237,154,101,151, 46, 93,180, 66,161,208,168, 86,171,217,231,207,159,231,127,252,241,199,165,175, 94,189,122,167, 25,137,
+ 50,153,172,231,175,191,254,234, 22, 28, 28,140, 22, 45, 90, 40, 71,142, 28,201, 13, 12, 12,228, 78,154, 52, 41, 57, 59, 59, 59,
+178,129,116,109, 8,130,216, 71, 16, 4,139,166,233, 80,252, 59,117,195,159, 13,146, 36,201, 41, 4, 65, 12, 97, 24,198,157, 32,
+136, 36,134, 97, 78,208, 52, 93, 87,226,214,186, 48, 12, 64, 95,146, 36,253, 0,128,166,233,104, 0,103, 1,211,103,222,253, 39,
+ 57, 69, 34,145, 47, 0,168, 84,170,199,127, 22, 39, 65, 16,190, 0,192, 48,204,187,114, 78, 16, 10,133,147, 1, 64,173, 86,255,
+ 2, 19,150,131,122, 27,204, 54, 79,198,111, 73, 60, 0, 32,122,145, 39, 0,160, 33,239,137,169,241, 68, 67,126,171, 38,190,134,
+112,212,128,190, 99,198,140, 89,249,219,111,191, 45, 2,112,242,175,184,241, 29, 28, 92,182,172,251,113,135,236,171,105,159,174,
+198,235, 21, 33,234,126, 32,129, 15,121, 44,214, 64, 29, 69,221,140, 5,142, 2, 96, 91, 89, 89,141,230,241,120,221,116, 58,157,
+ 35,155,205,206,209,233,116, 55,202,202,202, 14,162,142, 21, 16, 76, 62,175,113,144,234, 85,112, 32,232,127,175,243,198,144,208,
+114, 69,200, 37, 90,163,228,111,208,140,146, 0,102, 86,212,117, 39,106, 79,231, 81, 87,227,243,149, 76, 38, 27, 34,151,203, 85,
+ 44, 22,139,193,235, 89,207,175,255,188,254,158,160,105, 58,191,184,184, 56,180, 62, 46,113, 19,180,226,137,137,125,148, 1,106,
+163,150,249, 92,153,129,120,137, 11, 58, 49, 64, 40, 3,184,146, 44,210,150,166,233, 28, 0,145,164, 17,167, 21,217, 72,252,155,
+118,238, 77, 43,206,107,179,138,247, 28, 0,246, 0,158, 2,248, 10,128,162, 81,255,252,199,240,118, 48,252, 25, 0, 57, 85, 66,
+171, 90,186,251, 30,253,251,247,191,238,230,230,220,102,248,224,161, 43,167, 78,249,156, 96,177, 72,196, 60,127,206,254, 36,116,
+ 66, 31,169, 84,234, 36,209,106, 91,131, 32,104,149, 64, 16, 35,151,151,101, 29, 61,248,155,153,103,171, 86, 20, 69,209,216,182,
+253,231,143,143,253, 30, 62,207, 68,177,213,210,193,193, 97, 95, 88, 88,152,195,192,129, 3, 89, 14, 14, 14, 72, 77, 77,181, 60,
+116,232, 80,171,205,155, 55,143, 40, 41, 41, 9, 5,240,242, 29, 42,219,213,193,138,236, 99, 38, 36,122,161,156, 66,185, 1, 87,
+114,213,184, 8,224,230,187,158, 61,149, 74, 53, 93,165, 82, 5,248,251,251, 51, 59,119,238, 36,198,143, 31,207, 16, 4, 65,168,
+213,234, 61, 0,222, 73,104,137,197,226,173,193,193,193, 30, 30, 30, 30, 73,175, 94,189,234,123,228,200,145,179,227,198,141,115,
+ 23,139,197, 9, 0, 90, 54,144,110,119, 81, 81,145,143, 90,173,134,179,179,243, 78, 0, 31,252, 5, 55, 17,193, 98,177, 78, 56,
+ 57, 57, 49,107,214,172, 57,233,227,227, 99, 95, 92, 92,108,252,246,219,111,123,223,187,119,239, 99,138,162, 6, 54, 64,108, 73,
+ 9,130,216,110,111,111,111,179,122,245,234,196,246,237,219, 63,229,243,249,188,132,132, 4,209,236,217,179,103,189,124,249,114,
+ 4,195, 48, 83,128, 6,117, 16, 82,130, 32,182,203,100, 50,155,149, 43, 87,166,250,249,249,197,112,185, 92,110, 66, 66,130,248,
+187,239,190,251, 42, 62, 62,254,157, 56, 73,146,220, 22, 16, 16, 32, 93,180,104, 81, 92,171, 86,173,238,176, 88, 44, 94,102,102,
+ 38,185,120,241,226,105,151, 46, 93, 10,161,105,122,234,187,148,211,206,206, 78,186,120,241,226,184,192,192,192,123, 92, 46,151,
+251,226,197, 11, 50, 44, 44,108, 90, 98, 98,162,201,229,180,178,178, 10, 34, 8, 98, 71,110,110, 46, 27, 0, 28, 29, 29, 59,152,
+155,155,111,174,190,166,101,101,140,128,193, 96, 40,215,104, 52, 99,138,139,139,107, 76,132, 59,126,238,166, 1, 0,176, 89, 95,
+249,254,245,107,125,239,129,109,167, 77,169,180,175,195,235,188,120,235,148, 19, 7, 3,192,232,138,165,194,215, 41, 1, 54,155,
+ 77,251, 58,124,197, 60,206,109, 80,202,152, 65, 61,123,246, 92, 28, 25, 25,249,115,143, 30, 61,190,219,191,127,191, 93, 70, 70,
+198, 15, 55,111,222,116, 25, 53,106,212,248, 43, 87,174,172, 42, 44, 44, 60,246,103,221,252, 60, 46,159, 79,144, 4,132, 2,145,
+185, 41,251,115, 72,178,255,157, 65,131, 38,255,242,226,133,223,230,248,120, 55,165,163, 99,192,140, 25, 51,236,135, 14, 29, 74,
+186,184,184, 32, 49, 49,209,122,255,254,253,173,127,249,229,151, 33,165,165,165, 51, 1,164,189,143,200, 82,150,194, 91,171,131,
+ 31,195,192,178,234,129, 37, 80,202,215, 35,154,137,195,179,191,129,216,250,126,247,238,221,139, 18, 19, 19,177,106,213, 42, 0,
+216,210,192,227,103, 15, 26, 52,168, 95,120,120,184,240,232,209,163, 66,127,127,127, 56, 56, 56,160, 98, 48, 85,149,152,218,205,
+205,205,180,115, 70, 99,221,198,179, 19, 63,136, 41, 62,135,173, 67,115, 87, 9,157, 97,236, 52,200, 99, 72,255,241,126,176,176,
+ 21, 65, 32, 97,163,180, 72,238,245, 34, 58, 35,248,234,145,196, 31, 18,163, 10, 86, 43,211,241, 61,106,207,201,247, 95,129,181,
+181,245,206,228,228,228, 32,177, 88,252,198,231, 73, 73, 73,190, 30, 30, 30,101, 0,190,110,168,112,179,181,181, 61, 64,211,180,
+182,168,168,232, 83, 0, 48, 51, 51,251, 77, 44, 22, 75,115,114,114,230,253, 85, 3,153, 74,188,173, 69,254,225, 22,173,170,120,
+173,154,214, 58, 36, 72,138,238, 60,117,202,231,196,200,209,163,114, 19,147,146,105, 54,135, 55,250,252,133, 11,162, 54,109,218,
+144,218, 45, 91, 96, 44, 40,128, 97,214,172, 78,151, 47, 95, 54,132,140, 30,171,230,176,136,221,238,110,174,162,195, 7, 15, 57,
+132, 31, 63,214, 25, 64,125, 66,139,231,224,224,176,239,218,181,107, 78,110,110,110, 40, 45, 45, 69,106,106, 42,148, 74, 37, 70,
+140, 24,193,233,220,185,179,211,240,225,195,247,149,149,149,117,105,128,101,203,190,133, 51, 59, 98,202,132,161, 45, 63,238,211,
+ 89,236,228,210, 28, 76,174, 6, 25,175,226,253, 35,174,221,155,177,251,248,217,151,137,101, 76,127,212,188, 54, 82,157, 40, 44,
+ 44,156, 51,100,200,144,227, 65, 65, 65,182,124, 62, 31, 50,153,140, 24, 56,112, 96,126,118,118,246,146,119, 86, 45, 21, 75,216,
+144, 36, 73, 85,127,173, 97,121, 32, 83,224, 44,149, 74, 33,149, 74, 1,192,233,125, 71,158,150,150,150, 91,204,204,204,134,203,
+229,114, 53, 73,146, 12, 65, 16,140, 78,167, 19, 74,165,210, 39,113,241, 47,101, 90,173,182,197,218,141,191,252,216,179,171,143,
+249,165, 75,151, 48,116,232, 80,230,226,197,139, 83, 76, 93,167,142, 32,136,237, 67,134, 12, 81, 45, 92,184, 80,147,152,148,234,
+ 20,247, 50,137, 16, 11,120,180,141,141, 13,231,193,131, 7,236, 13, 27, 54, 8, 22, 47, 94,188,157, 97,152,225, 13, 56,159,219,
+ 71,141, 26,165,255,230,155,111,114, 94, 36, 38,219, 61,139, 75,100, 36, 2,142,209,198,198,154,117,239,222, 61,250, 93, 56, 73,
+146,220, 54,103,206, 28,249,148, 41, 83, 74,138,138,203, 28, 74,228, 10,134,207, 97, 25, 28, 28, 28,216, 39, 79,158,212, 30, 56,
+112,128,156, 60,121,242, 54,154,166, 67, 26,112,126,183, 13, 28, 56,176, 60, 44, 44,172, 52, 33, 41,197,225, 89,236, 75,136,248,
+ 28,131,189,189, 29,235,225,195,135,250,181,107,215,146,203,151, 47, 55,169,156, 98,177,120,239,145, 35, 71,216, 39, 79,190,110,
+251,238,222,189, 75,186,187,187,139,170,239,163,214,104, 65, 18, 64, 97, 97,161, 40, 48, 48,112, 47,128, 63, 36,247,245, 91, 18,
+143,241,115,129,233,211,167,231, 52,244,102,241,115,156, 81,239, 62,212,207,158,204, 6,213,196,193,108, 54,155,158, 60,121,114,
+238,219,223,107, 52, 26, 2,192, 64,252, 96,186,216,234,219,183,239,252, 51,103,206, 52,223,191,127,255,250, 3, 7, 14,232, 0,
+ 64, 32, 16,216, 28, 58,116,104,213,136, 17, 35, 48, 98,196,136,133,199,142, 29,251,211,132, 22,197, 80,122, 0,224, 11,248,252,
+248,248,120,194,211,211,179,206, 40, 87, 61, 77, 63,250,229,197,139,246, 95,120,122,250, 23,211,116, 11,238,199, 31, 43,102,207,
+158, 93, 40,151,203,145,154,154, 10,189, 94,143,241,227,199,179,122,244,232, 33, 27, 49, 98,196,166,242,242,242, 97, 0,244, 38,
+220,147,107,157,156,156, 62, 43, 43, 43, 83, 84, 90,117,186,132, 82,236,110,190, 70,126,187, 22, 6, 30,151,101,228, 14,152, 69,
+ 19, 23,183, 16, 74, 79, 55,220, 2, 0,174, 10, 5, 13, 28, 12,212, 8,115,103,184, 81, 28, 44,183,117, 22,246, 44, 72, 83, 47,
+ 85,166,215, 41,150,134,137,197,226,193, 74,165,242, 88, 69,231,220,178,127,255,254,184,119,239, 30, 0,116,174, 16, 90, 61, 73,
+146,252,132,166,233, 95, 1,212,181,148,219,140, 65,131, 6,125, 24, 30, 30,110, 6, 0,199,142, 29,131,193, 96,128,187,187, 59,
+184, 92, 46,120, 60, 30, 56, 28, 78,213,234, 32, 38,194,209,214,214, 6, 54, 22, 28, 72,173,196, 31,127,247,211, 32,118,147, 54,
+230,200,167,158,163,152, 41,133,145,209,130,107, 45, 70,171, 96, 75,248,245,233, 73,158,222, 22, 51,239,244,214,184,246, 42, 18,
+ 3,144, 6,237,223,165,103, 39, 73,146,255,244,233, 83,200,100,178, 55, 62,103,177, 88, 0,208,237, 29, 40, 23, 38, 37, 37, 5,
+ 70, 69, 69, 33, 40, 40,104,161,183,183,247, 71,215,175, 95,119, 40, 42, 42, 66, 80, 80,208,166,204,204,204,147,127,117,157,170,
+107,145,255, 47,166, 46,242, 45, 37,217,227,245, 40,152,100,177, 88, 36,146,147, 82, 13, 65, 65,189,198,165,167,167, 75, 2, 2,
+ 2, 72, 14,135, 3,101,100, 36, 52, 15, 31, 66, 34,145, 96,200,144, 33,156, 27, 55,110,152,155, 75,204, 39,165, 36,167,148,179,
+ 88, 36, 24,134,172, 55,230, 65, 42,149, 78,155, 55,111,158,131,135,135, 7,140, 70, 99, 85, 70,115,163,209,136,140,140, 12, 72,
+ 36, 18,132,134,134,218,137, 68,162,105, 38,214,163, 89, 75,119,187,232,107,103,183,127, 48,123,106, 95,113, 75,209, 37,136, 51,
+102, 66,114,236, 11,180,206, 62,143,176,193, 1,226,139, 91, 23,250, 53,151, 89, 69, 87, 51,177,154, 12,173, 86,123, 43, 38, 38,
+102,210,245,235,215,105, 0,184,122,245, 42, 19, 23, 23, 55,229,125, 70,161, 52, 77,163,180,180, 20, 52, 77,179, 42,222, 87,190,
+254, 87,239, 7,115,115,243,109, 31,125,244,209,168,180,180, 52,225,185,115,231,172,211,211,211,109, 82, 82, 82,108, 91,182,108,
+201, 94,181,106,213, 25,141, 86,207, 50, 80,140,206, 72, 25,202,115,158, 63, 79, 42,201,203,139,222,181,107,151,154, 32,136, 33,
+ 38,254,198, 48, 71, 71, 71,235,185,115,231,130,224,136, 58,180,106,237,237,193,226, 8, 45, 72, 14,207, 66,173,214, 80,201,201,
+201, 25,115,231,206,117,245,241,241,145,225,181,123,205, 36, 78,153, 76,102,243,205, 55,223,128,205, 55,243,109,231,227,215,156,
+199, 23,155,177, 56, 66,179,128,128,128, 30, 73, 73, 73,217, 97, 97, 97,142,254,254,254, 13,226,244,247,247,151, 78,158, 60,217,
+ 40, 16,154, 5,186,185,185,183,110,215,182,117,191,150, 45, 91, 14,102,179,217,198,130,130,130,180,208,208, 80,199, 1, 3, 6,
+216, 55,132,211,206,206, 78, 26, 22, 22,102,116,105,234, 30, 28,252, 97,159,142, 92,161,153, 5,155, 39,182, 84,169, 52,212,139,
+ 23, 47,210, 22, 44, 88,224,232,235,235,107,103, 10,167, 74,165,226,216,216,216,192,203,203, 11,109,220,221, 81, 86, 86,134,240,
+240,112,236,222,189, 27,191,254,250, 43, 14, 30, 60,136,246, 93,250,192,204,204, 12,217,217,217,144,203,229,156,255,244, 13, 69,
+253,236,201,108,214,125, 54,240,243,207, 63,207,158, 60,121,114,174, 80, 40,164,223,222,172,172,172,168, 49, 99,198,228,133,126,
+183,113, 96,165,107,177, 30, 75,214,211,179,103,207,190,218,191,127, 63,218,180,105,131,224,224, 96, 30, 0, 76,155, 54,141, 55,
+ 98,196, 8, 28, 57,114, 4,199,142, 29,139,245,240,240,184, 13, 96,144, 41,229, 12, 13, 13,237, 18, 18, 18,114, 51, 36, 36,228,
+241,200,145, 35,119, 76,153, 50,229,141,158, 43, 39, 59,243,145, 78,167,131,143,159,191,104,217,206,251, 99,234,227,139, 3,246,
+239,136,143,223,189,250,249,243,180,133,109,218, 88, 54, 77, 73,177,218,179,118,173, 77,229, 34,221, 6,131, 1, 25, 25, 25,144,
+ 74,165, 24, 51,102,140, 13,159,207, 15, 53,161,152, 27, 6, 13, 26, 52, 33, 61, 61, 93,242,203, 47,191, 56, 62,126,252, 88,150,
+147,147,227,120,229,242, 5,219,111,191,158,102,102, 33,225,241,178, 11, 24, 2, 0, 82,178, 33,142, 79, 70, 23,134,129,101,117,
+119,226, 59,193, 17, 66,161, 51, 54, 55,239, 98,249,242,155, 35,190, 35,195, 34,252,108,164,142,252,185,117, 28,209,110,205,154,
+ 53, 71, 79,159, 62, 61,186, 75,151, 46,199, 1, 8,107,216, 71,208,190,125,251,240, 35, 71,142, 76,232,218,181,235, 45, 0, 94,
+181,142, 34,157,157,135,252,254,251,239,214,149,239,109,108,108, 32, 16, 8,254, 32,178,184, 92, 46, 72,146,108,112,245, 86, 28,
+ 26,205,182,106,173, 69, 76,201, 89, 28, 89,243, 20,107, 62,126, 65,175,236,148,162,221, 18, 26,143,139, 71,158, 34, 31, 79,209,
+247,139,230, 24,189,192,167,183,136,194,242,191, 83, 7, 94, 80, 80,240, 73,183,110,221,142,246,237,219, 87, 27, 21, 21,133,130,
+130, 2, 56, 57, 85,141,181,115,223,129,210, 74, 36, 18,193,197,197, 5, 30, 30, 30,163,111,220,184,225, 96, 48, 24,144,146,146,
+130,252,252,252,232,255, 68,157,170,107,145,127, 24,222, 14,134, 63,243, 7,161, 85,177,182,208, 53, 0, 96, 8, 66,249, 52, 38,
+134,195,226,241,198,254,118,224, 0,159,203,229, 34, 45, 45, 13,177,177,177, 80, 93,185, 2,245,157, 59,200,203,203,131, 66,161,
+128,189,189, 61,182,239,220, 41,214, 81,204,196, 23, 47, 95,178, 24,146,169, 30,111, 80,227, 20, 79, 62,159,223,123,232,208,161,
+181, 10,178,236,236,108,244,237,219,151,195, 98,177,106,154,213,240, 54, 39, 33,179, 37, 78, 95, 57,190,204,209,145, 23, 11, 36,
+206, 6,202,163, 1, 70, 11, 24,117, 64,214, 51,224,204, 18, 52, 85,196, 19, 23,150,141,115,112, 18,177, 79,215,160,148,235,155,
+138,234,238,233,233,249,235,216,177, 99, 73, 0,232,217,179, 39,225,233,233,185, 3,128,123, 29,199, 92,174,167,147,188, 87, 82,
+ 82,130, 17, 35, 70, 88, 55,111,222,252,242,136, 17, 35,172, 43, 63,127, 87,206, 74,107,114,155, 54,109,138, 4, 2,193, 65,192,
+164, 6,182,138,211,210,210,114, 75,223,190,125,135, 31, 56,112,128, 11, 0,215,174, 93,195,233,211,167,241,252,249,115, 36, 36,
+ 36,208,126,126,126,182, 27,127, 61,186,109,203,207,123, 55, 12,238,236, 35,235,209,193,175,181, 68, 81,162,176,183,183,239,204,
+ 48,140,187,137,229,236,187,100,201,146,216,184, 87,105, 22, 36,155,195,230,114,216,124,115,115,177,189,212, 76,236,108, 37, 18,
+ 56,241, 73, 66,162, 82,169,114, 15, 30, 60, 72, 3,232,107, 42,231,178,101,203,146,227, 18,211, 44, 9,146,205,230,176, 57, 92,
+137, 68,100,249,113,112,144, 63, 0,112,193,112,229,114,121,222,238,221,187,245, 13,225, 92,180,104, 81, 76,113,169, 66,202,230,
+112, 56,108, 54,171,234, 92,138,133, 66, 91, 17,159,207,211,106,181, 89, 63,254,248,163,186, 33,156, 75,150, 44,137,125,241, 42,
+221,138, 36, 8, 22, 65,144,108,115, 51,177,181,181,133,200,214, 86, 34,180, 17,177, 89, 60,185, 92,158,181,111,223, 62,147, 56,
+245,122, 61, 55, 47, 47, 15,113,113,113,112,241,247,199,165, 75,151,208,164, 73, 19,140, 24, 49, 2,163, 70,141,130, 80, 40, 68,
+207, 64,111,204,157, 59, 23,175, 94,189,130, 94,175,231,215,196, 89, 25, 39,245, 54,100, 50, 89, 84,125, 55,207, 91,199,190, 81,
+ 78, 95, 7, 48,155,117,159, 13,172, 46,176,106,227,183,178,178,162,106,178,118,189,205,217,183,111,223,249, 87,174, 92,105,190,
+111,223,190,129,161,161,161,183,246,237,219,135,142, 29, 59, 34, 46, 46, 14,174,174,174,216,179,103, 15, 70,141, 26,117,107,211,
+166, 77, 3,163,162,162,124,220,220,220,230,213,199, 57,114,228,200, 47,125,125,125, 35,115,115,115, 3,139,139,139,189,194,195,
+195, 39, 14, 25, 50, 36,121,244,232,209,189,170, 4,163,193,112,224,204,169,227,232, 55,112, 40, 90,181,245,218, 54,126,222,126,
+239,122,158, 77,230, 57,176, 99,119, 78, 78,193, 1,141, 70, 53,130,195, 17,137,238,223,183, 58,246,243,207, 54,213,167,124,103,
+101,101, 97,192,128, 1, 28, 46,151,219,181,158,114,174, 25, 60,120,240,136,240,240,112,105,165, 85,231,206,157, 59,120,246,236,
+ 25, 82, 83, 83, 81, 90, 90,138, 94, 83, 20,248,124,213,107,238,207, 87, 49,232, 51,141, 17,191, 99, 27, 82, 5, 97, 19, 56, 88,
+155,179,111, 79,252,177,213,180,207,182,181, 97, 75,172, 56,248,237,187, 4, 20,166,104,143,213,194, 73, 4, 6, 6,238, 15, 9,
+ 9, 33,116, 58, 29,116, 58,157, 14, 64,141, 89,125,157,156,156, 4,237,218,181,195,148, 41, 83, 72,115,115,243, 77,181,149, 83,
+169, 84,106,207,158, 61,139,208,208, 80,204,156, 57, 19, 45, 90,180,128, 84, 42, 5,135,195,193,222,253,135,109, 70, 77,156,218,
+242,131, 46,221,124,218,124,208,177, 93,185,150,229,207, 17, 74, 39,215, 98, 13,169,177,238, 10,187, 40,196,164,220,197,230,129,
+153,244,131, 61, 42,197,183,159,252, 43,254,197,245,188,231,243, 66,118,196, 48,119, 59, 21,238,255, 42, 29,121,134, 56,116, 29,
+209, 20,110,190,210, 89, 98, 23,120,190,235,249, 52, 17, 13,226,244,246,246,238,242,224,193, 3,126,183,110,221,144,150,150, 6,
+ 14,167,106, 60, 69,189, 79, 57,151, 44, 89,194,215,104, 52,120,242,228, 9,198,141, 27,151,165,215,235,103,189, 79, 57, 27, 98,
+209,170,212, 34,255, 48,236,120,107,203,169,205,162,181, 4, 0, 12, 52, 78,143, 29, 55, 81, 21, 17, 17, 33,226,241,120, 72, 75,
+ 75, 67, 78, 78, 14,246,238,222, 77,245,180,179, 43, 15,118,114,146,239,221,189,155,209,233,116, 96, 24, 6,158,158,158, 24, 62,
+124,184,112,216,136,209,249,132, 92,125,216, 4, 55,143, 99,165,127,125,226,196,137,127,248,254,219,111,191,133,185,185, 57, 8,
+130,112, 48,161,114, 33, 51,150, 12,118,150,186, 89,230, 49,185,123,139,193, 18, 0,108, 51,128,109, 14, 8, 44, 0,190, 25,192,
+ 19, 65, 27, 21, 89, 76, 50,193,169, 67,187,126,234, 4,160, 33,174, 30,200,100,178,133,145,145,145,182, 81, 81, 81,140, 92, 46,
+ 71, 78, 78, 14,179,114,229, 74, 91,153, 76,182,240, 93,175, 72,118,118,246,178,126,253,250,229,141, 27, 55,206,226,252,249,243,
+ 46,227,198,141,179,232,215,175, 95, 94,118,118,246,178,247,185,210, 92, 46,151,245,252,249,115,171,229,203,151,143, 2,240,168,
+109,219,182, 69, 78, 78, 78,143,240, 58,104,178, 78,152,153,153, 85,137,172, 74,235, 26,155,205, 6,135,195,129, 76, 38,211, 21,
+ 23, 23, 83, 93, 63,112, 23,122, 90,144, 6, 25,159, 43,180, 18, 10,156,205,204, 45, 2,138,138,138,158, 18, 4,145,100,162,139,
+207,183, 67,135, 14, 28,138,225,208,159,143,237, 41,155, 54, 33,200,238,167,229,147,155,252,184,236, 51,167, 53,139, 39,121, 46,
+155, 51, 38,136,164,105,141,171,171,171, 67,101, 64,187, 9,230,115,191,246,237,219,179,105,112, 16,247, 50, 53, 47, 45, 51,171,
+252,195, 30,129, 85,150,203, 54,190,126,193,182,182,182,221, 60, 61, 61,219, 19, 4, 97,210,148,100,161, 80,232,219,170, 85, 43,
+ 54,201,226, 16,214, 82, 51, 23, 51,137,208,190,202,133, 98,105,217,201,202,214, 54,132,100,152, 50, 71, 71, 71, 59,161, 80,232,
+219,128,186,179,105,112, 97,111,103,101, 97,107, 99, 41, 9, 14,234,220, 34,176, 83, 96, 75,239,128,142,129,109, 63,104, 63,140,
+ 48, 26,229,238,238,238,118,149, 65,242,245, 88, 90, 5, 7, 14, 28,192,242,229,203,209,174,105, 83, 56, 57, 57,193,206,206, 14,
+119,238,220,193,131, 7, 15, 32,149, 74,145,159,159,143,181,107,215,226,196,137, 19,208,235,245,102, 13,189,159, 76, 17, 91,117,
+193,104, 52,146,111, 11,172,218,248,133, 66, 33, 93, 25, 36, 95, 27,206,158, 61,187,191,210,146,245,213, 87, 95,117,217,184,113,
+227,173,248,248,120, 72, 36, 18, 60,120,240, 0, 19, 39, 78,188,181,105,211,166, 46, 83,167, 78,197,238,221,187,145,156,156,188,
+179, 46,190,145, 35, 71, 46,158, 52,105,210,143,215,175, 95, 39,237,237,237, 33,149, 74, 49,120,240, 96,236,220,185,147,109, 52,
+ 26,119,133,132,132, 60, 14, 9, 9,121, 76,101, 92,156,127,244,215,149,119, 98,158, 62,198,151, 51,190,225,233,140,134, 48, 19,
+170,207,168, 37,146,114, 99,183,110,197, 71, 12, 6,213, 72, 46, 87,100,241,248,177,213,233, 93,187,170,196,214,220,185,115, 97,
+ 97, 97, 1,188, 14, 96, 70, 29, 86,157,207, 78,156, 56, 81,213, 30, 90, 91, 91,131,199,227,129,203,229,130,195,225,128,197, 98,
+225,242, 54, 49,126,158,251, 90, 95,252, 60,151,192,197, 45,132,242,125,174,157,200, 9, 94, 82,123,222,227, 47,246,180,245,241,
+234,101,141, 59,135,114,177,178, 95, 84,230,131, 35, 5,179, 53,249, 88, 87,203, 97, 31,124,251,237,183,109,242,243,243,241,240,
+225, 67, 60,124,248,176, 54, 11,144,230,212,169, 83, 63, 40, 20, 10,184,185,185, 97,208,160, 65,221, 0,248,215,242,220,160,125,
+251,246, 24, 48, 96, 0,130,130,130,208,174, 93, 59,232,244, 70, 78,200,216,207, 90, 61, 79, 46,112, 90,185,118,165, 40,242,106,
+ 56,121,235,214,117,214,254,227, 23, 45, 2,131,250,252,200, 53,115,188, 7,161,181,163, 41,245, 84, 81, 69,240,117,252, 24, 59,
+174,204, 32, 55, 95, 27, 39,217,123,122,179,187,153,153, 25, 17,253,240,177, 97,239,214, 35,233, 94,226, 65,249,247, 14, 21, 65,
+ 69,228,162,215, 4, 55,146, 6,134,255, 93,122,118,129, 64,176,241,250,245,235, 14,122,189, 30, 49, 49, 49,152, 57,115,166,230,
+ 61, 41,171, 12, 32, 46, 46, 46,184,118,237, 26,198,140, 25,163,201,203,203,187,251,159,170, 83,117, 45,242,255, 5,236,106, 10,
+178, 10, 25, 25, 25,165, 82,169,212,169, 85,171, 86,164, 78,167,123,237,146, 56,118,140,250,117,215,174, 51, 26,141,102, 6, 0,
+238,150,159,126,218,230,228,236, 28, 52, 54, 52,148, 48, 24, 12,232,215,175, 31, 47, 34, 34,194, 58, 41, 63,191,220,132, 14,231,
+141,223, 27, 63,126, 60, 54,110,220, 8, 0,152, 62,125,122,149,105,157, 48, 33, 96, 73, 98,129,190,193,253,219,155,103,136, 55,
+155,235, 59, 25, 20,205, 94,153,221, 19, 43,132,237, 65,242,216, 16,176, 64,235, 13,198,132,252, 33,143, 94, 37,180,110, 35, 44,
+ 46,114,237,221,182, 59,126,189,180,175,175,138,210, 28, 49,185,193, 17,137, 58, 72, 36, 18, 60,122,244,168,184,125,251,246,165,
+ 12,195, 88, 44, 91,182,204, 70, 36, 18,117,120,143,115,159,242,242,229,203,110,157, 59,119,158, 70,146,100,111,154,166, 47,231,
+229,229,109, 1,144, 98,226,241,159, 3, 88, 4,160,106,100,169,211,233, 64,146, 36, 24,134,193,200,145, 35, 49,119,238,220, 54,
+207,158, 61, 67,100,100,164, 85,239,222,189,239, 1, 40, 5,240, 41,128, 26,173,102,114,185, 92,253,224,193, 3, 97,100,100, 36,
+104,154,134,149,149, 21,204,205,205,193,231,243, 49,120,240, 96, 73, 88, 88, 88,175, 11, 23, 46,228,203,155, 53, 97, 9,114,178,
+148,124,137,196, 12, 14, 78, 93,167,142,254, 36,158, 97,152, 19, 13,104, 28,120, 66,182, 81, 67, 80, 90,114,205,247,155, 72, 17,
+151, 75, 8,184,108,240,105, 21,230,255,176,130,224, 50, 20, 27, 13,244,207,115,185, 92,174, 25, 31, 58, 22,143,101, 16, 17,248,
+ 83,178,196,177, 88, 44,158,128, 91,123, 60, 6,135, 36, 73,146, 36,185, 0, 76, 94,180,143,207,231,115,205,248, 76,173,156, 66,
+ 22,193, 34, 8,130,135, 90,102,162,249, 58,128,169,180, 34,241,102, 36,105,171,139,226,174, 93,187,226, 76,228, 35, 28, 59,125,
+ 25,133,105, 79,177,224,187,175,224,239,239,143,136,136,136, 58,203, 84, 25,163, 85,155,117, 89, 38,147, 69,101,103,103,127, 80,
+219,177,117,185, 12,107,177, 82,253,145,255,123, 11,248, 45,137, 71, 61, 49, 90,131,186,118,237,250,229,129, 3, 7,116, 31,125,
+244, 17,111,228,200,145,240,242,242,234, 50, 97,194, 4, 0, 64,239,222,189,177,113,227,198, 46, 19, 38, 76,192,225,195,135, 17,
+ 30, 30,174,237,209,163,199,119,215,174, 93,203,194,235, 25,157,127, 0, 77,211, 3,182,111,223,254,182,165, 16, 70,163, 17, 6,
+131,193,209,104, 52, 58, 86,180, 69,248,241,199, 77,133, 23, 47, 68,224,187,121, 75, 96,103,235,224,107,226, 61, 68,140,255,230,
+155,194, 61,107,215, 98,237,225,195,248,198,213, 85,180, 47, 54, 22, 23, 53, 26, 28,137,140, 44,172,248,157,122, 99, 51,149, 74,
+165,250,236,217,179,230, 71,142, 28,129,165,165, 37, 90,180,104, 1, 43, 43, 43,112, 56, 28,144, 44, 33, 88, 92, 41, 90,181,237,
+ 0,224, 1, 0,192, 85, 6,165,167, 27,110, 17, 4, 74, 25,178,225, 49, 69,252, 38,104,102,227, 44,184,254,229,110, 47, 75,115,
+ 59, 46,206,111, 73,199,133,205, 25, 39, 52,133, 88, 15, 35, 94,160,246,152,175,246,110,110,110,200,207,207,199,217,179,103,149,
+ 64,173,130, 12, 52, 77,255,240,211, 79, 63,125, 59,111,222, 60,190,167,167, 39, 0,248, 2,120, 88,211,190, 98,177, 24, 78, 78,
+ 78, 85,194,114,228,184,169,238, 83,102, 79, 21, 14,233, 19, 4, 54,219, 6,165, 74, 3,138,202, 13,144,218, 72,240,221,236, 16,
+193,229,246, 78,254,219, 55,253,118, 74,173,134, 63,240,199,246,128, 32,240,240,254,211, 91,222, 2, 79,128, 32,129, 12,242, 42,
+ 8, 16, 80, 16, 6, 16, 44, 22, 67, 81, 20,210,211,211,193, 48, 12,198, 12,153,152,241,217,202,112,187, 46, 99,228,112,105, 37,
+ 3,193,160,251,223, 69, 8, 88, 91, 91,251, 22, 21, 21, 33, 37, 37, 5,227,198,141,203, 42, 44, 44,188,164, 84, 42, 39,102,103,
+103, 3, 64,241, 59, 80, 86,137,121, 95, 95, 95,116,232,208, 1, 35, 70,140, 16,168, 84,170, 16,119,119,119,167,130,130,130, 78,
+127,101,125,222,214, 34,255,175,132, 86,141, 15,154,193,208, 74,187,109, 27,148,151, 47,131,119,241, 34,142,200,100, 10,141, 70,
+243, 53,128,140,138, 7,255,171,221,123,246,220, 30,120,247,174,185, 46, 62, 30,238,207,158,129, 99,105,233,219,208, 2,236,218,
+181, 11,114,185, 28,101,101,101, 0,128,205,155, 55, 67, 46,151,195,104,226,130,179,108, 46,186, 56,216,185, 34, 23, 9,160,217,
+164, 36,181,149,170,163, 68, 99,150,237,148,110,175, 44, 35,157, 16,159, 22, 32, 86, 23,233, 58, 18, 44, 29, 52,133, 42, 56,117,
+110, 1, 54,216, 93, 26, 82,198, 74,191, 63,155,205, 46,126,249,242,229,128,150, 45, 91,158, 6, 96,243, 46,241, 0,111, 33, 49,
+ 47, 47,111,198,187, 28,200, 98,177, 22, 37, 39, 39,219,237,220,185,115,218,178,101,203,152,234, 66,171,242,127, 54,155, 13,134,
+ 97, 96, 97, 97, 1, 14,135, 99,127,231,206, 29,251,128,128,128,173, 52, 77,251,214, 82, 79,198,203,203, 11,201,201,201, 96,179,
+217,176,176,176, 0,109,212, 99,201,236,169,160, 88,124,246,156, 57,115,124,135, 14, 29, 26,179,115,231, 78,131,121, 96,231, 78,
+ 69, 69, 69,207,191, 28, 51, 54,230,228,201,147,186,138, 20, 15,245, 15,241, 25,230,113, 66, 66, 2,203, 89,102,207, 98,140, 42,
+ 90,204, 5, 4, 79,127,100,120, 18, 7, 8,216, 44,134, 75,144,224, 11,132, 22, 41,153,153, 69, 52, 77,199,153,194, 73,211,116,
+116,114,114,178,208,222,206,154,173, 82,235, 20, 66, 14,195, 75,141,126,148,212,204,175,189, 59, 0,104,162, 31, 92,227,183,106,
+ 45, 76,205, 43, 16,187,186,186,154,196,169, 86,171, 31,103,101,101,177,236,237,237,217,105, 25,153,167, 44, 37, 98, 91,115, 75,
+203,142, 0,160, 47, 47,123, 64,106,181, 5, 44, 14,219,190,160,168,168, 88,173, 86, 39,155, 90,247, 87,175, 94,177, 29, 29,237,
+ 88,231, 47, 94, 57,109, 47,226,219,153,241,216,230,124,130, 32, 68, 44, 66,206, 53,210,133, 2,145,200, 46, 37, 51,179,152, 97,
+152, 90, 45,132,171, 75,199, 14,121,125,189,150, 28,174,198,141,167, 79,159,226,220,173, 56,136, 25, 29, 8, 77, 25, 46,238,254,
+ 5, 99,230,204,123,239,184,191,250,196,214, 59, 89,179,182,183,142,122,139, 31, 57,245, 4,194,143, 25, 51,102,201,254,253,251,
+171, 2, 80,226,226,226,208,179,103,207, 74, 55, 7,130,131,131, 17, 16, 16,128,184,184, 56,120,120,120, 32, 50, 50,146,207, 98,
+177,248, 99,199,142, 93,249,219,111,191,157,173,215,238,191, 99, 7, 38, 78,156, 88, 83, 96,245, 43, 0, 26, 66,234,169,152,187,
+122,175, 77,113, 81, 33,242, 11,114, 31,155,122, 30, 8,130,192,248,111,190, 41,220,174,211,225,192,253,251, 8, 21,139, 69,123,
+ 18, 19,209, 47, 32, 0,222, 61,123, 22,154,210,214, 85, 90,117, 52, 26, 13, 56, 28, 14,204,205,205, 97,109,109, 13, 46,151, 11,
+ 22, 71, 6, 54,207, 7, 36,151, 11,191,174, 62, 88,251,181, 88, 53,238, 99,108, 34, 8,148,242,121,136,230,138,106,141,213, 33,
+196, 77, 48,152, 97, 32, 87,101,224,106,165, 32,177,104, 10, 11,142, 25,231,226,164,173,158,150,230,118, 92,156,219,148,134,139,
+ 91, 51,143,107,114,177,160,226, 92,208,117, 12, 36,188, 45, 45, 45,145,145,145,129,244,244,244, 88,212, 29,224,175,138,139,139,
+ 75,226,243,249,109,108,109,109, 1,192,173,182,129, 57, 77,211, 85,113, 88,251, 14, 28,181,241,237,230, 46,248,176, 75, 27,236,
+ 61,189, 2, 95,132,108, 2,135, 69,128,162,244, 88,191,177, 63, 40,173, 2, 33, 3, 63, 35,186,247,246,240,185,124, 90, 55,201,
+160, 46,249,229, 15, 3, 1, 54,150,255,107,212, 29, 75,190,132,244, 6, 77, 88,218,216,216,137,185, 92, 46,172,205, 29,117,243,
+166,204,202, 97, 24,166,234,185,225,176,184, 6,178,220, 74, 93,148,171, 16, 90,114,212, 0, 67, 54,123,183,108, 54,127, 62, 50,
+ 51, 51,103,116,235,214,109,101,121,121,121,137, 82,169, 28, 3, 0,110,110,110, 77, 73,146,228, 3,168,203, 59,210, 20, 53,167,
+133,224, 62,123,246, 12,102,102,102,200,202,202,170,110,124, 1, 77,211,127,155, 73, 0,127, 83,248, 1,136, 6,224, 8,160, 31,
+170,165,119, 32, 43, 76,117,221, 35, 34, 34,152,136,136,136,238, 85,157, 23,195,208,198,226, 98, 48,218,215,231,150,195,225, 48,
+ 0,170,207,104, 18, 89, 90, 90, 18, 28,103,103, 16,252,215,161, 31,204,159, 56,245,213, 96, 48, 45,181, 12, 77,129, 5, 66, 15,
+166,218,160, 69, 41, 32,176,194,166, 23,102,240, 22, 34,151,103, 89,189,167, 3,140, 12, 40,208,172, 6, 22,135, 81, 42,149, 48,
+ 26,141,210,230,205,155,159, 49, 26,141,210,138,206,141,249,111, 93, 81,138,162,146, 88, 44, 22,166, 77,155,134, 74,235,143, 78,
+167, 67,110,110, 46,180, 90, 45,116, 58, 29,146,147,147, 81, 86, 86, 6,157, 78,135,231,207,159,195,205,205, 13, 44, 22,203,177,
+142,198,156, 97, 24, 6, 46, 46, 46,104,214,172, 25, 88, 4,131, 95,215, 44,198,252,153, 83, 49,202,141,198,174, 45,235,209,163,
+ 71,143,214,174,174,174,129,108, 54,155,114,112,112,224,134,135,135,159,162, 40,106, 48, 76,111,121,206,206,157, 59,183, 89,219,
+182,109,237, 44,205,205, 12,124, 30, 11, 60,131,146,225,107,139, 24,182,170, 16, 46, 46, 77,141, 16,138, 60, 66, 67, 67,169,218,
+172, 16, 53,113,126,253,245,215,142,158,158,158, 22, 82, 75, 51, 37,143,195,202,231,130, 41, 44,123,250,240, 30, 0,240,108,237,
+ 52, 16,136,218,140, 27, 55,206,216, 16,206,133, 11, 23,186,217,218,218, 90,146, 96,202, 41,189,254,223,254,118,173,174,136,224,
+112,212,224,242,218, 79,159, 62,157,104, 8,231,183,223,126,235,218,166, 77, 27, 75, 75,115,177,130,205, 97,229,112,105, 58, 71,
+ 0, 58,151,163,211,151, 8,108,109, 84, 16, 73,252, 66, 67, 67,107,229,172,180,102,133,133,133,101,188, 37,188, 81, 92, 92, 12,
+ 77,110, 12,184, 89,241,240,145,112,224,111, 43, 5,159,207,175,154,250, 94,219,237, 90, 91,140, 86, 77, 98,203,212, 99,219, 47,
+173,195, 5,184,189,117,212,219,121,179,178,179,179,225,232,232, 88,231,243,244,219,111,191,205, 11, 10, 10,202, 15, 14, 14,214,
+157, 57,115, 6, 4, 65, 32, 50, 50, 18, 89, 89, 89, 8, 14, 14, 6,195, 48,149,179,218,240,248,241, 99,244,238,221, 91,215,173,
+ 91,183,172,138,252, 90,245, 98,226,196,137, 48, 24, 12, 80, 40, 20, 40, 46, 46, 70, 68, 68, 4,124,124,124, 24,145, 72, 52,148,
+229,210,103, 69,200,164,121,157,188,218,249, 98,235,166,181, 58, 30,155,179,186, 33,207, 43, 65, 16, 24,247,245,215,133,101,126,
+126,197,251,148, 74,213,120,115,115, 81,243,140, 12,171, 71, 23, 46,216,232,245,122,147, 56, 42,173, 58,206,206,206, 85, 34,139,
+203,229,130,205,179, 5, 75,236, 13,158,117, 48, 68, 14, 67,113, 53,154,175,181, 16,227,132,153, 4,231,197,150,181,167,118, 16,
+185, 96, 69,167,145,142,225,157, 71, 57, 94, 17, 53,193,206,138,254,128,100,216, 68,248,132,245, 45,155,219, 54, 19,226,238,209,
+ 92, 92,220,154,249,187, 38, 23,139, 1, 36,214,247,156,235,245,122, 13, 69, 81, 32, 73, 18,108, 54,187,122, 76,224,237,223,127,
+ 96,217, 72, 25, 0, 0, 32, 0, 73, 68, 65, 84,255, 29,143, 30, 61, 2,170,165,237, 41, 47, 47,167, 88, 44, 22, 4, 2, 1, 0,
+ 72,234,104,239,192,225,112,192,225,112,112,237,222, 13,235, 81,195,250, 19,119,158, 92, 66,103,159,209, 40, 82,232,145, 87,166,
+ 71,169, 10,104,235,191, 0, 94,189, 79,224,105,114, 57,124,219,121,177, 88, 60,241,184,154,248, 52, 41,200, 80,166, 99,120, 81,
+ 44,221, 66,151, 41, 60,119,247,100, 92,236,141, 99, 79,159, 31,250,233,116, 98, 39,255,110,202, 10, 99, 2, 20, 10, 5, 67, 16,
+ 4, 51,107,242,188,164,125, 19, 75,168, 77, 99,158,210,108,173,224,213,127,176,169,111,106,107,107,123,199,218,218, 58,178, 66,
+ 28, 53, 53, 51, 51,187,237,232,232, 24,143,215, 19, 61, 78,230,228,228,120, 42,149,202,206,120, 61, 57, 43,173,168,168,168,103,
+133,229, 41,173, 14, 75,216, 78,185, 92,254, 21, 69, 81, 3, 43,182,143, 41,138,242, 77, 72, 72,104,227,235,235, 27,235,238,238,
+254,216,221,221,253,156,187,187,251, 41,119,119,247, 83, 65, 65, 65, 27, 43,211, 61,252,197,110,195, 63,104,145,127,152,208, 66,
+133,200,218, 81,241,138, 42,161, 5,224,218,219, 1,104, 70, 62,255,185,241,203, 47, 97,121,234, 20, 56, 9, 9,152, 48,110,156,
+185, 72, 36,218,132,215, 57,154, 58, 75, 36,146,173,139, 23, 47, 54,179, 89,181, 10,178, 27, 55,144, 26, 17, 1, 3,135,243,240,
+ 93, 74,167, 86,171,193,102,179,171, 44, 49, 98,177, 24, 20, 69,161, 38,147,239, 31, 30, 64, 35,238,102,229,197,131,135,102,160,
+193, 40,206,203,187,221, 31,157,180,192, 46, 66,238,230,145,168,228,122, 44,181,237,104,183,169,105,151,251, 74,130,173,224, 89,
+ 10,144,158,158, 1, 10,116,131,252,205, 26,141,166, 76,169, 84,194,215,215,215,250,209,163, 71,205,125,124,124,172, 42, 62,127,
+240,158, 23, 38, 80, 38,147, 29,117,114,114, 74,145,201,100, 71, 1, 4, 54,224,216,157, 55,111,222, 4,139,197,194,226,197,139,
+ 81, 94, 94, 14,189, 94,143,162,162, 34,164,167,167, 67,167,211, 33, 51, 51, 19, 47, 94,188,128, 78,167, 67,106,106, 42,180,218,
+250, 7, 36, 52, 77,195,220,220, 28, 26,181, 2, 63,175,152,143,133, 97,179, 81,246, 42, 10,153,217,121,176,180, 16, 99,198,140,
+ 25, 44,169, 84, 74,211, 52,221,140,162,168,222, 52, 77,111, 51,229, 58, 85,187,223,110,185,184,184,120,173, 89,179,166,205,252,
+ 21,219,184,230,108, 5,195, 55, 19,208, 60, 51, 62,195,107,221, 17, 19, 23,108,226,254,184, 97,221,203,187,119,239,102,193,180,
+228,157, 36,128, 91,126,126,126, 45,179,178,178,124, 60, 61, 61, 91,217, 52,117,229,243, 29,157, 74,185,142, 77,228,140, 86,115,
+159,112,106,210,117,219,182,109, 49,183,111,223,206,110, 8,167, 88, 44,110,189,119,239, 94, 47,123,123,123, 47,142, 80, 40, 80,
+149,149, 29, 49,170,148, 71, 89,150, 82, 1,105,110,249,241,137, 19, 39,162,142, 31, 63,158,219, 16, 78, 15, 15, 15,207, 21, 43,
+ 86,180,245,246,246,110,235,224,214,156, 47,116,114, 41, 18, 56, 55, 45, 18,122,251,240,225,220,236,163,173, 91,183, 62,190,123,
+247,174, 73,156, 44, 22,203, 72,146, 36, 56, 28, 14, 68, 34, 17,206,159, 63,143, 47, 39,141,134,139,147, 53, 90,121,122,162,215,
+ 23, 95,225,248,241,227, 85, 49, 60, 44, 22,171,214, 30,125,207,170, 25,167,253, 28,137, 40,108,111, 29,133,237,173,163,252, 28,
+137,168, 90,197, 86,197,247, 53,237, 99, 82,107, 84,139,187,209, 4,177,117,246,218,181,107, 63,140, 31, 63,158,215,183,111, 95,
+220,191,127, 31, 19, 39, 78,188, 21, 30, 30, 14, 0,184,127,255, 62,102,205,154,117,235,202,149, 43,152, 58,117, 42,122,246,236,
+201,187,121,243,230, 86,152,144,251,199,104, 52, 98,215,174, 93, 48, 26,141,144, 72, 36,176,178,178, 66,255,254,253, 17, 19, 19,
+ 51,117,247,238,221,241, 44, 14,231,147,126, 3,135,225,204,169,112,188,120, 30, 51,117,207,202,177, 13, 78, 10, 76,146, 36,250,
+142, 27, 87, 88,216,182,109,241, 30,185, 92,245,169, 84, 42,242,204,205,181,186,122,244,168,141, 9, 66,141,160, 40,170, 74, 92,
+ 85,138,142,202,141,205,179, 5, 91,236, 5,182,153, 63,158, 38,114, 13,220, 0, 68,243,252, 17, 87, 87,254, 44, 14,143,156, 56,
+116,190, 27,134,206,119,195,160, 57,174, 19, 68, 77,240,171,184, 9, 62,239, 59,179, 89,144,187,191, 5,228,249,122, 68,172, 79,
+ 77,211, 20, 97, 21,128, 23,166, 60,231, 52, 77,199,102,101,101,129,199,227,161, 73,147, 38, 45, 1, 84,198, 5,238,156, 60,121,
+242,244,165, 75,151,206, 6,176,180,226, 51, 73, 80, 80, 80, 91,133, 66,129,132,132, 4, 0,120, 84,135, 53,184,106,150, 97,177,
+ 60,149,239, 42,243,134, 79,235, 41,144, 74,219, 33,171, 88,135,236, 98, 29,126,253,121, 48,162,110, 46,199,163,139,161, 72,203,
+205,133,208, 97, 8, 40,163,214,203,132, 65,189,236,201,147, 39,196,205,155, 55, 9,154,166, 97, 48, 24,152,114,185,156,137,190,
+117, 11,234,235,215, 9,115,115,115,162, 75,135,110,138, 61,203,207, 60, 56,177,229,214, 35,189,170,193, 3,245,247,193,194,164,
+164,164,192,163, 71,143, 6, 1, 88,232,237,237,125, 55, 61, 61,189,211,141, 27, 55, 90, 57, 59, 59,111,122, 87,210,202,180, 16,
+169,169,169,111,108, 21,105, 33,116, 21,162,161,111,133,152, 27, 4, 96, 22,222, 99,150,125, 3,112,237, 31, 28, 12,127, 6,111,
+205, 54,124, 91,104, 85, 79, 20, 6,119,169,212,204, 96,208,103, 94,186,116, 73, 79,146, 36, 68, 34, 17,198, 79,156, 72,254,252,
+211, 79, 93, 71, 7, 6, 70,126,246,225,135,231, 34,175, 92,241, 11, 8, 8, 0,195, 48, 32, 73, 18,135, 15, 31, 86,107, 52,234,
+ 34, 23, 23, 23, 75, 83, 26,141,234, 15,144, 92, 46,175, 18, 90,101,101,101,176,183,183, 55,217,117,168,148,227,242,149,243, 81,
+ 37, 12,245, 69,122,223,196, 13,250,213,185,131, 3, 74,105,138, 93, 70, 25, 80,166,102, 80,174, 1,251, 62,105, 21, 48,222, 99,
+136, 62,185,119,192,139,235,241,119,138, 52,148,166, 65,179, 37,242,243,243,231,135,132,132, 20, 57, 58, 58, 18,230,230,230,112,
+114,114, 34, 7, 13, 26, 84,152,145,145,177,244, 93,175,136,181,181,245,168,160,160,160,211, 89, 89, 89,195,175, 95,191,222,236,
+198,141, 27,195,131,130,130, 78, 91, 91, 91,143, 50,145,226,200,188,121,243,148, 60, 30, 15, 29, 59,118, 68,121,121, 57, 42,102,
+249,212,185,153,226, 34,229,114,185,216,190,102, 17, 22,134,205, 70,113,252,125, 60,189,117, 9,215,114, 9, 44, 88,177, 14, 92,
+ 46,247,157,114,125,181,176, 21,121,123,203,204,226,102, 77, 28,153, 61, 55, 44,204,236,241,227,199,156,233, 51,103, 49,169, 57,
+197,224,245, 93,203, 66,247,249,228, 19,165, 45,250,125,220, 11,139, 23,126,227, 93,145,180,179, 78,180,182, 21,121,123,201,204,
+ 98,191,249,108,116,210,204,153, 51,133,171, 87,175,214, 4, 6, 6,170,243,242,242,132, 98,169,149, 39,219,194,210, 43, 53, 39,
+ 87, 18, 24, 24,152,252,197, 23, 95,148, 54,148,115,193,130, 5,162, 11, 23, 46,176, 67, 66, 66,140, 37, 37, 37, 18,142, 80,232,
+ 75,240, 5, 29, 10, 74, 74, 44,134,135,132, 36, 14, 31, 62, 92, 85,145,176,212,100,206,239,191,255, 94,244,226,197, 11,118, 96,
+ 96,160, 33, 55, 55,215, 76,108,109,227,195,178,180,242, 79,201,201, 51,239, 16, 16,240,106,250,244,233,202,186,202, 89, 93,164,
+152,153,153,101,117,238,220, 25,235,215,175,199,143, 63,254,136,143, 62,250, 8, 49,207, 99,208,111,250,108,180,249,124, 22, 78,
+221,185,135,172,172, 44, 44, 91,182, 12, 62, 62, 62,224,114,185, 47,106,124, 30,167,198, 19,143,115, 65, 60,206, 5, 65, 76,141,
+ 39, 42,223,215,106,217, 90, 90,134,234,251,215,180,223,163,239,107,182,116,249, 57, 18, 81,117,197, 97,213, 39,182,134, 15, 31,
+254,101,101, 10,135, 79, 63,253,244,214,166, 77,155,186,124,250,233,235,129,118,199,142, 29,177,124,249,242, 46, 11, 22, 44,184,
+181, 98,197, 10,244,234,213, 11,238,238,238,245, 78,124,161, 40, 10, 70,163, 17,163, 71,143,134,209,104, 68, 65, 65, 1, 94,190,
+124,137, 29, 59,118,128, 97, 24, 1, 0, 56,202,156,219,243,120, 60, 60,137,126,168, 90,248,105,192,111, 13,176,100, 17,213, 7,
+ 49, 10,133, 2,195, 63,255,188, 48,179, 69,139,226,109,133,133,170, 73, 82,169,200, 53, 45,205,202, 76,167,115, 66, 29,113,137,
+ 4, 65,128,166,233, 42, 97, 85, 41,184,222,222, 42, 58, 74,147,160, 87,209,103,111,236,207, 6, 0,116, 27, 43,195,160, 57,174,
+ 19, 28, 61, 68,155,187,142,121,109,244, 62,190, 60,137, 41,207,166, 86,195,128,216, 6, 88,172,239,223,191,127, 31,150,150,150,
+ 8, 9, 9,225,147, 36,185,170,114,188,138,215,185,179, 54, 84,114,241,249,252,181,161,161,161,100,105,105, 41,158, 62,125, 10,
+ 0, 87,106,107,151, 24,134,169,170,187,162,152, 0, 69,243,112, 59,250, 60, 46,222, 56,134,148,172, 2,164,229,107, 0,182, 5,
+ 52,202, 76,232,213, 89,208,149, 70, 67,174, 21,153, 84, 96, 46,151, 91,224,237,237,205,248,251,251, 51, 12,195,224,213,171, 87,
+198,212,180, 52,227,195,141, 27,153,103, 83,166, 16,102, 47, 95,114,133, 66, 33,225,230,230, 6,129, 64, 64, 11, 4,130,162,255,
+ 96,231,253,151,164, 91,248, 11,210, 66,252,153, 86, 45, 6,255, 76,228,224,205,217,134, 85, 9, 76,107, 74, 88, 10,198, 92, 56,
+242,216,214,159, 45, 66, 70,143, 85,250,248,248, 72,157,156,156, 64, 16, 4, 6, 15, 25, 66, 4, 93,191,110,198,145,201, 96,253,
+193, 7, 85,238,136,203,151, 46,225,252,249,243,202, 51,191,159,112,154, 56,105,210, 0, 0,123,235, 40, 12,155,207,231, 87,253,
+110, 78, 78, 14,248,124,126, 85, 76,132, 92, 46,135,173,173, 45,114,114,114, 76, 93,249,122,223,220,176,123, 97,249, 1,243,221,
+ 2,204, 56,196, 57,101, 46, 40,134, 1,135,160, 0, 53, 3, 3, 5,104, 13, 12,218,187,178,172, 46,170,141,210,136,251,225,201,
+ 0,246, 53,228,236,105,181,218,171,143, 31, 63,158, 66,211,244, 49, 0,228,245,235,215,233,216,216,216, 47, 97,122,224,250, 31,
+205,246, 34,209,156,200,200, 72,171, 57,115,230,148, 68, 68, 68,148,245,239,223,223, 98,199,142, 29, 86, 61,123,246,156, 83, 84,
+ 84,116,200, 20, 67, 96,122,122,250,222,140,140,140, 47,253,253,253, 81, 92, 92, 12,189, 94,143,168,168, 40,120,120,120,224,209,
+163, 71,104,217,178, 37, 30, 62,124,136, 86,173, 90,129,162, 40,104, 52, 26,208, 52, 77,213,215,152, 23, 23, 22, 0, 69,233,200,
+190,127, 14, 47,159, 69, 33, 50,155,192,150, 67,167,209,164,153,219, 59,229,169,105,105, 39,106,235,104,107,125,113,245,146,239,
+237, 82,175, 30, 70,248,174, 45,244,181,115,231,218,240,204, 48,165,251,232,175,134,233, 12,104, 10,128,215, 41,192, 31,125,165,
+ 47, 40, 81, 51,228, 70,198,214,157, 96,177,165,157,168,173,189,141,245,133,127,173, 90,106,246,234,252, 30, 28,217,190,158, 57,
+190,255,160,143, 6, 8,104,219,182,109, 95,146, 36, 45, 1,104, 42,226,188, 76, 90,218,166, 38,206,203,167, 79,251,105,128,128,
+147, 39, 79,246, 21,137, 68, 14, 0, 12, 42,149, 42,233,125, 56,175, 68, 68,248, 85,150,147, 32, 8, 59, 0,122,134, 97, 94,161,
+129, 75,240,140, 24, 49, 98,249,172, 89,179,194, 40,138,178,173, 54, 58,103,173, 93,187,150, 77,211, 52,139, 97, 24, 61, 73,146,
+250, 11, 23, 46, 80, 70,163, 49, 91,163,209,124,254, 62,173,200,176, 97,195,112,239,222,189, 37,120, 61, 9,195, 84,107,245, 27,
+113, 90, 21, 75,246,188, 51,255,245,235,215,151,125,242,201, 39,115, 15, 29, 58,244,114,211,166, 77, 3,167, 78,157,138,195,135,
+ 15,163, 69,139, 22,120,242,228, 9,230,207,159, 15, 0, 93, 22, 44, 88,112,106,231,206,157,238,169,169,169,107, 77,176,104,192,
+104, 52,226,224,193,131, 24, 60,120, 48,108,109,109, 33,147,201, 64, 16,196,213, 73,147, 38,253, 4, 0, 44,130,197, 5, 0,173,
+ 70,171,245,244,244, 55,217,130,203,229,114,171,218,186,220,220,220,170,153,130,125, 62,249,164,240,215,213,171,241,155, 90,141,
+ 73, 82,169, 40,211,217,217,241,212,171, 87,159, 61,127,221, 56, 51,117, 89,117,234, 19, 89,166,134, 52,168,115, 48,239,247,149,
+ 41, 14, 0, 62,234, 54, 86,134,110, 99,101,240, 31,100, 71,144, 44, 2,207, 46, 22, 33,230,114,241,113,131, 28, 87,209,176,229,
+114, 98, 87,173, 90,117,170,123,247,238, 3, 91,183,110,141,201,147, 39,127,177,107,215, 46,174,193, 96,152,137,127,167,121,176,
+ 32, 73,114,233,246,237,219, 63,179,178,178,194,205,155, 55,113,227,198,141,171, 0,210,107,107,151, 0, 84,229,204,106,226,210,
+ 82,243, 34, 85, 33,202,207,186,141, 91, 55,127, 71, 11,159,175, 32,116, 24, 0, 43,207, 21,208,199,255, 8, 93,209, 69, 88,185,
+244, 71,102,234, 43,176,216,252,152,250,130, 80, 24,134,121,158,153,153,233,238,238,238, 78,164,164,164, 24, 1, 48, 20, 69, 49,
+250,174, 93, 13,109, 86,175,230,196,124,241, 5,209,233,197, 11, 22, 67, 16,116, 84, 84, 20, 0,196,253, 55,122,241,202,116, 11,
+ 49, 49, 49,181,165, 91,104, 16,188,189,189,187,220,184,113,131,175,209,104,112,237,218, 53,116,232, 80, 53,183,235,191,154,253,
+190,186, 22,249,135,225,179, 26, 62,219,241,134, 69,235,141, 27,155, 38, 56,173, 90,182,164,184, 36,118, 15, 30, 48, 64,245,248,
+241,227,170, 81,159,230,193, 3, 40,207,159, 7, 69, 81, 96, 24, 6, 55,174, 95, 71,232,216,177, 10, 14,139,248,213,213,181, 25,
+ 67, 48,111,228,110,233, 93,195,232, 33, 36, 36, 36,164,170,241,201,200,200,128, 88, 44, 6,143,199, 3, 77,211, 48, 26,141, 96,
+177, 88,176,176,176,128,209,104,172,201, 4,243, 54,167,129, 42, 86, 14,223,217,111, 76,142, 76,161,103,166, 88,186,162, 41, 87,
+ 88,245,112, 58,152, 19, 24,232,195,129, 13, 59,159,185,178,246,195,108, 90, 91, 52, 28,127,156,209, 85,223,148,255,150,237,218,
+181,251, 41, 52, 52,148, 4,128,222,189,123,147,237,218,181,219,140,186,151,202,169,147, 83, 32, 16,240, 1,224,244,233,211,197,
+ 47, 95,190,252,232,244,233,211,197,213, 63, 55,145,115,199,154, 53,107, 32, 18,137, 96, 52, 26,161,211,233,170,226,179,170,191,
+234,245,122,216,216,216,224,204,153, 51,160, 40,234, 76,125,229,116,105,218, 12,132,109,115,236, 61, 29,137, 27,133,220,119, 17,
+ 89, 85,156,205, 29,196,173, 28,108,172, 47,253,107,229, 50,219,146,196, 40,100,102,102, 50, 23,206,159,185,171, 1,178,202,202,
+177,176, 84,137, 86,106, 29, 4, 29,220,145,126,105,251,119,204,130,110, 48,160,230, 89,131, 85,156,109, 28,196,173,156,108,173,
+ 47,172,251,215, 74,179,210,196, 40,228,228,230,226,236,153,211,143, 53, 64,165,187,113, 2, 77,211, 94, 52, 77,123, 1,152, 80,
+135,120,105, 16,167, 74,165,242, 86,169, 84,222,127, 38, 39,195, 48,222, 12,195,152,204, 89, 61, 38,106,195,134, 13,241, 57, 57,
+ 57,161,249,249,249,193,149, 91, 73, 73, 73,111,133, 66,209, 67,165, 82,117, 85,111,104,102,161, 82,169,236, 20, 10,133,163, 70,
+163,105, 15, 32,170, 1,247,124, 21,170,103,157,206,201,201, 89,156,147,147, 67,212, 87, 78,214,231,241,196,129,117,223,252,190,
+125,251,118,199,247,228,127,163,156,133,133,133,199, 14, 29, 58,228,235,230,230,230, 62, 97,194, 4,108,219,182, 13,155, 54,109,
+210, 2,192,206,157, 59,181,213, 44, 89, 46,169,169,169,254,181,184, 13,123, 87,179,150,236,235,211,167, 15,115,227,198, 13, 12,
+ 30, 60,184, 42,145,232, 47,191,252, 2,163,209, 40,239,213,171, 23, 13, 0,106,141, 74,206,208, 12,116,250, 90,253,239,127, 56,
+159, 60, 30,239,227,234,249, 2, 43,147, 49,243,120, 60, 48, 12,131, 86, 93,186, 20,150,250,248, 20,239, 42, 43, 83, 45,246,246,
+ 54,255,204,211,115, 66,107, 96,108, 77,156, 4, 65,188, 97,213,121,123,107,128, 37,171,122, 57,243,213,217,152,252,251,202,148,
+243,149,150, 45,129,132, 13, 77,185, 17, 39, 86,167, 20,104, 10,240, 75,109,226,167,174,186, 23, 23, 23, 79, 95,189,122,181, 86,
+ 42,149, 98,216,176, 97, 88,177, 98,197,164, 46, 93,186,148,217,217,217,221,107,209,162,197,179,145, 35, 71,230, 68, 69, 69, 77,
+ 15, 10, 10, 66, 66, 66, 2,214,173, 91, 87, 90, 82, 82, 50,166, 46, 78,130, 32,170, 44,121,131,250,245, 46,254,121,243,122,186,
+ 87,247, 47, 33, 18,154,195,192,113, 65,177,194,128, 18, 37, 3, 29, 63, 0, 60, 46, 31,193,129,109,113,239,194, 30, 21,165, 83,
+238,173,239,158, 87, 40, 20,199,199,143, 31, 47,231,114,185,208,233,116, 12,135,195, 1,255,117,220, 49,205,249,232, 35,125,167,
+216, 88, 35,197, 48, 52, 65, 16,248,250,235,175,149, 37, 37, 37,135,222,229, 57,106, 0,170,115,254, 89,233, 22,122,191,213,255,
+252, 25,105, 33,254,138,186,255,147,177,163,134,237,223, 22,173,202, 41,149,149,175, 4, 65, 83, 20, 69,195,213,205,213, 44, 53,
+ 37,125,203,136, 17, 33,159,246,237,219, 79,212,175, 95, 63, 65,219,248,215,163,209,211,167, 79, 35, 60, 60, 92,117,241,226, 69,
+ 57,159,195,218,233,210,196,197,158,162,104, 16, 4, 93,167, 26, 54, 51, 51,155, 57,111,222, 60, 97, 89, 89, 25, 54,109,218, 68,
+251,250,250,146, 98,177, 24,122,189, 30, 59,119,238, 52,180,109,219,150, 67,146, 36,202,202,202, 64,146,228, 11, 19, 43,248,180,
+ 44, 61, 43,248,167,160,161,225,254,211, 38, 90,183, 9,234, 36,237,225,226, 4,195, 7, 12,178, 51, 82,240,242,202,197,146,231,
+ 23, 54, 22, 65,147, 55, 20,245, 47, 15, 84, 83, 71,176,232,226,197,139,118,211,167, 79,103, 52, 26, 13,145,158,158,206,172, 92,
+185,210,110,242,228,201,139,178,179,179, 71,189,227, 69, 33, 74, 75, 75, 65, 16, 4, 93,209,144, 84,142,250, 27,226,151,139,217,
+187,119,239,201, 33, 67,134, 12,234,213,171, 23,226,227,227,171, 92,132,213,133, 86,229,236,195, 85,171, 86,149, 2,152, 91, 31,
+ 41,135,195,193,166,189,199, 80, 90, 82, 8,123,123, 25, 4, 66, 33,222,117,134, 37,143, 36, 23,255,176,236,123,187,194,184,123,
+ 68,204,221, 72,250,232,211,188,124, 35,197,212,156,241,191, 60,155,169, 80,255,117,143,102, 72,214,226, 31, 86, 46,181,168,116,
+107, 30,138,206,145, 19, 20, 51,253,189, 30,145,127, 10,231,127, 24, 50,153, 12, 57, 57, 57,132, 76, 38, 99, 42, 98,180,152, 58,
+132,214,155, 55,248,107,119, 25, 81,151,219,240, 93,249,147,147,147, 87,126,240,193, 7,223, 36, 36, 36, 28,109,211,166,205, 84,
+ 0, 77,180, 90,109,233,130, 5, 11,254,181,115,231,206, 79, 77,177,100, 1,192,225,195,135, 55, 78,156, 56,241,252,128, 1, 3,
+190,163,105,186, 93,181,142, 61,217,206,206,174,202,133, 91,144,151, 27, 54,229,211,209, 97, 10, 69,137,201,121,238, 36, 18,201,
+103, 11, 22, 44, 16, 40,149, 74,108,221,186,149,110,219,182, 45, 89, 57, 40,218,191,127,191,177,101,203,150,236,144, 47,191, 44,
+220,144,155,139,229, 55,111, 42,195,188,188,124,119,189,124,217, 30, 52,189,175, 54,171, 78, 77,150,172,202,176,139,119, 68,118,
+133,216,250, 5,192, 71,157, 70, 56,224,228,154, 20,148,164,234,254, 5, 35, 94,193,132,101,129,106, 64,230,241,227,199,131,243,
+242,242, 78,126,255,253,247, 22,237,219,183,135,151,151, 23, 71, 34,145, 4, 84,166,139, 41, 43, 43,195,229,203,151,177,109,219,
+ 54,221,243,231,207,135,212,229,174,162, 40, 42,191,101,203,150,149,231,129, 33, 8,162, 72,174, 37, 44,142,180, 14,144, 76,152,
+114,148,184,245,240, 14,178,245, 52,180, 6, 26,174,110,126,232,241,209, 6,156, 58,247,140,202, 78,141,141, 53,168, 75,126, 53,
+161,188,175, 18, 19, 19, 79, 44, 91,182,108,196,119,223,125, 39, 44, 44, 44,164,180, 90, 45,125,236,216, 49,214,132, 9, 19, 40,
+134,205,166,185,108, 54,102,206,156,169, 46, 45, 45,253, 29,248,143, 46, 48,253,151,164, 91,248, 11,210, 66,252,105,214,172,234,
+175,255, 95, 80,227, 19, 74,179,200,219,219,182,255,252,241,225,131,135, 28, 88, 44,242,255,216,187,238,248,166,170,247,253,220,
+123,179, 71,211, 52, 29,105, 58,104, 89,101,149, 85,246, 6, 65, 65, 64, 81,100,124, 17, 4,190, 96, 1, 81, 4, 20, 28, 56,160,
+ 44, 65,252,130,130,140, 10,202, 16,148, 41, 27,101, 72,109,217,180,128, 80,202, 30,221, 35, 77,147, 54,105,246,205,253,253,209,
+ 36,166,165, 35, 41, 69,193, 95,158,207,231,126,146,155,123,243,228,220,147,123,207,121,206,123,222,243,190,193,119,238,222,189,
+240,242,208, 97, 89, 71,143, 30,149,113,124,125, 59, 2,176,153, 38, 79, 62, 99, 54,234, 85, 7,246,238,141,168, 95, 63,178,141,
+ 61,169, 52, 99,163,200, 83,213,253,160, 86,171,213, 37, 38, 38,150,126,244,209, 71, 68, 70, 70,198, 86,185, 92, 62,242,240,225,
+195,226,161, 67,135,234,211,210,210,118, 5, 7, 7, 15,233,211,167,143,207,251,239,191,111,212,106,181,158, 36, 30, 77,101, 10,
+138,154,159,255,108,217,235,231,151,174,121, 30, 44,170, 27,140,108,192,102, 57, 5,115,201, 81, 0, 91,225, 65,188, 35, 87,136,
+ 68,162, 54, 66,161, 16,151, 46, 93, 42,234,212,169,147,201, 96, 48,112, 22, 46, 92,232, 47, 18,137,218,212,182,226, 25,134, 97,
+138,138,138, 96,179,217, 88, 0, 8,251, 43,108,158,175,197,255,207,203, 47,191,188,119,251,246,237, 47, 12, 26, 52, 8, 13, 27,
+ 54,132,197, 98, 65,147, 38, 77, 96, 50,153, 16, 21, 21, 5,163,209,136,121,243,230, 65,163,209,204, 68, 53, 57,207, 8,130,128,
+213,106,117, 58,219,134,134, 69,148,197,233,121,140, 48, 22, 34, 54,217,240,198,129,239,145, 95,168,180,109,191,156,151, 87,106,
+166,251,223, 46, 40,189, 86,241,188, 82, 26,186, 62,227,167,101, 1,128,209, 86,125,198,121, 17, 23, 13,111, 30,252, 14,121,249,
+ 74,252,156,146,163,214,153,109, 3,110, 86,194,233, 81, 57,159, 17,206,152,121,105, 24, 54,205,253,115, 31, 7,238, 10,170,170,
+112, 41, 23,196, 69,225,247, 12,214,125, 95,105,140,172,199,228,223,123,235,214,173,189, 0,144,154,154,154, 49,106,212,168, 15,
+239,223,191, 63, 31,192,161, 7, 15, 30,172,243,132,232,251,239,191,191, 5,224,191,213,157,243,211,178,255,238, 1,176,199, 19,
+222,146,146, 18, 67,114,114,178,225,253,247,223, 39, 50, 50, 50, 14, 7, 7, 7,191,112,228,200, 17,225,208,161, 67,141, 87,175,
+ 94, 61, 30, 18, 18,210,179, 95,191,126,226, 67,231,206,101,149,222,185,115,224,192,253,251, 97, 22,155,237, 64,117,207,103, 29,
+139,172,114, 98,107,207,130,251, 75,246, 46,185,223,207,102,196, 46, 83, 17,206, 0,200,124, 12,206, 63, 78,157, 58,213, 98,204,
+152, 49,219, 7, 15, 30,220,181, 69,139, 22,168, 87,175, 30,110,222,188,137,130,130, 2, 92,185,114, 5,251,247,239,223,111, 48,
+ 24,106, 76,168,173, 82,169, 30, 77, 79,196,151,133,108,252,118,238,254, 11, 73, 29,155,244, 24, 52, 78,208, 50,196, 6,147,153,
+ 65,198,195, 59,152,247,233,250,210,156,135,183, 82,205, 86,243,171,112,115,161,142, 94,175,143,255,250,235,175,217, 7, 14, 28,
+ 24,180,106,213, 42,159,136,136, 8,138,195,225,144, 0,152,139, 23, 47, 50,211,166, 77,211, 41,149,202,131,197,197,197,241,127,
+115, 31,253,199,221,187,119, 99, 40,138,170,211,112, 11,143, 17, 22,194,139,186, 68,131, 6, 97, 45, 26, 69,132, 76,110, 88, 47,
+108,106,131,136,240,177,149, 57,185, 55,244,243,243,105, 16, 25, 26,219,176, 94,216,212, 70, 17, 33,147, 27, 52, 8,107,225,134,
+105,177,161, 68, 34, 57,172, 80, 40,218, 2,128,175,175,239, 16,169, 84,122,205,215,215,119,136,125, 20, 56, 68, 44, 22, 95,143,
+142,142,126,243,111, 52, 87, 86,203,217,164, 73,147, 81, 90,173,246,173, 38, 77,154,140,114,236,223,185,115,199,185, 95, 27,206,
+240,240,240,190, 23, 47, 94,252,207,178,101,203, 94,107,220,184,241,144, 69,139, 22,189,246,203, 47,191,252, 39, 44, 44,172,125,
+ 45, 56,121, 0,126,100,179,217,121, 92, 46, 55,159,205,102,231, 57, 54, 22,139,149, 71, 81, 84, 30,128,117, 85, 88,203,250,185,
+140,114,146,228,114,249, 3,185, 92,254, 32, 56, 56,248, 65,112,112,240, 3,133, 66,241,200, 22, 16, 16,144,228,110,125, 54, 11,
+ 22,119,239, 84,207,231, 84, 43,133, 56,169,185, 92,212,172, 46,254,163,102,193,226,238, 29,235,249,158,106,165,240, 73,252,255,
+198,217, 54, 24, 12,179,182, 25,195,172,109,198,180, 13, 6, 83,211,126, 93,154,253, 21, 10, 5,163, 80, 40,230, 62,169,169,132,
+ 42,248,255,246,231,189, 14, 57, 27,250,248,248,252, 84,175, 94, 61, 71, 91,247,146, 68, 34,249, 93, 44, 22,191,100,111,235, 94,
+ 18,137, 68, 9,209,209,209,227,106,226,148,201,100, 23,131,130,130,114,237, 91,142, 92, 46,207,145,203,229, 57, 65, 65, 65,217,
+ 65, 65, 65,217,129,129,129, 89,142, 77, 42,149,158,173,229,181, 7, 1,232, 12,160, 61, 0, 73, 29,214,103, 3, 0,147,236,109,
+208, 23, 0,222, 4,208,186, 14,254, 35,130, 45,144, 77,225, 73,195, 79,177,197,129, 37,108,113, 96, 9,207, 55,236, 84, 53, 41,
+120,220,225,108, 42,147,201, 22, 74, 36,146, 95,124,124,124, 18,125,124,124,246, 6, 4, 4, 44, 2,208,244, 31,186,151,196, 0,
+ 54,160, 44, 62,211, 33,148, 77,133,239, 69,217,162,130,136,167,240,158,255,255,140,216, 74, 12, 42,248, 59,162, 64,245,243,114,
+122, 57,189,156, 94, 78, 47,167,151,243, 25,228, 36,189,245,233, 21, 90, 30, 10,173,114,155, 67,104,177,188,117,227,133, 23, 94,
+120,225,133, 23,143,192,230,173, 2, 47, 60, 68,165, 83,203, 68, 53,170,212,147, 88, 83,181, 81,182,199,188,156, 94, 78, 47,167,
+151,211,203,233,229,244,114,254,191,227,252,127,129,191, 43,121,140,215,172,234,229,244,114,122, 57,189,156, 94, 78, 47,167,151,
+243,223, 14,239,212,161, 23, 94,120,225,133, 23, 94,120,225,197, 19, 66,188,139,224, 42, 55,133,232, 21, 90,158,131, 4,240, 22,
+128, 97, 0, 26,161, 44,155,253, 78, 0,171, 81,187, 57,125, 9,128, 15, 1,116, 67,217,234,156,123, 0, 18, 81,182, 58, 71,235,
+173,238,202, 17, 16, 16,240, 49,155,205,150, 2,101,169, 77, 28,175,174,239,105,154, 86, 23, 23, 23, 47,122, 66, 69,160,224,102,
+ 4,101, 71, 89, 93,203,230,250,106,177, 88,158,100, 57,189,120, 58,209, 68, 38,147,253,168, 82,169, 70,195, 37,201,178, 23, 94,
+252, 27, 16, 24, 24, 56,217,108, 54,127,194,225,112, 22, 22, 20, 20,172,249,127,116,233,143,136,172,114, 66,235,192,129, 3, 9,
+ 0, 48,120,240,224, 94, 0, 32,149, 74, 79,147, 36,217,192,147, 95,176,217,108,247,212,106,117,149, 1,212,164, 82,233,105,138,
+162, 30,225,180, 88, 44, 62, 44, 22,171,164,178,239, 88,173,214,204,226,226,226,246, 79, 73, 37, 18, 0, 14,248,249,249, 25,230,
+207,159,191,186,119,239,222,225,217,217,217,214,217,179,103,247,188,124,249,242, 32, 0, 47,122, 40,182,186, 16, 4,177,177,109,
+219,182,123,198,142, 29,187,189, 83,167, 78,220,194,194, 66,159,157, 59,119,134,110,218,180, 41,217,102,179,141, 70, 53,137, 86,
+255, 63,131,205,102, 75, 51, 51, 51,125,128,178,121,112,187,176,130,197, 98,129,197, 98,129, 78,167, 67,155, 54,109,234,252,119,
+131,131,131, 99, 8,130, 88, 37, 22,139,219,107,181,218, 11, 0,166,230,228,228, 92,246,164,172, 86,171, 21, 12,195, 56,203,217,
+162, 69, 11,239, 31,234, 25, 38,114,185,220, 1, 81, 81, 81, 29,141, 70, 99,209,189,123,247,206,211, 52,253, 25,234, 46, 71,155,
+ 47,128,207,120, 60, 94,167, 70,141, 26,133,223,186,117, 43,195,108, 54,159, 67, 89, 50,100, 77, 93,136,172, 94,189,122, 37,125,
+251,237,183,254, 83,166, 76, 73, 74, 76, 76,236,238, 21, 91, 94,252, 83, 8, 15, 15,151,234,116,186,245, 0, 98,216,108,118, 48,
+159,207,135, 64, 32,200,229,241,120,151, 4, 2,193,132, 83,167, 78,169, 61,229,164,105,250,179, 7, 15, 30, 4,119,238,220,121,
+105, 80, 80,208, 60,165, 82,105, 48,155,205,199,139,138,138,102, 2, 40,174,238,187, 21,181,200, 51, 38,178, 92, 95,225, 16, 93,
+ 44,251,133, 49, 0,122,151, 83, 96, 44, 86,216,195,135, 15,131,248,124, 62,108, 54,155,179, 51,171,184, 57, 62, 55,153, 76,104,
+217,178,165,185,134, 14, 39, 60, 35, 35, 35,136,203,229, 58, 63, 51,153, 76, 8, 13, 13,181,101,102,102, 6,217,211, 30, 56, 97,
+ 52, 26, 17, 22, 22,246, 52,229, 60,122, 75, 38,147,105,210,211, 51,218, 24,140,230,184, 55,223,249,232,227,209,195,158,247, 59,
+125,250,180,237,197, 23, 95, 52, 38, 36, 36,188,133,178,196,169,110, 53,230, 4, 65,108,154, 61,123,246, 60,190, 80,226,127,226,
+116,170,113,211,206,131, 89,109,155,212, 39,102,206,156, 73, 77,155, 54,237,143,152,152,152, 31,109, 54, 91, 59,120, 96,217,242,
+243,243, 59,194,227,241, 34,237,245,151, 94, 84, 84,244,194, 83,120, 67,178,240,104,240,216,202, 62,171, 17,133,133,133,208,235,
+245,143,108, 45, 90,180,120, 18,142,136, 44, 54,155,189,119,241,226,197,161,185, 57, 57,248,223,242,229,157, 81,102,201,236,236,
+206,151,243,243,243, 31, 41,103,179,102,205,224,133, 71,248,112,222,188,121,139, 95,127,253,117,208, 52, 13,189, 94, 31,114,251,
+246,237,232, 79, 62,249,228,213, 59,119,238,116, 4,112,247,113, 7,227, 81, 81, 81,105,211,167, 79,151,117,236,216, 17,246, 44,
+ 21, 33,137,137,137,157, 55,108,216,240, 70,122,122,122, 51, 0, 5,143,243, 3, 50,153,236,199,239,190,251,206, 95, 40, 20, 98,
+223,190,125,254,125,251,246, 77, 76, 73, 73,233,241, 24, 98,139,244,247,247,159, 6,224, 57,155,205,198, 5,112,174,168,168,104,
+ 1, 60,143,234,174, 16,139,197,187, 72,146,172, 15,252, 21,141,158, 36,201, 0,130, 32,148,142,207, 8,130, 8,178,217,108,103,
+ 84, 42, 85, 87,239,237,248,108,195,223,223,127, 98, 94, 94,222,183, 60, 30,143,227,231,231, 7,161, 80, 8, 22,139, 5, 22,139,
+ 85,143,199,227,213,227,241,120, 3,251,244,233, 51,245,247,223,127,175, 54,194,126,151,182,242,241, 32,137, 56,138, 32, 41, 0,
+ 32,217, 34,137,175,175, 47,226,226,226, 68, 67,134, 12, 17, 1, 64, 82, 82,210,216,113,227,198,245,205,204,204,108, 89,149,216,
+170, 76,139, 60, 67,136,175,174,195,131, 93, 61, 38,148,123,114, 73, 18, 92, 46, 23,103,207,158,133, 59,193,202, 29, 41, 18,170,
+109, 13,236, 17,198, 47, 95,254,203, 0,224,232,104,184, 92, 46, 78,157, 42, 31, 84,190, 75,151, 46,206,135,253,239,194,176, 22,
+101, 65, 30,119,188, 93, 86,174,225,171,202,162,107,239,120,187, 25,122,126,245, 16,195,166,205, 29, 89,106, 48,119, 0,160, 83,
+ 23, 21, 21, 93,216,189, 59,187,109,147, 38,156, 31,127,252,177, 99,104,104,232, 48, 15,132,214,135,237,218,181,219, 69, 9,124,
+ 3,198,142, 27, 63,118, 2,139, 52,191, 49,233,253,133, 25, 57, 74, 93,108,108,236,238,125,251,246,141, 93,178,100,201,245, 89,
+179,102,125, 8, 96,142,187,229,231,243,249,145, 55,110,220,136,162,105, 26, 45, 90,180,120, 26,211, 24,180, 69, 89,240,189,215,
+ 1,108,179,127, 54, 10,101,145,251, 99, 0, 92,242,132,204, 97,193,170,108,171,107,132,134,134, 54, 27, 51,102, 76,128, 74,169,
+196,255,150, 47,119,124,220, 30, 53, 76, 35, 58,158, 31,147,201,132,215, 94,123,109, 12, 77,211, 44,135, 8, 52, 26,141, 38,141,
+ 70, 99,192, 95,142,165, 5, 0,158,119,163, 56, 13, 68, 34,209,151, 0, 98,244,122,125, 40, 0,136, 68,162, 44,155,205,182, 71,
+167,211,205,193, 95, 9,124, 61, 30,224, 2,136, 70,213,169,160,152,197,139, 23,223,250,232,163,143,238,254, 3,156,145,114,185,
+124,209,240,225,195,113,240,224, 65, 28, 58,116,200, 34, 16, 8, 88,227,198,141, 35,166, 78,157,234, 55,125,250,244,129, 0,190,
+126,204,191,121,224,188,121,243,100,205,155, 55,199,206,157, 59,113,229,202, 21,125, 84, 84,148,160,119,239,222, 96,177, 88,178,
+143, 63,254,248, 69, 0, 27, 31,231, 7, 84, 42,213,130,247,223,127,127,211,182,109,219,124,238,221,187,135, 85,171, 86, 5,140,
+ 28, 57, 50, 33, 61, 61,189,151, 7, 98,139, 7, 96, 26,128, 62, 20, 69,245, 24, 55,110,156,245,157,119,222, 97,147, 36,105, 89,
+190,124,121,224,134, 13, 27, 70,178,217,236,152,194,194, 66,119, 6,105, 36,128,184, 9, 19, 38,252,247,247,223,127,247, 59,127,
+254, 60,215,223,223, 31, 52, 77, 59, 45,197, 54,155, 45,200,113,207, 90,173, 86, 52,107,214, 44,204,229,251,130,103, 85,104,144,
+ 36,105,182,217,108,108, 0,124, 0,198,154,246,255, 77, 34, 75, 38,147, 77, 81,169, 84,171,131,131,131, 33,151,203, 31,233,107,
+141, 70, 35,248,124, 62, 39, 56, 56,248,187, 33, 67,134,176,247,238,221, 91,229, 20, 32, 65, 17,159,237,251,105,126,168,204,207,
+ 7, 0,176, 98,237,175,165, 0,240,203, 47,191, 32, 59, 59, 27,126,126,126,104,217,178, 37, 53,127,254,124,197,204,153, 51,255,
+ 87, 84, 84, 52,161, 42,174,138, 90,228, 25,179,104,197, 87,182, 95,173,143, 22,195, 48,206, 60,121,110,222,180, 21, 63, 58, 86,
+129,143, 48,153, 76,168,104,209,114, 60,188,108, 54,187,162,249, 17, 4, 65, 48,213,113, 86,130,113, 34,145,168,141, 78,167, 91,
+233,193,232,214,201,185,227,237,102,216,196,155, 61,202,145,137,116,224,251,101,175,155, 0,156,190, 63, 97,213,183,189,122,133,
+ 78,251,244,155,185,250,194,108,229,199, 99, 94,138,140, 10,246, 23,136,212,249, 26, 89,211,166,253, 43, 88,100,106, 42,103,207,
+177, 99,199,110,254,237,236, 3,130,207,231,112, 88, 20,197,238,222,170,137,127,184, 47,229,235, 3,248,102,220,189,117,122,252,
+248,241,173,102,205,154,213,195, 3, 78,216, 59, 92,108,217,178, 5, 4, 65,144,158, 92,123, 29,226, 88,117, 34,139, 97, 24, 16,
+ 4,177,213,165, 83,217,106,255, 44,197, 69,108,177,170,171, 79,135, 53,213, 33,170,198,141, 27, 55,198,106,181,178, 92, 26,137,
+138, 2,166, 50, 17,227,214,181, 43, 20,138,223, 0, 60, 79, 16, 4, 76, 6,131,233,203,175,190,114, 61,124,177,130,200, 58, 86,
+213,179,100,177, 88, 64,211, 52, 43, 37, 37,133,237,114,175,179, 1,136, 0, 4, 48, 12, 3,146, 36,255,116,163, 62,155, 9,133,
+194,211,251,247,239,151,180,111,223,158,224,114,185,176, 90,173,184,122,245,106,248,146, 37, 75, 38, 29, 59,118,236, 69,157, 78,
+215, 2,143, 38, 79,119,231, 63,138, 78, 76, 76,212, 53,108,216,176, 82,225, 88, 92, 92,204,106,210,164, 73,175, 42, 68,209,147,
+230,204,204,203,203,123,229,249,231,159,159,156,155,155,155,102,181, 90, 63, 0,208, 50, 32, 32, 32,101,232,208,161, 16, 8, 4,
+125,244,122,253,215,143,115,207, 7, 5, 5, 13,233,218,181, 43, 86,173, 90,133, 37, 75,150,244, 3,112, 28, 64,223,226,226,226,
+ 99, 47,191,252, 50,164, 82,233, 43,106,181,122,227, 99, 60, 71, 77,122,246,236,249, 93, 92, 92,156,207,193,131, 7, 17, 21, 21,
+133,146,146, 18,188,247,222,123, 65,159,127,254,249, 73,181, 90,221,219,229,185,168,138,179, 5,143,199,219,184,109,219, 54,113,
+195,134, 13, 27,114, 56, 28,178, 97,195,134, 80,169, 84, 48, 24, 12,188,133, 11, 23,182, 18, 8, 4,151,191,254,250,235,141, 0,
+134,214, 80, 78, 18,192,130,117,235,214, 77,142,141,141,149,142, 25, 51,134, 54,153, 76,216,190,125, 59, 40,138, 2,155,205,134,
+ 80, 40,116, 38,175,230,112, 56,104,218,244,145, 32,233,251,170,185, 94, 13,202,252, 80,165,240,108,218,245, 88, 53,124,206,169,
+ 15, 54,155, 13, 62,159, 15, 62,159, 15, 30,143,135, 27, 55,110,124,202,231,243,151, 19, 4, 97,117,135,147,248, 75, 93,180, 1,
+112,190,166,125, 60,234, 26,242,119,182,159, 14,132, 17, 4,177, 2, 64,159,178,110,151, 76, 8, 8, 8,120, 55, 47, 47,239,161,
+187,156, 10,133,194,191,176,176,240,107,133, 66, 1,185, 92,238,236,191, 67, 67, 67, 97,177, 88,144,151,151, 7,134, 97,160, 86,
+171, 33, 20, 10, 17, 18, 18,242,117,108,108,236,206,248,248,248,194, 74, 57,109, 88,242,242,200, 79, 62,163, 40,138, 4, 0,138,
+ 37, 22, 79,255, 8,136,140,140, 68,247,238,221, 97, 48, 24,160,209,104, 16, 29, 29,205, 34, 8, 98, 44, 65, 16, 18,134, 97,214,
+ 0, 56,241, 47, 52, 20, 86,233, 12, 63,175,226,188,168, 35, 91, 60,135,195,113, 75,104,217,207,175,201,130, 66, 90, 44, 22,112,
+ 56,156,114, 22, 9,130, 32, 64,211,116,185,207, 29, 66,171, 54, 66,125,234,212,169,182,239,190,251,110,114, 81, 81,209, 90,212,
+114, 42, 97,236,216,177,143,248,123,204,156, 57,201, 18, 85,156, 0, 0, 32, 0, 73, 68, 65, 84, 51, 51, 63, 63,159,121,173,127,
+ 27, 81,218,225,236,156, 70,126, 98, 65,160,143, 79,125,190,159, 76, 90, 88, 88,120,198,222,152,184,139,198,237,218,181, 19,108,
+218,157,152,249,230,140,197,243,219, 55,244,151,180, 14, 11,240, 11,246, 21,112,197, 36,161,227, 91, 45,153, 50,153, 44,202,211,
+114, 59,218, 5,161, 80, 8,146, 36,159, 38,139, 22,203, 33,178, 84, 42, 21, 14, 30, 60,136, 65,131, 6,165, 56, 68, 72,113,113,
+ 49,114,114,114,160, 80, 40, 82,236,150,143, 26,167, 17,109, 54, 27,204,102, 51,204,102,179, 83,192,184,220, 67, 78, 1,227, 56,
+151,162,168, 63,107, 89,246,249,126,126,126, 61,251,244,233,195,253,105,251,118, 46,195, 48, 58,148,229, 80,211, 50, 76, 21, 9,
+178, 43,192,106,181, 58,173,108,108, 54, 27,233,233,233,206,142,203,145, 91,146,207,231,187,103,202,224,241,222,255,249,231,159,
+ 37, 29, 59,118, 36, 10, 11, 11, 97,179,217,156,141,228,234,213,171,249,195,134, 13, 11, 77, 78, 78,254,216,104, 52,206,171,197,
+181, 18, 85, 9, 34, 0,144, 72, 36, 86,184, 23, 49,187, 70, 78,171,213, 74,116,235,214,109,150, 82,169,108,165,215,235, 23,186,
+ 83,141, 0,246,101,102,102,186,118,236,151,211,210,210,244, 35, 70,140, 16,212,175, 95,191, 83,106,106,234, 99,221,164, 77,154,
+ 52,233,194,102,179,113,238,220, 57, 35, 0,199,200, 58,225,202,149, 43,198,161, 67,135,242,194,195,195,187,168,213,110,187,172,
+ 52,105,214,172,217,209,160,160, 32,129,163, 13, 13, 12, 12,100,199,199,199,251,100,101,101,193,108, 54,227,195, 15, 63,196,224,
+193,131, 17, 16, 16,128,153, 51,103,202,151, 46, 93,250,163, 86,171,109, 87,157,209,154,203,229,110,190,125,251,118,148, 66,161,
+ 16,156, 61,123, 22,173, 91,183,134, 82,169, 68,110,110, 46,180, 90, 45,114,115,115, 49, 97,194,132,160,255,253,239,127, 33,110,
+ 88,178,156, 34, 43, 62, 62, 94,189,107,215, 46,106,253,250,245, 62,108, 54,219, 41,180, 88, 44,150, 83,104, 57,114, 43,214, 98,
+166, 65,109, 23,109, 82,141, 70,243, 56,126,110, 60, 0, 92, 87,145,197,227,241,192,227,241,192,231,243, 31, 43, 47,235, 51,130,
+ 80,130, 32, 82, 57, 28, 14, 79, 40, 20,114, 72,146, 4,143,199,235, 47,147,201,174,181,108,217,178,229,209,163, 71, 31,184, 67,
+ 98, 48, 24, 54,243,120, 60,118, 80, 80, 16, 0, 32, 42, 42, 10,173, 91,183,134, 78,167,179,105, 52, 26, 72,165, 82,242,225,195,
+135,208,235,245,200,201,201, 65, 68, 68, 4,155, 36,201,205, 40,243, 67,126, 4,167, 83,114,215, 2, 88,235,216, 15, 8, 8,200,
+115,181,116,242,249,124,132,134,134, 34, 43, 43, 11, 62, 62, 62,212,231,159,127, 62,116,251,246,237,175,158, 62,125,122, 44,128,
+ 45, 46, 84,243,158, 97, 31, 45,135,200,114,125,253, 75,104, 13, 30, 60,120,238,129, 3, 7,122, 85, 54, 10,103,179,217,117,230,
+235,226, 16, 84, 18,137,164,162,213, 10, 54,155,173, 42,139,150,199,191,195,231,243, 5, 83,166, 76, 41, 89,179,102,141,199, 98,
+107,248,170, 52,167, 21,235,145, 97,100,139, 22,167, 63,254,248,227, 33,191,255,254,123, 86,251,134,245, 89,162,236,135, 90,190,
+ 68, 42, 69, 88,189, 65,227, 94, 25,122, 5,101,171, 15,221,197,237,146,146, 18, 65,163, 48,161,137, 36, 13, 68, 61, 30,203, 71,
+ 33,226,240,130,253,252, 66, 57, 38, 99,190,196,207,143,107, 52, 26,213,168, 38, 9, 52, 0,200,229,242, 95, 5, 2, 65,132, 99,
+223,207,207,207,151, 97, 24, 8,133, 66, 40, 20, 10, 49, 69, 81, 55, 93, 30,174,135,121,121,121,253,107, 42,152, 84, 42,253,149,
+199,227, 69,144, 36, 9,130, 32, 64, 81, 20, 72,146, 4, 73,146,206,247, 20, 69,129, 32, 8,148,150,150, 62,124,240,224, 65,127,
+ 55,174,215, 10, 32,134, 32,136,148,131, 7, 15,162, 83,167, 78, 56,124,248, 48, 6, 12, 24, 0,141, 70,131,171, 87,175,162,103,
+207,158, 64,217,148,162, 91,112,117,126,119, 12, 10,110,220,184,225, 20, 46,174,155,143,143,207,227,152,216,147,134, 15, 31,142,
+239,190,251,142,177, 15, 38, 68, 4, 65,180,246,245,245,189,113,253,250,117,183,252, 96, 24,134,129,217,252,215,169,142,206,203,
+238, 15,225, 81,114, 96,138,162,250,183,107,215,142,208,104, 52, 14, 1, 9, 22,139, 5,138,162, 64, 81, 20,190,253,246, 91, 65,
+199,142, 29, 63,225,241,120,179, 56, 28, 78,177,197, 98,249,201, 96, 48, 44, 4,160,126,154, 90,164, 30, 61,122,204,200,200,200,
+ 24, 28, 17, 17,177,255, 49,104, 24,139,197, 98, 2, 32,160, 40,138, 93, 7,109, 20,101,191,183, 12, 46, 98,223,106,223,231,161,
+108,154,216, 45, 4, 4, 4,252,120,232,208,161,176,136,136, 8, 88, 44, 22, 88,173, 86,104,181, 90, 36, 36, 36,192,104, 52,194,
+106,181, 34, 42, 42, 10,159,125,246,153,225,221,119,223,229,175, 91,183, 46, 95,171,213,142,174,129,246,221,157, 59,119,138, 20,
+ 10,133, 64,175,215,227,238,221,187,104,215,174, 29, 74, 74, 74,160,211,233, 80, 90, 90, 10,179,217,140,226,226, 98, 41, 77,211,
+166, 26,184, 62,117, 21, 89,147, 38, 77,250,147,203,229,182,123,231,157,119,144,153,153,233,124,230,223,124,243, 77,200,229,114,
+231,179,100,111,147, 61,106,152, 89, 44, 22,120, 60, 30, 56, 28,142,186, 94,189,122, 32, 8,130,255,240,225,195,218, 76,197, 73,
+ 0, 20,179,217,108,174,171,192,226,241,120, 56,119,238,220,199, 92, 46,183, 42,107, 86, 85,207, 37,227,201,254, 63, 13,130, 32,
+ 86,112, 56, 28,158, 76, 38,227,184, 12, 56, 57, 98,177, 24, 65, 65, 65,171, 0, 12,116,243,186,219,202,100, 50,103,251,222,166,
+ 77, 27,100,100,100,236,209,104, 52,111,228,231,231,131, 36,201,205, 36, 73,190,234, 24,164, 22, 21, 21, 33, 60, 60,188,109, 85,
+124, 93, 99,130, 39,131, 96,202, 89,180, 42, 12,208, 32,145, 72,112,255,254,125,232,116, 58,230,214,173, 91,196,148, 41, 83, 8,
+147,201,244, 67,114,114,242, 25,148,173,182,175, 82,139, 60, 35,240,220, 71,203, 97,209,114,183, 3, 32, 8,162,198,209,132,197,
+ 98, 17, 71, 71, 71, 87,230,240, 69, 84, 38,180,236,211, 73,181,186,209,217,108,182, 79,109,197, 86, 69,236,223,181, 77,190,228,
+179, 15, 63,147,133,212,111, 52,107,214,167,172,151, 94,122,233,236,166, 77,155,104, 89,243,129,125, 79,252,186, 69,254,245,123,
+179, 15, 31, 58,116, 8, 40,115,140,118, 23, 73, 7, 14, 28, 8,158, 57,109, 42, 62,123,255,221, 35,146,168, 0,174,152,144,137,
+248, 70, 93,129, 24,140,158,215,184,217,224,221,251,247,231, 0, 72,174,142, 68, 40, 20, 70,164,166,166, 70,185, 46, 36, 48,153,
+ 76, 16, 10,133, 56,113,226, 68,160, 64, 32, 8, 4, 0,189, 94,143,150, 45, 91,186,107, 49,137,184,121,243,102,148,143,143, 15,
+ 74, 75, 75, 97, 52, 26, 97,177, 88, 96,179,217, 64, 16, 4,216,108, 54,184, 92, 46, 68, 34,145,167, 43,251, 46, 1,120,125,208,
+160, 65, 91, 15, 31, 62,140,232,232,104, 20, 21, 21, 33, 45, 45,205, 33,178, 60,242,209,114, 88,137, 92,253,177, 88, 44, 22,126,
+108,216, 16,111,102,103, 59, 5,204, 10, 95, 95,124,102,171, 93, 54,141,150, 45, 91, 50, 73, 73, 73, 56,114,228, 8, 94,126,249,
+101, 98,239,222,189,102,154,166, 57,217,217,217,127,102,103,103,187,197, 97,179,217,156,101,117,180,219,174, 2,203, 83,161,101,
+181, 90,125,184, 92, 46, 12, 6, 3, 28,150, 7,215,173, 65,131, 6, 80,169, 84,172,226,226, 98, 86,118,118,182,112,193,130, 5,
+239,156, 60,121, 82, 81, 82, 82, 50,234,159,108,133,214,172, 89, 19,241,230,155,111,166,179, 88, 44,102,192,128, 1, 99, 30, 62,
+124,248,138, 66,161, 56,254,251,239,191,127, 5,160,137,167,124, 1, 1, 1, 23, 89, 44, 86, 88,113,113, 49,103,199,142, 29,150,
+146,146, 18, 78, 96, 96, 96,158,163,237,112,212,181,197, 98,113,107,229,114, 64, 64,192, 69,165, 82,201, 89,185,114,165,165,176,
+176,144, 35,151,203,243, 28, 60,106,181,154,179, 99,199, 14, 75,113,113, 49,199,215,215,247,162, 70,163,169,145, 79,169, 84,142,
+ 30, 59,118,108,226,241,227,199, 3, 40,138,194,195,135, 15, 81, 88, 88, 8,169, 84,138,205,155, 55, 35, 34, 34, 2, 59,119,238,
+ 84,169, 84,170,137, 95,126,249,229, 39,118,145, 85,147,143, 86,207, 78,157, 58, 69,168,213,106, 72,165, 82,232,116, 58, 92,188,
+120, 17, 45, 90,180, 64,118,118, 54, 72,146,132, 84, 42,197,234,213,171, 75, 9,130, 80, 85, 71, 36, 16, 8, 94,137,141,141,149,
+ 2, 64,108,108,172, 52, 54, 54,182,210, 14,174, 75,151, 46, 88,181,106, 85, 69,161,229,201,192,192,105,117,114, 17, 71,134,206,
+157, 59,227,228,201,147,179, 61, 20, 71, 38,135,104,171,104,205,226,241,120, 30, 47,166,177,217,108, 28,148,185, 52, 16,238,236,
+ 63, 5,232, 37, 16, 8, 56, 21, 63, 44, 45, 45,229, 40, 20,138, 30, 30, 8, 95,127,129,160,204,224, 20, 17, 17, 1,141, 70, 67,
+155, 76,166,145, 91,182,108,177, 0, 64, 76, 76,204, 72,154,166, 13, 86,171,149,226,114,185,208,233,116, 8, 10, 10,242,175,198,
+ 54,250,193,190,159, 22, 4, 87,244,209, 82, 40, 20,136,137,137,129,209,104, 68, 78, 78, 14, 18, 18, 18, 44, 52, 77,111, 93,179,
+102,141, 45, 48, 48,240,191,175,189,246, 26,149,156,156,252, 54,128, 25, 85,105,145,103,204,154, 21, 95,165,208,178, 43,200,147,
+ 0,122, 87,188,200,138,226,167, 58,161, 85,211,212, 33,151,203, 85,167,167,167,139, 92, 59, 21,171,213,138,144,144, 16, 27,195,
+ 48, 68,101, 66,235,113, 76,193,108, 54,219,231,163,143, 62, 82,175, 89,179,102,244,253,251,247,231,186,243,157, 29,111, 55,195,
+166, 10, 34,107,237,146,184, 85, 43,151, 44,144,221, 57,242, 3,214,127,179,140,166,105, 36,183,106,213,170,135, 86,171,101,249,
+138, 44, 80,170,113,216, 46,178,220, 21,133, 36,128,239,207,159, 63,159, 60,112,224,192, 83,223,255,188, 91,150,125,247,238, 25,
+ 94,177, 50, 71,210, 56,138,197, 9,141,120,181,196, 96,224,140, 28, 57, 50, 16,192,107, 53, 53, 98,106,181, 26,185,185,185, 21,
+ 5, 24,110,220,184,241,200,185,110, 21,142, 36, 65,211, 52,118,237,218, 5,161, 80, 8,145, 72, 84,110,115,136,172, 90, 46, 84,
+184, 9, 0, 3, 6, 12,128, 74,165,130, 88, 44,118,187, 92, 21,197, 11,195, 48, 48,153, 76, 48,153, 76, 48,155,205, 52, 0, 54,
+139,197,194,132,204, 76,167,149,199, 19, 1, 83, 17,173, 90,181, 98, 78,159, 62,141, 83,167, 78, 65,167,211, 97,229,202,149, 80,
+ 40, 20,207, 1,248,212, 83, 46, 23, 39,125,186,184,184,152, 93, 92, 92,236,180, 14,178,217,108,167,245,192, 77, 75, 30,135,197,
+ 98, 57, 71,163,142,205,213,170, 69, 81, 20,228,114, 57,130,131,131,177,118,237, 90, 78,253,250,245, 7,255,147, 45,208,210,165,
+ 75, 27,175, 88,177, 98,195,166, 77,155, 14,143, 30, 61,122,251,213,171, 87,199,251,250,250,254,121,226,196,137, 5, 60, 30,207,
+ 86,203,231, 59, 44, 59, 59, 59,200,245, 35,155,205, 38,180, 90,173, 78, 97, 91, 90, 90,234,246, 0,131,205,102,135,165,166,166,
+ 10, 1, 96,193,130, 5,108, 0, 66,135, 51,184,131,179,180,180,148,221,162, 69,139, 48,119,239,245,196,196,196, 30,253,250,245,
+ 59,125,244,232, 81,191,136,136, 8,100,101,101, 33, 43, 43, 11,141, 27, 55,198,162, 69,139,116,197,197,197,221, 0,220,212,106,
+181,123,221,228, 12,241,243,243, 99,167,167,167,195,106,181,162,109,219,182, 88,189,122, 53, 70,142, 28,137,150, 45, 91,162,184,
+184, 24,169,169,169,216,184,113,163, 31,135,195,169,182,237,208,235,245,123,227,227,227,195, 43, 90,180,198,140, 25, 35,202,203,
+203,115,222,147,113,113,113,229,166, 16, 61,105,147,237, 83, 91, 85,110,181,129,213,106,149,240,249,252, 98, 30,143,199,117,248,
+103, 37, 36, 36,120,108,205,170, 48, 0,244,100,255, 31,131, 67,180, 86,210,183, 34, 56, 56,216,109, 30, 30,143, 71, 56,218, 70,
+171,213, 10,141, 70, 67, 43, 20, 10,231,244,126, 74, 74, 10, 29, 25, 25, 73, 83, 20, 69,113,185, 92, 16, 4, 1,161, 80, 88,101,
+131,207,208, 76,220, 75, 35, 63, 45,183,234,112,250, 71,128,217,108, 70, 74, 74, 10,204,102, 51, 18, 18, 18, 44, 95,126,249,101,
+182, 90,173,158, 14,128,245,235,175,191,142,157, 61,123, 54, 21, 20, 20,212, 47, 63, 63, 31, 53,105,145,103, 72,108, 61, 98,229,
+114,244, 66, 39, 7, 15, 30, 76,216,151, 86, 18, 14,225,228,137,208,178, 63,124, 53,246,188, 4, 65, 32, 39, 39,199,185, 31, 20,
+ 20,228,241,111,185, 11,127,127,127, 93,151, 46, 93,124,148, 74,229,222,165, 75,151,214,202,146,181,118, 73,220,170,197,243, 63,
+151,169,174,159, 69,102,118, 14, 84,249,150,228,164, 63,239,239, 1,176, 7, 0,176,174,249, 73, 98,114,218,183,238,114, 54, 11,
+ 16,180, 97,115, 88,123,158, 31, 56, 56,124, 68,236, 12,242,173,183,222,234, 62,118,236, 88,205,232,209,163,167,137,197,226, 38,
+102,179,185,104,247,193,131, 15, 70,140, 24, 81,159,166,233,177,168, 33,230,136, 94,175,127,216,187,119,111,215,250,148, 28, 59,
+118, 76,254,224,193, 3, 76,157, 58,181, 32, 43, 43, 75,237,122,174, 59,101, 52,155,205, 15,219,180,105, 83,229,116,161, 99, 74,
+ 17, 0, 74, 74, 74, 30,122, 80,165,163, 96,119,124, 47, 44, 44,196,141, 27, 55,192, 98,177,208,185,115,103, 36, 37, 37,161,123,
+247,238, 41,158, 88,181, 12, 6, 3, 34, 34, 34, 96, 48, 24,160,211,233, 74, 1,240, 54,215,175, 15, 0,120,187,176, 16, 23,191,
+252, 18,103, 23, 47,134,235,253,236, 46, 90,183,110,205,156, 61,123, 22,127,254,249, 39,140, 70, 35, 38, 78,156, 8, 0,132,253,
+222,245, 36,100, 70, 67,138,162, 6, 12, 28, 56, 48, 4, 0,116, 58, 29,113,254,252,121,240,249,124,231,179,176,127,255,126,100,
+101,101,129, 32, 8,248,249,249,133, 21, 21, 21,213, 7,112,191, 26,179, 63,113,255,254,125,124,241,197, 23,176,217,108,152, 61,
+123, 54,162,162,162,156, 2,235,225,195,135, 88,176, 96, 1,104,154,198,231,159,127,142,198,141, 27,195, 98,177,240, 81,203, 16,
+ 26,117,129,153, 51,103,222,217,179,103,207,225,140,140,140, 23,151, 44, 89,210,139, 32, 8,219,172, 89,179,190,144, 72, 36,244,
+227,240, 22,105, 74,112,227,246, 67,167, 16,170,184, 5, 6,200, 60,230,187,117, 55,195,249,125,154,118,229,163,225, 47,243,243,
+180,136,165, 22,139, 69,247,234,171,175, 74,119,237,218, 69, 52,110,220, 24,247,238,221,115, 88,134, 74,225,121, 72,135, 44,149,
+ 74, 21, 69, 81, 20,231,246,237,219,136,140,140, 68,167, 78,157,176,112,225, 66, 40,149, 74, 88,173, 86, 4, 5, 5,217, 44, 22,
+ 75,138,217,108,254,163, 6,174,184, 73,147, 38,113, 0, 76,182, 91,182, 90, 77,159, 62,221,182,108,217, 50,164,164,164, 56, 45,
+ 88,174,206,240,158, 78, 29,186, 90,157, 92,183,132,132,132,217, 92, 46,151, 1,112, 14,158, 7,122, 54, 85,180,104,213,198,154,
+245,164,240, 36, 87, 50, 42, 20,138, 4, 31, 31,159,193, 69, 69, 69,229,172, 90,221,186,117, 51,203,229,242, 68,119,121,196, 98,
+113, 17, 69, 81,254, 0,144,149,149, 5,145, 72,196,185,123,247,238, 98,148, 5,207, 70,253,250,245, 23,171, 84, 42, 78,125,123,
+123, 26, 28, 28, 12,147,201, 84,165, 27,203,153, 75,121, 63, 0,248,193,177, 47,147,201,114, 52, 26,141, 96,217,178,101,218,197,
+139, 23,235,105,154, 54, 2, 56,161, 86,171,157,113,180,114,115,115, 53,108, 54, 91, 38,149, 74, 67, 29, 66,171, 50, 45,242,140,
+161,106,139,150, 93, 73, 50, 21, 5, 17, 65, 16,143, 56,168,215, 32,180,106, 20, 89, 52, 77,151,179, 50, 56, 28,222, 43,251, 45,
+123,167, 94,171,169, 67,187,200,226,239,222,189,123,243,210,165, 75,207,185,251, 61, 87, 31,173,117, 95,205, 95,226, 16, 89, 87,
+ 78, 29,197,222, 52,141,114,246,226,229, 43,106,251, 15, 52, 15, 16,182,150,203,253, 79,126,185, 40, 78,114,231,200, 70,108, 95,
+247, 63,230,202,133, 11, 29, 47, 92,184,240,198,212,169, 83,235,217,111, 44, 21,128,203, 0, 70,192,141, 85, 58, 89, 89, 89,253,
+ 43,116,194, 55, 57, 28,142, 92, 40, 20, 34, 43, 43, 75,123,235,214, 45,143,167,100,148, 74,101,255, 39,112, 3,178, 28, 34, 75,
+169, 84, 34, 53, 53, 21,125,250,244, 1, 0, 36, 37, 37,161, 91,183,110, 72, 78, 78, 70,187,118,237, 82, 0,116, 64, 13,129, 90,
+ 45, 22,139,186,121,243,230, 78,235,150, 70,163,177, 1, 64,108, 78, 14,226, 21, 10,176, 88, 44,156, 93,188, 24,115, 44, 22, 44,
+244, 80,192,183,105,211,134, 57,127,254, 60, 30, 60,120, 0,171,213,138, 33, 67,134,160,150, 15,125,203,102,205,154, 29, 59,113,
+226, 68,160, 88, 44,134, 78,167,131, 86,171,197,184,113,227, 48,114,228, 72, 24,141, 70,236,216,177, 3,251,246,237,131,143,143,
+ 15,116, 58, 29,116, 58,157,223,160, 65,131, 78,223,188,121,179, 39,128,219, 85, 8, 45,166,127,255,254, 72, 76, 76, 4, 69, 81,
+232,216,177, 35, 10, 11,255, 90, 12, 36,151,203, 43, 59, 70,253,147, 66,139,197, 98, 49, 9, 9, 9, 75,122,245,234,133,140,140,
+140, 23,219,181,107,183,114,252,248,241, 89,143,203,235,231,235,131, 54, 45, 26,194,104, 52,194,104, 52, 34, 36, 36, 4, 37, 37,
+ 37,184,115,231, 14,140, 70, 35,228, 65, 82,143,249, 98, 90, 54,118,242, 5, 5, 5, 65,167,211,225,254,253,251, 48,153, 76, 8,
+ 8,240, 72,104,133,247,239,223,255,247,173, 91,183,250,111,220,184,209,212,187,119,111,238,202,149, 43, 9,137, 68, 2,151,142,
+197, 83, 36, 36, 37, 37, 69,244,235,215,175,233,245,235,215,145,144,144, 0,147,201,132,152,152, 24,220,186,117, 11, 93,186,116,
+129, 86,171, 61,119,225,194,133,125,238, 24,134, 1,124, 50,105,210, 36, 56,196, 86, 98, 98, 34,114,114,114,224,227,227,243,136,
+208,114,248, 62,218, 87,141,135,184, 83, 88,135, 32,114,177, 60,205,145, 74,165,102, 0, 43,106,105,125, 2, 0,100,100,100,240,
+ 90,181,106,101,228,243,249, 92,187,104, 91,254, 56,124,117,137, 58, 88,201, 88, 37,130,131,131,167, 7, 4, 4,244,107,208,160,
+ 1,242,242,242, 56, 92, 46, 23,221,186,117, 51,119,232,208,193, 28, 28, 28,252,182,187, 60, 60, 30,239, 58,135,195,233, 89, 54,
+152,160,145,158,158, 14,134, 97,102,183,108,217,242,221,146,146, 18, 20, 22, 22,114, 37, 18,137,115, 80,221,180,105, 83, 24,141,
+198,235, 30, 88,222,226, 34, 35, 35, 63,225,112, 56, 11,149, 74,101,101, 97, 33,184, 82,169, 84,194,225,112, 96, 54,155,203,137,
+205,138, 90,228, 89, 23, 89,229,132,150,139,138, 44, 39,116, 60,177,104,185, 99, 53,112, 56,216,187,238, 59, 68, 93,197,223,170,
+109, 12, 45, 95, 95, 95,163, 67,100, 45, 92,184,240, 92,109, 56,118,110,221,162,240,181,149,134,103,159, 59,132,155,127, 38, 99,
+ 79,170, 90, 57,123,241,242,105, 47,189, 54, 42,175,162, 48,115, 7, 81,129,194,150,242, 32,255,147, 95, 45, 93, 44, 81, 93, 63,
+139,156,220, 92, 28, 58,119, 33,217, 12,164, 2,152, 93,151,166,101,160,108,234,144,162,168,167,233,134,117, 58,195,231,228,228,
+ 56, 68, 86, 12, 0,116,239,222, 61,197, 46,178,224,174, 69, 75,173, 86, 87, 76, 89,211, 15, 64,128,227,250, 89, 44, 22,186,125,
+242,137,199, 34, 11, 0,147,156,156, 12,149, 74,229, 24, 41,214, 86,100, 33, 56, 56,248,253, 19, 39, 78, 4,126,255,253,247,197,
+155, 54,109, 42,180,217,108,236, 54,109,218,132,181,111,223,158,216,188,121, 51, 0, 96,196,136, 17,152, 61,123, 54,174, 93,187,
+ 6,145, 72,132,238,221,187,211,115,231,206, 13,154, 62,125,250,219,121,121,121,211, 42,237, 29,109, 54, 14,159,207, 63, 14,224,
+185,235,215,175, 3,192,105,148,165,112,114, 88, 17,170, 60,230, 78,231, 91, 82, 82,194,246,241,241,169, 52, 52, 4,167,108, 52,
+228,169, 5,194,201,121,234,212,169, 47,190,250,234,171, 61,239,189,247,222,237,199,228,172,212,162, 53,120,240, 96,232,141,102,
+100,230,105, 64,211, 86,232,205,249, 30,243,185, 90,180, 6, 15, 30,140, 82,131, 9,233, 57, 42, 88,173, 52, 74,244,110,247,229,
+194,231,159,127,254,215,159,126,250, 41,248,204,153, 51,160,105,218,118,235,214,173,251,175,190,250,170,100,214,172, 89,254,143,
+177,200,232,155, 81,163, 70, 13, 59,117,234,148,170,105,211,166,178,115,231,206, 33, 63, 63, 31, 86,171, 21,207, 61,247, 28,184,
+ 92,110,250,226,197,139, 57, 0,190,113,247,191,177,139, 45,243,133, 11, 23,222, 60,123,246,172, 76, 38,147,113,109,205,154, 33,
+231,232, 81,236,218,181,235,145, 47,172, 91,183, 14,112, 51, 10,191,195,226,116,254,252,249, 58, 17, 88,229,122,106, 46,183,214,
+211,143,207, 42,206,159, 63,159,245,214, 91,111,181,144, 72, 36, 43,122,244,232,209,199,223,223,159,244,243,243, 75, 8, 13, 13,
+125,183, 77,155, 54,110,207, 46,176,217,236,241, 34,145,232,142,213,106,165,180, 90, 45,116, 58, 93, 89, 35,109,181,114, 73,146,
+ 68,253,250,245,157,125, 73,199,142, 29, 17, 28, 28, 76,167,165,165,141,119,151,191,160,160,160,220, 42,196, 74, 48,169, 91,183,
+110, 44,163,209,136, 7, 15, 30, 36,185, 30,168, 76,139, 60, 35,136,173, 86,124, 57, 46,202,245,226, 66, 67, 67, 51, 44, 22, 11,
+147, 10, 48,151, 47, 95,102, 98, 99, 99,171,221, 12, 6, 3, 19, 20, 20,148, 83, 73,231, 7, 87, 78,163,209, 88,238,123, 70,163,
+145,145,203,229,180, 94,175,127,132, 83,175,215, 51, 97, 97, 97, 89,213,113, 86,130,113,151, 46, 93, 90, 51,103,206,156, 78, 30,
+ 84,144,147,147, 89,219,140,217,184,113,227,127, 24,134,233,213,163, 69,196,159,195,219,200,153,110, 81, 65,217,251,118,110, 29,
+201, 48, 76,175,138,155, 35,192,105,117,156,205,228,162,230,125,163,235, 21, 93, 57,178,141, 57,177,236, 29,230,171, 33, 81, 76,
+187, 48, 31,117,179, 0,129,167, 57, 98,106,204,150, 30, 29, 29,125,211,102,179, 49, 38,147,137,137,142,142,190, 85, 23,156,181,
+ 64,117,156,109, 81,230,203, 54,170,146,207,218, 62, 70, 57,175, 48, 12,195,168, 84, 42, 70,171,213, 50, 70,163,145,161,105,154,
+113, 5,128, 43,110,112, 50,102,179,153, 41, 42, 42, 98,224,190,207, 93,165,156, 10,133,226,254,221,187,119,153, 70,141, 26,101,
+216,205,241,211,117, 58, 29, 83, 17, 58,157,142,233,211,167, 15,115,235,214, 45, 38, 50, 50,210,112,235,214, 45, 70,161, 80,220,
+168,161,156, 13,194,195,195,143, 7, 4, 4, 36, 0,136,242,224, 88,181,245,185, 99,199,142,134, 12,195, 76,100, 24, 38,182,138,
+109, 34,195, 48,205,254,105, 78,123,253,230, 49, 12,195,148,150,150, 50, 42,149,138,201,206,206,102, 74, 75, 75, 25,173, 86,203,
+ 92,186,116,137, 57,115,230, 12,243,231,159,127, 50, 50,153, 44,207, 29, 78, 7,159,201,100, 98,138,139,139,153,252,252,124, 70,
+175,215, 51, 58,157,142,185,122,245, 42,115,241,226, 69,230,250,245,235,149,241, 61,194,233,239,239,191, 46, 55, 55, 87,123,250,
+244,233,210,181,107,215,150, 6, 7, 7, 95, 7, 16, 1,160,137,159,159, 95,238, 59,239,188,195,136,197,226,135,181,124,142, 90,
+176,217,236, 75, 75,150, 44, 57,127,224,192,129,188,125,251,246,153, 54,108,216,144, 57,117,234,212, 63, 88, 44,214, 37, 0, 45,
+106,249, 28, 5, 73,165,210,211,231,206,157,179, 22, 21, 21, 49,106,181,154, 41, 46, 46,102,116, 58, 29,163,215,235, 25,147,201,
+196, 88, 44, 22,230,143, 63,254, 96,228,114,185,235,180,228, 7,213, 12,172,103, 48, 12,243, 62,195, 48,172,186,110,235, 92,184,
+123,212, 21,103, 93,180,117, 36, 73,154,237,109, 71,231,178,221,234,247,255,169,114,246,237,219,247,243,145, 35, 71, 50, 3, 6,
+ 12, 96, 98, 98, 98, 30,217,218,181,107,199, 76,153, 50,133, 57,112,224, 0,243,229,151, 95,126, 94, 7,229,100,161,108,209,203,
+162,190,125,251, 90, 18, 19, 19,153, 17, 35, 70, 48, 0,250, 87,167, 69,158,101,193,229, 88, 76,227, 8,239, 64,184,190, 2,128,
+217,108,206,184,121,243,166,162,169,213, 74, 1,192,183,223,126,251,136,101,202, 21,137,137,137, 86,130, 32,238, 84,247,235,102,
+179, 57,227,196,137, 19,242, 85,171, 86,177, 93, 76,192,176, 90,173,182,236,236,108,114,229,202,149,229,206, 63,121,242,164,213,
+106,181,166,123,120,145, 27,219,182,109,187,177, 46,106,235,143,107, 15,222,253,245,208, 47, 1,157, 59,245, 80, 75,100,178, 74,
+ 71, 97, 59,222,110, 6, 98,114,245, 86, 45,130, 69, 46, 92,178, 40, 78,234,152,130,252, 57, 37, 87,109, 48,210,125,210,148,250,
+ 43,117,253, 15,107,181,218, 7,142,149,128, 58,157, 46,253, 41,188, 9, 47,161, 44,198,149,181,194,103, 29,240,152, 78,167, 54,
+155, 13,190,190,190, 78,107,104, 45, 44,162,140,195,194,234,248,235, 30,167, 60, 12,195,156,186,122,245,106,228,184,113,227,124,
+ 54,109,218,116,151,166,105,246,132, 9, 19,204,193,193,193,156,164,164, 36, 11, 0,162, 87,175, 94,172,220,220, 92, 38, 43, 43,
+ 75,245,242,203, 47,151,188,249,230,155,254,151, 47, 95,230,218,108,182,154,130, 22,222,203,200,200,232, 91,139, 99,213, 98,248,
+240,225,119,241,248,105,108,158, 56,167, 3, 42,117, 49,238, 62,200,178, 71, 48,183,129,126,152,231,244,171,178, 88,172, 80, 21,
+ 23,122,108,209,186,115, 63,203,158, 98,140, 6, 77,103,219,249,202, 28,226,153,162,210,154,123, 19, 22,171,251,220,185,115, 7,
+146, 36, 73,158, 61,123,214,184,116,233,210,140,130,130,130, 33, 0,210, 1,160,168,168,168,247,198,141, 27,127,116, 35,148, 67,
+ 85, 72,181, 88, 44, 93, 62,248,224,131,105, 0,186, 3,168,103,231, 78,178, 91,178,106, 27,193, 60, 95,173, 86,191, 48,112,224,
+192,163, 20, 69,213,119,121,142, 2, 0, 40, 29,207, 5,195, 48, 65,121,121,121, 47,186, 67, 72, 16,196,242, 39,213,144, 60, 73,
+238,199,108,135,158,137,149,140,199,143, 31,159, 55,100,200, 16, 86, 68, 68,196,199, 17, 17, 17,100, 81, 81, 17,180, 90, 45, 72,
+146, 68,112,112, 48,162,163,163, 17, 28, 28,108,187,126,253,250,162, 15, 63,252,176,198,152,124,205,155, 55,111,104,177, 88, 26,
+145, 36,217, 16, 64, 67,134, 97, 26, 18, 4,209, 16,128, 12, 0, 36, 18,137, 36, 50, 50,146,213,185,115,103,116,234,212, 9, 39,
+ 79,158,196,206,157, 59,127, 0,240,171,171, 53,171,162, 22,121, 26,144,218, 22, 76,139, 75, 32,174,181, 67, 47,194,134,147, 12,
+137,222,209,201,206, 56,123, 21, 69, 86,213, 73,165, 43, 49,253,245,127,238,185,231,156, 15,156, 27,157,202,131,154, 30,190,130,
+130,130,254,227,199,143, 47,199, 73,211,180,177,176,176,240,173,174, 93,187,174,166, 40,138, 87,225,134,125,152,159,159,255,183,
+230,234,171, 24, 71,171,255,192, 87,148,143,203, 41,230,144,141,110, 30,252, 14,121,249, 74,252,156,146, 91, 84, 98,162,123,223,
+ 82,150, 94,125, 18,229,127,248,240,225,128,103, 64,241, 87, 38, 90, 31, 55,121,118,129, 27, 1, 73,107,202, 81, 71,216,195,137,
+212,201, 67,158,155,155,187,236,147, 79, 62,121, 97,209,162, 69,129,135, 15, 31,150, 56, 6, 40, 67,135, 14,205,191,122,245,106,
+ 15, 0, 60,131,193,112,108,209,162, 69,129,113,113,113,254, 0,252, 1, 96,208,160, 65,121,121,121,121,171,224, 69,181,176, 88,
+ 44,153,209,205,155,150, 27, 57, 58, 6,128,174,239,173, 86,107,166, 39,124,149,241,184,238,211, 52, 93, 45, 31, 69, 81,239,117,
+234,212,137,122,239,189,247,242, 14, 31, 62,236, 72,164,235,170,208,110,214, 16,148,212, 29, 24, 1, 44,181,111,117, 9,157, 74,
+165,234,226,225,119,104,239,221, 88,233,128,210,147,253,127, 4,123,247,238,253,116,196,136, 17, 27,101, 50,217,150,134, 13, 27,
+ 54,149,203,229, 18,129, 64, 0,163,209, 88, 98, 50,153,110,220,188,121,115,244,167,159,126,122,207, 45, 11,199,198,141, 20, 0,
+142,205,102,227,147, 36, 41, 2, 32, 33, 8,194,207, 33,180, 8,130,128,217,108,198,131, 7, 15, 48,103,206, 28,250,248,241,227,
+ 95, 2,248,220,131,129,107, 7, 0,129, 46,237,120, 32, 0, 19,202, 2,216, 22, 16, 4,113,225, 73,215, 23, 97,195,201, 22,151,
+ 64,164,182, 69,101,253, 68,245, 73,165,171,122,224, 10, 10, 10,186,212,245, 67, 92, 21,103, 65, 65, 65,196,211,242,132,140, 53,
+ 46,221,134,117, 75,203,229, 57,116,136,176,202,246,107,130, 70,111,157,250,205,175,215,150, 25,173,140,205,108,181,253,247, 86,
+ 65,105,170,183, 29,170,115, 60, 95, 87,207, 82, 29,150,233,106, 90, 90, 90,215,169, 83,167,126, 42, 20, 10, 59, 2, 64,105,105,
+233,217,236,236,236,249,176,175, 42,172,233,184, 23, 85, 67,169, 84,182,127, 26,249, 76, 38,211,187, 93,187,118,253,154,166,233,
+175,172, 86,107,210,255,131,191,194,224,189, 27,159, 93,108,223,190,253, 30,128, 46, 0, 48,108,216, 48, 10, 0,118,238,220,233,
+177,120, 30, 55,110, 28,205, 48,140,217,126, 63,232, 80,182,186,176,200,209,166,234,116,186,162,236,236,236,235, 52, 77, 95, 7,
+240, 35, 60, 95,113, 27, 72, 16,196, 1,134, 97, 6,219,133,219, 1,134, 97, 6,187,126,246,164,173, 90, 53,156, 82,179, 51,188,
+ 23,101,216,153, 10,162,226, 84, 96, 77,251, 53,225,102,158, 46, 1, 64, 59,111,237,254,191,196,221,236,236,236,177,143,113,220,
+139,103, 15,233, 38,147,105,200,255,163,235,213,120,255,242,127, 73,255, 87, 11,129,229,192,245,235,215,159,152,139,192, 63,141,
+ 22,151,202, 15,192, 43,238,187, 32,182, 50,225,229, 21, 90, 94,120,225,133, 23, 94, 60, 14,212,222, 42,240,226,223, 12,135,111,
+150, 99,191, 10, 31,173,138,254, 89,206,125, 2, 85,175, 28,240, 36, 43,121,109, 86, 73, 28,243,114,122, 57,189,156, 94, 78, 47,
+231, 63,206, 41, 5, 16, 9, 96, 73, 13,231, 85, 92, 93,152, 7, 64, 9,192,226,173, 79, 47,231, 99,232, 7,183,192, 48,204,160,
+234,166, 14, 9,130, 56,248,164,132,150,211, 25,190, 45,230, 70, 95,194, 92,199,126, 77, 66,139, 97,152,248,191, 67, 8,246,243,
+114,122, 57,189,156, 94, 78, 47,167,151,211,203,233,229,124, 76,161,213,231,195, 15, 63,252, 8,101,161, 49,152, 15, 63,252,240,
+ 35,134, 97, 6,149, 29, 98, 6, 61,201,223,190,214, 14,189, 82,219,130,113,108,215,218,161, 87, 21,167,198,186,108,229,195, 59,
+120,225,133, 23, 94,120,225,133, 23, 94, 60,197, 56,189,120,241,226,210,197,139, 23, 59, 28,223, 11, 0, 16,118, 11, 87,193,147,
+252, 97,251, 52,161, 59, 11,165,170, 79,193,243, 15, 32,132,100,113,198,176, 57,188, 62, 96,108,209, 0, 0,146,186, 70,155, 12,
+191, 91,173,230, 45, 0,178,107, 75,220, 12,104,222, 88, 42,216,103,164,105, 78, 70,137,105, 88, 90, 89,154, 3,143, 49, 12,232,
+198,227,114,127,227, 73,165,130,202,142, 27,213,106,189,209,100,122, 97, 39,112,202,251, 12,120,225,133, 23, 94,120,241,140, 64,
+228,231,231,119,156, 36,201, 8,199, 7,174,113, 7, 43,198, 32,164,105, 58, 71,165, 82,189,128,178,169,226,191,147,211,245,251,
+ 38,212,178, 47,175,107,184, 59,117, 8,215,240, 14, 46, 81, 88,255,150,140,217, 20,155,247,166,143,175,116,225,127,198,191,235,
+ 31,213,164, 41, 17, 30, 30, 10, 48, 64,122, 70,166,252,206,237, 91,125,183,111,250,102,102,177, 70, 53,199, 98, 52,126,231, 41,
+119,115, 64, 84, 79,204, 75,250,238,195,215,165, 44, 88, 49,106,193,214, 35,132,214, 28,126,189,108,185,169, 71, 34, 75,234,239,
+255,235,226, 99,199, 4,126,173, 91,151, 59,198, 48, 76, 89,126,189, 43, 87, 4, 31,191,240,194,175,195, 84,170,254, 94,177,245,
+175, 68,176, 68, 34,153,206,102,179,123,155,205,230, 8, 46,151,155, 65,211,116, 66, 81, 81,209, 10, 0, 89,222,234,249,119,163,
+105,176,168, 71,211,134, 17, 91,179,115,243, 82,138, 13,166, 9, 55,179,181, 42,111,173,120,140,234,242,107,254, 99,185, 55, 1,
+ 64, 44, 22, 95, 36, 73, 50,204, 85, 4, 56,114,246, 58,246, 43,190,218,108,182,123, 42,149,170,107, 53,180, 13,101, 50,217,106,
+ 0, 29,106, 10,152,108,143,205,118, 65,165, 82,189,133,170, 87,235,249,248,249,249,205, 35, 8, 98, 56, 73,146, 84, 77,215,100,
+179,217,104,134, 97,118, 20, 21, 21,125, 14,160,164,170,243,252,252,252,142,165,165,165,117, 8, 10, 10,170,209, 74, 99,181, 90,
+145,158,158, 30,216,177, 99,199, 63, 84, 42, 85,179, 39,201,249,119,107,145,218,162,154, 85,135, 85,222,232, 0,202,229, 23,122,
+162, 17, 89, 57,124,241,190, 46, 61,251,247,153, 50,237, 61,209,165,171, 55,240,219,201, 51, 40,214, 25, 65,145, 36,164, 62, 66,
+ 52,105,210,136, 88, 30,191, 43,224,135,181,203,191, 58,155,120,116,144, 65,167,121,217, 35,153, 46,100,205,153,253,106, 71,145,
+191,140, 6,108, 52,222, 31,216, 70,244,241,129,148, 57, 40,181,126,228,177,200, 58,126, 92,152,159,151,135,184,144, 16,176,172,
+ 86,240, 73, 18,124,130, 0,159, 36, 33,226,243, 49, 96,195, 6,204, 63,124, 88,248,233,139, 47,122,197,214,191, 12, 98,177,120,
+124, 72, 72,200,210,245,235,215,251, 55,104,208, 0, 34,145, 8, 42,149, 42,224,230,205,155,109,103,204,152, 49, 54, 39, 39,231,
+147,226,226,226,117,222,154,250,247,194,102,195,152,239, 23,190, 21,154,243,240,118,232,164, 69,219,154, 16,254,116,239, 27,133,
+250, 92,111,205,184,141,182, 0, 82, 80,121,254,210,234,142, 85, 9, 62,159,159,103, 48, 24,130,170, 59,135,203,229,230,155, 76,
+ 38,121, 77, 92, 36, 73,134,101,101,101, 5, 9,133, 66,208, 52,109,207, 6, 96,115, 14,164, 93,179,159,216, 3,213,162, 89,179,
+102,230,234, 56,125,124,124,190,205,207,207,239,231,200, 19,232, 34,168, 42, 69, 86, 86, 86,191, 22, 45, 90,124, 91, 82, 82,242,
+ 66, 21,226,101,222,180,105,211,166,183,108,217,210, 97, 5,178,103, 65, 40,123, 85, 42,149,152, 58,117,170,243, 55,108, 54, 27,
+142, 30, 61, 58,109,252,248,241, 40, 42, 42,154, 81,205,181, 71, 4, 5, 5, 17,246,132,226, 85, 98,238,220,185,152, 59,119, 46,
+190,249,230, 27,130,205,102, 75,107,168,207, 58,225,252,187,180, 72,109, 44, 88, 53, 68,134, 63,136,242,225, 29, 14, 62, 34,180,
+254, 14, 80,108,222,127, 59,116,237,215,123,234,244,217,162,109,191,156,192,205,235, 87,144,150,244, 83,185,115,218,191, 48, 30,
+185,202, 18,140,159,242,190,152,160, 88,189, 19,143,237,253,175,197,168,255,222, 77,107,150, 60,130,199,125,167,115,199,104,118,
+150,224, 38,130,253, 4,232,222,174, 49, 59,252,215, 63,223,209,193,250,245,245,178, 85, 50, 30,137,172,245,175,191,142, 30, 22,
+ 11,130, 40, 10, 20, 65,128, 2, 64, 18, 4, 12, 70, 35, 46,140, 25,131,142,155, 55,227,243,253,251,133,243, 94,122,201, 35,177,
+ 37, 18,137, 46, 17, 4,225,167,213,106, 7,161, 44,177,244,179,128, 22, 98,177,248, 32,195, 48, 69, 58,157,174,237, 83, 84, 46,
+ 5,202,230,232, 43,142,142, 57, 40, 91, 81,229, 81,102, 97, 30,143,247,230,176, 97,195,150,175, 90,181, 74,152,151,151,135,236,
+236,108,208, 52, 13, 62,159,143,168,168, 40,226,216,177, 99,254,179,103,207, 94,118,240,224, 65, 94, 73, 73,201,215,158, 12,108,
+216,108,118,188, 76, 38,123, 81, 46,151,139,242,243,243, 75,213,106,245, 81,163,209,248, 38,106,159, 54,133,100,179,217,163, 35,
+ 35, 35, 95, 9, 9, 9,145,103,101,101, 41, 51, 51, 51,247, 25,141,198, 31, 80,203, 68,205, 46,117,218, 26,246,104,245, 0,114,
+ 34, 35, 35,175, 61,120,240, 32,191, 14, 57,179, 35, 35, 35, 83,107,193, 41, 2,176, 29, 64, 72, 13,231,101, 3, 24, 1, 15,173,
+217,206,138,101,108,135, 22,172, 88, 63, 33,110, 92,119,226,251, 25,253,162, 38,127,115,236, 12,201, 97,122, 94,207, 49,100,120,
+ 53,148,123, 34,203,158,210,170,162,160,170,238, 88,181, 48, 26,141,129,102,179, 25,236, 42,146,197,235,116, 58,248,248,248, 4,
+186, 91, 72,129, 64,128,159,126,250, 9,108, 54, 27,108, 54, 27, 69, 69, 69, 8, 11, 11,115,238,115, 56, 28,231,251,122,245,234,
+213,200, 71,211,116, 71,138,162,160,213,106, 65,211,180,115, 83,171,213, 96, 24, 6, 60, 30, 15, 52, 93,150,206,201,229,120,199,
+170,248, 8,130, 24, 30, 18, 18,130,109,219,182,193,100, 50, 61,114, 92, 34,145,224,234,213,191,146,140, 80, 20,133, 78,157, 58,
+145, 4, 65, 12, 7, 48,163, 26, 94, 6, 0, 98, 99, 99, 65, 81, 20, 40,138, 2, 73,146,206,247,142,141,166,105,204,157, 59, 23,
+ 21, 82,147,253,109,156, 79, 27,106,136, 12,159,131, 42,124,180,200, 39, 92, 46,215, 37,158, 33, 66,145,228,139,183,222,125, 95,
+124,240,143, 63,145,158,145,254,136,200, 2,128,139,191,253,128,156,236, 44,164,164,101, 98,244,150, 61, 49, 16, 0, 0, 29, 44,
+ 73, 68, 65, 84,127,223, 22, 75, 36,210, 47, 42, 52,168, 85, 46, 27,245,245,225,124,249,225,136,238,124,173, 37, 27, 37,126, 0,
+213,144, 11,182, 80,135,217,131, 91,243, 36, 62,156,165,238,148,147,199,229,254,182,248,216, 49,167,200,234,102, 52,130, 71,211,
+176,210,180, 83,100,153,172, 86,232, 77, 38, 40,180, 90,220, 25, 63, 30,140,197,130, 79,246,236, 17,242,184,220,223,220, 41, 39,
+ 0,112, 56, 28,197,190,125,251,234,181,106,213,234, 36,220, 15,102,122,236, 9,255, 71,213,161, 93,155, 54,109, 18, 54,111,222,
+ 92,143,195,225, 40,234,130,147,207,231,191, 38, 18,137, 10,248,124,254,107,181, 44, 39, 9, 96,193,132, 9, 19,146, 27, 53,106,
+116,194, 46,172,156,162,166, 81,163, 70,199, 38, 76,152,112, 9,192,220, 42,238,245,202, 56, 67, 67, 66, 66, 22,174, 90,181, 74,
+120,235,214, 45,100,101,101,193, 98,177, 96,212,168, 81,160,105, 26,122,189, 30, 38,147, 9, 75,150, 44, 17,249,251,251,207, 65,
+ 89,162, 96,119,174,157,227,235,235,123,107,211,166, 77,195,238,223,191, 47, 62,113,226, 4,113,245,234, 85,209,178,101,203,134,
+248,251,251,223, 4,192,171, 69,125,146, 10,133,226,251,189,123,247,190,117,245,234,213,176,221,187,119,179,207,158, 61,171, 88,
+187,118,237, 68,133, 66,177, 25, 0, 85,203,255,168,173, 80, 40,236, 59,107,214, 44,219,233,211,167,179, 78,159, 62,157,181,124,
+249,114,244,232,209,163, 91, 92, 92, 92, 76, 45, 57,219,249,248,248, 60, 55,107,214, 44, 91, 98, 98, 98,246,185,115,231, 50,151,
+ 45, 91, 70, 62,247,220,115,221, 23, 46, 92,216,218, 67,206,237,167, 79,159,238,149,145,145,209, 32, 51, 51,179,126,102,102,102,
+100,102,102,102,100, 86, 86, 86, 68, 78, 78, 78,189,220,220,220,240,252,252,252,240,132,132,132,238, 0,182,186,195,217, 84, 46,
+122,107,198,168,126,165,115,254, 59,144,249,232,141,231,153,217,163,122, 49, 47,246,108,245, 11,197, 98, 17,231, 82,211, 17,230,
+ 11,252, 48,181, 67, 68,120,128,232,106,180, 76,220,228, 41,123, 54,159, 54, 78,150, 67, 72,169, 84, 42, 28, 60,120, 16,118,235,
+ 85, 91, 87,145, 85, 92, 92,140,156,156, 28,199, 49,150, 59,229,148, 72, 36,199,215,175, 95,207, 24, 12, 6,104, 52, 26,228,231,
+231, 35, 35, 35, 3,119,238,220, 65, 97, 97, 33,110,220,184, 1,161, 80,120,220,157,114, 18, 4, 1,154,166,157, 66,234,232,209,
+163,152, 48, 97, 2, 84, 42,149,243, 51, 22,139,229,124,239,248, 78, 77,156, 14,203, 19, 77,211, 56,119,238, 28, 38, 77,154,132,
+229,203,151, 99,235,214,173, 56,112,224, 0, 84, 42,149, 83,108, 89,173,214, 26, 57,149, 74, 37,108, 54,247,198, 76, 12,195, 64,
+163,209,184,253,191,187, 10, 32, 22,139,245,136, 40,114,108,158,220, 75,143,201,249,212,194,141,200,240, 85,143,176, 29,111,236,
+166,186,222, 79,170,144, 36,139, 51,122,248,184,105,254,153,249,197,200,202,211,128, 34,255,234,247, 98,250,141, 3,139, 34,113,
+254,215, 50,195, 21, 73, 81,208,232,140, 80,107,205, 24, 54,110,186,236,187,229,159,141,182,154, 13,213,198,120,105, 9, 68, 69,
+139,197,175,182,104, 81,143,188,206, 75, 67,204,139, 73,160,109, 0,147,248, 18,218, 22, 5, 81,205,126,227,190,170, 43, 49, 47,
+188, 10,220,170,214,154, 33,149, 10,252, 90,183, 70, 92, 72, 8,122, 90, 44,224, 48, 12,158,207,203,195,149,233,211, 97,220,181,
+ 11, 36, 0,206,107,175,161,207,138, 21,248, 35, 36, 4,193,122, 61,212, 51,103, 34,240,200, 17,112, 36, 18, 1, 10,220, 91,252,
+ 64, 16, 4,122,247,238,141, 99,199,142,249, 15, 24, 48,224,215, 63,255,252,115,168,213,106,253,163, 54,117,235,235,235,123,145,
+197, 98,133,213,116,158,213,106,205,212,104, 52, 30,167, 25, 97,177, 88, 61, 59,117,234,180,103,247,238,221,126,102,179,185, 78,
+ 70, 33, 92, 46,119,192,144, 33, 67,214,175, 89,179, 70, 50,113,226,196,245, 7, 14, 28, 40, 53,153, 76, 71, 60,185,165, 0, 44,
+ 88,183,110,221,228,216,216, 88,233,196,137, 19,153, 59,119,238,184, 90,175, 2,123,244,232,209,104,253,250,245,193, 29, 58,116,
+152, 54,105,210, 36, 14,128, 79,106,178,242,136,197,226, 41,235,215,175, 15, 80, 42,149,208,106,181,206, 70, 54, 51, 51, 19, 2,
+129, 0, 36, 73,130, 36, 73,176,217,108,124,241,197, 23,254, 83,166, 76,153,174, 82,169,166,187, 97, 37,139, 95,189,122,117,224,
+ 11, 47,188, 64,222,191,127, 31, 36, 73,130,207,231,227,245,215, 95, 39,245,122,189, 95, 92, 92,220, 70,157, 78, 55,210,147, 58,
+100,179,217,163,227,227,227,155,116,235,214,141,149,150,150,134, 46, 93,186,224,252,249,243,120,237,181,215,216, 37, 37, 37,245,
+103,207,158, 61,193,104, 52,122, 26,199, 69, 33, 20, 10, 91,254,254,251,239, 25,225,225,225,206,134,165,126,253,250,244,160, 65,
+131, 84,105,105,105, 77, 79,159, 62, 93,216,181,107, 87, 79, 18,150,135, 10,133,194,102,135, 14, 29,202,137,139,139,235,187,110,
+221,186, 33, 0,208,177, 99,199,125,243,231,207, 63,161, 82,169,162,255,248,227, 15, 85,207,158, 61, 51,221,228, 11, 81, 40, 20,
+244,212,169, 83,197,213,157,180, 97,195, 6, 53,202, 18, 46, 55, 0, 80,109,190,182,166,145,193,115,150, 78, 31, 46, 0,109, 6,
+ 99,209, 3,230, 82,192,172,133,205, 84, 10,130, 35, 0, 44,122, 4,242, 84,216, 62,165,169,228,131,109,119,175,211, 55,136, 65,
+105,202,146, 35,240,162,210,166, 6, 64, 12, 65, 16, 41, 7, 15, 30, 68,167, 78,157,112,240,224, 65, 12, 26, 52, 40,197, 85, 12,
+ 92,189,122, 21, 61,123,246,132,221,162,229,150,175,150, 70,163,249,112,238,220,185,137,163, 71,143, 22,150,107, 12, 72, 18, 82,
+169, 20, 3, 7, 14, 52,232,116,186, 15,221, 45, 40, 77,211, 96,177, 88,200,204,204,196,134, 13, 27,176,104,209, 34, 68, 69, 69,
+193, 98,177, 60, 34,182,236,237,158, 91,141,159,213,106,197,133, 11, 23,176,101,243,102,124, 50,103, 14,124,124,124, 0, 0,102,
+179, 25,170,162, 34,240,249,124,167, 24,171, 65, 56,237,184,125,251,246,244,176,176,176,114, 83,134,142, 87,123,155, 5,155,205,
+ 6,171,213, 10,131,193,128,229,203,151, 91, 25,134,217, 81, 83,255,227, 16, 69,211,167, 79,135,209,248,151, 65,189,181,221, 39,
+ 57, 50, 50, 18,109,218,180,113,238,147, 36,201,184,203,249, 93,215,150,208,187,156,221,116,238, 50, 0, 64, 88, 88, 24,154, 54,
+109, 10,133, 66, 81, 37,231,147,214, 34,181,129, 7,145,225,171, 22, 90,127, 71,166,108, 54,135,223,167, 97,227, 38, 68,122,142,
+ 10, 44, 22, 11, 34,223, 0,116,125,101, 6, 40,138,132, 88, 26, 0,130,214,255,165,136, 73, 10, 44,138, 5, 85,137, 30,145, 13,
+ 26,147, 60,190,160,143,174, 6,161, 37,241,101,175,158, 53,178, 43,191,208,154, 9, 65, 61, 62,104, 71,119, 26,194, 5,233, 95,
+130,247, 6, 68, 9, 98,247,253,185, 26, 26,203,115,238,148,151,178, 90, 17, 68, 81, 48, 51, 12,174, 76,159,142,152,248,120,164,
+ 56,132, 97,124, 60, 82, 98, 99, 33, 99,179,193, 35, 73, 48, 22,203, 35,115,250,238, 8, 45, 0,200,200,200,192,174, 93,187,100,
+195,135, 15,223,115,245,234,213,209, 30,138, 13, 7, 87,192,185,115,231,130, 26, 52,104, 80,229, 57,247,238,221, 67,251,246,237,
+ 61,158,158,226,114,185, 3,158,123,238,185,109,187,118,237,242, 77, 77, 77, 69, 80, 80,208, 99, 11, 45, 30,143,215,179, 95,191,
+126,219, 54,109,218, 36, 41, 40, 40, 64,124,124,188,228,165,151, 94,218,154,156,156,252,138,209,104,116, 71,108,150, 19, 89,241,
+241,241,234, 13, 27, 54,124,135,242, 83,132, 57, 27, 54,108,248,190, 67,135, 14,111,197,198,198, 74, 1, 76,182,251, 14, 84, 43,
+182,120, 60, 94,239,134, 13, 27,150, 27,213,242,120,101,198, 38,145, 72, 4, 95, 95, 95,112, 56, 28, 24,141, 70,196,196,196, 16,
+ 92, 46,183,187, 59,215,236,227,227,211,239,213, 87, 95, 37,147,146,146,144,155,155, 11,169, 84, 10,177, 88, 12,154,166, 49,113,
+226, 68,106,249,242,229,189,117, 58,207,102,184,194,195,195,135,244,237,219,151,117,237,218, 53,220,191,127, 31, 70,163, 17, 55,
+111,222,132, 68, 34,193, 27,111,188,193, 89,186,116,233, 75, 89, 89, 89,158, 10,173,150,177,177,177,121,174, 34,203, 1,145, 72,
+ 68, 52,105,210, 68,229,239,239,223, 14,128, 39, 66,171,229,219,111,191,157,191,120,241,226,158,199,142, 29,115, 6,189, 60,118,
+236,216,108, 0,248,250,235,175, 19, 3, 3, 3,219, 1,112, 87,104,129, 97, 24,219,127,254,243,159,135, 92, 46, 23,108, 54, 27,
+ 92, 46,183,220,198,225,112, 64,146,164,143,227,113,174,137,239,250,253,220, 37, 19,103, 47, 91, 38,226, 83,236,119, 95,105,133,
+122, 82, 14, 32,144,129,211,243, 3, 16,210, 50,163, 37,163,186, 7,252,246, 1,190,122, 85, 69,198,254,104,248,197, 76,251, 5,
+222, 45, 42, 42,249,135,251,128, 14, 0,254,135,178,228,186,115, 0,156,123, 74,250,166, 75, 0, 98, 6, 13, 26,228, 20, 91,135,
+ 15, 31,198,128, 1, 3,160, 86,171,113,237,218, 53, 87,145,229, 73,130,229, 75, 22,139,229,242, 79, 63,253,212,117,248,240,225,
+132,203,243,133,212,212, 84,220,184,113, 35,197, 93, 62,146, 36, 97,179,217,192,102,179,177,108,217, 50,152,205,102,252,248,227,
+143,216,185,115, 39, 72,146, 4, 65, 16, 32, 8, 2, 18,137, 4,223,124,243,141, 71,237, 30, 77,211,216,184,113, 35, 62,152, 61,
+219, 41,178,236, 51, 25, 8,150,203,225, 31, 16,128,187,119,239,214, 40,180,138,138,138, 62,223,191,127, 63,170,115,134,223,191,
+127,191,243,125, 5,103,248,154,251, 57,138,130,209,104,196,243,207,255,149, 42,246,237,183,223,118,190, 87,169, 84,160, 40,202,
+ 81, 23,132,187,156,122, 6,120,133,255,215,103, 3,223,123,175,156,133,174, 42,206,191, 67,139,212,149,117,171, 18,177, 21, 99,
+183,206, 42, 0, 12, 66,153,143, 86, 14,240, 55,250,104, 49,140,173, 89, 88,104, 8, 46,223,185, 10, 22, 69,129,235, 27, 0, 95,
+153, 28, 54,171, 9,154,252,251, 56,185,251, 91, 0,192,186,141, 59, 64,146, 36, 88, 44, 10, 70, 19,141,168,122, 33,176,217,108,
+205,170,227,110, 14,116,237, 45, 15,232, 20, 30, 33, 37,174,249,221, 71,147, 32,255, 10, 19, 33, 60, 68,101,139,137, 46, 98, 65,
+199, 34, 77,113,215,235,192,233, 26,197, 0, 73,130, 36, 8, 8, 57, 28, 24,119,237, 42,243,218,140, 47,235,179, 82, 98, 99, 65,
+254,242, 11,124,120, 60, 80, 4, 1,150,221, 4, 93, 27, 20, 23, 23,131, 32, 8,108,217,178,197,239,141, 55,222,216,122,237,218,
+181, 88,131,193,176,203, 19, 14,181, 90, 61,168, 91,183,110, 39, 54,110,220, 24, 24, 28, 28,252,200,241,220,220, 92,140, 27, 55,
+174, 64,173, 86,123, 20,212,141,207,231,191, 54,100,200,144,245, 63,252,240,131,228,246,237,219,208,106,181, 8, 12, 12,124,220,
+ 91,161, 93,231,206,157,247,236,218,181,203, 55, 55, 55, 23, 26,141, 6, 70,163, 17, 91,182,108,145, 14, 28, 56,112, 87, 90, 90,
+218, 0, 0,201, 53,112,124,234, 42,178, 38, 77,154,244, 39,128, 32, 0,171, 43,106, 80,251,177, 86, 46, 98, 75, 3, 96,105, 53,
+ 35,209, 8,145, 72,132,252,252,124,140, 27, 55, 14,183,110,253,101, 0, 13, 9, 9,113,142,244,238,222,189,139,192,192, 64, 16,
+ 4, 17,228,206, 69, 7, 6, 6,138, 77, 38, 19, 38, 76,152,128,140,140,140,114,156,153,153,153, 32, 8, 66,232,105, 69,202,229,
+114,185, 94,175, 71,143, 30, 61, 96, 48,148,229,245, 29, 49, 98, 4,216,108, 54,242,243,243,193,102,179, 3,106,241,255, 4, 12,
+ 26, 52,168,202,208, 42, 18,137,196,236,231,231,215,220, 67, 78,255,151, 94,122, 41, 43, 62, 62,254,145,133, 45,231,207,159,127,
+ 89, 38,147, 29,147,201,100, 77, 60,228,180,185,138, 42, 14,135, 83, 78,104,177,217,108,144, 36,233,182,143,218,173,124,221, 42,
+ 22,145,211,102,241,212, 23,198,213, 11,242, 5,163,205, 3,231,185,207,113,185, 64,128,101,203, 15, 1, 0,222,127,189, 61, 90,
+247, 91, 0,211, 15, 47, 96,122, 23,138, 59, 38,211, 56, 11,192,167,255,112,155,255, 37, 0,199, 42,184, 53, 0,218, 60, 69,253,
+145, 83,108, 29, 62,124, 24,209,209,209, 40, 42, 42, 66, 90, 90, 90,109, 69,150,163,189,251, 96,222,188,121,191, 13, 29, 58, 84,
+228, 24,180, 10, 4, 2,204,156, 57, 83,175,213,106, 63,240,232, 38,178,217,192, 98,177,156,131,100, 62,159,143,152,152, 24,167,
+200, 34, 8, 2,165,165,165, 96,177, 88,142, 21,137,132,155,101,132, 34, 56, 24, 62, 62, 62,104, 28, 21,133,219,246,118,196,241,
+158,199,227,129, 32, 8, 88,173, 53, 26,242, 74,236, 78,237, 51,234,186, 75,118,136,162,106, 77,199, 33, 33,176,217,108, 14,145,
+201,212, 5,103, 64, 64, 0,180, 90,173,187,156, 79, 37,170,176,104, 57,132,214, 32,148,249,106, 61, 18,222,161, 23,128,147,120,
+130, 75, 42, 9, 48,132,141, 97,192,162, 72,251,220, 45, 5,138, 34,161, 42,200,193,138,207, 39,219, 69,214, 78, 28, 76, 76, 67,
+ 88,195,232,191,230,113, 9, 2, 96,170,191,185, 3,125, 57,241, 83,134,118, 22,228, 17, 57,144,134, 8,193,231, 87,208,143,126,
+ 28, 16,145, 36,166,246, 14, 19, 94,216,111,136,191,174, 49,215,216, 81,240, 73,178,204,249,157, 32, 42,117,238, 33,237,199, 40,
+130, 40,139,254,106,243,204,239,216, 33,228, 5, 2, 1,204,102, 51, 40,138,194,202,149, 43,165,253,250,245, 91,237,169,208, 2,
+144,154,151,151, 55,112,226,196,137,135,119,236,216, 17, 16, 16, 16, 80,110,244, 48,113,226, 68,101, 94, 94,222, 64,120,232,116,
+207,102,179, 87,175, 89,179, 70,242,224,193, 3,148,150,150, 66, 32, 16, 56, 27,159,218,222,159, 29, 59,118,252,245,200,145, 35,
+126, 26,141, 6,102,179, 25, 2,129, 0, 12,195,128,162, 40,252,252,243,207,254,131, 7, 15, 62,148,158,158,254, 92,117,101, 21,
+ 8, 4,175,216,133, 19, 98, 99, 99,165,177,177,177,189,128, 42, 35,245, 58, 17, 27, 27, 43,157, 49, 99,198, 75,122,189,126,105,
+ 53,215,156,161, 82,169,130, 5, 2, 1,118,239,222, 13,177, 88, 12,161, 80,136,144,144, 16,168, 84, 42, 8,133, 66, 48, 12, 3,
+139,197,226,104, 44, 10,221,185,240,130,130, 2,173,213,106,245, 61,124,248, 48, 10, 11,255,250, 74,189,122,245,160, 86,171, 97,
+179,217, 74, 61,173,204,236,236,236, 60,130, 32,194, 47, 95,190,140, 7, 15, 30, 96,192,128, 1,248,229,151, 95,208,190,125,217,
+236,176,201,100,170, 77, 16, 63,154,162, 40,166,154,251,150, 0,224, 87,151,156,246,206,203, 35, 78,155,205,102,115,136, 44,215,
+ 87, 87,241, 85,195,111,150,123,156,155,203,197, 27, 22, 79,233, 59,238,133,232, 0,232, 11,238,131,239, 19, 0, 66, 26,137,101,
+203, 15,225,218,189,178,255,107,217,214,139,216, 22, 55, 16, 16,200,208,212, 87,137, 96, 31,214,171, 55,242,255,113,161,229,235,
+ 58, 78,120, 90, 59,166, 1, 3, 6, 64,165, 82, 65, 44, 22,215,133,127,206, 25,189, 94,127,115,239,222,189,237, 6, 13, 26, 4,
+ 46,151,139,155, 55,111, 34, 57, 57, 57, 13,192, 25, 79,133, 22,155,205,198,188,121,243, 48,121,242,100,200,229,114,124,240,193,
+ 7, 96,177, 88,206,141, 32, 8,167,133,203, 19, 4,201,171, 95,248,232,112,136,175,201, 24,238,235,235, 59,143, 36,201,225,148,
+ 27, 21, 71,211, 52,109,179,217,118,104, 52,154,106,195, 59, 56, 28,215,221,249, 47, 92,235,160,134, 62,237,177, 57,255, 14, 45,
+ 82, 27, 84, 92,109, 88,133, 69,203,177,234,240,145, 84, 64,142,171, 60,105, 55,217,157,124, 82, 5, 37, 72,234, 70,102, 86, 54,
+252,253,196,118,145,101,223, 72, 18,173,163,203, 6,179, 7, 19,211, 16,214, 32, 26, 44,138, 2,139,162, 32, 22,240,144,151,155,
+ 3, 22,139,188, 81, 21,111, 75, 10, 67,135, 54, 9,143,244,243,103, 67, 25,104,130, 66, 94,133, 97,160,157, 15,194, 20, 92,244,
+247,231, 71,180,164, 48,180,122,235, 27,227, 20, 90,102,171, 21,156,215, 94,115, 78, 23,166,196,198, 34, 38, 62, 30,244,144, 33,
+208,153,205,229, 76,197,181, 21, 90, 2,129, 0, 37, 37, 37, 24, 61,122,180,202, 98,177,188, 85,203, 42, 78, 46, 44, 44, 28, 54,
+102,204,152, 66,135,128, 49,155,205, 24, 51,102, 76, 97, 97, 97,225, 48, 55,172, 68,143,192, 98,177,188,213,190,125,123,149, 82,
+169,116,150,179, 54, 13,142, 3, 50,153,236,224,134, 13, 27,100, 70,163, 17, 86,171,213,201, 41, 16, 8, 64, 81, 20, 2, 3, 3,
+177,109,219,182, 64,153, 76, 86,109,206, 42,189, 94,191, 55, 62, 62, 94, 13, 0,241,241,241,106,130, 32, 18, 8,130, 88, 75, 16,
+196,154, 10,219, 90,130, 32, 18, 92,207,213,235,245,123,170,227, 54,153, 76, 9,105,105,105,140, 80, 40, 4, 69, 81, 48,155,205,
+224,243,249, 78,147,120,113,113, 49,244,250,178,105,238,228,228,100, 88, 44,150, 36,119,174,189,164,164,228,248,198,141, 27,109,
+245,234,213, 67,116,116, 52, 98, 98, 98,208,185,115,103, 68, 68, 68, 96,254,252,249,180, 78,167,243,248,217,203,206,206, 62,184,
+125,251,118, 75,120,120, 56,218,181,107, 7, 30,143,135,214,173, 91, 35, 36, 36, 4,139, 22, 45, 50,105, 52,154,195,181,248,155,
+210,175, 94,189, 74, 85, 35,114, 37,112, 99,245,110, 5,100, 92,184,112,129,234,220,185,243,190,138, 7, 58,118,236,184, 79, 44,
+ 22,251, 58, 76,236,158,140,200, 93,197, 21,143,199,115,110,142,207, 89, 44,150, 59,163, 31,178,185, 92,188,225,139,201,125,198,
+189, 16,237,135,125,199,207,129, 99, 86, 3,166,106,102, 4,105, 11, 8,142, 8,114, 95,118,216, 83,208, 7, 76, 7,240, 39,202,
+226, 48,125,128,167, 11, 78,199,247,194,194, 66,164,165,165, 33, 57, 57, 25,157, 59,119, 70, 82, 82, 18,240,151,131,188,199,208,
+104, 52, 31,196,197,197,233, 28, 43,249,230,204,153,163, 47, 41, 41,249,192,211, 54,152, 97, 24,176,217,108, 52,109,218, 20, 51,
+102,204,192,161, 67,135,112,243,230, 77, 88, 44, 22,167, 16,114,248,100,122, 98,209,226,112, 56,144,203,229,176, 88, 44, 78,107,
+ 22, 0,220,190,117, 11, 44, 22, 11, 54,155, 13, 38,147,169, 70,139,150,175,175,239,188,245,235,215, 79, 83, 42,149,138,130,130,
+130, 32,215, 45, 47, 47, 47, 40, 39, 39, 39, 40, 43, 43, 43, 40, 35, 35, 35,232,225,195,135, 65,247,239,223, 87, 44, 89,178,100,
+154,175,175,239, 60,119,202, 73, 81, 20, 90,183,110,141,183,223,126,219,185,173, 90,181,202,185,157, 60,121,210, 99,231,117,138,
+162,208,116,238, 50, 12, 44, 96,156,219,161, 64,194,185, 93,123,127, 82,117,156, 79, 92,139,212, 74,191,216, 87, 27,186, 38,150,
+174, 4,142, 85,135,142,182,204,233,182, 81,209, 25,254,137,193,106, 50,156,184,119,231, 86,159,166, 45, 59,144,185, 74,109,185,
+229,159, 49,189,135,129, 32, 8,132, 54,136, 6,197, 98,129,162, 72,176, 40, 10, 82, 9, 31,105,151, 47,219,140,122,253,137,202,
+ 56,123, 1, 44,174,128,187,234,245,254,173,249,217,220,124, 4, 42, 68,224,176,203,180, 35,115,111, 88,133, 30,130, 5,180,244,
+193,248, 44,127,193,137, 60,195, 42, 63,157,121, 95, 66, 21, 35, 64,155,205, 6, 49,143, 7,131,209, 8,189,213,138,222, 43, 86,
+ 56,167, 11, 73,130,192, 37, 0,173, 86,172,192,233, 93,187, 32,225,114, 1, 30,207,237, 85, 33,149, 9, 45,165, 82,137,177, 99,
+199, 22,230,228,228,188, 81, 27, 31, 45, 7,140, 70,227, 31,185,185,185,111, 12, 27, 54,108,203,238,221,187,101,195,134, 13, 83,
+229,230,230,190,225,166,223,211, 35, 48, 24, 12,187, 50, 50, 50, 74,199,142, 29,187,121,235,214,173,254, 1, 1, 1,206,145, 72,
+173,110, 86,130, 80,246,237,219,151,231,206,121, 53,156, 18,103,119,110,159,108,183,108,181,154, 52,105,210,105,148,249, 95,185,
+ 98,238,186,117,235, 70,184, 76, 49,174, 5,176,162, 58,226,226,226,226, 53, 51,102,204,248,239, 31,127,252, 17,192,231,243, 65,
+ 16, 4, 56, 28, 14, 26, 55,110,236, 92, 69,195,102,179,193, 48, 12,222,123,239, 61,101,126,126,254,215,110,254, 55,147,226,226,
+226,122, 26, 12, 6,191,177, 99,199, 82,124, 62, 31,121,121,121, 88,190,124, 57,253,195, 15, 63,168,117, 58,221,184, 90, 8,225,
+141,159,125,246, 89,111,173, 86,219, 96,226,196,137, 28,141, 70, 3,189, 94,143, 89,179,102,153,190,255,254,251, 76,189, 94,239,
+113,192,223, 46, 93,186,220,121,248,240, 97,247,210,210,210, 34,161, 80, 88,209,218, 71,136, 68,162, 14, 0, 54,123,194, 25, 19,
+ 19,115, 55, 61, 61,189,243,130, 5, 11, 18, 44, 22, 11,251,252,249,243, 78,103,248,149, 43, 87,158,228,243,249,125, 81,197,178,
+232,106,238, 17, 27,143,199, 43,103,193,170,248,158,197, 98,213,216,166, 53, 11, 22, 46,248,226,205,158,227,158,111,238,139,189,
+199, 47, 34,110,207,189, 27, 81,227, 2,155, 54,242, 43,128,173, 32, 13,239,191,222, 30,203,182, 94, 4, 80, 54,117,104,203,191,
+ 6,166,232, 46, 24,159,112,220, 87, 41,179,159,130, 62,224, 36,202, 66,102, 60,109, 40, 39,178,174, 93,187,134, 62,125,250, 0,
+ 0,146,146,146,208,173, 91, 55, 36, 37, 37,161,123,247,238, 30,199,210,178,227,247,226,226,226,135, 39, 79,158,108, 17, 30, 30,
+142, 51,103,206,220, 7,240,187,167,133,116, 8, 45, 22,139,133, 81,163, 70,161, 95,191,126,168, 87,175, 94,185,213,134,142,247,
+158,136, 13,171,213,138,150, 45, 91,194,104, 50,129,195,225, 56,167, 38, 89, 44, 22, 2,131,130,112,231,206, 29,183, 44, 90, 36,
+ 73, 14,127,229,149, 87,200,212,212, 84,140, 28, 57, 18, 91,182,108,169,242,220, 49, 99,198,224,167,159,126,194, 43,175,188, 66,
+126,244,209, 71,213,134,119,112, 56,161,187,115, 77,142,126,186,166,118,191,174, 56,159,180, 22,121, 28,184,132,118,168,116,210,
+164,146,207,226,203, 9, 45,151, 32, 97, 79, 70,104, 89,205, 91,126,249,241,219, 25,157, 87,119, 15, 84, 4,249, 66,165,209, 59,
+197, 86,202,201,157, 0,128,161,147, 22,130, 69,149, 77, 41, 74,196,124, 8, 56, 20,118,109,250, 90,105, 54, 27, 42,189,187, 74,
+216,228,228,143,186, 54,246,229,138, 44, 40, 14,102, 16, 29,248, 87,166, 28,162,193,206, 71, 5, 87, 91, 63, 4, 92, 43,194,235,
+141,196,146,175, 83,213,147, 97,177,173,122,164, 67, 84,171,245,234,203,151, 5, 3,214,175,199,249, 55,222, 64, 40, 77, 35, 33,
+ 36, 4, 50, 54, 27,190, 60, 30, 72,130,128,254,192, 1,156,222,189, 27,114, 30, 15,240,241,129,117,254,124, 24,211,210, 96, 41,
+ 41,209,215, 98,100,134, 17, 35, 70, 40,149, 74,229, 48,147,201,244,199,227,214,179, 94,175, 63,146,145,145, 49,185, 75,151, 46,
+171, 45, 22,203, 91,122,189,254,177, 86, 70,153, 76,166, 35,185,185,185,175,141, 24, 49, 98,231,158, 61,123, 2,164, 82,105,173,
+185, 10, 11, 11,219,215,209,237,100, 3,240,137,221,185,125,114,108,108,172,244,194,133, 11,255,221,176, 97,195,106,151,209, 68,
+208,132, 9, 19,222,172, 32,178,106, 92,117, 8, 32, 61, 63, 63,127,254,204,153, 51, 23,126,245,213, 87, 98,135,227,251,149, 43,
+ 87, 96,181, 90,193,102,179, 65,211, 52, 38, 76,152,160, 45, 44, 44, 92,134,170, 35, 58, 63,114,107, 21, 23, 23, 55, 94,176, 96,
+193,134, 21, 43, 86,244,163, 40, 74, 68,211,180,174,180,180, 52,193, 96, 48,140, 67,237,226,104,217, 10, 10, 10,198,126,250,233,
+167, 99,151, 47, 95,254, 10, 73,146, 65, 86,171, 85, 89, 82, 82,178, 95,175,215,127,143, 90, 76, 37,157, 57,115,166,224,245,215,
+ 95,191, 87, 80, 80,208, 44, 44, 44, 76, 35, 22,139, 77, 38,147,137, 18, 8, 4, 18,145, 72, 20, 3,224, 12, 65, 16,215, 61,225,
+ 76, 73, 73,201,157, 56,113,226, 3,163,209,216,116,237,218,181,137, 18,137,228, 56, 65, 16, 4,135,195,241, 19, 8, 4,125, 0,
+ 36, 16, 4,113,219, 19, 78,146, 36,109,174,214,171,138,254, 89, 92, 46,215, 45, 31,173, 6,129,194,241,253, 26,179,176,247,196,
+ 69,196,237, 77,223, 72, 51,204,238,221, 41, 69, 7, 62,232, 6,152,119,188,142,214,195, 54,151, 77, 23, 2,176,229, 95,131,121,
+199, 24, 16,194, 0, 36,102,177,161,209,155, 15,194,139,202,224, 12,239,160, 84, 42,145,154,154,234, 16, 89, 49, 0,208,189,123,
+247, 20,135,216, 74, 78, 78, 70,187,118,237, 82, 0,176, 61,189, 95,139,139,139,103,142, 30, 61,250,136,125,112, 60,179, 22, 3,
+ 63,167,208,114, 8,170,122,245,234, 57,247, 93, 55, 23, 31, 45,183, 64,211, 52, 56, 28, 14, 88, 44, 22, 20, 33, 33,206,223, 98,
+ 24, 6,119,238,220,129, 74,165,114, 75,104, 81, 20, 69, 17, 4,129,145, 35,221, 91,144,252,159,255,252, 7, 9, 9, 9,160,220,
+ 84,133, 20, 69, 33, 50, 50,178,198,115, 28,186,212, 93,206,176,176,176, 90,115, 62,105, 45, 82, 91,129, 85,217,251,202, 68, 85,
+ 85, 15,196,223,133,108,173, 86,243,201,166,245, 43,191,154, 48,229, 61,241,181,187,121,208,104,141,160, 40,210,181,241, 4,139,
+ 69, 65, 34,226, 35, 60,216, 23, 91,191,251, 95, 73, 73,177,250, 83, 84,145,247,176,158, 15,103, 82,223, 14,141,120, 28,133, 14,
+ 77, 91,141, 0,197,255, 75, 4, 48,185, 85,204, 14,118,251, 13, 47,166,235,248,191,164,235, 38, 93, 42, 50, 61, 42,180, 76,166,
+ 23,230,244,239,255,107,220,161, 67,194,142, 27, 55,226,238,132, 9, 8,209,235,193,179, 79, 37,146, 4, 1, 49,135, 3, 49,135,
+ 83, 38,178,150, 47,135,222,106,197,138, 55,222, 40, 53,154, 76,253, 61,121,200, 11, 11, 11, 49,100,200,144,130,236,236,236,129,
+168,197,212, 94, 85,208,233,116,187, 0,236,170, 43, 62,163,209,248, 71,102,102,230,139, 67,134, 12, 57,116,228,200,145,192,167,
+ 36,200,156, 67,108,153, 47, 92,184,240,102, 98, 98,226, 93,148, 79, 44,170, 78, 76, 76,188, 59,113,226, 68, 98,195,134, 13,223,
+ 3,248, 12,110, 6,240,212,233,116, 43,143, 30, 61,138,158, 61,123,126,182,120,241, 98,255,246,237,219, 35, 40, 40, 8, 37, 37,
+ 37, 72, 78, 78,198,244,233,211, 85,197,197,197,139,213,106,245, 87, 30,150,217,108, 52, 26,199,184, 46,165,174,139,122, 48, 26,
+141, 63,228,228,228,252, 80, 87,132, 83,167, 78,189,114,231,206,157,194,192,192,192, 78, 28, 14,167, 21,202,252,128,114, 1,124,
+239,169, 32,114, 96,202,148, 41,151,239,220,185,163, 12, 13, 13,237,108,231,148,162, 44,141,209,250, 90,112,102, 95,188,120, 49,
+172, 67,135, 14, 36,155,205,102, 40,138, 2,155,205,102, 88, 44, 22, 99,247,171, 97, 0, 96,255,254,253, 60, 0,213,166,205,185,
+155,175, 95, 48,230,127,167, 62,186,158,107,216,157,150, 87, 58, 3, 0,179,227,154,240,183,214,129,212, 11, 47, 52,201,132, 49,
+190, 59, 8, 73, 89,160, 74, 70,155, 3, 66, 36, 71,166, 45, 20,115,247,221,200,181,130, 88,234,213, 84,149,143,171, 97, 15,239,
+144,147,147,227, 42,178, 28, 86,171,152,238,221,187,167,216, 69,150,227, 88,109,252,203,142,217,108,182,199,234,195, 24,134, 65,
+ 92, 92, 28,214,173, 91,135,154, 34,154,219, 87,247, 17, 53,241, 57, 44, 90, 52, 77,195,108, 54,227,218,181,107,206,152, 93,142,
+233, 66, 71,104, 7,171,213, 90,237,106,117,154,166,105,147,201,132,159,127,254,217, 45,177,181,109,219, 54, 24, 12, 6,208, 53,
+ 40, 56,215, 80, 12,109,218,180,129, 74,165,114, 46,246,137,137,249, 43, 84,158,217,108,246, 72,184, 58, 56,155, 54,109, 10,165,
+ 82, 9,135,191,112,248, 27,127, 25,123,172, 58,221,191,245,190,175,210,162,245,183,247,152, 60,161,228, 72,251,174,253,186,189,
+241,230,116,145,214, 72,227,193,131,135, 40,200,207, 1, 73,144, 80,132,134, 33, 34, 34, 18, 2, 46,137, 45,241, 95,233, 82, 78,
+ 31, 63,165, 45, 41, 26, 80, 21,215, 32,223,255,107,239,108, 98,219, 40,162, 56,254,223,117,252,145,164,117, 12,235,184,144,130,
+132,107, 75, 77,133, 64,168, 80, 33, 80, 36,108, 65, 64, 28, 16,135,208, 54, 7, 90,110,149,162, 34,144,122,171,132, 84,163,158,
+ 56, 68, 37, 72,225, 16,113, 33,226,196, 33,135,170, 7,135, 15,149, 28, 40, 32, 4, 82, 32,253, 74, 85,197,170, 72,237, 56, 45,
+113,140,227, 38,246,122,135,131,189,210,118,179,235,122,227, 55,182, 55,218,191,180,202,135,162, 95,222,204,123, 35,191,153,217,
+121,227,249,249,194,123, 67,175, 68,163,126, 1,114, 25,168,148, 1,185, 12, 40,181,175,234,239,148,135, 99,110, 97, 97,141,157,
+253,243,254, 47,151,114, 37,195, 59,171,142, 2, 67,143, 73, 82, 50,113,241, 98,175, 82, 42,225,222,153, 51,232,149,101,116,215,
+102, 37,213,134,248, 32,159, 63, 95, 77,178, 78,156,216,200,173,173, 89,186,130,167,191,191,255,119, 65, 16,250,179,217,172,173,
+ 42,195,135, 66,161, 75,140,177,213,213,213,213, 35, 29,100,215, 62, 0,107, 0, 74, 6, 19,137, 16,172,191,255,163, 42, 28, 10,
+133,206,138,162,248, 42, 99, 44, 40,138,226,191,138,162, 92, 89, 89, 89,249, 12,192, 45,231,243,180,109, 82, 43,195, 31,120,196,
+223,173, 0,248, 24,213,151,130,151, 26,133,191, 16, 8, 4, 54,189,229,153,119,159,243,197,143,189, 24, 64,228, 73, 63,220,158,
+110, 44,175,203,248,254,234, 58,190,186,156,190, 83, 44, 87,222,185,153,221,248,203,113, 69, 93,145, 95,193, 67, 41, 73,146,126,
+ 77, 38,147, 71, 34,145,136,168,125,225, 93,173,149,167,110,111,117,117, 85,115,185,185,185, 57,121,116,116,244, 74, 38,147,121,
+205,140,233,247,251,103,231,231,231,223,204,229,114,219, 18, 42,109,165,120,245,231, 66,161,128,177,177,177,239,204,174,224, 9,
+ 4, 2, 23,198,199,199, 63, 26, 25, 25, 17,213,114, 20,218, 71,189, 46, 72,125, 74,165, 18,166,167,167,149,137,137,137, 47,114,
+185,156,233,214,225,192,192,192,157,229,229,229,167,213, 82, 11,141, 20, 21, 13,135,195,119, 83,169,212,254, 86, 50,109,156,112,
+ 77,105, 19,239,182, 44, 77,184,123,122, 78,251,247, 62,126,110,228,253, 15,131,225,232, 65,225,137,129,167, 32, 64, 68, 38,253,
+ 15, 82,183,111,178,153,111, 38,239, 21,214,239,127, 90, 44, 22, 38,235,113,158, 5,162, 7,250, 60,223,122, 43, 24,132,154, 0,
+233,238,167,218, 54,227, 0, 80,114,139,215,151,242,229,227, 87,235,108,251,168,201,214, 39, 51, 51,189,222,193,193,109,133,226,
+ 20, 69,193,230,181,107,248,252,228, 73,203, 73,150, 35, 71,142, 72, 20,193,163,107,100,149, 81,173,207,101,117,197, 68, 56,180,
+111,207,113, 6, 28, 19,161, 60, 47, 10,130, 87,102,184, 1,134,217,222,174,141, 47,255,184,139,162,211,253, 13,169, 99, 47,149,
+ 6,176, 71,146,164, 31, 92, 46,215, 51,234,138,140,118,181,222,224, 66,233,165, 76, 38,243, 6,128,122, 39,132,163,126,191,127,
+178, 82,169,188,220,200,165,210, 46,151,235,183,124, 62,127, 26,117, 46,149,230,113,234, 48, 24, 12,222, 74,165, 82, 81,245, 20,
+181,246,179,210,232,100,249,226,226, 34, 98,177, 88, 42,157, 78,135, 91,201,236, 84,153,156, 58, 60,101,224,227,246,172,104,105,
+180,223,227,219,251,129,183,167,251,117,165, 44, 31,130, 0,116,185,221,215,183, 30, 20,127,220, 44,254,247, 53, 76,182, 11, 91,
+169,163,192,144,207,235,157,245,244,245,245, 24, 37,109,229,124,190,184,185,181,245,150,147,100, 57,114,228,200,145, 35, 27,105,
+ 80,146,164,164,219,237,246,105,147, 73,253,247,170,100, 89,126,144,205,102,223, 6,112,163,197, 76, 91,203, 74, 17,243,135,100,
+241, 37,181,225, 70,153,181, 39,214,233, 76,142,109,103,132,204, 88,141,153,176,137,157,177, 78,101,170,237,181,192, 29,182, 18,
+ 71, 84,253,169,177,147, 81,219,201,139, 73, 53,142, 12,236,100, 28,252,158,176,137,157,177, 78, 99,234,227,167, 65,174, 37,102,
+131, 49,101,213, 78, 70,109, 39, 47,102,179,227,168,142,157,172,217, 88, 50,241,125, 2, 54,212,194, 97,176,133,195, 96,127,191,
+100, 88,183,209,104, 69, 11,140, 49,107, 47,195,243, 58, 9,160,150,221,175,241,133, 78,101,106,251,129,242,170, 0, 14,215, 14,
+ 92,166,102,234,250,147, 74,137,218, 9,147,159,208, 64,193, 81, 43,109,167,240,187,174,173, 36,220, 29, 36, 89,150,152, 84,113,
+207,155, 73, 53,150,244, 76,138,184, 55,242, 59, 71, 31, 81,217, 73, 50,150,120,196,188, 65,252, 52,205,213, 51, 41,198,146,158,
+ 73, 17,247,173, 96, 82,140, 37, 35, 38, 69,220,155,249,222,174, 43, 84,234,118, 97,173,196,131,208, 64,178, 53, 5, 0,226, 78,
+ 58,141,135,120, 92, 36, 73,157, 16,241, 74, 54, 45,172,192,180,157, 73,236,163, 68,141, 73, 57,187,137, 83,249,136, 71,188,107,
+153, 84,124, 61,135,194, 79, 70,204,102,237, 53,177,147,188,237,205,198,125,171,152,196, 62, 34, 25, 75, 58,102,156,120, 50, 16,
+215,252,156,160,100, 82,141, 37, 3, 59,155,246,147, 17,179, 89,123, 77,236, 36,111, 59,197,103, 8, 47,110, 59, 87,180,152,104,
+ 26, 19, 83,186,167, 37,137, 70,219,182,228, 44,178,119, 21,211,226,246,204, 48, 7,223,183,213, 78, 74,166,222, 70,202,237, 30,
+158,118, 82, 50, 45,216,186,235,152,118,243,123, 39,246,167, 25,175,153,109, 41,179,213, 81, 30,118, 82, 50, 27,100,239, 10,102,
+ 19,190,223, 53,218,209,214, 33, 79,169, 29, 79, 60, 51, 1,241, 10, 12,183,118, 19,219, 25,231,177, 66,200, 65,228,118,214,102,
+202,231, 56,180,221, 46,125,234,140, 37,103, 44,117,220, 88,210,197,100,156,112,165,136,116,229, 89,207,164,248, 31, 90, 6, 85,
+140,242,110, 59,229, 88,226,225,123,187,233,127,210, 11,149,201, 8, 25,190, 81, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
0};
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..a3343496be7 100644
--- a/source/blender/editors/datafiles/splash.png.c
+++ b/source/blender/editors/datafiles/splash.png.c
@@ -1,8411 +1,6405 @@
/* DataToC output of file <splash_png> */
-int datatoc_splash_png_size= 268962;
+int datatoc_splash_png_size= 204738;
char datatoc_splash_png[]= {
137, 80,
78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 1,245, 0, 0, 1, 26, 8, 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,
-};
+ 0, 10, 79,105, 67, 67, 80, 80,104,111,116,111,115,104,111,112, 32, 73, 67, 67, 32,112,114,111,102,105,108,101, 0, 0,120,218,
+157, 83,103, 84, 83,233, 22, 61,247,222,244, 66, 75,136,128,148, 75,111, 82, 21, 8, 32, 82, 66,139,128, 20,145, 38, 42, 33, 9,
+ 16, 74,136, 33,161,217, 21, 81,193, 17, 69, 69, 4, 27,200,160,136, 3,142,142,128,140, 21, 81, 44, 12,138, 10,216, 7,228, 33,
+162,142,131,163,136,138,202,251,225,123,163,107,214,188,247,230,205,254,181,215, 62,231,172,243,157,179,207, 7,192, 8, 12,150,
+ 72, 51, 81, 53,128, 12,169, 66, 30, 17,224,131,199,196,198,225,228, 46, 64,129, 10, 36,112, 0, 16, 8,179,100, 33,115,253, 35,
+ 1, 0,248,126, 60, 60, 43, 34,192, 7,190, 0, 1,120,211, 11, 8, 0,192, 77,155,192, 48, 28,135,255, 15,234, 66,153, 92, 1,
+128,132, 1,192,116,145, 56, 75, 8,128, 20, 0, 64,122,142, 66,166, 0, 64, 70, 1,128,157,152, 38, 83, 0,160, 4, 0, 96,203,
+ 99, 98,227, 0, 80, 45, 0, 96, 39,127,230,211, 0,128,157,248,153,123, 1, 0, 91,148, 33, 21, 1,160,145, 0, 32, 19,101,136,
+ 68, 0,104, 59, 0,172,207, 86,138, 69, 0, 88, 48, 0, 20,102, 75,196, 57, 0,216, 45, 0, 48, 73, 87,102, 72, 0,176,183, 0,
+192,206, 16, 11,178, 0, 8, 12, 0, 48, 81,136,133, 41, 0, 4,123, 0, 96,200, 35, 35,120, 0,132,153, 0, 20, 70,242, 87, 60,
+241, 43,174, 16,231, 42, 0, 0,120,153,178, 60,185, 36, 57, 69,129, 91, 8, 45,113, 7, 87, 87, 46, 30, 40,206, 73, 23, 43, 20,
+ 54, 97, 2, 97,154, 64, 46,194,121,153, 25, 50,129, 52, 15,224,243,204, 0, 0,160,145, 21, 17,224,131,243,253,120,206, 14,174,
+206,206, 54,142,182, 14, 95, 45,234,191, 6,255, 34, 98, 98,227,254,229,207,171,112, 64, 0, 0,225,116,126,209,254, 44, 47,179,
+ 26,128, 59, 6,128,109,254,162, 37,238, 4,104, 94, 11,160,117,247,139,102,178, 15, 64,181, 0,160,233,218, 87,243,112,248,126,
+ 60, 60, 69,161,144,185,217,217,229,228,228,216, 74,196, 66, 91, 97,202, 87,125,254,103,194, 95,192, 87,253,108,249,126, 60,252,
+247,245,224,190,226, 36,129, 50, 93,129, 71, 4,248,224,194,204,244, 76,165, 28,207,146, 9,132, 98,220,230,143, 71,252,183, 11,
+255,252, 29,211, 34,196, 73, 98,185, 88, 42, 20,227, 81, 18,113,142, 68,154,140,243, 50,165, 34,137, 66,146, 41,197, 37,210,255,
+100,226,223, 44,251, 3, 62,223, 53, 0,176,106, 62, 1,123,145, 45,168, 93, 99, 3,246, 75, 39, 16, 88,116,192,226,247, 0, 0,
+242,187,111,193,212, 40, 8, 3,128,104,131,225,207,119,255,239, 63,253, 71,160, 37, 0,128,102, 73,146,113, 0, 0, 94, 68, 36,
+ 46, 84,202,179, 63,199, 8, 0, 0, 68,160,129, 42,176, 65, 27,244,193, 24, 44,192, 6, 28,193, 5,220,193, 11,252, 96, 54,132,
+ 66, 36,196,194, 66, 16, 66, 10,100,128, 28,114, 96, 41,172,130, 66, 40,134,205,176, 29, 42, 96, 47,212, 64, 29, 52,192, 81,104,
+134,147,112, 14, 46,194, 85,184, 14, 61,112, 15,250, 97, 8,158,193, 40,188,129, 9, 4, 65,200, 8, 19, 97, 33,218,136, 1, 98,
+138, 88, 35,142, 8, 23,153,133,248, 33,193, 72, 4, 18,139, 36, 32,201,136, 20, 81, 34, 75,145, 53, 72, 49, 82,138, 84, 32, 85,
+ 72, 29,242, 61,114, 2, 57,135, 92, 70,186,145, 59,200, 0, 50,130,252,134,188, 71, 49,148,129,178, 81, 61,212, 12,181, 67,185,
+168, 55, 26,132, 70,162, 11,208,100,116, 49,154,143, 22,160,155,208,114,180, 26, 61,140, 54,161,231,208,171,104, 15,218,143, 62,
+ 67,199, 48,192,232, 24, 7, 51,196,108, 48, 46,198,195, 66,177, 56, 44, 9,147, 99,203,177, 34,172, 12,171,198, 26,176, 86,172,
+ 3,187,137,245, 99,207,177,119, 4, 18,129, 69,192, 9, 54, 4,119, 66, 32, 97, 30, 65, 72, 88, 76, 88, 78,216, 72,168, 32, 28,
+ 36, 52, 17,218, 9, 55, 9, 3,132, 81,194, 39, 34,147,168, 75,180, 38,186, 17,249,196, 24, 98, 50, 49,135, 88, 72, 44, 35,214,
+ 18,143, 19, 47, 16,123,136, 67,196, 55, 36, 18,137, 67, 50, 39,185,144, 2, 73,177,164, 84,210, 18,210, 70,210,110, 82, 35,233,
+ 44,169,155, 52, 72, 26, 35,147,201,218,100,107,178, 7, 57,148, 44, 32, 43,200,133,228,157,228,195,228, 51,228, 27,228, 33,242,
+ 91, 10,157, 98, 64,113,164,248, 83,226, 40, 82,202,106, 74, 25,229, 16,229, 52,229, 6,101,152, 50, 65, 85,163,154, 82,221,168,
+161, 84, 17, 53,143, 90, 66,173,161,182, 82,175, 81,135,168, 19, 52,117,154, 57,205,131, 22, 73, 75,165,173,162,149,211, 26,104,
+ 23,104,247,105,175,232,116,186, 17,221,149, 30, 78,151,208, 87,210,203,233, 71,232,151,232, 3,244,119, 12, 13,134, 21,131,199,
+136,103, 40, 25,155, 24, 7, 24,103, 25,119, 24,175,152, 76,166, 25,211,139, 25,199, 84, 48, 55, 49,235,152,231,153, 15,153,111,
+ 85, 88, 42,182, 42,124, 21,145,202, 10,149, 74,149, 38,149, 27, 42, 47, 84,169,170,166,170,222,170, 11, 85,243, 85,203, 84,143,
+169, 94, 83,125,174, 70, 85, 51, 83,227,169, 9,212,150,171, 85,170,157, 80,235, 83, 27, 83,103,169, 59,168,135,170,103,168,111,
+ 84, 63,164,126, 89,253,137, 6, 89,195, 76,195, 79, 67,164, 81,160,177, 95,227,188,198, 32, 11, 99, 25,179,120, 44, 33,107, 13,
+171,134,117,129, 53,196, 38,177,205,217,124,118, 42,187,152,253, 29,187,139, 61,170,169,161, 57, 67, 51, 74, 51, 87,179, 82,243,
+148,102, 63, 7,227,152,113,248,156,116, 78, 9,231, 40,167,151,243,126,138,222, 20,239, 41,226, 41, 27,166, 52, 76,185, 49,101,
+ 92,107,170,150,151,150, 88,171, 72,171, 81,171, 71,235,189, 54,174,237,167,157,166,189, 69,187, 89,251,129, 14, 65,199, 74, 39,
+ 92, 39, 71,103,143,206, 5,157,231, 83,217, 83,221,167, 10,167, 22, 77, 61, 58,245,174, 46,170,107,165, 27,161,187, 68,119,191,
+110,167,238,152,158,190, 94,128,158, 76,111,167,222,121,189,231,250, 28,125, 47,253, 84,253,109,250,167,245, 71, 12, 88, 6,179,
+ 12, 36, 6,219, 12,206, 24, 60,197, 53,113,111, 60, 29, 47,199,219,241, 81, 67, 93,195, 64, 67,165, 97,149, 97,151,225,132,145,
+185,209, 60,163,213, 70,141, 70, 15,140,105,198, 92,227, 36,227,109,198,109,198,163, 38, 6, 38, 33, 38, 75, 77,234, 77,238,154,
+ 82, 77,185,166, 41,166, 59, 76, 59, 76,199,205,204,205,162,205,214,153, 53,155, 61, 49,215, 50,231,155,231,155,215,155,223,183,
+ 96, 90,120, 90, 44,182,168,182,184,101, 73,178,228, 90,166, 89,238,182,188,110,133, 90, 57, 89,165, 88, 85, 90, 93,179, 70,173,
+157,173, 37,214,187,173,187,167, 17,167,185, 78,147, 78,171,158,214,103,195,176,241,182,201,182,169,183, 25,176,229,216, 6,219,
+174,182,109,182,125, 97,103, 98, 23,103,183,197,174,195,238,147,189,147,125,186,125,141,253, 61, 7, 13,135,217, 14,171, 29, 90,
+ 29,126,115,180,114, 20, 58, 86, 58,222,154,206,156,238, 63,125,197,244,150,233, 47,103, 88,207, 16,207,216, 51,227,182, 19,203,
+ 41,196,105,157, 83,155,211, 71,103, 23,103,185,115,131,243,136,139,137, 75,130,203, 46,151, 62, 46,155, 27,198,221,200,189,228,
+ 74,116,245,113, 93,225,122,210,245,157,155,179,155,194,237,168,219,175,238, 54,238,105,238,135,220,159,204, 52,159, 41,158, 89,
+ 51,115,208,195,200, 67,224, 81,229,209, 63, 11,159,149, 48,107,223,172,126, 79, 67, 79,129,103,181,231, 35, 47, 99, 47,145, 87,
+173,215,176,183,165,119,170,247, 97,239, 23, 62,246, 62,114,159,227, 62,227, 60, 55,222, 50,222, 89, 95,204, 55,192,183,200,183,
+203, 79,195,111,158, 95,133,223, 67,127, 35,255,100,255,122,255,209, 0,167,128, 37, 1,103, 3,137,129, 65,129, 91, 2,251,248,
+122,124, 33,191,142, 63, 58,219,101,246,178,217,237, 65,140,160,185, 65, 21, 65,143,130,173,130,229,193,173, 33,104,200,236,144,
+173, 33,247,231,152,206,145,206,105, 14,133, 80,126,232,214,208, 7, 97,230, 97,139,195,126, 12, 39,133,135,133, 87,134, 63,142,
+112,136, 88, 26,209, 49,151, 53,119,209,220, 67,115,223, 68,250, 68,150, 68,222,155,103, 49, 79, 57,175, 45, 74, 53, 42, 62,170,
+ 46,106, 60,218, 55,186, 52,186, 63,198, 46,102, 89,204,213, 88,157, 88, 73,108, 75, 28, 57, 46, 42,174, 54,110,108,190,223,252,
+237,243,135,226,157,226, 11,227,123, 23,152, 47,200, 93,112,121,161,206,194,244,133,167, 22,169, 46, 18, 44, 58,150, 64, 76,136,
+ 78, 56,148,240, 65, 16, 42,168, 22,140, 37,242, 19,119, 37,142, 10,121,194, 29,194,103, 34, 47,209, 54,209,136,216, 67, 92, 42,
+ 30, 78,242, 72, 42, 77,122,146,236,145,188, 53,121, 36,197, 51,165, 44,229,185,132, 39,169,144,188, 76, 13, 76,221,155, 58,158,
+ 22,154,118, 32,109, 50, 61, 58,189, 49,131,146,145,144,113, 66,170, 33, 77,147,182,103,234,103,230,102,118,203,172,101,133,178,
+254,197,110,139,183, 47, 30,149, 7,201,107,179,144,172, 5, 89, 45, 10,182, 66,166,232, 84, 90, 40,215, 42, 7,178,103,101, 87,
+102,191,205,137,202, 57,150,171,158, 43,205,237,204,179,202,219,144, 55,156,239,159,255,237, 18,194, 18,225,146,182,165,134, 75,
+ 87, 45, 29, 88,230,189,172,106, 57,178, 60,113,121,219, 10,227, 21, 5, 43,134, 86, 6,172, 60,184,138,182, 42,109,213, 79,171,
+237, 87,151,174,126,189, 38,122, 77,107,129, 94,193,202,130,193,181, 1,107,235, 11, 85, 10,229,133,125,235,220,215,237, 93, 79,
+ 88, 47, 89,223,181, 97,250,134,157, 27, 62, 21,137,138,174, 20,219, 23,151, 21,127,216, 40,220,120,229, 27,135,111,202,191,153,
+220,148,180,169,171,196,185,100,207,102,210,102,233,230,222, 45,158, 91, 14,150,170,151,230,151, 14,110, 13,217,218,180, 13,223,
+ 86,180,237,245,246, 69,219, 47,151,205, 40,219,187,131,182, 67,185,163,191, 60,184,188,101,167,201,206,205, 59, 63, 84,164, 84,
+244, 84,250, 84, 54,238,210,221,181, 97,215,248,110,209,238, 27,123,188,246, 52,236,213,219, 91,188,247,253, 62,201,190,219, 85,
+ 1, 85, 77,213,102,213,101,251, 73,251,179,247, 63,174,137,170,233,248,150,251,109, 93,173, 78,109,113,237,199, 3,210, 3,253,
+ 7, 35, 14,182,215,185,212,213, 29,210, 61, 84, 82,143,214, 43,235, 71, 14,199, 31,190,254,157,239,119, 45, 13, 54, 13, 85,141,
+156,198,226, 35,112, 68,121,228,233,247, 9,223,247, 30, 13, 58,218,118,140,123,172,225, 7,211, 31,118, 29,103, 29, 47,106, 66,
+154,242,154, 70,155, 83,154,251, 91, 98, 91,186, 79,204, 62,209,214,234,222,122,252, 71,219, 31, 15,156, 52, 60, 89,121, 74,243,
+ 84,201,105,218,233,130,211,147,103,242,207,140,157,149,157,125,126, 46,249,220, 96,219,162,182,123,231, 99,206,223,106, 15,111,
+239,186, 16,116,225,210, 69,255,139,231, 59,188, 59,206, 92,242,184,116,242,178,219,229, 19, 87,184, 87,154,175, 58, 95,109,234,
+116,234, 60,254,147,211, 79,199,187,156,187,154,174,185, 92,107,185,238,122,189,181,123,102,247,233, 27,158, 55,206,221,244,189,
+121,241, 22,255,214,213,158, 57, 61,221,189,243,122,111,247,197,247,245,223, 22,221,126,114, 39,253,206,203,187,217,119, 39,238,
+173,188, 79,188, 95,244, 64,237, 65,217, 67,221,135,213, 63, 91,254,220,216,239,220,127,106,192,119,160,243,209,220, 71,247, 6,
+133,131,207,254,145,245,143, 15, 67, 5,143,153,143,203,134, 13,134,235,158, 56, 62, 57, 57,226, 63,114,253,233,252,167, 67,207,
+100,207, 38,158, 23,254,162,254,203,174, 23, 22, 47,126,248,213,235,215,206,209,152,209,161,151,242,151,147,191,109,124,165,253,
+234,192,235, 25,175,219,198,194,198, 30,190,201,120, 51, 49, 94,244, 86,251,237,193,119,220,119, 29,239,163,223, 15, 79,228,124,
+ 32,127, 40,255,104,249,177,245, 83,208,167,251,147, 25,147,147,255, 4, 3,152,243,252, 99, 51, 45,219, 0, 0, 0, 6, 98, 75,
+ 71, 68, 0,255, 0,255, 0,255,160,189,167,147, 0, 0, 0, 9,112, 72, 89,115, 0, 0, 11, 19, 0, 0, 11, 19, 1, 0,154,156,
+ 24, 0, 0, 0, 7,116, 73, 77, 69, 7,219, 8, 10, 15, 54, 11,254,114,226, 41, 0, 0, 32, 0, 73, 68, 65, 84,120,218,236,189,
+121,212,101,103, 89, 39,250,123,167, 61,156,225, 27,106, 72, 85, 66, 37, 49,149,129,132,132, 41, 21, 6, 1, 21, 72, 33,160,226,
+132,137, 99, 59,155,216,186,188,182,182,146, 92,180, 23,246,242, 98, 19,187,111,115,219,123,181, 37, 42, 44,245,218, 10, 81,161,
+165,175,136, 41, 71,104, 90, 66, 42, 4,130, 16, 8,169, 36, 36, 33, 73,205,223,116,134,189,223,225,254,241, 60,239,217,251,156,
+250,230,250,190,202,224,254,173,117,214, 55,156,115,246,222,239,244,204, 3,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131,
+ 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,
+208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26,156, 19,168,115,124, 63,193,175, 12,192,126, 33,176, 27, 64, 15,
+ 64,201,255,111,208,160, 65,131, 6, 13, 26, 60, 11, 32, 0, 72, 33,112,217,187,127,234,250, 63,121,248,247,127,226,232,163,127,
+116,211,137,223,249, 55,111,250,239,137, 18, 7,106,159,105,208,160, 65,131, 6, 13, 26, 60,195, 53,117, 1, 32,121,199, 15,191,
+242,157,183,126,215, 53, 63, 56, 83, 12,218, 83,211,173,252,218, 87, 92,250,252,111, 63,112,201,193,187, 62,255,208,147, 79,156,
+ 26,126, 9, 64,104,152,123,131, 6, 13, 26, 52,104,240,204,102,234, 18, 64,235,205,215,180,223,250,154,221,226,154,226,232, 81,
+216,147, 39,224,251, 22, 23, 92,113,225,236, 13,215, 95,243,150,163,167,230,212,189, 15, 28,255, 12,128,126,195,216, 27, 52,104,
+208,160, 65,131,103,182,166,158,254,237,125, 39,158,188,234,130,244, 69, 47,186,108,247, 94,148, 30,126,225, 20,252, 98, 15,157,
+243,118,234,111,189,254,197,223, 48,147, 39,151,127,244,174, 35,159, 6,112,162, 97,236, 13, 26, 52,104,208,160,193, 51,147,169,
+ 3,128, 8,192,194,159,126,234,216,189, 78, 23, 59,191,254,170,189, 87, 24,101,224,122,139,240,167, 79, 3, 89, 27,175,122,245,
+ 85, 87, 29,188,106,223,107,255,254,222, 47, 63,124,122,169, 60,210, 44, 81,131, 6, 13, 26, 52,104,176,126,237,249, 92,223, 47,
+ 3, 48, 13, 96,223, 91,175,155,254,161,223,254, 87,215,253,248,174, 86,146, 21, 75, 67, 64, 25,136,125, 23,195,236,219,135,167,
+158, 56, 49,255,243,191,241,145,255,240,223, 14,125,233,183, 0, 44,240,247,195, 51,121, 50, 67, 8, 7, 0,204,242,159, 71,132,
+ 16,207,105,161,228, 95,218,120, 27, 52,104,208,160, 97,234,203, 67, 2,152, 2,176,231,146, 89,245,173,255,227,103, 95,246,243,
+ 87, 93, 48,179,183,236,149, 0, 60,176,247, 34, 36, 23, 93, 12, 27, 60,222,249,190,255,249, 7,191,242,187,127,247,203, 0, 30,
+229,231, 61,107,198, 30, 66,216, 15, 96,255, 58, 63,126, 74, 8,113,120,157,215,189, 19,192, 65,254,243, 86, 33,196,109,207,113,
+166,254,156, 24, 47, 11, 39, 7, 89, 64, 57, 80,123,235, 48,128, 35, 0,238, 16, 66,156,218,130,251, 76, 94, 31, 91,189, 7, 27,
+ 52,104,240, 47, 27,250, 44,152,178, 7,208, 61,127,202,188,240,162, 89,179,211, 5, 41,198, 36, 5, 1, 72, 41,132,143,255, 17,
+244, 37,168,209,187, 26, 64,171, 95,248,254,191,253,240, 67,127,245,127,190,245,234,111,191,114,239,212,140, 45, 3,112,234, 56,
+202,118, 27,106,199,121,120,199,205,223,240,131, 47,223,127,193,243,127,240, 93,119,252,226,241,249,226,227, 91,196,216,111, 0,
+240,174, 13, 16, 99, 0,184, 3,192, 33, 33,196,237,205,182,121,206, 88, 25,110,224,215, 74, 2, 94, 20, 88,222, 19, 66,184,157,
+ 5,151,179, 97,238, 7, 0,220,185,137,239, 29, 2,240,134,102,213, 26, 52,104,176, 29, 76, 93, 0, 16,221, 84, 30,248,175, 63,
+248,146, 95,251,150, 23, 93,248,218, 86, 75, 39, 65, 40, 64, 8, 64, 10, 64,242,239, 90,209,223, 74,142,222, 19, 74,211,255,132,
+ 0,132, 4,164, 68, 0,130, 11,194,123,173, 33, 71,255, 23,240,174, 68,232, 11,188,249,141, 87,190,226,240,243,127,242,207,126,
+242,215,255,252, 29, 31,249,228, 99,239, 3, 48,196,185, 55,197,223, 0,224,134, 16,194, 13, 0,110,220, 10,205,173,193,211,138,
+187, 55,248,249,155, 0, 28, 12, 33,220,216,104,205, 13, 26, 52,120,174,105,234,187,127,239, 71,175,125,247, 13,175,218,255,117,
+182,231, 0, 47, 32, 36, 23,139, 11, 18, 8,130,148,121,207,172, 55,176,134,238, 1,120, 15, 40, 5, 33, 88,117, 15, 0,132, 16,
+ 82, 10,133, 16, 70, 90, 61,177,236,128, 0, 1,219, 43,113,209, 69,187,118,255,233,127,252,161,255,231,127,255,173, 67,151,255,
+198,159,124,242, 63, 0, 56,182, 69, 90,123,212,132,176,134,182, 86,255,251,206, 16,194, 27, 26,198,254,156,193, 97,144, 37,230,
+176, 16,226, 16,107,242,179,188,214, 55,213,246,192,126, 0, 31, 8, 33, 92,183, 69,107,127, 59,200,188,191, 22,154,125,214,160,
+ 65,131,237,211,212, 83, 35,246,191,254,202,243, 94,134,165, 18,174, 63, 0,188, 39, 38, 29, 45,235,177, 24,108,252, 27, 1, 80,
+ 18, 98,215, 30,210,210,125, 0,164, 7, 60, 91,241,133,228, 75, 7, 64, 6,192, 59,210,246,157, 27,197,231,219,161, 69,203, 24,
+249, 95,126,241, 91,126,238,101,151, 95,248,194, 31,127,215,159,191,109, 88,250,123,183,130,177, 11, 33, 86, 53,109,178,118,254,
+ 46, 84,102,218, 3, 76,236,111,107,182,208,179, 26,183, 3,184,125, 57,205,155,153,246, 29, 0,238, 8, 33,188,135,215, 59, 50,
+246,173, 90,251, 59,162, 16,209,160, 65,131, 6, 91, 1,185,137,239,168, 97, 25, 78,252,197,125,143,126, 18,114,128, 52, 41,145,
+182,128, 36, 15,252,242,213,239, 89,128,145, 67,192, 21, 64,214, 33,147,187, 39,166, 29,198,216,112, 9,248, 2,240, 3, 32, 12,
+249,239, 1, 16, 74, 98,240, 33, 0,193,195,186, 0, 63,116,248,129,183, 94,123,240,158,247,253,235, 15,189,240,226,217,239, 4,
+177,125,185,157,147, 36,132,184, 3,228,211,172,107, 76, 55, 52,219,231, 89,141, 55, 8, 33,110, 94,143, 41, 93, 8,113,243,132,
+ 70,125, 75, 51,125, 13, 26, 52,120,174,104,234, 0,112,226, 71,127,247,190,119,252,213,167, 31,249,206, 43, 46,158,186, 88, 0,
+210,135,224,153, 4,194, 5, 10, 45,235, 15,173,188,246,194, 93, 47,184,241,235, 95,188,223,232, 84,122,239,217,223, 14, 98,236,
+195, 37, 8, 45, 32,246, 93, 3,185,227, 10,160,181, 7,194,116, 1, 87, 32, 12,143, 35,244,190,138,112,226,139,128,235, 3, 50,
+ 7,224,224,131,130, 95, 42,240,130,171, 47,188,232,163,191,253, 99,191,247,166,159,126,175,250,236,145,147,127,134, 42,120,111,
+187, 24,251,145, 16,194, 29, 53,141,237,192, 86, 92,119,153,136,232,195, 91, 20,105, 93,143,240,223, 84,186,217, 86, 92,227, 92,
+140,119,226, 57,215,117,189, 77,104,200,183,163, 10,174,156, 13, 33, 28,104,124,235, 13, 26, 52,120, 46, 48,117, 7, 96, 9,192,
+ 23, 62,112,120,254,221, 56, 60,159, 99,249, 34, 54, 59,127,232,245, 23,253,216,155,175,187,230,252, 68, 26,233,124, 32,211,123,
+127, 8, 12,151, 0, 55, 15,249,252,215, 64, 94,245,189,144,231, 93,113, 38,209,141,191, 44, 29,131,123,242,159,224, 31,255, 71,
+ 8,145,146,214, 46, 4,108,191,192,249,123,119, 77,127,248, 63,255,240,111,190,234, 71,127,235,228,227, 39, 7,127,139,173,243,
+177,175,132, 45,201,195,102,198,118, 19,107,251, 7,150,121,255, 8, 42,211,240,169, 21,174,241,174,218,119,239, 16, 66,220, 94,
+187,238, 77,152,136,232,230,107,222,182,158,232,253, 16,194, 77,172,141,238,223,232,115,109,199,120, 87, 25,235, 45,124,221,217,
+218,199,183, 43, 82,124,146,129,207, 54,228,163, 65,131, 6,207, 5,166,238, 1, 12, 0, 88, 80, 81, 24,133,154, 7,157,153,234,
+ 11,222,247, 83,175,248,149, 31,126,237, 21,175,245, 5, 96,157, 7,202, 33, 66,127, 17,176, 3, 64, 7,152, 55,253, 18,228,254,
+235,215,190, 91,123, 55,212,165,111,129,152,121, 1,252,231,223, 11, 72, 71, 74,185, 0,108,191,192, 69,151,158,191,235,189,111,
+255,238, 95,127,227, 47,252,254,119, 2,248,202, 54, 51,245, 58, 33,223,148,118, 25, 66, 56, 8,224, 3,107, 48,133,253,172, 21,
+222,180, 74,180,117,204,173, 6,128, 67,156,162,245,158, 85, 44, 8,251, 65,169, 89, 7,216,156,188, 18,243,125, 15, 86,118, 45,
+196,231,186, 33,132,240,134,115, 56,222,229,198,122,103,195, 88, 27, 52,104,208,224,236,153,122,100,220, 37,191,234,138,181,186,
+250,121,217, 91,254,224, 39, 94,115,219,181, 87,238,185,220,246, 61,188, 43, 73, 51, 47, 45, 32, 28, 68, 2,232,111,121, 23,228,
+190,151,143, 46,214, 47, 44,238,122,248, 40,254,242,115, 79,226,244, 66, 31, 70, 9, 92,249,188, 25,124,243, 11, 46,192, 37,123,
+102, 0, 0,114,231,165, 16, 47,250,105,184,207,254, 6, 96, 52,201, 22, 82,194, 47, 13,240,141,215, 95,245,210, 31,252,166, 23,
+254,216, 31,252,229,125,239,196, 54,165,187, 49,195,187, 97, 66, 35,220,232, 53,110, 96, 6, 55,169, 1, 30,170, 9, 9,117,109,
+118, 63,170, 72,251,195,107, 8, 27, 31,168,105,214,119,212, 52,203, 3, 19,207,125, 83, 8,225,200, 10,133, 98,222,181, 12, 67,
+175, 95, 43, 62,219,129,101,198,113,174,198, 59, 59,193,208, 79,213,158,111,255, 54,158,149,131,107,104,238,103,179,175,182,220,
+253,210,160, 65,131,127,153, 16, 91,116,141, 0, 96,250,135, 94,187,231,231,254,243,119,127,237,219,118,116,178,188, 40, 2, 5,
+200, 21, 3,102,247, 0,202, 57,168,111,248, 73,168, 23,253,171,209,151,191,244,228,105,188,253, 79,239,197,103,143, 47,160,155,
+ 24, 36, 70, 82, 0,124, 89, 34,241, 22,223,250,138, 75,240, 51,175,191, 26,137, 38, 11,191,255,234,189,240,247,191, 15,232,236,
+ 70,236,210,170,147, 4, 15,124,241,241, 39,175,248,158,223,120, 19,128,207,129, 92, 4,171, 17,210, 91, 80, 43, 62, 35,132, 16,
+235, 32,188,147, 26,236, 27, 38,253,178,171, 85, 88, 99,191,239,221, 53,102,116, 4,192,205,203,249,118,151,209,110, 15, 11, 33,
+174, 91,229, 94,117, 6,124,243, 36, 83,224,123,127,160,198, 60, 78, 1,184,180,254, 57, 54,185,191,103,130,105,221, 56,233, 71,
+ 95, 69,243,222,182,241,174, 48,214, 35,124,207, 59, 38,215,106, 59,152, 98, 8,225, 65,140,251,237,175,219,164,149,230,206, 9,
+107,207,114,214,134, 35,188,150,183, 55,165,119, 27, 52,104,112, 46, 52,245, 73,134,126,201,175,126,207, 21,191,122,235,155,174,
+249,126,233, 53,138, 97, 73, 12,221,218,202, 56, 31, 60,176,251, 82,168,231,127,251,232,203, 79,206, 45,225, 7,126,231, 19,120,
+112, 96, 49,211,202,209,215, 10,137, 81,200,149,128,201, 18, 8,103,241,254,255,117, 4, 74, 74,252,155,131,215,144,198,190,247,
+ 69,240,143,236, 1,220, 18,160, 51, 64, 0,190, 40,112,201,165,187,247,190,229, 53,151,188,241,195, 31,127,232, 11,168, 50,228,
+215, 75,108,111, 89, 67, 67,155,100, 40, 55,111, 34,208,234, 61, 19,218,229,138,185,206, 66,136, 67,108,222,142, 26,233,129, 16,
+194, 77,107,248,195, 15, 9, 33,110, 92,225,122, 71, 66, 8,183,214, 24, 74,204,193,174, 51,196, 91, 38,152,202,178,121,248,181,
+103,187,251,105, 28,239,145,149,174,183, 77, 12,125, 50,190, 96,171,170, 10,174,228, 62,216,207,235,113, 75, 8,225, 57, 95,110,
+184, 65,131, 6,207, 12,166, 46, 0,136, 61, 93,117,253, 31,223,244,178,255,244,186,151, 92,240, 98, 59, 0,172, 40, 1, 63,164,
+126,108,137, 24,125, 50,148,125,168, 43, 94, 3,164,221,209, 5,254,253,127,255, 28, 62,245,196,105,160,219,197,201, 69, 11, 72,
+ 7, 41,128,174, 18,184,184,173,113, 65,174,177,107,186,131, 15,254,175, 7,241,218,203,207,195, 75, 46, 62, 15,144, 18,242,194,
+215,194,127,254,247,129, 93, 23, 1,193,195, 11, 1,157,165,184,241,245, 47, 59,248,225,143, 63,244, 94, 0, 39,177, 49, 19,252,
+122, 75,198,222,142, 77,228, 22,215,106,139,215,181,218, 85,153,143, 16,226, 48,151, 38,189,165, 38, 92,172,198, 76,110, 94,227,
+122,135, 66, 8,135, 49,110,234,142,207, 55, 89, 42,245,182,213,158,175,246,108, 55, 61, 77,227,189,237, 92,153,168,121, 44,245,
+253,113,120,139, 74, 5,199,186,242,117, 51,126,189, 6,253,104,111,134, 16,246,175, 20, 7,209,160, 65,131, 6,117,108, 38,191,
+ 59, 6,197,117,222,122, 96,250,231,239,249,119,175,253,211,215, 93,189,247,197, 69,207,193,195, 17, 67,151,160, 10,114, 74, 0,
+ 90, 80, 5, 57, 45, 33,119, 95, 51,186,200,209,185, 30,254,224,211, 95, 1,178, 22,165,185, 41, 9, 40, 5, 15,137,185,129,195,
+103,143,246,112,247,209, 30,138, 32, 96,149,194,223,124,241,104,245, 0,221,139, 40,232, 14,150,159, 38, 0,214,227,202, 11,103,
+ 46, 5,112, 62,182,175, 81,205, 13,172, 69,110, 52, 64,171,206,224, 78,109,128, 41, 28,154,184,247,138, 12, 98,157,102,218,195,
+ 43, 60,211,193, 9, 6,187,158,231,187,227,105, 26,239,145,115, 85,127,159, 93, 8,147,230,242,179, 97,174,167, 0,220, 10,114,
+125, 92, 39,132,184, 81, 8,113, 91,237,117,163, 16, 98, 7,127,166, 46,180,220,196,130, 87,131, 6, 13, 26,108,169,166, 30,205,
+237, 23,188,237,219,246,253,202, 59,191,249,133, 63,161,188, 70, 81, 56, 64,121, 50,177, 7, 64,120,129,160, 4, 32, 37, 87,139,
+243,128,206, 32,218, 23,140, 46,244,212, 66, 31,189, 65, 9,180,179, 74, 78,136,186,181,164,250,177,199, 23, 75,220, 85, 88, 92,
+ 61,165,177, 48,176,213, 67,100,211, 0, 20, 48,236, 65,228, 93, 4, 4,192,149,184, 96,111,231,188, 52,145,123,135,133,255,194,
+ 6,199,117,235, 42,239,237,103, 38,181,159, 53,168, 81,244,247, 6,180,197,131, 43, 48, 86,172, 67,187, 30,211, 26, 87, 8, 32,
+ 91,175,229,224,200, 42, 99,220,208,181, 38,159,237, 28,142,247,156,228,134,179,224, 54, 25, 59,112,235,217,228,166,243,119,215,
+ 83,236,230,182, 16,194, 33,140,187, 56,222,181,134, 32,213,160, 65,131, 6, 27, 98,234, 2, 0,166, 51,249,170,247,253,200, 85,
+191,254, 29,215, 94,244,106, 59, 4,202,196,145,102,238, 2, 80, 4,232, 84,160,239,188, 55, 16, 18, 90,142, 50,216, 5, 0,132,
+ 42,126,109, 54, 79, 32,141,129, 15,160, 90,241, 33,140,234,189, 35, 0,240,212, 8,102,161, 95,226,222, 65, 31,111, 49,245, 84,
+120, 15,132, 2,176, 67, 64, 76, 65, 8,170, 82,215,105,235,214,158,169,108,246, 43,199,123, 27,178, 64,172,199,103,201,126,213,
+ 91, 80,181,231,188, 19,192,122,131,165,234,209,205,251, 57,240,107, 51,152, 93, 69, 3, 60, 27,108,138, 9,243,103, 15,156,227,
+241,110, 59, 83,103,134,126,231,196, 56,110, 62,151, 29,250,216, 29,113, 43, 42,211,255,254, 16,194, 13,147,129,129, 13, 26, 52,
+104,176, 81,166, 30, 77,217,230,107, 47,206,190,239,143,126,236,218,219, 46,217, 51,125, 94, 49, 12, 64,166,136,161,151, 30,178,
+ 8,208, 45,137,119,255,221, 3,159,185,100, 42,155,249,246, 3, 23, 94, 92, 4, 80,163, 23,161,128,114, 17, 97,225, 97,136,157,
+151, 2, 0,158,183,163,139,111,187,108, 15, 62,120,255, 49, 64,107,192, 10,170,251, 30, 27,192,128, 25,187, 16, 24,204, 45,225,
+202, 61, 83, 21,209,237,157, 2, 6,243, 64, 49,205, 31,246, 8, 85,104,156,196, 54,152,223, 89,123, 66,141,200,174, 39,120,109,
+ 57,230,180,145, 94,238, 79, 7, 78,109,193,103,159, 77,227, 93, 15, 67,191,245,105,106,185, 91,175, 98,135,103,211, 60, 54,104,
+208,224,153,201,212,163,185,253,188,159, 62,184,231, 23,223,249, 77, 87,255,111,211,121,154, 20, 30, 64,155, 53,231,194,195,120,
+160, 76,129, 95,250,255, 62,247,225, 95,251,243,175,124,240,195, 63,253,194,183,129, 10,191,145, 95, 93, 0,208, 18,225,196,103,
+129,175,185,158,153, 36,240,246,111,189, 10, 31,188,255, 9, 96, 80, 2, 73, 82,241, 98,199,119, 13, 30, 88, 90,194, 27,175,216,
+135,111,126,225,190,138,240,206,127, 25, 33, 12, 33, 92, 57,210,236,133, 8, 88, 92, 28,246,143,206, 15, 22,182, 81,123,186,141,
+171,155, 69,220,128,141, 71, 66, 31,193,230, 43,211, 61, 27,243,151,159,109,227,157,100,232,183, 63, 93,209,231, 66,136, 83, 19,
+193,141, 7,209, 52, 17,106,208,160,193, 38,153,186, 0, 32,148,196, 21,191,243, 67, 87,252,151, 31,121,229,165,111,116, 37, 80,
+104, 1,164, 10,240, 30,161,239,145,106,224,216,160, 24,252,204,127,187,231,119,223,255,201, 83,127, 4,192, 63,188, 48,124, 10,
+ 34, 92, 25, 2, 32, 34, 83,207,187,240,143,124, 2,234,202, 31, 0,218,187, 1, 0,215,125,205,110,124,232,230, 87,227, 7,222,
+123, 23, 22,231, 7, 64,150,145, 63, 61, 4,160, 44,129,126, 15,111,186,124, 47,126,255,167, 94,141, 52,154,223, 93, 1,255,192,
+159, 65,164, 25, 32,200,143, 31,188, 3,164,196, 99, 79,204, 31, 27, 20,254, 24,182, 47, 80, 14, 32,159,243,193, 26,145,221,176,
+246,245, 47, 44, 69,233, 89, 51, 94,238,198, 54,201,208,159,238,168,243,166, 16, 77,131, 6, 13,214, 13,185, 6, 83, 63,239,189,
+ 63,242,252,223,252,145, 87, 93,250,198,162, 4, 92, 91, 3,185,161, 44,240, 37,143, 52,147,184,239,241,185,167, 94,247,174,143,
+191,227,253,159, 60,245, 95, 1, 60, 12,224,241, 47, 29, 91,248, 34,164, 0, 28,247, 87, 81, 2,208,100,130,183,247,253,246,216,
+ 77,190,237,197,251,240,207,255,238, 13,248,213,183, 92,131, 23,205,166,200, 66,137, 41,233,240, 29,151,237,194,251,255,245,215,
+225, 67,191,248, 58,156, 55,157,143, 62,239,191,252,231, 8,167, 30, 6, 76, 78,109,219, 17, 0,235, 0, 41,240,197, 71, 79, 63,
+ 2,234,179,238,159, 97,243,188, 82,212,249,179,253,249, 14, 62, 75,199,187, 18, 67,191,233, 25,198,208, 27, 52,104,208, 96,203,
+ 52,117, 92,181, 39,121,237, 91,175,126,222,245,182,239,129,174, 6, 18, 9, 20, 30,114, 96,161, 59, 18, 31,189,247,201,251,191,
+247, 61,159,254,143,167,122,254, 99, 0, 78,128, 26,189,100,127,245,169, 19,119,157,126, 83,241,163,221,118,162,189,103, 59,188,
+ 0,208,106, 35,124,229, 31,225,103,254, 8,242,202,239, 31,221,231,162, 93, 93,252,242,183,188, 0,183,188,249, 74,156, 94, 28,
+ 66,107,137,217,118,122,198,243,248,199, 63, 1,247,207,127, 8,228,109,146, 58,164, 66,240, 30,194, 57,184,193, 0, 31,252,135,
+123,254, 39,168, 30,253,118, 50,245,205,248, 53,199, 76,168,219, 85,245,236, 44,112,164,246,124,235,234, 62,199,249,219,207,214,
+241, 62,155, 24,250,102,131, 24, 27, 52,104,208,104,234,227, 12,255, 5,251,242,203,219,169,129,247,160,232,246, 94, 9, 93, 88,
+ 32, 5,110,187,243, 11,135,222,244,238,195,255,246, 84,207,255, 13,128,167, 0,204, 1, 40, 0,148, 15, 28, 47,238,250,232,253,
+ 79,220,171, 52, 16, 56, 21, 77, 72, 50,197,139,246, 52,252, 63,255, 33,220,189,255, 23, 80,140,187,191,141,146,216, 61,157,159,
+201,208, 93, 1,255,192, 29,240,119,189, 19, 34,205, 32,148, 34,127,189, 73,129,178,132,146,192, 23,191,120,244,201, 15,126,252,
+145, 67,160,218,239,219,194,212, 39, 90,124,110,132,200, 78,166,137,221,244, 12,219, 7,245,231,155,229,114,166,155,213,210,159,
+ 13,227,125, 86, 48,116, 46,221, 59, 41,124, 53,104,208,160,193,166,152,186,250,196, 3,139, 95, 58, 81,148, 54,105, 75, 36,165,
+ 71,162,128,129, 10,225,103,239,184,231,143,111,253,127,143,252, 10,128,207, 0, 56,206, 26,122, 12,111, 43, 1, 60,245,159, 62,
+252,224, 29,253,210, 67,149, 22, 40, 61,105,235,177, 40, 77,187,139,240,208, 71, 97,255,238,103,224, 31,251, 24,208, 95, 65,137,
+ 27, 46, 32, 60,117, 47,236,199,126, 1,254,190,219,129, 44, 7,148, 38, 95,186, 0, 32, 52,196,176, 4, 84,192,187,222,255,241,
+ 15, 2,248, 50,223,127,203,153,122, 45,111,185,142,117,165, 23,113, 26, 82,157, 32,223,178,134,166,123,174,113, 7,198,125,183,
+183,172, 99, 46,110,121, 22,143,119, 37,134,126, 24,171,215, 44, 88, 83,232, 11, 33,220, 82,123, 29,156,152,179,141,238,183,122,
+ 80,230, 41, 52,121,234, 13, 26, 52, 88, 3,171,154,223,159,152,119,159,250,241, 63, 60,124,219,207,190,238,242, 27,102,219,102,
+250,254, 19,139,143,253,214, 95, 63,244,225,127,124, 96,241, 47, 0, 60, 1,224, 52,107,231,117, 38,234, 0,244,239,126,108,240,
+145,255,251,239, 31, 60,248,182, 55, 95,249, 6,183, 80, 80,241,153, 84, 85, 33,108,173,105,192,206,195,125,234,215,224,147, 14,
+176,227, 10,200,153,203, 0,149, 1,161,132,159,127, 4, 56,126, 63, 48, 56, 5,152, 4,104,239,168, 81, 60, 0, 94, 1,133,128,
+106, 43,124,228,175, 31,252,252, 31,254,213,151,254, 24,100,122, 47,183, 65, 59, 63,136, 51,251,139,159,194,198, 34,223,111,198,
+120,237,245, 59,185,205,232,161,117,220,255, 6,102,150,219, 18,112,198, 81,214,183,213,152,200,193, 16,194,123,150,211, 88,107,
+ 41, 95,179,207,214,241,174,194,208,223,112,150,110,130,253, 19,140,248,214,154,213,226, 0,215, 58,184,125,173, 92,243, 90, 27,
+221,250, 28,223,214,116,111,107,208,160,193,217, 48,245, 18,192,201, 15,221, 51,247,222, 15,221,115,247,157, 0,186, 32,191,249,
+147, 32, 83,251, 34,127,102,178,172, 88,236,183,254,228,173,127,244,192,187, 15,156, 63,125,201,245, 47, 61,255,178, 98,110, 0,
+ 49,157, 1,169, 24, 85,140,131, 49, 16,198, 80, 81,154,147,247,193, 29,251,244,232,114, 66, 42,106,216,210,238, 78, 80, 60, 0,
+133, 71,240, 41, 76, 98,112,228,129, 99,167,126,224,215,255,226,215, 89, 75,239, 99,141, 14,109, 43, 16,209,205,180,106,189,121,
+ 35, 68,150,171,165,221,140,170, 19, 90,100,116,135,152,240, 31,158, 96, 14, 81,152, 56, 80, 99, 16,219,137,219, 49,222, 6,245,
+ 38,214, 52,111,175, 61,219, 65,102,132,179,172,137,159,194, 10, 62,248,103,242,120,121, 92,203,185, 4, 62,176,129,173,112,199,
+ 38,114,215, 15,178,192,116,132,231, 96,185,218,239,147,173,114, 1, 42, 3,220,164,178, 53,104,208,224,172,152,186, 99,198,109,
+153,137, 75,254,223,144, 95, 14, 43, 55, 77,177, 0, 22, 3,112,223, 13,191,117,207,255,241, 55,111,123,197, 59, 95,122,249,174,
+231,149,167, 7,192, 84, 10,145,129,106,189, 71,173, 93, 40, 32,201, 87,207, 67, 11, 0,188, 7,134, 30,126,110,128,228,130,243,
+240,248, 19,115,139, 55,252,242,159,221,118,114,161,252, 88, 77,200,216,110, 28,102,134,190,225,160, 37, 33,196,237,181, 2, 54,
+179,117, 66,255,116,111, 4,214,214,111,100,237,122,255, 10,154,103,221, 74,113, 35,214,104,132,243, 76, 30,239, 50,216,168,123,
+224,208, 89,220,107, 63,214, 31,103,112,251, 57, 16,232, 26, 52,104,240, 28,129, 92,131,141, 90,144,191,252, 20,168,243,217,105,
+ 0, 61,254,127, 88,227,187, 67, 0,115,167,122,254,239,191,254,215,254,233,237, 31,189,231,137,251, 77,162,161,230,134,240,167,
+ 45, 48,112,181,171, 8,142,144,159,120,197,154,240, 14, 64,225, 16,230, 28,112,178,143,100,199, 14,124,238,193,249, 39,223,240,
+115,127,242,142,123, 30,153,255,115,126,182, 30,182, 47,234,253, 16, 19,215, 27,185, 17,199,217,212,255,190, 29, 84, 94,246,118,
+172, 47, 7,249, 14,144, 41,123,219, 43,154,113, 83,152,235,214,184,215, 33, 80,219,211,195,207,246,241,158, 99, 68,127,253,122,
+247,206, 29, 32,119,192,205,141,217,189, 65,131, 6,235,166,227,219,124,125, 5,160,197, 90,218,213,191,240, 29, 23,253,248,219,
+223,120,213,183,206, 78, 39,218, 15, 61,156,150, 64,174, 33, 98,141,120, 89,123,156, 16, 0, 7, 4, 27,128,190,131, 44, 45,148,
+145,232, 59,224, 55, 63,246,228,223,189,253,247,238,126, 79,233,195,167, 80,165,210,217,103,227, 2,176, 41,120, 82, 75, 60, 2,
+234,110,118,232,105,124,174,104, 14,175,247, 68, 63,180,206,110,112,207,186,241, 62, 77,235,190, 31,103,198, 38, 28, 6,153,219,
+ 27, 70,222,160, 65,131,103, 28, 83,143,140, 61, 3, 48, 13, 96,239, 11,246,164,175,255,217,183,236,255,246,239, 58,112,209,203,
+119,116,181, 65,144,220, 19, 93,114, 49, 25,126,176, 0,200,224, 71,202,250,226,192,251,143,124,230,241,251,126,251,208, 67, 31,
+254,219, 47, 44,252, 37,128,199,216,114,208,127,182, 50,244, 6, 13, 26, 52,104,208,224,217,198,212,227,125, 18, 0,109, 0, 83,
+ 0,246,238,153, 82, 47,121,211,181,179, 47,127,235,139, 47,122,217,213,207,155, 58,191,157,170,118,166, 69, 34,149,146,222, 33,
+ 12,157, 45,122,133,239, 61,124,116,225,216, 7, 62,251,232, 61,135,238, 62,117,215, 3,199,139,195, 0, 30, 7, 48, 15,242,161,
+111, 91, 78,122,131, 6, 13, 26, 52,104,208, 48,245,213,239, 37, 1,164, 32,147,124, 11, 20, 81,191, 3,192,158, 78, 42,118,182,
+ 19, 57,149,105,153, 20,206,219,197, 34, 44, 44, 12,252, 9, 0, 71, 65, 38,246,121,144,223,124, 9,107, 7,234, 53,104,208,160,
+ 65,131, 6, 13, 83, 63,135,204,221,176,246, 30, 95, 26,163,238,235, 0,107,224, 37,191, 10,102,228,182, 97,230, 13, 26, 52,104,
+208,160,193, 51,135,169, 79,222, 63, 50,249,248,179,206,212, 67,237,103,195,200, 27, 52,104,208,160, 65,131,103, 48, 83, 95,237,
+121, 26, 38,222,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160,
+ 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6, 13, 26,
+ 52,104,208,160, 65,131, 6, 13, 26, 52,104,208,160, 65,131, 6,219, 4,129, 61,175,217,250, 34, 47, 90, 3, 66, 2,240, 64,105,
+ 55,247,253, 68, 87,127, 59, 13, 40, 11, 56, 15, 40, 9,244, 6,244,153, 86, 14, 72, 9,168, 4,176, 5,127,216, 3,189, 18, 40,
+ 7,213,181, 52, 95,107,185,238,241,189,193,248,125, 1,186, 71,150,210, 24,116, 2, 20, 3,160, 40,169, 64,173, 50, 84,212,214,
+ 6, 64, 11, 42, 96, 11,126,207, 76, 92,111, 43,231, 51,201,232,153, 92, 65,227, 21, 18,232, 47, 0,222, 80,155, 90, 33,168,170,
+254,206, 29, 84,131,207,228,128, 49, 72, 18, 9, 59,244,240,197,144,230,212, 91,160, 44,129, 84, 1, 75, 3,154,171, 76, 3,131,
+130,202,253,216, 1, 77,148, 0,215,241,243, 52, 7,174,160,255,235, 4,232,247,233,111,239,105,254, 61,207,173,231, 53,175,255,
+190,217, 61,240, 92,129,201,128, 96,129,153,157, 64,111,137,246,108,175, 15,180,218,192,226, 28,208,153, 6,138, 30,205,107,111,
+ 9,176,150, 94, 43,237,131, 73,212, 63,107, 52,144,231, 64,210,162, 53,141,173,140,125, 0, 22,230,105,221,215,187, 63,205, 50,
+247,146,146,206, 96, 44, 17,117,182,235,218,158,198,107,191,241,117,176,222,227,227,247,223,143,235,175,123, 57,254,230, 31, 62,
+ 6, 60,246,200,250,232, 2, 31, 61,132,101,230, 44,158, 25, 7, 58, 27, 40, 1,169,249, 12,243,103,138,193,242,115,189,218, 60,
+107, 13, 8, 77,103,221,215,104, 74, 81,123, 6,163,199,207, 5,106,159,117,126,229,245,173,237,153,214,129,203,209, 59,252, 0,
+221, 71, 27, 96,215, 14, 32,215, 64,223, 2,143, 62, 85,209,183,205,210, 85,111, 0,215,167,253, 56,183, 64,255,155,234,210,222,
+ 20,154,126,159, 59, 69,159, 47, 65,115, 39, 4,125,103,106, 22,152, 63, 69, 99,204,114, 96,137,247,181, 45,137, 86,187, 65,228,
+ 46,213, 62,153,234, 2,195, 33,128,100,252,125, 41,129, 97, 1,100, 93, 32, 12,137,174,197,249,137, 52,200,110, 19,253,168,207,
+ 71,233,137,214,217,115, 68,171, 76, 2, 76, 79, 3, 89, 66,180,183,215, 7,122,139,244,127, 9,162,245, 58, 3,242, 4, 8,142,
+190, 51,112, 21, 95,141,223,243, 30, 24, 12, 1,163,128,114, 8,244, 6, 80,232, 92,244, 43, 91,250,176,173, 12, 72, 83, 32,111,
+209,164, 41,193,197, 94, 55,208, 76, 77, 74, 98,172,163,191,249,187, 82,208,228,123, 87, 93, 79, 41,250,124,176,180, 11, 74, 15,
+ 12,123,213,119,149, 4,181,119,229,131,165, 38,238, 85,127, 54,239,233,149, 26, 98,222, 74, 3,174, 4,116, 74, 19, 8, 0, 90,
+ 86,125,225, 44, 19,139, 86, 27, 48, 18,232, 15, 55, 54,206,245,194, 51, 69,208,160, 69, 85,154,132,152,164, 69, 4, 36, 53,192,
+236, 20,176,107, 6,112, 2, 83,179, 83, 48,105,138, 78,150,224,130,238, 14,120,239, 48, 53,213, 69,174, 13,160, 36, 74, 1,122,
+ 86, 33,105,141,250, 5,207, 93,159,152, 75,176,192, 48,208,198, 42, 74,154, 56,157,144, 64, 16, 60, 80, 6, 90,131,200, 52, 4,
+ 63,151,102, 6, 34, 64,189,115, 3,175,153, 16,213,154, 42,201, 4,207,111,236,240,249,103, 97, 51,190, 52, 1,138, 33, 48,187,
+ 19,152,159, 7,218,109, 34,198,105, 14, 44,205, 19, 67,159,155,163,255,207, 47, 2,153, 33,162,178,220, 88,151, 99, 52,241,172,
+196,249, 84, 9, 49,245, 60,161,207, 7,150,215,149,166,125,235, 2, 19,214,117,158, 65, 81, 59, 35, 0, 93, 79, 73,250,185,209,
+ 51, 61,137,172,139, 29, 47,121, 62,190,233,107, 95,133,139,247, 93,128,151, 92,122, 25,222,255,145, 59,129,175, 60,180,194, 30,
+224,113, 56,193,231, 52, 16,109,241,158,247,151, 27,239,215,232, 89,184, 84,138,207,189, 4, 96,121,174, 34, 3, 14,203,143, 65,
+202,229,207, 96,100, 2, 44,171,142,209, 20,207,215, 29,209, 28, 81,123, 14, 81,171,149, 25,136,158,173, 50,117, 87,188,225,149,
+216, 55,179, 19, 95,125,224, 33,192, 11,192, 50,179, 49, 9,112,252, 36, 80, 22, 27,159,251, 52,161,123, 59, 79,175, 78,155,246,
+ 66,105,233,119, 47,233,186, 73,198,140, 98, 30, 80, 45, 26,160,183, 68, 19, 58,109, 98,220,253, 62, 48, 51, 75,243, 59, 24, 0,
+ 42,163, 57, 24, 20, 52,199,176,128,110,211,251,129, 5,127,107,137,150, 8, 79,239, 39, 45,154, 19,239, 42,250, 93,148,145,176,
+210,251,170, 70,147,207,246, 28, 74,162,125,240,174,198, 27, 52,205,111,164,175,194,159, 27, 58,211,202,136,191, 24, 3,148,142,
+133, 23, 71,124,211,243, 79,193,130,148,117,244, 25,235,129, 86, 90,209,135, 68,211,124, 13,150,104,141, 22,151, 0,153, 1, 58,
+217, 98,166,110, 52, 73,110, 83, 93, 98, 52, 89,139, 78,163, 47, 55, 38,213,155,154,150,113,198,225, 18,172, 9,242, 97,142, 31,
+ 19,146, 25, 78, 1, 56, 55,126, 64, 19,102,196,166, 38,221, 43,150,206,108,121,230, 61, 66,124, 6, 69,247, 25, 70,173,212, 19,
+ 97, 84,124,128,165, 4, 82,131,233,171, 46,198,174,189,187,177,112,114,142, 62,123, 54,139,109, 50,218, 96,126, 98,190,152, 38,
+193, 75, 34,208,146,159, 79, 25, 32,213, 64, 59,199,174,169, 41,116, 59, 57,164, 48, 72,117,130,221,121, 7,222, 58, 76,229, 57,
+ 4, 72,152,203,146, 20, 62, 4, 20,142, 55,135, 0,109,144,193,128, 54, 84, 96,105, 80, 5,210, 10, 18, 69, 19, 82, 88, 34,144,
+195, 33, 63, 27,207, 63,226, 51,241,188, 26, 65,115, 36,248, 64, 11, 65,147,157,112,207, 30, 9, 18,178,228, 58,153, 66,212,140,
+ 20,191,140, 28, 95,223, 85,133, 0,205, 19, 23,173, 6,231,136,145,107, 69,251, 55, 8,160,219, 2,134,125, 98,220, 11,139, 36,
+ 0,246, 23,128, 86,151, 24,123,183, 11,204, 47,208,153, 89, 92, 32,162, 90, 22, 43, 11,186, 82, 84, 47, 8, 98,108, 82,240, 61,
+ 19, 58,119, 73, 77, 8, 82,154, 9,153,160,121,119,229,218,243,183, 18, 99,139,140,125, 76,216, 92, 31,212, 75,175,193,171, 95,
+246, 82,156,127,233, 37,208,207,219,137,185, 2,248,142, 87,190, 12, 51, 59,102, 49,232, 15, 48, 59,211,197, 37,187,207,195,103,
+ 62,243,185, 51,247,126,212,108, 60, 0, 25, 42, 33, 67,177, 42, 39, 88,178,156,124, 30, 33,232,156, 71, 11,159,103,109, 76, 50,
+ 51, 89, 85, 75,183,227,170,120,156, 15, 85, 19,234, 77,100,232,188,215,189,171,180,244,184,255,227,125,227, 89, 17,188, 47, 86,
+153,187, 19, 65,224,171, 95,250, 74, 37, 80, 35, 16,253,156,155, 7,250,131,205, 9,196, 66,208,120,179, 22, 32, 12,208, 63, 13,
+136,132,158,211, 6, 32, 55, 76,163, 53,224, 11, 58,115, 66,145,130,212,105, 3,193, 0,253, 69, 64,166, 52,238, 97, 65, 22,132,
+194, 3,153, 34, 70,159,104,182,208, 1,240, 3,162, 25, 70, 19,225,113,172, 93, 2, 52,126,103,129,162, 24,127, 95, 37,204,244,
+ 37,189, 63, 44, 42,165,101,179, 86, 33,147, 1,157, 14, 41,153,138,133, 26, 95, 83, 18, 35,255, 48,252,203,122,206,198,217,162,
+228,189,165, 21,208, 50, 52,247,115,139,180, 62,145,127,132, 0, 36,105,197,144,132, 36, 75,155, 43,217,154,225, 1, 59, 4,172,
+ 2,130,170, 4,131, 16,160,183,216,158, 65,147, 24, 15,134, 7, 61,116,232,210,100,174,151,225, 13, 61,153,146,213, 4, 97, 49,
+ 41, 49,190,222, 18, 96, 23, 43, 83,165, 94,197,100, 25,255, 63, 50,179,240, 97,140,230,150,149,190,211, 31, 2,166,164, 49, 56,
+ 95,227, 11, 44,185, 74, 77, 7, 63, 8,132, 16,112,108,105, 0,244,203,179,159, 63, 45,232,103,185,220, 56,226,125,217, 12,158,
+101,180, 49,243, 12, 59,186, 57,118,228, 45, 12,221, 16,137,202, 32,132,130, 11, 64,102, 52,156, 4,114,149, 96,105,232, 97,132,
+198,206,118, 27, 30, 14,189,185, 5, 58, 88, 96,169, 48, 97,105,189,112,244, 28, 33, 84,204, 48, 75,129,165, 97, 69,192, 38,101,
+174,232, 34, 1,152,241,250, 74,147, 49, 44, 17,103,220,183, 39,240, 26,219,117, 16, 36,157,215, 23, 13, 8, 9,216,231,177,242,
+119,172, 29,215,108,109,237,255,219,141,200, 7,140, 38,162,215, 27, 18,227, 94, 90,168,126,182,235,140,188, 79,103,100,105, 1,
+104,231,116,112, 53,239, 45,187,140,182, 88,103,182, 33, 18, 64, 79, 68,184, 45,201,173, 18,173, 37,245,253, 47, 5,237,219, 44,
+ 95,223, 57,156,156,195,213,204,254,107,201, 7, 47,185, 18, 95,187,111, 47,174,250,154,125,208,198, 64, 10,133,223, 93,248, 71,
+180, 90,109,244,123,125,120, 15, 44, 44, 14,177,184,184, 0,180,103,128,211, 79,158,121,145,200,152, 81,147,209,156,175,230,123,
+ 37, 39,162,243, 36, 16,148,182,178,210,149,126,229,207,215,199, 85,223, 75, 35,147,176,174,148,131, 58, 61,113,252,249, 96, 1,
+175,171,117, 26,185,168,252,184,213, 99, 53, 28,121,164,114, 97,214,233,206, 70,247,175,214,192,142, 61,192,220,177,138, 65, 58,
+144,146,165, 88,200,142, 90,184,101,197, 8, 69,181,238,129,191, 19, 21, 31, 33,129, 84, 0,133, 1,100, 73,230, 96,128,172,122,
+138,207,169,244, 36, 72,150, 53, 58, 16,215,173,176,149, 18, 81,176,229,161,254,126,152,120, 63, 77,170,239,109,202, 5,204,252,
+103,166,195, 22,137, 41,114, 55,198,131,101,249, 30,113, 47,157,141, 66,182, 25,198, 94, 12,137,142, 11,144,176,191,180, 64,252,
+ 45,142,185,100, 26, 17, 93,174,174, 32, 1,107,169, 79,251,201,150, 68, 3,134, 5,241, 93,222,151, 91,167,169,107, 77,230,129,
+118,206, 27, 56, 84, 62,184,192,155, 82,201,117, 74, 92,158,181, 80, 81, 17, 74,161,201, 7,209,105,209,239,118, 88, 73, 85,107,
+ 73,174,241, 96, 73, 65, 23, 11,108,118, 91,237,144,120, 71,207,106, 45,253, 46, 88, 43,138, 38, 35,207,215, 45, 74, 12,143,158,
+130, 59,118,146,124,116,103,101,233,144, 44,233,218,149,205,155,237, 46,155, 1, 19,250,188, 80,232,116, 50,236,105,229, 8, 65,
+ 32,211, 6, 65, 8, 40, 8,116,187,109, 20, 69,137, 92, 75, 88,235, 96,164, 70,225, 75, 88, 31,224,124,192,208, 89,146,136,123,
+ 5,141,175, 28, 18,179,141, 82,171,103,198,238, 1, 12, 29, 32,108,181,150,214,146,164,169, 36, 19, 75, 95,249, 15,203,104,170,
+ 21,100, 85,128,228,107, 50, 69, 43,216, 60,191,218,218,141, 76,157,178,230,152,148, 36, 56, 24,189,242, 62,138,102,210, 51,172,
+ 28,231,128,161,167,124, 64, 61,107,145,214, 3,121, 70, 26, 87,194,254,208, 84, 1, 69, 77,115,239,228,180,111,146,148,215,193,
+144,182, 82,186, 51,173, 87, 62, 48,115,246,164,237, 40, 65,231, 43, 18, 92, 35, 73,106,183,174,102, 45, 96,247, 72,159,199, 63,
+236,173, 95,235,153, 20, 34, 54,193,208,209,202,112,222,197,123,112,253,181, 47,133, 84, 18, 40, 61,172,183,184,176,211,193,253,
+143, 63,134,233,172, 13,231, 28,250, 75, 61,220,253,224,151,113,242,209,199,136, 67, 78,238,139,145,182, 43,170,222,142,163, 88,
+ 14, 63,238,243,142, 46, 9,107,137, 70,200,168,197,176,150,166, 4, 9, 79,235,177, 86, 76,154,127,101, 77,217, 40,121, 93, 74,
+ 95,249, 61, 71,123,149,233,159,175, 53,152,148,172,109,173, 71,211,246,172,249, 59, 55,238,110, 92,139, 6,207,204, 18,109,112,
+ 14,216,247, 60, 96,182, 5, 28, 63, 77,174, 29, 37,137, 49,200, 26,141,147,129,253,177,108, 5, 17,146,155, 91, 74, 87,209,197,
+ 0, 0, 32, 0, 73, 68, 65, 84, 91, 64,164, 76,135, 44,157, 99, 33, 88,160,103, 97, 74,176, 98,148,105, 32,176, 63,221, 59,154,
+223, 44, 39, 70, 21, 93, 36,142, 77,198,113,191,134, 64, 52,192,242,121,174,191,239,253, 72, 97, 66, 89,174,233,174, 88,214, 85,
+ 3, 73, 99, 73,216, 21, 21, 45, 36,139,189,113, 75,144, 96,186, 20,194,185,119,241,149, 76, 67, 3,211,222,162, 36, 6, 45, 37,
+173,137, 2,209,144, 52,231,253,164,200,162, 42, 68,245,188, 49,158, 42,225, 88, 51,200, 45,212,212,173, 37, 77, 53, 41,136,185,
+199,255, 73,150, 6, 53, 7,119,181,176,190, 96,157,178, 32,115,162,103,102, 23,253,231, 0,153,155,149,220,216,243, 45, 43,133,
+105,140,205,192,106,196,202, 90, 18, 38, 34,145,140,140,119,181,192,166,141,162, 55, 24,215, 16,150,115, 75, 56, 75,139,108, 12,
+187, 9, 36,178,212,160,231, 45, 90, 82, 35,176, 58,210,110,231, 80, 2,104,165, 6, 67,235,160,181,198,192,150,104,235, 12,115,
+ 69, 31, 74,177, 25, 63,106,124,182,168, 44, 23,253,146,214, 48,176,198, 62, 12,204,208,253,153,166,225,146, 41,171,172,153, 42,
+ 13, 31,170,210,159, 25,195, 80,128, 2, 13, 97,104, 44,171,238,129, 72, 68,121,190,181, 1,116,151,168,121,137,229,131,133, 38,
+ 25, 58, 91, 20,105, 78,129,181,205, 3,103, 33,212,250,154,181, 31, 0, 18, 67,218, 76,198, 65, 44,194,144,116,173, 13,249,194,
+ 90, 6,152,103,159,122, 57,164, 57,239,245,105,223,235, 9, 70, 53, 50, 33, 79,104,161,163,128, 70, 11, 68,119,121,167, 13, 12,
+248,187,169,168,108,196,253,254,198,181,158,209, 51,212,230,114,131,152,210, 64, 49, 24,192, 7,192,200, 4,195, 65, 31, 90, 73,
+ 28,190,235,203, 16, 65,160,103, 45,180, 82,120,224,190, 71, 72,123,145,171,156,109,137, 51, 25,108, 60,219, 90,147,127,119, 4,
+ 14,132,115,254, 76,237,125, 61,150,155,229,222,183,182, 90, 7, 35,171,253, 20,233, 81,253, 94,206, 87,110, 65, 37,207,124,142,
+173,222,127,251,158,135, 23, 92,121, 41,250,118,128,135, 62,241, 89,224,241,199, 89,144, 40,128,192,227,205,178,106, 14,163, 11,
+ 82,241, 89,106,101,180, 63, 18,205,214,194, 1,187, 18, 88,115, 22,236, 62,163,224, 30,214,204, 19,118,201,241,225, 46, 11, 64,
+118, 56,182, 74, 0,105, 27, 56,122,188,178, 52, 90, 0,130,125,240,138, 15,203,136, 31, 88,114, 9,196, 56, 40, 36,213, 26, 70,
+235,213,228, 17, 54,186,218, 20,161,224,247,116,165, 28, 14, 88, 27, 78, 21,157, 69,233, 55, 47,160,110,194,240, 10, 68,107, 15,
+206,124,118,128,207,100, 89,173,143,201,128,225,128, 20,132, 97, 65,214, 12, 45,136, 38,179,177, 18,185, 33, 75,114, 12,236, 75,
+ 59, 52,239,173,108, 27, 2,229, 70,129, 41,178,242, 61, 7, 79, 27,194,241,131, 75, 54,189,174, 71,244,138, 82,148,247, 85, 48,
+138,102,230, 55,100,191,143, 97, 13, 92, 49, 99, 89,175,251, 84,235, 51,163,225,253, 26, 95,150,158, 36,167,250,207,237, 56,167,
+ 43, 73,140, 89,194, 17,145, 45, 54,141, 11,200,156,152,119,106, 20, 0,129,194, 23,232,152, 12, 50, 0,105,150, 34, 75,114,136,
+ 0, 72, 41, 49,180, 14, 18, 2, 65, 6, 72,225,177, 48,191, 68,146,112,105,129,254, 82,229,187, 73, 21,109, 44, 40, 58,216, 90,
+179, 84, 30, 38,226, 21,216,159, 43, 88,155,143, 18,111,124, 9,144,214,168,120, 95, 68,134, 94,128,136,247,106,218,146,143, 26,
+ 0, 7, 57, 6, 73, 17,182,237, 22, 73,223, 74, 2,189, 30, 61, 91,183, 11,236,222,197,153, 10,110,124, 13,235,107,236,183,241,
+ 0, 75, 89, 89,150, 0, 10,232, 18, 28,116, 89, 14,137,145, 7,102,232,195, 33,141, 97, 56, 4, 90, 45,142, 56,102,243, 90,150,
+ 80, 20,108,180, 56, 24, 38,160,137,170, 2,212,140,162,117, 80, 81, 19,172,197,130,104,205, 62,182,232, 35, 68, 21, 92, 51,236,
+175, 79, 67, 93,201,173,128, 13,134, 38,180, 50, 96,215, 30, 20, 74, 96, 71, 42, 49,219,157, 70,175,223,199,112, 56,196, 35, 39,
+158,192, 87,189, 2,144,225,248, 98,129,199, 22, 22, 17,220, 2,176, 56,207, 22, 9,185,178,182, 94,223, 99,117, 31,169,209, 36,
+240,107, 65, 86, 38,189,134,185,123,179,154,153, 16,149,229,174,100,171,100, 12, 68, 4,107,159, 49, 6,194,251,241,159,194,173,
+ 62,135,209, 7,190,209,224, 80,182, 40,236,190,232,124, 60,126,122, 14,229,227,199,198,227,139,226, 53, 11,214, 4, 93,180, 90,
+ 70,171,130,169, 4,112, 41,232, 25,139,130,246,111, 12,246,147,130,104,133,103, 6, 26,216,109,167, 2,251,231, 29,199, 33,149,
+ 64,154,209, 61, 74, 14,128, 83,134,232,129,209,116,246,133, 96,166,165,232, 59,153,193, 40,235, 70, 9,122, 30, 25, 5, 83, 67,
+180, 57, 97, 6, 30,199,164, 65, 1,117, 41,251,255,163, 79,124,204, 69, 5, 14,238, 27,112,180,184, 59,119, 26,185,172,187, 2,
+153,183,248,101, 92,133,214,210,217,215,154, 63,227,121,252,188,215,250,253,138,255, 69,225,220, 59,162, 21,146,227,159,134, 44,
+ 12,155,214, 22,251,212,173, 37,127,183, 97, 34, 54, 23, 72, 75, 25, 29, 6, 11, 12, 2, 75,253,122,121,173, 73,235, 74, 18,206,
+ 19,250,136, 97,166,141, 2,152, 31,208,134,105,165,181,168,245, 80,105, 17,253,130, 36,154,224,151,247, 75,174, 37, 89,173,246,
+121,187,194,207,115, 5, 15, 34, 30,253, 62,208,109,211,191, 74, 15,159, 1,131,210, 67, 25,137,212,104, 12,220, 0,185,153,169,
+132,217, 76,163,191,216, 67, 22, 3, 47,250, 22,214, 7,154,183, 1,175, 89,180, 20,104, 13,244, 44, 75,125,156, 98,177, 82,234,
+ 79,157, 48, 46,231, 67,140, 38, 80, 37,233,160, 75, 77,218,100,212,250,215, 66, 97, 89,171,103,159,125, 61, 69, 40,254, 34, 52,
+208,237,208,181, 91, 25,153,176,173, 29,215,210, 55,169, 97,110, 92,163,173, 91,144, 60, 73, 48,145,161, 23,236,124,237, 15,129,
+ 60, 37,201, 59, 79, 41, 29,168,157,147,175,207,104,122, 63, 30,246,186,102, 94,122,118,207,248,113,173,189,230,213,128, 4,125,
+127,116,222, 98, 90,105, 56, 55,155,181,126,118,101,130,233,107, 46,195,193, 43,246, 99,110,176,132,196,164,120,228,241, 71, 49,
+ 40, 29, 74,239, 48,191, 20,240,245,151, 92,134,157, 83,211, 72,211, 20,206, 14,241,240,241,199,240,201,197, 62,249, 22, 87,242,
+111,174,166, 89, 41, 89, 9,142, 81,120, 92, 78,131,158, 36,170, 27,213,190, 70,230,247,154,149,106,228, 6,169, 89,139,226,255,
+198,126,174,131,200,104,156,233,203, 95, 15,230, 23,240,249, 79, 28, 30, 79,233, 93,110,204,206, 87,154,178,226,179, 37, 11,182,
+126,121,178, 18, 9, 73, 90, 99,244,141,215,253,225,206, 3, 34, 39,191,186, 47, 57,162,190, 95, 99,218,158,211,109, 65,138, 92,
+ 89,140, 91,179,226, 62,137,231,101, 56,160,207, 37, 28,135, 98,107,251, 85, 72,122, 62, 88,142, 51,146, 53,134,206, 86, 25, 27,
+170,207,198,185, 23, 53,247,137,139,238, 87, 22,114,207, 5,162,101, 65,215,246,173,214,213,218,142, 89,193,106,207, 28, 5,115,
+233, 1, 47,145,188,232, 82, 92,123,241,101,248,167, 79,126, 10, 56,122,146,206,115,156,191,222,128,180,244, 98, 80,155,211,114,
+ 27, 82,218, 60, 75,127,253, 1,105, 42, 34, 0,150,165, 88, 23,216, 68, 51, 65,100, 12,107, 36,210, 0, 45,246,129,228, 44,133,
+228,156,171,151,179, 79, 40, 99,115,132,214,100,222, 20,138,222, 51, 28,138,106, 20,249, 41,140, 33,237, 78,196,136,225,154,228,
+191, 90, 0,208,102,165,184,115,145,118,165, 36, 77, 91,150,179, 79,209, 67,182, 51,132, 32,209, 74, 21,180,148, 80, 80,200, 84,
+ 10,201,129, 34, 89,146, 99, 80,150, 48,198, 64, 72, 1, 91,150, 72,147, 20, 71,142, 31, 39,237,188,215, 35, 51,187,117,227,254,
+195,232,119, 93, 77,178,141,140,187, 30,225, 43,196,184,176,229,125,165,157,196,148,184, 98,184,126,191,226, 72,152, 9, 64,193,
+154,144,240, 64,191,199,254, 39,254, 92, 98,104,147,187, 1, 89,130, 38, 92,241,180,221,182,112,125, 76, 50,158, 30, 19, 5,155,
+122,154, 95, 80, 85, 10,149, 49, 52,110,149, 82, 60,136, 76,232,103, 43, 35, 77, 93,165, 36,236, 56, 87, 17,128, 24,157, 27,153,
+118,212,202, 3, 11,119, 8,227, 65,113,129,231,167,180,100, 73,114,172, 37, 57, 54, 65,151,229,246,237,205, 52, 33,107,140, 96,
+141,238,210,139,241,154,253,251,208,233,182, 48,219,157, 69,112, 30, 15, 28, 63,137, 79,125,238, 49,156, 14, 22,179,173, 14,118,
+118,102,113,222,238,243,176,115,231, 44, 90,211, 83,104, 67,195,230, 10,199,164,165, 0,194,141, 70, 34, 7, 94,107,167,136,120,
+ 75,201,209,242, 28,139, 16,194,230, 77,175, 87, 93,138, 87,188,250,149,120,252,203, 95, 97,203, 17,223, 43,212,180,116,137, 42,
+214, 33,132,181,125,245, 43, 9,238, 82, 87,214,192,141, 98, 88,172,108,145,138,231, 91,202,202, 37, 19, 2,113, 58,231,201, 26,
+ 20,221,114,222,113,160, 91, 12,126, 85,100,253,136,103,200,179,175, 95, 71, 75,105, 66,239, 69, 11,192, 40,138,155,173, 68, 25,
+167,202, 37,170,218,139, 49,230,202,123, 32,105,115, 44, 9, 31, 86,193,177, 10, 66, 87,227,137,181, 1, 50, 14,248, 27, 22,108,
+253,144,149, 37, 46, 94, 87,240,218, 72, 89,179, 90,249,181,231,127, 43,249,160,175,107,235, 76,136,150,219,115,245,117, 25,101,
+ 35, 13, 1,239,144, 95,188, 23, 74,120,156,252,194,131, 85,182, 82, 60,235, 49, 35, 75, 73, 10, 34,239,245, 0, 41,183, 73,127,
+169, 75, 34,214, 2,105, 12,146, 67,165,161,197,232, 68,112,128, 79, 98,104, 80, 90,147,175, 49, 58,125,234,135,177,157,210, 6,
+ 44,107, 3, 75,217,228, 34, 2,144, 43,192,114,238,159, 99,194,103,153, 72,150, 49, 10,118,139, 35, 28,235, 38,148,237,198,176,
+224, 40,244, 69, 0, 29,192, 8,120, 59,132, 85, 2, 11, 67, 1,151, 2,169, 73, 49,176, 5,218,121, 27,153, 49,176,174,207,177,
+ 85, 30, 90, 8,132, 52,193,241,185,121,168, 68,193,249, 64,115, 50, 55, 87,153,122, 67, 77,197,181, 27, 12,168,170, 23, 38,169,
+ 23,141,152,244,101,215, 53,144,181,180,145, 40, 92,148,236, 35, 29, 44,156,185,215,230, 23,232, 85, 87,167,108, 93, 61,183,103,
+191,198,209, 55, 42,216, 71, 89, 22,227,207, 30,247,150,224, 98, 51, 66, 2, 97,192, 41,101,236, 75,207, 83, 50,147,165,172,169,
+171,148, 35, 94,185,232, 71, 50, 17,185, 63,233,163,143,130,157,243,227,154,123, 56, 71, 62,194,245,104,232,140, 61,179, 93,236,
+236,182, 1, 72, 12,122,125, 8,157,226,138, 93, 59,240,249, 47, 62,137,249,185, 30,220,244, 78,204, 78,119,209,233,228, 40, 16,
+208, 73, 18,228, 23, 93,136, 52,203,161, 80,226,190,167, 78,110, 60, 26,217, 70,127,112, 89, 17,241,122,116,181,192,250,162,207,
+151, 67,223,226,177,147,199,198, 93, 58, 30,103,186,240,228, 50, 86,129,245,222, 55, 42,241,147, 62,228,205,248,114,237,106, 26,
+ 36, 42,223,178,146,149,191, 28,168, 50, 42,100,140,137,225,224,221,200,220,125, 44,188,227, 41, 47,186,228,232,249,122, 16,109,
+116,189,196,115, 27,153,176,170, 69,195, 39,181, 40,239, 52, 97, 87,138,102,193,150,231, 75,129, 76,240,162, 46,160,179,230, 31,
+179,153,172, 37, 97, 64,162,218, 47, 49,248,110, 50,142,226, 92,159, 9, 76, 88, 92,244,132,159,125, 57, 30, 98,146, 42,198,192,
+104, 44,222,125, 63, 30,168,143,181,174, 4, 71, 1,101, 88, 80,102,209,182,248,212, 87,130,115,149, 47, 38, 6,183, 36,138,136,
+ 91,154,176, 54,158,210,207, 78, 70, 82, 93,146, 80, 68,112,167, 77,154,122,150,144, 86,158,166, 28,136, 39, 41,114,216,129, 52,
+243, 68,115,254,163, 35,255, 76, 2,146,250, 18,195, 26, 61,136,241, 27, 93, 85, 71, 91,205,180,183, 94,205,219,251, 42, 29,218,
+215, 14,213,182,237, 33,174,118, 17,163, 84, 11,139,144,103,108,153, 87, 72,165, 66, 98, 12,116,106, 80, 12, 75, 20,195, 1, 68,
+224,200, 79, 9, 44, 46, 45, 65, 74, 9,143,128,254,226, 2, 11, 64,156,131, 30, 56, 90, 84,200,113,115,250,122, 24,250,114,154,
+201, 74, 69, 84,162,105,172,158,123,189,165,146,115,221, 1,124, 22,215,141,218,120,244,151,135, 64,204, 57,203,106,126, 83,206,
+179,245,158,133, 34, 22, 34,149, 34,138,166,162,166,193,133,104,178,148,211, 37, 13,229, 3,231, 45,250, 59, 73,201,135, 89,183,
+126,104, 78, 1, 84,130, 52,160, 80,211,204,117,204, 44,169,105,134,246,105,170,220, 23,235, 74, 4, 54,183, 66, 98,169, 44, 48,
+ 61,211,197, 84,154,194,100, 41,138,126, 15,255,124,236, 73,156, 56, 49, 15,184, 18, 75, 18,184,124,199, 94,152, 36, 67,107,170,
+133,150,209, 16, 70,192, 11,131, 86,218,133,106, 39,120,234,248,137,141, 51,246, 80, 99,230,113, 79,202,122,142,120, 88,249,172,
+215, 35,231, 39,247,227,233, 57, 44,124,229,171,172,157,170,106, 91, 69,159,180,168, 49,143,229, 74,108,136,117,156, 13, 95,123,
+150,141,158,135,250, 24, 48, 49,134,169,221, 85, 65,174,120,109,231,200, 87, 29,159, 57, 97,230, 46,153,134,198, 26, 32,138, 9,
+155, 81,100, 1,203,100, 37, 80,186, 88, 72,166, 22,189, 30,239,233, 10,218,251,157, 46,237,113, 25,200,130,162,216,106,226, 60,
+199,219,200, 90, 96, 28, 75, 69, 90, 18, 51, 15,181,245, 84,236,231, 87,158,252,243, 96, 33,210, 22, 85,150,192,164, 53, 36,106,
+235,126,157,180,105,171, 53,117, 41, 43,139, 75,100,220, 30,203,199,138,140,206, 18, 91,187, 12, 71,236,151, 37,205, 65, 89,146,
+ 59, 68, 49,115,137,149, 9,227,184,173, 37, 30,155,118,206, 17, 83,143,155, 78,178,223, 67, 73, 98,206,221,156, 24,238, 84,135,
+ 24,181, 49, 80, 51, 83, 8, 82, 35,105,231,208,105,138, 60, 53,208,218,160,155,182,144,167, 41,188,210,104, 39, 57, 84,150,192,
+123, 9,145, 39, 8, 38,173, 22, 50,230, 54, 6, 80,192,151,102, 63, 81,158,112, 0,142, 34, 98,109,125,149, 86,101,237,120,144,
+156,201,200,156,148,242,225, 88,206, 12,168,107,135, 16,190,242,219, 70, 62,178, 93,140, 61, 10, 17, 14, 52, 22,235,128,225, 0,
+161,221, 6,124,128,215, 64,110, 52, 92,225,144,153, 4, 74, 25, 88, 81,194, 59,135, 65,105,225,157, 71,225, 28,158, 56,117,154,
+221, 36,108, 10, 86,160,181,136,135,204,121,170, 78,182,158,192,146, 72, 40, 70,102,164, 85, 76,135,145, 97,197,234,100,145,216,
+ 10,241,204,170, 26,167, 57, 63, 55,237, 96, 20,188, 34, 36, 9,140,165, 37, 33,211,113,174,104, 12,228,209, 76,120, 50,195, 65,
+115,108, 41, 50,138,136,143,228, 50,191, 50,173,254, 14, 37,125,182,232, 85,135, 63, 30,110,128,138,126, 4, 22,226, 66, 32,226,
+ 56,202,215,230,128, 48,241, 52,165,228,140, 24,150,160,241, 75, 84,197, 67,164,196, 87, 37,112,225,142, 14,230, 22,231,113,124,
+241, 20, 62,251,232, 81,224,216, 34, 48, 40, 81,218, 18,143,244,150,176,167,221,198,212, 84, 23,202, 72,244, 22, 29,164, 1,118,
+ 77,207, 32, 19, 45, 12, 18,133,147, 39, 87, 96,236,145, 1,215,199, 60,242, 77,178,107, 34,254,172, 7,214, 45, 87,177, 47, 22,
+154,138,230,231,181, 82,111, 99,208, 88,168,107,237,126,252,250,171, 69,240,175,154, 74,235, 55,185, 87,107, 26, 97,140,101,137,
+140,254,188, 61,180,215, 6, 75,227, 2, 64, 20,198,227, 94, 83,181,160,227,193,144,246,117, 97, 57,232,149, 43,174, 41,158, 83,
+235, 72, 16,136,174,174, 24,180, 8, 84, 1,109, 49,157, 44, 97,166,109,251,204,240, 57, 61, 51,225,243,161,146, 90,234, 28, 11,
+ 16, 37,187,173,130,160,152,170,146,105,170, 54,236, 94, 77, 86,175, 56,183,234, 26,216,237,175, 69, 85,103,226,245,245, 89,203,
+244, 31, 3,253,226,126,205,146, 42,200, 50,102, 41,197,191, 77,139,232, 73, 43,163,201,145,150,178,126,207,154,169,155,140,152,
+179, 72, 43,226,183,156, 36, 47, 88, 59,207, 18, 96,166, 77,149,182, 50,174,246,147, 25,116,186, 29,228,173, 14,114, 99,176, 51,
+107, 97, 42, 75,208,209, 6,157, 36,195, 76,146, 34,209, 6,221, 36,135, 16,192,174,164,141, 60, 49,112,240,152, 78,114,104,101,
+ 16,180,132,206, 18, 56,161, 72,147,213,236,207,148,236,103,151,236,227, 28,153,255, 85,149, 11,238,107, 26,157,166,234,108, 84,
+ 25,140, 75,163, 46,119,192, 71, 49, 47,190,182,112,181,107,216,237, 76, 95, 81, 76,200, 11, 10, 18,113, 14,232,247,225,124, 64,
+222,201, 81, 6,139,174, 78, 33, 37,112,122,176,132, 84,165,152, 31,246,161, 4,105,232,167,250, 75,176,206,195, 45, 46,144,134,
+ 88,122, 46,183, 91,115,119,104,205,230,102, 93,229,247,110, 84, 81, 94, 73,171,243,126, 60, 37, 49,154,228,156,123,230, 48,116,
+128,181,236,146,230, 58,106,206, 46, 70,168, 70, 77,198,208, 70,208, 44, 61,199,207, 12,122,148,122, 40,234, 46,132, 1,205,113,
+209,103,237, 62,212,222,175,229, 68,143, 42, 42,178, 85, 35,136, 42, 71, 56, 75,168,138, 84, 98,232, 25,158,183, 7,152, 91,170,
+245, 62,136,230,240,132,204,158,144,103,250,254,183, 67,208,204,116,205,204, 44, 1, 55, 64,120,226, 36,190,252,197, 35,120,232,
+ 75,143,224,241,135,143, 1, 39,231,200, 26, 81,246,129,211,115, 40,150, 22,240,144,243,152,209, 41,132, 76, 32,181, 66,158, 25,
+ 12,134, 5,138,210, 98, 74,165,184,127,176, 72,197, 54,234,193, 86, 53, 98, 45,164,164,151,247, 16, 35, 66, 30,234,106,116, 37,
+ 68, 46,199, 52, 71, 74,128,172,162,191, 29, 87,251, 90,105, 63,142,238, 17, 42, 97, 52,230,164, 79, 6,142, 46,251,253, 45,204,
+154,169, 51, 12, 37, 43,237, 91,212,202,212,206,159,174, 24,122,125, 14,116, 45, 98,220,203,170,250, 94, 96,229,199, 57, 14,238,
+146, 20, 35,101,244,184,245, 35,230,154,199,223,163,198, 62,138,223,224, 10,135, 78,208, 30, 44,152, 94,106, 95, 41, 63,138,149,
+147, 80,144,165,214, 59, 18, 20,180,167,136,122,237,171, 2, 63,224,115,161, 76,229,215,183, 88, 61,134, 96,108, 29,248,156,217,
+115, 32,252,142,197,111, 69, 43,181, 92,159, 53,205,232, 42, 54, 32, 86, 51,141,213,248,164, 98, 43, 96,168, 2,228, 98, 28, 69,
+214, 1,236, 86, 4,202,237,216, 9, 76,119, 41,221, 40, 36, 36,225,141, 24, 36,251, 64, 4, 7,190,181,217,148,222,105,115, 4,
+123, 11, 59,166,167,208, 54, 45,116, 76,130, 78,146, 99, 38, 75,161, 32,161,165,161, 84, 45,157,162,163, 83,104,109, 0, 8,236,
+109,205,162, 95, 14,161,164,196,116,210,130,112, 64, 46, 53,118,152, 22, 44, 60,114,147,194, 9, 1,167, 98,105, 82, 84,126,161,
+ 36,154,149, 5, 73,122,193,115,128, 29,170, 3, 28, 43,129, 73,206,135,177, 97,101, 63,124, 93, 35,151, 53,230,190,221,146, 96,
+ 12,166,138,229, 6, 93, 73, 11,172, 12,250, 58, 65,158, 26,204, 23, 3,180,148,129, 86, 26,189,114, 0, 5,137, 94, 89,160,231,
+ 10, 44, 21, 67,244, 23, 22,105,124, 67, 75, 25, 10, 69, 96,169, 56,169, 2,208, 16,106,105, 44,203,104, 55, 70, 19, 97,208,106,
+109, 77,123,100,218, 20,227,129, 43, 81,235,113,254,220, 4,176,172, 7, 89,194, 37, 43, 89,160, 41, 89, 27, 47,125,165, 45,107,
+ 54,123,167, 6,163,200,220,140, 45, 64,142,211,134,162,115, 83,166,156, 26, 8,210, 76,226, 26,198, 26,225, 10,227, 65,108,130,
+ 53,126, 17, 53,164,218, 30, 11, 92,200,135,215,235, 5,215, 93,133, 99, 71, 30, 27, 39,108, 74,146,245, 37,112,160,216,185, 48,
+203,199,234,129, 34, 84, 65, 84, 49,101, 42,112,122, 31, 64,251, 52,174,243,176,128, 91, 42,241, 72,217,199, 46,157,161,213,202,
+160,180,198, 82,111, 8, 95, 6,244,122, 61, 40, 25,112,162, 4,196, 96, 8,161, 0, 17, 2,164,146, 16, 33,140,106,208, 8,128,
+152,122,252, 41, 37, 4,107,233,228,117, 11, 92, 90,194, 46, 47, 32,123, 89, 85,153, 68,168, 52,214,114, 29, 1,103,129,131,126,
+203, 9,139,214,106,154,226, 86, 50, 21, 89,115,149,229, 25,144,228, 36,168, 7,199,251,112, 21, 55,162, 99, 87, 66, 81,210,254,
+ 81,156, 50, 26,216,106, 81, 63,247,169,161, 57,137,150,167, 1, 23,255,138,166,124,239,171,207,215, 83,173, 6,158,175, 63,172,
+138,214, 40, 78,145, 21,204, 27,130, 37,174,237, 74,178, 76,105, 95,179,160,138, 42, 64, 46,240,254, 23, 92,156,204, 59,122,238,
+213,148,129, 49,235, 33,206, 61,125,241,126, 92, 91, 95, 47,125,143,138, 69,228, 97, 81,216,178,101,149,206, 22,106,244, 42, 6,
+133, 58,191, 5, 76,189,213, 33,205, 91,176,201,182,224,218,224, 58,214,234,230, 42,115,218,144,223,124,231, 12,144,166, 72, 59,
+ 45,156,223,238,192, 8,137,110,146, 34, 55, 41,140,148,104,233, 12,146, 37,200,110,210,230, 30, 38, 26,137,212, 80, 8, 24,122,
+135,220,228, 16,193,195, 7,143,204,164,240,206,194,134,128,142, 74, 49,116, 5,164, 18,104,155, 20, 94,122, 40,149, 0,218, 32,
+128, 55, 99, 96,139,193,192, 81, 64, 94, 97,163,184, 72,230,139,210,113, 78,101, 96, 45,189, 88, 99,211, 76,254,244,235,207,147,
+223,138, 13, 86, 39, 30, 37,231, 63, 39, 25, 16, 2,250,174, 68,233,135, 8,222, 99,161, 28, 32,192, 97, 97, 80, 96, 97, 56, 36,
+ 63,186,141, 1,140, 49,135, 54,208,239, 41, 91, 86, 60, 7,124,197,138,122,117,233,243,140,226, 63,107,152,127, 71,121,186, 98,
+156,153,215,115,143,183, 58, 66,125,179,126,116, 37, 40,146, 52,145, 92,222, 54,106,238,204,128, 99, 99,161,161,163,130, 50,129,
+173, 28, 14,180,151, 2,184,172,227,160,202,227,183,150, 53,255, 58,225,231,235, 21, 19,190,255,232,195,143,213,184,130, 39, 95,
+162,136,101,132,121,203, 42,224,216,163, 79,156,217,224, 67,178,214, 21, 3,136,206, 69,151,188,229, 42,160,197,255,201, 9, 70,
+ 24,159,209,147, 0,228,150, 22,241, 21,111,209,129, 66,162, 83,244,150,122, 8,176, 56, 49,127, 18, 11,189, 1, 78, 91,143,144,
+119, 32,134, 22,162, 28, 64, 72, 49,122, 73, 41,136,105,243,245, 4,107,239,145,161,143,121, 9,150,211,210,163, 63, 57,174,111,
+244,191, 23,182, 86, 55,127, 45,183,211, 42, 12,215,218,202, 29,229,183,161, 97, 72,156,211, 68, 83,161,151, 86, 74,123, 68,112,
+115,160,181, 50, 30,132, 32, 51,174,240, 84,239,161,197, 85,228,138,126,213, 56,100,224, 88,177, 97, 11,100,108,210, 18,215,208,
+232,138,201,196, 98, 64,162, 86,237, 80,123,162,255, 49,122,219,250,170, 96, 82,180, 10, 38,130,178,164, 60,151,243, 45, 81, 53,
+ 3, 27,197,165,112,238,186,103,179,189,183, 85,214,206,102,172,135,171,197, 80,172,228,234, 25,197, 46, 76, 92, 51, 77,206,204,
+178,218,140, 91, 37,242, 77, 37,198,104,170,186,230, 50,132,175, 30,165,251, 68,183, 72, 93, 80, 21,213,222, 61,123,166,238,184,
+ 48,134, 11,192,226, 0, 40,123, 76,192,121,161,179,188, 98,230,211, 93, 36, 89,134,243,167,103,177, 43,109, 33, 55, 9,180, 86,
+200, 84,130, 76, 39,200,149,193, 16, 14, 45,147,195, 57, 7, 37, 37, 82,147,142, 36,146,118,154, 51,251, 8,208, 82,195, 8,129,
+194,123,164, 73, 11, 1, 30, 66, 0,221,172, 5, 3, 9, 31, 60,140,144, 16, 74, 82,133, 72,163, 16, 98, 1, 4, 1,210,118,162,
+143, 29,156,214,225, 37,117,123, 26, 22, 85,112,223,118,164, 1,181, 58,188,112,114,107,180,168, 72, 44, 4, 53, 74, 40, 3,241,
+155, 97,240, 40,217,135,238,124,192,124, 49, 68,111,200, 18,118,212,246, 69,189, 46, 53,167,229, 32, 22,248,240, 92, 40,168, 86,
+132,166,206,156, 39,137,195, 90,218,186,247, 85,249,210,200,216,227,117, 66,216,222,226, 48,235,133, 98,181, 32, 30, 28,149,208,
+254, 94,236, 85,154, 89,146, 0, 94, 81,230,133,141, 37,141,107, 62,111, 88, 98,228,154,171, 98, 5,174, 2, 56, 28,156, 73,105,
+ 98, 77,246,186,144, 87,111, 0,130, 48,206, 36,141, 38, 51,102, 76,211, 42,202, 51,153, 69, 36,158,177,248,207,118,105, 39,102,
+ 29, 68,113,181,244,209,200,140,188,128,155, 63,141,135, 79, 44, 32,203,128,133,197, 37,244,251, 67, 44,245,135,152, 31, 20,104,
+167, 9,140, 78,208, 23, 30,194,164, 16,101, 9, 17, 28,100,212,210,163,214, 30, 25, 59,207,199,228,207,101, 53, 34,163,137,118,
+197,174,111,229, 68, 7,184,201, 0,186,141, 88,147,234, 41,153,103, 35,100,118, 90, 20,131,180,146,175, 95,114, 90, 87,154,178,
+ 73,157,211,135,203,114,109,250,194,130, 21,188, 7,242, 54, 51,116, 71,110,167, 97,193,193, 87, 28,180, 21, 75,125,219, 48, 94,
+122, 57,106,233,178,150, 66, 44,216, 5, 36,185,225, 72, 52,179, 59, 69, 76, 94,161, 54,207,150,127,175,237,219, 24,241, 46, 80,
+ 5,154,122, 27,205, 50,164,148, 72,177,185,122,237, 41, 23,202, 81, 92,222, 54,210,192,216,140,201, 57,242, 83,151,182,150,165,
+101, 43,154, 45, 5,119, 62,228,207,154,140,221,161,220, 88,101, 61,129,191,186,102,233,140,116, 83,131, 43,234, 49, 93,212, 28,
+ 55, 48, 44, 16,142,159,102, 75,160, 27, 55,201,199, 40,248, 88, 94,118, 88,108, 5, 83, 47,128,165, 30,181,126, 43, 57, 16, 66,
+ 37, 64, 59,161,158,222,173, 20,216, 57,133,206,244, 52,178, 44, 69, 87,167,232, 38, 41, 50,147, 67, 74,137, 41,221,130,148, 52,
+ 48, 41, 53, 49,226,224,145, 39, 45,100, 90,163,180, 14,173, 52,135,117,142,138, 68, 41, 67,210, 57, 4,148, 74, 32, 1, 20,174,
+ 64,162, 12, 32, 4,202,162, 68,146, 24,216, 96, 73, 40, 80, 10, 66, 8,100, 38, 65, 97, 29,164, 54,100, 49, 83,181,154,191, 73,
+108, 52,226, 41,101,195,219,237,145,170, 35, 33, 84,172,113,197,110,101,103,227, 75,142, 27, 81, 43,178,138, 72,238,146, 6,135,
+208, 31,160,148,192,176,223,135,133, 64,185,216,227,195,200,121,233,129,115,190, 77,204,139,101,109, 57,250,200, 60,119,118, 82,
+182,170, 91, 61, 74, 95,242,227,126,187, 16,198, 53,176,213, 52, 3,132, 51,125,234,246,105,102,232, 38,163,136, 94, 45,184, 63,
+ 49,143, 51, 88,170,171, 16, 15,174, 16,156, 2,228,136,208,116,218, 68, 76, 3,155, 40, 53,215, 71, 8,174,106, 17, 42, 66,213,
+ 93,108, 50,176,107, 20,224, 52, 65,253,163, 0, 84, 23,152, 2,215,118, 79, 81,105,148, 43,105, 99,117,179,104,100, 14, 59,118,
+ 0,123,119, 3,211, 51, 85,247,193,179,217,199,134,107,243,199,186,243, 35,226,164,199,219, 39, 43,185,114,222,118,140,174,246,
+ 14,232,207,225,241, 99,115,120,180, 40,112,122,176,132,133,225, 0, 18, 2,109,163,209, 74, 52, 90,173, 54, 10,163,225, 77, 10,
+ 57,112, 16,190,224,216, 91,214,214,173, 29,211,206,151,251,253,140,192,116, 41, 42, 55, 83,204, 57, 7, 87, 72,180,181,253, 14,
+ 69,116, 66,201,229,251, 50, 76,106,125,235, 9,138, 90, 15,186, 45, 96,122,138,253,213, 43,180,206,141, 66,156, 20,180, 63, 28,
+168, 6,194, 96,131,173,160,133, 39,173, 60, 12,170,184,130,148,179,135, 44,170,156,116,205,241, 37,134,115,180, 36, 11,191, 8,
+ 85, 30,186, 98,115,146, 16, 28,220,201, 46,190,148, 45,127, 49, 63,125,180, 48, 9,251,245, 61,247,122,183, 36, 96,143,178, 76,
+ 38,155,247,132,205, 9,172,154,221,170,130, 99, 5,134,182, 50,113, 7,206,163, 51,178,138, 43,136, 12, 86,230, 84, 71,133,106,
+ 29,211,239,150,235,210, 11,206,188, 50,168,170, 74,174, 69,211,235, 53, 45, 98,159, 0,165,201,194, 18,115,239, 53, 7,160,198,
+114,176,147,110,208,146,255,231,220,216, 61,183, 38,250,221,215,122,156,171, 90,161,152,110, 14,116,186,152,218,177, 3, 70,105,
+ 76,155, 12, 59, 59,211,200, 37,249,122, 91, 38, 67,240, 30, 82, 10, 24,109, 70,231, 43, 51, 9, 9, 67,138, 11,170, 8,133,118,
+222, 98, 95,187,130,150,128,226,180, 44, 13,133,196, 80,158, 99, 34, 52,188, 36, 13, 83, 11, 5,107, 29,180, 20,200,149,129, 4,
+ 73,133,198, 72, 4, 37,224,164,170, 77,172,224,224,140,104,246,148,219,103,178,148,177, 30, 52,155,154,214,219,223,122,197, 13,
+202,196, 94, 11,210, 30, 29,232,144, 57, 54,221,244, 11, 64,120, 4, 71,145,145,228, 30,113, 24,165,189,136, 88, 20, 72,212, 90,
+165,214,162, 93, 61, 63,223, 96, 56,190, 25,133, 24, 47, 56,179, 92,170,208, 74,155,185, 94,229, 43, 6,132,156, 99, 95,215, 25,
+196, 93,233, 81,221,113,161, 21,132, 52, 16,165,135, 16, 6, 66, 88, 8, 17, 42,205, 65, 9, 98,232, 50, 80,217, 94,173, 72,178,
+215,146, 8, 87, 89,176,182,207, 62,118, 45, 40,247, 52, 70,171,166, 73,197,112, 71,190,182,101, 74, 20,199,212,162,184,198, 38,
+250, 99,125,213, 99,123,189,140, 57, 49,192,142, 89,114, 37,120, 22,224,138,226, 76, 33, 99,221,237,112,101,229,142,240,168, 10,
+229, 8, 62, 63, 74,241,121,170, 69,242,174,184, 39,106,171, 81,244,129,185, 62,134,172, 57,181,181,129, 48, 10,237,180,141, 86,
+150, 33, 75, 53,160, 20,138, 36,133, 76, 50,200, 2,180, 62,206, 87,126,117, 44,159, 85,182,236,218, 71,235,199,104,206, 67,173,
+136, 13,199, 61,196, 20, 54, 53,177, 54,117,193, 26,162, 10,206,141,218,221, 86,100, 36,180,187, 85,160,177, 7, 91, 66, 87,177,
+ 10,148, 69,197,208,215, 43, 40,143, 4, 16,126,230,204,208,152, 90,121,197,240,118,119,137,201,117, 50,170, 23,162, 12,151,107,
+ 6,249,240, 71, 93, 48, 61, 23, 4,227,250,238, 54,140, 12,161,180, 15,202,106,205,135,190, 10,180, 19,172,169, 59, 77,110, 43,
+173,216,239,206,116, 41,250,218, 71,230,123, 57, 30, 28,186,110,211, 54, 87,183,140,238,129, 81,116,185,170,210,234, 52,199, 14,
+ 8, 85, 21,176,241, 69, 85,242,222,130, 54,136,137,174, 1, 22,200,125,205, 93,182,214,186,203, 90, 42,239,168,149,176,226, 46,
+139,241, 25, 56,118, 39,146, 7,201,252, 85,214, 82,222,150,161,157, 91,220, 79, 61,161,138,112,121, 70, 18,222,206, 25,236,216,
+185, 11, 90, 40,236, 48, 57,102, 91, 93,120, 27,144, 37, 25,180, 84, 40,202, 18, 74, 10, 24,165,169, 71,188, 81,232, 36, 41, 32,
+ 21, 18,165,160,133,132, 54, 25, 20,183,235, 84, 82, 66, 9, 1, 37,104,118, 5, 2,130,144,144, 66, 82, 32, 88,209, 71, 38, 21,
+213, 61,113, 37, 18,109,160,160,224,225,225, 3,208, 73, 18,142, 90,150, 48, 90,192, 10,201, 5,149, 56,215,210,163, 74, 41,112,
+219,164,169,199, 75,186,179,180, 6, 68,194,106,106,229, 66, 19, 85,229, 54,123,238,192,230, 75,146, 34, 11, 46,208, 19,106,218,
+114,172,108, 18,205,202, 81, 50, 44,216,124,220,227,224,150,122, 3,158, 88, 33, 78,170,113, 19,252,122,243,164,147,132,210,196,
+178,156,152,194,176,120, 90,131,227, 4, 0,145,101,220, 62, 90, 67,176, 95, 85, 56, 91, 49,244,216,157, 79,164, 53,225, 53, 0,
+221, 89,218,239,117,179,163, 97, 77,160,224, 28, 94,112, 68,112,198,205,120, 50,110,242, 2, 63,174,169, 71,194, 48,201, 88, 71,
+ 57,242, 76, 0,140, 24, 39,226,235,205,241, 23,172, 93,104, 78, 39, 90, 90,170, 58,134,153,132, 52, 66, 99,214, 39,208, 74,234,
+ 14, 56, 98,232,145,216,185, 80, 9,197, 1, 68,136,189,172,250, 88, 47,135, 50, 84, 25, 41,129,180, 47,161, 28, 80,120,148, 62,
+ 96, 40, 20,118,117, 58, 48, 38, 67,170, 20, 90, 38,197, 84,158,163,147,166, 8,137, 65,217,105, 65,232, 12,162, 95, 64,216, 98,
+ 77,134,190,252,220, 56,154,223,192,154,102,204,251,143,217, 32, 82,140, 51,244,122, 15, 4,205,117, 10,192,213, 45, 17,131,204,
+216, 10,182, 81,147,253, 36, 2,107,149,206, 81,161,162,213, 26,242,212, 3,104,215,123, 63,195,245, 63,218,204,152,103,219,244,
+179,149,144, 5, 74, 2,152,206,137,225,181, 51,170,179, 96,120, 78,178,132,198,110, 12, 87,242,228,159, 35, 33,137,173,125, 35,
+225, 71, 80,170, 90, 44,171,235,202,154, 98, 21, 42, 77, 57, 6,247,169,104,134, 55, 20, 29, 31, 99, 89,234,110,169,141,210,203,
+152,177,162,229,120,147, 29,231,120,227,136, 42, 11, 64,129, 4,223, 68,211, 92,248, 90,187,232,224, 73,171,246,178, 42,123,173,
+ 88,185, 90,143,160, 29,233,104, 61,214, 34,209,148,217, 98,106, 12, 61,222, 43,128,133,140,168, 20,214,232,248,196,254,218,186,
+138,114,134, 35,220,211,100, 20,233,158,182, 58, 48,208,216,145,183, 96,180, 65, 97, 75,180,116,134,224, 28,188, 22,232,102,173,
+ 17,141,128,118, 72,148,129, 84, 10,109, 45,225, 3, 16,156,131, 82, 18,158,219,119, 90, 87, 2, 65,193,123, 7, 3, 1, 45,104,
+113,134,101,129,160, 21,218,105, 11,165,181, 16, 10, 48, 72, 96,157,131,144, 2,218, 75,100,121,130, 65, 97,145,105,137, 12, 9,
+150, 44,160, 82,133,190, 18, 40,130,175,124,232,177, 59, 78,146, 97,212, 33,104,171,177, 21,215,140,103,101,212,207,185,214,153,
+104,136,170,102,122,220, 64,185,226, 40, 83,214,232, 5, 72, 32,136,145,184,138,183,131, 31,208,255, 23,123, 84,219,185, 92,134,
+ 56, 88, 84, 4,107,100,126, 95,175,101,193,144, 5, 71, 41, 0, 45,234, 0, 55, 92,220, 82, 38, 29, 0,224,242, 43,113,224,178,
+ 93,184,252,130,125,216,189,235, 60,180,119,207, 32, 72,133,188,149, 64, 35, 64,166, 9,140,214,200,164, 68, 57, 28, 98,105, 88,
+ 98,105,105,128,165,197, 62, 6, 11,139, 56,245,212, 81, 60,240,212, 19,248,220,157,159, 64,216,181, 27,232, 45, 64,216, 62,241,
+159, 36, 39,193, 53,212,246,126, 12,172, 10,220, 21,170,237,169,174,190,178, 44, 96,113,191, 99, 87,144, 9,114,136,113,211,251,
+114,149,166,226,128, 98,228,123,180,110,248,154, 98, 47,215,217,173,176, 44,128,197, 57,206,135, 15,244, 28,245,106,120,102,162,
+187,217,154,231, 29, 85,101,199, 72, 91, 99, 55, 69,167,153,225,115,241, 29,167, 89, 11, 91,142,209,112,127, 6, 59,113, 62,180,
+133, 40, 10, 20, 58,193, 92,111, 10,121,218, 70, 42, 91, 80, 90, 32,216, 2,153, 84,216, 51,179, 3, 30, 30, 51,137,196,233,222,
+ 9,244,237, 28,190,112,231,221, 85, 85,221,138,252,175,188, 79,226,126,134,173, 2,231, 70,194, 11,198, 43,210,141,206, 26, 11,
+ 66, 18, 92,223,130,199, 27,175, 56, 4,119,210, 66,173,210,218, 38, 49, 24,208,107, 43,161, 57,234, 92,129,220,163, 57, 19,139,
+ 52,229, 88, 16,238,236,167, 64,153, 27,113,189,235,139,223, 54,220,191,128,203,115,219, 90,159,134, 0, 96,177,168,252,196, 75,
+220,192, 37,214,116,176, 19,238, 39,139,170,154,165,176, 53, 13,152,203, 27, 27, 91,149,130, 5,187,196,236, 38,186, 13,234,218,
+222,140, 5, 6, 98,230, 67, 61, 3,162,240, 85, 79,119,205,189,225,203, 33,231,134,199,231, 2,209,199,184,255, 67,109,191,104,
+189, 62, 58, 63,249,118,201, 65,130,182, 22, 16, 43,226,245,121, 31, 42, 93,197, 47,196,150,228, 19,117,254, 5,246,188, 38,108,
+217, 38,105, 27, 74,137,104,117,144,236,154,198,121,217, 52,242, 52,129,145, 6, 10, 64,170, 18,104, 67, 62, 23,173, 12, 82,149,
+ 32,225, 46,107,153, 78, 32,133,131,230, 20, 51, 37, 2,172,245,112,142, 76,233,193, 59,104, 0,169,176,112, 90, 99, 56,164, 86,
+161, 54, 0,131,194,162,103, 75,148, 46,192,122,135,158, 29, 2, 66, 34, 56, 7, 27, 44,140, 50, 40, 93,229,119, 28,148, 14,198,
+ 8,204,245,151, 0, 33,112,188, 63,128, 91, 90, 36,255,202,176,199, 11, 91, 80, 16, 82,105,207, 77,244,240,134,205,238,168, 76,
+ 94,145,144, 10, 49,206,204, 5,170,195,160,147,170,185,142,228,180,189,232,211, 44,107, 41,120,131, 33, 29,190,222, 18,109,210,
+222, 96,107,159,123,106,150, 2,127, 98,106,202,137,211,192,112,105,211,130, 78, 93, 43, 75, 95,242, 34,124,215, 43, 95,138, 11,
+ 47,223,143,217,217, 22, 10, 33, 96, 2,176, 35, 85, 88,130,132, 81, 18,137, 54,232, 21, 5, 10,206,156, 8,182, 24,149,128,245,
+222, 67,115, 52,110,139, 9,252,176,180,176, 46,224,171, 71, 79,227,200,103, 63,143, 15,220,125, 31,240,224, 17, 4,149, 2, 51,
+ 93,210, 34,132,172,122, 31,107,110,180, 48, 55, 79,135,222,121, 46, 11, 59,172, 24,133,224, 88,138,158,173,180,121,189, 12, 17,
+168, 87,223, 27, 99,228, 24, 47, 81,186,158,152,132, 52, 33, 45, 75,103,212,238,181,158,166,153,178, 86, 6, 80,179,160,114,157,
+185,180,117,157,192,212, 5,142,132,153, 89,204, 26,224, 50,205, 97,125,109, 47, 71,110, 86,173, 33,166,119, 66,236,189, 4,151,
+159,191, 11, 59,179,105, 76,183, 58,164, 40, 74,141,139,206,111, 99,207,238, 41, 76, 79,105,124,245,196, 0, 15,125,233,126,124,
+242,225, 47,224,201,143,127,102,148, 6, 29,106, 63,235,175,149,152, 61,213,176,151, 85,190,117, 61, 7, 28, 53, 38,175,184, 7,
+ 69,212,146,108,237,106,209,116, 26,153, 82,120, 6,196,140,212,215, 77, 74,218, 11,221,140, 54, 81, 82,211,176,235, 13,144, 44,
+184,194,153,156, 8,131,208,112,174,168,180,200,250,216, 35, 45,113,142, 44, 66,139,220,205,173,223, 39,173, 93,150,228, 51, 15,
+195, 51, 53,218,122,249,211,186,144, 6,216,113, 0, 0, 32, 0, 73, 68, 65, 84, 0,139,122,202,161,223, 56, 61,142,252, 41,182,
+151, 45, 49, 94, 43, 32, 90, 59, 39, 91,228,198,204,160,224,171,226,105,158,153,172,225,235,153, 90,163,169,222,160,170,123,176,
+217,120, 21,147,212,138, 75,213, 27,217,248,106,190, 99,138,118, 61,245,170, 54, 39, 91,163,169, 43,174,180,165,217,236, 62,213,
+193,108,154,195,104,133, 76,167, 72, 36, 7,171,169, 28,131,178,143,110,214,130,132, 68,146, 72,164, 58, 65,154, 26, 40, 37,224,
+172, 68,150,164, 8,193, 98, 88, 90,104, 37,161,133, 7,134, 67, 8, 37,144, 7, 18,137,212,192,162, 3,137, 69, 0, 93, 91,194,
+106,129,167,132,128,242, 1, 46,145, 8, 33, 33,215,152, 4,132, 80, 8,214, 66,139,170,213,170,225, 26,197,211,121, 27,189,178,
+143,118,106,176,132, 14,156, 92, 36,237,209,198,116, 38,253,204, 99,232,192,120,125,240, 51, 76,117,156, 6, 82,128, 2,170,130,
+ 39, 45, 44,101,223,160,228,239,229, 92, 72,162, 12,120,213, 85,251,241,137, 47, 28,225,198, 98,138, 3, 64, 98, 57,221, 45,126,
+238,193, 2,153, 53, 91, 41, 9, 16, 97,194,247, 23, 53,198,104,238, 28, 88,172, 84,200, 58, 18,255, 55,127,207, 91,240,194, 87,
+ 30,192,174,221, 51,152,205,115,216,178, 68,175, 40,209, 27, 20, 16, 74,194, 14, 45, 78, 23, 20,229,154, 40, 9,167, 4,148, 20,
+ 80, 16,112, 69, 9, 64,160, 95, 18, 3, 30,246, 11,244, 11,139,233,233, 22, 90,173, 4, 45,157,160,173, 37, 94,122,197, 62,188,
+241,234,139,240,198,111,250, 58, 60,122,114, 30,159,250,135,187,240, 63, 62,254,105, 98,226,129,245, 62,205, 53,178,157, 3,220,
+176, 98,110,145, 81,106, 77, 81,240,182,172, 74,108,214, 25,250,100, 46,171,101,237,177,206,192, 39,127,174, 23,121, 14,236,217,
+ 81, 77,220,241, 99,213,189,157, 7,230,251,216, 80,173,241,210,210,158, 26,249,194,107,227, 81, 53, 33, 81,216,241,158, 15, 27,
+221, 47, 39,158, 2,116, 23,253,221,187,176,100, 75,100,101,129, 52,105, 99,255,197,187,113,209,222, 54, 46,185,160,131, 68, 43,
+ 92,176,219,162,149,103, 80, 42,197,135, 30, 89, 4, 30,125,112,164,173,111,168,228,187,171, 89, 20,198,122, 88,212,153, 68, 70,
+204, 78,233,138,254, 97,192,140, 92,144,245, 73,213,253,109,207, 0, 26, 18, 45, 65, 74, 19,173,158,153,162,137,153,206,128,190,
+165,244, 94, 33, 33,181,132,105, 27, 4,142,179,233,232, 4, 82, 8,248, 16,144, 43,141,190,243,112,240, 48, 34, 67,233, 61, 20,
+103, 32,149,214,193,194,195,141, 10, 45,113, 0,167,209,196,236, 68, 78,130,228,128, 11, 58, 45,183, 31,202,149,172, 26,158,232,
+217,102,173,156,245,126,230,163, 66, 87,204, 20, 85,189,236,237,132,155, 52, 90, 51, 29,187, 75, 29,215,189,119,224,186, 32, 53,
+225, 79,112,151, 72, 55,209, 52,108,163,207, 27,226,254,139, 41,214,190,178, 8, 25, 0, 46, 33,255,254,232,128,177,130, 80,163,
+ 29,103,239, 83,215, 20,184,130,118, 14,180, 53, 48,179, 3,157, 60, 71, 91,165,232, 36, 25,100, 80, 80, 2, 48, 58,133,115, 67,
+180,211, 28, 74, 8, 36, 70, 33, 75, 82,164,121,134,196,208,198,161,121,160, 96, 8, 45, 61,130, 43,161,157,131, 48, 2, 29, 87,
+ 32,241, 14,137,247,112,174, 4, 66,137,204,121, 4,239,224,189, 69, 22,128,129,176, 84,117, 19, 64,225, 73, 62, 79,117, 2,129,
+ 0, 47,128, 84, 25,248, 16,160, 37,157, 56,163, 12,156, 35,159, 94,128, 64, 33, 20,249, 57,202,146,203,126,114,202,194,114,209,
+174,107, 5,157,108,119,240,215,168,186, 19,251,123, 37,119, 64, 26, 6,242,201,104, 54, 3, 26,174,170,231, 56, 31, 52,213, 64,
+170, 32,131,128,145, 26, 78, 6, 60,122,124, 14,111,126,245,245, 40,243, 33,230, 78,204,211, 70,178,150, 11, 88,184,179,219, 27,
+245, 84,160, 24,171, 80, 14,168,226, 90,191, 87, 5,224, 69,134,222,158,166, 42,131,105,139, 59,151,197,210,147, 45,110,208, 67,
+ 27, 55,189,250,133,248,190,239,126, 11,190,235,166,239,193,203, 15,188, 16,211,221, 54,180, 36,166,122,186, 95, 96,169,176,208,
+165,133,245, 30,169,243,120,252,196, 60,156, 23, 80, 70, 33, 88,135, 76, 27, 88,239, 49,149, 24,204,245, 10,164, 30, 72,148, 68,
+123,166, 3, 47, 4,164, 13,200,179, 4,157,118,142, 32, 4, 84, 16,176,165,133,128, 64,146, 37,184,238,192, 53,248,186,175, 63,
+128,125,187,166,241,240,201,163,232,159,236,209, 33, 95,232,147,191, 90,114, 81,141,216,235, 32,176,169,172,223,227, 52, 42, 81,
+ 69,219,151, 92, 3,115,185,148,190,216,183,187, 78,104,162, 86,161, 57,144,103, 61,105,151,173, 14,249, 77,181, 4,230, 22,104,
+222,181, 28, 55, 53,111,116,191,198,212,200, 24,244, 23,235, 90,199,234,106, 58, 84, 65,180,214,158, 89, 78,120, 13,235,203, 40,
+232,109,233, 36, 22,145,163, 61,211, 69, 75,165,216,217,157,193,215, 92,216,198,229, 23,239,128,145, 10,157, 86,138, 78,150, 64,
+ 36, 6,189,178,131,153,233, 93,120,176, 95, 34, 56,143,160, 13,194,249,251, 16, 46,216, 3,236,217, 75,193,144,171, 5,167,174,
+227,249,144,232, 42, 0,176,157, 98,223, 11, 46,193,252,177, 57, 14,174,170, 9, 92,214, 82, 96,152,125, 6, 48,244,200,116,102,
+218,180, 15, 90, 9, 55,200, 18, 72,186,109,164,105,130, 60, 33, 5,108,214,100,152, 54, 57,118,230,109, 36, 74, 97, 58,237,160,
+107,114,104, 41, 49,155,117,208,209, 25,218,105,134, 92, 25, 76,165, 45,180,141,198,180, 54, 72,181, 70, 43, 77, 97,125, 64, 80,
+ 26,193,212, 44, 77,136,133, 99,120, 47,216,114,237,249, 95,238,181,153,177,123,112, 69,182,216,203,157,179,125,130,175,250, 40,
+148,190, 58, 15,178, 86, 35, 34, 6, 28, 39,186,242,181,143,130,251,184, 10,166,224,130, 80, 37,151,181, 45,106, 41,103, 27, 85,
+ 10, 71,221,218, 98,156, 65,140, 97,137,149, 20, 45,231,252,151,213, 9, 9, 28,203,178,101,209,239,138,125,233, 83, 25, 96,218,
+ 72,167,167,176, 35,201,161,133,129, 81, 64,110, 50,164, 73,138,224, 45,140, 78,144,232, 12, 64,137, 86,218, 66,154,103,208, 34,
+ 64,170, 0, 33, 2,197,107,129, 34,181, 69, 8, 16, 92, 79,184, 35, 45,108, 0,210,224, 96,157, 67, 34, 5,242,210,162,112, 5,
+116,172,168, 6,139,196,121,244, 80, 98, 80, 82, 62,163,210, 9,156, 45, 96,116,194, 38,252, 0,165, 53,164, 15, 48, 74,161,240,
+ 1, 90, 8, 24, 24, 20,176, 16, 82,160, 28,198, 98, 25,174,146,186,214, 27,120,162,107,121,140,114,139,234,153, 27,206,247, 84,
+ 19, 68, 55, 54,100,168,219,159,173,162, 96,148,152,199,108,248, 25,114, 14, 12,145, 18, 48, 10,137,210, 20,179, 0, 64, 10,129,
+ 32,129, 47,127,245, 97,204,205, 47, 49,243,103,109,127,104, 89, 82, 93,157,177,167, 47,191, 22,238,212,169,202,124, 86,214, 44,
+ 9,245,249,136,105, 67,101, 57,158,138, 17,209,153,229,142,125,117, 19,148,164, 74,132,211, 93, 96,122, 10, 47,122,249, 53,184,
+241,187,223,138,239,249,174,215,227, 37, 87,237,199,190,110, 27,139, 46,160, 37, 4,130, 15, 24,148, 22, 67,235, 96,135, 22,139,
+ 3,139, 97,127,136,194, 5,180, 90, 57,102,167, 91,112,150, 52, 14, 93,150, 72, 76, 2, 39,128,254,176,128,148, 10,221,196, 64,
+ 6,129,118,158,227,210, 29,211,104, 75,133, 2, 2, 83,153, 65, 30, 4,230,188,195,233,162,192,210, 82, 15, 39, 7,125,188,237,
+199,126, 9,223,247,147,223,139, 87, 92,123, 13,186,193,227,254,207,124,153, 36,250,165,211,212,108,168, 44,137,121, 42, 93, 69,
+175, 71,255,123, 76,157, 26,153,233, 86,107,111, 43,170, 6, 27, 35,135,112, 45, 53, 80,202,181,247,154,229,146,154,243, 92,118,
+213,139,101, 58,140,201,241,168,218,205,150, 51,117,174,202, 33,118, 27, 79, 59, 58,131,169,107, 13, 49,127, 12,243, 34, 71,123,
+170,133,169, 36,199,243,206,159,198, 84, 59,193,244, 84,134, 32, 20,180, 81,200,140,134,208, 10, 58,107, 97,110,161,192,241,249,
+ 5,132, 52,197,215, 29,184, 12,215,126,205,126, 92,188,179, 11,209,206,112,226,244,252,217,165,243, 1, 68, 88,133, 64,114,241,
+ 5,216, 59, 53,139,227,115,115, 19,174, 42,206,189,198, 51,160,167,129,226,134, 89,221,156,220, 44,237,156,203,118, 27,164,105,
+138,221, 89, 11,185,210,152, 77,186,152,201, 58,104, 39, 45,236,200,167, 97,164, 70, 55,233, 80, 77, 16,165,145, 40,131, 84, 39,
+ 80, 82, 32,145, 18, 25,167,121,182, 76,130, 34, 0,185, 73,209, 50, 25,114, 45,209, 54, 26, 66,105, 40,163, 81,218,192,101,132,
+201, 50, 72, 76,239, 28,149,132,150, 53,215,137, 8,128,206, 41,138,222, 58, 78, 19,100, 41, 57,186,205,192,129,169,165,173,206,
+156,228,134, 74,138,207, 17,184, 76,119, 44, 30, 21,107,119,184,130, 92, 25,145, 17, 59,191,241, 51, 20,121,200,168,153, 78,160,
+116, 63, 97,185,200, 21,107,241,177, 65, 89, 96,103,126, 8, 20, 0,232,237, 89, 50,117,173, 73, 59,108,229,164, 89, 77,181, 49,
+157,102,152, 78,219,208, 74, 66, 10, 32, 81, 26,214, 89,116,210, 46,188,119, 80, 10,152,106, 77, 35, 73, 21, 50, 99, 32,132,135,
+ 18, 20,196, 21, 64,233,109, 74, 10, 88, 91, 82,219,116, 9,104,231,144,115,161,142,196,123, 40,231, 49, 12,142,252,159,222, 66,
+120, 65,193,119,222,195,133,152,173, 16,224,189, 67, 16, 26,130,163,180,165, 16, 80, 66, 64, 10, 9, 15,138, 34,148, 66,192, 33,
+160,165, 19,244,157, 69, 16, 18, 46,148, 44, 40,176,100, 22, 56,204,119,173,195, 89,247, 7,249, 45,170,103,222,105, 19, 83, 83,
+226,204,136,252,232, 48,140,154,156,229,102, 8, 14, 85,148,116, 44,138,144,155,209, 6,117, 66,192, 40,201, 21, 60, 5, 66, 16,
+ 72,210,148, 2,128, 53, 71,238,198, 90,195, 67,187, 70, 81, 24, 13,119,234, 4, 17, 57,203,117,246,235, 13, 71,226, 28,198,130,
+ 51, 43,205, 73, 43, 35,109, 60, 75, 43, 38,100,200, 84,184,235,162, 61,232, 25,131,239,127,195,155,241,154,131, 47,199,133, 23,
+238,134,181, 1,137, 45,113,186, 95,224,177, 19,115,120,234,212, 34, 78,205,247,113,106,110, 17,110, 88,114,141,131,128,211,167,
+230, 81, 14, 75,244, 22,250, 88, 90,234,195, 46,245,176, 48,116, 40, 29, 96, 18,131,197,133, 1,188,243,112, 11, 75,152, 31, 20,
+152, 31, 20, 40,157, 69,191, 44,112,122, 48,196,209,165, 30, 22, 6, 67, 28,239,245,240,212,194, 18, 22,251, 67, 12, 6, 5,190,
+242,200, 28,238,253,220,231,240,215, 31,254, 27,124,195, 55,126, 3, 46,191,106, 63, 46,127,254, 37,184,255,232, 49, 12,231,230,
+184,108, 40,103, 33, 36,154,155,190,248, 42,168,170,180,220,184, 98, 29,146,252,168, 28,233, 4, 99,175,207,243, 90, 81,235,158,
+250, 3,252,255,212,189, 89,175,165,217,121,223,247, 91,227, 59,236,225, 76, 85,213, 85,213, 35,217, 77,138,162, 72,145, 14,101,
+201, 84, 36, 69, 52, 36, 68,146, 45, 89,138,146, 72,182,128, 36,178,157,139, 36,128,131, 0,185,200,167,200,125,130, 92,229, 19,
+228,194,128, 1, 33,130,156,196,144, 5, 77, 16, 35,155,180, 40,138, 17,201,158,187,171,206,176,167,247, 93, 99, 46,214,122,207,
+222, 85,221, 93,221, 93, 85,164,232, 13,116,215,116,234,212, 57,239, 94,107, 61,235,249, 63,255, 97,202,105,190,134,237, 30, 30,
+163, 77,159, 79, 30, 48,238, 31,231,245,216,133, 76, 35,234, 41,120, 93,212,165, 44, 63,250, 53,231, 88,142,231, 75, 12, 45, 55,
+ 78, 58,132, 80,244,157,198, 85, 2,251,224, 64, 41,193,229,229,142,111, 94, 93,112,231,153, 57, 47,156,158,210,216,150, 59,207,
+220,226,246,233, 13,210, 92,241,214, 59,231,143, 95,216,175,187,198, 76,124,231,138,243,222,146,191,243,106,189,252, 79,142,122,
+ 85,159, 45,197,223, 92,166,129,166, 16,126, 59, 3,167,179,170, 78,106,192, 42,230,139, 25,115,221,114,214,244,180,182,101,217,
+ 46,232,181,165, 55, 29,125,211,131,144,244,166,197, 40, 77,202,137,222,116, 52,198, 98,148, 70, 73,137, 20, 26, 37, 21,173,105,
+ 32,103,150,237,156, 86, 53, 12,209,177,108, 58,230,182,165,211, 22,131,132, 70, 50,230,234,217, 64,220,135,191,124,175, 47, 59,
+ 83,164, 43,236,173,158,135,109,229, 17,168,253, 62, 74,113, 79,130, 27,199,242,224,114,133,197,242, 52, 94, 43, 99,224,194, 59,
+ 16,123,153,166,115,251, 44,121,204, 1,115,126,178, 26,142, 31,127,109, 73,117,144,199, 46, 15,172,113, 15,228,149, 19, 74, 48,
+133,233,152,138,134,196,248,132, 69, 93, 85,194, 69,223,194,124,129,109,123, 90, 85,230,227,173,214,244,182,131,148,232,154,150,
+144, 35,139,182, 69, 43,141,181,170,214,161, 88,116,227,120,148,200, 8,161, 16, 49, 66,244, 88,107,209, 49, 96,115, 68, 74,133,
+ 26, 29, 34,102, 68, 76,200,148,138, 65, 13, 18,153, 33, 9, 65,139,192,147,174, 27,152, 84,187, 25,173, 12,141,212, 8, 33,105,
+149,193, 87,196, 64, 0, 62, 39,172, 50,196, 28,112, 62,178,176, 13,187,232,113, 76, 27,113,178, 58,172,249,213, 31,118,187, 20,
+ 7,214,167, 79, 75, 22,215,117, 5, 9,201,234,189, 5,118,234,226,174,173, 42,171, 87,253,181,100,164,218, 51,118, 53, 4, 64,
+234,122,115, 21,104,163,138, 60, 29, 48, 82,161,181,194,133, 88,173, 79,171, 6, 52,139,162, 25,125,212,248, 65,203, 34,245,154,
+ 24,165, 74,236, 3, 47, 14,195, 31,166,185,147,200,239,223, 85,154,106,188, 32, 4, 88,203,231,191,240, 89,126,250, 71, 94,230,
+159,252,151,191,202,223,255,202,151,249,212, 39, 95,225,159,255,235,127,201, 43,207,127,146,182, 51, 92,109,183,188,123,185,229,
+237,203, 45,126,181,101,179, 25,136, 49,193,206,115,113,239,138,203,149,195,111, 3,195,106,195,226,248, 6,166,233, 89,159,175,
+ 24, 99, 34,141, 25,219,247, 40,165,121,245,219,111,240,206, 91,247,216, 93, 94,241,238,189,251,140,227,136,219, 6,222,124,231,
+156, 55,222,190,199,110, 53,178,189, 88,115,117,181,101,187,218,178,186, 92,225,199,196,255,246,191,252,239,165,198,238, 60,159,
+249,194,223,162,233, 37,203,227, 57,127,235,179,159,194, 37,207,107, 95,251,102,121,175,142, 22,181,216,214,131, 76, 30,132,140,
+184,240,160,245,228,135, 65,114,248,114, 72,136, 3,228,227,129,121,220,199, 41,166, 15,217,182, 10,234,184,169, 22,243, 28, 15,
+ 72,122,223,207, 78, 51, 61,216,169,107,189,151,169,165,136,216, 57,118, 77,203,172, 49,164,220,112,181,139, 88, 45, 81, 82,113,
+111,200, 24, 37,240, 62,112,185, 9,124,245,219,175,242,236,145,226,206,242,152,110,185,224,232,120, 65,211, 24,206,102,115,222,
+ 22, 35, 87,111,220,127,252,142,113,114, 81,243,142,124,255, 98,127, 89, 74, 21,165,176, 7,177,185,153,167,255, 12,167,209,150,
+209,251, 16,151,201, 3,220,244,245,223,111, 11,121,121, 94,213, 26,139, 14,180,164,209, 45,167, 77,203, 51,253, 49,203,238,136,
+153,233, 56,153, 29, 99,164,162,181, 51,148,208,244,186, 69,203, 50, 91,159, 53,165,179, 23, 73,160,148, 70,203, 98, 0,102,165,
+162,211, 13, 90,107,122,221,163,180,230,180, 61, 42,205,147,212, 8, 4,189,177,232, 36, 9, 42, 49,162,246, 55,181,244,125, 40,
+236,147, 99,160, 81, 7, 17,174,213, 95, 34,196,125, 76,174, 86,133,247, 33,216,123,209, 91,189,151,185,169,170,163,215,106,159,
+214,168,170, 35,169,169, 35,176, 92, 27, 41, 23,246,223,223,227,162,181, 82, 84,137,117,172, 30, 36,213,128,102,242,190,135,194,
+ 79, 48,146,235, 67,252, 0,245,123,178,162,110,171, 15,173,109, 97,121, 68, 99, 13,167, 93,135, 17, 10, 37, 37, 70,106,180,210,
+228,156,105,180,194, 84,200,202, 72,137,212, 10, 69,164,209, 18, 5,152, 4, 70, 73,148,200,104, 4, 50, 70, 98,206, 68, 63, 34,
+ 83,198,198, 84,237, 33, 51, 58, 37,154, 92,228,175, 1,129, 65,224, 99, 64, 11,137, 65,178,145, 2, 41, 37, 93, 83, 24,170,141,
+178, 52, 90, 97,109, 71,171, 45, 41, 7,180, 54, 24, 33,217, 69, 95,141,110,202,215,185, 9,158, 44, 4, 49, 30, 6,166, 76, 15,
+244, 67,130, 90,230, 51,232,151, 37,172,198,213,226,250,164, 16,188,172,139, 39,248,247,122,124, 79, 93,220,212,145, 95,187, 98,
+ 29, 26, 22,136,122,131, 84,133, 1,111, 5,141,181,132,152, 17, 72, 4, 2, 41, 96, 8,161,106,217,107, 23, 57, 49,180,169,112,
+241, 7,117,235,114,210, 63,203,125,242, 82, 22,251, 27,249,225,247, 33, 14,139,124,124, 47, 73, 70, 73,154, 79, 62,207,111,253,
+252,127,200,207,124,229, 75,124,246, 71, 63, 69, 99, 53, 43, 23,136,110,228, 19,207,188,192,239,255,225,159,240,226,179,183,217,
+109, 3,235,171, 45,171,171, 43,214, 23, 87,172,214,107,194,198,147,145,108, 86,107,118,155, 45, 18,133,146, 13,198,118, 28,205,
+ 23, 72,105,202,179, 8, 96,173, 37, 68,137,214, 13, 82, 25, 98, 16,196, 24,105,250, 5,218,182,220,127,251,109,182,155, 53,227,
+118,195,119,222,120,157,113,179, 97,187, 90,115,113,255, 62,227,176,227,107, 95,255, 43,126,245, 63,249, 13,254,221, 87,255,140,
+ 63,254,163, 63,226, 19, 47, 61,207,118,181,197,246, 45,159,249,236,167,232,143,150,124,243,254, 5,108, 15, 66, 39,166, 27,248,
+ 4,249,153,154, 57, 16,252, 71, 43, 34,135,249, 2,211,129,117, 72,240,122, 28, 75,227, 67,251,217, 9, 98,156,230,144, 31,228,
+ 61,240,180,114, 11, 30, 9,191,107,132,150, 15,232,206,203,254,119,184, 97, 71,238,103, 56, 23,185, 90,101,118, 14,130, 20,215,
+145, 5,231, 91,207,235,175, 95,112,255,254, 59, 12,126,199,243,103,183,184,243,236, 45, 82, 74,184,224,112,110, 96,166, 52,127,
+121,255, 10,174, 86, 79,167,120, 60,188, 39,174,121, 20, 60,221,226,213,183,229,243, 47,142,203,251,117,116, 90,201,111, 51,184,
+253, 12,156,157, 21,147,161,163,101, 41,226,203,234, 7,223, 22, 34,220,141,217,130, 59,139, 37,203,118,201,162, 91,208,105,203,
+178, 93,160,132,196, 40, 67,111,122,180,212,100, 18, 74,234, 18,164,149, 5, 70,153,122,102, 75,140,178, 40,161, 48,186,197,167,
+192,162,153,209,180, 29,173,105,139, 97,101,202,104,109,104,109, 91, 1, 37, 65,175, 44, 86,103,182, 89,145,235, 94,191, 30,195,
+125,175, 94,125, 91, 57, 59, 21, 29,155, 28, 3, 83, 44,197,219,202,189,183,194,228, 27, 34,168,126, 3,149,221,174,204, 62,114,
+ 54, 23,120, 27, 87, 25,253,147, 68, 47,198,125,231, 31,211, 62,145,116,202,139,143,177,134,155,241,209,160,248, 73, 34, 60,241,
+ 54, 68,174,193,104,114,111, 46,150,170,181,177, 60,216, 32, 79, 60, 83, 55,186, 22,137,182, 46, 26,203,173,126,137,200, 18,173,
+ 21, 51,211,225, 98,196,106,141, 68,162,133, 64,107,115,173,249, 47,158, 5,138,150,128, 17, 5,114,215,201,163,132, 66, 40,208,
+209, 49,134, 84,102,241,131, 67,121, 7,174, 16,154, 92,240,216, 84, 66, 28, 76, 40,100,185,136, 64, 86,110, 88, 6,180,182, 72,
+173, 17, 82,163,165,164,237,218,194,184,111, 13, 50,107, 20, 2, 33, 50, 90,154,242,177, 64,204,137,153,177, 92,142, 59, 98,168,
+115,151, 88,175,112,206,191,127,192,253,225,107,113, 82, 28,151, 76,117, 45, 10,225,201,225, 55, 31,202,194,252, 32,147,150,247,
+ 36, 70,213, 27,176,152,136, 41,213, 53,174, 47, 68, 51, 89, 9, 98, 5,177, 17,244,214,178,157,146,127, 66,222, 91,155, 78, 69,
+ 60,171,154,158,244,136,220, 98, 43, 15,228, 75,105, 47,231, 57, 36,119, 29, 90,133,190,207, 33,247,236, 79,253, 56,191,244,243,
+ 63,205,127,252,149, 47,115,124,251, 20,173, 52, 62, 70,222,190,191,226,106,189, 67,187,192,110, 28,121,241,238, 29, 82,148,228,
+ 0, 42,105,136, 18,163,151, 24,213,113,122,251, 46,253,108,142, 53, 11,158,123,225, 37,186,249, 17, 93,219,161,181,197,197,145,
+101,219,210,216,150,147, 27,199,220,185,121,140,182,134,229,124,206,217,141, 19, 78,206, 78,232,102, 75,186,121,203, 75, 47,220,
+ 70, 53,115,220,214,177,217,238,208,210,178,243, 37, 14,116,189,219, 17,131,231,199,190,248, 89,180,142, 60,255,169, 23,249,194,
+ 23, 62, 13, 73,112,121,113,206,230, 98,133,178, 45,207,125,242, 5,238,206,123,254,237,159,254,121,217, 39, 20,130, 98,185, 81,
+ 15,229,178, 55, 62,225,108, 49, 31,204,203,159,212,189, 76, 86,167,143,107,187, 3,177,119,236,154,210, 22,167,206, 48,231,239,
+ 77, 7, 95,187, 79, 33,229,251,178,251,133,146,101, 31,134,145,171,203,115, 94,195, 51,134,129,232, 10,169,209,197,200,232, 18,
+175,189,181, 98,189, 26, 73,110,197,189,237, 37,103,179, 25, 70, 25,150,199, 51, 46,206, 47,217, 12,107, 98, 12,252,197, 95,124,
+183, 72, 55,159, 58,216,144, 14,230,156,226,201,231,247,211,179, 49, 61, 44, 79,232,111,158,225,219, 22,110, 28,151, 98,189,152,
+195,141, 83, 88, 44,225,228,102, 65,247, 78, 78,145,203, 37,207,158,157,241,204, 98, 65,167, 37, 55,250, 57, 71,109, 79,163, 44,
+ 55,103,199, 72, 4,139,110, 9, 66, 32,208,116, 77, 15, 57,163,181, 68, 25,131,210, 10,211, 40, 76,211,144, 66, 68,106, 73,219,
+ 53, 4, 31,177, 74,145, 50,116,218,148,130,222,119, 36, 95, 81, 10,153, 17, 41,227,130, 43, 57, 30,169,228,114, 52,186,101, 23,
+ 29,163,172,233,144,168,247,111, 84,158, 22,244, 62, 21,236,107,219, 87, 81,214,181,119,101,198,191, 29,202,243,155,144,179,209,
+149, 34, 46, 83, 57,191, 91,187,175,194,177,186,225,217,202, 25, 50,125, 81,127,184, 80,205,129,194,254, 74, 58, 65,226, 19,146,
+ 38, 68,205,136,248, 24,151,225,233, 60, 23, 7, 17,183, 83,108,173, 47, 40,247, 3, 72,221,193, 26,123,252,162,174,116,121, 48,
+ 71, 61,204,143, 88,206,103,197,214, 85, 40,230,141, 37,198, 72,111,139, 65,135, 86, 10, 37, 4, 90,107,140, 84, 24, 35,145, 57,
+210,202,132,170, 51,111, 43, 51, 17,129, 16, 9,225, 67,209,219,239,182,164,209, 49,250, 1,181,115,164, 24, 81, 62,176,168,218,
+ 69, 19, 83, 33,211,145,145, 66,225,144, 8, 20,201, 88,178,148,196,156, 48,141, 69,169,210,169,182,125,139,214, 10, 35, 13, 34,
+231, 50, 75,182,150,144,139,148, 66,107,195, 24, 28, 33, 69,118,185,186,126,185,106,197, 41,100,121,152,143,154, 47,247,243,125,
+134,245,118, 91,160, 82, 45,159,112,198,200, 71, 95, 4,147, 79,242,244,163,168,173,243,236,164,228, 33,207,123,178,216,123,180,
+199,148, 24,199,128,146,150, 60,214, 46,111,234,214,199,218, 13, 90, 9, 27, 87, 36, 28,143, 42, 46, 42,215,220,100, 81, 46, 1,
+211,191,115,109,111,124, 16,105,121,120,200,125,238, 11,252, 23,191,241,203,252,204, 87,126,130,126,185,192,121,143,243, 17,231,
+ 60, 23,247,175,184,186,119,137,219, 5,118,187,128,209,134, 97,231,217, 92,174,105,237, 12,107, 91, 78,206, 78,185,253,204, 41,
+207, 62,123,131,227,101, 79,223,181,156,157, 30,209,180,150, 89,215,114,227,198, 49,243,229, 12,221, 54, 44,143, 22,204,250,150,
+166, 85,244,125,195,115,103,115, 60, 18,163, 52,125,219,112,251,198,146,101, 59,195,199,204,243,183,142,121,225,133,187,220,123,
+103, 68, 36,193,201,226,148,179, 27,119,184,188,186,207, 59,235, 13,110,116, 44,151, 75, 86,171, 11,134,209, 49,155,205, 32, 11,
+ 86,235, 13,113, 28,145, 82,241,210,167, 63, 65,219, 89,190,249,245,111,212,141,239,247, 35,147,137, 72,248, 36,235,226,208,223,
+253, 73,215,215,100,243, 58,133,154,240,144,111,252,196,149,184,134, 36,229,211, 33,130,190, 31,234,244,126,100,185,131,143, 17,
+ 57, 67,242,228,119,207,185, 60,191,226,117, 55,242,206,249, 37,140,150,139, 11,199,229,249, 21,227,120,133, 22,153,222, 24,214,
+195,192,189,203,203, 18,111,224, 71, 82, 30,249, 63,254,252,235,228, 55,239,125,112,172,242, 19, 23,246, 10,197, 63,141, 78,180,
+111,203,136,235,229,231, 65,105,210,201, 49,185, 81,208,245,229,178, 62,155, 21,255, 7, 91, 83, 49,151,199, 60,183, 56,225,133,
+197, 49,187, 80, 72,201,119,251, 37,119, 23,167,144, 21, 39,179, 19, 0,206,102,167,136, 44,233,219, 25,182,111,216, 14, 27, 22,
+199, 75, 80, 10,171, 45,109,107,201, 66, 33, 99,198,244,197,111, 68, 8,129,170,190, 33,182,209,116,179, 57, 57,229,154,178, 43,
+ 73, 41,149,166, 33, 69,180,212, 4, 18, 70, 27, 98,136,236,188,167,215,150, 44, 5,187, 84, 27,166, 41,161,240,105,159,143,241,
+161,162,151, 38, 43,237, 84, 10,121,172,161, 77,219, 97, 79, 94,157,230,229,136,253,185, 29, 15, 18, 42,167,188,120, 33,246,190,
+ 12,178,169,112,125, 85, 24,201,131, 70, 38,214, 17,166,146,123,247,184,143,179,183,205,228,172, 55,133,143,229, 3,203,101,181,
+ 15,221,114, 15, 34,116,143, 87,212,117, 77,151,233, 42,137,171, 43,190,215,183,154, 25,141, 86,164, 84, 34, 79,203,108, 69, 34,
+165,196, 42,131, 18,178,160,186,201, 51, 83, 2,171, 36, 86, 22, 35,215, 32, 5, 45, 16, 93, 33, 42,177, 25,112,110,100,187,219,
+ 18, 71,143,242,129,185,139,100, 33, 8, 46,211,139,253,244, 77, 10, 67, 20, 18, 33, 53,209, 90,132,182, 72,221,208,216,134, 36,
+ 20,166,181, 24, 85, 50,150,149,210, 8, 5, 50,171,218, 13, 58,164,208,248, 88,194, 32,124, 12,228, 12, 67,240,196,213,102, 47,
+ 33, 10, 97,127,107,123,212,124, 57,228,210, 89,239, 66,145,244, 76, 11, 74,126,143, 10,251, 52, 91, 59,156,189, 78,133, 61,213,
+188,120, 97, 75,172,226,102, 87, 96,248, 41, 87,184, 46,178,236,253,126, 33, 6, 95, 55, 89,173,214, 62, 21,199,183, 71, 29,224,
+211,124, 49,186,210,221, 77,112,243, 52,251, 61,244,255,158, 66, 24, 62,245, 57,126,253, 87,190,194, 47,255,226,207,240,220, 43,
+119, 73, 33, 97, 26, 69, 74, 2,183, 26,217, 94,109,217, 94,108, 8, 33,145,178, 68,209,208,181,115,102,253,146,103,158,185, 69,
+107, 27,148, 52,244,139,142, 69,219,209,181,134, 70, 25,206,142,103,220, 60,233,121,241,108,198,173,147,158,190, 85,204, 91,201,
+173,163,150,121,219, 48,159,181,196, 44,232,117, 25, 17,205,172, 34,132,132, 16, 18,171, 20,243, 89, 67,107, 13,202,104,110, 46,
+ 58, 62,249,210, 29,206,135, 68, 51, 91,240, 35, 63,244, 50,219,171,128, 74,158,191,190,119,159,133, 49,204,218,142,221,176, 67,
+ 37,201,108, 62, 71,105, 93,247, 90, 66, 54,150, 23, 63,245, 18, 9,193,119,190,241, 87,213, 86, 50, 87,253,122, 53, 56,250, 65,
+121, 29,242, 51,200,251, 98,212,204, 75, 39,104,186,253, 40, 74, 60, 20, 68,241, 52,214,245, 67,190, 11, 31,106,245, 58,113, 52,
+142,230,132,113,203, 16, 70, 98, 26, 9,126,133,206,146,171,225, 62, 34,134, 2,185,103,135, 79, 9,231, 6,190,254,250,119,249,
+ 55,111,191,201,230, 91,247,224,242,252,233,146,210,228, 83, 30, 75, 52,182,140,182,142,142,225,249,103,160,237,120,246,238, 93,
+152,117, 4,221, 34,102, 11,178, 52,165,144, 43, 1,205, 81, 57, 15,155, 5,167,182, 65,234,150,147,217, 17,183,250, 30,135,161,
+ 21,154,174,105,176,202, 50,107, 58,180,212,232,166, 67, 55, 10, 25, 5,203,147, 35,226,224,104,154,166, 20,110, 18, 70, 20, 8,
+ 62, 19, 80, 20,254,147,212,178, 4,107, 41, 10,177,217,104, 16,145,228, 35,155,113, 75, 14,129, 32, 18, 42, 75, 92,116,197,206,
+ 59,102,124,114,168,154,131, 30,181,192,249,186,158,198,167,200,134,159,210,207, 38, 98,170,213,251,117,173,196, 94,213,100,212,
+ 30,113,158,136,188,215,166, 57,105,207,121, 17,178,156,159,147,183,123,206, 5,158,143, 53, 54, 86, 86,200,126, 24,203, 30,137,
+190,120,225, 7, 95, 57, 70,149, 91,165,244,199,191, 4, 79, 35,182,148,246, 36,217,107, 53, 76,222,171, 96, 30,122,118,143, 87,
+212,167,194, 97,139, 55,240,252,236,132, 83, 59, 35,103,129, 84,146, 70,119, 24, 89,188,217, 5,146, 70,149, 25,186, 36,161,100,
+198, 2, 70,100, 90,163,201, 34,161, 82, 66,229,140, 27, 7,164,143,228,209,179, 27, 7,196, 48, 96,119, 1,231, 10,244,174,146,
+ 64,103,232,180, 66, 43,131, 82,154,166,159,163,219, 30,154, 30,219,206, 80, 77,139,210, 6,217, 54, 8,107, 16,170, 28,222,212,
+ 57,187,136,197, 59, 62,196, 2, 9,133,156,137, 41, 33, 37, 92, 13,107,148,210,132, 16, 56, 31, 6,178,168, 93,167,243, 92,167,
+ 2, 61,106, 62, 22, 83,185,249,143,110, 95,208, 15, 33,104, 25,247, 48,230,211,218,252,211,141, 78,214, 64,137,201,207,123, 90,
+176,153, 98,107,170, 39,248,169,118, 91,177,194, 66, 62,148, 13,144,235,101, 68,169, 26,180, 80, 25,150,155,243, 42,135, 10,143,
+247,181, 77, 48,243, 4, 35, 29,189,200, 47,252,202, 79,243, 15,126,249,103,121,233, 51,159,192, 54,138,237,214,177, 27, 60,227,
+214, 51,108, 71,220, 48, 18,156,199, 59,143, 18,150,229,226,132,179,179, 19,102,125, 75,223,155, 26,234,163,176,157,162,177,138,
+ 89,103, 88, 54,134,219, 39, 45, 39,139,158,190,105,144,170, 32, 38,157,149, 44, 91,141,150, 2, 37, 10,145, 42, 35,171,202,162,
+ 32, 8, 82,194,141,133,165,111, 20,189,213,228,148,139,188, 13, 73,215,104,158,187,125, 66,210,154,148, 51,139,229, 49,199,167,
+183,136,235,129,111,191,243, 22, 86, 75,164, 84,188,179, 94,209, 40,193, 48, 14,228, 24,177,218,144,147, 68,104,205, 75,159,124,
+129,115, 63,240,206,119, 94, 43, 93,194,118, 34,211, 72, 30,116,188,248, 1, 40,236,135, 23, 67, 83,209,184,190,169, 7,159, 46,
+107, 68,240,224,200,231, 73,215,242, 7,196,179,126, 96,178,218,100,137,125,243, 6,159,249,212, 43,124,254,149, 31, 98,217, 88,
+132,202, 92,172, 46, 25,253,150,139,221,134,215, 46,239,145,200, 24,101, 24, 82,224,171,175,191,205,155, 95,255, 14,187,111,125,
+ 7,214,171,167, 88,208,167,129, 41, 79,199,163, 98,130,218,103,115,184,123, 11,158,191, 13, 55,110,243,195, 55,158,229,164,233,
+ 72, 8, 62, 57, 63, 98,200,176, 52, 13, 27,219, 86, 6,182, 0, 59,227,110, 55, 99,214, 20,227, 36,163, 53, 74,104, 22, 77,139,
+233,122, 22,182,135, 20,176,218, 34,164,161,237,117, 33,189,117,109, 49, 8,155,119, 53,147, 71,163,107,231, 77, 74, 72, 36, 89,
+ 56,132,148,165, 54,250, 34,215,146,178, 36, 18,134, 24,137, 68,164,128,221,232, 17, 66, 34, 73,228, 36, 24,115,153, 1,207,187,
+ 25, 91, 55,208, 54, 13, 90, 40,118, 58, 19, 69, 77,134, 20, 21, 9, 18,117,205, 61, 14,194,209,216,154, 36, 57,117,205,181,169,
+240,149,196, 54, 89, 11, 78,222, 15,177,234,208,243, 4,207,219,189, 29,110,136,181,121,173, 99, 40, 37,106,167, 47,170,172,172,
+ 6,206,104, 85,246, 68,223, 22,102,189,209,133,100, 42,171,213,110, 62,200, 13,120,156,189,114,120,129,158,198,151,249,176, 99,
+127,239,231,124, 60, 71,185,201, 54,112,110, 97, 54,199,231,140,173,118,121, 11, 91,102,233,160, 80,178,204,174, 11,153, 60,160,
+149, 32,197, 68,223,154,226,176, 56, 56,176,170,100,159,123,200, 33,226,134, 1,225, 60,202,143,196,171, 13, 73,104,244, 54, 16,
+ 20, 12, 10, 90,161,217, 24,133, 54, 22,213,119, 68,221,210, 88,131, 64, 18,117,233,250, 11,244, 92,159,171, 12, 56, 38,213,151,
+ 32,235,162, 3,179,157, 98,220, 66,171, 52, 49, 6,182,206,211,155,134,149,171,198, 20,147,233, 73,160,204,100, 92,101, 41,199,
+244,225,102, 18, 70, 86,143,225,201, 91,187,158,221,170,125,240, 25, 62,169,125,228,161, 22,252,240,247, 66,216,235,197, 1,220,
+ 37,232,227, 98, 60,147,124,149,172,181,123, 7,167,139, 77,249,179,144,247, 30,206, 91,247, 24,201, 24,239,243, 58,112,229,250,
+185,255,252, 87,248,210, 79,253, 24,167,167,115, 98, 74, 92, 93,142,172,175,174, 72, 41,145, 35, 24,221, 18,182, 1,163, 91, 8,
+ 13,253,201, 13, 78, 79,230, 88,107,232, 27,203,124,102, 9, 33,147, 17,228, 36, 80,141,100,102, 44, 11,107, 80,100,156,139, 8,
+ 60, 66, 42, 92,128,139, 77, 34,101,207,172, 73,116, 86,178, 13,133, 21, 93,136,183,138,227,121, 33, 77, 22,133, 77, 66, 43,113,
+157,227, 81, 87, 11,222, 39,122,107,248,210, 75, 55,216,141,129,123,219,200, 38, 30,211,205,231, 12,191,251, 59,136,148,137, 34,
+ 50,134,192,197,234,138, 69,191,100,244,145,198, 59,210,213, 21,110,216, 50, 63, 57,226, 23,126,254, 43, 92, 13,142, 87,255,228,
+223, 61,232,155,126,237,199,249, 3,242,234,219,253,177, 48,173,143,113,138,118,116,149, 91,193,131,133, 75,235, 39, 91,199, 47,
+127,178,116, 84, 95,255,198,251, 79,119,106,164,106,174, 26,222,137,127,214, 62,115,131,163,217, 18, 45, 21, 39,203, 99,186,174,
+ 33,249,196, 27,151,111,113,181,115,220,219,236,120,103,187, 99, 27, 61,241,254, 21,249,114, 11,227,138,252, 52, 45, 91, 63, 40,
+ 47,254,113, 29,197,160, 6,170,204,225,185,103,224,248, 4, 22, 55,144, 41, 51,235,231,184,221,154,231, 23, 55,184, 55,172,249,
+100,211, 48, 2, 23,227,200,168,138,177, 80,223, 52,244, 70,163,133,198, 54,246, 90,154, 37,181,166,207,145,224, 29,182,233, 49,
+ 66, 33,165, 68, 38,137,238, 44, 70, 78,254, 4,245,172, 84, 16,115,192,200, 76, 96, 36,185,128, 18,153,156, 51, 46, 4,148, 46,
+197,114, 28,124,149, 84, 41, 98, 40,157,173,173,166, 72, 67, 8,100,114,137,191,214,154, 24, 35,103,179, 35, 6, 63, 98,103, 22,
+ 45, 19,219,214,242,154, 53,165,136,174,135,114,238, 68, 87,214,216, 48,124,188,181, 53,186,125,231, 45,168, 49,218,181,171,138,
+ 53,143, 93,213,220,249,105, 29,155,154,111,161, 36, 12,235,178,254,213,129, 45,179, 79,251,153,121,116,160,230, 69, 17,116,237,
+ 70, 23, 10,154, 69,216, 59,202, 77,254,239,147, 10, 73,233, 58,210, 10, 31,127,191, 60,198,250,209,143,189,136,219,166, 20,170,
+182,199,100,129,243,129,163,118,142,139, 17, 33,202, 77, 38,166,128, 50,134,144, 19,173,210,132,156,232, 40, 48, 88,223,116,104,
+ 50,209,121,164,146,248,237, 64,151, 33,248,192, 48, 12,100, 23,138,174, 63,120,140,173,174,117,141, 33, 54,179, 66, 24, 94, 30,
+ 99,154, 22,225, 61,169, 53, 40, 36,194,103, 98,215,209,166, 64,142,137, 36, 5, 86, 52,100, 34, 49, 70, 50, 9, 33, 53,201,101,
+132, 40,209,167, 46,122, 2, 17,169, 5, 4, 69, 78, 1,143,195, 40,205,104,106, 96,193,218,239, 31,112, 76, 31,242, 6, 76,179,
+210,112, 45, 93,188,246, 48,158,126, 93,174,244,213,204,224, 9, 11,166,169,129, 3,138, 7,201, 69,215,240,169, 45,115, 35, 29,
+247,213,170,213,133, 32,212,232, 10, 37,197,226,209, 28, 14, 32, 97,107, 97, 92,237, 55,200, 19, 28,222,127,231,151,127,142, 47,
+255,228,151,185,243,252, 41, 66, 10,134,157,103,125,181, 99,115,181, 65, 90, 89, 70,143,187, 17, 47, 18, 18,205, 51, 55,158, 69,
+105, 75, 99, 53, 90, 9,140,209,204,122, 91, 46,216, 25,130,243,180, 70,176,104,203, 72, 39,230,196, 16, 51,110, 40, 12,126, 37,
+ 5,163,203,220,219, 4, 66,138, 88, 85, 51,134,180,198,167,196,213,170,100, 3, 68, 41, 8, 49,211,233, 4, 99, 66, 38,104,218,
+226,182, 55, 84,114,103,204, 25, 25, 50,198, 20, 68,160,239, 90, 98, 18, 60,183,236, 80,252, 60,175,126,251,187, 12,155, 21, 62,
+254, 53, 62, 58,180,182,164, 48,226,130, 39,196, 64, 8, 22, 55, 6,110,189,112,155,223,252,213, 95,226,127,221, 69,174,190,250,
+141, 18, 82,225, 63, 42, 29,246,251,244,106,108, 53, 85,169, 95,151,169,135,223,122,245, 96,184,201,212,209,103,158,138,167,249,
+115,119, 79, 57,233,230,252,249, 67, 69,189,228,123,132,253,207,107, 65,159, 32,205,219,139, 25,183,207,110,113,111,125,206, 11,
+183,110, 35,141, 33, 69,143,209,207,208,154,134,119,183,107, 86,247,207,201,110,132,243,119,159,110,142,193,163, 10,250, 7,125,
+172,109, 11, 55,229,131,158, 89, 99,203,236,252,198, 41, 60,247, 44,116,115,152, 29,131, 53,204,133,102,235, 29, 11,211, 50,132,
+128,160,152,141,188,189, 94,177,176,109,137,170,165, 40, 57, 0,146,146, 92,121,207, 51, 77, 71,163,138,103,135,167, 40,128,112,
+ 35,130,140,214,138,182,107,139,202, 32,101,180,149,132,209, 87,115, 67,135, 38,144,180, 71,187,128, 19,174,120,128,120,143, 68,
+ 16,125,198, 79,173,111,146,196, 93,177, 97,142, 42,161,133,100, 23, 71, 90, 93, 28, 33,165, 44, 73,153, 90, 40,148, 46,210, 10,
+ 33, 51,164,142, 16, 2, 47,158,157,114, 62,236,216,180,150,232, 28, 92, 14,123,203,241,237,199,136,166,158, 26,153,107,187,214,
+169,177, 58,144,109, 74,189,183,168,181,128, 59,184, 97,247,237, 62, 5,239,176,176,167, 74,134,155, 92, 31,175,155, 40, 11,210,
+ 85,219, 86,246,204,119,113,112, 78, 78,249, 28, 57,237, 77,196,198,239,237,216, 77, 63, 86, 33,105,219,186,233, 45, 56,199,209,
+ 98, 73,175, 53,224, 17,162,197, 84,200, 64, 73,141,243,158,214,180,196,232, 81,253,131,246, 16, 0, 0, 32, 0, 73, 68, 65, 84,
+100,108, 83,158,174,115, 35, 70, 74, 84,202,152, 4, 94, 25,216,172, 8, 33, 96, 98, 68,133,132, 19, 13, 93, 83, 35, 82,173,102,
+222, 22,189,228,242,228, 4, 21, 50, 62, 38,236,124, 86,130,128, 98, 66,180, 22, 81,137,108, 66,107, 76,166, 44, 38,138,214, 47,
+186, 18, 50, 32,200,120,231, 16, 82,144,210, 30, 82,119, 57, 20,163,154, 12,173, 86,140, 94,237, 45, 14,145, 31,173, 83,159, 10,
+187, 72,251, 91,227,245,162,227,193,159,123,249,228, 93,206,132,239, 75,185,191,113, 30,190,173, 74,150,247, 43,172, 96, 88,192,
+162,169,193, 3,166,116,230,187,117,245,231, 30,203,223,247,169,166,136,141, 15, 6,133, 60,198,215,217,255,248,151,248,205,175,
+252, 36,175,124,246, 69,180, 16, 12,206,227,198,192,250,114,139,119, 14,100, 41,232,243,126,129, 93,156,210,116, 45,120,137, 66,
+211, 46, 12, 90, 72, 78,102, 22, 99, 20, 18, 65, 99, 52, 33, 43,206,179,192, 71,207,189,181,195, 84,147,157, 88, 67, 37,118,222,
+ 19, 66, 68, 68, 65,200,137, 97, 72, 12,163,103,116,145,229, 92, 23,232,190,149,184,109, 96,187, 13,132,172,104,231,134, 35,147,
+203,218, 89, 11,180,146,244,141, 37,228, 98, 78,180,146, 30,163, 36,125,163, 88,180, 2,107, 53,214,104, 62,247,210, 13,142,102,
+ 13,247,239, 95,113,118,235, 22,171,139, 43, 94,191,255, 29, 70, 31, 72, 49, 34,149,192,168,128,237,122, 46,238,157,243,236, 75,
+119,249,167,255,217, 47,241, 63,255,241,215, 14,230, 50, 63, 64,175, 36, 31, 66,146,216, 75, 27,167,174, 93, 60,253,127,246,213,
+223,251, 3, 94, 61, 44,126, 7,200, 83, 70,151,194,174,245,117, 65, 23, 49,145,149,228, 91,111,190,195,173,217,155,220, 62,189,
+137, 80,146, 24, 61, 57,192, 24, 2, 55,150, 71, 44,187,150,203, 55,222, 46, 33, 34,181,160,231,167,253,197,219, 26,142,180, 27,
+247,197,226, 48, 20,228,250,251,234, 42,130,215, 66,120, 40,149,208,216, 2,253,206, 58, 56, 89,194,209,188,116,119,214, 22, 18,
+150,131,165, 21, 32, 21, 66, 55,100,183,229,184,155,227,134, 45,207,119, 45,247,124,224,221,114,147, 39,137,140, 53,134,133,181,
+116, 82,179, 11,142, 99,219, 97,155, 6, 17, 18,222,121,164, 84, 28,213,156,116,165, 37, 90,203, 98,171,225, 3, 86, 11,162,247,
+228, 16,144, 58, 34, 6, 79, 34,163,165,160,217, 57, 6,145, 49, 25, 84,140, 5, 89, 22,130, 81,149,102,167,164,149, 54, 64, 98,
+209,204, 8, 57,162, 77,195,224, 6, 90,101, 65, 39,134, 16, 88,116,115,188,223,146, 77, 67, 59,151, 92,185, 45,189,130, 43,173,
+ 88, 55,154, 75, 20,116,177,248,196,115, 5,222,194,246, 67,146, 28,141, 45,163,207, 41, 43, 33, 38, 16,110, 47, 3,155, 80,211,
+ 36, 30,156,233,216,218, 88,185,170, 77, 23,178,188, 23,227,186, 28,163,186,173,118,178,117,180,106,218,189, 95,188, 60,104,208,
+166,189,108, 38,127, 18,185,255,185,146,123,118,253,211, 64,182, 62,228,245,241,103,234,186, 90, 94,246, 51,232, 91,154,147, 37,
+189,210, 88,109,144, 66, 32, 69, 38,229, 76, 66, 84,189,122, 33, 7,168, 12,157, 76,184, 16,233,148,196, 20, 80, 8, 13, 40,165,
+ 80,126, 68,198,132,218,185, 50,178, 72, 96,148, 38, 26,141,233,122,218,182, 67,219,134,182,159, 97,140, 65, 90,131,182,134, 76,
+174,188, 7, 77, 32,147, 83, 38, 73, 93, 33, 39, 73,200,165, 99, 79, 66,236, 51,147,153,204,190, 34, 57, 70,198,228,240, 62, 16,
+115,172,235, 33,177,141, 99,241, 94,113,174,144,155,166,212,182,195, 44,229, 15,155, 77, 78, 86,131,217, 23,164, 97,210, 1,123,
+246,176, 80,240,143,121, 29,211, 7, 26, 99, 5, 97, 44, 24,191, 63, 96, 67, 47,102, 69,191,106,155,114,156,185, 80, 14, 55, 31,
+202,247, 18,135,242,119,198,106,103, 56, 86, 61,101, 13,122, 33,133,247, 18,241, 62,162, 70,249,215,127,251,183,248, 79,127,237,
+239,114,231,185,155,184, 49,224,124, 32,250, 92,127,140,215,211, 7,133,225,120,126,196,114, 54,227,246,209,146,153,109,144,173,
+194, 72,197,162, 49,204, 90, 85,227,196, 19,228,204,106,235, 24,221, 8, 34,147,125, 34, 10,193,213,182,132,183,196,152, 89,175,
+ 2,171,171, 29,231,235, 45,187,221,136, 15, 30, 31, 18, 82, 72,238,189,189,226,222,102, 7, 17,108,149,151,197,224, 8, 89,113,
+113,233, 25,131, 99,244, 17, 55, 70, 92,242, 16, 51, 65, 8, 4,146,205,224,184,220, 56, 70,159,153, 55,146,209,121,180,146, 44,
+250,134,219, 55, 23, 28,157,206,249,196, 11,183, 16,237, 2,171, 90,124,101,192,175,118, 91, 72,145, 70, 23,111,128,103,159,191,
+193, 23,126,234,111,243,175,127,231,255,225, 7, 38,236,227,129,179, 73, 87,230,239,100,184, 84, 11,162, 76,188, 71,103,246, 81,
+ 15, 38,253, 1,247,151,135,127,127, 42,232,170,234,135,167,249,103,101, 49,139,201,135,161, 22, 77,177,139, 92,244,130,190,230,
+141,183,166, 97,181,185, 66, 10, 88,239,182,252,233, 95,125, 23,222,126,245, 26,181,122,234, 5, 93,214,180,182,182,219, 95,124,
+212,193, 65,158,115,189, 40, 85,207,110,161, 32, 12,251,125,212, 90, 80, 29, 28, 31,149,196,191,163,121,209,149,119,109, 41, 38,
+ 85, 1,137,110,176,148, 68,202,165, 44,137,131, 34,122,174,124,160,201,145,123,110,199,102,220,128,223, 33,117,135,147,154, 59,
+ 93,135,149,130,101, 99, 48,213, 67, 66,213,128, 43,163,138,217,212,188,183,215,130, 20, 50, 37, 60, 43, 71,114, 12, 5,132,168,
+118,221,132,136, 30, 35, 65, 75,172,143,200,154,149, 33, 43,129, 75,138,124,205,229, 82, 70, 99,164, 68, 91, 67,219, 24, 18,169,
+152,125, 9, 16, 66, 48,239, 91,156, 27,232,172, 45,102, 66,100,230,182, 37,166, 80, 56,181, 89,149, 99,218, 10, 98, 18,251,140,
+243,198, 22,136,254,144,179,112,152, 45, 17,124,173, 77,121,111,216,162,197, 94, 58,145, 39,130,167,170,103,220,193,251, 56,212,
+226, 63,233,190, 85,174,246,220,186,202,200, 84, 33,185, 54,181, 97,138,197,116,168,196, 40,155,242,107,217, 84, 50,221, 52,163,
+143,229,189,119, 99,181,205, 86,149, 53,175, 31,207, 79,226,123, 90,212,219,190,232,109,251, 6,164, 70,181, 13,141,177,204,141,
+ 65,203,150,156, 34,141,105,176, 82, 19,146, 71,150,119,147,148, 2,141,132,133,166,116, 49, 66, 98,115, 70, 33,203, 51,244, 9,
+147, 37, 42,122,162, 75, 88,109,112,198, 34,155, 14,211,207,104,141, 69, 89, 75, 59,235,137, 62,162,171,183,176, 8,177, 20,108,
+169,145,100, 66, 77,132,147, 2, 54,209,163,108, 49, 70,201, 57, 18, 67, 66, 8, 65,140,169, 64, 72, 57,227, 98, 32, 36, 79, 68,
+144,147,199,167,226, 74, 23, 83, 34,196,136,159,152,141, 83,210,148,143,133,240,246,145,141,187,210,158, 85,169, 38, 39,162,218,
+169,167,248,152, 33, 5, 15,221,244, 98,253,122,140,173, 70, 7,213, 47,190, 95,212,244,188, 74,216,112,187,253, 92, 52,135,122,
+ 1,136, 48, 78, 58,244,176, 95,116,250, 33, 22,253, 20,245,247, 33, 68,160,230, 63,248, 18,255,245, 63,254,135,124,241,203,159,
+195, 24,205,110, 44, 33, 7, 41,102,178,200,164,148,137, 33,145,131,164,177, 29, 55, 79,110,240,220,233, 41,203,197,140,227, 69,
+139, 80,146,155,139,142,219,199, 29,157, 45,220, 8, 33, 96, 51, 68, 86,131, 99,227, 28,187,157,199,187,192,198,123,214,235, 29,
+219,245,200,229,197,150,132, 33,197,196,118, 51,224,119,142,113, 23,217,173, 71,132, 78,197,215,223, 39,148, 22, 8, 13,227,110,
+ 96,116,158,205,122,139, 31, 28, 62, 10,182,155,145, 97, 28, 9, 33, 51, 14,129,245,214,177, 25, 60, 46, 41,114, 78, 4,239, 25,
+ 35,228,156,104,173, 40,121, 29, 25,122,173, 88,180,154,101,111, 89,246, 51,238, 62,123, 11, 59, 59,226,232,228,140,123,111,191,
+ 77, 12,145,166,177, 37, 60,207, 71, 94,120,225, 25, 62,255,147, 63,198,239,255,206,239,253,128,117,234, 53,255,122,146, 25,197,
+176, 15,220, 73, 60,126,184,134,212,123,183, 51, 93,198,104,197,146, 51,188, 23, 62,133,189, 52, 72,215,131, 86,213,208, 27, 33,
+ 30, 44,236,126,196,125,231, 77, 94,253,206, 95,241,141,237, 21, 89, 57,122,107,113,206,241,199,175,127,135,237, 55,191, 5,126,
+252,224, 98,254,137,151,249,244, 79,124,145,123,127,245,215,143,184,121,124,200,243,154, 46, 67,227,184,151, 80, 93,187,140,229,
+ 3,195,160, 90, 8,164, 44,207,162,105,192,206, 74,103,222,218, 18,176,210, 54, 85, 45,162,202,254, 77, 19, 81, 42, 17,108,203,
+ 11, 77,135,200,145,224, 7,124,138,164, 48,144,220,142,239,110, 86,228,113,139, 80,154,185, 2, 77, 65,152,132,182,180, 53, 23,
+192, 72, 69,140,137,166, 51, 52, 2,102,115, 83,199,203,213,252,171,250, 83,229,148,209, 58, 33, 82,113,238, 36,102, 68, 12,228,
+ 24, 80, 49, 34,114,177,162,176, 2,180, 80, 64, 68, 8,137,110, 44, 70, 91, 76,107,208,141, 65, 27, 77, 22,208, 54, 77, 33, 76,
+ 75,129, 49,138, 24, 35, 93, 91, 96,247,242, 22, 75,188, 31, 49, 82,145,115,105,150, 78,187,142,251,195,128,106, 44, 81,203, 26,
+ 21, 61,141, 53,171, 23,186,182,149,116, 60, 49,217, 15, 50,237,179,219,155,183,196, 74, 98,156,194, 46,114,189,156, 38,202,179,
+ 14,126,239,177, 46,155, 82,208,175,199, 52,182,172,215,144, 10,154,137, 40,223,188, 16,123,189, 58,147,180,211,151,117,234,170,
+211,155,169,121,244,166, 58,212, 81,211, 47,197,247, 62, 11,224,227, 21,245,190,173, 48,146, 41, 55,167, 89,143,178,134,179,174,
+ 47,129, 43, 74,208,155,142,148, 19,137, 92,154, 84, 33,144,100,218, 28,208, 57,128,200,180, 82, 33, 82, 36, 42, 69,147, 74, 97,
+143,128, 30, 74, 81,237, 81,120,173, 80,243, 57,182,105,208,198, 18,148, 98,214,119,228, 24,209,173, 37,197, 90,144,116,177,129,
+117,209,147,140, 33,121,143, 19,137, 49, 6,100,134, 40, 37,161,250,121,103, 37,137, 62, 84, 87,191,120, 93,184, 5,144,235,131,
+207, 41,226, 98, 66,145,145, 66,176,217,212, 52,171,237, 88,180,222, 34,215, 91,216,227,220,236, 15,108,103,227, 19,144,228, 14,
+217,237,135, 63,159,244,138,105,138, 91,181,101,145, 42, 85, 10,248,110, 40,139, 55, 84,134,168,171,172,244, 84, 11,119, 99,247,
+ 16,209,116,112, 79,183,225, 84,103, 85,227, 7,155, 69,156,254,228, 79,240, 63,252,246,175,242,210, 75,119, 42,241,180,204,187,
+189,247,140, 33,226,118,129, 97,240,108, 46,183, 24,221,115,243,198, 45,158, 61, 61,225,232,168,165, 51,166,146, 67, 51,179, 70,
+ 33,165,192,197,200, 16, 51, 99,130,245,198,115,126, 57,176,221,121,134,209,179, 90, 13, 92, 93,110,217,172, 6,182,187, 1, 63,
+122, 98, 78,108,199, 80,188,222, 47, 7,156, 27, 8,209, 17,125,201, 5,200, 62,161,148, 34, 69,201,102,181, 69, 74, 65, 74, 25,
+183, 29, 24, 54, 35,155,203, 17,183,113,184,113, 96,231, 29, 41, 4,182,155,145,113, 44, 23, 9,171, 4,189,145,236,198,136,208,
+146,152,114,229, 33, 85,243, 36, 37,105,172, 98,222, 27, 94,188,121, 68, 63,155, 33,237,156, 20, 5, 73, 4, 4,138,144, 18,219,
+209,113,231,217, 51, 62,247, 19, 63,206, 31,252,159,255,247, 15, 86, 97,143,213, 1,239,253, 2,119, 30,231,101,236, 62,170, 52,
+ 85,130,230, 24,203, 33, 60,107,246,100, 35,173,247,178, 34,216, 39,103, 77, 45,182,172,126,245,213,212, 67, 92, 27,238,212,175,
+115,181,227, 45,231,249,230,219,111,241,205,183,222,100,251,221, 55,201,227,250,209,223,195,122,197,223,254, 59,255, 17,183, 62,
+253, 9,190,251,141,111, 60, 30,107, 93, 86, 5,201,244,181,235,135,252,248,167,203,178,214,165,136,207, 23,176, 60, 65, 30, 31,
+145,151,179,131, 44,123, 85,138,130, 82,251,142, 51,133,210, 68, 9, 65,204,137, 24, 60, 97, 92,211,165, 76,218, 94,208, 4,199,
+184,189,226,221,237, 10,198, 1,225, 7,192,243, 66, 51, 99,214, 47, 57,178, 13, 90, 74, 66,202,215, 33, 44,157, 22,116,115,195,
+220, 42,218, 70,162,165,160,111, 37,186,122,150, 79,118, 4,201, 23,110, 74,218, 13,197,139,127, 8,197,162, 59, 23,200, 93, 9,
+137,105, 12,198,180,216,182,197, 54, 22,213, 53, 40, 99,139, 47,137,181, 40,169,200,185,204,238,181, 42,132,232,198, 54,196,224,
+209, 82,212, 16,180,132,175,239, 81, 18,197,253,115, 32,176,108, 91,132, 20, 8,163,112, 86, 22,228,176,235, 10,218, 41,227,158,
+137, 46,170, 13,172, 72,117, 92,193, 94, 97, 20, 40, 5, 53,199,189, 93,175,212,165,232, 83, 73,193,147,235,219, 48, 22, 79, 14,
+ 95, 47, 9,186,202,214, 68,222, 7,124, 9, 91, 85, 32, 84, 51, 25, 81,244,233,169,218, 2, 79,151, 58,173,170, 11,103,189,236,
+153, 74, 88,252, 62,116,233, 31,175,168,107, 93, 61,190, 21,204,106,234,143,214,204,103, 51, 52,146,185,181, 37,214, 84,148,141,
+ 55,201, 34,148,128,144, 3, 46, 7, 22,178, 60,160, 46,139,210, 77,231,140,164,108, 36,149,138,180,204, 38, 81,162,110,109,135,
+237, 59,178,178,100, 37,209,198, 48,166, 64, 86,229, 96,148, 36,164, 54,136, 24,217,230,136, 82, 18,231,194,117,198,201,232, 61,
+ 89, 22,214,189,203, 9,157, 82,129,226, 67, 34,197, 2, 31,249, 80,224, 31,159, 28, 32, 8, 49, 17,115,192, 42, 69, 22,153,115,
+ 63, 98, 90,131, 27,171, 94,209,213,212, 41,255, 4,126,209, 79, 18, 35,120,248, 94, 72,249,224,165,224,176,184, 79, 9, 91, 50,
+ 23,107, 67, 31, 96,187,131,113,183, 47,212,147, 43,216,195, 29,255, 3,159, 99,234,212, 39, 56,182,182,108,215, 16,252,190,187,
+249,217, 95,255, 69,126,235, 31,253,125,142,230, 61, 87,155, 29,219,245,192,110,112,108,119,158, 24, 51,195,102,100,183, 25,136,
+ 46,161,153,243,204,157,103,248,220, 39,110,114,231,164,165,181, 6,231, 19,177,118, 96, 62,129, 71,178,118,137, 55,223, 90,113,
+117,185,101, 61, 4,134,144,216, 14,158,205,122,199,230,202,177, 91, 15,248,224, 24,183, 3,193, 7,198,113, 32,120, 71,116,129,
+ 24, 3, 57,149,241, 71,172, 58,252,148, 34,195,110,199,118,189, 99,216,141,172,207, 47, 16, 66,225,156, 35,249,177, 34, 53,144,
+115,196,143, 14,165, 53,195,232, 10, 23, 67, 70,164, 80,180,179, 98,173,235,198, 72,211,106, 6, 95, 80, 39,170, 92,174,240,199,
+ 4,141, 49, 40,173,137,178,229,153,219, 55,217,110, 3,110,216,161,219,134, 97,189, 97, 12,137,231, 94,184,201,115,159,248, 36,
+127,246,251,127,244, 24,216,245,191, 7,175,105, 86,220,170, 50,119,182,109,145,136,118,179,122, 24, 86,242,230, 4, 89,155,169,
+176,137,125, 65,159, 58,225, 44,246,168,209,251, 25,238, 72,138,229,235,197,101,249,111, 28, 74, 33,248,160,103,167, 75, 44,232,
+ 55,183,107, 94,190,243, 44,127,253,245,175,239, 33,245, 71,237,205,198,150,175,185, 53,123,100, 97,114, 15,211, 15,141, 39, 38,
+253,179, 86,165, 11,188,121,198,252,120,206,252,120,206,216, 88,178,177,213,209, 44,214, 17,218, 65, 54,192,100, 87,154, 98, 41,
+ 60,227,134,237,184, 97,117,117,159,221,246,156,215,238, 95,225, 55, 87,188,182,170, 5,189, 85, 28,205, 58,110,182, 61,199,205,
+156,214,182, 40, 37, 64, 89,186,156,176, 82,211,181,146,229,204,208,181,197, 0,108,222, 42,186, 86, 33, 98,194, 54,170, 18,147,
+ 51,209, 7, 68, 78,196,245, 72,206,137,184,222,146, 71, 71,118, 30, 65, 46,231,182,110,139,153,152,209,116,205,140, 44, 21,221,
+172, 67,100,133,181, 6, 41,101, 97,190, 91, 83,198,108, 85, 94,155, 98,192, 24, 75,162,132,112, 73, 81,124, 78, 93, 8,180,198,
+ 18,115, 44, 6, 98, 82, 18, 98, 36, 9, 73, 18,130,104,234, 57,118,212,150, 11,144,243,165,176,235, 41,173,208, 20,107,110,171,
+ 32,200,178,230,144, 85, 55,174,246, 50, 76,125,224,149,129,170,217, 21, 19,201,174, 22,236,209,213, 5, 85, 47,101, 82,148,130,
+158,134, 18, 7,157, 43,220,126, 77,134, 22,251, 28, 7,228, 1,121,234,192,202,217,249, 3, 31,136, 39,100,193, 77,126, 8, 19,
+195, 62, 61,110, 81,159,236, 64,219,190, 44,236,190, 41, 48,154, 82,220,232,122, 50, 25,171,219, 58,151,206, 40, 33,201, 57, 33,
+ 40,208,187,200, 25,159,224,140,200, 32, 51, 45, 18, 35, 4, 89, 42, 68,150,200,148, 17, 8, 68,206, 36,211,208,204,122,178,181,
+ 37,232, 72, 27,178,132, 70, 75, 92,138,164,156, 80,218, 20,233, 92,142, 32, 20,131,247,132, 84, 50,197,163, 47,182,177, 33, 38,
+140, 16,101,159, 8,144, 46, 34,140, 4,153,241, 46,144,114, 34, 11, 73,240,158, 24, 2, 62, 7,132,144,164, 84, 82,186,102,178,
+ 33,228,196, 54, 87,150,231, 24,107, 30,111,252,155, 61,103, 31,238,162,141,222, 23,228,233,207, 38,184,127,136,101,118, 30,195,
+ 30,154, 63,204,182,126,212,231,152, 22, 96, 83,229, 46,170,250, 38, 95, 31,124,165,216,255,226,111,254, 26,191,240,107, 63, 71,
+223, 88,222, 61, 95,177, 94,237, 24,135,192,118, 23,240, 99, 49, 0, 73, 49, 99,245, 12, 35, 91,142,143, 79,121,246,230, 9, 77,
+ 53,126,241, 46, 17, 66, 98, 12,153,213, 48, 18, 92, 34,184,200,253,203,129,119,207,215,220, 59, 95,179,190,220, 49, 12, 35,171,
+243, 29,187,237,192,110,189,102,231, 6, 98,240,184,193,177,219,108, 9,163, 71, 32, 24,135, 13,227,110, 64, 25,197,176,217,162,
+141, 41, 69,158, 76, 8,158, 97, 59,224,221, 64, 76, 9,231,119, 56, 55, 34, 20,228,236, 9, 99, 64,217,150, 97,187, 37,231, 76,
+ 38,147, 92,194,246,134,172, 45, 41, 22,109,104,132,162,121,175,227, 37,137, 68,107, 81,221,118, 51,179, 89,195,113,223,176,114,
+208, 88,195,141,211, 37,235,130,221,227,189,195, 15, 35,194, 24, 94,124,249, 46,119,238, 62,199, 87,255,240, 79, 63,160,144,255,
+123, 84,208, 31,190,127, 88, 83, 70,117,218, 20,173,175,148,229,240,173, 9,137,165,123,105, 74, 1,166, 66,213,147,167,245,225,
+ 75,240,225, 29,142,148, 31,192, 17, 72, 31,204, 90, 23,192,253,243, 82,208, 39, 8,246, 81,133, 93,235,253,197, 3, 30,204,224,
+158,138,251, 84,224, 39,178,148, 22, 37, 11,226,248, 8,121, 60,227,120,214,211,118, 45, 94, 75, 22,198, 20,103, 53, 33,247,172,
+107,113,192, 68,140,161, 60,155,213, 21, 92, 94,192, 59,239,146,175,118,140,111,190, 11,171, 53,187,243,251,229, 18,208,104,132,
+ 41, 49,167, 47, 46,207,138, 23,187,208, 72,105,145, 57,209, 91, 75,171, 4,139,185,165, 49,154,227,153,102,209,149, 46,189, 53,
+146, 89,171, 17, 33,151,112,172, 92,208, 39,191, 29, 32, 38,194,197, 21, 41,248,242,252, 67,177,127, 45, 53,180, 65,182, 6,221,
+244,101,162,208, 55,228,148,153, 29,117,228, 92,164,161, 77, 99,137, 41, 34,170,155,232,148,182, 23, 67,198, 71,143,182, 22,239,
+ 35, 81, 36,180, 82,248,148,208, 82,145, 36,140, 62,208, 24,197,152, 34, 43,239, 49, 82, 18,173,134, 93, 93, 7, 93, 91,189, 54,
+100,121,206, 34,237,253, 54, 52,101,124, 17,198,130,130,140,245,207,146, 42, 90,114,101,107,224, 77, 61, 39,167,247, 74,230,234,
+219, 94,211,218, 38,227, 26, 89,223,139, 41,187, 60,213,116, 52,217, 20,216,125, 50,234,210, 83, 8, 75, 40,159,127,116,123,111,
+248,244,148, 92,243,100,253,223,245,122,127,239, 90,253,120,240,187,172, 29,122,215, 94,207,134,111, 44,230,164, 36,153,155,134,
+144, 60,173, 52, 52,218,144, 43, 33, 45, 19,203, 27,149, 2, 22, 24,114,230,148, 18,119,106,116,131, 77, 32,132, 36, 10, 48, 33,
+ 35,173,161,233, 58,178,212,133,140, 97, 52, 57,197,210, 36, 42, 81, 50,235, 41, 40, 76, 36,145,133, 64,145, 25, 70,135,212,130,
+113, 61, 16,157,135,152,104,164, 38,133,128,212, 18,124, 68, 24, 69,172, 51,110, 41, 51, 62,100,198,232,200, 41,225, 83, 68, 85,
+253,253, 54,184, 98, 73, 26, 61,107,231, 56,110, 91, 54, 87,219,178,241,220,184,223,128,127,163, 7,168,126,176,115, 57,132,227,
+167, 66, 29, 83, 9, 37,152,110,138,135, 7,214, 33,209,238, 81,159, 35,213,219,238, 68, 70, 65,215,195,178,144,127,126,241, 31,
+254, 26, 63,251,247,126, 26,107, 13,171,237,192,213,197,142,171,119, 46,137, 41,163, 26, 77, 12, 17,239, 60,182,233,152, 47,122,
+180,208,104, 97,144,141,194,214,113,105, 78, 5, 54,223,121,207,224, 3,195, 16,185, 28, 6,238, 95,172,216,238, 70,220,206,177,
+217, 57, 86, 23, 23,236, 86, 27,114,242, 4,225,233,218, 6,211, 25,148, 82, 52,125,135,247,174, 54, 71,153,209, 5, 66,130, 76,
+ 70, 41,141,247, 99,185,249,167,200,224,118, 72, 36, 99,204,196, 16,112, 33, 32, 19,120, 95, 46,122,214, 26,164, 82, 12,219, 29,
+237,220,226, 93, 68,106,139, 54, 18,211, 88,178, 47,198, 69,227,152,104,172, 38,102,232, 26, 67,170, 70, 70, 25,129, 86,154,163,
+206, 50,107, 20,111, 94, 12,197,173,110,222,178, 25, 2,227,118,131, 27, 6,114,200, 36, 41,120,233,229,187,156,156,221,226,223,
+254,233,255,123,176,115, 63,134,220,205,216, 58,135, 85,223,191,156,234, 7, 10, 93,189,244, 77, 14, 90,211,248, 71, 83,138,248,
+196,241,152, 8, 75, 91, 87,153,198,149, 56,102,108,233,170,115,117, 33, 52,242,193,194,254, 97, 7,226,163,164,101,239, 87,160,
+223,239, 2,192,161,173,241,251, 4, 55, 77, 36,190,195, 56,225,105, 68,160,229, 62, 76, 73, 29,252,158, 48,197,143,125, 62,135,
+229,156,103,231, 61, 95, 60,157,113,199, 26,238, 52,150, 99,149,105, 51,220,167,186,130,229, 10,243,250, 88,216,244,155, 29, 92,
+ 92,193,197, 10,222, 57,135,221, 21,220,187, 40,138, 21, 95,231,198,203, 57,116,182, 56, 32,246, 51, 26,213,176,108,150, 88,163,
+209, 90,161,132,102,222, 54,156,206, 52,243, 86,115,107, 97, 56,157, 25, 58,163, 88,106, 65,171,196,117,152,156,212, 16, 92,100,
+112, 35,164,204,112, 85, 52,253,121,231,136,187, 1,157, 32,197,132,210, 22,221,119, 24,221, 96,186,242,115,178,160, 93,180, 4,
+151,200, 6,172, 46,238,137, 82, 10,132,144,228, 92, 8,212,185, 74,100, 75,100,121,172, 1,118, 5,193,141, 41,225, 40,242, 59,
+ 41,139,171,103,202,153, 31, 62, 94,242,134, 27,137, 33,150,139,162, 82,123,155, 87, 33,106, 86,123,141, 36,213,166, 32, 41,209,
+ 23,162, 27, 53, 73, 45,248, 82,108,141, 41,235,210,135,242,113,162, 42, 12,130, 43,191,214,162,204,225,117,165,197,171,106, 94,
+211,217,162, 22,162, 94, 24,162,171, 94, 38,234,192,190,117,202,218,144,149, 60, 39, 31,140,155,126, 82,208, 77,195,123, 4,107,
+ 85, 25,114,184,198, 63,122, 81,175,217,214,232,174,124,179,141,133,182, 45,100, 8, 93,216,202, 66, 10,172,178, 69, 38, 6,248,
+ 28, 81, 8,114,206,136, 92, 10,231, 82,137, 98, 9, 91,195,221,149,177,184,148,104,178, 36, 40, 73, 86, 6,169, 53, 65, 22,141,
+114,204, 5,186,153, 76, 15,144,146, 44,192,199, 88,158,169,139,236,182, 91,116,134, 97,181,194,185, 1,157, 18,109,130, 93,112,
+ 36, 81,100,115,187,156, 80,185,104, 40, 99, 42, 8, 66,164, 72, 44, 38, 19,126, 23, 2, 62,122,172,182,184, 24,112, 49, 96,132,
+228,254,110, 44,208,112,240, 48,248,239,157, 95,244,199, 38, 53, 29,192,228,135, 80,250,161, 51,216,225,143,215,142, 75,122,191,
+ 24, 14,255,254,251,125, 14, 45, 31,180,185,109,116,133, 53, 3,255,232,191,251,199,124,249,239,254, 56, 66, 10, 54,187, 66, 86,
+ 27,182, 3,126, 24,201, 72,114, 44,207,217,152,150,174,233, 88,118, 45,243,206, 98,149,162, 81,138,163,185, 65, 74,216,140,137,
+139,157, 99,181, 25, 89,173, 70, 46, 87, 27, 46,175,182,172, 47, 55,108,174, 54,184,193,179,189,218,144,114, 68, 91, 73,215,105,
+206, 78, 79,233,230, 45,177,118,118, 66, 64, 59,111, 57, 57, 91,114,116,180,164,157,245,204,231,109,153, 26, 12, 1,173, 53, 82,
+105, 98, 8, 12,110,192,104, 67, 72,133,149, 47,201,104, 83,102,143, 46, 56,146,143, 8,138, 89, 70, 99, 53, 57,129,181, 13,218,
+ 74, 36, 26,219,107,132, 79, 56, 37,233,181, 70, 72, 65,240, 48,239, 20, 86,203,234,107, 81,160,206,222, 42,146,144,172,118,129,
+227, 70,113,231,236,152,171,144,185,255,238, 91,144, 50,209, 39,146, 16,188,240,242, 93,222,220, 57,222,249,214,183,247,108,233,
+143, 4,193,235,125,231, 8,223,223,162,174,171, 4, 72,176,119,239,210, 53,230,178,111,202, 33, 89, 52,172, 7,116, 99, 81,214,
+ 80, 78,229,224, 53, 77, 37,140, 86,222,134,154,172, 56,217, 67,159,143,114,226, 58, 52, 96,202,249,209, 28,148,235, 51, 81, 62,
+136, 2,168,131, 75,132,170,249,217, 15,195,154,178,146,159,174, 61, 33,234, 97,207,164,104,169,123, 37, 86, 71, 52, 59, 43,185,
+ 24,198,150, 70,168,111,249,212,188, 71,137,204,204, 88, 82,246, 52, 82, 35, 85,226,237,161,100, 93, 20, 31, 12, 15,155, 17,214,
+ 99,201,143,184,218, 20,121,213,184,171, 69, 63,236,207,227,163, 57, 52, 6,161, 53, 89,107,110,206,102,156,205,110, 16,210,200,
+113,115,132,209, 22,169, 5, 51, 93,236,143,159, 59,110, 57,158, 91,140,148, 28,155, 34,101,235,141, 66, 2,214, 8,198,173, 39,
+164, 76, 10, 17,191,243,132,237,142, 52, 56,198, 97, 68,134, 88,209, 77,176,179, 35,162,177, 36,219, 32,109,131,182,229,204,110,
+109,233,198, 91,107,241,201,151, 44,246,144, 48, 74, 21, 46, 19,144, 66, 32,167, 72, 8,190,102, 71, 21, 62, 66, 8, 1, 41, 36,
+ 46, 38,100,149, 52,134,156, 80,202,240,218,110, 75,206,133,100, 25, 99,220, 39, 82,198,253, 24, 5, 68, 33, 26,250, 58, 7, 23,
+170, 92, 18,109, 83, 81,230,118,127,182,249,176, 39,186,201,138, 22, 73, 91,160,121, 79, 33,197, 37, 15,186, 50,218, 85,157,161,
+ 79,219, 48,109,235,252,190, 94, 68,115,101,243, 78,113,197, 70,236, 35, 90, 39, 39,184, 84, 77,104,158, 40,116,105,154,229,203,
+247, 94, 80, 31,171,168,203, 26, 61,215,232,253, 28,204, 40,140, 49, 44,218, 2,187, 47, 77,143, 39,160,165,194, 5, 71,163, 44,
+ 46,249, 50, 43,215, 18,153, 18, 67, 10, 52, 74, 32, 16,180,218, 84, 41, 69,177, 50,148,202, 64,215,147,148,169, 4, 69, 65,174,
+ 10,176,156, 19, 89, 9,156,243, 36, 4,113, 44,249,217, 97,220,161,115, 34,143,174, 4,105, 92,173,200,162,232,209,149, 44, 76,
+247, 40,192,202,140,143,153, 4,168, 92,179,215,115, 66, 10, 69, 8, 14, 41, 36, 57, 11, 16,146, 49, 12, 40, 33, 42, 11, 62,178,
+114,190,220, 18,165,132,203, 45, 79, 53,128,224, 73,110,111,239, 55,163, 63,156,135, 79, 29,199,244,107,127,208,173, 79,139,225,
+ 48, 4,230, 3, 47, 10,245,192,189, 38,210, 37,126,227,191,249,175,248,209,159,248, 17, 66,202,108, 54, 35,187,173, 99,125,185,
+197, 13, 1, 33, 53,255,226,143,255,128,119,223, 57,231,135, 63,253,105, 22,221,156,190,109, 49, 70, 49,111,123,158,191,187,228,
+185,211, 25,173,149,196, 12, 87, 99,145,164, 93, 94, 14,236,134,145,113, 40,196,183, 68, 34,134,140,180,144,146,231,228,228,152,
+ 91,183, 79, 56,154,247,244,199, 29,179,101, 83, 58,145,197,140,174,181,156, 30,207,120,249,165, 27,116,179,134,101,107, 56, 58,
+233, 11, 60,158, 18,253,172,229,232,104,198,209,217, 12, 55,122,198,113,192, 42, 77, 74,169, 92,242, 83,113,170, 75, 33, 21, 84,
+ 47,103,140,153,149,176, 10,153, 11,226, 36, 20,136,140,115,158,119,222,190,224,237, 55,222,229,106, 53,224, 83, 38,136,204,209,
+172,225,116, 97,136, 49,179,113,153,182,209, 24, 45, 9,185,232,106, 82, 12,156, 44, 13, 74,181,172,119,153,205,230, 28,211, 52,
+108,215, 91,186,174,229,243,159,255, 33,254,229, 63,255,221,131, 46,189, 50,119, 77,133,173,229, 65,183,152, 14,224,121,165,190,
+255, 69,125,234, 92,197,193,148, 32, 79,197, 91,149,116,191,147,101, 41,242, 70,213,228,190,218,137,231,202,172,159, 58, 41, 57,
+ 29,176,149,215,225,253, 30,178,140,241,195,179,230,167,162,124, 8,161,127, 80, 81, 79, 15,117,234, 83,246,245,117,114, 76,189,
+ 68, 60, 28,190, 49,217, 49, 43,246,182,207,141, 41,228, 45,219,195,141, 19, 56, 62, 46, 68, 64, 91,207, 73,219, 66, 95,212, 39,
+243,198,114,167,147, 44,148,193,103, 95,145,118,141,206,153, 83, 5,175, 93,108, 97,189, 43,251,107, 51,192,246,162, 64,239,163,
+175, 73,145, 60,232,224,135, 42,235, 98,209, 35, 90, 67,163, 45,103,221, 17,173, 50,156,204, 78, 24,220, 64,163, 20,198, 52, 44,
+187,150,103,142, 59,218,185,161,183,146,165, 41, 16,247, 92, 74,148, 20, 52,178,176,222,165, 20,236, 86, 14, 23, 60,195,213,134,
+205,214, 49,120,199,214,121, 6,169, 25,141,197,156,156,225,108,139,154,117,228,166, 37,117, 22,165, 53,170, 83, 4,169, 42, 87,
+ 2, 68, 46, 36, 89,109, 4,110, 12,229,222,153, 50, 41, 70,114,202, 40,169, 74,209,206, 16,146, 32, 2,161,252, 69, 66,206,132,
+ 24,105, 85,203, 16, 35, 89,150,224, 18, 7,133,111, 21, 42,249, 55, 86,168, 61, 76, 5,180,114, 52, 76,253, 51,165,247, 73,103,
+162,194,235,218, 20,251,221,209,237, 17,150,237,118,191,246, 38,235, 87,106, 55, 62, 93,152, 51,133,148, 39, 42,193,120, 74, 43,
+204,106,210,204,213,200,214,184, 39,203, 77,232,231, 97,163,244,164,208,187,156, 28, 40,167, 53, 28,222, 3,193,127,188,153,186,
+168, 80,159, 85,213,160, 62, 35, 91,203,210, 22,155,193,148, 18,141,148,236,188,163,179, 45, 57, 7, 20,162, 24, 20,196,136, 20,
+ 25,133,192,133,132,210, 26, 89, 18, 1,208, 82,145,149, 70,154, 14, 45, 21,194, 20,232, 93, 40, 81,185, 35, 69,170, 22, 98, 34,
+231, 2,153,198,156,241,187, 21,126,181, 34, 12,142,148, 2,140, 59,178, 20, 52, 66,213,247, 81,128, 44,198, 10, 8,139, 34,151,
+ 46,159,140, 76, 25,169, 21, 49, 59,188, 80,197, 9, 79, 21,205, 37, 66, 16, 83, 36,231,204,214, 7,146,148,120, 41,201,209, 23,
+104, 44,135,167,151, 3,156,158,194,225,122, 8, 49, 30,118,233,106, 10, 54,168,238,117, 66, 92, 91,232, 62, 80,196, 15, 97,202,
+135,255, 51, 21,110, 55,250,154, 25,255,219,255,227,127,203,103,191,244, 67, 92,173, 71, 54,235,129,213,197,154,148, 5, 74, 42,
+ 84,107,144, 82,240,202,157, 23,249,230,171,175,146,183,129,231,238,222, 45,145,186, 73,208, 26,195,209,204,160, 43,187,125,187,
+243,108,182, 35,187,109, 96,179,219,177, 93, 13,108,215, 35,227,206, 21,196, 71,102,194,224,153, 45,123,218,206,210,116, 37, 41,
+ 74, 27, 69,215,106,150, 71, 29, 71,203,134,227,147,142,211,101, 87,235, 76, 70, 40, 65,219,232,107,216,207,206, 12,183,110,204,
+217,236, 28,141, 53,164, 24, 73, 89, 16,146, 39, 71,129, 79, 1,171,245,181,242, 65, 43, 69, 22, 1,173, 5,198, 42,114, 76,172,
+ 55, 87,188,251,246, 61,190,249,173,111,241,246,189,123,228,112,194, 91,239,188,197,159,126,237,235,188,253,250, 57,175,223,119,
+108,178, 36,250,132,209, 2, 45, 4,179, 70,145,144,164, 44, 88,111,182, 40, 45,240, 94,208,205,122,238,223,187,143, 54, 6,101,
+ 20,155,213,142,211,103,142,249,161, 31,253, 2,127,244,127,253, 43,246,246,177,178, 22,109,189,191,249,139,135,138,247,148, 8,
+246,253,236,210,101, 13,114,158, 12,105,186,166, 88,155,202, 50,234, 98, 57, 43,135,175,150, 48, 4,104,106,252,100,161, 32,215,
+206,190,126,142, 48,148,143,203, 31,115,246, 56, 17,133,166, 3, 46,231,247,118,237,239,167, 48,121, 95,248,253, 96, 46,254, 65,
+170,148,154, 33,129,109,144,207,222,166,187,115, 27,223, 26,154,231,239,194,209, 17,185,179,176, 92,148, 75, 75,219, 86, 8,190,
+224,218,109,163,184, 99, 13, 89,148,144,148,153,180,196,228,232,114,102,244, 35,223,121,103, 5,235, 45,172,214, 69,165, 50,214,
+174,157, 15,136, 59,158,183,112, 60, 3,173, 17, 89, 48, 95, 44, 48, 18,230,166,167, 51, 22,171, 91,250,166,101,222,180,156, 29,
+181, 52,109,153,165,207, 91, 93,117,233, 25, 35, 36,173, 46,170,141, 20, 34, 97,240,116, 22,214,219,200,102, 53,176, 14,130,181,
+208,140,237,130,173, 49,168,126, 78,104, 90,152,207, 8,214,208,245,229,188,110,122,139,208, 6,137, 2,161, 11, 74, 39, 36,126,
+140, 68, 23,145, 58, 17,171,127,134,172,218,251, 12,136, 84, 26,174,152,203, 94,156,124, 66,114,245, 24,145, 90,178,245, 14,159,
+ 35, 57, 73, 86,222,145,195,193, 37,110, 74, 41,203, 83, 84,111,229,253,200,154,138, 54,249,146,200,122,145, 84, 21,154,207, 19,
+131, 93,149, 61,213, 53,251,172,245,201,106, 54,184, 66,138,147,169,102,213,223, 42,163, 14, 83, 59,125, 65,105,114, 69, 40,144,
+189,154, 52,241,182, 94, 48,235, 91, 55,233,231,159, 70, 19, 56,201, 74,165,126,176,210, 63,180, 94, 63,222, 76, 61,197,242, 64,
+250,190,108,192,166, 72,219,140,144,180, 66, 35,117, 33, 59,204,108, 91,152,199,128, 86,250,186,227,141,117,163,105, 33,200, 34,
+ 35,181,166, 81,229,176,210, 82,161,108,131,208,117, 6, 83, 97,246,156, 33,107, 73, 16,133,185, 78,206, 36,191, 35, 58,135,173,
+ 49,151, 54,130,202, 69, 83,169,100,137,122, 53,186, 41, 35, 19, 99,105,148,197, 42, 89,200, 24, 33, 34,201, 36, 37, 25,221,128,
+150,138,157, 47,238, 95, 69,108, 86, 72, 30, 84,205,186, 32,179,137,177,248,133, 79,190,240, 62,214,195, 85, 60, 26, 22,252, 94,
+100, 78,127, 80,183, 62,253,155, 83,161,158, 76, 60,168,112, 97,245,103,102,116, 15,126, 93,239,215,165,191,223,204,189,126,175,
+255,244,127,250,103,124,250,243,159, 96,189, 30, 73, 49,226,199,186, 17,115,198, 13,142,236, 51, 82,106,218,166,229,243,159,126,
+133, 23,158,123, 14, 66,145,192, 44, 22, 45,199, 39, 61,189, 53, 37,216,200, 71, 46, 86,158,213,214,115,181, 29,217,108, 11,219,
+118,216,248, 98,235, 43, 50, 74, 26,186,182, 65, 73,141,109, 53,243, 69,135,212, 69, 54, 54,235, 44,243, 70,179,104, 45,173,214,
+ 88,163,144,162, 16,216,250,198, 96,132,160,107, 45, 93,163,177, 82, 18, 98, 98,183,246, 88, 93,180,180, 41, 70, 82,200, 37,164,
+ 66, 89,150,139, 14, 55, 56,208,138, 93,220,210, 74,193, 56,236,248,235, 55,223,224, 27,175,189,137,115,130, 69,119, 74,202,146,
+174,189,205,167,190,248, 57,140,232,145, 33, 51,140, 27,190,246,221,111,242,187,127,242, 85,126,255,207,254,156,215,190,253, 6,
+139,155, 55,121,246,230,172,192,138, 62, 17,114, 96,240,137,243, 33,112,121,190, 41,132, 66,183, 37,230,178,158,118, 59,199,237,
+ 23,111, 50, 34,248,238, 95,252,101, 41,228, 90, 87,139, 74, 14, 32,121,177, 55, 47,250,155,122, 77,136, 65,174,157,205,209,178,
+204, 43,115,101, 15, 55, 13,180,245, 18, 98,106, 71, 62,133, 8, 81,101, 94,162, 30,176, 57,215, 61,149,246,100,177,143,178,111,
+ 30, 62,224,166, 78, 61, 61,162,160, 95,255, 61,249,232,207,251,190,204,119, 3,243, 99,110,188,242, 9,126,248,246, 29,190,253,
+181,191, 68,157, 29, 97,206,110,115, 98, 12, 27,219,151,238,124, 54, 47, 5,162,105,234,104, 66, 50,102,193, 12, 74,151,156, 18,
+131, 27,145, 49,114,127,183,225,254,118,203,187,111, 92,130, 91,151, 46, 48,184, 71,191,183,198, 22,248,184,235,160,179, 8,171,
+104,141,229, 70,183,224,164, 91,128, 16, 44,154,158,152, 50,243,217,156, 89,103, 48,189,229,120,102,174, 57,138,157, 81,104, 45,
+208, 82, 48,207,165, 46,249, 16, 89,173, 3,110, 72, 92, 37, 73,150,134,119,101,135, 71, 34,186, 35,180,106, 80,182,193,152, 6,
+219,245, 88,163,176,189, 98,244,133, 79, 33,148, 98, 76, 25,159, 5, 57, 39, 92,134,232,227, 53, 7, 69,146, 10, 89,174, 18, 34,
+179, 20, 72, 41,138, 71, 72, 44,235, 33,231, 72,111, 90, 20, 10,153, 18, 46,197,194,127, 9,129,148, 51,126,234,188, 75,128, 67,
+ 69,125,234,154, 17,236,139,182,210,101, 77,181,213, 57,179,179,229,158, 28,235,154,149,170, 20,126,165, 10,107, 94,202, 2, 3,
+ 52, 85,195,158, 37,184,109,121,198,119,110,208,156, 29,163,250,134, 72, 53,230, 26,134,253, 40,114, 28, 10,223, 44, 85, 19,175,
+ 92,247,166,148,251, 11,166, 60,224,155, 60, 41,178,251,136, 46,253,227, 23,245,105,227,236,226,245, 77, 56, 91,195, 38, 68, 78,
+251, 89, 97,192, 43,137,150, 26,159, 3,173,178,236,130, 43,146, 77, 33,137,169, 20, 0, 45, 96,222, 90,178,200,104,101, 48,218,
+146, 84, 49,143,209,182, 33, 27,133, 20, 5, 34, 79, 90,144,124, 42,186,116, 9,195,232, 72, 34,209,110, 86,140,163,195, 8,129,
+161, 28,204,198, 40,230, 82,146,234,173, 75, 26, 75,175, 13, 66,168, 66, 48,205, 25,165, 37,129,196, 38, 4, 58,165,217,166, 29,
+ 99, 40,183,185,109, 8,200, 20,113,201,177, 75,197,168, 38,196, 64,204,137,171,177,134, 11,140,190,220, 0,121,136, 96,118, 88,
+200, 31,158,121,124,148,228,166,199,133,225, 15,217,235,135,240,250,196, 70, 57,212,211, 78, 48,210,225, 60,253,240,224,123,224,
+123, 50,176,163, 0, 0, 32, 0, 73, 68, 65, 84,115,164,189,222, 83, 38,248,220, 23,249,103,255,253, 63,225,211,159,121,158,221,
+ 24, 73, 49,177,219, 56,164,148,104,173, 8, 46,224, 6,143,214,154,228, 19, 90, 27,218,166,132,237,100, 47, 88, 44, 91,238,156,
+206, 57,154,183,180, 86,147, 82,102,179,173, 5,125, 28,217,237, 60,209, 21,166,188,146, 18,221, 72,154,214,150,204,230,222,114,
+122, 54,199, 52,134,174,211,116,173, 98,217, 55,180, 70, 23,251, 86,171, 80,170,216, 65, 42, 41, 74,144,146, 16, 52, 74,161,180,
+160,109,202,218, 72,128,214,138,221,232,203,104, 50,102, 98,246,164,144,241, 62,150, 28,247, 52,178,176, 13,243,126,198,253,213,
+134,251,235,129,147,238, 22,183, 78,239,114, 60, 63, 99, 27, 50,175,159,191,198,215,223,254,255,184,120,253, 93,222,125,247, 91,
+ 52,218,224,162,103,227,182,133,212,233, 19,111, 93,173,184,247,250,134,175,191, 49,114, 30,203,220,178,213,162,192,156, 72, 98,
+ 18,196, 44,216, 92, 92,177,186, 56, 39,231,116,205,156,127,229, 51, 47,243,175,254,197,239,213, 53, 38,139,215,192,195,228,185,
+148,254,102,139,186,148, 92, 7, 14, 40,138, 76,200,214, 20, 55,226, 30,134, 55,166,116,234,145,194, 70, 86,213,152,101,242,224,
+ 14,110,111,179, 58,249, 55,124, 20,168,242,208,233,112, 26, 33, 61, 60, 83,127,148, 3,226, 7, 21,246,135, 47, 2,147,243, 91,
+215,193,236, 4, 94,121,158,159,121,238,121,250,254, 6,183, 94,254, 52,179,179, 51,190,112,242, 28,255, 38, 9,100, 63, 47, 35,
+ 60,211, 66,183, 4,219,178,180, 13,163,105,120, 70, 41,206,133,228,118,142,136,228,233, 1,233, 70, 24, 29,127,248,237,243, 82,
+208,183, 97, 63, 51,127,228, 25, 44, 96, 62, 43,207, 91, 73,116,215,209, 41, 77,171, 13,141,180,204,236, 2,165, 36, 77,219, 50,
+239,123,148, 81,180,141,166,239, 53, 86, 23,189,122, 57, 11, 4,115, 9,207, 14,130,185,147,156,135,192,189,181,227,124,204,140,
+ 89,178,217, 70, 92,130, 17,129,145, 2,221, 25,154,121,135, 54,154,153, 81, 72, 83,116,226,178,178,177, 99, 76, 24,163,113, 57,
+ 19, 82, 38,250,226,200, 72,206,252,255,196,189,105,143,100, 89,122,223,247, 59,219,221, 34, 34, 35,183, 90,123,157,238,153,238,
+153,158,149,228,144,179,144,166,104,120,100,137,180, 32,201,162, 12,193,134, 97, 24,134, 13, 88,111,253, 9,244, 73,252,206, 48,
+224, 55,130, 0, 3,150, 44,195, 16, 8,129, 34, 9,209,195,197,163, 25,206,210, 51,189, 86, 87, 85, 86, 85,102, 70,196, 93,206,
+234, 23,231,220,140,172,154,154,149, 51,102, 2,133,206,174,206,234,138,136,123,239,121,158,231,255,252,151,228, 35, 9, 89, 12,
+110, 60, 41, 41,164,150, 8,161, 80, 36, 98,146,196, 20,209, 82,150, 59, 39,226,136,136, 40,217, 20, 82,154, 75,146, 84,242, 24,
+ 50, 99,189, 92,239,144,178, 27,206,140, 28,201,217,174,178,236,186, 67, 89,205, 76,229, 62,104,171,178, 35,175,138, 29,111,217,
+191, 27, 85,238, 99, 83, 28,232,138,163, 92,101, 8, 77, 69, 24,166, 76, 92,156,166,108,208,100, 10,212, 95,215,121,143,222,180,
+ 89,233,160, 18, 52,203,146, 98, 90,216,244,198,228, 95, 84,217,159,225,106,199,254, 51,162,107, 79,153, 64,205, 60,167, 37,167,
+191,245, 25,250,119,238,253,156, 69, 61,148,142,218,134, 43,198,173,234, 26, 98,140,172,234, 38,239, 37, 83, 96, 97, 58,156,183,
+153, 9, 95,170,137, 86, 57,142, 47, 23,118,141,198,160,181, 34,206,246,130,166, 34,136, 12,125,250,148,167,233,148, 98,182,116,
+ 77, 96,221,148,189,159, 99, 68, 90, 71,155, 66,209, 3, 43,144,217, 0, 36, 20,153, 81, 43, 21,149,169,152,164,192,200, 60,249,
+ 67, 98, 12, 62,243, 96,100,162,119, 3, 83, 76,196, 24,153, 98, 32,132,132,141,150, 62, 70, 76,138, 76,209, 51,134,192, 16, 2,
+202, 72,236, 80,144,138, 84,178,117, 67,202,123,173,217, 60,227,122,227,243, 60,210,206,143, 43,236,241,175, 49, 49,137,178,195,
+153, 95,135,247, 69,255,250,188,235, 23,159, 62,208,174, 31,124,115,131,162,203,205, 92,138,124,247, 27,191,206, 63,253,253,223,
+229,213, 87,110,176,157, 44,206,102, 66,141,181, 33,155,196,184,128, 27, 61,206,122,188,139,153,232, 41, 43,110,223, 62, 98,217,
+214,220, 57, 57,224, 83, 47, 31,113,247,176, 99,213, 86, 24, 35,241, 46,107,206,123,231,217,246, 19,211,224, 8, 4,170, 90,114,
+124,208,113,120,188,100,213, 54,180,139,154,170,169, 88, 46, 27,218, 54,103,149, 47,154,108, 65, 89, 75, 73, 91,101, 98,150, 20,
+100,199, 58,178, 44,199,199,116,245,207,148, 18, 74, 73, 92,202,122,220, 36, 4, 55,110, 46,104,186,134, 36, 53,253, 48,224,220,
+136,212,146,187,119, 94,198,232, 21, 62,118,172,218, 99, 22,102,137,199,210, 79,151,188,247,248, 61,254,223,143,126,192,187,247,
+ 31,209, 15, 35,247,238,221,227,131,113,203, 73, 91,113,105,123, 98,176, 24, 41,176, 62,112,208,180, 28, 47,150,132,221,200,238,
+177,231,157,119, 31,240,120, 28,240, 94,224, 37, 56, 23, 48, 90,242,240,163,135, 36,161,184,127,118,159,182,174,112,253, 68,187,
+236, 88,159, 28,243,221,111,253,160,200,111, 74,150,121,186,122,170, 51,145,231,111,226,235, 11,159,132,143,206,246, 89,213, 93,
+ 57,184,116,225, 91,164,184, 55,174,145,101,234,105,230,103,164,202,174,134, 37,116,228,106, 29,180,219,100,114,211,245,103, 67,
+ 21, 11, 86,165,139,135,118,120, 26,141,146,215,166, 21,249, 12,249,109, 46,242,215, 73,162,215, 81,172,231,173,170, 4,249,253,
+164,107, 13,133,169,242,158,188,238,224,228, 24, 78,143, 57, 61,121,129,170, 94,160,214, 71, 44,186, 53,178, 90, 50, 24,195, 74,
+ 26, 30, 8, 9,205,138,165,174,248,120,189,224,139,221,146, 94,213,124,177,169, 9,186,230,213, 74,209,187,145,102,154, 16,253,
+200, 69, 63, 18,156,229,221,179,199,185,160,255,180,150,193, 85, 38, 41,179,168, 65,231,251,249,184,109, 57, 48, 45,135,221, 10,
+173, 53,181,106,105,154, 6,105, 26,132,145, 28, 29, 54,212, 38,123, 64, 84,149,196,250, 64, 83, 41, 54, 54,176, 35,112,223, 89,
+ 30, 91, 71,232, 35,155, 33, 48,133,196,214,131,143,129,160, 52,149,150,212,117, 69, 85, 86, 83,149,206, 69, 84, 75,208, 85,222,
+ 97, 71, 37, 81, 41, 18, 18,244, 54,159,179,169,164, 60, 75, 41,179,147,238, 24,144, 74, 35, 34, 8,153,175,107, 76, 16, 9,120,
+ 60, 85,146,196, 96, 73, 34, 19,172, 31,185, 33,155, 28,134,148, 67,107, 36, 56,239,247, 92,142,124,216,228,243, 42,196, 61, 12,
+ 62, 35, 90, 41,229, 34, 77,218,123, 31,204, 16,126, 73,176,203,135, 74, 93,172, 96,155,252,123,166,202,223,155, 18, 29,237, 3,
+ 60,217,230,130,158,128,182,219, 19, 73,108,145,216,205, 8,147,174,243,253, 28,108, 81,166, 20,117,138, 44,197, 61,149,220,148,
+168,178,244, 45,253, 53,247,237,193,210, 47,187,172,144,224,231,141, 94,245, 62,239, 22,188,133,113, 36,132, 37, 65, 64,239, 28,
+139,170, 34,132,132, 19, 19, 66,234,171,152, 86, 23, 60,157,174,217, 57, 87,194, 95,242,244, 24, 72, 40, 41,137,192, 32, 2,141,
+ 82, 76, 50, 91,181,202, 36,136, 66, 34, 69,200, 77,127, 83,227,167,128, 84,134,169,105, 88, 41,137, 68, 96,129, 6,129, 39, 17,
+241,212, 42,199, 52, 70, 60,141,212,108,253, 72, 74, 25,206,247, 5, 98,151, 82, 93,173,248, 34,137,232, 92,113,226,206,222,238,
+ 54,134,210, 0, 10, 90, 45,217,217, 80,172, 93, 21, 76,133,120,209,212,121, 10,121, 38,132,226, 41,232,123, 46,164,115,218,217,
+ 47,210,204,255,250, 62,252,122, 99,161,245, 62,160, 0,160, 57,129,221,195,189,139,157, 46,176,174, 44, 7,153,245, 79,191,174,
+ 57, 20,102,178,168, 47,126,145,255,241, 31,255, 46,183,110, 29,211, 91,135, 31, 61,206, 39,198,126,194,109, 39,188,145, 89, 87,
+238, 28,166,174,233,218,142,174,109,185,113,178,230,112,209,112,220, 54, 28, 30,212, 84,198,224, 17,232, 4, 33,228, 6,175,173,
+ 53,245,168, 88, 24, 67,106, 34, 82, 24,186, 78,113,184,108, 56,232, 42,170, 42,223, 23,143,183, 83, 38,186, 10,129, 79, 9, 37,
+196, 21,225, 73, 37, 24, 93,196,151, 38, 42,164,132, 15, 57,128, 66,144,208, 10, 34, 57, 37,106, 33, 12, 34,102, 78, 7, 73,178,
+ 88,100,120,116,220, 14,128,160, 94,156,114,121, 25,248,193,135,223,195, 37, 79,171, 12, 67,152, 24,253,196,197, 48, 50, 78,150,
+139,209, 33,107,145,107,234,144, 96, 51,240,199, 37,142,164,171, 37,175, 30, 30,210,153,200,163,161,231,160,223,112, 99,169,177,
+253,134, 16, 3, 15, 63,122,159,147,211,155, 44,215, 45, 71, 39, 43,142,150, 53,175,189,241, 49,254,236, 79,191,206,217,118,160,
+ 86,231,172,143, 15,120,116,239, 33, 47,188,246, 42, 44, 86,215,238,169, 6,252,144, 15, 16,255, 55,167,190,248,242,107,111,242,
+ 71,147,135,239,191, 95,228, 69,213,158,112, 38,202,247,190,248,197,171,178, 95, 79,117, 46,186,253, 46, 79,188,233,218, 1,182,
+155,138,186, 34, 62, 69,144, 71,181, 80,207,200, 82,202,223,135,248,195, 58,243,164,159,150,246,120,255,252,103,172, 42,191,231,
+125,222,253,247,219, 60, 81,167,107,140,104,231,243,239, 25,153,247,169, 55,215,121, 71,174,117,126,214, 23,199,124,242,228, 22,
+232, 5, 13,138,164, 36, 71,109, 67,116,142,229,201, 9, 63,216,238,192, 77,156, 52, 29,199, 4, 30,122,248,213,229,154, 71,231,
+231,188,209, 5,166,237, 19,190,149, 22,156,125,244, 4, 30,220,135,116, 93, 30,251, 51,156, 9,215, 87, 14,149,161,110,115,147,
+ 84,107,197,110, 26,169, 85,139,234,114, 51, 99, 67,160,211, 13,227, 20,193, 68, 78, 90,201,118, 8, 44, 59,205,217,214, 34, 36,
+156, 91,143,177,158,225,194, 33, 82, 34,197,136,221,141,224, 5, 3,130, 86, 37,164, 49,180, 2,164, 20,200, 20,144, 8,132,203,
+164, 82, 69, 64, 36,129, 10,185,216,134,148,168, 67,246,114, 8, 33,103,174, 11,153, 16, 73, 99,234,116, 69,171,240,110,142,185,
+ 78,153,199, 18, 21, 99, 24, 73, 72, 70, 63,224, 98, 66,167,196, 24, 2, 74, 64,171, 5, 27, 79,153,112,109,201, 97,151,215,140,
+104, 10, 33, 83,139,189, 98,231,202,122, 88,194, 82, 61, 93,195, 18, 48, 21,109,250, 52, 27, 21,201,226,156, 90,238, 23, 89, 84,
+ 28,222,103,196,102,188, 78,208, 44, 50,205,249,114,212, 42,163, 83, 83,202,223, 55,203,226,102,167,247,168,130, 20, 16,171, 60,
+ 20,155,194, 9,208, 99,110, 22,254, 58,233,109,223,248,222, 95, 3,126,191,186,177, 34, 56,145, 59,117,109,168,171, 42, 59,168,
+198, 72, 91, 25, 34,146, 74,202,236,170, 21, 34,181,174,112,193,210,152, 6, 37, 36,149,210, 24,153, 77,238, 43, 93,161,234,138,
+170,174, 89, 29,174,243,218,195, 39, 98, 97, 54,134,152,163, 6,133,200,123, 32, 59,246, 28,232, 12,185, 10, 37,105,141, 38,200,
+108, 21,216,153,154,136, 32,170,132, 84, 21, 3,145,182,105,114, 20, 38, 17, 97, 20, 46,192, 24, 29,117,221,112, 49, 58,108, 74,
+136, 18,152,224,163, 39, 10,193, 24, 61, 62, 5, 42, 45, 56,159, 60,131,143, 25, 90,179,182, 72, 24, 10, 67, 86,215,249,230, 8,
+101, 92, 84,197,107, 93,170, 61, 17, 67,166,253, 77, 38,197, 47,198,126,243, 58, 35,247,106,234, 41, 30,217,215, 39, 16, 31,224,
+181,151,242,129,187,219,236,225,160, 84, 8,116,149,218, 19,152,230, 73,198, 21, 93,250, 39, 63,203,255,244,223,252,125,222,120,
+229, 22,219,201,114,254,100,199,102, 51,144, 98, 66, 8,129,115,142,177,183,217,117,202, 71,218,166,227,244,198, 33, 55,142, 15,
+184,181, 94,210, 40,157,225,240, 36, 24, 93, 98,103, 35,151,147,103,231, 60,155,237,196,102,176,236,172, 99,176,158,182, 82, 44,
+ 91, 67,215, 24, 26,147,239,157, 32, 4,181,145,116,181, 46,171, 89, 73,165, 36, 54,228,132,190,209, 7, 6, 31,136, 41, 49,249,
+128, 43,228,153, 16, 83,118, 7,140,241, 74, 7, 79,177,165,204,134, 67,130, 85,173,185,232, 39, 36,112,180,108,232, 7,199,135,
+247,222,225,223,189,243, 29,222,254,206, 7,220,127,231, 17, 31,220, 59,227,254, 59,143,120,244,131, 75,118,214,194,162,202, 16,
+163,214,220, 94,118,156,222, 58, 64,174, 27,218,198,208,214, 13,151, 59,203,165,155,232, 83,226,114,178, 36, 2,147, 79, 52,166,
+102,189, 62,101,177, 56, 98,185, 62,166, 58, 48,216,205,150,203,161,231,248,112,193,119,223,126,143,203,113,224,201, 56,176, 50,
+ 21, 70,107,218,174, 69, 25,248,224,131,179, 61,180, 28, 67,201,154,254,155,131,221,223,255,230, 95,101, 8, 82, 74,168,219, 92,
+ 89,175,152,227, 51,251,188,192,163,243,228,110,195,222,174,184,183, 25,134,119,236, 11, 90,138, 79,195,144, 66, 67, 91,158,157,
+217,172,230, 89,119,184,121, 26,191,126, 30, 81,154, 3,127,173,248, 95, 73,151,100, 49, 39,161, 48,239,175,165,104,205,251,233,
+122,149, 15,244,155,167,121,242, 58, 88,102, 79,246,118,149, 27,172,170,229,172, 90,240,198,106, 9, 70,163,144, 44, 5,168,174,
+163, 50,146,203, 32,120,189,169,121,185,170,145,149,161,209,146, 49,192,205,197, 18, 45, 35, 74,213,220,172, 4,223,189,236,225,
+252, 73,246,188,248, 73,123,252,231,125,117,217,205,147, 85, 11, 50,187, 23,118,218,100,166,123,179, 96,217,174, 80, 73, 97,234,
+ 26, 83,213,200, 90, 99,165, 36, 10,208,181, 34,144, 56, 27, 61,187,152,120,188,177, 52, 41,209,111, 39,130, 13, 92,156, 79,108,
+138,137,147, 19, 49,135,170, 72, 56,212, 25,186, 87,228,218,134,183,172, 42,197,146,132,140,129,198, 36, 42,153, 57, 77,102, 12,
+ 44,140,192, 91,207,218, 72,140,204,126,244, 46, 38, 82,113,105, 75, 82, 96, 93, 86,184,120,103,145,210, 96,157,103, 8, 14, 65,
+192, 71, 65,239, 7,124,153,166, 67, 74,140, 49,146, 82, 96,154,121, 65, 41,238, 67, 88,162,216,187, 18,218,130,166, 94, 31,172,
+164,200,133, 54,201, 61, 50, 35,196, 30, 66,215,229, 92, 60, 92,228, 34,188, 94,228,169,186, 42, 1, 71, 77,125,205, 57, 80, 21,
+179,174,148,163,185, 21,249,254, 81,229, 44,174,212,254, 60,158, 37,117,179,151, 68, 44, 36,202,170,202,175,111,190,150,166,161,
+200,180,184, 10,181,255,105,214,182,207,221,228,206,190,180, 63,235,244,232,201,147,235,110,128,101,203,229, 56,209, 30, 24, 42,
+173,242,123,149,121, 63,168, 0,173,178, 25,141, 86, 57,212, 66,154, 12,135, 68, 45, 89, 84, 13,222, 7, 24, 28, 71,235, 99, 98,
+ 76,180,117,205,214, 57, 68, 76,184,204,130, 64,106,133, 74, 16,123,203,186,233, 16,222, 33,149,166,149,217,112,163,142,142, 24,
+115, 39, 86,215,154,201, 58, 60,176,208, 21,131,155, 64,231,189,102,239, 61, 19,160,117, 69, 31, 28,117,101,114,224,142,130,138,
+132, 77, 33,195, 59, 17,140, 20,220,223, 77, 88,145, 88, 24,197,165,115,249,144,153,161,207,182,202,147,122,219,230,110,203,150,
+174,173,160, 19,121,210,136, 57,179,215,164,189, 46,242, 23, 57,173,135, 31,227,152, 53,119,126,223,252, 22,212, 39,251,191, 55,
+ 20,226, 82,163,242,158, 73,213, 48,110,246,211, 79, 57, 52,255,251,255,252,107,124,226,213,219,124,244,232,156,243, 39, 3,227,
+182,207,131,208,177,161, 63,223, 33,165,202, 82, 63, 64,169, 26,169, 53, 70, 27,214,109,131,136, 2, 76,158, 94,165,132,193,123,
+ 70,159, 3, 93,166, 41,224,188,203, 73,107, 62,178,106, 20,181,150, 24,149, 53,232,181,150, 4,159,211,247,124, 72, 87,207,164,
+245, 1,169,100,182,246, 77, 17,231,178,193,140, 81,130, 90,102,235,225,193,103, 21,195,186, 49, 28,215,154, 39,222,161,162, 34,
+164, 64,165, 20, 19, 2, 37, 35, 86, 36,162, 11,124,244,254, 19,222,122,233, 6,127,231, 87, 63,206, 7,175,221,225,243, 79,182,
+108,207, 30,115,113,255, 62,255,230,222, 67,238, 95,236, 56, 62, 88,178,179, 83, 38,118, 93,244, 88,229,168, 94, 61,226,245,211,
+ 23, 0,201,232,122,142,154, 53,143,250,115,222,125,242, 17, 99,244,220, 89, 31,113,227,224,148, 23,143, 95,193, 52, 10,161, 36,
+ 93,183,128,148,208,169,195,138,158, 39, 31,124,200, 52, 90, 72,146,117,211,241,157, 71, 15,217,244, 59,186,229,130,113, 24,120,
+235,205,143,243,199,127,244,151,133,195, 49, 75,169,228, 47, 75,163,246,156, 7, 92, 63,127,130,156,119,132,215,115,170,159, 82,
+200,148,189,162,223,150,201,153, 12, 47, 87,250, 26, 23, 32,238, 51,218,159,125, 22, 26,253,244, 68, 42,126, 12, 74,117,253,229,
+ 94,127,173,243,189,174,100,137,227,140,251, 2,110,231,169,188, 20,253,102,193,167, 94, 57,229,155,125,226,173,227, 37,255, 97,
+112,249, 16,215, 69,117, 80,215,249,185,111, 50,114,178,113,150,163,102,149,225,220,174,206,219,200, 36,249,204, 97, 71,140,137,
+206,123,238,133,196, 75, 82,178,213,146,190,223,225,245, 1, 55, 87, 59, 52, 1,150, 7,112,120, 10, 15,166, 61, 82,240,211,126,
+205, 70, 61,199,213,158,176, 15,180, 85, 77,165,178,106, 8, 33, 17,117, 13, 70,147, 42, 73, 31, 5,210, 38, 38, 13,187,173, 67,
+ 40,168, 98, 34,248, 64, 27, 2,143,135, 68,178, 30,119, 49, 50, 77, 14,225, 34,209, 7,164, 15,164, 41,178, 90,106, 84, 72, 24,
+160, 85, 18,182, 30,161, 36, 85, 8,212, 74,113,128,160,237, 3,203,166,195, 74,129,104,243, 94, 60, 44, 20,151, 2, 6,159,152,
+ 72,104,163,216,141, 57,231, 67, 38,143,170, 27,252,118, 3, 66, 50,216,204,169, 48,218,144,130,163,213, 57,207,131,104,233, 84,
+ 94, 3,100, 87, 76,168,140,193,150,128,159, 43, 25, 89, 44,126,240,243,122,212,152,162, 8, 33,239,219,103, 7,195,186,228, 96,
+ 84,134, 43, 59, 87, 91,206,194,121,181, 97,212,158, 24,185,217,237, 99,136,107,179, 71,117,148,134,118,158,208,219,114,127,149,
+123,202,135,125,202,219,108,136, 51, 27,210, 44,154,253,128,215,150,149,213,193, 34,251,159,136,226, 55,111,251, 34, 1,245,215,
+182, 74,254,167, 6,115, 20,159,248,141,127,134,110,138,199,240,207,120,131, 93,193, 27, 2,140, 97, 20,130,163, 98, 25, 27, 82,
+162,171,187, 76, 52,148, 25,182, 1,137, 81, 6,231, 45,139,170,197,152, 10,239, 29, 74,107,170,170, 66, 42,153,173, 61, 71,143,
+119,129,152, 66,134,232,189,205,126, 3,198, 92, 73,213, 4,130, 78,105, 84,165,104,171,154, 88,188,182,149,202,190,193, 90, 41,
+122, 60,190, 50, 56, 41,136, 82,224,203,244, 23,165,194,133, 84, 10,132,194,147, 24, 98, 68, 42, 65, 64, 49, 5, 71, 20, 96, 99,
+196,123, 79, 4, 46,103, 59, 65, 55,199,244, 5, 24,124, 62,128, 76, 73, 65,211,114,207,190,212,213, 85,224, 12, 34,128,207,121,
+200, 25,134,249, 5,234,220,159,149,160, 93,119,154,131,124,160,165,196,242,139,159,226,205, 79,127,146, 7,223,127,167, 4,107,
+ 20,214, 39,100,233, 76,244,229,192,200, 13,203, 87,255,209,239,241,197,175,124,150, 39, 23, 59,206, 30, 92, 48,141, 14, 33, 36,
+139,163, 37, 82,192, 56, 58,148, 84,153,132, 40, 52,141,233, 88, 45, 23,220, 56, 92,177, 48, 6, 93, 73, 42, 45,179,172,176, 20,
+228,201,122, 38,231,121,120, 57, 48, 12,150,144, 34, 93,173, 56, 57,104, 56, 89,214,116,149,166,174,179,129,139, 72, 96, 83, 68,
+149,196,189, 90, 41, 92,202, 69, 62,165,132,143,145,169,172, 2,188, 15,153,171, 17, 2, 75,149, 77, 53,106, 9, 71,181, 64, 37,
+ 65, 91,107,140, 82, 28, 47,170,204, 50,247,217,184,232,171,119,143,185,191,245,124,251,189, 75,234,165,230,159,252,202, 43,188,
+113, 99,141, 93,116,220,121,241, 5,110,117,135,252,173, 79,189,206, 73, 85,115,115,209,241,202,225, 1,111,223,127, 12,135, 13,
+ 55, 15, 14, 89, 54, 71,212,213,146,179,254, 12,235, 39,142, 22,167, 28,117, 71, 88, 59, 32,180,196,166,192,163,221, 37,253,180,
+165, 51,154, 16, 18,170,170,105, 79,142, 88,159,172,121,244,209,123,220,127,248,144,179,237, 37,141, 82,216,232, 57,219,141, 28,
+183, 53,218,212,172, 78,143, 56,239, 39, 30,199, 2,225, 45,234, 60, 57,110,182,240,242,139,121,215,187,219,254,116,132,178, 89,
+226,248, 60,255,105, 93, 12, 83, 84, 93, 10,118,169, 20, 17,126,200,217,238,106,197, 83,149,123, 59, 93, 13,231, 87,171, 32, 81,
+216,193,241,218, 58, 71,183, 69,195, 92, 98,140, 99, 40,207,197,143, 32,179, 25, 83,140, 61,194, 62, 6,152,244,252, 41,253, 89,
+ 7,184,249, 25, 48,229, 92,155, 9,125,130, 12,115,170, 98,164, 21,129,213, 33,191,243,137,187,208, 45,248,212,233, 1,163, 50,
+124,108,125,204, 3, 93, 19, 40, 36, 40, 53, 59,226,105,106,165,184, 45, 13,171,186,197,106, 77, 40,159,109, 15, 8, 31,185,211,
+ 42, 30, 76,129, 35,165,121,140,228, 52, 70, 70,173, 57,145,130, 71,187,137,202, 40,190,179,221, 16,182, 27,112,187, 44, 95,155,
+157, 27,137, 63,217, 29, 80,138,252,218,219,114,173,180,166,174, 52, 71, 85,203,141,118, 77, 83,119,232,182, 35,233,138,164,103,
+ 99, 26,137,175, 52, 91, 31, 25,109, 98, 40,124,150,201, 5,122, 23,176,189,195, 59,207,110,211, 51,238,118,216, 97,196, 13, 3,
+ 79, 54, 23,248, 48,176, 10,129, 54,122, 26,111,105,132,162,149,130, 54, 37,148, 11,168, 16, 80,253,150,195, 32,104,156,227, 80,
+ 36, 78,132,164, 78,176,144,146,227,153,188, 22, 18,163,205, 38,100, 81,130, 39, 27,205, 88,114, 38, 67,116, 83, 1, 99, 2,181,
+132,173,179,212, 90,161, 99, 65, 85,147, 96, 91, 84, 34, 50, 37,166, 48,171, 38,202,125,161,138,124,208,198,124, 47,135, 82,228,
+141,218,123,186,171, 98, 35,107,202,218,104,110, 78,187, 54,159,233,203, 54, 23, 86, 93, 96,117,235, 11,217,173,144,186, 42,185,
+135,252, 83,122, 70,217, 81, 10,249,220, 44,198,107,164,198,114, 6,102,120,158,125,112,207, 12,205,147,114, 3,217, 85, 5, 61,
+ 48, 37,168,166,202,182,236,198,228, 65,108,158,226,141,250,177,104,175,166, 42,111,206,245,249, 65,252, 89,119,235,253,148,223,
+100,183, 32,180,145, 39, 67,207,170,110, 88,181, 11,118,211, 68,103, 42, 98, 20,104,165, 8,201,227,130,167, 53, 13,162,216, 8,
+106,221, 20, 94, 86, 96,219,111,113, 5, 58, 75, 50, 75, 96, 4, 30, 97, 76,238, 64, 67, 68,104, 67,136, 17, 45, 50, 44, 34,200,
+ 72,158,150, 58, 55, 19, 37, 3,120, 34, 81, 91,195, 16, 29,178,173,137,147, 39,146, 47,104, 26, 29,168, 72,136, 57, 64, 64,138,
+ 28, 3, 58,216, 17, 85, 12, 27,130, 29,242,231,111, 42,198,105,204, 55,198,124, 65,231, 32,138,142,253,174,164, 41, 83, 59,177,
+200, 27,124,177, 19, 28,179,204, 69,216,125,135,104, 13,248,205, 47,103,224,242,215,118,235,222, 23,147, 5,205,246,235,127,193,
+ 95,118,119,246, 41,113,179,127, 65,152,181,190,236,157,242, 62,253, 43,124,249,171, 95,100,234, 29,231, 23, 59,236,224,233, 86,
+ 29,235,227, 5,187,157,205, 58,236,170,152, 5,249, 72,219,180, 28,173, 87, 88,155,216, 92, 58, 90, 93,161,141,206,241,182, 33,
+ 91, 75,246, 54, 50,249,136,240, 41,155,212,233,226, 52, 72, 34,250,136,151, 34, 39, 74,185, 12,143,139,226,167,158, 27, 68,152,
+ 98,134,211,189, 15, 76, 33,160,129,187, 11,195,214,121,108, 36,235,210,133,160,174, 36,166, 16, 39,183, 73, 82,213,249,129, 90,
+ 86,186,168, 51, 20, 42,229,176, 8, 93, 43,190,252,214, 93, 14,239, 58,132,155,248,151,223,251,144, 79,158, 30,178,104, 43,222,
+126,239, 33, 7,171,142, 91,199, 45,159,251,204,139,124,233,238, 17, 95,127,255, 17, 31,127,245, 14,127,240,141,111,211, 85,138,
+255,240,240,109,110,117,135,108,118,231,180,139, 53,141,214, 28,180, 43,130,219,240,253,199,247,248,246,238, 17,156,245, 48,129,
+124,105,205,155,199, 7,188,122,114,151,203,199,231,220,188,123,139,110,125,155, 15,238,127,157,247, 31,111,121, 18, 2, 71,141,
+225,184,209,188,254,202, 43,208, 86,188,124,231,136,255,234,239,253,109,198,205, 84,164,179, 9,239, 44,214, 58,126,243,197, 19,
+222,221,142,220,187,127,198, 63,255,147, 63,229,251,127,242, 39,207,191, 31,230,201,126,158, 96,174,166, 61,251,244,228, 29,138,
+ 51, 87, 20,121, 79, 45, 96,191, 64,252, 81, 13,165,223, 67,153,243,200,152,138, 53,177, 42, 15,230,172,170,104,155, 61, 68, 63,
+142,123, 39, 48, 51, 51,233,175,161, 87,222,231,226, 43,202, 68,227,226, 30, 77,212,250,153, 41,253, 57, 19,140, 47,137,130,161,
+200,157,204,140,104, 85, 64,137,198,140, 64,183,162, 90, 47,104,215,199, 60, 30, 29,147, 94,209,170,136, 87, 45, 7,106,226,108,
+102, 67,199, 0,228,102,224,165,234,152,191, 36,241,149,177,199, 87, 29, 15,189,231, 70,157, 21, 54, 46, 6,118,219, 68,155, 18,
+ 46, 4,150, 62,112, 33, 19, 77,128,247,135,129, 59,109,199,159, 61, 60,195,234,186,228, 41, 52,192,112,109,152,210,123, 53, 65,
+224, 71, 35, 37, 77,243, 84, 35,181,214, 53,175, 44,142, 48, 90,211, 45, 14, 80,166,193, 10,137, 23,217, 37, 81,135,128,244,158,
+158, 60, 45,214,129,108,186,148, 34,135, 33, 50, 4,136,214,147,236, 68,231, 61,151,155, 39,108,135,145,139, 96, 57, 89, 44, 48,
+ 65, 98,162, 64, 43,131,242, 19, 76,145, 74,107,100, 74,172, 72, 28,168,154, 62, 76,220,162,166, 9,128,205, 17,184, 49, 36,182,
+ 41,177, 6,188,148, 96, 2,187, 36,216,246, 57,138,117, 8, 16,165,198,121,176, 73,224,163,133,152,216, 38, 79, 35, 4, 67,136,
+ 57,249, 48, 72,182,113,226, 88, 73, 30, 90,143, 79,137,202, 40,172,191, 86,216, 92,200, 77,163, 36,103,116,212,234,202, 19, 38,
+251,245, 87,153,244,166,203,120,189,185,132,195,155, 87,217, 33,121,184,241,217, 44,104, 94,139, 84,165, 33, 30, 11,241,120,156,
+242,223,129,202, 30,244, 70,239,137,199,218,236, 25,237,115, 35, 60, 7, 21,213,106,111, 49, 27, 11,169,180,196,204, 94, 33, 71,
+162, 88, 5,207, 16,126,167, 11, 2, 81, 66,106,132, 4,209,149, 84, 66,191,143,149,157,182,207, 41,234,214,230, 23,253,243, 70,
+194, 57, 11, 99,121, 80,235,138,209, 84, 32, 39, 26,165,209,166, 33, 4, 79, 83, 53, 56,239,179,109, 32, 1, 37, 4,163,179, 44,
+171,150,132,199,135,188, 43, 7,152,220,136, 49, 6, 65, 78,231, 97, 4,161, 36,202,228,110, 44,196, 68,165, 13, 82, 72,100, 74,
+ 40, 45,208, 90, 34,165, 36, 90, 15, 77,131,176,142,224, 70,236,178, 35, 13, 3,187,209, 83, 53, 21, 97,202, 19,172,212,154,224,
+ 66,118, 52,210, 26, 3,244,222, 17,230,157,135,169,193,123, 42,149,120, 56,236, 8, 66,130, 42,222,189,182,192, 47, 90,238, 77,
+191, 98,249,240, 27,157,247,135, 49,236,147,116,150,139,124, 3,232, 42,103,241,206, 36,167,174,185,150,219,251, 75, 40,236,215,
+ 39,150,249,151,125,239,233,131, 83,235, 98,252,241, 52,148,249, 15,127,227,147, 28, 28, 46, 24,122, 71, 93, 85,196, 54,210,173,
+ 26,134, 41,224,125, 32,248,144,161,247, 49, 66,212,144, 36, 77, 91,209,181,154,227,101,199,201,186,161, 49, 10,173, 4,147,143,
+ 87, 62, 17, 25,164, 72,156,116, 21, 73,102,139,212,186,146, 44,235,236,212, 85, 43,144, 73,226, 93,222,125, 87, 38,179, 94,173,
+207,170,133, 90,136,140,150, 26,133, 72,137, 86, 9,142, 27, 73, 31, 2, 62, 9,142, 69,162,145, 32,100,226, 50, 69, 84, 20, 60,
+216, 57, 22,149,166, 89, 42,166, 8, 55,187,134, 70, 43,238,157,247, 84,141,226, 83, 55,150,124,226,101, 69,171, 37,223, 61,219,
+240,199,223,127, 76,178,137,118,181,200,172,210,193,161,158,244,252,145, 11,156,172, 59,254,233,215,126,141,223,248,220, 39,248,
+171, 15, 30,241, 23,127,254,109, 8, 19,127,241,216, 49,212,142,239, 61,252, 30,173, 54, 60,222, 92,112, 62, 76,121,157,211, 25,
+208,129,248,120,195, 55, 31, 92,240,225, 75,151,124,246,228, 9, 97,218,112,252,194, 29, 62,241,218,167,249,236, 23, 86, 28, 30,
+ 53,156, 30, 85,124,236,100,193,113,171,217,218, 64,140, 9,119, 43,175, 9, 14,154,236, 3,177, 48,146,202, 72,158, 12,158, 99,
+ 27,249,170,150,252,195,127,240,219, 92,140,142, 15,207,123,254,234, 59, 31,242, 7,127,242,111,248,247,255,242, 15,114,241,126,
+ 22,189,126, 14,124,159,102, 78,198, 83,147, 50,224,126, 68, 81, 9, 49,167,254,173, 86, 87,220,162,252,255,141,249,126,130,167,
+ 7, 4,235,193,216,130, 94,197, 31,173, 6,185,190,150,250,113,164,161,167, 26,215, 31, 1, 81,207, 68,209,201,150,116,184, 17,
+148,205, 16,122, 4,150, 29, 7,183,143,249,220,237, 35, 30, 76,142,182, 91,208, 72,131,174, 26,188,183,188, 46, 91,162,115, 60,
+ 22, 83,209, 53,231,117,195,247,118,143,249,220,193, 17, 31, 76, 19,157,245, 44,155,134,139,113, 96,170, 42, 86, 36,190,229, 19,
+159, 58, 88,224, 67,100,212,138,208,247,244, 68,110, 24,205,187,110,226, 65,242,185,104,175,186, 60, 8,236,158,121, 15,234,153,
+141,200,243,222,223,236, 3,128,130,186,227,184, 57, 0,109,232, 86, 39,128,200, 50, 49,165, 24,172,199, 8, 5,109,102,189,143,
+206,102,146,127, 37,137, 33,114, 75, 36,250, 0,149,245, 56,159,101,118,143,206,207,168,172,227,124,216,178, 86, 18,101, 61, 85,
+ 91, 50,215,181, 66,248,136,209,138, 70,105, 90,165,104, 66, 64, 37,201, 43,170, 65,183, 6,233, 50, 87,105, 12,142, 74, 26,150,
+ 17, 92,217,109, 75,165,176, 9, 14,170,192,189,201, 33,148,100,176, 16,181, 33, 22,215, 60, 27, 71, 26,169,241,193,211,136,188,
+130,105,141, 38, 18,217, 13,158,227, 74, 18,167,196,214, 63, 19,128,163, 75,246,192, 44,250,153,175,217,172,106,208, 6,213,182,
+ 4, 1, 75,221,210,175,142,178,185,213,220,224,166,178, 90,165,104,202,103,253,183, 47, 67,161,243, 57,223,125,178,249,140,191,
+ 90,125, 62,207,182, 53, 62,237,251, 62,133,189, 74,169, 42, 78,117,117,149,121, 78,211,144, 45,106,131,205,141, 71, 27, 96, 96,
+111, 83, 60,199,246,174,171,140,112,205,107,178,177,217,115, 82,226,248,148, 25,154, 34, 30,253, 51,250,221, 47,198, 33, 77, 43,
+ 44,146,227,197, 65,102, 43,147,117,232, 62, 6,140, 52,132, 20,179,113,143,146,212, 82, 35,148, 68, 11,205,228, 28,198,232,108,
+ 56, 83,236, 10, 19, 18,235,178, 23,180, 49,249,165, 6, 33,209, 74,162,234,138, 78, 41, 92,136,212,198, 16,139,255,182, 48, 21,
+ 82, 10,122,159,205, 82,108, 49,213, 87,166,194, 21,178, 84, 10, 41,155, 36,248,108,136, 16, 98, 98, 76,146, 68,196, 9, 65, 31,
+ 34,194, 71,156,144, 92,122,139, 22, 2, 23,115,246, 58,163, 43, 45,180,156,147, 72,242, 1, 35, 74,182,239, 12,181,248,180,135,
+229, 41, 36, 57, 81,172,183,116, 85, 76, 15,202, 69,255, 57,201, 16, 63, 53, 52,255,211,252,251, 51,191,255,247,254,219,127,130,
+146, 96, 71, 79, 8,185,184,132, 72,201,176,167,216,233, 10,130,135,186,174, 89,173,150,220, 61, 93,115,178,234, 88, 45, 43,150,
+ 38,147,106,102,215, 80,151, 34, 33,164,156,167,160, 5,146, 68,163, 20,167,107,195,210,232, 28,211, 56,191,148,144, 81,155, 84,
+248, 47,214, 7,100,138,184,152,167,250,144, 2, 33,230, 73, 40,133,200, 50, 6,100, 8, 28,196, 68, 37,160, 18,146,147,148,232,
+ 98,226, 72, 10,172,200, 83,129, 69, 48,110, 7, 78, 43,195,113, 83, 97, 18,124,235,108,199, 7,151, 35, 8,112, 8, 78, 15, 58,
+ 94, 59, 93,242, 36, 8, 92, 72,220,190,181, 4, 35,233, 55, 35,110,116, 60,222, 78,216,201, 51, 38,137, 49,134, 95,255,252,107,
+188,122,186,166,221, 89,254,175,119, 63,228,163,221,150,147,174,166, 51,154, 86, 27, 86, 90,179, 37,145,106, 69,210, 18,121, 80,
+241,249,211, 99, 94,190,121,194,209,141, 5,191,255,183, 94,231, 31,125,233, 99,124,233,205,219,124,254,229, 99, 62,125,123,141,
+ 20,130,203,193, 35, 82,126,126,124,136,236,172,103, 42,132, 64, 18,152, 74,177,168, 12,125, 16,124,112, 57,161, 82,228,229,211,
+ 37, 95,184,125,196, 75,119, 14,249,237, 47,126,129,127,252,251,191,199, 43, 47,189,196, 31,254,209,159, 34,144,121,109, 37, 4,
+ 34,101, 67,165,108, 2,146, 15, 32, 97, 52, 34,169,125,241, 87, 62, 79,217,209, 62,127,143, 61, 75, 38,173,203,208,160,119,123,
+226, 82, 74, 48,244,207, 88,179, 22, 34,102,112,123,185,219,117,107,215,249,240,251,113, 30,239,215,139,254,179, 43,166, 31,154,
+100,203,142, 83, 25, 56, 88,103,104,179,237,114,228,235,170,205, 59,204, 69, 67,234,106,110, 54, 13, 73,213,188,118,184, 38, 42,
+ 56,210, 25, 53, 56,172, 5, 15,109,228, 50,133,189,115,153,200,222, 2, 70, 72, 14, 98,162, 14,142, 46, 5,206,172,101,185,125,
+140, 53, 21,223,159, 70,118, 33,114, 71, 73, 30,218,137, 35,165,232,157,167,247, 17, 29, 2,223, 24,167,124, 80,251, 30,118,187,
+167, 19, 21, 37,251, 40, 80,226, 15, 15, 90,179,202,230,228, 6,172, 22,176, 94,243,194,209, 13,126,227,246,203, 28, 44, 22, 24,
+ 45,168,181,193,232, 26, 27, 50, 41, 46, 42, 69,240,137, 33, 6,162,148, 52, 82,208, 72,193, 97, 2, 23, 34,235,152,176,131,163,
+ 38,176, 59,127,130,187,124,130,157, 70,150, 9,218,182,166,105, 90, 58, 93,161,149,196,196, 72, 83, 27,140,128,133,169,232,128,
+195,202,176,142, 9, 35, 5,173,148, 57, 72, 70, 10,234,226,190, 39,124,162, 49,138,160, 37, 23, 49,175, 52, 71,153,120,178, 29,
+121,224, 3, 59,239,144, 36,164, 80,104, 33,104,116, 3,228,193,109,240, 1, 93,144, 58, 45, 36, 33,228,231,160, 83,154,243, 16,
+ 8,162, 64,234,161,228, 90, 36,153, 27, 37, 93,200,202,198,228,207,169, 93,242,202,250,152,151,186, 21, 47,214, 75, 94, 90, 30,
+176,144,134,186,233,184,156,173,101,227,108,141, 88,216,240,148, 51, 91, 42, 82,140,168, 36,114, 13,152,189,231, 93,185, 47,180,
+222,147,159, 37, 92,165, 13,134, 18, 24, 19,194,158, 61,175, 85, 70, 11, 40,171, 31, 63,149, 34, 31, 74,211, 88,254,124, 87, 21,
+223, 6,246, 49,217,161,188,174, 57, 77,179,170,246,178, 82,165,158,178, 83,254,249,217,239,207, 22,135,144,242, 94,185,210,236,
+ 20,116,170,202,122,113, 93,229,240,148, 20,169, 10,116,110,148, 42,102, 5,142, 90,213, 72,149, 39,247,170, 64, 15, 33, 7, 40,
+227,124,204, 97, 72, 73,225,139,105, 71,221,154, 43,179,131, 99,173, 24, 10, 6, 85,155, 42,147,169, 82,190,105,119, 62, 32,203,
+ 14, 61,197,204,160,244, 73, 16, 69, 42,103,135,196,249,128,149,121, 42,180, 41,225, 98, 96,112, 30, 75, 98,112, 19,125,132, 41,
+ 58, 70,239, 50, 51, 49,206,123, 22,181,183,192,140,215,189,126,227,158,253,152,174, 77, 70, 90,150,255,158,246,123,179,217,210,
+112, 14,148,144,242,167,119,210,250, 37,126,125,236,111,255, 14, 95,254,245, 79, 51, 12,150,126,219, 19,124,196, 59, 79,211, 53,
+ 76,253,196, 52, 58,166,222, 18, 92, 64,146,189, 5,106, 99, 16, 66,178, 90,213,172,155,153, 37, 43, 24,124, 36,146,153,234,110,
+138,217, 35, 71,230, 98,127,227,192,208, 26,141, 42,134, 44,145,108, 24,163, 77,182, 87,157, 51, 26,116, 10,248, 24,209, 50, 63,
+ 15,243, 80, 24, 99, 36,185,192,165,143,120,149, 27,142,205,232, 80, 17, 22, 49, 81,249,192,165, 4, 87, 25,140, 81,168,199, 59,
+212,119, 30,243,238,195, 11, 76,163,185,209,182,180, 49,114,239,114,199,251,103, 61, 23, 86,178,168, 20,199,173,225,184, 51,220,
+ 92,104,188,183, 28,117, 29,186,210,108,206, 7,198, 41,112,255,114,228,209,229,192, 43, 39, 75,188,245,124,250,227,183,248,237,
+207,189, 14, 23, 3,255,254,175, 62,100,125,208,177, 52, 11, 84,165,105,170,138, 86, 9, 94, 57, 92,242,214,221, 27,252,167, 95,
+120,139,255,242,119,191,196, 87,191,240, 26,159,249,248, 29,234, 90, 35,132,160, 15,217,239,122,235, 2, 79,118, 30,239, 35,141,
+ 81, 28, 52,153, 65, 13,249, 51,234,173, 99,176,142, 16,242,120,172,132,100, 55, 57, 30,238,118,156,237, 34, 85,130,173,141, 56,
+239,185,123,208,242, 91,159,127,157,255,225,191,254, 7, 44,239,190,193,191,251,183,255,182, 16,126,179,212, 79, 22, 85,134,136,
+ 69, 87, 94,210,165,196,204, 36,159,252, 15,155, 39, 92,215,125,167, 82,128, 6,151,155,214,113,147,121, 35,118,122,126,113, 14,
+ 97, 95,208,231,137,230,138,157,156,246,190, 14, 63,201,231,253,199,253,204,156,123,208,212,124,246,213, 91,180,135, 29, 47,156,
+ 46,233,186, 10, 86,203,172, 90,146,133,113,108, 12,193, 84, 44, 76,197,171,235, 5, 38, 2,133,215, 96, 68, 86,218,220,159, 70,
+ 46,230,134,196,185, 2,197,143,172,220, 72, 28,123,130,221,226,135,115,154,221, 57,198, 91,222,187,120,200, 71,214,113, 87, 26,
+190, 49,140, 28, 33,121,111,178, 4,239,121, 24, 61,223, 26,122,108,178,121, 42,155,250,204,156, 62,223,101,244,110,126,255,243,
+ 25, 18,158,137, 70,174,202,100,183, 62,134,163, 31,132,194,155, 0, 0, 32, 0, 73, 68, 65, 84, 53, 28,159, 34,143,110,240,169,
+197, 9, 55,186,138,155,221,146, 70, 85, 57,176, 76,230, 97,242,194,122,188,245, 68,153, 93, 50,149,128,133,128, 99,157, 67,173,
+ 84,200, 94, 19,135, 93,102,162, 55, 49, 51,217, 23,193, 99,140,102,165, 27,142, 23, 11,144,146,101, 33,193, 42, 41,104, 85,141,
+ 72, 80, 87,146, 42, 65,101, 20, 11,165,145, 90,228, 60, 5, 41, 48,117, 62,247,189, 82,140,165, 65,119, 74,176, 77,137,203,222,
+ 51,197, 68,111, 45, 65,228,186,161, 5, 68, 12, 40,137,170,107, 66, 18, 40,213, 48,197, 64, 37, 5,131,115, 72,165,168,149,193,
+ 11, 65, 91,213,212, 85,203, 40, 37,169,169,178,203,105, 93,103, 53,146, 49,176, 62,202,223,183, 75,100,187,226,173,122,193,186,
+ 94,209,180, 29,219,144, 56,238, 58, 90, 33, 16, 73,112, 25, 10,242, 58,175, 52, 68, 78,118, 76, 49, 92, 5, 11, 45,116,150,194,
+202, 20, 73, 59,187, 63,136,230,251, 57,165,125,140, 43,169,144,250,124,174, 15, 59, 91, 92, 61,103,155,103, 81, 86, 87,133,141,
+111,228,222, 91,106,230,109, 85, 38, 31,128, 46,236,229,199, 74,229,123,165,106,242,179,217, 84, 25,161,240, 49, 63,123, 34,223,
+ 51,191,152,162, 62,143, 88, 38, 91,243, 37, 32,181, 21, 62,164, 76,134,210, 85, 94,139, 5, 80, 74,224, 99, 68,146,168,171, 6,
+ 31,236, 85,252,222,228,125,254, 12,133,192,249,156,195, 27, 72,216, 16,104,170, 66, 34,136, 10,211,106, 22, 8,208, 26,149, 18,
+ 90,230,110, 41, 1, 21,130, 65,100, 73,205, 38,229, 41, 51, 10,153,181,232, 49,224, 93,204,156, 50, 37, 8, 62, 23,251, 33,120,
+ 92,202,204,236, 24, 35, 99,132, 62,120,250, 24, 72,200,204,240, 14,190, 4, 8,148, 64, 27, 93,244,145,136,124, 97,230,216,200,
+196, 62,141, 71,138,167,243, 37,174, 23,247, 90,229,238,114,198,219,102, 59, 80, 37, 11, 73,162,252,172, 86,191, 56, 9,220, 79,
+241,245,123,127,231,107,220,122,241, 6,155,203,158,224, 34,218, 24,172,245, 52,139, 54, 91,194,198,136,148, 26,163,107, 86,171,
+ 21, 74, 74,218,186, 97,189,236,184,115,210,178, 48, 38,135,163,196,196, 16, 34, 46,101,103,169,152, 50,193,173, 81,130,195,133,
+230,164, 53, 40,169,136, 66, 32,149, 40, 9,158,217,182,210, 40, 65,109, 4, 38, 69,142,141, 32,200,132, 8,137, 74, 68, 84, 12,
+ 57,207, 33, 70,106,239,241,201,179,180,129, 42, 37, 86, 62,178,178,129,122, 10, 36, 45,216, 26,201,129, 79,172,133,196,104,193,
+163,221, 64,255,193, 5,239,221, 59,103,221, 26, 94, 92,118,124,108,189,160,157, 50, 81,208, 40,137,140, 5, 1,104, 20,214, 58,
+ 46,118, 19, 39,109,205, 43, 71, 29,111,127,120,201,232, 2,219,205, 72,229, 28,255,201,167,238,242,189,139,158,155, 55,151,252,
+222,151,223,228,226,252,146,127,253,103,239,240,192, 79, 60,217,246,120,225,120,235,206, 11,124,254,179,111,242,213, 47,125,146,
+ 47,127,238, 85, 78,215, 29, 66,230, 93,231,110,242, 92,236, 60,247, 46, 44,151, 59,203,131,139,137,243,222, 18, 98,160,149,176,
+ 16, 2,227, 97, 59,121, 54,193,211, 79, 62,251,229, 91,207,163,221,196,102,240,172, 42, 73,140,145,135,155,129,179,222, 49, 89,
+135,179, 14,225, 60, 10,201,209,170,227, 51,175,223,229,229, 47,124,133,255,251,255,248,215, 57,175,161, 28, 44,210, 95,147,137,
+ 69,143, 8,165,224, 56,255,163,221,144,174,242, 2,124, 46,252, 70,102, 8, 81,201, 61,153,237, 39, 17,110,175,249, 84, 92, 65,
+168,241,167, 40,234, 63,145,246,155,189,215,213,114,193,209, 65, 75,187,234,184,112, 9,173,107,182, 33, 97,141,202,197,113, 54,
+172,215,138,187, 77,197, 82, 27, 42,165, 56, 82,134,148, 34, 75, 89,241,176, 31, 80, 82,241,161,183,249,144,181, 3,244,151,240,
+248,156,203,243, 39, 12,110,100,229,123,118,195, 37, 38, 78,124,227,236, 35, 30,110,206, 73,211,192,125, 63,177, 19,130,247,188,
+231,108,220,113, 47, 10, 30, 57,139,157,118,197, 83, 98,200,126,226,219,146,190,214,247,123, 9,148, 81,121,106, 83, 69, 69, 80,
+155, 44,169,171, 91,184,125, 2,135, 43, 56, 92, 67,183, 34, 9,201,177, 50,124,108,181,200, 86,195, 82, 81, 25,147,215,137,214,
+211,187, 28,103,172,188,167, 22,146, 78, 42,150,149, 34,166, 68, 39, 18, 49,101,237,183, 77,145,198,123, 52,130,131, 4,147,115,
+172,148,230,176, 91, 16,165,164,107, 27, 84,101,168, 84, 38, 58,107,153,155,111, 33, 4,203,202,228,140,117,173,104,164, 70,182,
+ 21,210, 40, 82, 37,241, 90, 19, 73,104, 33,184, 0, 54, 36,198, 20,185,191,205, 6, 95, 83,185,222, 14,149, 45, 99, 5, 4,109,
+202,252,148, 77,196,162,128,139, 24, 72, 66, 99,147, 66, 74, 69,212, 53,171,170,195, 55, 29, 72,141, 93, 28,146,154, 85, 38,149,
+181, 11, 88,173,203,212,190, 0,221,241,114,187,228,160,238,216,121,139, 87,154,133,214, 12, 49,224,131,167, 82,146,179,164,114,
+ 79, 37,184, 82,103,164, 82,156, 59, 37,145,222, 49,140,142, 3, 2,227,197,112,141, 63,146,246, 5,125,230, 89,205, 77,239, 60,
+237, 79, 37, 5,212,239, 19, 8,111,221, 57, 96,183, 29,185, 50,194, 87, 50, 15,139,241, 90,252,175,187,214,252, 94, 95, 51, 24,
+189,207, 91,160,112, 96, 22, 93,177,204,205,218,251, 95, 92, 81,191,218,131,101, 61,168, 77,138,182,109,104,141, 97, 8,174,176,
+210,179, 49,136, 80, 57,116, 37, 38,143,245, 46,203, 39, 84,254,164,146,144,196,148, 99,247,108, 76,164, 36, 72, 82, 17, 98,202,
+ 19,161, 84,116, 70,210, 8,129, 12, 1, 76,246,240,110,133, 32, 37,129, 18,137,209, 69,108,138, 36, 31,176,193,102,233, 84,200,
+ 12, 76, 31, 2,155,209, 34,101, 78,104, 27,125,222, 51,217, 16, 17,161,192, 61,209, 35, 82,214,173,167,232,114,184,203,149,193,
+198,124, 65,253,222, 9,104,198,153, 99,186,182,159,190,214,149,137,107,197,125,142,168, 20,229,130,151,192,135,156,223, 91, 96,
+200,182, 45, 17,128, 41, 67, 53,146, 31,195,120, 44,196, 12,253,243, 64,248, 58,235,111, 77,115,229,189,253,181,255,226, 63, 67,
+104,201,246, 98,160,238, 26,148, 86, 8, 33,177,195,132,115, 33,239,193,155,134,227,163, 53, 70, 85,156, 28,175, 57, 62,104,185,
+113,220,114,212, 84,104,157,229, 44, 83,204,122,241,236,230, 38, 48,228,130,189,106, 53,141,201,112,116, 16, 18, 49,127,160, 69,
+ 2, 74, 74,212, 2, 14, 4, 24, 18, 50, 9, 68, 8,136,224,145, 49,178,142,145,161, 36, 61,109,198,128, 72,145, 49, 6,156,207,
+ 28,137,218,122, 6, 34,113, 81,243,242, 54,240,250, 31, 93,112,120,182, 99,167, 34, 27,231, 9, 49,114,107,107, 57,254,104,200,
+ 65, 24,117, 69, 28, 29,195,251, 79,232, 14, 52, 71,171,134,203,126,100,107, 3, 90, 8, 30,109, 50, 83,255,243,183, 14,185, 85,
+ 73,254,224,155,223, 39, 4,203,189,203, 29, 34, 73,150, 46,241,237,203,158,117, 91,241,198,199, 95,230,226,209, 5,183,151, 43,
+222,122,233, 22,191,249, 43,159,230, 63,254,205, 55,249,181, 55, 95,224,230,170,131, 36,152,166, 64, 63, 69,156, 13,140,147, 99,
+180,129, 20,178, 83,225, 16, 60,126,242, 56,235, 24,156, 37,216,128,247,158, 71,195,196,229,104, 11, 63, 33,225, 98,164,119,142,
+ 77,111, 73, 2,148,150, 37,250,118, 71,163,225, 80, 42,154,224,233,148,194, 40,133,208,154,151,111,173,248,242,239,124,149,237,
+110,199, 15,190,247, 1,194,231, 92,172,235,155,244, 31,245,253,243, 21, 23,215, 38,240,103, 85, 24, 63, 81, 57,119, 45,128,229,
+ 42,112, 35,253,252, 50,207,217,202,117,177,128,131, 37, 31,191,177, 36,162, 89, 87,154,182,170,232, 42, 73,139, 68,213,134,157,
+115,133,160,151,145, 49,175, 21,183,140,226, 86, 85, 51,248,145, 86,106, 82, 10, 36, 60,223,239, 71,150,227,150,203,190,135,205,
+ 6, 30,239,224,209, 6, 46, 31,227, 54, 61,103,147,229,113,140,124,184, 27,153, 66, 36, 93,108,243, 52,223,181,123,244,161, 50,
+153,103,144,138,202, 68,170,252,188,121, 91,224,221, 25,237,112,208, 28, 66,187,132,163,195,188, 46,168,107, 88,175,243,254,125,
+181,200,103, 64,215,128, 94,102, 7, 77,211,240,235, 77,131, 17,137,174,170, 8, 49, 15, 66,186,100,109, 92,140, 19, 38,129, 73,
+ 17, 35, 4, 77,165, 88,215, 21,150, 68,240,145, 74,148,224,197,157,167,213, 2,124,192, 72,168,124,160,173, 27,124,140, 44, 22,
+ 11, 26,163, 80,218, 96,140,201, 4, 89, 45,105,140, 42,214,177, 53, 85,211, 32,181,193, 52, 21,178,169, 16,198,100, 8, 92,101,
+165,209, 89, 12,184,144,232,173,231,113, 8,236, 92,150, 59, 63,112, 14,139, 32, 9,149,179, 61,100,102,187,123, 33,139,195,181,
+160, 23,134, 90, 72, 62,112,158,195,170, 35,153,154, 74, 43,164, 89, 80,235,134,180, 56, 96, 68, 33,164, 38, 84, 93,254,108,139,
+179, 31, 72,100,221,240,153,170, 34, 36, 56,104,187, 43, 41,172, 18,130,133,105, 48, 82,224,189, 99, 19, 11,193,115,174,238,222,
+194,228,112,211, 68,232, 51,129,111, 58,223,228, 85,211, 60,160,165,107, 3,109,145, 86,103,114,231,108, 21,158,246,202, 13, 55,
+101,116,119,242,248, 85,151,249, 72,115,162, 91, 44,240,123,242,123,191, 16,165,158, 94, 73,205, 69,221, 22,146,156, 42,197,104,
+134,252,117,169, 3,222,255,130,139,250, 92,204, 38, 11, 50, 49,104,141,151, 2, 31, 66, 86, 10, 72, 67, 72,158,209,251, 60,173,
+120, 95, 82,180,114, 34, 90, 18,185,152,251,152,161,216, 84,138,101,144, 32, 16,196, 20,105,180,161, 13, 25, 82,234,148,194, 59,
+143, 16,130,152,242, 4,226,125, 44,196, 55,207, 48,141,140, 49,225, 93, 62, 52, 61, 48,186, 9, 37, 2,214,193, 16, 3, 82, 8,
+108, 0, 79,160, 18,121,114,151,222,210, 17,209, 8,130,119,212, 9,172,205,136, 66,110, 39, 75,103,230, 66,129,212,195,190,235,
+154, 97, 51,113, 45, 88,226,122, 65,159,255, 93,138,124,193,107,185, 15, 25, 80,133,229,232,109,134,142,116,185,168,243,206,164,
+ 49,207, 88, 10,234,171,154,158, 9, 53,146,159,201,111,182, 91,192,114,149, 15,143,148,192, 77,124,237,247,255, 46,253,206,102,
+ 21, 64,109,176, 83, 64, 72, 73,240,158,232,114,188,224,173, 27,167, 28, 45, 23, 32, 36,181,210, 28,175, 26,142, 22,217,163, 64,
+ 75,145, 45,100, 67, 42, 62, 15,146, 74,100, 55,191,202,100,243, 24, 83, 75,100, 97,156,202,236,239,154,247,197, 36, 38,151, 57,
+ 21,146,132, 73,137,206, 7,142,125, 98, 25, 18,139,201,115, 18, 4, 75, 23,168, 99, 96, 51, 57, 84,130,203,193,131, 11, 12, 17,
+132, 79, 28,104,197, 99, 5,175,254,233, 71,164,119, 62, 32, 61,186,100,249,161,101, 57, 70,170, 23, 14,168,180,194,125,240, 17,
+219,179,115,158, 92,230, 29,109,244,145,135, 15,119,232,206,224,132,224,114,152, 72, 82,113, 99,221,177,181,158, 15,183, 61,175,
+ 31, 29,240,205,123, 27, 30, 93, 92,162,128,239,124,248,128, 11,167,121,247,254, 5,231, 54,145,132,224,213, 87,238,240,210, 43,
+183,249,213,207,190,202,167, 63,118,147,174,170,152, 92, 96, 24, 3,206,229,149,210,224, 60, 23,125,158,206,157,205, 28,129, 80,
+154, 67, 81,228,142,227,232,184,247,100,203,131,221,200,163,126, 98,179,243, 76, 33,100,251,219,152,145, 54,153, 34,206, 5,162,
+144,140,219,137,237,110, 96,165, 53,119, 14, 22,172,201,104,198, 52,121, 62, 60,159,184,152, 38, 94,191,181,230,247,127,251,215,
+249,222,253, 7,188,253,237,119,178,154,228, 57,178,119,241,203,132,130,174,187,161,205,171,167,249,217,248,121,215, 79, 77,149,
+167,178,131,108, 10,115,171,174,185,177,170,168,181,206,121,246, 69, 95, 29, 16, 60,158, 66, 41,232,249,254, 27,164,224, 99,149,
+100,231, 29, 85, 76, 12, 33, 16,237,136, 14, 1,227, 7,190,123,185,195, 61,185,132,179,115,216, 60,129, 48,229, 52, 53,173,114,
+243, 61, 31,172,162,192,160,155,190,132, 93, 85,249,161, 44,169, 84, 82,107,126,115,177, 98,155, 18, 95,170, 42,156,243, 8,165,
+153,250, 77,110,102, 78, 78,120,241,246, 33, 39,183,142,145, 93,205, 96,170, 60,129,181, 85,254,187,148, 44,251,213, 61, 84,155,
+164, 66, 41, 56,169, 52, 85,242, 57, 51,193, 77,140, 62,177,115, 3,219,209,103,211, 72,145, 72, 81,176,104,154,220,115,104,129,
+141, 89, 11, 48, 12,129,147,165,102,112,145,165,214, 8, 59,161,154, 6, 63, 77, 44,154, 54,123,177, 87, 53, 93,173, 73, 82, 81,
+ 27,133, 80, 58,171, 91,218, 6,105, 12, 81, 74,218,166, 98,170, 12,162,210,168, 90, 19,106,149,157, 69,203, 78,124, 32, 48, 2,
+143,167,137, 9,199,217,148,159, 23, 43, 53,136, 64, 37, 43,134,152,245,239,173, 4, 41, 13,145, 72,171, 20, 59,159, 56, 53,154,
+ 3,221,208, 72, 69, 83,119, 12, 50,175, 2,164, 54, 28, 40,197, 67, 83,151,122,124,109,178,141,129,207,180, 29, 86, 73, 86, 34,
+195,236,139,148,104,234, 58,187,144,138,132, 50, 6, 67,228,195,105, 44,133,215,102, 37,152,117, 89,129,209,143, 48,218, 76, 12,
+ 29,124, 57,223,217, 75,129,139, 12,143, 68,254,239,178, 52,153,221,236, 47, 47,178,122, 99, 28, 96, 24,192, 91,194, 69,159, 51,
+ 68, 76,189,223,151,207,158, 10,243,148,159, 10,140, 47,197,222, 6,151, 18,202, 53, 79,234, 85, 65,114,103, 71, 80, 5, 8,245,
+ 75, 40,234,209, 23,230, 97,222, 27,219,161, 39,182, 13, 90,104,158,216,129, 86,231, 28, 93,102,242, 67,202, 89,233, 46,230,253,
+121,150,209,150, 32, 0, 41, 9,178, 28,248, 34,187, 18, 69, 34, 11, 99,184, 41, 5,143, 98,164, 65, 34, 82,202,150,130,228,152,
+214,157,181, 88,239,177,206,177,179, 19,194,123,122,239,136, 33, 19,191, 54,118, 32, 18, 11,105, 61, 91, 20,202, 20, 17, 30, 66,
+176, 28,214,130,228, 5,135,194,209,137, 72,229, 61,235,152,144,118,202,121, 46,209,102, 70,163, 47,228,136, 57, 96, 32, 81,164,
+ 10, 51,177, 70,238, 33,120,173,247, 63, 35, 69,134,243,107,147,117,149,226, 26, 4, 32,114, 72, 66,254,115,133, 16, 65,164,132,
+126,231, 31,187,154,216,229,190,160, 95, 5,194,252, 12,135,162,187,182,191,219,110, 88,254,230, 87,248,173, 95,253, 20,211, 84,
+ 26,165, 72, 78,175,139, 9,103, 3,222, 71,186,110,201,205,227, 53,151,151, 3, 50, 9, 42,165, 88,116, 21,149,222, 79, 95,214,
+103,216,125, 62,183,179,199,135,162,109,178,212, 76, 23,159, 1,163,115,122, 91, 61,183, 40, 9,132, 72, 84, 36, 84,140, 28, 68,
+208, 46,230,136, 99, 23,168,166, 68,114,158,122, 12,172,166,200, 98,242, 76,187, 9, 61, 56, 6,231, 25, 1, 55, 57,110, 28,117,
+124,253,157, 71,188,251,253,239,243,231,246,130,182,223,241, 82, 92,113, 28, 87, 28, 76,129,111,159, 63,225,255,217,158,243,225,
+176,225,242,114,195, 7, 83,228,206,122,201,147,222, 17,158,244,200, 16,185,148,176,176,158, 79, 28,173, 56,168, 53,105,242,124,
+253,124, 71,136,154,203,139, 77,118, 40, 12, 30,107, 61, 47,156,158,114,118,185,161, 94, 53,124,252,238,154, 59,167, 43,214,109,
+110,192,108,136, 88, 27,113, 33,146, 68,194, 58,207,118, 59,114,177,181,196, 34,217,105,107,197,232, 34,219, 97, 98, 24, 61, 46,
+ 70, 38, 27,184,236, 71,250,193, 50,140, 14, 27, 60, 42,102, 88, 82,136, 50, 5,250,148, 85, 28, 49,209,239, 38,166,237,200,170,
+173,185,209, 85,244,143,243,251,120,114,185,227, 79,223,190,207,163,135, 27, 38, 41,120,243,238, 17, 95,248,194,103,121,231,236,
+ 9, 63,248,222,219,136, 57,123, 69,254,255, 80,216,159, 53,140, 17,207,176,238,127,214,194, 62, 79,232,166,206, 26,126,165,161,
+ 53,220,237,106,148,146, 68, 4, 83,140,217,207, 2, 65,239, 3,103,214,239,137, 76,101,189,117,146, 18,107,145,112,193,179,136,
+ 14, 25, 61,182,223, 16,237,196, 55, 63,186,128,199,143,114,198,249, 52,238,181,200,170,104,203,231,221,231, 48,230,130,222,111,
+178,147, 85, 91,231,102,220, 84,252,206,193, 33,159,172, 58, 34,130,183,180, 66, 39,193,139,109,205,203, 6,206,124,100,168, 5,
+111, 28, 29,240,202,241, 33, 90,183, 84,218,240,164,202,137,101, 68,177,255,156,230,231, 95, 23,167, 61, 45, 24, 99,228,118, 76,
+172, 68,222,211, 39, 34,163, 29, 56,219, 78, 57, 2,181,236,133,181,202,136,155, 49, 21, 19,226, 42, 64,175,109, 4,155, 62,176,
+ 48, 18, 93,138,100,180,142,186,174, 8, 74, 32,170, 10, 37, 4, 65,107,164,201, 49,194,149, 81,200, 69,131,172, 12, 65, 27, 82,
+ 91,227,180,194, 40,137,109, 12, 67,202,205,250,133, 20,108,124,100, 72,145, 71, 62, 49, 88,143, 87,176, 29, 97, 23, 3,151, 66,
+ 18, 98, 78, 95,211, 66, 80,149,200,237, 24, 19,181, 42,225, 45, 49, 51,172,106, 99,168, 83,162,170, 13,222,122, 78,234,138, 42,
+194, 11,181,225, 8,193,155, 50,113, 39, 56, 78,149,100, 45, 5,189,119, 56, 93, 17,195,196, 18, 65, 37, 52,173, 16,140, 34, 81,
+ 33,139,181,109, 34, 12, 3,223,158,118,244,187,203, 76, 94,180, 54,255, 26,134, 34,207,140,123,185, 89,165,242,112, 61, 7,192,
+204, 82,184,201,231, 41,124,217,148, 28, 4,149, 73, 13, 90,149,123, 62,229, 51, 61,204,107,166,144,173,100, 43,246,238,135, 49,
+230,154, 50,115, 77,124,220, 35,186, 54, 94, 65,247,121,184, 83,249,204, 15,215,184, 40, 74, 92,237,222,127, 9,147,122,121,129,
+174, 64,241,210, 16,140, 98, 23, 45, 70,228,160, 22, 67,246,130, 31,131, 67,201, 66,164, 74, 30, 33,114,196, 94,109, 12,158, 28,
+143, 55, 69,135, 20, 2,147,189,152, 56,109, 43,106, 41,217,133,136,241, 33,195,243, 49,129,119,164, 16,233,125,118, 43,147, 68,
+ 30,122,203,100, 7,156,207,233, 95,147,183, 4, 63,162,133, 96,176, 22,165, 42, 52, 46, 71,112,134,188,244,111,107,133,242,129,
+ 3,149,243,126,187,224, 57,210,138, 83, 2, 47, 74,201, 82, 6,238,187,140, 44,228, 2, 91,118, 33,178, 92,120,161, 74, 22,178,
+216, 67, 52,130, 43,136,249,106, 82,159,245,238,243,142,189, 18,101, 98, 79,217, 34, 51,228,169,248,138, 84, 49,195, 49,110,182,
+ 69,140,251,162,222,204,122,201, 31, 1, 95, 54,101, 39,167,170,103,124,195, 99,238, 78,167, 1,136,188,240,201, 55,249,213,207,
+189,145,185, 5,228,233,220,187,148,239,237,201, 19, 92,228, 96,217, 33,181, 70, 75, 69,215, 85,156, 28,118, 28, 53,154, 69, 49,
+ 86,240, 62, 50,134,136,247,137, 24, 18,181, 18, 28,180,134, 69,163,203,208,146, 89,234,137, 68, 42, 5, 74, 20, 34,180, 22,130,
+138,196, 65, 72, 84, 33, 82,249, 68,116, 30, 19,161,241,137,106,138,132,148, 48, 54, 80, 5,193,194, 69,236,229,128,159, 44,155,
+113, 66,251, 64, 60, 90, 48,164,200,159,252,225,215,249,232,222, 35,126, 48,246,124,119,154, 88,250,115, 78, 82, 98,225, 26, 22,
+182,231, 27,118,203,219,195,150,209, 59, 90, 37,114,248,207,232, 57,117,137, 35, 99,184,115,216,162,106,201,106,200, 17,195,109,
+109,208,222, 99,181,192,138, 6, 59, 12, 60,217,230,164,192,143,127,226, 46,175,188,122,194,205,227, 5,139,218,228, 9, 37, 68,
+ 38, 23,176, 62,146, 66, 64, 41, 65,112, 41, 31,178, 49,225, 93,206, 60, 88,180,154,182, 49, 89, 46, 84,154, 64,161, 4, 82, 8,
+164,204,100, 78,161, 37, 74, 8,142, 14, 91,140,204, 76,246,101, 83,177,236, 12, 74, 72, 46,118,142,237,110, 32, 88,199,199,142,
+ 86, 52, 66, 50,158,239,104,140,224,219,247, 47,121,251,254, 3,108,121, 61, 30,137,233, 42,190,242,197,207,240,254,163, 39,188,
+243,246, 59, 63, 84,208,127,121, 83,250, 51,127,145, 42,178, 80,193,207, 94,216,103,189,122,183,202,240,116, 85, 28,224,148,230,
+102, 91,209, 41, 73, 37, 4,145,148, 3,157, 82,226,193,232,185,152, 27,234,170,200,222, 82, 66,198, 68,149, 28,167, 74, 96,199,
+137, 46, 38, 6,231,249,223,191,123, 31,206, 31,237,245,199,179,182,127, 38, 23,150,184,103,198, 18,248, 49,108,243,255, 51,148,
+ 52,186,245, 33,111,173, 79,136,194,240,226,162, 70,167, 72,146,134,166,110, 89,152,196,102,130,117, 85,113, 88, 41,222, 88, 45,
+ 57,110, 23, 28,106,205, 73,211,112,223, 6,122,202,144, 48, 67,176, 51, 3, 58,132,220, 68, 12, 61,182,239,217,248,158,247, 54,
+143, 89,226,120, 50, 90, 54, 46,177, 75, 2, 23,178,140,152, 36,145, 73, 16,164,162, 50, 26, 33, 53, 70, 81,162,172, 5,210, 64,
+ 35,178, 83,227, 36, 36,161,172,109,186,186, 70,154, 26,154, 26,165, 20, 65, 74,124, 93, 97,171, 12,195, 39,165,241,203, 38,219,
+ 17, 24,197,164, 21, 35,145, 73, 8, 54, 33, 50, 6,207, 37,137, 15,139,187,231, 35, 18,219, 9, 6, 59,241, 40, 9,100,176,140,
+ 54,114, 88,235, 98, 50, 37,209, 66,208,201,172, 78, 74, 49,225,129, 70, 40, 86, 82,228,248, 12, 1,134, 44,109,238,164,160, 53,
+130, 90, 4,166, 0, 7, 58, 80,197,200,218, 79,220, 82,134,147,232, 89, 0, 55,147,224, 72,100, 23,184,149, 84, 52, 9, 68,242,
+ 28, 86, 42,167,114,110,206,121, 24, 38,164,247,164,217,131,221, 23,178,104, 40, 59,241,121,205,170,138,110,221, 21, 20,198, 22,
+146,105,125, 45, 33,110,142, 37,158, 83,212,196,108, 97,107,138,148, 45,101, 36, 32,165,140,188,136,194,199,210,133,217, 78,225,
+ 86, 12,197,219,100, 30,228,102, 78,151,143, 25,225, 85, 5, 5, 16,242,169,200,237, 95, 78, 81,191,218,177,205,145,136,249, 67,
+177, 90, 48, 17,152,130, 71, 81, 58,187, 16, 73,228,195, 58,196,108, 19,104, 67, 64, 25,195,224, 44, 70, 27, 36,138, 49,120, 42,
+ 45, 88,104,133,145,154, 24, 2, 90, 40, 38, 63,230, 32,151, 16,232,157,167, 34, 34, 99,226,131,221, 57, 83,244,164, 40,232,221,
+142,157,243, 36, 17,168, 35,140,193, 19, 66, 36,122,139, 18,130, 42, 6, 42, 34, 73, 68, 26, 31,104,133,164,177, 19,173,144,172,
+132,100,233, 39, 14,148,196, 36,184,237, 35, 15, 35,108, 66,122, 58, 87,189, 47,145,172, 46,114, 69,163,116, 37,206, 79,138,167,
+ 13,253,231, 29,251, 12, 21, 93,143, 5,156, 97, 60,165,242,133, 27,167,156,210, 21,203,254,125,150,188,204,100,166,166, 2,189,
+200, 55,198,243,100,137,186,184,103, 41,145,161,160,107,210,135,103,191,190,242,213,175,240,137, 79,190,140,115, 30,103,195, 21,
+146, 49,237, 38,236,232,105,154,138,151,111,157,102, 50,142,209,172,219,134, 27,135, 45,203,198,228,200, 85, 33, 25,125,192,167,
+ 68,163, 5,198, 72,106, 45,105,180,202, 69,173,120,236,199,226,207, 30, 82, 38,212,205,156, 4,145, 18,186,152,101,132, 24,145,
+206,103, 93,108,140,212, 67, 36,141,158, 48, 89,170,222, 35, 54, 22, 51, 68,218,221,132, 25, 6, 46,157,229,116,217,146,110, 29,
+240,231,127,241, 54, 15,254,234, 67, 54,187,145, 7, 33,178,182,129,255,115, 24,249, 87,219,135,124,142,137,151,150, 47,241,107,
+171, 83,110,121, 71,140,158,101, 63, 34, 71,207,105, 76, 44,235,154, 87, 63,113,135,218,200,236, 53, 52, 6,134, 40, 16,173,161,
+ 94,183,156, 46, 27,110, 31, 53,188,250,210, 77,236,164, 88, 28, 29,240,242,171,167,188,112, 99,197,113,151, 49,135,221,232,152,
+108, 96, 51, 76,108,139,115, 30, 62,102, 4,195, 23, 87, 44, 41, 88, 46, 42,150, 93,195,106, 81,179,236, 42,150,181,193,212, 58,
+255,188, 72, 24,163,168,107, 67,221, 24, 14, 15, 90, 94, 56, 94,160,181,198,249,196, 65,171, 81, 82, 18, 4,156,157,109,153,134,
+137,197,178,229,215, 94,185,137, 74,129,113,176,140,214,241,205, 7,231,108,199,158,139,237, 37,253,206, 34,162, 33,136,192,139,
+183, 14,249,244, 91,111,241,191,253, 47,255, 34, 67,185, 60,237, 33,195, 53,250,200, 47,244, 76,144,215,238,249,171,221,100,250,
+233, 25,238,186, 16,226, 22, 93, 38, 70, 45,234,188, 62,146, 34,203, 35, 4,156, 84,146, 70,107,180,202, 25, 2,147,119, 60,153,
+ 60,239, 88,155,243,176, 67,200,242, 84, 37,192, 59, 46,173,229,174,145,220,219,245, 40,231,248,112,179,229, 59,143, 47,185, 56,
+219,228, 61,167, 20,185,160, 63,203, 25,240, 62, 79,116, 67,159,201,110,206,239,223, 99,183,132,163, 19, 42,165,121,171,109,144,
+ 85, 69, 72,134,182, 85, 76, 46,241,104,242,116, 74,208, 39,184, 89, 25,142,234, 26, 41,178,198,220,199,192,221,166,226,219,219,
+205,222,247, 34,148,215,221, 15, 25,254,223,141,249,239,222,245,236,166, 29,231,214,241, 97,138, 60,118, 22,155, 4, 74, 42,148,
+144, 24,165, 72, 49,161,148, 65, 10,205,132,160, 85, 50, 7,181,104,197, 20, 35,203, 90,226, 35,180,181,102,244,129,182, 50, 36,
+153,243, 43,188,148, 8,173, 24,148,194,214, 6,140,194,105,201, 84, 12,166,166, 36,178,126,187,220,179, 81, 42, 70,145,232, 37,
+156, 91,201, 35,151,232, 93, 96,227, 19,187,157,101, 20,137, 29, 2,239, 45, 42,122,106,153,153,226, 41, 38,100,242, 36,165, 72,
+ 33, 34,136, 36,231,137, 49, 81, 37, 79, 10,137,174,201,180,254,101,107, 48,209,161, 91,141, 8, 1,165, 36, 43, 63, 50,197,136,
+ 9, 14, 41, 43, 12, 35, 11, 17,208, 41, 33, 9, 24,169, 57, 81,137, 24, 45,210, 91,214,149,198,184,137,237,238, 17,219, 97,226,
+141,174,226, 52,194,199, 14, 22, 52, 82,179, 90,180,152,186,161,151,197, 9,116,206, 68,143,177, 16,158, 51, 7, 33, 59,195,145,
+207,254,144,138,107, 99,249,185,121,186,118,110, 47,225,148,101,152,107,187, 2,223,135, 18,215,170,247,205,102,136,185, 89,104,
+179,185, 87,110,234,102, 20,188,172,122,221,236,198, 88, 76,118,230,181,112,226,151, 88,212,103,239, 92,101, 50,100,165, 51, 29,
+ 63, 33,136, 90,177, 11, 57, 33,104,231, 45,187,224,168, 11,148, 97, 99,200, 19, 11, 96,180, 33,164, 64, 18,217,110, 84, 8, 67,
+ 27, 1, 17,104,165,100,240, 83,142,147, 37, 96, 39, 75, 45, 37,113,154,120,108, 71,124,140, 60, 25,119,132, 24, 8, 62, 18,131,
+163, 70, 50,133, 60, 41,117, 66,144,130, 43, 68, 45, 80,193, 97, 66,164,142,158, 54,122,140,144,116,222, 35,162,163, 81,138, 38,
+ 70, 66,138, 52, 74,241, 58, 9, 47, 2,247, 41,172, 69,235,179, 67,148,203,157,255,213,105, 40, 10,185,221, 22, 24,231, 58,185,
+ 2,114,199, 55,107,117,103, 24,134, 82,208, 99,129,244,187,106,239, 53, 28, 75, 19,225,228,149,124, 1, 89, 18,133, 92,137,250,
+123,222, 65, 42,234,124, 19,142, 33,147, 65,126,196,215, 87,190,246,219,220,190,115, 74, 72,137,105,242, 72,173,114,156,234,228,
+ 73, 17, 94,188,123, 11,211,214,184, 40, 80, 82,114,235,112,193, 65,103,168,180, 70, 25, 93, 44, 99,243,155,175, 5,104,153,173,
+ 98,141,201, 42, 6, 31, 50,194, 33,201, 33, 43,179, 58, 34,250, 76,120,147, 33,171, 34,164, 15, 40,159,144, 62, 34, 99, 36,217,
+ 64,216, 58, 98, 63,145, 98, 36, 61,238, 81,151, 35,141, 75,212, 83,192,244, 61, 43,165, 56,190,125,204,187,222,243,207,255,213,
+ 31, 82, 77,129,197, 24, 24,183,150,205, 54,176, 14,137,175, 4,205,215,197,200,203,227, 64,167, 43,110, 45, 78,120,109,117,204,
+189,221, 57,239,143, 27,150, 49, 49, 34, 88, 13, 96,146,100,177,108, 57,124,229, 20, 35,178,150,250, 34,134, 76,222,116, 17,173,
+ 18, 47,220, 61,228,213, 87,110,241,226,141, 37,181, 82,217, 29,213,121,206, 46, 39, 98,140, 89,122, 86, 24,150, 62,100, 59,219,
+ 24,178,245,237,162, 49, 28, 29, 52, 44, 23, 13,139,174, 66,203,108,247, 89,107, 81,162, 40,115, 81,151, 5,213,104, 42,195, 65,
+219,228,117,145,115,220,174, 43, 86, 81,162,109,228,133, 69,195,127,244,218,109, 62,251,194, 17,211,100,209, 34,113, 57,120,254,
+226,131, 71,124,251,163,119,217,108,123,222,184,241, 2,127,247,243,111,178, 17,112,118,177, 99,181,106, 57, 58,232,248,239,254,
+254,239,241, 63,255,175,255,226, 74,158,155,126,217,211,250, 92,244,230,102,119,110,116,159,149,193, 61,175,168,107,160,106, 88,
+ 31,174,160,109, 81,181, 65,181, 53, 65, 23,143,136,178, 82, 58,139,154, 70, 75, 54, 46, 63, 95, 46,122, 38,155,232, 73, 76, 59,
+187,223, 80,217,144, 97, 83, 27,248,224,114,224,254,227,129,239,159,143,188,255,228,130,139,203, 93,150,246,201, 50,141,205, 46,
+117,206,255,176,253,238, 15,153,232, 40,136,134, 91,183,143,249,237,155,119, 72,186, 35,134,244,255,209,246, 38,191,150,101,215,
+153,223,111, 55,167,185,237,235,227, 69,151, 17,217, 49,147, 20, 51, 37,153,106, 76,169, 40, 74,150, 68, 89,178, 74, 50, 92, 5,
+215,192,240,200,255,131, 97,120,230,145,231, 5, 15, 12,123, 96, 24,112, 21,108,192, 48,224,129, 97,187, 44,168, 76, 74,114, 73,
+ 44, 50, 73,145,148, 72, 38,153,109,244,205,235,110,123,206,238, 61,216,251,190,251, 50,197,164, 26,144, 1, 4,162,121,209,188,
+119,239, 57,103,237,181,214,247,253, 62, 82, 8, 72,213, 34,165,196, 83,226,160,221,154,221, 90,101,123,175, 20,164,224,169,132,
+160, 15,150,153,117,172,186, 46,231,107,172,186,220,157,207,250,172,154, 95,173,243,239, 13,170, 92, 92, 26,133, 9,158,105,219,
+ 34,145,196,148, 24,212, 77, 22,170, 74,157,199,216, 34, 51, 33,188,208,120, 41, 89,198, 60, 13, 90,117,129,118,160,152,245, 30,
+169, 20, 42, 70, 68, 91, 17,139, 69, 25, 9,125,147, 85,233,243, 40, 9, 40,146,172, 48, 73,226,132, 32,216,200, 10, 73, 74, 18,
+ 39, 83, 78,236, 52,121,245,228,188,103, 21, 96,217, 59,140,144,184, 4,206,121,180, 51,116,206, 82,135, 44, 34,139, 41,230,157,
+125,112, 84, 34, 98,173, 5, 34,202, 90,100, 18, 52,210, 81, 37,145, 47, 27,160,138,137, 73, 12, 4,161,168,141,193,120, 75, 74,
+ 48, 20, 2,153, 28,163, 16,152,232,154, 58, 24,110, 84, 13, 35,183,162, 37, 49,244, 22, 29, 44,202,117,216,110,129, 13,142,137,
+132,147,229,138,241,160,166,213, 21,173, 18, 12,181,100, 90, 73,246,154, 58,175,111,154,188, 86,184,188, 78, 55, 40,223,205,179,
+ 59,149,134,108, 35,100,219,120,215,131,223,194,103, 92,204,117,162,109,242,117, 39, 85,174,143,170, 52,134,178,172, 88, 55, 26,
+ 10,227,183,129, 93, 27,140,183, 15,219,213,238,230,112, 92, 93, 33,214,241,211, 46,234,148,253,130,208, 37,231, 86,129,177,229,
+ 96, 35,232,140, 5,157, 71,242,107,219,163,149,198,197,128,172, 52, 34, 9,250,224,137,228, 46,183,213,117, 22,210, 5,207, 88,
+ 39,150, 41,114, 32, 21,214,152,236, 97, 12,145,181, 51,152,232,209,222,176,182,150, 14,232, 76,199, 88, 8, 6, 74,177,180, 61,
+149,212, 52, 66, 32,124,200, 63,166,132,243, 61, 3,149,119, 54, 10,168,131, 99, 15,137, 75, 9, 29, 28, 93,140,244, 62, 49, 70,
+ 82, 87, 13, 85, 8,236, 9,197,169, 12,204,131,202,111, 84, 42,124, 97,159,182, 34,135, 84,146,220,144,121, 68,158,194,214, 68,
+186,185, 24,196,166,187,143, 91,121,189, 16, 91,164,103,218,228, 66,171,242,198, 54,133,153, 93,222,104,177,201,118,239, 63,185,
+187,241, 54,139, 62,194,143,143,246,251,226, 31,254, 46, 85,163,233, 58, 71,138,217, 49,176,188, 88, 17, 34,236, 29,238,241,185,
+215,111,163,165,198,133,132, 78,146,195,253, 1, 90, 72,132,144, 37,218, 54,223,116,141, 18, 12, 90,141, 86,130,186, 42, 59,249,
+144,217,236,214,167,188,103,246,185, 91,143, 5, 42, 35, 67, 64,165,128,176, 30,225,178, 93, 74,184,128, 48,158,212, 57,150,243,
+ 21,189, 11,120,145, 48,179, 37,118,181, 66,122,136,222, 33,131,103, 52,153, 50,120,233,128,239,124,245,187,124,248,205,135,172,
+ 83,160, 78, 2, 29, 35, 79, 86,158,207, 10,197, 43, 85,197,211,149,227,105, 88,163,100, 71,131, 96,111,116,192,117, 52,149,183,
+124, 79, 4,214,109,195, 9, 9,191, 50,236, 92,159, 34,142,198,132,186, 34,145, 80, 38,176, 91, 41,186,121,199,105,128,107, 7,
+ 99,148,206, 94,221,139,206,242,236,124,205,247, 63, 60,163,235, 28,107, 27,112, 54, 79, 37, 82,204,135,154, 16, 50, 1,177,173,
+ 43,166,147,134, 65,157, 15, 68, 66,200,252,241,152, 10,219, 62,146, 95, 21,145, 71,249, 46, 96, 35,216,152,184,247,112, 65,191,
+ 10, 60,120, 48,227,254,189,103,252,249, 95,189,205, 7,207,206,152, 45, 44, 55,119, 26,246,235,154,163,131, 9, 73, 43,126,238,
+238, 17,186,217, 97,247,240, 58,255,209, 47,188,134,214,130,183,159, 93, 32,149,230,217,210,240,221,119, 31,243,243, 47, 93,231,
+248,211, 63,195,159,124,249, 43, 31, 37,204,253, 52, 58,245,143,143,225, 55,202,119,119, 69,107, 18,127,140, 10, 94,106,104, 7,
+ 28,238,143, 24, 13, 90, 68, 91,163,180,194,164,180, 77,136,139,128,204,135,197, 59, 26,166,178,172,209,128,123,157, 35,108,160,
+ 33,155,233,128,119, 89,125,190, 92,100, 63,113,232,242, 56, 93, 52,185, 59, 55, 54,119, 79,222, 95,153,132,233, 43, 10,228, 43,
+157,210,230,254,211, 10, 14,246,184, 51, 29,115,115,239, 0,106,201,163,222,146,170,154,161, 86, 60,178,158, 38, 88,230, 41, 50,
+ 86, 21, 82, 6,234,148,115, 38, 92, 12,136, 96,185, 88,175,248,206,147,115,152,149,207,107, 54,135,110,145, 5, 87, 33, 22,180,
+115, 17,231, 14,244,101,241,181, 34,139, 2,155,170,201,152,101,145,175, 36,165, 42, 66,180, 36, 33, 73, 41,219, 72,173, 7, 71,
+202, 49,213, 94,160, 10, 69,173, 71, 35, 43,129, 81,146, 80, 73, 86,165,128,172,125, 78,157, 11, 85, 69, 36, 97,149,190, 4, 9,
+ 7, 33,233,125,190,175, 29, 69, 35, 66,162, 79,130,245,218, 20,109, 84,192, 90,131,242,142,149, 51,168,232, 16,214,100, 26,104,
+138,164,224,209, 41,209,245, 29, 58, 6,170,224,105,132,163, 9, 61, 83, 36, 45, 48,137,121,157, 53, 44,147,189,161,203,147,176,
+ 16, 28,117, 48, 84,206,101,231, 71, 74,244,174,231, 90,138, 56,187,228, 64,106, 6,206,144, 92, 79,116, 6,172, 69, 4,159, 19,
+196,131, 97,119, 48,160, 15, 1, 65, 98,191, 30,208, 5,135,148, 50,195,110,180, 98,160, 21, 39,182,192, 98,184,194, 87, 80,229,
+181, 23,101, 18,170, 84,185,126, 82,158,190,202, 82,120, 59,155, 15, 96,155,105,236,166, 16, 55,162, 68,181,214,219, 76, 3, 91,
+ 82,232, 90,189, 21,202,109,186,243, 77, 96,204,102,220,158,210, 37, 15,109,147, 64,248,211, 45,234,155,229,253,120,148,111,214,
+ 84,226,239, 66,184, 44,108,193,249, 60,122, 39,209,199,252, 66,166,148,195, 86, 98,138, 40, 52, 81, 36,130, 40,191,142, 17,157,
+ 18, 85, 8, 44, 82,162,242, 22, 99,122, 68, 74,248,224,136,165,155,122,102,215,244,222, 50,148, 42,239, 52, 67,100,162, 53,222,
+247,200, 24, 25, 10, 65, 75, 62, 36, 72, 4, 49,120,170, 24,153, 58, 75,171, 27,156,181,232, 24,169,144,232,178,230, 78, 82, 17,
+189,163,115,129, 97, 74,236, 42,197, 66, 9,230,126,227, 83, 44,249,209,193, 21, 53,123,121,179, 93,151, 11,111,111, 74,151,144,
+242, 27,211, 86, 57,150,213,199, 45,102,179,173,202,232,165, 46, 73, 61,165,160, 19, 63,234,133,244, 41,243,228,125,252,123,198,
+113,234, 79, 20,211,253,218,239,253, 22, 90, 75,124,136, 40, 41,177, 54, 98,123, 75,211,182,220,186,117,192,181,241,136,103,179,
+ 14, 25, 97,111, 90,177, 55,200, 33, 60, 82,100, 76,175,146,185,131,175,148, 64, 41,145,193, 41, 34,175, 85, 98,140, 5, 50,147,
+139,151, 40, 86,142,252,251,249, 59, 33, 16,173, 39,244, 22,187,182,152,165,193,251, 64, 90, 91, 22,243, 62,167,231, 89,143,233,
+ 12, 23, 93, 15, 50, 50,235, 23,116,193, 51,216, 25, 83,239, 14,185,241,175,254,146,207,215, 53, 39,115,195,227, 51,195, 13, 39,
+120,147,138,159, 19,138, 87, 15, 70,204,206,123,206, 26,112,195,134,239,164, 53,207, 87,103, 28, 70,201,167,135,183,249, 25, 53,
+228,184, 64,112,118,218, 1,182,179,220,179,150,249,189, 25, 79,223,123,206,243,103,115, 46, 90,201,153, 84,188,122, 56,102,168,
+ 20,203,165,225,100,217,241,100,222,241,248,249, 34,251,133, 3,152,206,227, 66, 44, 70,137,172, 27, 24, 13, 42,118,199, 3,118,
+ 39, 45,131,186, 66, 43, 81,120, 70,145,206, 6, 58,235,233, 92, 22,240, 72,160, 77,208,219,128,183,129,197, 69,207,163,179, 37,
+ 23,179, 5, 15,159, 60,226,237,251,239,115,210,173,161,170,169,135, 19,244,206,136,119,151,150, 71, 1, 78,156,229,157,147, 37,
+ 43,227, 56,239, 60,198,122, 30, 44, 87, 60, 92, 27,144,130,231,103, 43,238,253,224,125,254,234,237,239,112,178,148,168,225,144,
+ 55,126,254, 13,190,246,231, 95,253,177,182, 54,241,147, 44,234,155,130, 30,210,214, 1, 10, 63,158, 42, 87,143,184,125,125, 2,
+170,197, 87, 21,163,182,165, 45,221,146, 9, 27,145,104, 4, 19,105, 98,228, 88,230,195, 98, 68, 18,149, 96,105, 29,235,116,165,
+131, 10, 33,119, 81,253, 42,227,159, 69, 25,159, 59,151,255,157, 13,251, 59,132,143,118,227, 90,110, 39, 3,162,236, 69, 21, 91,
+ 29, 77,165, 96, 56,230,100,103,135, 32, 43,188, 28, 82, 75,149,137,153, 85,205, 52, 37,116, 59,166,151, 31,150, 0, 0, 32, 0,
+ 73, 68, 65, 84, 68, 57,203,154,196,131,213,140,212, 45, 25, 36,203,136,132, 89,175,120,251,249, 41,103, 79,207,225,244, 28,204,
+ 34,143,248,157,223, 38,143,137, 43,150,192,166, 42,124, 11, 73, 40, 73,103, 85, 81,229, 87,178,202, 56,255, 16,208,170,130, 36,
+112, 49,101, 16,151, 20, 68, 45, 25,106,133,208, 2, 47, 65, 10, 73,146,130, 46, 9,180, 86,244, 46, 3, 90,214, 17, 86,101, 28,
+111, 99, 34,181, 13,222,231,189,242,178, 60, 51,214, 34, 15, 31,215, 49,178, 10, 89, 95,227,124, 94, 69,197,126,133, 11,249,192,
+110, 92, 79,109, 13,206, 91,132,144,196,100, 81, 66,162,162,197,251,136,116, 61, 42, 6, 68,232,104,131,167, 1, 92, 48, 76, 19,
+ 88,179,100, 39,102, 58, 95,244, 22,101,215, 40,179, 38,121,135, 54, 29,149,115, 8,111, 17, 49, 48,241,158,224, 61,123, 82,242,
+217,221,107,156, 46,207,105,189,167, 74,130,140,197,202,225,153, 83,221, 32, 82,100, 44, 53,109,193,187,106, 41,177, 49, 80, 41,
+137, 11, 1, 37, 36, 59,117,195,233, 98, 85,130,137, 68, 46,210, 87, 69,151, 27,107,241,230,186, 81,133, 74,103,202,179,190,183,
+ 37,169,176,172, 28,219,122, 27, 10, 22, 92,238,196, 99,216, 10,165, 55,226, 99, 81,158,247,170, 68,105, 27,183, 61, 40,108,198,
+239,136,172,143, 82,250,167, 88,212,181,222, 98,237, 98,202,106,208,210,117, 95, 22,187, 75,225,129, 33,149,194,110, 17,180,149,
+102,237, 93, 73,118,203,129, 3, 74,128, 8, 14, 79, 22,182, 12,100, 66, 57,139, 41,222,192,133, 91,103, 36,108, 76, 92,248, 14,
+235, 3,193, 27,214, 49,112,144,114,172,106, 8,129, 29,161, 72, 49,160,145,168, 80,216,190, 18,140,143,232, 8, 59, 90, 82,187,
+144, 69,166, 41,191,245, 41, 4,156,204,187,238, 20, 34,227,186, 98, 46, 19, 58,229, 16,146, 71,193,103, 62,188,247,219, 44,242,
+ 20, 75,113,247,219,241, 9,105, 11,228, 15, 62,139, 37,172,221, 90, 24, 68, 33, 8,109, 34, 93, 55,227,149, 84, 70,237,227, 97,
+126, 29,155, 58,255, 25,235,254,142,120,223,171,133, 60,254,200,194,254,230,239,255, 30,191,240,139,159,166,183,158, 80,110, 72,
+211, 89,108,239,184,118,243,144,227,221, 49,141, 84, 44, 59,203,238,168,229, 96,212, 50,104,117, 86,189,139, 92, 8,107, 41,242,
+186, 73, 10,116,233, 16,124,200, 5, 93,144, 49,167,174,160, 78, 19, 89, 9, 46, 55, 95, 91,200, 59,162,208, 91,170,181,195,134,
+ 64,176,185,192, 69,231, 73,189, 39, 25, 71,215, 25,122,219,115, 26, 29,115, 25,121,183, 91, 97,154,138,195, 79,223, 34, 62,152,
+209,252,229, 35, 94, 29, 31,240,235,205,136,253,139, 53,225,169,231,200, 75,150, 83,201,122, 92,241,158,247, 40, 37,185, 23, 61,
+231,227,134,119,149,224, 66,193,177, 82,140, 85,195,129, 28,178, 47, 43,118, 6, 3,166, 66,193,243, 21,247, 79,231, 92,191,189,
+195,139,183,246, 56,184,177,203,145,208, 92,107,107,148, 75,216, 62,219, 35,133, 43, 89,238, 87,248, 17, 66, 10,234, 58,187, 3,
+118,198, 3,246, 38, 67,246, 39, 13,131, 90,151,107, 59,255, 29, 23, 2, 49, 6, 66, 74,212, 82,146,124, 98,170, 18, 47,213, 53,
+ 79,103, 29, 31, 60, 56, 99, 54,155,227,188,229,112,111,196,231, 62,117,147,155,215,142,153, 14,119,217, 29, 78, 72, 69, 93,127,
+231, 96,194,106,109,120,126,182,162,209,154, 51, 27, 88,199,196,193,225,152,221,189, 17,200, 12,117,154,159,204, 57,174, 27,246,
+ 38, 83,122,159,241,161,175,191,242, 2,191,248,239,252, 60, 95,249,202,159,125,100,191,254, 19, 47,232, 87, 21,240,155,164,171,
+205, 84,235,111,163,202,141, 6,152,193,132,209,116,196,167,247, 6, 28, 14,106,118,107,205,245, 90, 49, 80,138,147,165,201, 15,
+ 78,103, 49, 46,146,148,230,104,216, 48, 80,130, 86,100,208,202,194,231, 96,161,188,251,235,243, 67,212,102,209, 25,190, 56, 82,
+148,222, 78,202, 54,209,176, 31,103,214,111, 86, 7,170, 20,116, 41,178, 85,174,153,192,141, 99,216, 25,195,100,159,231, 85,205,
+141,102, 68, 39, 4,123, 77,205,185,113, 56, 96, 71,193,137,181,248, 24,121,107,121,206,217,226,148, 39,103,231, 60,158,157,242,
+214,163, 51,158, 62,124, 2,179,243,188, 46,251, 27,124,138,205, 1,191,220,198, 77,181, 77, 2, 67,208,167,128,144,130, 73, 53,
+192,166, 68,163, 20,178, 76, 71, 68,138,136, 24,243, 72, 94, 66,244,130,145,202, 16, 40, 33, 37,169,146,132, 36,137, 74, 98,124,
+202, 63,146,105,102, 46, 38, 58, 31, 17, 42, 23,241, 40,243, 10, 37,175,128, 99, 30,173,147, 19,212,164,247,172,124,160,235, 60,
+209, 25,146,136,132,110, 13,206,144,130,205, 25,234, 66, 18,162, 45,169,184, 14, 21, 19,214, 27,218, 70, 66,176, 12,136, 4,223,
+ 83,153, 30,229, 3,209, 59,154, 20,113, 33,128, 55,200,224,136,166, 3,103, 17, 46, 79,236,156,235, 24, 34, 32, 56,132, 16, 57,
+ 47, 66,192,172, 95,229,116,199,226, 67, 15, 36,148, 80, 40, 18,158, 88, 66, 54, 5, 42,101,105, 70,231, 12, 29,177,120,230, 19,
+ 54, 6,150,214, 51,105,106, 22,222, 95, 97,244,139,220, 41,111, 28, 36,155,113,249,102,148,190, 17,198,165,194,160,135,237,245,
+181,217,207,111,148,242, 87,121,241,226, 74, 81,247, 37, 20,198, 20,198,130,210,249,218,221, 96, 2, 67, 73, 51, 68,129,119, 63,
+101,161, 92, 91,129, 87, 48, 29,230,125,238,168,217,226, 80,155,234,114, 92,128, 80,121,212,229,242,233,105,181,238,145, 85,131,
+113, 6,161, 42, 70,186,194,186, 30, 17, 35, 50, 37,134, 41, 18, 17,212, 41,208, 71,199,202, 59,148, 80, 24,111, 89, 59,139,137,
+145,148, 18,141,212, 76,131,197, 91,199, 80,107,134,192, 50, 6, 14, 85,141, 53,153, 24, 85,107,149,167, 5, 62,160,101, 22,105,
+212,193, 51, 78, 20, 14, 61,151, 66, 5, 67,202, 76, 99, 18, 6,232, 82,204,227,254, 74,210,155,136,237,203,205, 31, 93, 17, 76,
+168,252,117,171,143,189, 54,118, 51,122, 44, 63, 23,229, 77, 9, 69, 81,155,228,246,230,221, 60,232, 54,252, 71, 41,183,209,126,
+ 54, 67,117,127, 44,113,174, 41, 40,193,205,195, 74, 21,145, 71, 16, 31, 41,236,191,250,235, 95,224,248,250, 1, 62, 38,250,117,
+ 30,191, 59,147,245, 12,187, 59, 35,110,237, 78, 74,195,162,105,180,162,106, 84,222, 53, 35,112, 49,146, 82,188,124,206,233,130,
+131,141, 41, 96, 93,192,197,108,187,202, 76,130, 13,140, 41, 79, 43, 68,140, 40,145,168, 82, 94, 45, 57,231,145,198,209,185,236,
+231,118,214, 97,230, 61,177,239,113,171, 53,157,181,204,214,134,185,237, 89, 24,195,105,176,236,191,120,155,157,207,222,226, 43,
+127,254, 13,222,250,139,251, 12,142, 21, 47,220,124,145, 23,118, 26,252,196,240,245, 39, 6, 33, 34,143, 71,112,126, 56,196, 95,
+159, 50, 18, 2,150, 6, 81,107,226,193, 49, 15, 14,199,156,141, 43, 6, 71, 35, 26,169,209,109,141, 58, 24, 50,108, 27, 14,238,
+236,178,127,123,143,118,210,210,122, 24,161,168,155, 10, 85, 41, 70,114,139,207,140, 49, 96, 67,164, 25, 86, 76,198, 13,215,246,
+134,220,220, 27,113,109,119,196,193,116,192,100, 88, 51,110,106,180, 86,249,181, 8,145,152,242,136, 94, 10,201,180,209,236,141,
+242,104,252,134,150,200,121,199,255,246,111,190, 75,112,145,122, 48, 96, 50, 30,241,194,241,148, 59,187, 35, 82, 76,188,253,195,
+ 71, 44,206, 47, 16, 62,112,234, 37,119, 38, 53,235,103, 75, 98, 31,217,213, 21, 55,246,134, 44, 58,207, 98,101,105, 27, 77,191,
+178,200, 8,211,225,128,225,112,192,218, 71,108,200,195,162, 81, 91,241,218,171, 55,240,178,229,251,127,253,221,143, 20,242,191,
+ 79, 65,255,219,254,236,175,254,193,239,242,202,103, 62,203, 7,111,191,253, 9,171,162, 79, 56,164, 14, 91,216,221, 37, 76,134,
+252,236,222,152, 73, 83, 19,132,100,164, 4, 74, 73,146, 8, 60,176, 41,143,203,215, 38,251,213,119,106,142,170, 28, 8,178,142,
+145, 93,173, 8, 4,158, 47,138,255,184,187, 2, 19, 65,111,221, 35,162, 46,162,164, 79, 56,100, 92,213, 4,184, 50, 5, 31, 76,
+144,119,239,114,243,238, 45,210,225, 17,118,178, 83,114,229,107,180,210,153, 1,159, 34,199,117,131, 35,160, 17,168, 20,121,104,
+123, 78,251, 25,166,239, 88, 60, 62,229,236,222, 3,220,114, 1,203,213,143,159,190,109,178,224, 55,154,157,186,216,251, 66,118,
+ 4, 5, 41, 88,121,203, 78,221,162,132, 68,136, 92, 72, 66, 12,104, 85, 19, 69, 98,131,126, 10, 82, 49, 44,135,114,155, 68,110,
+ 10,149, 32, 59,234, 36, 65,102,124,240,218,102, 17,108, 42,207, 64, 81,236,136,202, 7,188,144,136, 50,117, 77,198,230,224,167,
+222,129,239, 73,222, 18, 76,143,138,158, 24,115, 98,156, 19,130,228,123,156,207,137,107,222, 88, 76, 74,232,148, 8,201, 51, 66,
+226,125,207, 40, 74,186, 16,169, 69, 34,152, 14,153, 32,218,142, 58,120,162,115,140,200,235,170, 97, 10,196, 4, 67, 85,177,246,
+134, 86,230,152, 85, 73, 22,232,170,242,236, 81,100,194,168, 32,139,182,129,156,248,137,192,166,188,231,246,228, 6, 83, 8, 8,
+ 41, 98, 98,194,246,150, 73,211,240,104,181,162,169, 42,236,198,238, 38, 85, 41,172,113,155, 60, 88, 95, 81,158,214,114, 11,166,
+145,106,155,247,177, 57, 52, 74,145,109,145,155,149,173, 40,249, 32, 27,101, 59,229,227,189,223,254, 61, 81,166,224,179, 85,110,
+ 28,155,186,248,229, 29,136,159,150,250,125, 88,252,122,169,202, 59,131,166,201,113,129, 27,127,173, 42,167, 27,228,149, 19,122,
+218, 34, 38,171, 10,107, 28, 70, 10, 86,214, 16,188, 97, 90, 88,215, 3, 9, 42, 9, 38,194,179,136,129, 90, 72,214,193, 99,202,
+232,109,217,175,243, 69,137, 64,250,142,118, 35,138, 43, 23,243, 68,192,204,244,140,235, 22, 17, 29,201,123,150,222,103, 7,124,
+204, 35,185, 29,157,185,191, 31,190,242, 58,215, 46, 78, 73, 73,226,137,140,145, 88,160, 67, 32, 69,194,186,196, 66,101, 72, 78,
+ 40,202, 79,187, 25,167, 7,159,187,244,166,222,146,134, 40, 86, 6, 10,216,223, 23, 81,157, 43,132, 58,183, 81, 2,151, 55,126,
+227,245, 18, 69,100, 81,169,237, 30,101,179,123,140, 41,119, 8, 27, 59,197,213, 7, 65, 83,127,212, 94, 1,219, 36,162,205,184,
+176,124,224,183,254,201, 63,206, 56,221,144,112, 54, 95, 64,147,209, 0,129, 98,111,119,140,150, 10, 37, 21,141, 86, 72, 33, 75,
+ 87,158,227, 83,157,203,162,176, 90, 73,154, 90,150,162, 14, 62, 70, 58,159,149,236,133,220,139,137,145, 40,178, 47, 85,196,144,
+ 35,143,197,150,123,109, 66,192, 46, 76, 22, 9,245,142,213,202,176,156, 45, 56,159,175,152,245, 29, 51,103,145, 41, 18,157,101,
+109,122, 92, 76,236,190,112,140, 62,222,225,255,253,163,175,113,241,112,201,247,186,142,212,172, 9, 56, 62,115,227, 22,111, 54,
+137, 39,120,254,236,241, 26, 63, 55,156,159,175,169, 5, 48,110, 25,197,196, 99,179,160, 11,129,190,213,204,118, 71,156, 54,146,
+147,169, 34,222, 30,179,216,169,176,149,162, 54,121,100, 41, 7, 53,205,184,166,110, 52, 35, 89, 49,172, 53,173,146,180, 62, 50,
+ 33, 49,110,107,166,147,150,107,135, 99,246, 39, 3,246,166, 3, 70,131, 26, 93,108,128, 90,201,178,126,141, 36,159,213,255, 82,
+ 8, 26,173,153, 12, 42,246,234,138,147,101,199, 35,165,248,242,215, 63, 32,133, 28,172,209,212, 53,195,129,226,217,188,103,185,
+116, 12,147,228,116,102,153,205,206,120,180,154, 49, 11,137,111,254,240,251,124,240,236, 62, 39, 23, 39,188,251,240, 62,143, 31,
+157, 48,191, 88, 48, 95,204, 57,123,122,206,163,135, 79, 57,125,126,206,197,197,140,231, 39, 39, 44,214, 29, 85,173, 8,174,167,
+235, 12, 54, 9, 6,187,215,137,202,242,224,189,123,151, 0, 69,254,158, 69,253, 71,125,223,124,187,191,180,124,240,222, 7,208,
+175,255,238, 5, 93,235,220, 1, 31,102,129,220,205,166,166,173, 50,238,116, 32, 37, 90, 87,120,231,240,222, 49, 95,153,188,230,
+ 27,100,178,216, 65,147,115, 35,234,148,232,125, 96,225,115,126,184, 57, 95,110, 35,135,109,233,188,170, 97,238,218, 69, 41,146,
+155, 46,253,147,196,126, 82,228,191, 55,220,129, 23,142,121,243,198, 49,135,211, 67,218,193,136, 51,213,146, 68,158,208,205,234,
+150,167, 40,166, 34,113, 18, 35, 67,239, 56,247, 14, 17, 19,111, 89,151, 31,204,125, 15, 23, 11,152,205,126,124, 66,221,230,245,
+240, 30,212, 32,127,174, 65,102, 71, 64, 44,234,105, 37, 8,206,211, 14, 90, 66,112,104,169,177,193, 51,168,106, 20,153,236, 25,
+188, 65, 11,149,215,103,185, 68, 19,108,160, 86, 50,219,172,109, 66, 40,137,136, 9, 93, 30,105, 61, 80, 33, 72,133, 0, 42, 76,
+204,114,158,144, 15, 83, 90,103, 13, 11,189, 39, 57,159, 5,202,102,141,240, 14, 65,200,196, 59, 34,214, 5, 98,200, 17,170, 85,
+ 57,124,120, 41,192,245, 68,233,169, 19,120,231, 24,162, 89, 70,207,184, 30, 16,189, 67,235, 1,157,235, 25, 75,133,113,150,125,
+ 41,209,128, 70,160,133, 68,138,204, 37,168,164, 32, 68, 79, 85, 38, 9,163, 36,240, 66,228,175,131, 72, 31, 44, 72,141, 38, 17,
+ 81,185,112,147,138, 51, 89, 32, 98, 66,165,136,147,153,247,174, 8,244, 33,177,234, 13, 35, 93,115, 70,164, 74,121,122,145, 68,
+177,153, 41,181, 85,160, 20, 23, 28,141,206, 98, 55, 41,182, 19, 42, 33, 62,122, 77,109,158,219,151, 93,186,222,142,211, 55,142,
+ 37, 23,114,189, 8,108,187,247, 80,108,112,107, 91,106, 72,209, 86,249,248, 83, 42,234, 74,231, 34, 30,200,114,125, 84, 62,177,
+232,156,129,158,199, 21, 41,183, 8, 66,111, 21,130,177,132,164,152, 34,221, 79, 20,123, 67,222, 95, 91,107,105, 73,104,153, 71,
+ 64,144, 72, 41,228, 44,246,222,226,163,203, 14, 2, 2,131, 2,132,217, 67, 48,174,114,150,179, 46, 23, 56, 68,124, 25,239,235,
+ 20,105, 35,204,108,192,133,200, 72,128, 45,121,221,183, 79,159,179, 44,144,148, 81,132, 69,121, 23, 12,130, 25,137,133, 16, 44,
+125,190, 32,214, 65,112,238,242, 41,249, 50,150, 53, 94, 21,192,197,210, 89,171,141, 68, 49, 67,248, 83, 17,187, 37,114, 52,235,
+102, 36, 35,139,176, 78, 94, 17,207,249, 66,170, 43, 88, 81,124, 25,185,200, 43,116,174,116,133,207,189,177, 91,136, 43, 66, 62,
+228,246,128,193,214,162,243,251,255,233, 31, 98,186, 28, 44,225, 92, 32,186,192,238,206, 36,159,193,146,164,109,107, 14,134, 45,
+195, 90, 83,215,217,141, 16,203, 80,161,210, 32,146,160,105,178,133, 45,199, 80, 71, 92, 12, 24, 31, 8, 41, 71,168, 38,145,178,
+133, 80,230,216,220,232,179, 18, 28, 4,222,121, 92, 8, 8, 31, 57, 95,245, 44,214, 22,103, 29,171,222,240,164,235,120,188, 94,
+115, 97,123,214, 9, 92, 37, 56,235, 58,150,214, 16, 43,197,203, 47,189,192,201, 98,205,215,254,215,111, 32, 6,146,186, 18, 52,
+119,246,249,186,142, 28, 72,184, 62,217,227,243,215,111,242, 89,147,247,204,223,127,106, 8, 35, 80,141, 98, 60, 25,179,127,112,
+204, 75,135,199,188,116,227,144,113,165, 9, 90,114,237,230, 14,211,189, 17,207, 47, 86, 72,227, 72,215,166, 84, 71, 99, 70,147,
+134,145, 84, 84, 97, 43,142, 22, 62,162, 67,162,173, 85,254,248,184,165, 29,214, 12,219,154,166, 86,217,238, 87, 28,142, 46,101,
+191,120, 12,161,192,167, 4, 77,165,169,106,133, 20,138,243,147,158, 7,167, 11,118,247, 7,156,156,175, 49,103, 11,170,170,230,
+151,111,236,241,198,241,148,135, 23, 29, 51, 99,120,116,190,224, 7,247, 63,224,157,179,167, 44,187, 30,223,205,232,215, 38, 15,
+ 98, 18,132,228,115,183, 20, 12,203,213,138,179,229,140,179,197, 57, 23,171, 57,103,139,115, 78,215, 51,158,207,207,184, 88, 94,
+240,222,179, 71, 60, 57,125,198,129, 24,146, 82,228,197,151, 94,230,223,252,201,159,254, 72,251,122,250, 49,133, 94,252, 29,138,
+ 61,139, 89, 46,156,159, 52,221,251, 81,140,133,241, 4,142,247, 47, 73, 93,183,171, 42, 91,122,145,116, 36,250,190,207,217, 0,
+120, 30,117,219, 16,142, 78, 40, 38,141,100,110, 3, 41, 69,154,148,144,214,243,238,179,115, 46, 51, 77, 47,177,155, 50,143,224,
+155,122,171, 92, 86,242, 71, 79,193, 54,201, 92, 41,193,104, 10,135,187,220,190,118,147,233,104, 23,163, 52,162, 26, 48,208, 21,
+ 23,190,116,114,222, 17,180, 98,153,224,209,122,141,171, 26,190,231, 45, 31,244,235,124,162,247,174,196,124,174,243, 14,253,111,
+211,199, 84, 58,123,158,147, 7, 74, 38,134, 93,231,102,106,227,190,145, 18, 19,242, 65, 77,132,192,176, 25,210,185, 30,169, 21,
+ 34, 69, 26, 85,147, 66, 94, 51, 58, 23,114,132,181, 84,185,185,241,145, 86,103,129, 43, 34,195,193,214, 33, 18,123, 75, 16,153,
+246,104,215, 46, 11, 92,125, 32,134,132, 36, 18, 58,131, 95,175,243,218,109,221, 33, 66, 79,112,150, 16, 60,193, 58, 2,129,228,
+ 18,142,172,175, 81, 50, 93, 90, 12,125,112, 89,180,236, 28, 49, 69, 26, 50,113,174, 10, 17,157, 32, 9,141,136, 14,180,162,139,
+130,166, 16, 2, 13,130, 70,105,230,209, 83, 41,133, 41, 13, 76, 16,138, 4, 52,222,177,146,154, 58, 88, 92,180, 40,153, 93, 58,
+ 97,147,213, 65,194,136, 76, 43, 13,100,124,109, 37,242, 33, 65,165,242,185,166, 72, 77,100,105, 29, 61, 25,128,165,180,102, 34,
+ 37,149,210,140,128,186,174,104,148,206,221,127, 42, 66, 56, 87,158,223,186, 52, 85,233, 10, 54,124,147, 13,162,244, 86, 32,183,
+177, 76,166,184,213,157,108,224, 67,186, 8,235, 54, 72,114, 85, 72,114,118, 85,252,244,153,191,207,170,251, 9, 23,245,170,134,
+122,152, 11, 77,211,108, 59,197,182,222, 6,202,167, 43,116,164, 13, 98, 79,177, 21,127,197, 77, 23, 26, 47,141,248, 89,168, 16,
+ 57,146, 9, 85, 41,116,244, 4, 23, 80, 49,226, 98,230,100, 43, 41, 89,118, 75,100, 74,180, 41,177,178,134,155,186,206,187,250,
+224,217,211, 53, 34,194,210, 57,166,170,166,143,150,228, 2, 77, 65, 67, 6,231,240,198, 16,146,160, 46,225, 35, 73,194,158,212,
+204,125,126, 19,155, 4, 39,197,114, 23,145, 88, 41,104,149,224,153, 79, 44,125,196,169,172, 88, 78,137,220,145, 75,181, 85,178,
+167,210, 29, 43,182,156,235,203,184, 74, 93, 10, 58,249,231, 37, 41,232,114, 85,177,185, 24,160, 88,221, 82, 81, 12, 23,177, 81,
+239, 33,169,226,111, 47,175,175, 42,212,169, 75,235, 91, 9,153, 73, 42, 95,116,155,220,223, 16,248,204,239,255, 7,124,254,115,
+159,230,226,124,133,174, 43,136, 25, 12,147,130, 96,119, 60,100, 52,108,217, 27,182, 28,140, 26,154, 70,149,125,176,192,167,132,
+136,100,116, 36, 89, 36,183,233,212,125,204, 16, 26, 98,188, 92,253, 9, 41,168, 68, 14,222,169, 68,217,239, 9,208, 62, 18, 67,
+164,235,115, 32,137, 89, 90,170, 69, 71, 88, 25,132,181, 44, 58, 75,111, 45, 74,228,220,251,211,174,103,213,119, 57,132,103,210,
+242,194,155, 47,242, 23, 95,121, 11,255,175, 79,216,105,160,185,214,210, 87,160,158,206,249,225,122,205,119,194,146,163, 73,195,
+241,235,159,226, 55, 62,253, 38, 95,184, 46, 56, 28, 40,102,149,228,177, 8,132,228, 56,237,215,116, 54, 32,146,162, 70,176,190,
+232, 89,156, 46,152, 55, 53,211, 59,135,140,174, 77,208,149, 66, 70, 8,179, 30,177,242,132, 62, 91,212,130, 11, 36, 34,177,146,
+184, 70,163, 27,141,174,213, 37, 77, 48, 21,149,127,138, 9,235, 2,179,222,177,234,242,148, 66, 73,137, 82,146,189,241,128,247,
+159,102,202,156,112, 6, 85,107,174,239,141,104, 22,145,167,203,158,135,103, 51,254,242,222, 51,158,159, 93, 96,157,167,110, 91,
+ 22,231,115, 30,159, 95,100,228,104, 74,204,215, 61, 54,122,198, 74,179,182,129, 85,112, 24,239, 49, 49, 11,150, 58,239, 89,245,
+249, 64,112, 54, 95,241,131,231, 11,124,223, 19, 19,204, 23, 61,251, 42, 59, 19,170,113,203,151,126,251, 55,248,211, 47,255,233,
+223, 40,232,252, 67, 88,241, 31, 47,238, 87, 57,241, 63,142, 25,223, 78,224,230, 33,236,142,178,216,118, 80, 65,128,164, 5, 85,
+204, 29,166,113,129,150,200,147,181,229, 91,103,102, 11,136, 41,207,150,147, 36,120,169,202, 99,230,117,103,121,235,225,156,228,
+ 74,254,244, 38, 17,173, 42, 99,209, 16,202, 90,176, 60,131, 62, 30,125,250,241,157,250,100, 47, 7,172, 92,191,201,231,118,247,
+121, 97, 58,229,246,100, 66, 91,124,226,247,205,106,203,151,112, 22,103,123, 80,138,133, 47,241,157, 17, 88,157,230, 46,219,153,
+252,255,157, 45, 63, 6,136,250, 4,171,176, 32, 79, 66,243,252, 59, 23,121,155, 69,154, 84,242, 18, 84, 21,148,192,200, 72,240,
+185,161, 9,209,163,117,133,148,185,203,148, 34,147,228, 66,240, 52,149, 98,237, 92, 97, 33, 68,214, 38,175,107, 86,189, 37, 57,
+143,174, 43, 98,116, 68,227,179,107,207,122,100,136, 8,219, 35, 41, 2, 97,107,137, 46,107,137,172,237, 72, 27, 93,141, 16, 89,
+ 52,231,109,137,255,149,184,148,133,118,189,207, 59,118,235, 60, 54,250,146,171, 18, 49,174,167, 18,146, 62, 4, 26,145,136, 50,
+ 35, 93, 91,169,168,165,162,139,158, 29,169, 88,199, 44,108, 91, 69,135,143, 1,169,179,224,109,229, 45,161,106, 72,209, 97,144,
+ 68, 33,104, 82, 98, 22, 61, 41, 69, 66,140,116,209,229, 41, 79, 10,120, 66, 57,124,230,103,148, 66, 98,163, 69, 36,129,141, 1,
+169, 4, 38, 36, 90, 37, 25, 11, 65, 43, 21, 83, 37, 25, 40,137, 21,137,105,147, 51, 60, 76, 42,224,154,250, 74, 33,142, 92,201,
+ 1,185,146,183, 46, 75,179,235,220,150, 62,154,200,236,252, 65,137, 87,173, 84, 17, 94,151,110, 93,108, 60,242, 64, 23,242,129,
+ 78,144,163, 92,131, 67,255, 68,133,113,170,201,167,197,205, 56,160, 85,249, 11,219, 20,163,171, 39,242, 90,111,189,217,165,225,
+ 68,139,162,236, 43, 76,115, 27,144, 56,134, 90,178, 19, 5,115, 11,199, 98,197,168,110, 51, 76,205, 25,164,108,216, 19,154,167,
+221,146,157,170,162,179,134,144,224, 72,215,216, 16,153, 8, 24,171,154,174,236, 89, 14,116,205,210, 91,118,208,204,177,172, 67,
+ 68,133,136, 38, 43, 42,165,246, 44, 13,184, 74,163, 98,226,185,235,144,149,102, 29, 50,225,105, 71, 42,102,228, 83,145, 36,135,
+ 20, 88, 34,123,173,102,209, 59,162, 86, 89,229, 62,110, 96,105,182,147,139, 80, 96, 49,169,124,157,254,202, 14, 79,149, 31,211,
+ 21, 79,162, 17, 48,186,178,155,217, 16,235, 98,177, 58,216,176,213,189, 13, 11, 41,206,232,252,111,153,152, 39, 35,148, 92,236,
+170,164,106, 73,189,125, 52, 71,113,249,190,189,121,231, 38, 49, 65, 59,108, 16, 90, 98, 93, 32,153,128,115,185, 91, 81,149,204,
+160,147,178,247,174,149, 40, 78,164, 44, 56, 49, 62,162,138,201, 89,108,222,234, 50,136,137, 69,176,185,137,154, 23,136,156, 52,
+152, 4, 82,230, 49,161,244, 33,171, 86, 59,131,155, 25, 84,111, 11,203,191,104, 79, 66,192, 6, 71,159, 18,125,111,176,206, 32,
+108, 32,166,192, 94,219,242,176,115,252,233,187, 15,185,253, 70,197,200, 66, 67, 66,156,172, 56, 57, 26,113,231,229,215, 89,156,
+ 61,225,191,139, 29, 47,135, 57,191,110, 87, 28, 31,222,230, 75,117,203, 23,206,159,243,131,229,115,238,173, 35, 95, 94, 95,112,
+ 18, 3, 79, 42,201,207,238, 28, 51,158, 52,168,107, 19,246, 14,247,152, 30,140,144, 74, 98, 66,194, 45, 58,170,149,195,150,117,
+ 4, 54,167,186, 5, 45,112,149, 36, 21, 26,156, 14, 9,225, 35,158, 72, 40,112,165,232,193,185,196,122, 29, 80, 36, 68,157,201,
+ 93, 49, 74,222,190,191, 32,185, 72,171, 96, 58,108,121,218,121,236, 78,205, 63,123,105,194,119,204,138,127,241,116,129,143, 62,
+ 31,168, 26,197,155,159,191,203,247,191,255, 61,238, 61, 95,114,115, 84,241,107,135, 55, 96, 26,249,198,124,206,176,110,217,175,
+ 7,220,222,191,198,141,233,148,115,111,121,124,126,142,241,134, 85,183,228, 83, 71, 13, 7,163, 29, 46, 86, 75,158,246, 11,246,
+116, 67, 45, 34,157, 2, 21, 2,194, 68,190,248, 43,175,241, 95,255, 45, 29,122,250, 17,123,247,159,152, 5,174,109,217,185,123,
+141, 52, 26, 35,134, 3,122,173,241, 41, 17,130,227,161, 75,220,174, 61,206, 67,231, 28, 30, 79,146,101,229,197, 71, 57, 16, 17,
+248,234,188, 76, 2, 93,159,159, 47,178,192,155,218, 9,248, 46,239,215,171,186, 60, 92, 55,172, 8,121,217,204,255, 77, 21,190,
+206, 35,247,107, 59, 48,157, 66, 91,115,176, 59,101, 58, 24, 34,133,228,184,170,232,206,230,249,243, 89,207, 11,167,163,221, 10,
+135,165,132,174,227,118, 93,113,214,238,178,182, 43,234,182,194, 74, 9,135, 83,120,210,125,242, 42,162,169,175,156,144,178, 32,
+ 12,116, 1,159,100,245, 51,115, 67, 14, 68,175, 97,217, 97,125,228, 98,144,223,161,131,225,148, 69,183,196,200,142,189,241, 1,
+189, 89,210, 52, 67,132, 23,172, 18,168,186, 97, 57,207,182, 71,173, 43,250,232, 81, 73,210, 69,143,181, 61,131, 74, 99,157,165,
+ 81, 67,186,213, 18,165, 21,237,176,194,175, 59,162,179, 72,145,240,214, 33,149, 36,164,128, 3,188,181,101, 5,144,175,152,222,
+ 25,180,200, 90,136,149,235,240,222,145, 80,116,209,160, 82,142, 16,237,172, 97,208,140, 9,101, 84,190, 38,209, 6, 11, 85,139,
+148,208, 91,195,245,193,148,179,110,206,158,144,172, 98, 96, 32, 20, 94,128,179, 61, 75,165,217,169, 26, 30,117,107,118,155, 66,
+243, 75, 48,147, 2,233, 61, 81,105,188,136,248, 62,215, 0, 71,194,199, 72, 93,215,152,148,178,255, 30,193,146,148,209,204, 74,
+ 81,167,200, 16,113,169, 37,104,154,124,184, 59,239, 35, 71,117, 13, 82,226,101, 96,169,134, 4,105,179,253,176, 41, 5,217, 95,
+205, 89,151, 91,139,166,247, 31, 93,169, 92,118,249, 62, 83, 70, 55,251,246,141,152,122,115,237,106,153, 39,189,227, 97,190,134,
+157,253,136, 44,250, 39,243,173, 46,133, 56,216,140, 36,213,117, 25,161,139,143, 65, 25,202,233,164,119,249, 11,118,229,215, 38,
+ 92, 25, 71,196,178,128,245, 68,217,162,116, 69,178,145, 29,237,104,172,162,247, 29,187,186, 34,106, 65,111, 87, 64, 98, 42, 20,
+143, 86,107, 14,116, 22,125,116,166,131, 42, 39, 13,137,166, 98, 32,171,242,224,137, 52, 90,208,123, 71, 29, 35, 78, 64,231,125,
+ 14,134,145, 18,150,134,117,163,209,192, 89,128,161,208,168, 16,168, 10,157,163,147, 10,161, 21, 9,193, 72, 87,132, 4,159,169,
+106, 46, 66,224,212,184,172, 20, 29, 54,249,164, 54,172,179, 26,119,163,162,189,138,105,213, 34, 23,225, 88, 66, 0,130,206,150,
+154, 77, 97,151, 41,167, 59,169,226,139,244, 97,235, 93, 44,118,176, 75, 76,108, 36,191,222,182,252,219, 67,189, 45,248,151, 1,
+ 26,155,255, 75,111, 11,122, 57, 83, 93,187,125,227,242,115,202, 18, 18, 81, 38, 83,249, 66,148, 81, 18,124, 22, 31,110,180, 67,
+ 66,228, 63,171,149,184, 76,221,173,149,200, 16, 37,178,117,205,167, 88, 2,177,242, 9, 53,164,148,247,237, 72,162,207, 73,122,
+193, 6,154,148,149,238,110,237,208,197,121, 96, 0,227, 29,198, 88,214,125,199,172,235,145, 36,132,179, 4,235,145, 36,130,150,
+ 12,199, 3,190,255,193, 3,150, 95,153,243,149, 99,201,254,169,229,215,247, 26, 94,126, 97,200,226,241,130,123, 23,223,224, 66,
+193,162,210,236, 69,248,111,215,107,126,121,239,144,234,180,227,101, 85,243,185,163,215,249,247,142,111,242, 79,102,167,124,227,
+102, 67,251,230, 13,142,238,238,229,123,208, 37,116,165, 17, 62,208,135, 60,102, 84, 2,210, 40,147,181, 36, 2,233, 50, 75, 32,
+200,124,125, 87,100,155, 86, 21, 34,149,143,216,232,115, 98, 96,217,217,133, 62,226,109,158, 56, 33, 37, 33,230,108,131,211,251,
+107,162,244, 60,239, 61,222, 59, 30,159,207,184,251,133, 23,137, 55,119,184,247,214,135, 92,172,151, 8, 1,163,166,229,104,111,
+143,221, 81,195,209,222, 17,191,249,233,138,100,214,236, 79, 15, 56,237, 46, 88,167,196,163,231,103, 44,141,231,165,211,231,188,
+118,237,144,233,222, 33,203,126,193,186, 55,220,222, 61,224,213,163,235,188,124, 48,226,193,197,138, 47,255,240,175, 88, 44,102,
+188,176,183,199,139,251,135,220, 58, 56,228,240,250,148,187,135, 19,254,229,255,244,207,249, 79,254,179,255, 28,212, 0, 49, 26,
+195,225,136,116,112,200, 63,190,113,196, 31,175, 86,172,159, 61, 39,157,156, 34,158, 94,128, 89,126,180, 99,223, 57, 34, 29,236,
+192,221, 87,152,142, 15,153, 47,158,230,103,195,226, 28,206,230,136,211, 11,146, 89,253,232,226,165, 53,140, 39,164,209,152,235,
+147, 17,170, 25,162,129,185,115,124, 24, 18, 67, 25, 89, 88,203,164,146, 84,193,241,212,194,131,133,217, 10,143, 98, 42,211,171,
+152,243,202, 77,202,247,150, 47, 72,207,203,123,178, 20,207,166,222,118,237, 27, 56,147,214, 63,218, 68,162, 91, 24,239,194,241,
+ 97,193,211, 14, 25, 55, 99, 8,142,224, 61, 86, 64,139,100, 32,122, 88, 92,228,117,195,168,133, 33, 48, 57, 6,215,241, 11, 56,
+154,233,132,199,243, 57, 71, 85,102, 21, 84,214,242,221, 90, 93,106, 1, 62,241, 91, 40, 48,169,148,242, 93,162, 54, 63, 47, 33,
+ 80,107,155,153,226,203,242,111, 52, 26,172,193, 84,146,147,144, 88, 37,207,141,122,138,175,107,116,183,160,210, 53,201,174, 24,
+ 84, 99,122,215,209, 70,143, 80, 21,189, 51,180,117, 3, 66, 50, 95,175, 51, 11, 62,130, 49, 29,109,221, 98,102, 39,212,170, 66,
+167,200,234,124, 65, 91, 85, 16, 61, 94,120,208,224,173,199,135,136, 23, 57, 26,123,105, 13,149,140,244, 33,101,107,170,144,120,
+ 99,208, 2,214, 49,139,102,149,172,177,193, 18,173,103,183, 25,211,187, 53,168,134, 54,145,117, 57,101,135, 46,128, 97, 51,228,
+172, 95, 49, 84, 21, 42, 37, 66,232,216,169, 6,244,174, 39,169,154, 67, 41,121,226,179,102,228, 3,179,102, 87, 41,198,213,144,
+222,245, 72,221, 16,146,197, 27, 79,163, 21, 3, 33, 24,164, 68,175, 53,203,228,233, 99, 6, 64, 61,245, 57,155,161,119, 33,247,
+156, 74, 80,213,154,129, 74,232,242, 30,117, 40,174,143, 91,158,216, 28, 46,165,133,160,209,146,245,160,212,191, 88,220, 80,161,
+216,208, 54,220, 17, 95, 66, 88, 16, 91,167,211,149,237,108, 22, 81, 39,104,138, 48,206, 22, 58,233,230, 97,107, 74, 30,251, 16,
+ 88,235,143,220, 71,250, 39,214,165,235, 42, 95,240,114,131,195, 43,224,251, 13,150, 81, 95, 17,108, 41,149,139,212,166,160,199,
+114, 2,217,132,204,199, 50,158, 42,187,136, 42, 70,218, 20, 24, 7, 65,165, 36,131, 24,136, 62, 65,144, 25, 50, 32, 4, 34,244,
+ 84, 41, 34,131,160, 22, 42,243,199,147, 97, 52,152, 32,172,101,210, 14,153,247,107,122, 60, 45,249,180,219,165,200,210, 5,180,
+150,224, 36, 38, 56,168, 36,195, 16, 89, 58,193, 72, 75, 98,202,221,110,160,198, 43, 50,208,161,124,205,193, 39,218,170,198,132,
+132,142,240,218,209, 30,223,158,173, 89,251, 8, 85, 81,165,143, 70,208, 25, 96, 8, 39,167,249,141, 33,150,132,182, 43, 29,187,
+240,101, 98,225,183,158, 93, 87, 70,246,233,138, 48,103,211,161, 75,181,101,206,203, 2,248, 31,214,249, 71,239,182,135,136,232,
+ 63, 86,220, 47,211, 92,138,186,210,211, 12, 27, 86,171, 14,129, 32,132,136,148, 18, 93, 85,236,239,141, 57,156,180, 8, 20,139,
+165,101,111,218,208,200, 68, 72,130,222,101,194, 94, 45, 36, 82,201,156,208, 86,171, 2,224, 74,248,152, 5,144, 98,227,212, 75,
+ 9,173, 4,141,148,185,179, 21,121,196,143,150, 44, 66,192, 11,129, 41,125, 94, 21,242,158, 90,250,192,220,121, 22,222,229,235,
+ 64,128, 23,162,164,210, 38, 26, 33, 57, 24, 79,248, 63,191,254, 13,190,141,135,168,120, 42, 96,231, 73,207,219, 11,135,172, 4,
+183,251,196,235,119,134,132, 23,135, 60,141,134, 83, 60,127,254,244, 41,175,190,112, 23,185,127,141,231,131, 49,191,220, 56,210,
+221, 99, 62,247, 75,183, 25, 76, 26,164,202,236,233,229,220, 18, 66,192, 46, 45, 62, 69, 42, 93,132, 69, 77,118, 17, 68,178,207,
+ 55,166,148, 1, 81,229, 44, 38, 67,162,242,137,202,231,151,184,243, 1, 73,202,160, 64, 9, 52, 32, 43,129,247,145,206, 68,158,
+252,245, 41, 73,192,169,243,172,141, 35,120,199, 98,214,115,255,225, 25,221,221, 3,228,189, 39, 8,225,144,149, 98,160,106,142,
+ 71, 53,196,196,181,227, 3, 30, 61,126,192,151,127,240,152,127,181,250, 0,166, 21,105,238,192, 68, 82, 31, 56,101,201,215,213,
+ 51,196, 72, 80,239, 84, 12,106,193,236, 91,239,103,152, 73,163,152,214, 10,173, 5,183,246,106,174, 13, 70, 8,235,216, 25,213,
+ 52,195, 10,223,123,126,254,149, 91,136,207,126, 6, 66, 5,147,154, 52,154,240,251,215, 95,228,165,155,251,252,202,179,115,254,
+120,176,139, 60, 56,130,151, 61,156, 60, 37, 61,155,195,222, 8, 14,143,224,213,207,209,220,125,145,255,242,103,142,233,164,226,
+191, 57, 89,177, 62, 93,192,179, 25,156, 63,207, 66,185,147,247, 51, 94,117,118, 10, 31,220,223, 10,196, 84, 11,215, 15, 17,109,
+205,180, 25,114, 52,174,121,190,182,188, 60,104,152, 42, 65,237,123, 4,154,181,113,156, 57,120,104,220,182, 40,199, 84,208,170,
+ 62,251,207, 29,127,147,162,216,212,249,255,218,216, 65,175, 10,211, 54, 31,251,248, 97,163,169,115, 76,241,222, 46,236,142,203,
+122,113, 8, 82,114, 84,122, 20,210,154,189,170,162,119, 61,181, 93,100,117,253,201, 9,248,105,102,212,175, 78,184, 59,222, 71,
+ 72,201,249,252,156,170,105,153,154,142,211, 4, 66, 68,126,161,213,188, 53, 30,100,219,106,138,159,220,173, 39,147,119,233,212,
+ 32, 29,196, 10, 82, 93,148,252, 85,214,238,200, 30,150, 5,104, 82, 87,176,232, 8,181,163, 75, 3,238,185, 51,110,178,203,194,
+ 44, 57, 30,237,230, 46,218, 5, 6,109,131, 15,158,196,146,182, 26,229,144, 19, 20,109,221,210,151,204,119, 85, 85,244,235, 37,
+ 33,121,146,242,248, 24, 24, 15, 6, 56,211,101,177,172, 86, 88,111, 73, 49,147,229, 36,176,234, 87,232,130, 76,207, 26, 40,240,
+193,210,199,136, 45,224,175,144, 34, 43,211,179, 87, 55, 80, 43, 46,130,161,173,134,156, 23, 68,110,171, 5, 93,136, 92, 75, 61,
+ 67,165, 57,214, 48,168, 26,162, 51,172, 83,228,238, 96,135,123,221,140, 93,221,208, 0,139,224,178, 94, 39, 4,214, 66,225,132,
+100,238,214, 52, 74, 65,114,204,141, 5, 33,104,125, 98, 34, 68,225,115, 4, 36,138,152, 2, 39, 33, 49,172, 20,115,227,209,165,
+ 41,233, 93,224,168, 85, 12,148,102, 21, 34, 73, 43,134, 72, 28,112, 60,168,232,188,192, 9,197, 17,145,199,194, 97,199, 5,243,
+109, 77,110, 96,253, 21, 6,131,190, 98,125,107,175, 76,178,117,181,117,100,196,144,175,177, 88, 30,126,151,126,119, 7,163, 42,
+ 23,253, 72, 78, 40,116, 91, 56,210, 79,102,167, 94,215,249,147,145, 5,111, 23, 74,145,222,200,253, 55, 5,168,100,173, 99,220,
+ 71, 99, 68, 55,157,251,229,136,126,115,106,206, 6,192,253, 86,115, 80, 73, 6, 82,179,171, 96,164, 52, 62,198, 60,194, 41,151,
+119,159,114,186,215,133, 15, 12,180,102,183, 82,132, 16, 9,206,208, 42, 77, 42, 59,197,113, 85,115, 98,214, 52, 73,177, 32, 17,
+ 83,226,220, 71,162,138, 12, 19,184,152,112,192, 48, 38, 42, 20, 49, 70, 98, 76, 24, 18,170, 4, 14, 36, 37, 49, 82,177,142, 9,
+ 47,193, 75,208, 40,214,222, 49,173, 43,102, 73,176,211,182, 24, 41,168,218,150,144, 34,114, 48,202, 67, 11,145,133, 51,200, 66,
+ 18, 74,155, 99,153, 36,135, 9,151,179,150,204, 69, 42,219,221, 74,184,203,134,229,185,121,120, 73,145,145,131, 66,228, 3,148,
+139, 91, 27, 68, 42,188,104,121,165,160, 95,198, 18,114,169,156,127,233, 75,191,205,111,254,234, 27, 88,159, 48,198, 17, 93,194,
+152,140,214, 77, 81, 48, 29, 15, 81, 82, 34, 81,140, 91,141,143, 57, 64,199,135,236,237, 20, 5,214,162,181,100, 84,201,178, 42,
+ 74,244, 62,251,211, 33,149, 21,126, 22,183, 84, 50,211, 4, 19,153,190,167,138,237,205, 27,207,197,210,176,234, 45,157,179,156,
+116, 29,235, 62, 35,132,141,181,216, 34, 44, 75, 49, 11, 26,155, 16,184,241,210, 29,186,221, 17,255,226,255,250, 43,208,240, 51,
+ 63,191, 79,115,179,225,161,177,124,127,230, 89,107,248,208, 37,218,169, 98, 48, 81,180,131, 38,187, 37, 4,200, 97,197, 7,222,
+242, 78,116,252, 69, 35,153,221, 28,179, 35, 4,235,185,207,228, 80, 23, 48,198,225, 59,139,232, 29, 77,163,169, 43,133,174, 43,
+164, 86,164,178, 31,139, 2,108, 74,185, 3,137,153,161,160,108, 96, 16,160, 9, 57, 93, 14, 27,144, 49, 80, 9, 73, 43, 4, 35,
+169,104,170,124, 48,248,224,201,140,175,127,235, 67, 22, 11,143,136,137,241,168,193,244,134,139,211, 83,158,127,248,152,250,238,
+ 33,107, 47,169,147, 38, 73,141,241,134,139,222, 49,190,190, 71, 88,246, 16, 61,223,254,230, 3, 88,120, 68, 35,248,204,157, 29,
+222,120,241,128,134,187, 93,191, 0, 0, 32, 0, 73, 68, 65, 84,209,181, 1, 95,248,185, 59,252,230, 47,191,201,235, 71, 67,134,
+201, 51,214,130,179,148,168, 43, 73,248, 97,143, 59,247,152, 29,201,201,204,241,108,181,224,162,159, 49,115,142,123,114,194, 55,
+ 58,199,183, 87,142,112,227, 85, 30,174,122, 24, 76, 65,183,188, 60, 30,209, 74,193,247, 47,230,156,186,132,208, 45,236, 28,194,
+120,138, 56,190,142,248,165,223,134, 47,124, 1,174, 95,227,159,222,217,231,119,247,107, 34,130,175,158,172, 89, 93,172,115,129,
+ 57, 62,128,155, 55, 33,141,225,229,207,242,123,199,183, 16,119,238,114, 54,191, 40,137,107, 35, 24,104,118, 39, 19,142,106,205,
+194, 69,142, 42,197, 60,194,142,244, 12, 8,236,198,196,158,150, 28,214,130, 51, 23,232, 72,217,218,149, 34,204,215, 96, 75, 84,
+102,252, 17,251,233, 31,103, 1,253,248,199,154, 26,244, 0,142,246,225,230, 81,238,164, 7, 99,168,219,203, 17,248, 69,112, 28,
+235,138,107, 42,130,235,168,157,225,251, 39,143,120,244,195, 71, 48, 63,207,247,243,176,134,166,229, 77,145,152, 11, 73, 31, 35,
+199,209,115, 46, 20,187,193, 48, 77,145, 69,136,156, 44,139,255,248,147, 44,109,151, 24,209, 2,189,145, 37,135, 23, 85,244, 51,
+114, 75, 41, 35, 71, 18,231, 17, 48,224, 3, 73, 38, 2,145,117,200,217,235, 43,219,163,164,166,247,166,208, 53, 45, 90, 10,172,
+235, 50, 56, 9, 79,103,123, 20, 2, 19, 12, 34,230, 88, 87, 31, 13,117,221,178, 54, 75, 82,140, 24,223,229,251, 58, 37,124,176,
+ 56,239,113,201,209, 23,226,219,202, 57, 86,166,195, 16,233, 92,207,154,136, 66,210, 71,207,202, 90, 22, 41, 33,163, 96,229,243,
+ 24,125, 80, 55,116, 54, 79,122,171, 70,115, 97, 35,149,212,172,146,192,104,205, 68,130, 18, 57,175,189, 18,130,101,140, 28,170,
+138, 62,197,156,110,167, 52, 30, 65, 39, 53, 22,232,149, 68,232, 26, 39, 20,125, 10, 56,173, 56, 11,145,186,174,120, 28,139,210,
+ 93,105,206, 80, 56,169, 17,186,162,139,137, 74,107,100,211, 48, 80, 26, 41, 21, 38,229,120,112,173, 21, 90, 85,212, 85, 69, 82,
+ 16,189,166,170,242,223, 75, 33,242, 60, 93, 9,241,146, 34, 95, 3,133,160,122, 41,204,220,172, 99, 55,190,245,206, 22,213,113,
+ 17, 51,167,114, 77, 75, 89, 18,255,202,239,233,162,181, 18, 50,231,131,164,242,140,239,186,159, 80, 81,223, 40,218,235,225,182,
+216,140,155, 60, 66,175,171, 92,172,140, 47,157,119, 17,107, 85,165,176, 95, 21, 11,144, 50,174,177,239,243, 39,105,182, 97, 48,
+243, 32,120,161,150,140,100, 6, 56, 16, 35,141, 84,244, 49, 20,225, 85,182,152, 61,237, 61, 85,157,199,239, 3, 89, 35,131,207,
+158,202,152,199, 55, 67, 37, 88, 57,207,173,175, 62,224,244,246, 20, 68,226,129, 11,104, 33,136, 73, 82, 75, 24,132, 92,164,100,
+217,177, 8, 41,177, 41, 49,212,249,112,146,164,196, 39, 65, 7, 24,157,139,157,148, 26, 27, 35, 97, 48,160, 82,217,242,229,128,
+ 65,173, 17, 49, 50, 26, 12, 88,123,143,108,106, 82, 83,109, 71,131,170,236,182, 85,241, 65, 92, 82, 40,227, 54, 70, 53,168, 60,
+177,144,234,146, 35,158,105, 68,122, 27, 52,176, 41,212,155,172, 93, 91,156, 4, 50, 94, 9,136,217,180,255, 27, 47,125,238,102,
+ 94,121,227, 13,222,124,243, 21,186,222, 98,251,128,119,129,126,109, 25,142, 91,130, 73,212, 77,205,164,174,185,190, 55,160,174,
+244,101, 67,180,185, 88, 99, 74,200, 4,149, 18, 52, 58, 99,119, 67, 76, 24,159, 21,199,130, 12,116, 80, 50, 83,230,148,206,244,
+ 57, 17, 83, 22,168,148,233,140,142,145,100, 60, 43,235,112, 46,176,114,158,182,136, 67,102,166, 99,101, 13, 85,240,212, 33,145,
+ 20,168, 65,205,141,215, 94,226,249,147,231,124,253,171, 15, 80, 93,226,217, 69,199,252, 81,135,185, 8,224, 18,171,161,132, 93,
+201, 91,239,244,252,127,125,199,100,209,241, 90,130,131, 70,243, 43, 14, 62, 53,222,225, 83,215, 14,217,215,146, 7,167,115,190,
+118,178, 96,120, 52, 36,106, 56,233, 13,231, 93, 30,169, 78, 7,117, 70,186,214, 21, 82,203,140,218, 20,224, 73, 57, 38,213,101,
+145,159,179,249, 33, 90,155,136,238, 29,218,120,164,241, 25,125, 27,161, 65,210,232,138,193,160,162,109, 20,111,157, 44,121,248,
+151, 15,243,219,227,160,173, 43, 6,195,138,174,179, 68,227,152, 45, 46,120,244,188, 35, 13,224,173,119,223, 99,237, 12,149,206,
+235,152,195,187, 71,188,112, 48,228, 83,135, 59,220,251,171, 31,240,248, 91,115,196,163,200,231,126,238,128,189,241,132,167,231,
+ 75, 94,216,221,229,230,193,117, 6,205,136,215,175,221,224,223,127,225, 21, 94,220,155,242, 95,253,206, 23,185,117,171,165,211,
+ 75, 94,191, 62,101,181,178,156, 34,153,254,236,231,208, 59,215,185,254,153, 91,248,113, 11,173,198,116,134, 31,222,123, 8,103,
+207,192,116,172,237,130,238,244, 25,223,126,250, 4,218,125,120,241, 53,196,203, 47,193,249,138,223,189,251, 10,191,189, 51, 64,
+ 41,201,195,247, 30,241,215,127,252,255,176,227,134,252,239,127,242, 53,222,255, 55,127, 4, 15,239,193, 7,223,133, 39, 15,225,
+241, 83, 24, 78,248,252,157, 99,110, 29, 31,240, 84,142, 56, 25,142,242, 56, 81, 10, 24,143, 56, 84,154, 86,105,116,130, 69,140,
+204,186, 53,187, 10,110, 10,193, 68, 72, 38, 90, 49,214, 26,131,231,241, 34, 67,103,152,247,121,199,216,123, 62,121, 41,254,119,
+209, 7,105,216,221,133,221,157, 92,204, 15,246,114,119, 62,154, 22, 43,220,230,123,190,175, 30, 44,206,137,235, 5,179,229,140,
+239, 63,123,194,119,190,249,126,222,167, 27,123,249,245,220, 29, 12, 49,192,216,173,184,214,182,188,103, 58, 38, 49,235, 71, 30,
+ 59,199,190,148,188, 62,150,116, 82,179, 58, 93,125,178, 96, 78,136,210,202,216,252, 99,148,121,194,167,171,252, 60, 73,174,164,
+124,153, 92, 68, 76,200, 98,229, 77,100, 44,130, 96, 45, 29,129, 36, 96,105, 59,148,136,184, 20,177,222,210, 59,203,194,245,164,
+ 20, 48,206, 97,189,197, 38, 71, 76,240,193,249, 35,140,239,233, 76,199,217,242,130, 16, 3,115, 51,167,213, 89, 68, 55, 91,207,
+145, 66, 49,239, 23,216, 82,208,151,102,141, 11,129,117,244,172,157,199,166,140,141, 62,247,142,189,186,225,190,143, 84, 90,243,
+190,144, 28,212, 53, 78, 10,164,172,216, 27, 15, 89, 38,201,220,123,218,170,166, 71,208, 75, 77, 35, 36,170,174,217,209, 53, 21,
+ 16,148, 68,145, 88,136, 68,171, 43,140, 82,172, 98,164, 43,137,115, 65, 8,134,237,128,170, 4, 81, 5, 85,179,138,138,132,226,
+ 89, 72, 28,140, 70, 60,240, 18,161,234,236,203,175, 42,246, 70, 3,246,135, 35,166,163,150, 86, 87, 8,169,233,147, 98, 41, 5,
+136,138, 97,219, 18, 85, 77, 18,146, 65,213, 96,138, 5, 41, 74,193, 34, 74,106, 37, 89,167,132,212, 13, 73,203, 44,156,214,242,
+138, 56, 83,228,203, 51,165,178,103, 87,185, 94,250, 43,161, 64, 27, 16,205,230,251,165,112,165, 60,215, 71,131,124, 16, 24, 15,
+243, 97,116, 58,253, 9,193,103,218, 77,151, 46,183,157,186, 13,249,228, 32,203,130,191, 45,187, 3,185, 41, 74,229, 4, 19,202,
+206,221,150, 46, 61, 27, 9,183, 88,198,162,146,191,181,215,112,189, 82,236,169,138, 70, 10,132, 84, 68, 18,163, 74, 97, 98,202,
+136,209, 4, 81, 9, 92, 72,200,148,176,214,100, 75, 81,132,206, 90, 70, 74,211,165,196,218, 58,254,249,241,148, 95,208,154, 83,
+107,217,169,242,233,110, 82,105, 22, 73,208,200,204, 20, 94, 23,161, 22, 54,135,199, 40,221,208,199, 98, 37,168,170,156,199,142,
+196,107, 77,165, 52, 15,173,167,213, 53, 74,231,155,108,169, 51,112, 66, 21, 47,207, 88, 43,218,182, 65, 43,133,241,101,191,151,
+194, 21,107, 91,121,253, 54,184,216,164, 41,225,184,133,243,190, 73,228, 17, 91,202, 80, 74,249, 66,216,172, 60, 76, 1,102,184,
+ 50,206, 55, 87, 64, 5,206,110,109,118, 73, 92, 62, 48,126,237, 55,126,141, 91, 47, 94,231,244,100,133, 53,174, 12, 0, 36,135,
+187, 59, 84, 72,170,170, 66, 42,193,241, 94,139, 86, 42,199,224, 74,177, 9,222, 3, 1,109,165,168,107,133,146, 89, 33,103, 67,
+ 86,150,250, 13,127, 64,230,112, 23,165,179,157, 77, 36, 72, 62, 18,173,203, 29,108,130, 36,242, 65,224, 98,237,104, 98,194,164,
+192,220, 24, 22,235,158, 89,103, 50,198, 23, 88,120,143,175, 5,131,189, 29,118,111, 30,241,189, 63,253, 38, 60, 49, 92,219,211,
+ 60, 63,241,176,220,172, 54,128,219, 45,175,189,113,141,120,183,230,248,238,132,111,181,146,217, 78,195,123,181,230, 94,114, 44,
+136,236,118, 61,215,214,142, 55,215,158, 21,137, 46, 6,206,231, 29,170,213, 84,149, 66, 41,197,100, 80,163,155, 10, 93,105,146,
+146, 89,140,227, 3,193, 7,156,245,244,107,139, 95,187, 60,233,176, 17,209,123,228,202, 94, 22,117,233, 98,222,183,105, 69,213,
+214, 84,163, 6, 89, 73,190,119,190,226,247,133,226, 78,210,188,123,209, 33, 85, 62, 52,121, 27,152, 45, 45,122,103,151,207,238,
+ 13, 8,195,150,119,238, 61, 99,103,178,195,171, 47,189,198,139,215,110, 48,104, 36, 39,193,243,205,127,253, 45,222,126,126,193,
+108, 79,193, 99,207,123, 99,203,237,151,174,115,182,187,207,129, 89,242,103,127,241,109,158,199, 14,221,140,152, 12, 71,188,127,
+246,156,217,233,156,221,221, 3,238,254,193,239, 48,112, 2, 87, 89,174,255,234, 63,226,181, 95,124,157, 95,249,244,173,156,108,
+ 54,106, 8,179, 57, 95, 60,108,248, 63,254,232,203,112,255, 1, 60, 63,103, 33, 60,143,134, 7,252,199, 95,252, 18,255,225, 23,
+127,142,191,220,157, 98, 3,136,199,207,248,244,160,101, 80,105,212,108,198,219, 31,190, 3,207,239,243,245,175,124,133,103,223,
+254,183,240,193,135,112,239,125,184,127, 31,222,125, 7, 30,124, 8,181,231,129,209,160, 42,254,218, 3,178,134,106, 0, 50,128,
+ 51,204,164, 96, 12,116,193, 97,189,199,132,192,126,138, 52,193, 51,208,154,186, 76,138,130, 49,188,179, 48,136,101,135,176,203,
+156, 29, 16,255,129, 5,189,157,192,116, 7,142,142,224,112, 15,118,167, 57, 17,174,170,243,189,169,212,118,146,232,201, 35,254,
+245,138,116,118,206,179, 39,167, 60,252,225, 3, 78,159, 62,207,113,198,155, 78,123, 52,229,238,141,125,166,193,177, 55, 28,240,
+204, 89,172,115,104, 33, 24, 9,120,102,122,106, 33, 24, 70,199,189,222,179,114, 14, 35,225,165, 95,124,147,139,247,239,127, 66,
+ 72, 83, 4,217,148,117, 93, 68,196, 10,145, 28,162, 82,136,122,128,232, 3,162,213, 8, 41,179,218, 60, 8,132, 22,136, 68, 62,
+100,134,128, 8, 1,239, 3, 54, 58, 58, 18, 43,223, 97,188, 35, 68,143, 18,146, 69,183,196,147, 29, 42,243,245,146,181,239, 49,
+222,240,116,181, 98,110, 12, 51,219,241,112,117,206, 78,221,242,108,118, 74, 76, 1, 37, 4, 15,206, 79, 25, 85, 13, 11,211,179,
+ 48, 29, 11,235,152,185,158,153, 49,184, 36,120,152, 34, 70, 86,236, 53, 19,118,171, 1,175,238, 29,209,161, 57, 26, 14,249,161,
+210,200,186,197, 70,152, 69, 65,211,180,120,161, 89, 8,205,209,112,196,181,166,230,238,206, 4, 89, 85,172, 82, 98,183,105, 72,
+229,223, 51, 49,160,149, 98, 17, 3, 81,215,204,137, 56,169, 56, 24,142, 25,214, 53,149,168,104,155, 33,171, 24, 89,196,196,185,
+174, 24, 75,201, 7,214, 51,210,154,147, 20,177,186,230,184,170, 57,108,235,204, 50,145, 85, 78,252,211,154,251, 33,224, 84,197,
+169,170,168, 18, 8,149, 1, 72,125,146, 76,235, 1,231, 36, 90, 33,137, 90, 51,208, 21,161,110,242,189,228, 2, 76, 38,249, 61,
+171, 84,169,119, 5, 76,227,227, 86, 72,157,210,150,105,210,151,131,217,198,158,188, 73,120,187,244,176,151,213, 74,219, 20, 65,
+ 83,147,107,234,112,248, 19, 40,234,149,206,212, 56, 89,216,180,155,136,186, 90,230,177,252, 64,103,146,220,160, 64, 79,122, 83,
+186, 75,185,245, 91,127,100,180, 84,124,236,155,110,176,213, 4,155,184,211, 84, 52, 82,102,177,130,148, 52, 72,156,204, 78,176,
+ 70, 72, 66, 74,172, 66, 98,230, 3, 35, 1, 71,131, 33, 51,231, 88, 24,203, 81, 51,224,162,239,105,165,100,208,182,124, 38,101,
+ 11,146,214, 21, 54, 5,166,186, 97,149, 18, 90, 43,214, 33, 17, 93, 96,168, 4,201,120,124, 85, 80,130,189,161,105,106,170,166,
+ 37,166,128, 67, 32,154, 6, 23, 28, 23, 49,113,125,178,203,179,181,161,214, 21, 85, 57, 13,207, 75, 64,140, 75,129, 90,215, 56,
+235, 72, 8,140, 42,106, 8, 31,182,150, 62, 45,182,157,123,173,182,142, 0,138,143,189, 45,147,144,226,223,207,227,151,114,112,
+ 74,177, 0,108,202, 9, 14, 87,224, 4, 27, 95,100, 25,213,139, 34, 79, 23,197,211, 24, 2,191,243,207,254,128,241,116,200,217,
+243, 25,198,250, 34, 66,203,118,172,182,105, 24,181, 21,215, 38, 67,246,134, 21, 82, 40, 72,121,114,145, 16,217,171, 94,176,139,
+147,129,190,196, 97,251,148,215, 26, 41,165,252, 22, 42, 65,173, 36, 18,121,137,171, 36, 68,116, 17, 68,198, 16, 49, 9, 86,214,
+179,232, 44,117, 8,244, 93, 46,232,115,103,241,206,161, 73, 44,100,226, 73,231,105,106,201,241,222, 62,231,167,103,252,203,255,
+241, 93,150, 83,120, 98, 34,141,137, 12, 10, 96,139, 62,194, 58, 48,184,213,240,250,193, 46,135, 77, 11, 66,112, 56,157, 48, 29,
+143,184,243,234,235,196,227,107, 60,105, 27,222,183,134,209,254, 14,225,238, 62,119,111,239,113,112, 52,101, 48,108, 80, 82,178,
+ 51,106,208, 77,141,174, 20, 66,231,208, 26,159, 34,174,115,196,149, 37,174, 12,126,222,145,150, 6,107, 60, 51,239, 48,107,143,
+180, 17, 21, 2,202,165, 12,179, 16,217,242, 71,163,145,173,102, 69,228,222,202,113,227,133, 9,213,237, 9,103,227,134,106, 82,
+227, 67,226,230,235, 59,124,246,223,125,129, 63,252,252, 29, 94,121,237, 24,127,180,135,221,191,193,209, 11,183,248,210,231,110,
+241, 75, 47,237,243, 76,104, 46,230, 11,222,249,193, 61,186,241,132,223,250,167,191,129,255,212, 46,253,222, 46,255,253, 43, 47,
+240,250,193,148,231,159,122,137,119, 30,126,192, 95,255,223,143,184,111,159,177,236, 79, 89,137,200,159,127,233, 55,105, 63,117,
+ 11, 53,172,241,175,221,193,188,241, 6,135, 55,247,249,229, 91, 83, 94,155, 84,164,139, 37,255,203,255,240, 63, 51,121,248,136,
+201,206, 17,235,135,239,240,224, 7, 79,224,198, 62,124,246,243,252,225,175,254, 10,255,197, 63,186,195,167, 38, 21,223,123,239,
+140, 15,254,237, 55,225,222,183,248,225,122, 78, 67,205,215, 58,135, 9, 1, 49,154, 66, 43,243, 14,127,181,248,168,122,222, 89,
+196,253,251,136,217, 41, 23,201, 49,244,129,107, 90, 82,251, 14, 84,141, 75, 57,186,249, 52, 70,186, 16,208, 49,210,117, 6,133,
+103, 95,101, 65,146,117, 54,243,199,173,227,195,139, 53,110,113,145,149,236, 49,254,195,176,182, 59, 59,176, 59,229,238, 43,183,
+217,191,126,157, 52, 26, 97, 54,177,152,226,138,208, 53,138, 18, 4,211,193,249, 2,158,156,192,249, 9,204,231,217,131,255,241,
+ 17,190,247,204,116,195,206,160,166,149, 10, 3, 88,103,216,197,243, 36, 36,174, 87,154, 41,145,115,107, 57,104, 53,149,245,156,
+173, 58,226,176,198,232, 17, 92,156,255,205,102, 93, 74, 68,242, 8,106,132,220, 88, 85,213,150,113, 81,235,252,241,148,138,147,
+ 74, 34, 76,143,208, 10, 17, 74, 81, 71, 32,156, 71, 24, 79,212,255, 63,105,111,246,107,105,118,158,247,253,214,248, 13,123, 56,
+243,169, 83, 85, 93, 93, 93,172,174,158, 56,153, 45,137, 10, 41, 51,178, 33,193,130, 36, 35,145, 97,192,210,133, 12, 36,200,159,
+146,155,228, 46,119, 9,144, 32, 72,174,236, 4, 50, 34, 40,242,144, 72,182,168, 33, 20,105, 81,162, 68,145,236,185,217,213, 93,
+243,169, 51,236,233,155,214,148,139,245,157, 58, 69,138,162,100,251, 0,141, 70, 55,186,107,239,179,135,245,190,235,125,159,231,
+249, 9,252,186,167, 75,145,158,192,178,239, 88,199,129,197,208,240,120,185,100, 29, 7, 78,251, 53,139,211, 5, 67, 18,244,109,
+ 79,127,182, 33,124,252,132,199,143, 31,211,214, 5,235, 97,224,254, 98,201,188, 40,120,176, 94, 48,196,200,241,224,120,216, 14,
+156,119,129,141,146,172,148, 38,152, 10,165, 43,190, 48,219,195,214, 51,122,169,216,155,206,241,170,192,235,130,199, 33, 81, 84,
+ 53, 66,107, 30,247, 29,167,194,176, 37,224,106, 89,241,210,116, 66,101,242, 69,170, 46, 74, 58,151,215,114, 46, 69, 74, 41, 51,
+162, 59,193,134,200,160, 13,115, 99,159, 89,248,148, 49,164,148, 24,132,160, 11, 18,133,224, 81, 74, 76,164, 98,153, 18,103,202,
+160, 99,224,192,150,204,170, 10, 63,154,219,210,200,182, 40,147,226,254,152, 26,249, 24,201, 92,192,169,208, 76, 77, 73,212,138,
+ 90, 91,162, 52,204,109,201, 32, 52, 93, 20, 76,116,137, 85, 2, 35, 21,190, 40, 17, 66,147,252,144,207,237, 62, 60,103, 87, 22,
+151,235, 81, 57, 94,116,195,184,254,185, 72,103, 29, 87,121, 25, 42,147,158,241,211,233,250, 49, 42, 88,193,164,248, 17, 66,185,
+ 11,203, 68,248, 49, 66,141,231, 23,253, 33, 94,230,209,198,209,195,105,213,248,224, 64, 61, 25,159,116, 28,119,228,234,178, 51,
+ 49,227, 46,193,143, 41,107, 23,202,213, 66,231,241,124,140,208, 12,212,219, 5, 49, 4,202,162,192,142, 35,185,141,136,153,181,
+173, 52, 33, 4,124,138,148, 35, 23,253,220,123,226, 38,113,213, 26,122,163,184,223, 52, 92, 43, 13, 78, 66,215, 52,217,163,143,
+ 68,141,120,155, 53, 1,161, 20, 93,204,106, 72, 10, 69,179,118, 56,171,168,186,142, 6,216,169,106,150, 67,207, 68,102,155,158,
+181, 10, 57,120,142,173,196, 72, 75,231, 58,174,204,107,150,173,103, 9,180, 74, 82,203,188,195,201,147, 9,143, 49,138, 74,192,
+ 12,203, 61, 95,228,219,132, 43, 51,129,169, 24, 45, 11,197,197,222,123, 28,193, 91,147,247, 99,155, 54, 91, 4,149,189,108,128,
+226, 56,126,187,236, 0,198, 46,126,180, 21,170,254,185,200,247,113,255,166,100,110, 0,100,238, 0,165, 54,212,165,193,150, 5,
+206, 53, 12, 33,210,119, 13,222, 11,246,111, 79,241, 33, 17,197, 40, 16,148,163,109, 45,137,156,229, 78, 78,111,138, 49, 71,196,
+ 94,172,137,196, 24,177,120, 17, 56, 18,158, 77, 13,199,226, 54,138,221, 32,162,165,192, 27,149,227, 98, 35,249,182,236,125,238,
+234,157,207,116, 52, 45,104,122,207,208,123,102,209, 83,171, 18,167,224,183,126,239,109,184, 62, 82,186,250, 72,159, 18,189,146,
+212, 34,177,159,224,245,168, 88,252,155,167, 60,184,125, 78,115, 84,115, 62,209,220,222,154,115,104,167,108, 25,139,173, 42,142,
+174,237,211, 41,193,244,234, 22,187, 19,203,238,188,162,117,158,224, 19, 58,197,188,222, 82, 57,137, 42,250,172,234,239, 58,143,
+223,244,132,243, 6,183,106, 9,231, 93, 14,242, 16,153,210,244, 84,104, 90,155,113,141,170,200,116, 41,161,198, 23,164,243,180,
+ 70, 50, 36,201, 79,207, 74,254,197,147, 13,167,107,207,237,195, 57,183,141,224,177,145, 92,157, 27, 10,169, 57,237, 60, 79,124,
+226,113, 18,232, 74, 17, 62, 94,242,218, 43, 87,216,149,154, 7,149,226, 65,167,249,142, 87, 60, 57, 59,165,251,246,135,184,193,
+243,107,175,189,194,230, 51, 91, 20,127,244, 93,222,191,255,152, 95,249,213, 95,230,119,204,255, 67,247,203,255,152,111, 61, 56,
+ 97,251, 11,159,226, 5, 35, 48,117,102,220,171, 62,112, 48, 51,124,244,212,241,251,159,172, 49,181,160,148,112,171,168,232,154,
+158,170,180,188,250,226,171,124,237,168,131,207,253, 4, 92,187,193,111,173,122,190,240,237, 7,124,252,209, 61,190,250,141, 63,
+ 64,188,245, 33,105,113, 6,243, 45,190,254,218, 9,236, 94,131,249, 30,136, 9,226,232, 54, 76,102,164,191, 0,158,220,191, 44,
+182,133, 37,109, 29,192,222,156,157,232, 56,220,156,113, 93, 12, 28, 39,193,188,208,252,222, 96,115,115, 58, 56,218,206,115,191,
+235,192, 37, 78, 54, 17, 49,145,188, 94, 22, 20, 50,127,250,223, 93,173,105, 78, 79,114, 24,199, 15,121,226,255, 86, 22,187,194,
+230,209,250,209, 21,174, 95, 59, 98, 94, 84,188, 52,219, 70, 73,195, 7,205,146,191,236,154, 49, 23,194,141, 65, 89,125, 46,232,
+ 79, 22,176,218, 60, 83,254,255,181, 63, 41, 66,223,241,193,202, 48, 0,243,233, 20, 33, 18,203, 0,187, 42,210, 12, 29, 70, 23,
+148, 69,129,118, 29,239,133, 0,147,146,229,119, 63,204,254,245,209,238, 36, 46,206, 93,123,121,108,139, 64, 22,202,217, 81, 51,
+163,244, 88, 27,100, 22, 46, 63,107, 44, 58, 64, 34,214, 93,118,202,248, 46,143,110,209, 48, 47,225,120, 1,147,154,212,247,184,
+145, 50,150,146,200,254,105,171, 25, 78, 61, 41,102, 49,150, 96,153, 85,247,139,243,188,167,247,158,230,207,207,104,182,247, 96,
+ 94,179,120,188,130,249, 4,140,203, 83,179,114,108, 54,172, 1, 85,242, 70, 57,227,139,135, 7,232, 50, 43,253,159, 58,201,147,
+ 20, 81,198, 64,211, 82, 87, 51, 30,187, 22,133, 34, 20, 19, 8, 3, 94,104,142, 38,134,165,207, 72, 85, 77, 36,197,108,185,117,
+ 73, 97,147, 35,197, 64, 45, 37, 70, 74, 66,244, 20, 72,132,200,185,246, 3, 9, 31, 3, 86, 42,246,100,129, 65,240, 81,227,216,
+ 37, 67,112,172,148,196,224,169,139, 2,157,160,247, 30,173, 84, 94,112, 40, 77,240, 30,161, 5, 97, 32, 51,214,129,119, 82,100,
+ 27, 48, 90,179,173, 20, 66, 42,100,130, 38,122,118,202, 2,161, 13, 11, 55, 80,150, 59, 48,244, 76,221, 64,168, 21, 46, 57,220,
+217, 41,241, 98,172,126,177,197,121,150,221,226,243,100, 85, 91, 88,119, 80,155,108,143, 30, 5,186,153,246, 57,134,142,197,144,
+111,235,253,144,255,157, 16, 63,116, 83, 47,198,253,204,133, 2, 42,134, 31,159,237, 30,227, 24,214,160,242,200, 76,219,203,226,
+ 93,154,252, 38, 22,118,140, 36, 29,201,100, 70, 94,198,221,121,127, 73, 29,187, 16,210,149,227, 23,172, 52,249, 3, 17, 3,141,
+ 84, 28,213,134,235,117,222,111, 12,249,227,137, 85, 26, 41, 4, 67,140,204,140,101, 17, 2,143,250,129,137, 50,184,193, 83, 90,
+133, 1,134,224,113, 62,142, 35, 19, 16,163, 13,162, 77,144,164,200, 65, 41, 49, 82, 22, 5,231,206,161, 98, 96, 45,198,238, 47,
+ 74,210, 40,244, 48, 73, 32,173, 33,218, 12, 80, 88, 43,141, 87,154,101, 31, 16,202,176,244,145, 82,105, 22,163,173,192, 9, 80,
+ 34, 97,133, 38,198,200,148,200,126, 97,232, 99,228, 70, 33, 89,123,184, 54, 55, 44,252,184, 87, 49, 69,126,205,211, 5, 8, 96,
+228, 61,219, 2, 98,159, 85,193, 50, 93,134,244,168,209,187,142, 24, 51,244,229,101,166,188,240, 16,117, 94,105,164, 52,222,210,
+ 71,167,129, 22,207,156, 8,255,248,159,254, 23, 12,222,179, 90,118,128, 96,107,107,130,182, 5, 90,105, 68,202,227,187,137, 45,
+217,223,158, 80, 24, 3, 40,204, 40,120, 19, 36,196,184, 47, 55, 58,135, 88, 36,192,143, 52, 54, 57, 42,222,165,202,169,124, 82,
+228, 36, 57,141, 64,250,128, 28,124, 30, 63,197,113,229, 50, 56, 54,103, 13,195,186,161, 89,119,104, 63, 32, 99, 34,117, 14,239,
+ 50,208,165,176,134,195,195,109, 78,151, 11,190,246,135, 79, 71,229,232,152,214,151, 98,230,103, 55,129, 69, 72,124, 52, 36, 62,
+155, 36,111,244,146, 79,249,196,108,227,136,235, 13,199, 97,197,251,199, 79, 40,148,197,163,168,102, 5, 7, 91, 37,193, 74, 86,
+157,227,100,209,177,233, 28, 69, 8,204, 71, 11, 97, 24, 60,125, 63,176, 90, 15, 52,171,142,245,241,154,254,100,195,234,201,138,
+205,249,154,184, 25, 80,157, 71,251, 72,223,123,150, 74, 83, 86,134,114, 98, 81,181, 33, 21,138, 88, 72,156, 20, 44,181,226, 79,
+ 31,119, 60, 58, 93,227,155,129,147,143, 22, 28,157,183, 44,134,196,199,117,193, 50, 65,209, 58,110,198,192, 31, 55,158,150,200,
+102, 24,248,179,251,107, 14,118,106,206,159,182,124,175, 13,116,198,112,243,133, 43,188,118,235, 26,119, 23, 3,183,203, 9,127,
+119,119,194, 55, 79, 26,126,251,172,229,219, 31, 63, 96,239,214, 45,236,207,254, 44,211,237,146,159,120,229,144,151, 42,205,237,
+185,161, 52, 18,221, 5,132, 15,252,230,127,255, 63,243,254,255,254,239, 40,223,124,131, 23,125,196, 8,201,222,203,183, 25, 40,
+ 57, 57, 94,114, 79,150,184,107, 55, 88, 40,141,120,112, 23,222,251, 14,127,242,173,111,242,239,191,241, 53,120,235, 61,232,187,
+ 92,112,250, 13,220,191, 15, 67,139,152,150,136,233, 54,162, 40, 97,235, 8,113,116,132, 40, 4, 98,136,136, 43,215, 16, 47,221,
+130,163, 35,196,214, 54,251,229,156,219,211, 25, 34, 70, 14, 38, 5,195,232,120, 57,189,136, 80,245, 62, 31, 90,237, 0, 9, 30,
+111, 6, 94,180,128,115,188,127,186,224, 27,143, 22, 99,196,178,255, 43,226,178,191,241,198,110, 44, 76,199,189,249,124,202, 11,
+ 59, 7,124,250,240,136,169, 45, 16, 70, 50, 23,134,123,174,103,240, 29,172,155,204, 49,127,122,158, 85,237,205, 58,143,217,255,
+ 54, 28,140, 32, 73, 74,115,115,103,134,240,158, 46,146,209,171, 2, 74,109, 9,222,115,104, 60,223,216, 12,132, 16, 97,213,102,
+ 43, 92,159,109,174,194, 94, 68, 55, 22, 16, 37,162, 48, 8,165,161, 40, 17,133, 69, 76, 42,132, 80,200,210,230,219,120,204,107,
+ 68,145, 98,182,130, 42,131, 8, 14,169, 12,194,245,185,225, 30,134,252, 29,238, 6,196,102,200, 24,212, 38, 34, 86, 77,190,201,
+175, 55,136,193,195,166, 69,156,158,229,191, 55, 61, 98, 61,254,222,189, 3, 53,142,251,117,157,181, 82,166,132,157,233, 24, 40,
+118, 33, 16,172,242,164,177,172,184, 53,219,230, 43,123,115, 76, 97,217, 41, 70,124,110, 18, 60,118,129,101, 28, 56, 13,137,117,
+200,122,171,228,134,103,231,219,171, 90, 81, 68,129, 45, 50, 53, 51,166,200,150, 86, 68,159, 11,160,140,158, 73,138, 20, 74,178,
+114, 61,101, 18, 88,149,107,203, 38, 6, 80, 22, 73,194, 74,131, 78, 33,143,223,125, 36, 42, 69, 76, 89, 56, 56,144,216, 33,178,
+ 91, 25,132, 72,104,161, 81, 66,228,210,229, 19, 90, 37, 62,232, 29, 33,196, 44, 10,148, 10, 33, 36, 47,149, 37, 9,112, 49, 18,
+165,196,142,154, 42,167, 12,171, 20,113, 72,138, 20,145, 9,250,232,169,149,193,248, 1, 69, 98, 75, 68,194,168,119,146, 74,230,
+193,181, 20,185, 14,111,150,227,216,113, 76,165, 51,230, 50,247,196,152, 92, 7,244,232,131, 23,227,133,109, 24,158, 43,234, 90,
+143, 51,252,231,162, 37,148,248,155, 35, 11,165,204, 99,224,194, 94,142,127, 43,123,201, 12,103,140,109, 92,143,193, 15, 73,102,
+ 53,230,197,152,232, 34,194, 34,230,113, 27,117, 49, 62, 65,149, 71,105,227,174,254,213,210, 48,173, 42,144, 18, 35, 50, 47,216,
+201,156, 57,174,148,166, 13,142, 90,105,254,112,209,210,118,142,235,181,230, 60,120,116,128, 74, 74,218,222,129,200,145,156,143,
+219,129, 82,231, 78,103,209, 57,148,209,217,182, 16, 19,149, 82, 56, 4,201, 5,246, 73,156,105, 73,236,122,124,140,172, 72, 20,
+ 36,144, 26, 95, 85, 56,239, 40,116, 65,135,162, 75,153,108,118, 38,192,167,144,149,222, 33, 3, 51,134, 20, 40,165, 98,187, 16,
+180,189,163, 82,145,160, 4,123, 82,240,184,201, 98,191,225,162, 75, 75, 33,107, 20,194, 40,124,209, 58, 31, 86, 23,175,101, 84,
+185, 99,144,207, 29, 89, 23,169,115,105, 76,123, 9,227,205, 93,143,111,188, 26, 95,227,174,203, 77,216, 56, 97, 81, 63,249,101,
+126,233, 75,159, 97,213,246, 44,158, 46, 73,200,188,186, 81,153,133,190,183, 51,165,180, 5,243, 89,193,188, 42,145,163,210, 84,
+ 34, 32,141,164, 35,149, 85,168, 86,103,113,136, 72, 41, 7,173,140,141, 68, 26,189,155, 82,200, 49,152, 38,131, 10, 98,200,196,
+187, 97,240,153,130,231, 2,237,224, 56, 61,223,176,105, 58,220,224,113, 62,143, 87,205,248,103,201, 4,251,123, 83,138,157, 45,
+254,240,123, 31, 51, 91,123,206, 69,204, 13, 99, 28, 87, 16,110, 20,107,142,222,240,247, 8,124,107,136,148, 7,138, 67,171,248,
+194, 65,197,203,147, 25,135, 9, 68,116, 68, 31,112, 62,225, 18,172,218,129,229,170,101,209,244,136,224,217, 45, 12,211, 50,231,
+ 27,120,151,247,231, 67,215,211, 54, 61, 67,219,179, 92, 54, 60, 89, 55, 44,186, 30, 98,196, 36,129, 34,145, 72,180, 49,145,148,
+194,100, 3, 63,201, 72, 82,169,112,243,130,149, 86,188, 88,192, 23,107,195,225,142,229,212, 42,238, 46, 7, 78, 14, 39,204, 39,
+150,193, 7,134,179,142,173, 39, 75,222, 30, 9, 78,201,193,103,125,224,231,118, 43, 30,118, 29, 77, 10,236,213, 5,213,149, 57,
+219,251,115,234,170,230,211, 51,195,235,237,192,187,239,221,229,119, 99,201,245,175,124,133,151,175,237,179,175, 4, 7, 90,112,
+ 85,195, 47, 76, 5,247,158,174,184,251,135,111,243,245,255,237,255,228,247,255,135,127,203,209, 52, 81, 87,146, 15,255,199,175,
+ 82,117, 31, 49,125,245, 53,206,128,191, 76, 80, 29,204,120,241,149, 67,142,136,124,251,155,127, 8,127,241, 29,120,114, 31,119,
+255, 62,226,116,253, 3, 80,160,252,201,144,136,197, 89,222,111,207, 10,196,214, 17,170, 40,249, 71, 55, 95,224,239,221,121,157,
+171,135,215,120,239,251,119, 17, 33,241,147, 71, 59, 28, 23, 91, 28,104,205,142, 18, 24, 99,209, 41,175,116,154,224, 56, 30, 28,
+196, 1, 81, 76, 16, 59,219,121,106,178, 92, 34,218,200,251,167, 75,222,122,248,148,251,103, 27, 68,212,136, 43,123,136,214,255,
+ 64,244,241,143, 23,194,217, 44,130,187,114, 0, 71,251,176,181, 13, 69,137,179, 83,238,204,166, 40,173, 48, 82,161, 8,232,190,
+225,254,201, 73, 46,226,143,206, 96,125, 14, 87,175,194,147,167, 63,158,140, 88,215,207,133,130, 36,152, 84, 60,238, 61,135,211,
+154, 46, 69, 62, 51,181, 60,241, 16,195,192, 65, 33,121,212,229,203,195,208,182,163,104, 42, 55,240, 66,171,204,105, 40,107, 68,
+ 85, 32,172,201,227,244,249, 12,153, 4,162,178,200, 20, 17, 69, 46, 92, 66, 8,132,136, 72, 45,145,214, 34, 92, 14, 45, 82, 49,
+ 34,147,207,134,164, 4, 50, 70,228,186, 65,246,153,167, 32,124, 64,182, 77, 46,238,155, 14,209,118,185,240, 55,185,105, 19, 62,
+ 32,100, 1, 87,174,114,227,104,135,163,107,123, 28,237,205, 41,107,195, 82, 87,136,178, 64,236, 76, 17, 91,219,168,249,156,106,
+107,155, 80, 22,164,162,120,246,154,191, 86, 88, 14, 38, 53, 82, 42,134,144,198,115, 56,129, 75,156,134,200,189,161,203,151, 62,
+ 55, 18,244,136,144, 2,109,130, 59,181, 65,199,156, 24, 90, 8, 40, 83,196,117, 13,237,208, 97, 99, 64,165,196,208,247,204,132,
+160, 0,108,244, 84, 66, 50,144, 24,162,103,199, 88,124, 12, 56, 33,184,219, 39,206,156,199,227, 51,161, 14,232, 7,199, 3,239,
+216, 79,145, 93,107, 41,165, 70,166,152, 97, 48, 4,158,180, 3,167,206,225, 66, 32, 41,137, 82,154, 47, 84, 21, 37, 89,255, 85,
+168,156,216, 87, 22, 19, 42,169, 24,156, 67,217, 60,105,216,160,152, 25,141,140, 48,179, 53, 41,180, 28,136, 64,109, 21,251,165,
+101,207, 74,162, 80,244, 62,145,252,152, 65,146,252,152,210, 55,214, 70,173, 70,173, 90,186,140, 10, 30, 70,132,112, 14,236,135,
+162,120,174,168, 95, 40,238,210,115,217, 80, 63,142,109,252,188, 5, 68,141,183,113,165, 47, 11,186, 85,227, 19, 10,121,167, 22,
+195,229,168,190, 40,176, 55,174, 19, 86,203, 17, 88,114,193, 88, 38, 63,190, 26, 21,219, 77,151,159, 71, 81,112,125,103, 70,141,
+ 96, 90,228, 49, 85, 31, 7, 10, 12, 46, 69,172, 22, 88, 20,143,188,195,137,192,227, 33, 98,100,226, 69, 85,176,118,158, 46, 4,
+172, 16, 8,149,133, 86, 59,133, 97, 25, 2,141, 11,204,166, 85,142,241, 84,138, 66, 10, 54, 41,209,135, 64, 73,162,213, 2,235,
+ 3,105,200,183, 92,149, 2, 58, 10,158, 36, 79, 82, 2,165, 13, 31,244, 30, 33, 21, 15,135,158, 94, 41,206,164,204,190, 71,160,
+ 25,195, 86,124, 76, 28,105,141, 78, 17, 37, 34, 69, 76,148,192, 58, 69,174, 25,197, 11,219, 53,247,125, 34,117, 67, 46,196, 23,
+ 54,136,139,244, 33,153, 35, 31,145, 41, 23,118,105,242,107, 27,199, 27,119, 26,111,235, 23, 35,246, 36,126, 16,109, 43,121, 6,
+202,201, 34,186,252, 33,124,253,211,175,241,147, 95,184,195,211, 39, 27,154, 77,135, 82,138,174,113,184,198,209,181,158,201,180,
+230,214,254, 22,187,149,165, 48, 38, 55, 42, 58,119,174, 81, 36,122, 23,241, 49, 97, 20,148, 54,243,212, 99, 74, 12, 99,164,156,
+ 18,185, 24,199,139, 29,224, 40,242,115, 62,211,152, 92, 12, 52,206,103,158,186,143,244, 93,207,226,188,165, 25, 28, 68,207,224,
+ 60, 93, 55,228,141,142,200, 1, 14,251,187,219,172,207, 23,220,251,131, 39,168, 82,112,220,197, 60,141,136, 2,218,231,242,236,
+159,159,187,238, 42,238, 29, 89,222, 42, 4,195, 78,201, 83, 1,167, 34, 51,220, 85,240, 20,194,160,133,162, 64, 96, 84,166, 85,
+ 29,108, 85,236,110,215, 20,165,205, 72,202, 68,166,170,141,152,198,204,216,137,156,183, 89,205,155, 4,168,148, 70, 68,120,110,
+ 98,156,148, 56,161, 8, 42,191, 15,186,208, 24, 37, 41,140, 96, 57,102,227,123,145,216, 19,137, 15,143, 55,188,110, 3,219, 49,
+208, 5,136, 66,176, 16, 18,171, 4,125, 76, 92, 73,240,138, 17,184,110,224,107, 70, 49, 49,134, 55, 15, 74, 14, 38, 26, 81, 20,
+ 76,247,167,124,254,250, 14,179,171, 51,222,155,238,243,237,233, 54,147,189, 9,159,214,137,185, 27, 48,109, 71,179,110,120,122,
+182, 70, 60, 94,112,179, 86,184,205,154,117,179,102,209, 4, 78,222, 31, 16,175, 78,248,169,191,115, 19,117,125,143, 43, 47, 31,
+ 32,164,224,222,247,143,249,232,253, 7,156, 63,124, 72,124,248, 33,203, 7,199,136,126,200, 99,217, 8,130,248, 67,240, 22, 63,
+202, 54, 92, 46, 10,201,129,173,249,197, 59, 55,216,169, 11,254,217,160,240,135, 87, 16,187,219, 60,146, 5,164, 64, 37, 13, 83,
+109,184, 58, 41, 41, 68,164, 16, 1,209, 59, 62,218,172, 16,218, 34,182,246, 96,114,128,216,158,163,106, 11, 50, 33,154, 11,128,
+209,152,203,208,244,192,128,248, 17,103,150,184,208,254, 76, 39, 57,218,245,224, 16, 14,247,178, 77,109,103, 43,219,211,138, 18,
+180,166, 87,150, 79, 9,137,148,121,122, 38, 82,226,244,252,152,251, 79, 78,224,238,147, 28,158,227, 60,156,158,253,248,130,190,
+189,199,252,179, 47,209, 47, 54,121,202,160, 68,214,121,204, 38, 68,149, 49,167, 31,246, 3, 3,217,122, 26, 19,156,247, 61,125,
+ 31, 16,198, 16,156, 3, 23, 16, 86,231,255,183,158, 34,234, 18, 68, 68,212,249,134,107, 10,139,157, 90,180, 15,204, 39, 37, 59,
+ 66, 80, 72,197, 16, 3, 90, 10,132,144,200,110,200, 43,175, 24, 81,147, 2, 57,228,226,167, 0,213, 69, 84,148, 40, 76,182,173,
+186,132,114, 9,233, 61, 50,133, 92,244,131, 64, 42,141, 40, 45, 98,178,141,216,218, 98,111, 86,240, 51,219, 21,183,108,193,157,
+121, 77, 97, 44,161, 44, 56,223,223,167,158,239,176, 85, 87,236, 84, 53, 62,121,164, 52,227,170, 77,160,132,230,166,209,236, 21,
+ 38,163,175,147, 64,132, 72,146,146,227,182,227, 27,235, 53, 41, 14,224,218,172, 77,232, 86, 99,124,238, 64, 43, 18, 47, 6,207,
+158, 86, 36,223, 81,199,132,107,214, 44,134,142,171, 41,103, 59,216,152, 87,176,132, 76,127, 44, 0,235, 7,180,202,142,149, 97,
+ 20, 94,159,196,200,159,175,215, 52, 82,147,146,224, 65,223, 81,168,130,227, 24,242, 20,163,239,216,150, 17,225, 29, 49, 56,226,
+208,211,224,249,214,217,146,110,252,188, 79,149, 66, 1,187, 66, 81, 26,149,203,154,212, 8, 33, 33,120,130,174,208, 35,108,204,
+105,139,141,142,101, 20, 76,132, 64,132,129,153, 45,136,110,160, 84,144,198,122, 87, 40, 40,149,196,106, 73,144,138, 96,116, 22,
+204, 73,159,235,231,152,240,137, 24,217, 42, 93, 51, 6,190,141,122, 54,149,243, 74,126,112,252, 30, 46,114,216,185, 76,189,249,
+ 91, 89, 64,200, 35, 22, 57,222,192, 47, 30, 68,140,129, 41,221,152,166,211,249, 60, 82, 10,145,176, 89,229,142,204,135, 75,114,
+155, 27, 50, 39,118,221,193,122,117,169, 6,175, 75,182,167, 5, 59, 69,145, 5,108, 72, 10, 85,176,137, 61, 70, 10,140, 52, 36,
+ 18,231,222,177, 14,142, 70, 8, 92, 23,209,210, 51, 55,146,117,140, 44,187,241,131,170, 37, 49,101,244,101,101, 77, 30,205, 11,
+193, 68,105,150, 49, 32,200, 59,228, 42,101,171, 28, 33, 80,196, 64,138,153,237,221, 39,193, 32,243,248,229, 97,132, 61, 45,249,
+190, 11,120, 83,114, 50,244,184,232,113, 73,162,136,180, 49,162,147,224, 64,129,213, 17,145, 2,115, 1, 83,107, 96, 24,152, 75,
+ 5, 8,206, 18,124,170,182,116, 74,209, 92, 88,253,144, 63, 56, 59,212,242,146,102,119, 33, 46,212, 35,201,229,194,218, 38,198,
+155,186,146,185,240, 95, 8,242,146, 24,173, 46,126,132,188,100,242, 67,177,176, 0, 0, 32, 0, 73, 68, 65, 84,171,216,237, 87,
+ 95,229,149, 87, 94,100,189,238,243,205,184,207,169,105,222, 7,124,151,168, 39, 37,175,223,216,101, 90, 91,172,214, 4,145, 15,
+138,156,155, 76, 30,177, 75, 40, 68,246, 62,167,209,206,230, 99, 32,196,244,236,105, 10,153, 15, 49, 59,178,141, 7, 23, 17, 33,
+ 16,198,176,149,228, 2, 67,231, 56,105, 6, 78,154,158, 85,223,115,188,110,216,120,135, 31, 60, 25,101,223,227,165,100,182,187,
+205,253,183,238,145,214,142, 91, 42,115, 1,174, 32, 88,196, 68,120,158, 29,112,193, 55,190, 83,192,142,201,130, 45,163,184,215,
+ 37, 62,238, 2,107, 19, 88, 9, 40,167, 19,236,124, 11, 61,159,176,189, 93, 51,159,150,204,107,195,254,180,100, 54, 41,209, 70,
+227,147,192,187, 72,219, 13,217,187, 30, 99, 14,149, 9,145,206, 69,186,206, 17,124,198, 90,202,152, 50, 40,104,116, 8, 12,128,
+ 83, 25, 91,151,164, 96,183,233,169, 63, 58, 33,189,245, 9,233,235,239, 48,251,179,143,216,187,191,224,197,162, 96,103,171,226,
+228,147, 53,205,163, 5,161,113,116, 10, 82,145,227,104, 95,148,138, 69, 76,252,249,137,167,209,130,182,115,148, 90, 96,218,200,
+253,214,243,193,202,241,241,144,248,176,135, 79,148, 33, 86,150, 97, 8,220,238, 59,118,154,158, 97,177,225,227,227,117,182,218,
+101,172, 32, 46, 86,172,194,130,122,191,224, 75,191,252, 38,191,254,243,111,242,223,124,254, 53,182,174,110,225,172,102,249,222,
+ 35, 62,249,224, 33,215, 53,124,110, 82,241,133,249, 54, 47,204, 20,223, 93, 5,104, 55,136,232, 17, 38,219, 19, 47,139,122, 68,
+212,183,145,111,126, 30,113,243, 14,226,250,203,136,217, 14, 87,183, 38,204, 69,226, 74, 23,120,176, 92,243,139, 7, 87,184,187,
+ 94, 66, 72,108,136,188,161, 53, 59, 50, 97, 83,160,242, 30, 25, 91,222, 58, 59, 71,110,214,136,178, 66,216, 2,129, 34, 13, 27,
+ 68,223, 32,106, 11,123, 51,132,169,248,213,215,142,184,179, 59,225,237,167, 13, 12,221, 95, 29,185, 23, 83,120,225, 42,236, 29,
+192,213,189,188,239,221,154,230,208,142,162, 26,225, 40,105,252, 30,121, 30, 56,199, 81,136,152, 52,112,126,246,152,175,126,114,
+ 31, 30, 62,201,222,247,191,233,146,243, 12,153,236,232,165,133,179,179,124,174,198,139,232,102, 69, 83, 88, 86,206,211, 39,104,
+218, 64,167, 18, 27, 31,233,135,192, 6,143, 31, 28,116, 1,107,243,249,144,180, 65, 16, 80, 42,239,165,139, 82, 19, 29, 28, 78,
+205,232, 26, 82,185,200,133,200,220, 42,218,148,115, 33,235, 81,232,162,146, 66,181, 29, 42, 73,180, 11,104,105,208, 4,246,109,
+193, 63, 60,156,241,230, 94,205, 11,181,229,227, 38,162, 2,168,120, 97,213, 53, 72, 99, 17,214, 32,117,133,212,185,153,248,233,
+173,130, 29, 83, 80,105,205, 34, 38,116,105,169,103,115, 30, 71,129,214, 37,133,204,194,229, 76, 18, 21,244,126, 0,105, 72,113,
+ 96, 11,184, 94, 20, 8, 55, 80, 11, 73,232, 91, 78,219,134,223, 61, 57,165, 27,214, 57,133,175, 89,193,226, 41,180,163,173,111,
+232, 32,244,152,232,217, 52, 27,186,161,165,239,214, 12, 67,199, 86,191, 70,186,128, 13,137,105,200, 23,132, 42, 9,118,132,196,
+ 39, 48, 33,210,251,142,132,228, 81,240,172,147,224,173,229, 26,107,167, 36,223,147,144,212,202,176,246, 29,219, 74,179,118,142,
+208,110,104, 86, 13,222, 53, 4,153,120,178, 94,114,127,221,177, 28, 28,173,115, 36, 18,221,208, 51, 16,216, 54, 6, 43, 50,251,
+194,146,176, 66,146,180, 33, 6,207, 41,146,227, 48, 48, 17, 32,117,137, 26, 28,115, 35,144,193, 67,215, 83, 88, 75,240, 45,117,
+ 2,111, 20,201, 71, 42,149, 47,212,165, 21,153,211, 82,216,231, 44,201, 2,250,238,178,102,106,149,195,134, 24, 51, 11, 98, 78,
+116,253,171,234,247, 24, 47, 63,132,127, 93, 1,151,250, 7, 49,159, 66, 92, 42,241, 34,151, 66,185, 11,216,251,133, 71,218,218,
+203, 28, 91,247, 67,143,225, 70, 41,127, 24,159,112,235,114,178, 82, 85, 66, 93, 82,138,200, 81, 97,152,154, 18,129,100, 21, 28,
+ 83, 93, 18,162,160, 79, 16, 68,192, 10, 88,184,200, 39,141,231, 90, 37, 25, 66,224, 44, 68,204, 16, 88,201,172,202,143, 46,199,
+196,182, 73,228, 24,117,165,242,196, 54,146, 83,191,144, 20, 66,210,199, 72, 17, 3, 67, 18,116, 74, 33,164,196,143,201,125,149,
+135,115, 45,153,134,200, 67, 15, 75,165, 88, 71, 55, 22, 85,129, 75,129, 77,136, 52,209, 35,146,103,146, 18, 83, 9, 53,185, 24,
+ 22,193,161,165,194,199,200,164,180,108, 27,205,169,200,138,218,149, 45,242, 37, 83,141, 10,179,231,221, 1, 41,230,155,188,139,
+121, 23,200, 5,185, 45, 94,194, 99,226, 69,214,251,120,180,153, 81,189,102,244,200,219,189, 8, 67,128,159,249,202,207,176,123,
+101,155, 16, 35, 67, 31,104, 22, 13,235,245, 6,107, 11, 78, 78, 87,104, 59,225,229, 27,187,148, 54, 51,212,165, 84,132,152,242,
+ 91, 68, 64,164,236,213, 45, 74,133, 30,195, 88,252,152,177, 28, 71,155,218, 5,232, 69, 32,198, 36,169,152, 5,112,206,209, 53,
+ 61,193,121,196, 16, 88,121,207,113,235, 88, 53, 29,184,192, 89,219,225,130, 99, 19, 3, 27, 96, 45,160,222,154,178, 17,137, 63,
+125,235, 17,111,117,249, 80,148, 74,242,229,160,248,251,104,254,126, 97,120, 67, 73,222, 43, 4,189, 25,111, 70,175,207, 96, 90,
+141, 47,166, 6,145, 8, 14,180, 85,212,133, 97,111, 58, 99, 50,155,161,203,146, 80,228,195, 72, 11,193,150,177, 84,133, 65, 42,
+ 69,240,137,166,117,156, 44,214,156,158,183,108,250, 17, 11,219, 57,214,155,129,245,166, 99,221,117,185, 1,145, 18, 45, 37,133,
+145, 24, 96, 82,106,182,119, 10,230, 51, 75,112,142, 39,247, 31,176,127,218, 33,124,226,129,244, 57,203,190,239,153,111, 58,246,
+118,118, 8, 50,241, 72,129,216,169,209, 86,209, 38,193,118,130,166, 79,220, 95, 5,214, 49, 81, 78, 44,122,183,230,212, 11, 30,
+184,196,162,143, 60,237, 60,199, 3,120, 33,179,251, 66, 64,104, 3,251,131,203, 97, 56, 72,206,238, 29, 83, 27, 69,187,104, 49,
+ 51,139,220,169,217,189,118,157, 95,248, 71, 95,230,205,159,124,153,159,191,177,203,180,214,252,243, 63,249,128,111,125,245,235,
+ 60,125,255, 67,110,148,130, 89,105,153,134,132,145, 5,201, 88,222,242, 61,190,139, 99, 97, 79,185,176, 43,133,188,253, 58, 63,
+247,139,191,194,111,255,183,255, 21,159,253,244, 27,252,235,165, 69, 62,249, 4,249,206,159, 35,131,197, 37,195,106,211, 96,165,
+228,108, 24,104, 99,142, 66,150,209,113,147,200, 92, 38, 84, 28, 48, 41,178,105,214, 60,238,123,220,147,115,196,189,251, 89,251,
+169, 20, 82, 36,132,212,224, 59,196,131, 83,254,201,157, 67,126,253,181, 79,243,217,253, 3, 22, 69,226,131,133,131,144, 16,113,
+140,225,156, 78,224,230, 17, 95,186,253, 41,234,157, 93,202,233, 22, 43, 61,238,126,149,186, 12,250, 96,188,241,251,142,161, 93,
+211, 54, 27, 30,156,159,240,205,239,223,135,227,211,156,124,199,143,192, 27,255,184, 9,102,211,252, 96, 90,157, 27, 71,168,205,
+112, 57, 65, 27,157, 56,105,240, 52,222, 99, 70,139,174,208,130, 42, 64,111, 36,133,128,163,210, 96,129,118,228,153,239, 20,154,
+198, 69,182, 74,203,174, 49,180, 68,166,214,112,210,122,230,133,204,118,232,144, 87, 99,186,203,152, 85,147, 6,140,210,152,102,
+192, 24,205, 87, 74,203, 94, 97, 50, 61, 86, 74,182,181,228,113,155, 80,165, 70,111,213,168,178, 70,238,214,200, 73,141,156,150,
+200, 74,241,159,239, 20,220, 41, 45, 59, 90, 19, 17, 72,171, 25,132,100, 72,112,234,179, 21, 24,153,168,164,193,225,240,193,101,
+ 86,215,144,119,240,141, 31, 8,125,203, 21, 41, 56, 91, 28,211, 14, 61,191,127,239, 46,199, 79,143,225,244, 4,214,107, 56, 63,
+207, 1, 66, 93, 63, 38,255, 13,208,108,120,218,246,124, 60,180,124, 48, 12, 52,155, 6, 57,116,236,196,136, 9,129, 9,137, 77,
+ 12, 28,232,146, 74, 8,186,148,152, 11, 73,163, 36, 38,230,128,160,211, 24,248, 78,151, 88,107,131, 14, 3, 66, 23, 8, 1,165,
+144, 8, 98,230,235, 36,193, 16, 60,171,117,203, 39,203,150,187,103, 13, 79, 66,196,247, 3,221,224,216,145,146,174,237,153, 24,
+197,224, 3,167,125,207,129, 18, 28, 22, 26,163,178,128, 88,105,201,105,128, 37, 34, 35,192,165,196,198,136, 22, 48, 12, 29, 69,
+ 24, 72, 82, 48,193, 81,134,192,106,240, 76,146,200,131, 28,173,242, 25, 21, 18,149, 18, 4,161,112, 74, 93, 78, 95,149,185,140,
+145, 45,108, 62,211, 47,146,233,194, 0, 46,252, 71,196,196,234, 25, 76,203,252, 66,119,237,229,135, 54, 93, 40,247,210,229,248,
+253, 98,132, 44,212,179, 66,146, 71,201,207, 41,223, 47,190, 76,207,212,219,163, 80,172, 30, 57,228, 85,206, 54,182,194, 34,133,
+100, 57, 12,148,214,162,144,172,253,128,212, 22,237, 7, 90, 20, 18,135,150,146, 24, 34, 15, 59,152, 72, 65,233, 29,143, 82,182,
+190, 45, 7, 7,117, 73,227, 28,214, 40,146,135, 70, 36, 42,165,233, 72,104,149,139,211,202,123,106,107,136, 74,162, 9,248,212,
+114, 98, 20,120,143, 73, 30, 33, 52,190,233, 9, 19, 65, 45, 28,101, 7,141, 46,178, 86, 0, 96,104,137, 49, 91,250, 22,195,192,
+182, 22, 92,179, 53,141,247, 28, 26, 67,231, 4, 62, 4, 14, 39, 83, 22, 67,135, 19,130, 93, 4,167, 69,205, 52,118, 44,170, 34,
+199,199,202,220,209,225, 47,112,146,163,107, 64,143,183, 1,127, 33, 56,140, 57,176, 70,170, 60,138, 30,252, 8,204, 9,227,127,
+ 99,243, 62, 93,155,172,220, 21,121,106,226,135,252,129,152, 78, 11,214,139, 14,165, 21,214,232,124,214,140,161, 54, 77,231,217,
+155,149, 8, 41,242,197,223, 11,162, 72,200,152,211,247,130,143,120, 35,178, 48, 19,137,210, 18, 39,178, 15, 61,164,188, 2, 8,
+ 49, 61,235,220, 37, 9, 27, 35,161,243,136, 16,177, 72, 54,193, 51, 12,129,101,211,211,199, 49, 39, 93,102, 6,242,128,160,141,
+ 61, 19, 41,217,191,126,200,123, 31,220, 67, 7,216, 70,240,189,141, 3, 31,249, 30,145,162, 77,252, 92,165,184, 89,106,126,197,
+ 41,126,242,214,140,119,222,218,112, 60, 43, 81, 47,189,192,227,110,195,102,112,156,116, 29, 31, 30,247,108,149,138,106,156,100,
+ 4, 34,221,208, 35, 86,146, 97, 8,132,222,179, 95,151, 76, 71,123, 99,219, 6, 78, 78, 27, 62,186,119,198,122,211, 94,222, 76,
+165, 96,232, 7, 26,215, 49,116, 29, 94, 41,114, 34,124, 22,216,108,205, 75, 14, 94,220, 98,182, 55,101,182, 59,225,189,239, 63,
+230,131,166,167, 85,112,211,193, 67, 25, 25, 74,193,206,102,224, 86,227, 41,191,115,151, 87,215, 13,175,237,212,204, 94, 63,226,
+254,213,146, 73,227,216, 44, 7, 30, 13,240,141,100,120, 49, 42,190, 60, 53,252,191, 14,222, 63,239,169, 35, 20, 70, 50, 31, 60,
+122, 82,128, 80, 24,173,184, 35, 21, 55,182, 21,133, 51,136, 85,195,241, 91,239,114,235,198, 62, 47,224,120,242,201, 99,218, 43,
+ 19,234,218,160, 10, 69, 81, 22, 28,159, 44,249,151,119,159,242,207,127,251,247,120,244,241,146, 23,182, 13, 7,135, 91, 24, 93,
+ 82, 20, 37,178, 27, 56,239,214,156,198, 68,220,218,193,220, 82, 4, 25, 72, 79, 31, 33, 94,126, 19,110,190, 4,251, 47,114,116,
+117,151,205,147, 51,126,227,255,250, 29,244,239,126, 23,241,197,151, 16, 71,215,217, 81, 2,183, 92, 96,164,226,165,162,100, 49,
+116, 28, 3, 41,120,196,208, 34,101,139,223, 24,106, 91, 32,130, 99, 66,100,123,189,164, 89,158, 19,143, 79,136,253,154,116,251,
+ 83,196,157, 3, 82, 89,145,108, 73,178,134,223,120,239, 1, 87,240, 28,204,118,248, 94,235,179,183,252,188,132,176, 70, 40, 75,
+ 58,218,129,189,125, 38,102,194,223,217,219,101,145,114, 72,213,191,109,150,121,189,103, 71,226,149,243,153,118,181, 88, 66,227,
+184,191,217,100,199, 73,234,199,181,225,104, 31, 13,241,111,127, 86,254, 40, 46,250, 98, 1,187,123,151,156,134,209, 6,156,198,
+113,238, 48, 4, 10,157,149,236,107, 55,112, 93, 27, 6,173, 56,137,137,155, 19,141, 31, 4, 49,207, 16,185, 82, 21,108, 6,199,
+138,236, 78,153, 0,117,101,232, 99, 98, 72, 41, 63,101, 31,145, 87,246,144, 82, 83, 76, 44,184,129,212,244,220, 26, 6,110,232,
+204, 55, 80, 2, 54, 46,112,173,176,212,187,150,184, 55,131,189, 25, 87,170,154,164, 5,167, 67, 75,227, 29,175, 18,249,172, 81,
+212, 90,114, 84,148, 60,117, 29, 79,162,199, 3, 31,116, 3,167,162,196,168, 60,133, 91,135, 13, 73, 38,214,109, 3,222, 33, 54,
+ 27,146, 80,172, 55, 45,223,148,145,111,202,209, 86,146, 2, 44,250, 49,179, 99,156,244, 14, 25,226, 50,238,184,242,244, 81, 11,
+ 88,174,159,157,177,119,165,102,119,219,210, 6,193,190,206, 4, 54,141,160,137,142, 82, 26,166, 82,112, 46, 20,197, 24,202,213,
+111, 22, 24,171,217, 69,179,113, 3, 24,131, 14,142, 32, 4, 94,106, 22, 17, 90,198,137,243,176, 33, 40,152, 71, 73, 39, 5,219,
+ 17, 58, 33,217,158,151, 28,247,145,131,121,205,227,214, 97, 11,197, 64,164,239, 55, 44, 84, 32,161,169,116, 73,215, 12,156, 10,
+197,137,157,161,147,103, 75, 90,124,236, 65, 41,170, 36,232, 98,100, 87, 6,156, 27, 48, 74,178, 85, 26, 78, 6,199,150,132,165,
+119, 20,104, 38, 6, 22, 36,154, 16,144,182, 32,166, 0,194,254,224,103,105,185, 25,131,141,234, 60, 17,170, 74,112,254,185,162,
+174,245, 37, 41,230,199,141,221,167,117,142, 33, 44,170, 92, 32, 46,126, 6, 46,139, 77,188,192,201,245, 99,228,233, 88,236,237,
+115, 93,174,243,151,227,126,212, 37,108, 4,153,173, 90,106, 84,193, 63,103,159,219,132,200,196,234,204, 47,209, 50,231,175,248,
+ 33, 91,179,188,167, 65,176,171, 21, 69, 33, 89, 15, 25, 8,163,141,160,245,254, 89,202,253,178,115,168,202, 82,185,136, 55, 30,
+ 6,205,153,114,108,219,140, 51,108, 83,196, 40,197, 34, 95, 71,153,105, 65,131,198,182, 3,219,192, 70,107,214,193, 51, 67,243,
+168,237, 8, 93, 71, 61,155,114, 26, 37,108,250,203, 72, 86, 9, 52, 27,176,138,224, 35,239,159,173,248,220, 86,126,209, 39,232,
+ 49, 38, 87, 50, 49, 22,173, 10, 78,104,217, 45, 19, 77, 47, 51,115, 5, 46, 51,224,155,110,220,157, 95, 28, 42,242,146,250, 22,
+228,232, 58, 24, 27, 34, 41,243,239,234,135,252, 62, 68,159, 91,118,171,243,123,164,220,104,253,241,104,107, 41,173,225,228,108,
+131, 27, 11,188,214, 6,151, 2,162, 44, 40, 37, 20,101,206, 6,200,251,242, 11,105, 68, 78, 82,235, 98,192, 17,145, 61, 88,173,
+144, 57, 69, 6,169, 50,139,152,144,111,238,217, 46, 47, 81, 49,195, 94,116, 2,163, 36, 90,107,188, 8,184, 16,232, 55, 30,223,
+ 56,232, 29,125,240, 24, 33, 88,165,196, 10, 40,172,225,104, 58,101,111,127,139, 63,250,147,239,241,221, 38,239,208, 16, 49,255,
+174, 83, 77,223, 58,254,213,185,203,193,241,107,207, 59,231, 3, 47,110,107,138, 39, 13,146,123,220,216,153,242,194,214, 46,250,
+250, 14,223,219,121,204,100,182,197,164,174, 41,102, 83, 14,143,118, 88,117, 67,222, 16,109,122,154, 36,232,132,192, 9, 24,122,
+207,217,162,225,238,253, 19, 30, 62, 56,103,240, 29, 41,100,108,167,136, 17, 31, 99,166,167,249,132, 64,179,232, 5, 82, 25,148,
+130,253,189,138,122,119, 74, 49, 45,113, 41,113,214, 42,110, 79,247,248,254,233, 83, 30,184,150, 77,219, 32,140,164, 25,122,174,
+ 4, 69,179, 56,102,111, 19, 88,196,134,217, 39, 11, 78, 95,152, 96,103,154, 35, 83,112, 16,225,198, 85,197,181,101, 79,215, 5,
+126,213, 74,254,167, 85,207, 73,227, 25, 6,216, 41, 36,147, 66,113, 22,224, 80, 11, 62, 59, 51, 28,213,138, 19, 1,111, 63, 78,
+124,229,240, 21, 22,201,113, 32, 18,159,217, 46,249,227, 69,203,195,239,220, 99,231,232, 42,211,123,103, 92,145,130,111,126,247,
+ 33,119, 80,108,109, 91,116, 93,176, 85, 79, 49, 66,211,173,150,220,125,252,144, 83, 93,177,116, 41,239, 67,203,154,161, 56,128,
+ 47,127, 38, 39, 89,181, 27,196,215,254,128,223,248,238,130,127,241,134, 66, 93,217,197,124,233, 14,162,156,176, 91,207, 57, 16,
+154,137, 86,163,169, 38,208, 13,158,207, 19,217,154,239, 66,154, 51,167, 37,173,206,169,162,195,132, 0,203,115, 94, 63, 95,241,
+180,237,137, 6,194, 98, 65,252,222,251,196,219,142,120,253, 6, 73,193, 23, 95,186,195, 27,183,111,241,199, 31,188, 75,255,240,
+ 29,238, 29,247,136,170,134, 74,147,216,206,201,150,211, 41,111, 76,106,110,109,111, 97,133,228, 74, 97, 40, 69,143, 90,231,176,
+ 70,218,113,127,123,190,202,141,239,249, 58, 23,115,158, 43,200, 74,130, 48, 57,103,253, 63,164,168,255,117, 63,171,213,104,253,
+213, 35,255, 66, 17, 92,204,199,156, 17,244, 46,177, 45, 3,229, 78,205,227,245,192,190,149,220,172, 18, 15,186, 64, 39, 20, 83,
+ 18,133, 53, 28,167,196, 43,133,193, 42,184,110, 53,171, 33,240,168, 25,152,151,130,166,143, 72, 31, 81,218,160,171,146, 91,243,
+ 41, 66,107,164, 31,136,147,158, 47, 9,207,203, 74,161, 6,199,241,178,227,233,186,231, 35,239,153, 86, 21,177, 40,198, 44,144,
+128, 68,163,180, 34, 16,121, 81, 68, 38, 90, 82,250,196,169, 95,178,173, 13,157,115, 28, 7,184,231, 65,153,136,111,219,108, 68,
+233, 90,210,122,141,104,123, 82,215, 67,231, 16,195, 64,146,238, 50,228,231, 7, 64, 95, 41,171, 92,203,145,148,103, 60,108, 70,
+ 32,141,119,224, 70, 43,244, 72, 59,139,210,241,180, 53,220,175, 19, 6,184,154,224, 64, 41,206,165, 34,166, 68, 47,179,125,248,
+ 52, 37, 26,160,172,166,232,216, 17, 92,139, 80, 37,131, 15,120,157, 39,199,103, 67,135, 21,154,117, 28,178, 86,201,214,176, 13,
+203, 85, 67,225,123, 54, 2,156,213, 48, 68, 68,101, 57, 67,240, 74, 93,240, 46,153,123,209,171,130,223, 91,116,212, 90,243,134,
+ 13,188, 39, 36,235, 16, 9, 33,176, 85,206,240,205,130,189, 98,134,175, 39, 16, 3, 59, 4,154,205, 19,166, 90, 67, 12,172, 99,
+100, 79, 43,156,207,154, 45,159, 28, 43, 31,241, 14, 10, 41,243,250, 66,233,209,185, 60, 54, 62,113, 12,173,113,125, 46,238, 90,
+ 67,219, 65,122,254,166,110,245,165,100,254,199, 21,245,161, 1,202, 92, 52,158,221,180, 61, 88, 55,250,163,199, 4, 57, 63, 90,
+180,188,191, 28, 5, 95,220,200, 47, 10,248,133,218,254,226,159,155,238,242,198,127,193, 13, 30,233, 99,239,169,130, 23,165,160,
+151,146, 2,216,196,152,119, 55, 82, 18, 99,196,249,129, 18,197, 82,122,212,136, 46, 91, 43,197, 68, 6, 76,161,105,157,231,110,
+ 19,120, 97, 2,170,247,172,140,162, 38,146, 76, 66,171,114,132,132, 64, 37, 36, 29,176,140,145,235, 90, 35,131,167,198, 32,133,
+231,201,232, 10,159, 40,205, 58, 4, 10,161,120, 52, 64,116, 29,181,116,153,204, 19,251, 49,190,207, 65, 10, 40, 97,121,226,122,
+190, 48,175, 88,123,199, 84, 40, 38, 90,161,180,201,163, 94, 44, 50, 5, 10, 37,168,124,226,250, 86,201,112, 62,176,190,120,103,
+124,155,247,127,171, 46,127,232,149, 29,189,178, 49, 63, 25, 63,118, 84,202, 94,142, 6,227,184,147,143,163, 40,206,199, 75,149,
+114, 24,217,237,162,196, 22, 10,171,243, 72,189,158, 78,114, 40,221, 38,147,209,246,171,154,157,189, 41,125, 15,165,209, 8,145,
+105,108, 81,100, 43, 91,206, 97,143,196, 33,208,235, 72, 29, 21, 33,138,203,129,140,144, 99, 10, 98, 22,229,136,148,208, 82,100,
+123,188,204, 35, 41, 25, 19,209,103,222,186, 86,130, 3,165, 57, 47, 10, 68, 8, 44, 82,162,142,145,101,190, 18, 83,212, 5,235,
+243, 13,220, 95,147, 60, 76,181,102,221, 15,208,132,252, 90, 92, 55,240, 73, 15, 27, 15, 6,190,190, 47,248, 58, 1,156,227,102,
+ 1, 7,139, 21,221,217,154, 73,253,152,178, 46,217,155,111,243,229,207,221,225,240,133, 93,202,218,242,232,124,195,233,186,101,
+181,233, 41,180,165,174, 74,162,148,116,131,227,120,213,240,240,116,201,134, 72, 16,146, 36, 21,169,119,248,161, 35, 70,151,127,
+ 55, 52,146,148,119,237, 86,211,167, 72,155, 18,109,140, 20, 18,190,249,246, 99,206,122,248,164,154,210,238, 22, 84,174,103,221,
+221,167, 90, 31,227,156,227, 95,135,129,217,162,225,197,162,228, 17, 37,187, 15,158, 50,105,246, 17,100,112,140, 83,138,161,208,
+ 28, 79, 44,198, 5, 78,149,224,205,157,130,223,250,218,125, 30,108,224, 63,187,190,155,149,181, 17,124, 8,124,126, 90,179, 61,
+181,156,165,200,245, 98,135,201,178,230,201,122,224,157,227,115, 68, 20,156,189,243, 17, 15,222,251,152, 15,138,119,121,225,215,
+126, 25,172,161, 45, 75, 44,150, 29,237,248,240,163, 5,205,249,134,237,253, 41, 91,123, 91,252,254, 87,255,130,116,117,159,120,
+243, 8,130,161, 22,240,202,151,222,228,245,254,152,223,252, 95,190,133,253,114,201,144, 2,123, 63,127, 3, 89, 87,236,206,175,
+176, 78, 9,163, 52, 71,202,176,103,115, 26,100, 66,226,186, 53, 47,138,158,117, 12, 28, 30, 93,163,156, 84,184,190,231,236,195,
+111,179,186,127,151,243,216,211,222, 95,114,173, 46, 41,129, 79,111,237,240,173,197, 25,161, 91, 17, 82,128,243, 39,188,121,245,
+ 5,190,116,176,203, 92, 72,124,140,252,230,251,223,231,230, 36,112,183, 79,121,154,110, 20,105,108, 34,136, 48, 87, 10,171, 5,
+ 58, 6,122,215,241,165,208,240, 71,235,101,158,132, 61, 61,207, 86,181,229, 34, 79, 32, 11,251, 35,188,230,233,111, 62, 27,255,
+182, 63,110,200,244,182, 49,145,115, 90,104, 58, 9,125, 31,185, 82, 41,156,149,156,181,158, 93, 23,153,106,201,218, 7, 54, 30,
+180,213, 57, 71,170, 46,185,182,189,207, 78, 49,229,102,109,185,163, 4,106,241, 24, 21, 28,127,201, 10,173, 36,115,223,161,181,
+198,214, 53, 73, 90,166, 69,238,127,103,117,205,212, 27,110,196,158,228, 28, 19, 99,168,103, 64, 31,120,219,195,220, 40,130, 86,
+108,155,130,137,177, 12, 36, 58, 41,217, 55,134, 67, 45,209, 93, 62,215,116, 72,116,222, 51, 12,145,223,121,218,227, 68, 68, 15,
+103,132,229, 26,180, 37,185,129,120,129, 4,149,144,250,241,117, 13, 54,251,250, 47, 34, 80, 69, 49,174, 25,199,139, 78,231, 71,
+ 29, 86,186, 4,128, 93,136, 36, 92,255, 44,170, 91, 4,184,219,182,212,133, 96, 54,230,158, 8,163,145, 49, 48,232,130, 20, 61,
+ 43, 33,233,181,161,141,145,132,164, 81, 5,123,186, 99,225,122, 30,217,154, 57,145, 77,202, 77,213,169,239,199,245,229,152,226,
+ 41, 13, 76, 74,250, 30,146,177,104, 4, 11,163, 81, 9,130, 82,108,138,154,159, 80,146,149,144, 44,132,160, 78,176,107, 20,143,
+ 66,228,101,173,121,170, 12,119,125,203,186, 83,204,170,154, 71,171, 99,136, 29, 71, 55, 95,103,245,238,159, 81, 81, 16,125, 71,
+ 10,137, 90,102, 65, 93,242,207, 16,152,204,180,228,110,227, 71,200,149,186, 36,184, 21,163,142,162,200,164,200,103, 7,110, 63,
+ 66,139,132,122,174,168, 59,127,201,123,253,113, 63, 77,155, 51,133,229, 15,141,151, 28, 16,187, 60,154,127,158, 15, 59,118, 35,
+ 57, 5,135,203,177, 19, 33,171,149, 13,121,199, 36,199, 55,243, 25,169, 73,141,108,227, 13, 84, 19, 84, 72,156, 7,199,118,204,
+233, 78, 90, 89, 54, 41, 82,138, 12, 5,152,218,146,251,155, 37,203, 24,185, 82, 27,190,127, 49, 82,211,112,220,122, 98, 18, 92,
+ 41, 21, 79, 26,232,230,137, 93, 18,139,148,173, 74, 87,101,230,232,106, 33,241, 8, 28,145,131, 42,119,115, 33, 64, 69, 46,244,
+ 86,107,122,151,241,138, 61,137,211, 16,152, 23,138, 7, 35,183,153, 97, 4,181,172, 54,207,252,248,161,105, 57, 50,138,183,151,
+ 45, 95,152,215,212, 85,129, 79,129,153,153,208,184,236, 19,245, 82, 83, 70,207,141,201,156, 7,205,134, 45, 35, 40, 5, 60, 93,
+181, 80, 87, 89,160, 83,106, 8,213, 72,124, 35,135,212,244, 99,177,246, 9, 38,228, 27,184, 30, 21,240, 23,171,142,139,177,129,
+ 31,121,211,186,200,157,177, 41,153,212,147,156,250,230, 19,182,146,112,158, 24,134,129,162, 40, 57,188,178,203,223,253,204,117,
+164,210, 36,145, 69, 26, 46,145,233,106, 82,144,124, 78,140, 43, 10, 73, 8, 41,111, 0, 18, 72, 41,179,121, 33, 64, 34,142,230,
+134,244, 44, 80, 71, 2,106,220, 27,102,198,120,100, 54,218,139,125,132, 38,100, 40, 79, 14,227, 20,204, 68, 66, 8,137, 45, 43,
+142,143,207,121,251,126,199,204, 10,166,133, 98,157, 70, 49,225, 69, 97,247, 23, 1, 1, 33,123,244,111,215,224, 36, 15,151,129,
+ 79, 98,226,221, 90,113,133,192, 21, 25,217, 44,207,168,239, 62,230,211,211,130, 23, 74,205,164, 42,176, 74, 50, 49,134,162,180,
+204,234, 2,107, 52,206,141, 80, 26, 21,243,168,174,168, 32, 37,130, 50,248, 21,200, 62,161, 99,200, 62,124, 4, 49, 6, 98,231,
+240,235,158,197,201,154,132,224,241,249,138,234,253,123,156, 76, 42,238, 79,246, 57,156,148,220,153, 77,249,120, 50,229,252,227,
+125,228,174,163, 57,237, 88, 29, 9,222,245, 3,159, 58,152,243, 7, 83,205, 71,255,235,255,199,250,147, 99,170,249, 22,113, 62,
+ 33, 20, 37, 87,175,239,112,227,206, 14,157,128,247, 31, 44,120,177, 42,217,185, 49,231,188,247, 76, 66, 66,185,200, 63, 56,172,
+153, 36,208, 62,113, 69,229,176,141,118,106,249,211,147,150, 38, 70, 86,171,134,214,105,218,135, 13,215,127,234, 38, 79, 11,195,
+ 45,109,120,233,229, 27,220, 83,146,189,190,225,218,235, 45,103,143, 30, 48, 63, 60, 66, 77, 12,182,123, 68,122,119,159, 52,109,
+184,117,235, 58,169, 56,224,181,197, 61, 42,161,248,149,127,122,155,213,100,155,101, 40,152,238, 28,208, 3,171,224,121, 41, 4,
+ 42, 5, 91, 74, 51,179, 80,203,132, 78,142, 85,232,104,135,134, 36, 11,166,214, 82,149, 5,231, 85,201,176,253, 18, 31,156, 46,
+249,252,201, 35, 90, 35,248,189,199,199,252,194,213, 61,190, 33,160, 76, 18,191, 60,193,223,127, 64,216,221,167,174, 37,197,225,
+ 54,161,152,210,233,146, 55, 14, 15,153,107,216,234, 29,223,110,251, 81,185,238, 73, 66,243,238,224,249,169,118,193,141, 80,211,
+250, 14,227, 29,177, 95,231, 93,249,201, 34,171,172,155,238, 7,241,166, 74,254,208, 63,251,191, 18,110,243, 31,157, 43,127,241,
+103, 14,249, 49,151,163, 76,233, 74, 93,242,120,227, 40, 10,197, 84,128, 76,137, 32, 4, 87, 38, 5,171,113, 63, 43,172,162,212,
+150,235,179,125,246,118,182,185,105, 44,183, 66,131,177, 37,221,234,132,253, 98,139,143, 54, 11, 14,148,193,147, 24, 16, 76,234,
+130, 66, 25,170, 66,161,164,229, 72, 43,174,166,130, 32, 27,172,138,244, 1,110,109, 77, 16,177,227, 65, 93,208, 88,240,218,144,
+140,161,141,129,181, 79, 60,236, 58,110,148, 2, 75,228, 64, 43, 54,110,192, 13,158,213,162, 69, 63, 62,135, 20,114, 60, 47, 25,
+ 42, 21,184, 12,203, 73,189, 71,104, 77,234, 7,114, 12, 12,249,251, 90, 75, 8,125,222, 19, 95,212, 5, 61,234,178,180,186, 76,
+208,188,200,216,186, 40, 96,195, 0, 91, 19, 24, 2, 31,172, 29, 98,170,249,194,164,226, 97,204,251,241, 34,102,230,135, 19, 10,
+ 27, 2,131,202,158,140, 45, 47, 88, 75,197, 92, 72,222,117,145, 37,137,164,244,136,184,214,121,109,172,199, 6, 67,251, 92,224,
+171,154, 32,192, 35,176, 82, 33,148,100,219,148,120,224, 84, 91, 78,253,192, 34, 68,246,203, 9,149,144,120, 35, 57,117, 45,199,
+ 99,156,107, 72,142,123,235, 83,110,137,196, 98,121,130,191,251, 22,110,179, 4, 60,173, 79, 92,213,153, 8, 89, 5,129,151,130,
+ 33, 66,239, 2,167, 62,159, 59,249, 66,246,156, 88, 58,166,220,252, 92, 76,132,205,115,214,242,190,135,117,243, 67,150, 54,239,
+255,102, 17,200, 5, 12,228, 34, 10,209,140,240, 3, 51,142,135,109,145,255,122,214, 28,164,188,203, 29,134,203,255,103, 24,227,
+238, 10, 9,171, 53,204,103, 25,217, 88,141, 0,152, 16,115, 8,141, 28,129,241, 50,145, 82, 96,170, 44, 51, 45, 41,148, 70, 11,
+ 8, 98,132,133,164, 64,235, 2, 66, 73,206, 66,224,254,102,160, 31, 65, 49,155, 33, 50, 83,146, 62, 69, 54, 81, 16,164,160,113,
+145,121,105, 80, 18,106, 99,105,147, 96,183,208,248, 81,249, 46,149,102,229, 61, 67, 8, 57, 13, 45,194, 32,115,177,121, 48, 12,
+ 4,153,253,216, 69, 82, 60,246,185,211,234, 47, 20,215, 23,182, 61, 55, 22,121, 33, 24,156,103,219,100, 91,220,142,177, 84,198,
+114,238, 58,172, 50, 36, 33,136, 33, 96,146,100, 16, 96,165,192, 73,129,219,180, 92,153, 84,156, 54, 45, 68,216,154, 22,244,221,
+144,181, 10,105, 92, 81,232,231, 4,117, 62,140, 30,244,139,214, 54, 94,134,212, 92,208,239, 82,204,227, 44,109,161,237,248,236,
+155,159, 97,190, 55,231,244,248, 28, 31, 96, 50,157,178, 60, 89, 81, 79, 38, 92,217,219,226,221, 79,214,188,112,101, 62,142,202,
+101,166,177,141,193, 85,125,200, 25, 1, 89,148, 47, 40,108, 78, 40,147, 34,143,233,253,168,198,245, 33,226, 67,194,187,108,105,
+ 84,241, 66,249, 30,192, 7, 66,235,232,154,129,174, 15,196,193,227, 82,100, 21, 28,201,199,108,135,139,145,171,251,187, 28, 28,
+238,242,206,219,239,243,222, 73,195,178,117,172,134, 17, 81,219,135,188, 12, 59, 30,133,138, 25,223, 4,103, 14, 38, 18,185, 93,
+225,251, 56,106, 57, 37,243, 90, 83, 25,203,164,158, 34,181, 37, 84, 22,105, 53,189, 15, 28,159,183,244,157,163, 42, 53,211, 73,
+137,210, 18,239, 60,109,215,211,245,217, 98, 39,180, 34, 70, 75,194, 18,140, 70, 10,205,118, 81,115,125,190,205,225,100,206,196,
+148, 76,149, 97,191, 40, 41,146, 68,205, 45,178, 46,105,107,139,208, 2,206,150, 76, 39, 19,110, 29,212, 52,202,208,238, 77, 16,
+170, 96, 82, 22, 84,243, 18, 61,155,178,127, 56,229,202,225,148, 99, 49,229,251,201,210,204,106,228,225, 46,147,171,115,156, 86,
+ 60, 10,112,114,222, 99,181,165,124,113,155,117, 59,112,122,210, 48,108, 28,243, 29,131,248,232,148,151,246,167,136, 0, 86,231,
+ 56, 76,149, 18, 47, 84,130,155, 83,195, 7,143, 60, 11, 57,103,101,225, 74, 33,216,185,122,200, 78,105,104, 3,248,178, 32, 77,
+166, 32, 38,108, 85, 37,219,135, 59, 60,126,186,226,159,124,230,243,252,131,255,242,167, 57,122,227, 14,213,233, 19,134,167, 31,
+243,130, 45,137,102,194,244,240, 6,147,131, 79,177,127,227, 58,182,174,152, 78, 39,204, 37, 28,106,195, 22,138,173, 34,113,160,
+ 52,179, 24,208,190,103,238, 6, 78, 22, 43,246, 82, 71, 85,212,180,211, 41,117,239,249,104,240,220, 48, 5,119, 69,226,134,138,
+188,148, 4,223, 76,138, 95,170, 45,239,161,144, 66, 35,241, 8, 23,120,176, 25,216,173, 5,247,134,129,148, 36,183,235,138, 93,
+ 91,177,109, 44,239, 56, 79, 24, 57,214,194,121, 98,236,249,254,114,205, 46, 61,186,239, 89,117, 11,254,229,135,143,224,254,113,
+ 30,133,187, 31,218,125,203, 81,159, 18, 70,190,130, 28,187, 84,255,159, 0,136,121, 54, 69,139,151,205,118, 28,207,138, 36,168,
+172, 34,133,132, 23,130,237,164,120,109,111,194, 79,237,109,241,234,124,202,212, 72, 2,130, 86, 9,182,180,225,198,116,198,220,
+150,236,213, 19, 94, 41, 11, 74,109,216,149,146,169,202,126,117, 45, 45,219,214, 98,149, 98, 87, 89,166,166,224,160,168,216,211,
+ 21,187, 41,114,104, 44, 7,186,100, 91, 21, 76, 80, 76, 76,205,188,156, 48,177,154,235, 86,179, 63,157,113,168, 37,187, 2,182,
+ 84, 68,118, 29,133,115, 44,215,107,142,130, 71,227,217,180, 61,199,231, 13,127,113,186,100,117,214,142, 22,219, 1, 17,179,240,
+239, 50, 66,220, 95,254,174,207,191, 30,241,121, 29, 86,200, 89, 26,207, 24, 23, 98,244,105,143,103, 91,161, 47, 99,195, 73, 96,
+ 44,194,103, 55, 65, 72,112, 10,196,145,124,104,165,198, 11,129, 23, 57, 41,206,169,172, 53,216,140, 60, 17,139, 96, 41, 19, 8,
+205,146,144,111,231,114,116, 4,153,139, 32,151,145,241, 33,115,214, 71,146,144,148, 36,152,146,137, 50,217,222,172, 52,115,169,
+121, 34, 52,218, 90, 10, 91,162,144, 60, 9,158,162,172,184, 35, 5,247,146,128, 48, 48,183, 37, 65, 89,170,208, 99,250, 6,101,
+ 13,209,123,172, 72, 56,145,181, 71, 49, 4,150, 33, 19,244,136,137, 39,109,164, 75, 99,232,140, 80,227, 45,125, 20,204, 41,123,
+185,106, 45,205, 88, 43, 85,182,185,141,103,244,127,218, 79, 61,201, 5,164, 75,204,127,226, 14,203,119,238,229, 20, 36,115,161,
+146, 31, 59, 43,173, 71, 47,233,216, 93,116, 49,171, 29,235, 45,216,173,145,186, 32, 94,164,165,117, 62, 23,253,114,228,141,203,
+ 44,246, 58,243, 1, 71, 34,137,200,169, 15,108, 9, 65, 82,154,193, 59, 64,176,240,158, 62, 68,102, 82,178,136, 9, 41,229,248,
+ 98,141,117, 78, 93,140,254, 5,223,111, 19, 91, 86,176,155, 2, 83, 11, 79, 7,199,212, 90, 54, 41, 49, 9,238,242,134, 43, 5,
+ 40, 79, 10,154,211,152,152, 26,147,131,108,148,160,197,211, 15,130,190, 16,185,177,121,102, 51, 35,219,199,116, 22, 5,246, 33,
+239,168,139,152,232, 4, 48,116,212, 69,205,248,209,205, 89, 11, 70, 83,199, 72, 7,236, 1, 15,132,160, 78, 61,159,155,105, 60,
+154, 10, 79,179, 59,201,187,100, 3,119,151, 21,125,232, 47, 87, 32,210, 65,127,177, 79,231, 50,138,183,176,227,141,126,180, 46,
+132,113, 74, 82, 88, 54,171, 14, 63,238,232,125,219,211,156,181,172,155,134, 33,120,166,243, 9,235,179,200,241,249, 6, 43, 4,
+ 82, 10,172,214,232,145,196,102, 20,156,167, 8, 93,196, 26, 49, 58, 81, 69,158, 96,165,252,181, 14, 41, 63,156,140,217, 38,231,
+ 70, 12,171,243,158,228, 60,214, 5,116, 4, 55, 4,206, 7, 71, 59, 12, 52,222,161, 60,164,152,144, 66, 48, 51,134, 43,202,178,
+131,228,221, 71, 11, 58, 61,126,177, 87, 62, 63, 0,140,184, 89,178,109,109, 29, 97, 42, 97,237,225,173, 13,113, 94,160, 42,147,
+117, 1, 41, 49, 51, 5, 91, 85, 69, 93, 20,244,193,113,114,182,121,150,213,227, 55, 3,194, 69,156, 82, 76,230,142, 9, 16,189,
+199, 24, 73, 89, 25,166,157,165, 25, 34,102, 42,232, 6,139, 76,150, 98, 54,231,149,121,193,107,179,138, 74, 8, 66,231,104, 87,
+ 93, 78,206,219,177,120, 13,117,173,153, 76,118,152, 78, 45,190,141, 52,205,128,144,112,125,215,240, 66, 50, 28, 92, 41,120,184,
+242,156,135,192,233,178,163,233, 60,199, 77,192, 27,197,193,139, 7,108, 29, 84, 76,182, 11,234,144, 16,189,167, 43, 4,147,173,
+ 57,202, 57,190,119,188,230,233,131, 37,171,147,150,183,255,213,191,227,149,255,238,191,230,255,248,247,111, 33,222, 62,231,103,
+127,233, 85, 84, 44, 16, 86, 19, 67,194, 68,216,171, 53,191,254,197,107,124,245, 91, 15, 56,108,175, 80, 46,159, 98, 30, 46,240,
+181,229,112,174, 49, 30,150,201, 80, 94, 55, 12,141,101,253,228, 41,191,246,153, 79,241,185,219,135,252,179,255,251, 27,188,247,
+206,219,156,223,250, 60,101, 45, 57,223,222,102, 90,109, 35,119,182,153,204, 10,202,105,129, 34,209,172, 91,180,154, 50, 44, 55,
+ 40, 25,217, 18,134,210, 13, 24, 63, 32,137, 12,174,227, 85,237,249,131,183, 63,228,211,119, 63,160,252,212,171, 44,119, 95,226,
+203, 74, 48,173, 44, 95,188,249, 50,230,250,117, 86,237, 57,243, 79,238,242,213,179,142,191,183, 83,241,241,149, 25, 31, 60,109,
+145, 74,225,106,203,191, 57,107,152,118,138,175,236, 40,174, 85, 91, 68,173, 80,205,154, 45, 37, 57,142,153, 51,145, 98, 78, 72,
+ 91,106,197,111,156,159, 49, 77,176, 56, 89,193,217, 57,162,235, 72,234, 71,156,105,126,212,164, 92, 68,178,186, 17,190, 97,117,
+190,160,180,253, 95,109, 4,254, 67,111,234, 23, 66,186, 8,187,159,189,195,233, 71, 79,152,138,192, 68,107,174,238, 90, 94,153,
+205, 56,170,103, 36,169, 56,242, 1,193, 57, 83, 34,131, 79,108, 27,201,204, 42, 84,138, 36, 37,217, 83, 10, 29, 2,186, 40, 8,
+ 17,246,148, 39,186,129,151,132,200, 35,114,215, 51,137,130,210,123,102,182,196, 4, 79,169, 20, 69, 89, 99, 38,134, 48, 68,154,
+245,130,217,100,135,232, 61,125,223,208,108,214,180, 93,203, 98,211,242,198,224,121,176,110,120,228, 60,167, 90,243,205,174, 99,
+224,255,103,237, 77, 98, 36, 77,243,243,190,223,187,126, 91, 44,153,145, 75, 85, 86, 85,215,210, 93,221, 51, 61,156,157, 67, 14,
+ 57, 36, 37, 82,150,185,192, 48, 33, 27,180, 1, 95,228,131, 47, 6,124, 48, 4, 24,240, 73,128,225,139, 1,195,128,125,240,193,
+ 7,249, 98, 2,186,200, 2, 40,203, 20, 32,153,139, 8, 82,148, 72,145, 34,197,153, 86,207,116,207,244, 82,221, 85,213,149,149,
+107,100,196,183,189,155, 15,239,151, 85, 77,114,108,211, 26,246,169,208,221,200,202,140,140,248,254,219,243,252,158,200,199, 62,
+ 48,196,145,170,148, 19,188,230, 83,181, 23, 72, 83,190,247,167,145, 17, 9, 16,222, 79,209,203, 58, 11,124, 39,253,128,144,110,
+ 0, 0, 32, 0, 73, 68, 65, 84,198, 12,169,203, 53, 35, 76, 27, 99, 83, 78, 19, 85,200, 53, 67, 76,153, 24,184,108,243, 27, 2,
+148,146, 48,122,190, 73,207,144, 4, 95, 89,104,230, 82, 51, 18,104,148,161, 11,129, 30, 48, 74,115, 21, 34,131, 86, 28, 6, 8,
+ 41,178, 22,138,129,172,157, 17, 74, 17, 98,204,104,221,232,166,237,114,145, 79,198,170,129,137,204,183,150,138,215,141, 97, 68,
+177, 86,154,195, 8, 87, 90,114,144, 4, 79,148,224,142,153,115, 25, 70,222, 46,231,220,102,195, 99, 96, 29, 34, 42,118,220,212,
+ 37,224,121,214,109,184,103, 11,210,152,104, 19,132, 16, 72, 65, 48, 34,145, 24,158,143, 25, 16,148,195,185, 66,174, 35, 74,102,
+235, 85, 93,101,149,187, 45, 50,187,228,250,197, 45,203, 23, 37,235, 7, 11,116,169,203, 23,201, 49,111,254,212, 15, 99,181,226,
+226,248, 98,162,209, 77, 44,243,248,169,172,206, 76,230,200, 19,108, 59,100,161,211,124, 6, 77,141, 44,116, 86, 92,247, 35, 92,
+173,243,215,190, 78,114, 19, 47,211,192,230, 70, 49,196, 12,239,111,167, 80,148,150, 72,231, 35, 1, 88, 15,158, 83,239,115,122,
+155,204,211,101, 10, 57, 95, 55,143,149, 83, 41,157,160, 30, 82,234,140, 1,148,153, 73,110,148, 96, 27, 34,123, 74, 50,151,154,
+109,244,236, 72,137,146,240,201,198,211,163,208, 18,206,131, 32, 34,169,180, 98,136,226,101,247, 45, 39, 50, 73,152,168,120, 46,
+163, 20,215,253,200,253,166,102,183, 40,232, 17, 84, 66,162,148,164,139,137,218, 24, 98,140, 12,193, 83,105,203,214,141,212,133,
+162,241,142,135,210, 32,146,224, 10,201,171, 74,177,171, 37, 94, 8, 62, 95, 20,124, 36, 5, 97, 24,115, 55,231,166,224, 23, 89,
+230,155, 57, 62,223,133,220,148,171,172,124,166, 84,185,248,194,250,246,214,219,223,230,151,126,233,231,216,180, 46,131, 85,124,
+ 98,216, 14, 92,182, 3,149, 45,121,248,218, 13,118,155,130,222, 7, 8, 57,101,205, 76, 64, 35, 73,162, 31, 60, 91, 23,104, 93,
+194, 74,137, 53,249, 53, 12, 36, 98, 72,140, 33, 48,186, 56, 61, 88, 50, 39,158, 20,233,221, 52,149,247,158,147,118,228,162,115,
+180, 62,131,102, 46,199,108, 99, 25,198,158,232, 3,115,101, 89, 52,101, 22,211,125,243, 99, 94,187, 10,236,123,193,221, 91, 5,
+143,174,223, 27,149,124,153,206, 86,146,207, 58, 33,193,131, 18,154,252,250,213,141,226, 70, 83, 48, 43, 11, 14,235, 57,165, 54,
+ 40,107,176,214, 18,133,192,143,142, 97,219,211,110, 91,132, 53,212,149, 69, 10,232, 6,199,229,118, 96, 24, 29,163,243, 68,159,
+208, 66, 82,207, 53,133,209, 84,139,146,215, 15,231, 28, 29, 52, 44, 22, 21, 85,109,176, 69,206, 92, 55,141,102,119,111,134, 20,
+145, 79,158,108, 88, 46, 74,234,218, 80, 87, 6, 99, 21,139, 66,113,179, 80,236, 91,195,172,210,232,198,176,179, 44,217,158,245,
+180,219,158,110,219,161, 43,205,108,183,192, 26,137,114,129,184,245, 96, 37,221,186,227,234,209, 25,103,127,248, 61,254,232,111,
+255, 35,174,126,243,219,168,143, 71,222,252,143,191,204,235, 95,125,192, 31,254,218,111,240,214, 63,120,155,215,191,112,151, 54,
+ 70, 46, 98,160,182,130,170,176, 88,173,208, 11,195,229, 7, 29, 95,118,138, 97,188,162,171, 74,116,109,249,162, 27, 24,147, 32,
+218, 2,105, 45, 97,127,151, 79,198,145, 95,253, 59,255, 59,199,127,237,231, 40, 94,249, 12,183,239, 29,177, 58,184,193,108,181,
+135,106, 26,154,101,197,172,177,212, 86,103,122,160,247,232,209, 81, 14,158, 57, 30,237, 28,115,109, 56, 48, 5, 59,163,103,214,
+181,236,246, 35,111,218,130,207, 55,115,142, 46, 79,249,209,122,198, 23,234, 25,111, 44, 86,188,214, 44, 89, 21, 13, 69,217,112,
+ 65,100,102, 5,172,118,216,111,102,220, 61,216,229,196, 40,130,206,205,126,144,154, 31,155,207,168, 4,120,239,113, 49,208, 59,
+199,199,235,109, 14, 91, 57,187,130,203, 22,113,118, 65, 26, 60,195,101,159,183, 59, 50,175,156,196, 4,208,249,127, 12,171,178,
+ 19, 58,187, 48, 25, 82,163, 77,126,182,125, 90, 36,252,255,245,143,148, 47, 79,145,159, 38,226,148, 22, 10, 75,119,182,201,124,
+245, 36, 56,216,169,120, 56,111,184,211,204,153, 43,141, 85,134, 72, 98,207,150, 92, 5,207,188,208, 52, 82, 82, 40,195,162,108,
+168, 35,236, 38, 65,153, 28,209, 71,124, 20, 84,202,176, 40,106,106, 99,153,233,130,133, 20,212, 50, 79,150,141,176,148,202, 80,
+151,115, 36, 54,171,250, 83,162,158,175,168,202, 57,133, 45, 41,164,160,180,150, 89, 89,178,154,213,220, 60,216,227,230,193, 46,
+183,247,151, 28,220, 62,228,232,112,193,155,183,110,114,127, 94,242,198,254, 42,111,193,148,102, 43, 18,201, 65,210, 50, 39,103,
+126,159,130,254,231,252,252,113, 90,183,199,148, 7,174,235,201, 61,168,140,201, 86,102,154,162,205,203,215,109,130,200,160, 12,
+226,186, 41, 51,121, 53, 30,147,160, 52,138, 66, 41,198, 24,137, 19,235,100,155, 34, 66,107,198, 16, 49, 69,197,133,243, 28,218,
+ 2,132,164, 81,138,185,178,108,100,230,151,100,198,135,153,232,158,229, 11,160, 87,146,138,207, 21, 13, 91,169,179,218, 62, 9,
+180, 86,236, 34,121, 79,192,171,218,210, 11, 65, 43, 20, 23,227,128,156,182,202, 3,144,148,101, 37, 37,167,126,228, 94, 81,225,
+124,160, 52, 5, 78,106,182, 33,226,141, 70, 26, 67,151, 96,144, 18, 79, 34, 12,110,154,250, 38, 79,122, 97,242,107,164,174,183,
+216,230,229, 16,169, 36, 86, 10,130,209, 63, 96, 81,151, 19,143, 56,193,201,199,207,184,248,222,211, 9,101, 39,255,244, 77, 74,
+234,151,197, 93,201,172, 50,245,125, 22,169, 44, 22,160, 4,105,116,176,238, 50, 37, 39,201, 9,123, 23,114,135, 44, 21,140,158,
+202, 74,132,130,185,214,180,206,103,228,235,208, 35, 83,190,131,131,228,233,118,224,108, 66,143, 18, 32,133,144,115,192,211,244,
+166, 49,246,133,170, 92, 10, 73,175,114, 13,168,117, 66, 41, 77,129,100, 87,103, 2,207,214, 7,110,106,195,165,119, 92,186,200,
+ 43,165,224, 59,237,200, 16, 37,141,200, 69,189, 83,137,116,253,206, 82,217, 7,253,162,129,241,147,234,220,121, 80,130, 82,102,
+ 20,226, 43,205, 12,161, 20, 34, 6, 42,109,112, 49, 32, 17,184, 24,241,126,164, 52,154, 98, 28, 89, 37,193, 54, 38,110, 21,154,
+ 93, 45,105, 99, 98, 68,114, 71, 75, 78, 82, 96, 12,129,171,160,178, 40,143,240, 50, 16,199, 95,175,228,253,203, 53,141, 79,121,
+ 69, 86,218, 23,144,130, 95,248,247,127,129,187,175, 30,177, 94,119,180,219, 22, 55,142,140, 19,225,109,103,177, 64, 72,197,106,
+ 86, 49,159, 23, 64,166,227, 73, 33, 24, 66,162, 31, 61, 67,240, 88, 18,221,144, 3, 92,140,150, 36, 9, 33, 10, 66,140,196,152,
+178, 47, 61, 68, 34,249,207, 17,129,144, 80,164,108,183,233,187,145,181, 11,108, 83,196, 13,142, 34,230,200,213, 49,100,238,128,
+ 78,153,141,220, 1,191,246,214, 35, 68, 23, 41, 37,136, 33,113, 62, 70,190,114,183,225, 39,238,204,248,185,210,240, 83,175,214,
+188,118, 88,210, 61,172,216,155, 75, 78,199, 8,165, 64, 42,197,172, 52,212, 70, 50,183,150,253,197, 46, 50, 66, 81, 87,216,178,
+ 64, 11, 73,236,115,116,106,136,129,166,170, 88,148, 6, 23, 2, 39,235,142,227,179, 13,237,101, 71,215, 13,120,159, 83,241, 12,
+ 18,165, 65, 25,133,109, 10,230,149,193,216,220, 56, 6, 35, 73,149, 70,107, 56,220,105,176,133,102,177, 83, 83,149,134, 40, 21,
+ 74,201, 28,202,151, 18,133,139,148, 61, 36, 33, 24,172, 64, 43,201,106,127,198,114, 89,226,189, 39, 8,193,191,250,149,223,229,
+189,111, 62,226,198, 98,135,245, 39,151,124,247, 15,255,132,239,254,238,159,240,123,255,203, 31,243,248,183, 62,200,233,119, 40,
+ 36, 1, 22,145, 31,254,233, 31,226,222,143,127,158, 94, 25,126,235,215,255, 25, 7,183,143,184,212,138,221, 90, 83,219,108, 13,
+221,169, 44, 39,251, 13,247, 14,231,204,223, 63, 99, 45, 34,135,165,102, 39, 68, 46,158, 93,177, 45, 11,234, 89, 65,219,123,214,
+169,192,124,229,171,148, 70,177,218,171,152,151, 6,163, 20,218,228,207,122,109,196,139, 39,182,117,158,114, 24,144,219,145,153,
+246, 28, 10,201, 13, 93,240,197,162,226,168, 42,121, 80, 46,184,191,115,131, 7,119, 30,242,224,246,125,142,118,110,113,115,182,
+207,222,114,159,157,131, 61,234,162,166,218,205, 81,153, 85, 80,244, 30,134,228,152, 23, 5, 55,155, 37,141, 49,236, 23,146,247,
+ 7, 15, 72, 66,138, 52,140, 28, 25,195,156,196,243, 97,195, 63, 60, 59, 39, 73,248,194,162,164, 22,158,139,147,233,110,238, 70,
+ 16, 2, 33,114, 40, 19, 58,175, 43,179,216, 52,252,121, 32,135, 41,243,218,211, 76,159,111, 61,177, 33,162,255,139, 23,245, 79,
+107,139, 94,168,233,203,188, 54, 45,154, 12,194, 41,243,234,118,183, 48,220,168, 13, 71,166,100, 89, 20,204, 76,137, 4,106,165,
+ 8,164,156, 82,153, 50,169,177,138, 17,225, 6,172,243, 84,222, 81, 41,203, 24, 35, 85, 81, 33,133,164, 48, 10, 37, 36, 18, 65,
+ 74,130, 74,107,164, 0,107, 42,170,229, 14, 66, 90,116,105,145,218, 98,154, 6,101, 76,230,195,199,136, 20, 57,153, 82, 41, 77,
+ 89, 55,104,101, 41,139,146,217,124,151,133,169,185,189, 60, 96,175,106,216,173, 27,238,204,230,216,194,240,112,103, 65,242,129,
+ 79, 4,164,249, 33,209,119,153,143, 30, 35,233,251, 20,116,241,233,194,206,167,132,188,215,156, 20,117,189,158,143, 47, 99, 70,
+175, 29, 60, 90,252,169,190, 64, 76, 95,188,117, 17,167, 37, 46, 38, 26,153,208, 90, 35,164,230,156,140,204,141, 49, 23, 79, 23,
+ 35,117, 89,210, 37,197, 40, 36, 27, 20,133,212,204,164, 96, 43,212,196, 9, 17,211, 10,126, 66,112,203,130, 59,182,224,105,130,
+ 91, 90, 83,107,197, 59, 18,238,170,130,103, 4,142,164,224,189, 16, 88, 41, 77,157, 18,167,198,114, 11,120,230, 51,151, 69, 24,
+201,101,146,252, 84, 85,225,130,231,245, 89,195,190,150, 84, 86,243,165,217,140,189,186,225, 94, 97,121, 88,215,156,166,200, 37,
+146,116,157,228, 70,200, 53, 48, 94,231,128,144,201,173,215,129, 95,218, 66,146, 36,242,249,246, 7, 43,234, 33,228, 78, 75, 76,
+119,246, 52, 37,241,148, 38,119,184, 97,202, 85, 15, 33, 23,255,235,187,210, 56, 78,111,244,204,114,167, 29,178,186,187, 31,243,
+135, 69, 77, 10, 63,171, 94, 78,235,165, 69, 68, 88,104, 77, 39, 97, 97, 45,235,209, 49, 51,154,110, 74, 20,218, 6,143,210,138,
+139,126,186,133,167,188, 14, 15, 62, 76,112, 28,253, 18,126, 35, 68, 22,124, 69, 8, 99,164,148,217,163,222,135, 64, 35, 5,109,
+140, 40,160, 19, 76,111,116,193, 71,193,115,168, 36, 39, 67, 96,144, 2, 23,179, 55, 49, 75,193, 95, 6,138, 76,161,228, 83,145,
+141, 47,188,168,103,189,231, 51,203, 25,125,138, 84, 74,224,147,160, 16, 80, 75,141,115,142, 82,105,180,204,162,182,165, 82, 24,
+ 50,145, 46, 41,145,255, 10, 37,153,135,196, 25,130, 61,173,168,148,230, 56, 74,156,152,254,174,126,200,239,114,165,114,160,139,
+148, 89,128,120,189,194,113,126,210, 61,100,229,100, 88,204,248,202, 23, 31, 50,244,158,174,115, 4,231,240, 19,250, 85,164,196,
+195,215,142,152,213, 5, 59,179, 34,115,117, 2, 72, 45, 9, 33,178, 25, 29,151, 87,158,110, 12,164,152,111, 65,102,250, 62, 37,
+146, 20, 18,129,196,232, 34, 99,200,104, 74,145, 34, 86, 64,149, 50, 38, 22, 31,216,142,158,245, 24, 24, 59,135,115,142, 2,120,
+238, 60,235, 20, 72,222,209,199,192,108, 49,231, 81,187,229,215,255,201, 7, 60,146,129,247,206, 28, 31, 92, 57,134, 51,207,199,
+207, 29, 31, 94,246, 28, 24,184,245,165, 59,252,200,195,215, 41,142, 14,184,163, 3, 63, 84, 43,126, 98, 94,177, 42, 18,181, 16,
+164, 4,203,210,114,179,217,161,158,205, 40, 22, 53, 86,233,204,100,146,249,119, 22, 2, 44,230, 53,135,179, 18, 66,224,252,116,
+195,241,211, 51,182,235, 43,252, 48,226,188, 35, 57,143, 74,137,224, 61,206,193, 48, 38, 98,161,137, 74,210, 43, 65, 42, 13,205,
+178, 64,156,111, 40,254,245, 19,222,189, 88,227, 17, 72,151, 72,218, 80,104,157, 5,133, 36,132,139,200, 36,136,133,202, 41,130,
+217, 9,136,213,138,157,155,115,102,251, 53, 95,254,201,207,241,141, 47,191,198,215,239, 46,217,185,183,199, 87,190,244, 6,255,
+252, 95,109,217, 14, 11,228,113, 64,208, 79, 69, 29, 22,111,214,232,162,228,225,205, 5, 95,255,252, 17, 15,126,244,179, 60,223,
+175,216, 43, 53,149, 75, 84, 74,162,173, 70, 22,146, 7,187, 37,197, 97, 69, 58,168, 89,188,187,229,234,124,160,235, 70,254,232,
+120,160,154, 43,124,136,140,235, 17, 51, 4,118, 18,148,203, 18,229, 19,138, 68, 97, 36,113, 59,146,188, 71, 38,137,116, 1,209,
+142,212,253, 72,108,183,104, 34,183,133,230,205,178,225, 70, 89,112,179,110, 88,205,102,212,203, 5,229,206, 28, 93, 26,172,178,
+ 24, 4,182, 44, 49,179, 10,213,212,232,202,162,171, 2, 85, 20, 88,107, 88,120,205,111, 15,129,207, 53, 13,101,213, 80,107,139,
+ 72,145, 66,120,158, 62,187, 36,125,112,204, 7,255,215,247,216,185,111, 24,199,150,199, 23, 23,188,211,122,126,246, 96,151, 47,
+238, 30,242,234,206,146, 15, 82,160,221,110, 50,222,118,162, 41, 10, 49,185, 69,234, 10,154,102,138, 48,253,148, 86,136, 41, 2,
+238,122, 82, 20,249, 62,154,113,157, 67,254, 44,253, 69, 7,159,235, 33, 71, 22, 57,113,171,106, 96, 94,231, 7,180,214, 44,172,
+ 98,169, 36,123, 11,131, 1, 30, 86, 53,145,108,169, 45,165, 32,166, 56,125,174, 96,244,217,109,161,200,216,106, 43, 4,115,105,
+176, 73, 98,173, 38,133,152, 83, 19,125,100,219,181,108,251, 43, 68,116, 8, 4, 82, 40,164,136, 24, 85, 32, 85, 66, 8,131, 42,
+ 12, 56,151, 49,206, 82,230,144, 24,231, 16, 90,163,109,129, 68, 99,108,133,178, 21,214, 52,216,170, 65,106,141, 45, 42,138,162,
+ 38, 42,195, 65, 61,103, 67, 98, 89, 21,124,243,108, 64,223,219,197,159,158,229,154,108, 20,233, 26, 64, 38,167, 9, 94,235,191,
+ 24,126,220,232, 28,212, 99,228,196, 43,153,238,235, 98,138,245,142,113, 18,253,102, 56, 24, 70,210, 38,184, 97, 45,181, 53, 12,
+ 82,146, 84, 14,185, 84,202, 18,100,110, 70,163, 84,196, 32,152, 87,150,109, 18, 84, 74, 19,164,160, 81, 6, 33, 5,133,146,116,
+241, 90,155, 52, 21,118,165,153, 11,197,171, 69,197, 73,204,191,155,165,178,108, 17,116, 40, 66,146,220,144,138, 36,178, 88,120,
+ 30, 35, 31, 2,165, 41, 9,228, 96, 46,165, 21, 59, 82,114,171, 50,220,211, 37, 91, 4, 51,105,216, 74,197, 74,149, 12, 74, 83,
+ 40,205,205,178,102, 16,130,211, 48,109, 42, 70,247, 82,139,161,204, 20,179, 42, 94,164,222,161, 45, 74, 25,146, 82, 4, 85,254,
+ 37,228,169, 95,175, 76,174,253,155, 77, 61, 21,177,235, 28,239, 79,197,203,169,201,203,221,141, 89, 24, 81,152,233,126, 49, 21,
+160, 41, 44, 5,145,253,206, 47, 86, 11, 50,175,151,157, 53,204,180,230,187,155, 45,243, 66,179, 52,134, 53,153, 94,212,198, 64,
+ 7,116, 78,112, 17, 2, 98, 12,153,169,155, 34, 47,118, 52, 98,250, 30,194,212,125, 43, 5, 62, 32, 75,205,166, 31,153,149,138,
+218, 26,146,247, 44, 11,203,214,123,218,224, 9,192, 54, 38,138,152, 56, 13,137,237, 48, 78, 65, 41,215, 30,252, 63,251, 65,158,
+ 86, 38, 76, 63,127,120,201,163,126, 60, 70,110, 53, 22, 71, 98, 71, 74,118, 76,193,102,220, 98,180,129, 48, 16,164,193, 6, 79,
+ 99,114, 51, 82, 41, 73, 36,161,149, 68, 75,197, 73, 74,236, 33,121, 26, 3, 43,109,176,181,228,233,224,167,201,156, 60,141, 79,
+ 62,234, 23, 98, 69,145,166,135,213, 84,153,125,142,171,187,120,118,204, 87,127,236,135,113, 99, 94,135,199, 4, 33, 36, 54, 93,
+143,235, 3,139,221, 37,187,243, 38, 39, 1, 78,248,211,124, 51,207, 2,184,182,243,116,131,207, 73,142, 49,162, 84,142, 61, 84,
+211, 41, 98,188,158,210, 67,164,154, 4, 40,253,132,142, 44, 82, 78,243, 75,131,231,162, 27,113,221, 64,233, 61,142,200,198, 59,
+182,126,200, 27, 38, 91,112,120,231, 38,207,187,150, 63,126,247,241,116,190, 73, 83,124,108,130, 70, 48,158,120,254,205, 89,207,
+ 31,111,174, 8,203, 72, 89, 85,188,243,241, 83,202,229,140,163, 89,195,254,238, 62, 7,209,115, 11,248, 92,221,176, 55, 91, 98,
+171, 26, 91, 26,202,194, 98, 11,149,213,185, 8,162, 15,220,152, 87, 28, 46, 75, 84, 72,156,157,181,156, 95,158,211,119, 67, 78,
+132,242, 25, 23,156, 98, 32,198,252,190, 12, 41,226,198,196, 0,244, 72, 22,115,203,124,102,184, 58,121,206, 91, 31,124,196,163,
+ 16, 56,187,234,185,120,118,198,187,223, 62, 97,126, 50,240,222,224,217, 45, 53, 58,129, 83,137,160, 97,227, 3, 94,100, 11, 91,
+ 2,124, 18,140, 82, 49,147,146,135,115,195,106, 89,179,191,204,119,208,159,255,107,175,243, 31,253,228, 3,126,242,139,183, 88,
+251,199, 60,126,255, 2,137,227,175,252,215, 63,199,143,191,114,192, 50,228,237, 87,153,224,187, 23, 29,231,143, 79, 57, 18,154,
+198, 72, 76,109, 16, 38, 71, 69, 26,165,184,122,187, 69,188,239, 49, 79, 7,206, 79, 47,232,195, 5,118, 54, 67, 95,110,177,155,
+150,230,170,231, 48, 36,106,163,120,181,150,124,205, 74, 62,155, 34,175,199,192, 43, 41,242,211,179,146,215,140,224,118, 33,185,
+242, 3,201,195,129,210,220, 87,134, 90,231,237,200,162,154, 97,234, 18, 89, 24, 68, 93, 34,173, 65, 40,137, 72, 18, 33,115,244,
+174,104, 42,196,162, 0,171,145, 90, 33,149, 68, 43,197,225,178,225,212, 5,222,108,106,246,139,138, 91,166,228, 63,251,247,126,
+140,159, 53, 21,127,239,234,156,120, 88,243,157,147,142, 63,252,232,146,119,158,174, 73,223, 59,231, 27,111,222,229, 70, 85,211,
+166,200, 31, 5,199,152, 52,244, 30, 49,246,249, 4,165, 64, 20, 5,114, 81,243,250,174,197, 91,155,197,174, 62,188, 12, 18,145,
+ 50,175,129,175,201,142,110,204,214, 55,247,255, 67, 48,167,116,142, 41,109,106,216,153,229,130, 94,217,188, 58, 45, 21, 43,171,
+ 40,132,228,103, 87, 21,135, 2, 94, 45, 11,130,148,200, 24, 41,164,198,165,152,131, 26, 73,196,224,185,232,182,180, 33,144, 82,
+ 30, 52,124, 10,104, 18, 82,105, 84,136,156, 15, 3, 2,193,218,245,140, 33,112, 25, 70, 92,138, 68,239,208, 74, 99,141, 37,165,
+136,110, 26, 68,200, 14, 22, 97, 44, 20, 10,161, 20,201, 59,132,202, 9,139, 66, 8,164, 84,153, 68,109, 43, 32, 33,172, 70, 74,
+ 69, 82,154,164, 20, 90, 25,182, 8, 74, 83,208,138,200,157, 18,196,122,203,113, 31,241,101, 69,242,144, 76, 65,180, 53, 41,138,
+108,115,150, 6,172, 68, 76, 91,222, 63, 79,233,211, 47,239,200,105, 42,224, 70,189,200,137,167,152, 10,237, 20, 20, 99,203,146,
+160, 21, 86,106,154,210, 18,165, 66, 75, 67,105, 52, 87, 99,162, 49,134, 36,179,184, 13, 4,115,109,137,133, 69, 36,155,183, 33,
+ 74, 81, 73, 75, 75,160, 81,146,203,148,240,198,144,194,116,198,156,148, 79,181, 50, 84, 41,112, 46, 4,149, 54, 52, 34,242, 84,
+ 40,246,101, 22,167, 5, 96, 76, 2, 39, 37, 59, 82,242, 28, 8, 41, 32,148, 69, 16,105, 80,220, 22,154, 55,230, 11, 62,244, 35,
+ 75, 85,176,197,177,178, 11, 62,113, 61,171,114,198, 58, 65, 79, 98, 71, 75,122,105, 88, 71,159, 27,153,110,152, 26,163,105,237,
+ 46, 5, 66, 23, 40,109, 40,180,196,203, 44,162,147, 50,253, 37, 8,229,174,189,155,117, 57, 69,135,166, 79,201,237,139, 23,222,
+194,151,164, 32,145,249,239,238,218,214, 96,115, 81, 15,254,165,216, 44, 77,121,226,253,244,239,146,135, 82,179,144,130,211,126,
+224,235,111,126,142,243, 71,143,248, 36, 37,106, 43, 57,117,217, 50,225,250,200,243,216,177, 91, 20,156,140, 46, 79,174, 74,229,
+ 78, 79,126,106,101, 99,213,203,239,187, 80, 68, 23, 40, 76, 14,162,217,211,129,193, 90,206,219,204, 11, 54, 90,178, 29, 61,117,
+130, 51, 36, 55,172,224,217,116,147,207, 96, 23,253, 41,110,190,250, 62,183,180,235,117,146,134,232, 9,253,192, 31,159,110,248,
+252,193, 18,105, 52, 79,182,107,246,170, 26,215,247,152,162, 98, 24,174, 16,186,196,122, 15,182,164,247, 89,201, 95,105,141,247,
+ 57,208,224,116,116,220, 16,154, 45, 9,147,200, 97, 20, 35, 80, 68, 24, 38,223,250,181, 53,240,251, 61,127, 12,153,206, 4, 88,
+ 43, 1,205,213, 69, 32, 78, 83,202,188, 44,233, 59, 79,112,129, 16, 67, 6,172,132, 72,165, 37,227,224, 81, 50,177, 29, 60,155,
+193,177,222, 58,116, 27,217, 93, 20,212, 70,226, 67,194,170,156, 84, 38,175, 51,129, 72,116, 41, 7,168, 68,160, 21,130,128,160,
+209, 57, 77,105,150, 96, 45, 4, 43,165, 24,130,100, 85, 20,108,250, 54,247,129, 68,202,202,226,214, 87,217,214,135, 7, 27,225,
+142,205, 10,119, 18, 44, 53, 92,193,229,123, 29,191,117,252, 1,247,127,102,203, 7, 62,112,218,119, 28, 23,138, 55, 23, 59, 12,
+ 85,195,221,221, 5,183,186, 17, 37, 20,167, 68, 68,128, 69,109, 49, 70,177,141,145,203,148,137,178,115, 33,144, 33,209,141, 30,
+ 70,135,244, 9, 27, 34, 82, 41,164, 16, 83,202, 85, 66,248, 97,202,156,246,244,222,177,137, 3,108,103, 92,218,132,208, 13,255,
+242, 60, 17, 67,164, 54, 6, 33,225,160, 40,217, 21, 35, 95, 60,118,252,195, 63,254, 61,126, 39, 58,110,127,253,135,152,223,152,
+ 99,154,130,164, 53,203,202,210, 21, 5, 99, 74, 68,173, 9, 62,243,248, 69, 20,164,144, 25, 28,131,212,148, 18,202,251, 13,175,
+222,126,149,255,230,103,255,115,206,223, 57,230,119,199,192,177, 10,108,149, 68,196,136, 1,194, 24, 56,253,149,223,231, 79,254,
+231,223,231,183, 80,252,213,255,224, 62,191,248, 95,252, 13,230,159, 57,152,214,152,130,219, 63,126, 3,126,244, 16, 98,228,205,
+206,227,207,122,190,245,127,188,197,193,189, 67,218,222, 79, 28, 1,137,117, 26, 61, 72, 74, 41, 40,102, 51, 68, 61, 67, 76,228,
+200,250,170, 67, 94,108,185, 85,150, 60, 25, 19,115, 37,169,181,162, 68, 48,223,153,163,119,102,136,114,194, 23,199, 4,163,200,
+ 19, 72, 57,137, 52,108, 49,173, 58, 65, 76, 42,100, 17, 37,210, 40, 30,116,154,187,171,125, 60, 9, 71,194,141,240,247,255,241,
+ 31,240,175,135, 62, 7,144, 72,133, 44, 21,194, 42, 36, 37,241, 48,241,203,223,250, 46,255,195,143,126,134,181, 54,108, 66,132,
+189, 5,194, 42,210, 39, 37,162,189, 36,181, 27,192, 19,235,130,103,193,114, 41, 4,204, 42, 4,146,212, 78, 32,154, 97,132,226,
+122, 16,136,223,159, 16,247,255,182,118,215, 21,203,195, 57, 93,146,220,222,169,137, 72, 78, 17,108, 66, 70, 98, 43,153, 27,183,
+175, 47, 53, 7,149, 97,134,193, 5,120,220,118,148,117, 69, 55,108,153,219, 18, 43, 2,155,161,231,180,109,249,216, 15,156,219,
+134,187,141,100,140, 30,145, 52, 79, 66,207,118, 27, 16, 66,178, 50, 37,207,198, 30, 69, 68, 4,143, 8, 3, 39,192,205,114,134,
+211,185,161,211,245, 44,247,245,171, 26,233, 2, 30,137,138,145,224, 71,164, 85, 48, 90, 82,202, 91, 9,193, 20,196,148, 34,178,
+172, 72, 49, 98,154,138, 24,242, 48, 23,181, 99, 87, 72, 68, 81,177, 34,178,213,138,163,242,140, 47,204, 12,143, 29,156, 13, 35,
+ 66,106, 46,124, 96,140,224,194, 4,240,217, 76, 1, 60,166, 32, 13, 49,115, 78, 94, 12,138, 38, 59,163, 82,132,178,196, 54, 5,
+152,130,170,202,110, 33,172,166, 2,182,218, 80,106,141,139,158, 3,157, 73, 17, 86, 91, 74,107,115, 70,133, 82,172,180, 70,107,
+ 3, 8, 10, 41,144, 82, 19,133,162, 34,114, 28, 18, 21,137, 82,229,230, 98, 95, 23, 92, 12, 14, 77, 68,135, 64, 48, 10,229, 50,
+113,242,129,214, 60,119, 35,162, 44,152, 69,176, 9,190, 23, 35,175,105,120, 39, 38,142,164,164, 6,158,197,200,109,224, 17,208,
+ 76,224, 27,162, 71, 34,248, 90, 93,114,219,104,206,188,227, 78, 81,115,236, 28, 11,179,195, 24, 71,110,207, 86, 92, 12, 27,118,
+140, 69,104, 67, 43,224, 78,225,185,223,236,115,188,217, 82,204, 12,111, 61,223, 18,165, 70, 12, 46, 71,217, 18, 40,129, 82, 40,
+ 14,136,160, 18,131,212,127, 9,147,250,167,163, 12,109,153, 63, 0,122,234,180,124,152,248,180, 83, 60,166,184, 78, 12,155, 80,
+176,106,154, 28,211,100,123, 99,154, 52,167,238, 48,139,240,166,197,147, 15,168,210, 50, 83,138,211,205, 26,173, 52, 94, 73,188,
+ 80, 92, 37, 40,147,162,149,176,246,145,171, 97,164, 16, 34,231, 18, 95,159,203,164,192, 22,138, 48, 38, 48, 10, 37,196, 11,135,
+ 4, 70, 17,134,145,206, 37,118,172,164, 78, 57,181,205,167, 72,244,121,157,213, 35,152,201,200, 73,159, 88,143, 97,106, 24,228,
+203,117,126,186, 78, 81,147, 47, 15, 72, 82, 76,234, 73, 61, 53, 0,185, 38,141,201, 51, 55,146, 89,105,114, 67, 33,166,147,247,
+208, 83, 26, 75,240,142, 78, 8,230, 72,198, 24,209, 54,195,254, 21,146, 32, 52, 90, 66, 23, 35,143, 99, 64, 10,205, 19, 38, 11,
+ 70, 63,117,117,147,157,231,229, 42,241,207,110, 87, 66,214, 22,148,134, 31,255, 43, 63, 65,140,208, 94,181,116,109, 75,187,237,
+ 40,138,130,161, 31, 80,210,178,183,191,195,173,221,134,224, 35,150,140, 56,236, 92,164, 29, 3, 97,140, 92,181,142,209, 7, 54,
+206, 83,151, 58,135,183,136, 44,164,243, 41,209,133,124, 23, 43,132, 96, 12,137, 33,229, 48, 28,231, 35, 54, 69,108,231, 24,122,
+ 71, 57, 56, 86, 81, 32, 37, 84, 64,116,129, 24, 50,242,240,193,141, 67,222,251,224, 17,239,157, 92,241,122, 23,121,254, 73,128,
+117,128,165,130,199, 14,250,200, 44,129, 38,113,184, 48,216, 16,168, 14, 42,214,231,125,158,104, 54,103,180,209,241,165, 47,125,
+137, 27,111,188,194,182, 48, 92,110, 91,170, 4,203,101,195,124, 86, 80, 89,195,210, 40,118,203,130,189,121,137,150,146,161,115,
+116,151, 45,169,235, 41, 68,182,134, 25,157,225, 14,122, 90, 20,232,148,208, 50, 82,132,132, 30, 28,202, 57, 70,239,105,235,154,
+205,108, 70, 82, 21,171, 24,216,155, 27, 78,188, 64, 12, 61,103,238,138,127,122,118,142, 25,215,188,251,157, 15,233,223,126, 76,
+251, 27,223,228,157,247, 79,248,253,223,121,143,187, 23,145,117,109,184, 24, 29, 73, 75,180,149,248, 49,135,197, 92, 33,216, 2,
+ 49,102,151,136,239, 28, 91,153,120, 63, 37,250, 82, 19, 77,129,145, 26,143, 96,140,129,113, 12,188,242,230, 29,254,229,123,239,
+ 99, 30,141, 60,250,246, 57,255,244,127,251, 67,126,225,111,254, 8, 98,178,194,166, 33,226,175, 6, 82, 76, 25, 7, 92, 26,110,
+125,227, 30,205,221, 29,246, 63,187, 98,247,181, 93,230, 71, 11,138, 69,133, 80, 18, 93,106,180, 80, 40,163, 81,133, 38, 78, 13,
+243,198,121,198,152,185, 2,135, 83, 20,239,222,124, 78,185, 63, 71, 86, 57,194, 22,159, 72, 99, 36,174, 59,146,115,164,174, 39,
+ 57,135,176, 42,127,212, 11, 77,242,137, 56, 6, 92, 63, 18,188,199, 71,159,243,173, 75,131,170, 11,236,254,146,195,197, 46, 55,
+ 69,197,126,165,113, 54,242,180, 31,137,195, 72,252,206, 25,137,192,189,253,146,191,253,181, 47,243, 57,101,249,213,147, 99,174,
+124,204, 83, 94, 85,228, 38,216, 84,224,122, 68,187,165,247,242,101, 64,134, 49, 8, 49,129, 61, 72, 19,123,252, 58,222,242, 83,
+ 39, 68,173,255,252,132,121,157,139, 81, 90,104,230,168,229,140,207,237,204,120,184,187, 96,111,209, 80, 88,205, 65, 83,240, 60,
+ 66,144,137, 74, 27,172, 12,252,120, 83, 49,183, 42, 67, 84,124,158,194,207,183, 3, 49, 68, 6, 55, 82,144,159, 63,111, 11,120,
+171,218,227,222,124,201,221,253,219, 24,109,179, 64,109, 24, 56,139, 35, 67,244,180,192,198, 15, 92,185,142, 77,116,108, 82, 2,
+107, 89, 43, 65,221, 52,216,162, 64,218,124, 42, 10, 49, 76,196,115, 8,163, 35, 77, 27,197,224,186,252,222, 16,146, 20, 28, 66,
+ 24,146,202,226, 87, 89,214, 89,189,164, 44,113,130,225, 68,107, 9, 68,162, 46,217, 4, 71,176, 22, 93, 85, 72, 43,121, 80, 87,
+152,218,240, 96, 94,113,119, 86,112,123, 81, 49, 8,201,225, 94,205,185,158,234,133,212,249,249,101,235,151, 89,225,218,192,124,
+206,237,221,138,195,186,164,153, 21,172, 26,195,194, 90,118, 11,197,110,101,217,151, 26, 37, 51, 91, 98,161, 11,230, 69, 73, 97,
+ 20, 51, 91, 17, 68,100, 49, 21, 72,133,100,174,114,240,151,151,154, 65, 8, 46, 93,100,174,115, 2,227,220,102,232, 76,235, 70,
+106,149,127,239, 27,239,169,100,118,242, 52, 36, 28,146,221, 20, 25, 66,126,110,245, 66,240,154,214,188, 59,140,220,183, 5,199,
+ 33,178,163, 36,149, 82,156, 35,185, 15,124,148, 2,114, 10, 2,251,233,106, 70, 29, 97, 97, 21,115, 99,240, 66, 80,153, 76,180,
+171, 76, 65, 31, 60, 11, 83,209,138, 68,166,241,123,140,214,184, 40,153,171, 68,151, 12, 43, 3,167, 67,200,246,241, 24,121,189,
+106,216, 81,146, 90, 10,110, 74,201,162, 40,177, 66,253,128, 69, 93, 79,235,165,235, 44,118, 57, 81,129,196,148,223,157,166, 34,
+173, 39,240,252, 11, 68,172,123,121,167, 26,211, 68, 26,242, 83,138, 88,238,170,178,170,217,230, 73, 83,128, 42,203, 44,136, 52,
+ 5, 59, 90, 65, 89,224,164,101,140,137, 70, 91,158,120, 71, 23, 34,193, 22,132,190,207,228,159, 77,159,191, 23, 99,144,133,196,
+162, 40,172,197, 39, 71,140,137,125, 83,208,199,136, 85,138,224, 60,193, 7,118,180, 96, 16,208,133,128,137,130,109,242,148,211,
+ 26,204, 36, 56, 29, 60,173,144,249,254,239,252, 20, 65,153,160,170,242,207, 48, 78,105, 76, 97,122, 16, 88, 59,145,244,166,230,
+ 71,100,111,230,170,177, 36,159,216, 45, 10, 90, 55, 96,101, 86,226,187,233,181, 49, 86, 51,142,142,178, 52,136, 0, 73, 78,164,
+163,152, 94,172, 78,157,146,252,193, 38,135, 3,188, 72,107,187, 22, 38, 94, 43, 39,191,223,237,170, 46,167,219,191,224, 75, 95,
+255, 42,101, 83,208,111,123,218,245, 38, 99, 5,180, 65, 70,193,197,249,134,162,156, 51, 95,212,204, 27,141, 84,130,118, 72,244,
+ 62,208,247, 1, 23,161,247,142,182,119, 88,171,184,123,208, 32,200,247,248,156,214, 22,179,149, 45, 68, 90, 31,232, 67, 64, 8,
+145,197,250, 46,160,131,167,234, 51,107,125, 24, 28,125, 8, 60,139,142, 62, 70, 26, 41, 25, 82, 98, 37, 21,175,220, 62,228,195,
+199, 79,184,250,246, 57,247,172,228,246,107, 37,162, 86,188,118, 88,112,187, 11,252, 59,243,130,207,110,115, 51,240,229,160,216,
+ 93, 74, 52,176,187, 44, 16, 8,246, 2, 92, 68,199, 16,224,141, 55,239,243,218,103,110,113,220, 58,174,250, 1, 91, 21, 20,133,
+166, 41, 52,133, 82,236, 46, 43,234,202, 98,164,160,219, 14,108,215, 45,105, 24, 49, 66, 80, 26,141,145, 18,155, 18, 50,100,171,
+158,140, 9, 69,206,153, 55, 17, 52, 17,213, 57,180,119,136, 33, 97, 48,244,197,140,131,253, 93, 98, 57, 39,154,138, 43, 13,101,
+123,201,237, 30,158,186,142,195,214,113,233, 6, 94,237, 19,207, 66,135,252,246,187, 92,125,247, 9,255,228, 55,254, 57, 79, 30,
+117, 60,122,188,229,195, 62,208, 91,141,208,146, 46,130, 12,158,174,117,124,180, 30,248,206,105,199, 58, 37,164,150,124,102,101,
+241, 66,147,140,230,208, 9,182, 50, 49, 68,197,236, 51,175,242,229,159,126,157,195, 7, 37,238,189, 51,254,207,255,233, 55,249,
+233,191,241, 21,164, 80,184,179,129,177,115, 4, 41, 80, 66,162, 76, 78,181,147, 11,139, 40, 52,178,204,235,240, 24,179,203,196,
+141,121,122, 39,228, 7,125, 18,137, 97, 12, 92, 56,135, 46, 13, 61,176, 50, 57, 4,104, 86, 91,244,117,218,152, 75,132,103, 91,
+134,247,143,241, 31,126,194,248,201, 49,227,232, 16, 49, 32,166,160,161,216,142,248,193,227,186,158,182,235,184,188,220,224,198,
+ 1, 93, 40,164,209, 8,173,161,208,116,222,211, 38,193, 85, 10,196,148, 40, 45,168,186,228,188,214, 68, 45, 56,247,240,209,211,
+ 71,252,183,111,125,151,231,103, 93, 46, 30,243, 69, 86, 52, 47, 26,196,238, 46,236,237,193,124,137,120,126, 9,174,205,197, 68,
+ 76,226,223,186,156,232,141,226,229, 42,254,211, 27,184, 79,255,249,186,200,235, 38,175,150, 15, 14, 88,204,107,126,226,104,151,
+251,243, 57, 55,155,134, 90, 27,118,148,228,196, 7, 90, 1,253, 20,203,176, 39, 36,187, 5,220, 84,185, 9, 47,133,224,184, 31,
+248, 23,207,214, 84, 74,240, 30,145,161,168,248, 94,189,226,247,203, 21,174, 90,240, 87,239,222,227,160,168, 88, 53,187,196,144,
+232, 72, 28,183, 3,155,152,136, 41,224, 98, 96, 27, 3,231,126,196, 9,193, 58, 38,188, 18,216,186,196, 24,203, 40, 35, 42, 9,
+134, 20,137, 50, 15, 55,227, 56, 18,194, 72, 26,122, 82,136,200, 20, 73,110, 64, 40,155, 61,255, 73, 65, 85,101,207,182,148, 36,
+163,242, 57, 74, 11,164, 81,180, 33,209, 7,199, 32, 37, 99, 76,180,201,179, 99, 42,148, 49,220,169, 42,180,206,246,180, 85, 61,
+ 99, 85, 88, 6, 45,169,235,130, 81,104,196,188, 33,212, 85,174, 37,139, 6, 22, 85, 22, 15,214, 5,119, 87, 51,144,154,210, 42,
+ 42, 99,137, 72,246, 75, 75,161, 13, 23, 94,176, 83, 91,108,212, 84, 69,241,162,168,121, 18,141,170,112, 49,167, 74, 90,153,165,
+ 95, 73,106,208, 2,147,160, 46, 10,182,227,136,143, 9,143, 32, 6,135, 16,138, 75, 63,144, 98, 96,144,137,198,185,156,149, 78,
+100, 39, 5,108,206,240,100, 38, 18, 46, 36, 54, 66,112,168, 13,143,253,192,131,178,225,210, 59, 82,138, 44,129,143, 8,184,224,
+ 16, 62,113, 71, 27, 14,165,226,176,214,168,144,144,198,190, 8,146,140,147, 91,170, 52,150,203, 16, 88, 25,195,218,141, 84,182,
+100,240, 30, 41, 18,103,163, 67, 39,176, 82,115, 44, 2,171,178,226,117,163, 9,202, 98,148,226, 64, 9,148,212, 52,133,100, 33,
+220, 15,170,126,159,146,217,132,205,147,185,158,176,175,218,188, 12, 88, 86, 58,123, 62,153,140,253,253,116,131,239, 93,158,212,
+245, 52,237, 42, 61, 77,187,215,201,110,217,248,159, 1, 16,144,148, 66,148,138,186,176,180,218,160,149,194, 40,205,229,116,243,
+174,180,229,185,243,132,190,195,206, 23,140,235,171, 73,192,150,183, 0, 73, 43, 42, 33, 72, 41,210, 40,137, 16, 18, 99, 36,189,
+ 15,153,123,110, 52, 12, 35,235, 40,184, 91,105, 46, 93,160, 86,138,153, 84,156,199,196, 92, 75,206, 98,224,196,101,228, 96, 34,
+195, 83,242, 14,138, 44,240,211,122, 42,188,241, 83,170,127,159,109, 35, 34,253, 41,110,244,105, 23,121, 56,171, 24, 68, 94,255,
+244,221,128, 22, 9,161, 50,227,184,237,123, 10, 99, 81,225,165,176, 47,251,230, 51,135,121,144,138,167,222,113, 25, 36, 65,155,
+220, 16,197,137, 12,120,205, 7, 78,225,251,223,255,164,156,110, 86,112,247,238,125,118,247,119, 25,122, 71,244, 14, 31, 34,221,
+ 48, 98,180, 33,196, 72,221,204,152, 47, 22, 28,173, 26,148,140,249, 53,117,105,186,149, 7,146,136, 8, 37, 9, 99,192, 88,197,
+178, 54,140, 33,101,180,233,148, 19, 45,128,113,186, 1, 54,147,222,192,133,144, 93, 61, 41, 18,134,192,170, 15,120, 23,152,161,
+216, 79,145, 48, 6,130,132, 74, 43, 86,203, 57,223,124,250,148,183, 30, 95,240,137,243,188,211,122, 78, 54,158,167,223,107,121,
+114,191,224,116,166,249, 23, 91, 79,120,189,224, 96, 71, 50,215,154,102,167,228,167,230, 11, 22, 46, 81,140,129, 98, 49,167,243,
+ 45, 85,185,195, 27, 15,111, 48, 70,193,232, 19,125,202,177,177,213,100,127,156,205,107,234,202,162,148,196,199, 68,215,122, 92,
+223,147, 98,156,208,182,145, 20, 34, 41,166,172,128, 23,153,160,167,132,202,182, 62,173, 40,181, 98,111,165,121, 77, 69, 22, 51,
+203,237,189,134,207,220,222, 97, 86, 89, 62,142,134,214,214,236,220,184,133,187,119, 31,127,239, 53, 14,191,242, 25,110,126,254,
+ 13,206, 84,197, 59,103,199, 60, 59, 89,243,215,247,102,252,163,139, 13,225,233, 39, 12, 79, 62, 66,187,200, 86, 20,156, 78, 97,
+ 29,214, 69, 62,217,122,222,189, 26,120, 54, 58, 58, 37,249,252, 94,193,225, 60, 55, 37,167, 81,113, 94, 72,238,161, 56, 51,138,
+155,135, 51,110,223, 95,113,227,243,247, 89,252,252, 23,216,251,236,138, 95,254,239,255, 1,221,255,248, 29, 94,251,165, 55, 17,
+133, 66,207, 44, 74,171, 44, 65,185,214,184,196, 12, 49, 74,189,167, 61,105,249,224,116,195,105, 55, 16, 58,199,213,186, 99,187,
+238,216, 58, 79, 31, 35,163,204,186, 2,124,224, 42, 37,230, 70, 97,138,108,191,137,125, 96,120,116,193,240,225,115,210, 59,223,
+130,211,143, 8,237, 37,177,191, 66, 10,133, 8, 16,186, 14,223, 13,244,219,142,171, 77,203,135,151,151,124,216,109,144,193, 33,
+133,204,205, 65, 97,137, 34, 49,106,197, 38, 6,206, 60,244,147,194,186, 20,145, 7,171, 25, 71,243,130, 7, 51, 67,159, 50,151,
+240,164, 11,121,157,254,252, 12,179,103,219,153, 0, 0, 32, 0, 73, 68, 65, 84, 49, 43, 97,103,143,159, 63, 92,241,239,222,188,
+193,157,198,242,237, 56, 64, 81,231,207, 75, 31,167,103,153,206,195,198,162,225,206,209, 62,159, 59,152,243,113,159,207, 49, 88,
+253, 50, 90, 90,216, 60,180, 44,151,176, 83,103,235,221,238,140,175,222,220, 97,223, 88,142,170,134,156,105, 24,168,116,129, 13,
+129,142,196,137,207, 91,139, 43,159, 83,233,110,218,140,191, 62, 27, 6,254,238,227, 45, 79,202, 25, 79,246, 15, 57,221,185,201,
+191,169,119,121, 82,204, 17,186,228,111,222,187,205,151,202,154, 31,154,205, 57,136, 9,233, 19, 9,129,151, 35,155, 33,208, 19,
+ 8, 34, 39, 87,110, 93,224, 60, 70,174,132,160, 37,159,152,102,133,161, 52,134,181,243,200, 24,241,131,231,249,230,138, 20, 2,
+109,219, 18,131,199,140, 35,113, 26, 46,210,181,232, 87,233,108,113, 20, 57,200,200,123,159,173,107,218, 48, 58,207,152, 18, 27,
+ 53, 97, 70, 68, 94,217,123, 41,217,181,118, 18,170,105,118,170, 25, 93,138, 20,166, 96,223, 22,244, 18,150,179, 37, 74,165,220,
+ 88, 47,102,217,150,166, 52,187,243,134, 59, 85,201,210, 40,202,166,162,214, 6,109, 21,179,162,100, 20, 9, 37, 53,135, 77,157,
+239,225,182,194, 40, 48,214, 96,117, 73,161, 12, 99,154, 68,189, 34,163,176,209, 37, 86, 73,186, 16,209,218,112, 53,120, 74, 35,
+ 16, 73,146, 66,142,220,214, 36,174, 82,164, 77,145,185,243, 24,161,153,145, 61,255,187, 41, 32,146, 71, 7, 79, 18, 96,137,244,
+ 67,203, 24, 34, 71,218,242,214,176,229, 72, 25,106, 41,120,199,121, 98,138,144, 2, 70, 75,110,203,204, 71,185, 95, 22,116, 74,
+ 82, 2, 35,137,153,210,180, 74,178,212, 37,155,228, 89,105, 77, 39, 4, 43,107, 57, 31, 29, 51, 93,240,164,237, 49, 66,210,225,
+ 9, 74,241,229, 89,197,158, 12, 68, 81, 80,106,201, 61, 35,153, 27,131,146,145, 50, 9, 46,199,248, 3, 22,117, 37, 95,168, 15,
+ 51,133,199,194,188,252, 83,118,131, 23, 89,175,144,167, 71, 33,242,250, 87,132,188,110,105,202,252,223,221,148, 34, 22,166,105,
+189, 42, 51,196,134, 41, 98, 78, 68, 82,105,136, 90, 35,140,101, 84,154,115,231,152, 23, 21,206, 88,158, 13, 91,234,178,202,201,
+ 97,125,151, 39,231,179,171, 92,120,165,162, 40, 53, 67,136, 20, 34,145,132,192, 74,232, 92, 96, 33, 37,165,146,116,237, 0, 82,
+ 18, 58,199,211, 49,242,234,220,208, 69,207,241,152,184, 89, 91,158,185, 17,159, 12,107, 4,209,249,252,179,251,144, 27,150, 48,
+137,253,226,132,245, 75,188, 92,205, 15, 33,223, 46, 99,122,169,250, 28,243, 42,207,169,196,145, 53, 92,141, 35,149, 54,108, 6,
+151, 85,241,215,255,111, 8,140,211,170,135, 16,113, 82,230,104, 83,145, 85,153, 35,137, 62, 36,182, 99,151,155, 38, 61, 61,104,
+220,164, 69,232,253, 68,156, 11,127, 6,126, 33,166,252,250,200,219,223,252, 22, 63,245, 11, 63,195,246,226,138, 52, 53, 40,222,
+123, 78, 54, 27, 98,128,189,249,146,229,114,198,206,220, 82,200,124, 90, 24, 93,162, 29, 3,227, 24, 25, 7,207,186, 27, 8, 46,
+210,133,192,162,182, 72, 18,133,146,217,191, 42,193,165, 68,140, 89, 13,111, 98,100, 41, 35,229,148,191, 62,159,236,110,201, 69,
+116, 10, 44, 98,162, 65, 48, 79,129,149, 84, 25,146, 49,171,120,247,248,140,254,108,205,158, 18,172,162, 96,150, 2,103, 49,191,
+201,174, 62,232, 72, 67,100,125,225,121,123, 27, 57,173, 18,106,105, 56,186,125,132,159,215,168, 24,185,217,148,220, 48, 21,242,
+236,130, 81, 23, 52, 82,177,152, 87,116, 33, 16, 66, 36,141, 14, 21,161,170, 11,202, 74,163,181,202, 33, 54, 33, 50,116, 14,239,
+ 60, 49, 4,162,115,140, 46,160, 98, 14, 91, 40,144,152, 36,104,180,166, 50,154, 89, 89, 80,151,134, 29, 35,184,111, 10,246, 18,
+180, 38,195, 33,206, 29, 92,249,132, 85,145,164,225,162,247, 20,109, 96,121, 99,206,193, 43, 11,110,190,121,196, 63,246, 43,254,
+214,195,187, 20,119,143,120,253,141,251, 44,191,250, 5, 62, 60, 89, 83,110,207,217,188,255, 33,227,157,187,204,166,165,205,249,
+232,121,127, 51, 34,198,136,142,145, 89, 89,176,168, 12, 27, 4,239, 14,145, 11, 31, 89,203,196,122,240, 28, 84,138,203, 33,114,
+188, 25, 25,125,228, 11, 63,241, 26,223,248,197, 31,230,141,255,228,115, 96, 18,197, 65,133,174, 52,114, 74,193, 74, 27, 71, 58,
+235, 9,103, 61,227, 89,203,230,233,150,167,167, 27,190,117,185,230,100,112, 60, 31, 71,130,130, 86, 11,156, 72,244, 10,130, 18,
+184,148, 19,249,132, 82, 52,149,101, 32,178, 25, 61, 93,244,172,183, 45,177,219, 32,151, 13, 65,130,223,221, 37,218, 2, 49,145,
+214,198,237,150,243,110,203,201,176,229, 73,244,188,221,173, 57, 9, 35, 49, 70, 26,107,241,147,186,216, 25, 69, 23,225, 34, 37,
+206, 93,224, 50,228,109,153,214,185,209,223, 49,154,185, 54,220,108, 26,238, 26,197,235,171,154,219,251, 75,158, 8,197, 92, 65,
+247,228,148, 95,124,245, 85,238,214, 21,231,179,125,254,228,234, 60, 47, 23, 11, 3,149,134,170, 70,204,106,168, 10,238,172, 22,
+252,200,209, 1,183,119,246,112,181,228,249, 58,193,238, 14,234,230, 33,105,190,128, 41,209,140,163, 61, 40, 43, 22,139, 57,251,
+214,176, 44, 13, 7,186, 32, 76,155,132, 66, 26, 68,138, 8,165,240,209,241,193,232,179,240,110, 8, 28,247,145,141, 72,180, 90,
+241, 39,209,114,182,127,139, 7, 55,110,178,191,123,131,122,182, 75, 40, 26, 70,169, 16, 69,195,207,148,150,219,101, 65,147, 4,
+157,243, 44,181,102,219,181,156, 12, 61,207,186,237,148,254,156, 8, 49, 48,184,145,205,232,120, 22, 28,163,213,244, 66, 82, 89,
+131, 11,142,194,106, 78,182, 27, 58, 63,114,225, 19,103,253, 21,231,109,230,209,111, 93,135, 26,187,140,144,158, 54,111, 72,147,
+167, 93,161,136,211,102, 54,105, 67, 76,137, 81, 66,235, 61, 66, 26,206,156, 35, 73,193,152, 34,181, 41,178,204,204,150, 84, 82,
+211, 73,129, 45, 42,146, 27, 9, 85,205,202, 88,182, 62, 81, 23, 37,187, 69, 69, 8,145,253,170,102, 86, 84,188, 54,179,148,218,
+178,103, 45,179, 20,152,149, 13,115, 83, 51,151,130,170,168,168, 76,137,181,150,202, 20, 24,171,209,194,100,122,162,146, 89, 56,
+175, 20, 74,192, 76, 11,172,212,140,201, 51,164,196, 66, 74,250,148,155,213,130,200,136,199, 8, 73,105, 52,253, 56, 32, 99,164,
+115, 35, 11, 33,168, 98,196, 71,199, 46,145,245, 56, 80, 2,115, 1, 46, 4,116, 74,244,192,211,209,113, 66,228, 32, 69,158, 6,
+143,136, 9, 29, 28, 62, 9, 84, 12,200, 16, 89,145,248,242,172,230,147,118,100,215, 26,164,146,204, 76,201, 57,129, 27,186, 98,
+ 67,100, 71, 91,122, 36,134,136,155,116, 59, 33,229,199,244,198, 7,182, 34,159, 23, 31,106, 73,101, 44,251, 70,112,168,178, 5,
+ 86,147,120,197, 20, 92, 6, 79,173,126, 16, 75,155,214,211, 52, 46,167,123, 72, 9,123, 77, 46,192, 70,102,133,187,152, 10,250,
+181,229, 75, 78,124,242,232,178,207, 96, 53,135, 38, 43, 24, 25,167,152, 81,107,243,218,125,188, 70,154, 78,225,240,246, 26,219,
+167, 25, 34, 12, 50,162,138,134,173,119, 12, 8,132,208,140,227,196,240, 53, 22,174,218,169,128, 14, 80,104,102, 86, 35, 82,162,
+ 81,138,243,214,101,229,168, 75, 44,106,201,133,203,118,188,212,141, 16, 61,169, 48,156,141, 9,165, 37,143, 93,226,204, 37,156,
+212,156,250, 64, 76, 42,111, 24,194, 52,205,244,253, 75, 23,166,156,238,112, 87,221,196, 18, 30,243,125, 45, 77,247,245, 16, 95,
+198,210,138,196,149, 75, 57, 71,103,202,118,175,124,164, 13,121,123, 81, 39,193,243,232,209, 66,231, 84, 43,145,104,125,190,177,
+182, 41,113, 21, 35,165, 86, 12, 62,228,149, 23,233,101, 68,235,181, 29, 68, 76, 14,132, 79, 11,124,226, 53, 14,113,218,146, 4,
+193, 55,254,250, 79,226, 67, 36,248,108, 79, 83, 19, 36,168, 41, 74,148, 18,136, 24, 81,218,162,181, 34, 9, 69, 41, 21, 70,100,
+ 64, 66, 27, 61, 93,239,217,217, 45,168, 43, 69,231, 2, 82,230, 12,245,152, 82,238,231,162, 32,133,132,139, 1,231, 67,254,123,
+166,181,150,138, 80,138,108,237,155, 43, 69,233,227,139,181,148,179, 6,107, 36,118,217,224, 70,135, 62, 61,103, 30, 35, 23,196,
+220, 40,204, 20,213, 66,211, 25,160,150, 72, 45,176, 43,141,147, 2,243,180,227, 96, 79,225,110, 28, 49, 47, 13, 95,190,121,151,
+ 84,214,168, 24, 24, 90,135, 24, 2,139, 85, 67, 16, 10, 81, 26, 6, 31,208, 62, 78, 10,127,137, 86, 18, 17,114,247, 62,250, 72,
+235,242,125, 51,184,140,185,181, 8,102, 66,113, 88,228,169, 99, 71, 27,246,170,146,121, 99,153, 55, 6,157, 34,214,106,170,166,
+ 98,167,201,202, 97, 73,100,159,158,131,246,146,221,227, 19,194,197, 57,188,255, 62, 23,107,199,108, 53, 39,117,158,149,146, 60,
+158,149,140, 71, 13,199, 7,187,220,216,155,241,240, 11, 15,249,238,222, 17,171, 31,249, 28,162,212,184, 4,110,240, 92,180,142,
+ 95,249, 95,255, 62,223,254,239,126,157,253,111,188,193,113,204,211, 81,135,100, 59,169,104, 43, 33,184, 81,105,164, 20, 92,133,
+204, 14, 88, 85,130,177, 29, 56,233, 35,175,172, 74,132, 22,164,148,232,149,228,163,199,107, 62,250,131,199,204,149,160,125,186,
+225,248,233, 37, 39,235,150,239,156, 95,241,157,171, 45,199, 93,196, 37, 69,235, 35,114,166,152, 85, 10,109,228, 68,137,142, 88,
+ 41, 24,149,160, 49, 58, 91,141,165,164, 23,137, 77,136,156, 8,232, 45,108,202,130,171,131, 61, 78, 87, 11,134,217,156,203,186,
+228, 98, 28,121,228,122,190, 53,246,124,100, 13, 31,147,184, 20, 21,149,130,243,162, 36, 26, 67,165, 20,131, 72,140, 66,240, 36,
+ 4,206, 66,228,147, 24,241, 62,177, 14, 14,164,193,136,124,103,221,177, 37,183,181,197,150, 37, 66, 42, 90, 34,179, 89,193,110,
+ 83,112,146, 4, 15, 54,199,252,135,175, 63,228,187, 23,167,252,222, 56, 66,114,136,113, 34, 48, 54, 37, 95,219,217,225,181,121,
+195, 81,179, 32,200,146,203, 36,248,163,164, 9,171,134,175,223,186,195,231,143, 14, 89,206,231, 60, 45, 74, 88,236,228, 38,190,
+176,204,165,162,182,154,185,148, 44, 16, 20, 41,161, 68,222, 24,100,146, 64,226,216,143,124,188,245,136,194,194,106, 23,102, 21,
+207,237,146, 39,178,225,104,117,196,103,119, 15, 89, 53, 11,172,169,176, 69, 69, 93,228, 59,244, 95, 41,243,109,122,150, 96,112,
+ 35, 75,169,112, 67, 79,232,122,158,182,231, 28,187, 22,136,180, 67,207,118,236,249,240,124,203, 39,253, 64,231, 60,107, 63,208,
+ 69, 71, 63,142,212, 34,241,193,243, 99, 46,219, 43,158, 94,156,240,237,231,199, 60,186, 90, 51, 36,199, 89,191,229,241,213, 37,
+142, 68,215, 93, 97, 98,192,232,146, 36, 18, 41, 10,146,206,185,222, 81, 43,162, 18,244,193,211,143,158,160, 53,155, 24,104,133,
+167,243, 30, 33, 21, 26,137, 81, 38,235,105,116,193, 76, 23,104, 37,193,150, 8, 18, 73,106, 86,117,195, 16,179, 21,214, 90,131,
+149,138,157,194,224,131,228,179,117, 69,210, 10, 93, 52, 44,108,153,217,235,198,114, 80,204, 24,165, 36, 10,153,111,224, 82, 33,
+141,196,232, 2, 68,194, 24,133,115, 30, 37, 21, 82, 10, 80,145, 74,104,100,130, 49,230,137,187, 36,210,197,144,197,164, 34, 17,
+189,195, 72, 56, 29, 71, 68,138,196, 20, 8,126,164, 74, 1,231, 71,118,132,192, 50, 18, 93, 96,166, 61,114, 76,140,222,179, 91,
+ 90, 54, 93,135, 35,177, 39, 18, 42,230, 51,163,242, 45,218, 7,180, 16,236, 8,137, 75,158,251,214,228,239, 89, 40,214, 4,110,
+233,146, 45, 1,153, 36,157, 0, 43, 50, 28, 42,248,136, 54,134,222, 7,222, 27, 61,129,136, 16,146, 87, 74,147,183,129, 49,127,
+ 93,157, 18,165,144, 28, 20, 37, 41, 38,124, 12,184, 24,255, 45,213,239, 47, 60,231,211,138,249, 26,184, 31,167,137, 92, 76,106,
+115,169, 94,218,189,226,132,126,189, 46, 44,133,252, 84,148, 94,156,176,140, 83,254,186,155,252,136,106, 42, 76, 46, 76, 80,155,
+172, 6, 38,116,236,175,238, 80,232,154,199, 93, 59,121,179, 37,168, 42,103,188, 67,190,237, 63,217,228,244,154,202,226,122,199,
+253,165,229,116,112,204, 4, 8, 31,120,101, 97, 88,247, 14,237, 18, 51, 11,103,151,227,139,168,211,161, 44,120, 60, 42, 80,146,
+214,251,169, 72, 93,223,210, 84, 86,237,183,221, 20, 65,219,101, 37,255, 48, 64,169,114, 52,173,239,115,168, 72,159,149,251,249,
+136, 18, 94, 42,239,123, 15, 54,241,193,165,228, 11, 59,138,231,219,158,193,104,252,182,229,158,157,115, 76,164, 64, 48, 70,135,
+ 79,224,199, 72,178, 26, 23, 18, 70,101,143,106,240,158,253, 82, 81, 68,201, 91,151, 25,115,187,238,251, 28,143,187,105,243, 93,
+ 16, 50,233,101,216,252,249, 45,139,203, 86,194,245,243, 53,213,178, 65,105,201,217,211,211,140, 75, 4, 62, 58,123,142,210,134,
+102,194,183,174, 7,199,174,206, 54, 17,143, 98, 8, 16,146,160, 82,138,113, 8, 44,102,150,109, 55, 82, 89,197,162, 22, 47, 50,
+217, 67, 8,116, 41,223, 97, 23, 82, 80, 41,201,149, 11,217,169,104, 21, 38, 9,140, 24,169, 10, 3, 11, 65,232, 6,234,168,209,
+ 34, 81, 11,133,217,157,115,239,106,197, 27,186, 38,205, 45,191,109,182,152,194,176,135,226,131,224, 89,223, 46,233, 93,224, 94,
+128,181,130, 78, 9, 86, 11,203, 65, 8, 84, 9,202,197,138,249,182, 99,121,176,143,106, 22, 60, 13, 61,197,241, 25, 39, 66, 32,
+ 23, 53,213,222,156, 27,119,246, 24,182, 61,227,224,184, 90,183,164,193,160,129, 66,107, 94, 89, 45, 72, 81,242, 52, 10,124,234,
+176, 12,212, 81,176, 82, 37, 15, 22, 11,230,117,153, 47, 81,133, 70,206, 11,212,126,141,112,145,174, 29, 57,181,160,241,148, 46,
+ 71, 34,142,155, 45,233,108,195,205, 51,199,113,215,209, 17,185,241,232, 17, 23, 31, 63, 97,185,127,192, 23,159, 28,243,171,139,
+ 57,143,126,248,179,236,237, 6,102, 8,206, 90,199,205, 82,179,237, 60, 90, 11,158,117,158, 15, 79,182,252,246,223,250,187,164,
+113, 11, 88,126,237,191,252, 59,240,230, 14,219,255,234, 63,229, 55, 69,228,222,221,125,190,182, 99,185, 41, 4,171, 2, 46,199,
+196, 70, 9, 22, 90, 82,218,188,133,120,190,241,252,206, 71,151,124,182,201,123,211,143, 46,182,124,240,124,192,104,201,179,231,
+103, 52, 9,168, 4,207, 93,228,121,136,180, 1,122,145, 16,120,218,157, 25,183, 10,112, 2, 10, 23, 80, 90,230, 16, 13, 23,112,
+ 70,241,209, 85,207, 92, 9,172,150,212, 70,179,117,129,103,131, 99,225, 19,214, 7, 80,146,153, 53, 60,171, 13,189, 89,208, 46,
+ 42,186, 39,167, 60, 31, 19, 85, 33,104, 77, 67, 21, 3, 79,229,140,253, 90,242,110,155,120,146, 34, 53, 18,127,177, 97, 99, 13,
+109,136,120,224, 60,105,162,174, 89, 39, 71,140, 5, 59, 74,176,180, 69,118,144,196,128,183, 5,190,149, 68,231, 48, 49,112,171,
+105,248,229,167,103,244,127,244, 7,252,189,243, 1,209, 84, 48, 95,146, 70, 16, 58,191,247,247,173,198,104,141, 23,146,111,246,
+ 61,231, 33,230, 48,214,249, 46, 95,187,123, 23, 33, 5, 71,253,192,219,103, 23,180, 67, 55, 9,131, 35, 46,140,180, 99,228, 44,
+ 70,118,108,102, 93,204,133, 98, 19, 34, 81, 36,174,124,207, 99, 12,172, 10,246,139,154, 93, 99, 48,170, 98, 71, 9,140, 84, 52,
+186,194,106, 67, 81, 53,212, 19, 28, 81, 38,207,129, 20,124,219, 69,238,110,175,184, 37, 11, 36,146,110, 28, 72,131,227,188,221,
+240,241,122, 77, 27, 7, 78,183, 1, 82,224,124,240,140,231,107,100,140,200,182, 39,236, 47, 56, 5, 46, 27,203, 91, 49, 98,156,
+199,120, 48,253,136,105, 59,204,106,201,219, 82, 83, 55, 5,133, 72, 60, 42, 37,159,193,162, 22,145, 33, 4,172,182, 44,118,110,
+ 32, 6, 72,186, 96, 28, 28,222, 57,194,164,111,186,220,174,113, 42,159,222,144,154,146, 72, 80, 2, 41, 18, 30,195, 18,137,176,
+ 6, 53, 58,208,138,133, 15, 60,243, 3, 6,193, 66, 36,156, 51,204, 82, 98, 8,121,176,104, 22, 26,169, 20, 77,240, 36, 99, 48,
+ 34,159, 29, 27, 83, 77, 48,155,200,210,148,108,125,255, 66, 7,132, 75,104,105,240,113,164, 44, 52,206, 37,164, 76, 8, 15, 27,
+ 6, 42, 1, 58, 9, 28,137, 62, 58,144,150, 16, 28, 18,168,148,225,188, 27, 88,166,196,113,112,164,113, 64, 43,129, 9,129, 82,
+ 71, 66, 76, 52, 62,208,165,196, 14, 5,107, 61,178,227, 4,155,171, 11, 10,109,177, 41,111,121,181, 72, 84,228, 36, 55, 77, 22,
+ 74,175,240,236,136, 18, 81, 86, 28, 36,184,240,158,215,237,156,247, 92,207, 74,151,108, 36,236, 11,193, 59, 67, 98, 17, 61, 66,
+ 73,234, 4,143,198,192,158,182, 60, 1,132,239, 57,176,138, 62, 56,140,148, 92,245, 91,230, 82, 18, 99, 96,219,245, 8, 41,120,
+ 67,106, 30,199,241,223, 98, 82,215,250,165,239,156, 9,239, 87, 78,247,114, 59, 17,151,122,151, 39, 65,239, 94, 78,168, 76,114,
+ 97, 55,249, 64, 69,122,233,255,108, 39, 11, 86,156,214,198,101,145, 85,170, 90,229,253,195, 68,174,194,170, 60,133,207,114,128,
+198,195,155, 15,120,124,117, 78,136, 1,188, 67, 74, 75, 66, 65,187,201, 19,115, 55,192, 48, 32,165, 98, 81, 21,216,148, 81,168,
+181, 21,236,105, 56,235, 71,102, 74,130, 27,233,187,172,220, 37,133,236, 37,213, 58,223,207, 84,190, 99,167, 52,169,247,205, 36,
+ 22,136,211,244,173, 85, 62, 19, 88, 13,114,130,204,139, 73, 92, 99,204,116,110,152,176,185,195,116,175,187,158,214,123,143, 19,
+137,199,157, 71,151,138,183, 62, 89, 83, 87,138, 15, 47, 90,180,209,104, 41, 8, 42, 11, 82, 70, 37,208, 66,224, 66, 38,185, 21,
+ 82,225,137,204, 80, 12,209,211, 88, 69, 67, 98, 75,206, 59,199,231,108,230,204,225, 23,147,160, 47,190,180,223,201,233,116, 18,
+ 4, 71,175, 28,113,112,235,144,118,155, 69, 50,193, 71,182,125,139, 17,154,131,213, 33,123, 7, 75,102, 77, 65,112,137,194,106,
+ 84,132,166,212,200, 49,112, 57, 6,124, 74,180, 67,192,185, 72, 83,107,148, 20,104, 57,173,223, 17,120,242,135, 53,166,148,131,
+247,144, 68, 1,137,188,174,213, 58, 79,235,248,152,161, 62,133,194,214, 6, 45, 53,101,169,249,191, 89,123,179, 88,203,210,243,
+ 60,239,249,167, 53,238,233, 76,117,106,174,174,174,234,110,246, 64,145, 77,138,148, 40, 91,178,132,152, 6, 18,197, 73, 46, 20,
+ 7, 65, 4,196,185, 73,128, 32,185, 8, 2,248, 46,176,238,156, 27, 35,200,125,144, 92, 4,112,132, 12,130,108, 40,138,172, 33,
+214, 16, 73,164, 73, 90, 36,155,221,173,110,178,187,171,107, 62,243,217,227, 26,254, 41, 23,255, 58, 85, 69,137, 18, 20,197,167,
+177,113, 80, 5,116,157,179,246, 94,123,127,255,247,125,239,251,188,178, 54,204,109, 36, 28, 28,227,181, 96,145, 75,124,109,216,
+100, 18, 95, 72, 30, 73,207,246, 40,103,119,167,100, 57,206, 24, 95,158,178,181, 61,229,114, 85,115,185,183,188, 81,111, 51, 13,
+145, 93, 93, 48,186,177, 13,166, 96,220,246,100,173, 99, 45, 5,179,237,154,171,151,183, 40, 75,147, 0, 99, 77, 75, 92,246,200,
+206, 83, 74, 69,169, 36, 69,132,222,167,209,158, 16,138, 76, 24,246, 71, 35, 46,239, 77,153,108,215,148,163,156, 98, 82,144,207,
+ 10,178,210, 80, 76, 43,138,113, 73, 17, 34,198, 58,100,239, 56, 95,172,217, 57,106, 48, 46,242,193,193, 33,242,124, 69,238, 5,
+166, 52, 92, 11,240,242,227, 5,223,113,199,184,137, 96,218, 45,184,255,219,127,128,207,182, 89, 29,172,216, 44, 26,214,235,150,
+223,254, 95,126,149,143,254,209,239,113,239,215,191,145, 52, 13, 72, 2, 38,233, 60,142, 27, 62,250,103,127, 72,248,167, 95,167,
+236, 63,229,214,157,171,124,121,183,100, 87,107,254,120,229, 56,232, 2,158,200,165, 82,209,161, 56,149,138,199, 66,114,127, 99,
+121,180,238, 89, 53, 30,109, 36, 94, 66, 44, 32,138, 72, 75,160, 35,224,100,128,152,196,139,215,239,236,145, 95,153,114,164,115,
+ 62, 61,119,252,225,183, 62,230,206,254,132,222, 71,158, 90, 79,171, 69, 74,226,206, 4,247,159,204,105, 93, 74, 88,180,189,101,
+221, 89, 66,111, 25, 75, 65,166, 4,185,144,244,121,154,250,185,178, 32,232, 12,171, 51, 84,157, 97,235,146,179,141,101,113,190,
+100,213,119,228, 85,198,131,243,158, 77, 20,172, 93,135, 15,145,163, 69,135,146,146,181,210, 56,149,225,163,100,119, 54,166,145,
+130,105, 94,208, 33, 57,246, 17, 43, 5, 79,150, 45, 71,189,101,172, 20, 71, 82,241,222, 89,139,232,186,228,145,207, 52,140,170,
+ 4, 95, 57, 93,115,165,144,236, 85, 5, 7,155,134,119, 87,107,172,237, 17, 82,241, 70, 53,226,181,233, 4, 41, 37, 66, 73, 86,
+173,229, 64, 12,217, 7, 62, 21, 84, 21,159,239,202,107, 37,105,133,224, 8,136, 66, 50, 42, 74,246,234,154,207, 86, 19,238, 78,
+119,208, 67,224,138, 70, 82, 12,194,178, 92,105,156, 15, 8, 33,200,134,157,117,227, 61, 15, 87, 11, 94,145, 1,215,245,220, 8,
+145,213, 98,206,124,115,198,251, 71, 79,248, 96,126,206,199, 39, 27,206,155,142,229,233, 28,123,118, 68,180, 29, 97,179, 33,246,
+ 45, 97,177, 76,143,249,138,112,190,196, 47,214,248,243, 57,174,239,241,222,225, 86,107,220,217, 25,253,241, 9,253, 98,197,241,
+162,225, 97, 72, 57, 26, 45,129,237,188,164, 35,164,172,141,224, 17, 70,211,122, 79, 23, 28,115,239,105,133,224,164,107, 88,217,
+ 30, 97, 20,189, 28, 38,124,153, 65,101, 25,121,102,104,165,160, 42, 43,180,148,172,165,167, 50, 25, 27,239,208, 89,137, 84, 34,
+ 33, 94,181,166,202, 4,179,172,196,135,128,202,138,164, 90,143,142,186, 26, 35, 98,192, 6,207,118, 85, 99,173, 69, 68, 65,150,
+231,244, 46, 29, 44, 83,109, 25, 36, 70, 18, 92,231, 80,120,140,136,180,193,211, 58, 75, 22, 61,189, 16,104,103, 19, 63,159,136,
+ 12,142,198, 53, 52,182, 39,118,107,108, 84,212,222,146, 73, 71, 17, 2, 51,151, 92, 90,151,132, 96,227, 44,179, 0, 10, 79,244,
+129,245,186, 37, 23,129,232,146, 56,249, 10,130, 55,180,227, 21,165,248,146,209, 92,215,134, 27, 69, 70, 21, 34, 91, 38,231,178,
+150,156,217,150,151,202, 17,139,104,217, 86,134,143,219,158,155,133,226, 60, 70, 74, 4,143, 86, 61,133, 84,124, 18, 28, 69,140,
+ 92, 54, 6, 31, 4,187, 90, 38,212,109, 12,105, 13, 32, 82,131,183, 29, 3, 62, 6,148,253,235, 20,117, 53,136,182,226, 11, 68,
+223,160,158, 71, 94,118,131, 23,189, 27,186,235,206,191,128,140, 29,138, 77, 28,188, 52,222,167,248,193,139,241,240, 5,125, 77,
+229, 41,147, 92, 13,130,187,186, 30, 22, 12, 42, 1, 7, 68,242, 63,126,218,181,216,126,232,204,163, 32,186,254, 57,201,237,240,
+ 60, 33,103,125,131, 44, 10,148,137,216,206,177,167, 21, 49,120,250, 33,138,180, 68, 17,131,163,233,124, 26,223, 55,131, 29, 76,
+233,225, 80, 49, 88,195,244, 16, 29,171,196,112, 24, 25,104,121, 82, 36, 80,142,237,210, 65, 38,134,164, 13, 8,126,128,234, 12,
+120, 63, 63, 8, 78, 46,216,235, 74,190, 16,254, 18, 88, 46, 82, 80,203,201,241,138,185,143, 60, 92,118,204,170, 12,231,122,148,
+ 84, 8, 33, 89,117,150, 74,167,209,247,210, 59, 42, 33, 89, 13,182, 47, 25,160, 11,145,157, 44, 41, 81,173,190, 56, 68,168,244,
+179,109, 24,216,240,242, 57,138, 49,166,157,244,124, 60,225,237,215,239,178,217,180, 4,231,240, 49,146, 9,195, 89,179,100, 90,
+ 86,124,241,205, 91, 52,157,199,185,152,246,223, 50, 37,177, 17, 2,110,128,205,152, 76,226, 58, 71,219,121, 84, 62,184, 23,124,
+196, 1,173, 13, 52,222, 33, 7, 38,188, 38, 82, 75, 65,227, 3, 75, 31,169,135,221,144, 18,176, 81, 96, 50,133,206, 52, 54,147,
+ 8,173,200, 50, 77, 63, 46,121,122,255,152,147,186, 32,142,199,156,103,138,121, 38,209,185,161, 45, 12,182, 46,240,101, 78, 99,
+ 20,125,136,156,183, 45,139,224,120,208, 52, 44,124,203,229,122, 11,218,134, 88, 87,228,187, 35,124,227,185,228, 35, 93,174,232,
+ 37,228,117, 78, 89,230,104,163,144, 33, 64,107, 81,214,161,122,143,110, 92, 58,128,173, 45,110, 72,120,141,218,144, 85, 57, 59,
+147,146,108,156,161, 42,157,118,178, 90, 18, 43,133, 50, 18,165,210,107,165, 4, 72,165,168, 66, 36, 39, 18, 58,203,172,177,172,
+207,206,185,172, 11, 20,145, 85,111,137,202,113, 52,171,120,237, 23,254, 22,111,254,212, 91,188,252,133, 55, 57,222,116, 60,249,
+230,215, 56,248,232, 67,222,251, 23,223,166,253,253, 57, 33, 13,228,210,154, 34, 33, 65,136, 67, 60,208,197,247,213,247,142,121,
+247,159,124,139, 3,113, 66,244,138,239,127,248,132,211, 63,253,148,187,183, 47, 35, 28,172,165,160,137,176,238,147, 45, 78, 75,
+104, 91,203,253,195, 5, 34, 70,158,156,110,168, 8,116, 77,199,166,117, 68, 37,240, 34,114,181,214,252,189, 47,222,224,149,137,
+225,105, 27,248, 80,107, 30,223,185,204,111,170,130,223, 89, 5,190,254,233,146, 91, 59, 53, 50,120,172,130,211,165,103,165, 37,
+ 78, 68,214,173,195,123,143, 36, 98,100,122,109,173, 20,116, 33,160,165,224,112,227, 88,123, 88, 72,201, 34, 51, 44,182,198, 28,
+ 8,201, 83, 12, 70, 26,158,108, 90,106, 33,217,116, 45, 58,203,217, 52, 3,225, 47, 4, 50, 34,219,165,228,218,172, 38,100, 25,
+178, 40,113, 90, 97,165,102,174,224, 97, 19, 8, 66,177, 17,145,163,182,229,149,170,224,104,112,146,252,196, 36,231,118,145,115,
+ 67,102, 60, 52, 57,162,206,185,191,106,152,202, 2,111, 45, 55, 98,203,184,239,184,148,103,160, 52, 55,243, 28, 73,164,105, 59,
+222,221,108, 88,134,128,176, 61,149, 20,104, 15, 27, 41,184,162, 20,103, 66, 17, 85,198,125, 23,168,114,195, 38, 40,138,220, 48,
+ 42, 38,232,188, 66, 75, 69,192,208,250, 64,102, 12, 2,129,247, 22,109, 36, 74, 39, 87,197,166,105,112,214,113,238, 26,150,221,
+154,247,238,191,199, 72, 10, 30,158, 61,229,227,147,199,124,114,124,204,119, 78,206,248,224, 96, 65,152,207,137,237,130,184,216,
+164, 60,243, 1,249, 28, 95, 0,177,198, 16,240, 65, 18, 36,120, 41, 9, 3,174,195, 7,247,156, 46,237, 61,174,235,105,219,200,
+ 19,219, 17, 8,104,145, 88, 25,203,190,193,232,156,181,235, 9, 82,208, 11,193,113,179,162, 23,145,179,222,177,192,211,116,233,
+231,134,204, 36,239,184, 41,232,181,162,136, 18,165, 37, 94, 72,140,144,180, 50,129, 90,156,181,136,152,116, 79,224,201,117,142,
+ 17, 9,239,108,132, 78,201,153, 89, 65,173, 19, 61, 51, 55, 26,163,100, 90,193, 41,205,102,211,162,181, 26, 0,158,105, 84, 77,
+244,180,109, 79,244,145,133,237, 81, 62,209, 54,181,119, 56, 33,145,125,135, 14, 1, 17, 3,181, 8,244, 93,159,250, 79,191,193,
+218, 64,230, 27,172,181,108, 11,216,142, 9,249, 61,139,130, 16, 2,187, 82,224,189,103, 18,160, 20,129, 76,120, 88, 54,188, 94,
+ 74,222, 86,146,187, 69,198,142, 52, 92, 49,154,155, 89,197,101,147,244, 60, 19,101,200, 66, 18,240,109,103, 57,103,222, 50,145,
+154, 3,219,242,242,168,230,163,174,227, 90,158,241,104,217, 16,148,228, 3,107, 25,133,192, 90, 10, 94, 45, 52, 70, 5, 86, 33,
+176,133,160,150,146, 86,192, 76, 72,174,102, 5, 77, 76,248,142, 59,229,232,175, 81,212,165,252, 33,114,239,179,204, 91,173,135,
+157,114, 42,248,183, 62,255, 50,243,163,249, 15, 51,224,187, 48, 20,195,129,231, 46,101,242,118,196,161, 8,184, 97,223, 91, 22,
+ 73, 49, 94, 94,140,224,229, 32,198, 19,168, 60, 79,172,117,161,136,182, 75, 16,123,103, 81, 66, 18, 69, 76,123,236,174, 75,249,
+200,171, 21,224,137, 22, 46,103,146,177,150,180, 81, 16,188,227,192,121,118,178,140, 96, 83,190,239,225,106,243, 60,205, 76,136,
+ 84, 0,171,122,208, 5,196,231, 96,156, 48,116,192, 65, 12, 34, 57,255, 92, 52,199,160,182, 15, 46,173, 36, 20, 41, 11, 93, 12,
+215,135,228,153, 41,253,162, 99,183, 3, 90,246, 34, 59, 55,244,176, 89, 66,231,120,108, 35, 91,101,134, 18,130, 34, 10, 70, 42,
+237,169, 69,239,201,133,192,185,200, 88, 43,150,195, 13,166,149, 36,120, 40,117,196, 68,193,218, 15,188,247, 56,188, 94, 34,197,
+159,166, 53, 73,120, 22, 5,185,190,255,128, 87, 63,247, 38,121,150,209,173, 26,178, 44,231,115,159,125,147, 7, 15, 30, 18, 93,
+224,230,173, 27, 44, 22, 29,101,149, 2, 97,178, 76,147,105,201, 38,122,162, 75, 66, 26, 41, 35,174, 75, 59, 91, 31, 82,216, 75,
+ 80,113, 24,141,201, 20,150, 35, 21,106, 80, 72,119, 33, 97,111, 51, 41,216, 49, 9,113, 42,226, 16,101,172, 36, 85,166, 89,155,
+ 36, 12, 68, 75,186, 81,206,159,220, 63,230,211,205,130, 42, 6,214,125, 67, 71,160,141,129, 40, 37,107, 17, 89, 74,146,120, 69,
+ 10,142,133,103,225, 98,194, 84,146, 34, 46,139,178,194, 4, 65,233, 33, 76, 75, 70, 42,199, 40, 73, 27, 3,217,186,199,108, 85,
+137,100, 38, 37, 2,208,157,199,204, 91,212,188, 37,156,174,209,157,101, 76,100, 44, 52,133,214,120,173,113, 70, 34, 50,133, 53,
+ 10,151,168, 52,196,182, 71,103, 10, 97, 20, 81, 74,132, 82, 72, 69, 42,244,101, 70, 81,231, 20, 69,193,254,107, 55,152, 92,219,
+ 98,182,232,217,139,146,251, 49, 18,191,252, 58,175,189,121, 21, 45, 20,162, 42,153, 92,153,146,141,183, 17, 93,228,225,241, 33,
+155,143,151, 4, 28, 1,193,115,170,182,127,246, 16, 67,137, 7,137, 64,242,232, 27, 15,249,250, 63,253, 54,159,252,230,119,121,
+252,123,223,227, 91,239,191,207,207,126,245,109, 92,227,152,175, 59,214, 79,151,228, 71, 11,126,229,127,250,101, 14,191,245, 14,
+155,119,223, 39,223,157,177, 62, 95, 50, 63,111, 6,203,141,192, 9,193,153,202,169,162,229,245,189, 49, 95, 59, 89,243, 63, 31,
+ 54,124, 48,132, 13,233, 76,163,198, 57,241,214, 54,247, 39, 37,183,125, 96,177,232,104,242,140,243, 85,199, 92,102,136,214, 99,
+178, 68,137,195, 59, 74,163,105,136, 8, 4,199, 93,143, 53,112,224, 20,231,117,205,122, 84,242, 56, 51,220, 31,229, 28,103, 5,
+227, 73,206,104, 58,225, 32,192,178,237,176,243,115, 86, 46, 80, 25, 69,239, 58, 10,229,168,132,166, 54,134, 66, 27,162,150,220,
+219, 4, 30, 58,135,146, 57,167, 38,103,187,172,216,213,169, 27, 26,153, 12,175, 4,119,243,146,253,178, 64,106,205, 86,145, 51,
+ 18,201, 42,187, 95,143,201,180,230,149,113,205, 36, 47,217, 31,215,148,218, 80,200, 12, 27,225,254,106,193, 19,107, 89,132,200,
+202,123,118,242, 18, 75, 96,173, 32, 70,137,149, 10,175, 52,103, 82,115, 42, 53,175,151, 5,159,203, 51,238,148, 53, 51, 97,112,
+ 82, 34,148,193,105, 69, 8,145,198,167,166,192,123, 75, 8, 61,193,167, 81,190,239, 58, 86,221,146,229,234,156,147,239,191,203,
+103,174, 94,226,143, 62,125,204, 59,143,142,120,239,116,201,123, 7,199, 28,159,157, 67,183, 33, 10, 71,108, 59, 34, 63,204, 91,
+127, 33, 82,235,217,232, 58,132,231,143, 11,183,250,197, 93,116, 81,220,189,239, 89,197,192,131,181, 35, 55,130,214, 91,206,109,
+ 75,144,130,149,183, 68, 36,143, 54,115,172, 16, 60,106,214,172,162, 39, 6,112, 66, 16, 68, 98, 58, 40,147, 17, 68, 64, 75,133,
+200, 52,113, 72,124, 68,107, 86, 33, 32,135, 96, 43,149,105,108,235, 24,103, 57,153, 76,204,248,220,100, 56,111, 41,139,156,145,
+ 49,195, 86, 54, 75,107,172, 16,200,180, 65,105,141, 50,154, 24, 61,182, 79,133, 89,196, 64,183,238, 16, 17,214,253, 6, 25, 61,
+ 39,157, 69,135,148,230,185, 27,147,144,176, 22, 2, 17, 29,222, 90, 84,112,132, 24, 41,125, 96, 26, 60,165, 20, 76,130,167, 6,
+ 74,169,152,136, 84,231,106, 18,226,122, 23, 40, 17,204,136,220,201, 50,238,102,154,109,101,216, 42, 71,236,154,154,151, 70, 83,
+246,138, 41, 38,194,180, 26,145, 73,137,150,130,113,145, 81, 41, 67,239, 3, 69, 76,147,213,153,202, 56,114, 61, 91,218,176,116,
+142,243, 62,242,129,237, 56,141,240, 52, 6,198, 49, 48, 27,228,104,183,170,130, 16, 5, 19,149,177,165, 12, 59,166,162, 9,158,
+207, 84, 51,118,140, 70,248,191,142,250,253,153,208,234,197,162, 62,180, 47,106,176,176, 33,152, 63, 57, 75,133,171,117, 47,140,
+156,197, 11,123,119, 1,190, 75,194, 20, 25,147,120,142, 0,186, 74, 49,114, 91,227, 84,248, 7,131, 62, 49,133,195,199,182,135,
+178,130, 96,169,162, 99, 52,100,165, 79, 99,160,233, 91, 38, 70,209,217, 62, 9,216, 66, 72, 59,245,144,212,141, 74, 42, 66,232,
+ 17, 81, 50, 35,208,216,164, 82, 60,237, 44,222,250,148,225,173, 92, 74,251, 42,203,103, 96,154,164, 68, 31,186,110, 35,146,138,
+127,224,185, 99,195,115, 2, 94, 28, 10,189, 24,162,240,218,102, 32,202, 57,112,195,168,222, 69, 40,205, 51,150,123, 18,171,197,
+231,246, 56, 63, 48,166,189,133,188,100, 82, 42,148, 79, 52,182, 82, 41,162,183, 88, 33, 49, 33,177,212, 55,206,179,157,105,172,
+ 76, 41, 94, 94, 10,102, 81, 80, 69,207,147,139, 72, 82, 23,210, 59,187,247,131,203, 64,254, 57,112, 70,190, 61,227,230,237,155,
+116, 93, 67,211,108, 56, 62, 60,167,183, 45,222, 11, 66,200,113,125, 96, 52, 41,201, 11, 77, 46, 37, 82,165, 53,132, 37, 34, 66,
+ 26, 5,249, 16,159,197,185, 71, 98, 18,217, 9,153, 68,249, 17, 42,117,161,221,139, 76, 85,154,168,184,232,137, 81,146,105,153,
+242,198,133, 72, 97, 20, 46, 89,115,188, 73, 40,211, 62, 83, 28, 29,173,152, 68,205,164,168,104,148,164, 42, 38,136,170,100, 60,
+154,146,107, 77,102, 12, 70,128, 42, 50, 10,169,240, 90, 64,150, 83,153,156, 75, 89,129,247,158,124, 92, 33, 71, 5,178, 80, 84,
+251, 35, 74,169, 48, 33, 82,180,142, 48,201, 16, 90,161, 98,130,238, 25,231,201, 26,139, 89, 89,100,215, 36,245,171,212,140,132,
+ 98, 90, 24,178, 92,177,214,146, 53, 73, 28, 22, 50,133, 68,144,109, 28,213,253,115,196, 36,195,103, 26,151, 15,200,211,224, 49,
+157,199, 28,204, 81, 43, 11,215,167,232, 89, 77,121,125,135,124,107,204,150,211, 92,113,145,122,209,144, 61, 90,146,159,244,248,
+ 15, 14, 56,179, 61,227, 75, 19,222,250,220, 43,236,255,141,215,248, 65,213,225,254,244,152, 56,252, 39, 0,161,114, 68,108,249,
+ 7,255,233, 23,248,227,119, 22, 8,223, 13, 61,187, 76,145,184, 72, 4, 26, 30,117,252,237,255,224, 75,108,154,150,205,241,138,
+ 98, 57, 71,111,230,124,229,141,187,220,249,177, 59,212,183,111,210, 89,135, 11,130,102,216,223,197, 62,105, 47,100,111,249,181,
+ 63,250, 38,149,174,248, 71,135,158,249,178,195, 91,139,111, 45,221,186,167, 93,117, 8,155, 50,193,139, 42,231,111,142, 4, 71,
+ 94,112,214,123,150,235, 22,163, 36,163, 82,226,101,196, 74,197, 82,128,244,145,141,117,156,119,142, 69, 11,199, 85,198, 81,102,
+120,164, 36, 79,144, 92, 53,138,191, 49,202,184,189, 83, 51,173,115,150, 94,240, 3, 97, 56, 90,174, 97, 53,231,160,153,115, 41,
+215, 20, 17,148,201,208, 70, 17, 98, 96, 29, 35,153,144,156,249,200,227,229,156,187,121,150,150, 20,166,224,238,168, 96, 17, 18,
+244,100,171, 44,217,173, 10, 74, 83,208, 42, 77,235, 83,225,216, 42, 74,118,137,212, 89,134,150, 26,149,143, 82, 98,154,209, 28,
+117, 14,173, 51, 22, 49, 34, 72, 22, 84, 27, 3, 27,161,137, 3, 14,121,172, 52, 39, 66,210,168,130, 45, 37,121, 43,147,108,153,
+130, 66, 24,118, 76, 70, 46,147,122,255,160,237, 88,218, 14,223,247,156,247, 13, 27,219,114,214, 52,116,109,203,106,181,228,225,
+201, 99,142, 78,142,120,116,240, 20, 58,199,225, 39,143,225,201, 99,226,242,156,216,109, 82, 19, 19, 2, 81,133,225,192, 30, 94,
+ 40,222,127,182,152,243,194,116,231,135,163, 84, 46, 30, 23, 41,168,238,226, 97, 19,186,249,163,243,142,127,117, 62, 71, 2,173,
+183, 28,186, 13, 79,109,203,169,183, 44,188,229,180,111,232,189,163,245,150, 60, 43,113, 3,231,189,146,233, 64, 56, 49,134, 77,
+215,165,224, 24, 2, 77,140, 72, 4, 46, 6,164, 46,112,174, 35,203,179,100, 15,149,146, 66, 43,172,143,148, 69,158, 4,134, 17,
+170, 44, 27,166,141,138, 92, 25,162,212, 4, 36,173, 13, 8, 23,105,250,134,205,166,165,239, 45, 49,244,201,135,142, 39,122,143,
+119,150,169,209,136, 16, 88,251,142, 82, 72, 68,240,248,190, 69,138, 64,231, 58,180, 15, 72,231,200,134, 98, 45, 66,100, 91,164,
+ 73,107, 37,161,148,146,145,148,204, 98,138,161,222,146,134,155,245,132,153,206,153, 20, 21, 91,227, 41, 35,149,177, 55,217, 99,
+ 55, 31, 49, 85, 25, 87,183, 46,145,133,136, 70, 50, 45, 42,108, 76,113,211, 82, 72, 78,241,136, 8, 31,119, 27,154, 24, 89, 17,
+ 88, 71,193,119, 54, 27,130,208, 60,244, 61, 45,130,147, 16, 24, 33,120,171,206,217, 56,203, 75,101, 73, 64,177,109, 10,142,250,
+134, 55, 71,187,116,161,227,122,189,195,189,118,245,215, 84,191,251, 33, 17,236, 17, 13,114,221, 0, 0, 32, 0, 73, 68, 65, 84,
+226, 54,113, 46, 41,219,141,121, 62,166,190, 40, 38,249, 16, 69,122,225,235,116,225, 5,181,248, 32,132,243,118,160, 3,248, 68,
+122, 26, 15,100, 33, 53,208,231, 46,166, 3, 97, 56, 12, 72, 65, 78, 10, 57,176, 93,203,158,214, 28,246,237, 16, 81, 60,116,166,
+171, 53,204, 87,208, 89, 38,117,218,255,120,160,145,130,104, 61, 74, 73,186, 62, 36,142,114,136,116,157, 69,170,152,210,221,130,
+ 29,124,170,102,136,105,189, 32,198,169,139, 25, 86, 42,136, 66, 12,227,250,161, 19,238,251,116,141,189, 75,187,236, 48, 76, 38,
+ 98, 76,235, 9,157, 63,139, 9,140,109,178,192,141,148,162,247, 33, 9,251,172,135,104,193,201,180, 20, 90, 45, 56, 93, 90, 84,
+ 93, 32, 69,226,141, 71, 9, 19, 20, 14,143,139,158, 32, 34, 42,200, 36,110, 19,130, 60,192,177,237,113, 90,113, 89,195, 97,231,
+159,171,244,197,160,107,136,195, 26,228, 5,104,253,163, 15, 63,226,179, 63,249,227, 9, 9,233, 3,173,239,137, 65,144,235,140,
+157,221, 61,242, 34,167, 42, 50,198,101, 78,110, 20, 34,130, 80, 2, 61,252,123, 33, 68,178, 66,167,216, 85, 23,136,131,100,162,
+115, 46, 69,125,170,212, 63,154,139,179,161,136,233,252, 18, 35, 35, 45, 40, 5,100, 74, 83,168,228,245,246,131,240, 74, 12,216,
+ 80,149, 25, 22, 89, 70,191,182,212, 58, 97, 92,215,221, 6, 27, 60,189,107, 19,220,196,123,148,201,185,122,229, 38,211,122,198,
+100, 54,227,242,246, 30,179,170,198, 8, 67,173, 13, 35, 33,153,236, 78, 40,140, 70,219,136, 44, 13,126, 0,207,100, 82,224, 51,
+153,130,185, 66, 68,217,128,233, 60,210, 38, 84,107, 52, 10,101, 82, 54,187,201, 85,202, 73, 55, 10, 35,192, 32, 41,140, 66,231,
+ 26,187,233,153, 29,116,240,104, 5,109,143, 47, 21, 20, 26,169,147,175, 93, 54, 1,185,238, 16,147,114, 72,235, 3,129,194, 92,
+ 25,147,141, 12,246,116, 69, 55,239,105, 30,156,112, 37, 56, 94,201, 13,227, 66, 51,207, 53, 87,246, 39,188,245,153, 59,132,105,
+ 75,245,214,132,203,111,223, 68,124,110,159, 47,254,199, 63,199, 23,126,226, 10,127,255,239,254, 44, 89,222,240,237,111,126,130,
+ 28, 60, 6,233,221,147,182,239,146,192,233,201,199,236,190,246, 42, 58,244,200,222,167, 4, 47, 37,209, 90,178, 38, 38,176,144,
+119,116, 65,112,190, 88, 34,176,248,213,138,222, 90,156,204,249,181,143, 62,193,127,242,125,194, 39, 31, 19, 30, 63, 34, 60,252,
+148,112,178, 32, 60, 58,160,107, 2, 99,239,249, 79,174, 22,124,241,202,148,173,105,206,135, 75, 71,179,108,112, 66,160,165, 71,
+ 32, 56,247,145, 50,194,201,166, 73, 34,178, 16, 88, 91,193,169, 80,180, 90,178,118,129,214,121,254,118,173,249,185,253,146,215,
+102, 25, 61,138,211, 32,120,191,113, 56,173, 57,148, 38, 9,180,150,167, 24,215,147, 69, 64,102, 88, 37, 89,245,176,238,122,116,
+111,169,136, 56,219, 49, 82,129,109, 19, 41,178, 12,239, 36,186,200,145,217, 8, 35, 13,101, 85,209,184,200, 89, 20,120,147, 49,
+ 14,142,203,163,154, 82, 41,164, 54,152, 40, 81, 90, 35,133, 64, 72,195, 19,239,145,210,240, 88, 4,148,144,116, 41, 35, 47, 29,
+200,149,166,208,249,128, 39,141,188, 82,100,188, 42, 35,123, 72,138, 44,167,150,130, 17,146, 67,219,241,131,166,229,164,223,112,
+220,119,124,212, 44,121,186, 89,114,116, 62,231,241,147, 39, 60,190,255,132,179,123, 15, 89, 31, 29,192,106, 9, 7, 39,131,246,
+ 40, 29,158,163, 74,107, 71, 84, 24,232,152,241, 47, 12, 74,249,255, 82,224,253, 11,223,159,141,227, 93,143,235, 58,238,109, 60,
+223, 94,174,105, 68,228,219,203, 13, 39, 6, 30,186,200,121,148,144,231,228, 91,151,232, 84,202, 81,232,133,194, 5,143, 82,138,
+121,223,225,148,196, 59,199,121,219, 64,132, 54, 56,132,179,200,152, 68,164,209, 90, 54, 62, 48, 46,203,244, 60,155, 68,111,204,
+148, 76,177,164,190,199,199, 72,136, 2, 33, 37, 82, 36,253,135,183,145,179,118,205,178,235, 89, 7,203,218,182, 52, 33,176,218,
+172,232,250,158,211,102,131, 11,158,243,182,195,117, 29, 83, 13,190,239,145,206,146,135,128,237, 58, 42,161, 32,132, 20,144,131,
+ 64, 17,153, 74, 65,231, 29,219, 66,160,165, 96, 36, 36, 59, 58, 99, 58,154,178, 95,212, 76,243, 17, 85, 81,145,231, 35,234, 98,
+ 76,105, 74,242,188,102,183,170,153,228, 57,179,186, 70, 56,199,100, 60,166, 48, 57, 10, 65, 41, 82,116,120, 16,137,115,242,196,
+245,212,198,176,112,145, 54, 6,126,176,110, 25, 73,201,119,108, 71,140,105,149, 32,130,227,117, 99,232,156,227,237,209,132, 15,
+218,150, 61,169,177,193,242,198,100,155, 15, 55, 43, 62, 51,222,229,187,103, 7,252,248,222,149,255, 31,150,182,240,124,124,251,
+108, 44,159, 13,194,176, 11,116, 42, 67, 76,222,133, 26, 62, 14,133, 94,136, 84,236,132,120, 62, 32,106,237, 96, 63, 75,169, 73,
+148, 58,221,176, 82,253, 48, 74,118, 24,141,251,206, 83,233,228,121, 63,233, 82, 33,151,128,240, 73,248, 64,103, 97,221,128,111,
+233, 84,218,223, 33, 20,219, 3, 12, 69,249,200, 88, 72, 22, 33,125,208,117,109, 32, 10,255,124,140,222,117,105, 5,112, 1,212,
+201,139,212,133, 63,139, 50, 29,138, 54,131, 98,191,115,207,119,234,132,193,242, 22,158,157,164,211,255, 51,168,250, 93, 76,138,
+120, 37,233,219, 33,231,188,237,159,219,226,164,127,190,247,206, 37,139, 54,114,212, 56,164, 12,212, 8, 54,222,145,107,133, 33,
+162, 93,160, 23,129, 12,137,141,224,162,195, 40, 69,219, 57,162, 16, 52, 65,208, 55,125,250,157,220,102,152, 46,252,217,193,220,
+ 96, 24,216,155,113,249,242, 21,144,130,233,100, 11,219,116,140,235, 17,123,151,118,168, 70, 57, 91,147, 2,136, 24,165,159, 49,
+131,252,160,103, 80, 67,208, 11, 2,156, 15, 68, 23,177,189, 35,120,200,242,148,128, 55,214, 34, 9,229, 34,100, 82,166,167,139,
+148,140,214,133,200,169,117, 4, 17, 49, 33,210,251, 64, 39, 65,169,100,157, 49, 74, 97,234,156,229,167,135, 28, 46,150,172, 68,
+164, 87,154, 94, 27,114,157,113,119,251, 18,183,182,246,169, 39,219, 76,102, 51,174, 94,221,229,141,187,215,249,201,183,110,145,
+ 77,167,212, 91, 83,246, 71, 53,178,117,100,147,146, 50,203,160,115,104,163, 17,179,196,149, 86, 90, 17, 10,153, 44,121, 17,164,
+243,136, 65, 71,208, 35,240, 90,130, 78,153,241,218, 40,140,145, 20, 82, 81, 74, 40,163, 72, 0, 27, 31,121,231,196,113,184, 95,
+210,198, 21,253,147, 19,186, 71,167,248,117,139, 40, 51, 68,110,144, 34, 32,164, 70,230, 26, 25, 34,162, 75,239, 5, 17, 98,250,
+187, 42, 71,204,114,244,245, 49,249,172, 68, 25, 69,172, 37, 49,151, 72, 9, 7,167, 43, 58, 89, 82,141,102,136,106,196,143,239,
+141,249,207,189,227, 11, 46,242,155, 31,220,231, 35, 17,120,237, 43,183,217,125,185, 96,116,189,100, 45, 3,156,244, 40,224,171,
+255,240,231,249,151,255,195, 59,124,231, 87,190,206,171,127,231,243, 20,206,162, 67, 64,134, 64,101, 45, 7, 77,143,127,250, 41,
+ 31,254,234,183,216,236,103,216,245,146,157,245, 9,187,243, 83,182,207, 14, 16,177,227,126, 16, 92,157,108,115,125, 52,166, 48,
+ 25,186,219,240,213,246,140, 59,221,130,141, 50, 60, 93, 52,188, 62,202,185, 57, 46,248, 90, 11,191, 83,228,168, 33, 71,104, 99,
+ 10,140, 49,196, 40,240,235, 53,210, 57, 92,107, 57,183, 61, 93,159,172,138,197, 98,141, 88,110,232,187,192,219,181,230,213,105,
+ 65,110, 52, 39,125,228, 55, 14, 27,150, 4, 76,157,145, 85, 37, 93,208,220, 59, 58,228,252,228, 0,225, 26,136, 17, 43, 20, 62,
+ 6,214,109, 79,227,122, 70, 64,180, 61,133,134,138,180,139,205,140, 36,203,106,234,178,164, 55,134,141,147,136,178,164,172, 70,
+ 4, 23,152,106,205, 56,215, 84, 58,199, 40,147, 24, 11,121, 18,226,158,186, 64, 39, 53,231,209,115,210,247, 20,164, 3,209,102,
+200,189,184,156,101,156, 73,201, 76, 41,150, 81, 48,149,145,215,178, 20,222,179, 21, 61, 75,215,179, 10,142, 7,182,227,215, 79,
+207, 56,177, 27,150,139, 57,113,177, 72,141,200,201, 25,177,109, 97,125,142,144, 33,133, 96,245, 3,179, 67,166,136,105,140, 68,
+244,225,133, 83,114,130,217, 64,248, 43,125,124,255,168, 34, 31,254,146,226,238,242, 12,167, 75,156, 16, 56,105,120, 98,114,206,
+ 46, 93,226, 81, 94,115, 54,222,101,119,186,203,108,119, 31, 47, 36, 50,175, 88,106, 73,231, 45,182,239,105,186, 22, 99, 12,193,
+ 57,154,152,178, 36,186,118,131,183, 22,221,119, 8,151,162,108, 51,239,144, 17, 86, 93, 71,149, 25,182,124,164, 9, 30, 33, 37,
+ 89,219, 13, 33, 43,142, 82,128,243, 14, 47, 37,116, 9, 39, 61,119, 61,139,232,120,218,119,184, 64, 58, 68,132, 72, 46, 2,219,
+ 72, 70, 2,218,174,199,250, 84,107,174,229,134,130,136,114,158,145, 78,246, 75,233,147, 48, 80, 18,153, 42,141,140,130,189,114,
+ 4, 17,246,171, 41,187,229,132,253,233, 30,120,207,184,218, 66,153,156,158,200,118, 61,195, 71,136,202,144,143,106,118, 77,193,
+168, 30, 97, 16, 20,121, 73, 32,173, 76,147, 36, 77,162, 17,116,125, 79, 67,164, 18,146,135,182, 67, 16,121,220,116, 76,144,252,
+174,179, 67, 51,155,106,233, 76, 74,238,249,192,127,180,179,205,135,253,134,175, 20, 21,167, 10,246,178,130,247,230,167,252,244,
+246, 62,239,109,150,252,196,222, 85,126,235,224,225,191, 38,246,251, 51, 16,141, 25,184,237, 67,215, 13, 67,142,164,122,110,233,
+202,205,115, 97,220,139, 7,128,126,192,154, 74,157,210,140, 80,169,216, 5, 63, 76, 1,178, 36,170, 67,160,180, 98, 44,147, 7,
+247,172,237,168, 68, 26, 3, 27,159,130, 71,112,126, 16,135, 13, 30,242, 24,241, 81,242, 90,145,161, 73, 5,232, 40, 68,116,112,
+236,104,201, 88, 72,142, 93,155,198, 87, 23, 42,241, 48,164, 50,169, 60,173, 8,172, 27,210,214, 6, 73,129, 15,233,141,166, 72,
+ 42,255,174, 31,236,119,109,242,224,251, 54, 21,244, 23,167, 27, 58, 79,227, 35,165,211,225, 70,203,231,192, 26, 49, 8, 1, 47,
+212,243,118,216,215, 91, 7, 93, 67,140,146,243, 85,199,198,192, 52,164,147,164, 28,222,137, 54,198, 52, 60,144, 49,217,110,172,
+ 67,239,237,241,157,165,227, 53,229, 56,246, 49,121,240,237,176, 99,151, 60,103,209,191,240,245,224,253, 31,240, 99, 95,126, 27,
+162,160, 91, 55, 52, 93, 75, 12,112,114,188, 32, 56,205,229,253, 41, 50,138,164,110,207, 82,184, 9, 49,237,246,189,136, 88,231,
+ 81, 33,210,181, 46,105, 1, 69,234,180,145,145,202,104,106,157,186, 25, 31, 35, 27,235,159,229,255,246, 62,157,180, 54,222, 51,
+239, 35,185, 74,123,248, 16, 97,233, 28, 77,136,120,163,104,148, 98,215,148,232,233,140,107,245, 4, 47, 12, 74,101,140, 77,201,
+ 91,147, 45,234, 24, 57, 62, 61,161, 95, 47,144, 62,224, 54,150,178,183, 76, 16, 92,158, 86, 76, 47, 79,241,163,156,172,177,140,
+148, 34,100,169,135, 21,153, 70,150, 25,162, 48,132, 33,198, 81, 93,160,252,125, 28,130, 43, 36, 82, 43,116, 72, 7, 12,161, 69,
+ 50, 63,132,136, 70,144, 41,137,138, 17,233, 61, 15,207, 44,246,220,226, 99, 78,254,210, 22, 71, 33,195, 44, 55,184,239, 31,208,
+172, 91,226,162, 69, 54, 29,172, 59,226,162, 33, 62,221,224, 30, 29, 33, 90, 75, 92, 54, 72,169,209,181, 70, 79, 42, 86,179,130,
+197, 86,193,114, 82,225, 70, 37, 22,193,193,201,138,213,233, 41, 70, 6, 68, 94,242, 31,206, 74,174,232,140, 42, 42, 38,120,238,
+105, 69, 94, 20,140,119, 46, 49,189,122,137, 27,175,220,226,246, 87,238,144,125,249, 37,254,179, 66,243,210,207,222,225,105,181,
+224,157,255,254,143,248,147,223,120,151,207,127,229, 22,255,227, 63,249, 29,142,190,249, 1,211,109,197,150, 44,120,245,213,125,
+174,120,203, 79, 42,193, 87,203, 49,111, 86, 51,102,249,136,135, 70,179, 46, 39,124,245,165, 43,188,117,117,143,219, 87,118,184,
+148,143,248,169,157,171,188, 49,221,230,229,224,248,189,222,242,255, 60, 60, 69,202,130,127,220, 75, 78, 51,197,189,113,201,189,
+237, 17, 31,205,106,244,164, 98, 60, 42,208, 42,163, 95,108, 56, 63, 95,128,136, 40, 29,185,225, 54,124, 81, 9,222,232, 87, 92,
+ 19,158,243, 78,176, 18,146,167, 22,254,217,131, 13, 31,158,174,233,137,200,113,201,206,172,228,242,168,166, 18, 37, 11, 20, 31,
+157,159,115,182,217,160, 67, 67,215,183, 40,231, 19,238,183,235,217,207, 37,165, 72,110, 11, 39,101,138, 90, 21,145,133, 11,228,
+ 82,160,133,164,115, 22,215, 7,140,132,105, 93, 83, 73, 67,149, 41,114,149, 72,123, 81,192,153, 13,116, 49,221,215, 22, 40,149,
+ 98, 41, 36, 75, 36, 47,231, 25,175, 21, 53, 39, 81, 98, 5, 92,215,138, 93, 37, 57,113,129,195, 16,249,183, 71, 99, 58,151,238,
+199, 39, 1,190,190, 90,178, 21, 45,135,135, 39,233,253,127,190, 30,216, 26, 46, 9,111, 59,143,232,134,184,228,139, 28,114,169,
+147, 94, 98,208,246,136, 48,172, 38, 73, 90,158, 11,144,231, 95,244,248, 75, 11,187,214,196, 34, 35,150, 37, 33, 31, 19,242,138,
+ 80,143, 8,245,132,176, 53,195, 95,217,199,223,186,140,187,178,143,187,126, 11, 55,221,198,141,118,233,138, 17, 55,242,146,237,
+ 73,133,208, 6,235, 3,167,203, 6,103, 91, 68,244, 24,231,232,135, 88,236,190,217,224,125,106,128,100,183, 38,244, 45, 83, 34,
+218,182, 20, 49,160, 9, 72,215,147,133, 68,165, 28, 41, 77,215,247,168,220, 16,218,110, 88, 69,166,130,231, 87, 29, 70, 40,230,
+237,134,181,237, 57,179, 13,202, 7,100,244, 20, 65,240,165, 50,227,181,170,224, 70, 89, 48, 53,130, 50, 66,215, 56,148,128,137,
+ 18, 76,149, 98, 44, 53,106,200,166, 24,101, 25,219,121, 77,129,160,154,108, 39, 52,116, 86,176, 83,207, 64, 42,182,234,105,154,
+234,148, 19,108,244,228,229,132, 50,171, 88, 71,203,104, 60,101, 84, 86, 76,165,162, 30,143, 17,222,145,149,229, 51,108,118,136,
+129, 60,203,211,164,161,239,176,222,179,118,150, 35,223,209, 6,199,161,235,153,119,158,223,107, 27,162,179,105, 10, 3,140,165,
+100, 25,225, 31,236, 76,248,229,179, 37,191,184,181,197,159,180, 13, 87,165,226,126,219,240, 51,219,251,252,225,114,206,151,234,
+ 41,255,114,121,202,191,121,227,206,191,166,148,182, 11, 16,188,139, 41,199, 91,188,128,145, 45,179,231, 9,108, 65, 13,187,105,
+249,188,219,247,110,240,153,155,231,184,216,222,131,242, 84, 49,176,233, 3, 85, 85,160,131, 39,148, 37,141,119,196,102,195, 56,
+207, 57,219,180,228, 82,176,177,142, 92, 11,172,181,100, 34, 69,126,166,159,153, 65, 88,131,148,236, 23,146, 54, 66,239, 29,185,
+130,235, 74,243,212, 5,178, 40,208, 56,240, 58, 21,226, 63,155, 62,183, 57, 79,227,248,233,236,249,117,108, 6,150,123,166,211,
+206,126,211, 63,247,226, 67,218,203,255,168, 44, 21,111, 65,141,135,160, 23,255, 67,214, 54,138,148, 18,151,186,127, 9, 34, 7,
+ 29,210,239, 0, 16, 59, 32,227,248,112,133,218,139, 92,178,130,221,188,160, 42, 13, 83,224,208,123, 64, 82, 2,141, 81,168,195,
+ 67,126, 66, 73, 22, 62,114,213,120, 30,106,153, 18,220, 46,172,117,127,193,215, 39,247,238,115,247,206, 93,188,116, 24,163, 80,
+ 66,113, 54,159, 51,221,154,114,112,176,230,234,229, 9, 40,137,136,130,177, 17, 44, 8,184, 76, 17,219, 52,134,180, 49, 32,181,
+ 72, 1, 36, 34, 29,220,188, 77,138,239,165, 76,250, 66, 41, 32, 87, 41,172, 38,196, 52, 94, 35,132,164,234,143,158,115, 11, 15,
+186,158,206, 57,114,160, 48,146,210, 24,150, 34,242,250, 94,205,149, 60, 35,168,136, 50,154,229,201,146,147,179, 99, 26, 21,217,
+ 22, 5, 63, 51,221,166, 46, 75,182, 46,141,209,163, 28,217, 69,108,105,136, 70,210, 58,199,165,221, 9,106,119, 76, 53,239, 89,
+ 57,203,121, 8,228, 49, 32,137,104,163, 80,133, 30,244, 21, 32,181, 67, 12,150, 74, 37, 4,194,250,180, 22, 25,226, 99,133, 15,
+105,250,137, 74,163,238,232, 9,153,230,223,248,220,140,227, 71,107,138,203, 91,204,246, 74,158, 78, 86, 60, 62,172,177,149, 37,
+211,145, 8, 92,162,227,180,105,185,254,210, 62,157,236,249,214, 31,124,135,187, 69, 75, 49,170,200,166, 19,140, 74,153,235, 31,
+182, 13, 7, 25,124,235,227,251,100, 85,141, 81,146,163,245,138, 27, 59,151,144, 1,166,221, 49, 71,118,143,203, 82,161, 0, 17,
+ 2,215,102, 99,108,132,166,245, 44, 59, 75,159, 37,182,194,127,153,149, 76, 17,252,164,146,228, 63,253, 83,252,224,115, 43,234,
+227, 67, 54, 31,126,143, 95,124, 99,151,229,106, 13,167,115, 94,223,209,236,230, 37, 86, 73,176,145,220, 36, 91,209,182,140,188,
+ 33, 34, 97, 58,230,234,222,140, 81,153, 19, 4,236, 8, 69, 17,210, 65,108,164, 4, 63,119,220,240,251,173,227,151, 63,124,140,
+ 95,156,227,110,222,132,151,247, 97, 84, 32,164,224, 88, 75,222,172, 43,222,190, 50,130, 43, 99, 62,125,103,206,131, 39,247,153,
+246,107, 94, 25,101,236,196, 64, 94, 84,220,113, 29, 31,206,159,242,127,124,175,225, 35,149,232,100, 58,147,196,160,216,180, 26,
+145,101,108,215, 57, 87, 94,185,206,102,123,130, 59,188,196,236,248, 35,246,215, 11,114,215,242, 56, 43,248,104, 25,153, 24,197,
+ 90, 20, 68,165,200,138, 60,241,190,157, 37, 68,201, 44, 51,116,222,178,233, 28, 83,173,200,202,140, 3,219,225,188, 64, 27,201,
+ 90,192, 72, 41, 64, 49, 95,109,208,178, 96, 37, 90, 78,176,236,100, 5, 51, 41, 89, 57,207, 29,109,240,209,113,179,204, 57,160,
+229, 82,208,140,149,230,172,111,121,173,204,112, 68,126,165,177, 60,104, 58,246, 11,197,217,186,101,108, 20,244, 61,213,100,196,
+230,124,158,166,120,157, 27,178, 28,210,174, 42, 14,152,103, 49,196,184, 70, 13,194, 5,162,145, 63, 84,164, 5, 36, 46,190,115,
+127,174,120,191, 88,192,127, 84, 65, 39,207,146,190,167,168, 17, 87,174,240,229,235,151, 41,178, 49, 31,135,192,227,205, 26, 17,
+ 93,226,238, 3,152, 10, 17, 83,116,109,180,142,168, 3,149,146,136, 34,167,111, 28, 90, 70,150,237,146,245,106, 78,219,183, 76,
+ 67, 67, 57,217,162,105,150, 88,219,130,144, 8, 2,210,123,116,240,212, 82, 80,111,230, 20, 58,103, 25, 28,151, 90,199, 90,103,
+180,202,160, 17, 44,108, 79, 37, 20,174,235, 25, 27,205,122,189,192, 75, 1, 93, 64, 11,201,252,252,156, 85,136,172,250,134,162,
+119, 72,239, 16,120,246,137,220, 44, 74, 10, 37, 81, 49,176, 4,156,118, 52,163,140,104, 35, 99, 97, 24,229,154, 45, 93,226,189,
+103, 42, 20, 54,146,220, 42,179, 75, 4,239,240,163, 29,172,235,144,229,104, 64,177, 26,148, 78, 77,204,246,100,139,229,102, 73,
+ 94, 84,132,168,201,164,129, 76, 49,174,199,216,182,101, 50,174, 17, 46,164,120, 89, 36, 89, 38,177, 93,159, 8,155,218, 48, 95,
+156,178,244, 61,171,174,225, 9,145,123,155,150,247,205,208, 60,102, 25,248,228,192, 90,153,146,255,250,210, 22,255,237,193, 41,
+255,221,141,171,252,227,167,135,252,253,237, 41,247,108,207,141,114,196,255,122,112,192,191,119,233, 18,255,124,121,206,191,123,
+233, 26,191,127,248, 20,197,206,221, 95, 34, 31,216,225, 38, 27,196, 96,234, 57,149, 44,252, 21,198, 57, 90,167, 16,147, 11, 75,
+ 26, 47,140,213, 61,207,169,112, 23,208,149, 11,113,221,179, 64, 4,159, 58, 94,235, 83, 39, 92, 21,100,163,154, 24, 35,151, 71,
+ 37, 85, 8,200, 92,147,245, 14, 19,192, 32,152,219, 62,177,197, 67, 36, 58,139,119,201,228,227, 90,151, 14, 23, 82, 38, 21, 57,
+201, 74,214, 10,197, 37,173, 89, 74,168,133,102,233, 29, 19,173,105,188,163,139,146, 77, 8,233,116,244,103, 89,233,145,244, 4,
+247,107,200,202, 84,152,241,233,119,189,232,212,173, 79,187,180, 24, 6,205,192,160, 48, 15, 46, 61,135,179,173,244,221, 13, 7,
+ 13, 72, 99,125,212, 48, 13, 48,195,140,203, 13,227,254,152,126,143,224, 94, 88,111, 12,138,124, 21, 89, 55, 29,135, 86,241, 82,
+161,120,106, 29, 82,169,148, 74, 23, 19,205,205, 13, 7,129,167,173,227,212,246, 44, 93,196,218,144,198,250,222, 15,215,240,163,
+191,238,189,247, 33,175,252,216,103, 40,234,146,172,168,184,125,247, 37, 66, 23,147,208, 79, 73,102,211,154, 66, 43, 2,130, 60,
+ 87, 73,188, 31,160, 15,150,174, 77, 98, 63,231,211,148, 48,248,128,141,129, 73,101,104,123,143,144, 2, 45, 34, 82,165,209,123,
+231, 35,185, 86,212, 90,210,184,144,124,236, 33,210,249,192, 73,219, 19, 34, 84,185, 73,147, 1,163,120,184,105,185, 34, 97,247,
+251,167,156, 29,156,210,172, 55,188, 90, 21,252,120, 61,229,198,254, 22,179,237, 9,123,121,201, 40, 42,140,117,112,214, 34,231,
+ 27,138,121, 71,239, 35,125,231,169,124,164,152, 84,132, 92,113, 26, 29,143, 36,204, 53, 24, 45, 17, 90,162,202,156, 40, 85, 90,
+209,132,180,139,198, 70, 2, 73, 39,128,124, 30, 81,160,132, 64, 41,133, 48, 73,193, 27,149, 74,196,191,253, 49,163,203, 99,230,
+ 81, 97, 90,199,189,243, 6,191,182, 72, 37, 41,242,140,160, 12,148, 21,217,229, 93,102,151,198,232,155, 59,236,237,238,241,222,
+135,223,231,192, 40,158, 68,248,211,249,156,127,241,209, 39,252,223,191,252, 33,223,253,173,143,121,242,221,115,238,127,235, 41,
+ 63,248,230, 1,143,191, 51,231,189,175, 61,225,221,211, 35,238, 77, 36,127, 18, 35, 47,111,111, 17,235,146,249,143,221,162, 51,
+134,217,155,183, 17,215,118,161,168, 57, 63,239,153, 20,138,151,115,195,142, 0, 35, 4, 65, 74, 44,176,223, 54,188, 28,160, 78,
+ 87,136, 48,146,219,163, 41, 69,158, 92, 23,214,167, 52,177, 72,160, 19,145, 21, 2,103, 50,182,171,130, 40, 18, 71,193,104,197,
+ 40,207, 48,133,230, 20,201,147, 40,249,194,213, 25,183, 38, 99,122, 10, 38,235, 6,113,186,100,125,180, 68,228,134,185,139,108,
+103,138, 91,165,225,202,164, 96,186, 91,161,119,118, 24,159, 58,110,133,134, 92,105,100,140, 16, 5, 83, 1, 69,220,240,253,195,
+167,248,205, 28, 86,235, 20, 61,217,123,106, 36,219, 66, 82,107,193,164,202,248,210,229, 9, 63, 87, 78,121,115,179, 65,207, 15,
+120,180, 90,240,125, 31, 49,194, 18,237, 6, 17, 3,189,117,196, 24,113, 94, 80,122,203,117, 26,110,216,158,171,194, 83,216, 13,
+125, 51,103, 79,151, 84, 50,114,110, 29,211,188, 2, 34,167,235,142,162,200,152,247,150,117, 8,188, 57,158,240,199, 77,207, 79,
+140,106, 76,150,113, 24, 2,159, 41, 11, 58, 27,184,149,101, 84, 69, 77,229,122,174, 22, 21,235,232,169,179,156, 83,103,217,209,
+154,153,146,132,216,177,105, 61, 75,235,120,228, 67,154, 84,246, 22, 86, 77,106, 30,130,123,158, 14, 23,211, 71,133,208,105,133,
+ 39,244,112, 95, 94,136, 36, 7,221,132, 4,100, 8, 63,252,231,103,154,138, 23, 10,191, 76, 66, 89, 97, 52,236, 94, 38, 78,167,
+112,247, 54,188,242, 38,255,254,235, 95,228,165, 91, 55, 25,143,119, 57,245,112, 96,138,164,198, 71, 19,116, 70,140,142, 32,100,
+ 42,122, 74, 16,186,150,118,179,132,213, 57,151,148,199, 45, 78, 56, 61, 63,224,119, 30, 61,162,136, 61,149,150,204,155, 21, 82,
+ 43, 54,109, 75, 41,192,119, 27,100,215,176, 75,100,199,187,148,150, 40, 21,187,182, 39, 71,176, 45, 5,165,179,232,190, 65,199,
+200,194,183,172,251,134, 85,187,193,246,142,195,243, 51, 54, 77,199,217,249, 9,125,211,176,238,214,136,174,167,196, 81,186,158,
+ 50, 4,222, 30, 21, 84, 74, 81, 75,137, 33, 50, 70,144, 9,207, 30,138, 59,153,228,229, 66,179, 47, 4,183,117,198,231,138, 17,
+149,183,188, 85, 76,168,198, 59, 92, 67, 83,142,182, 80, 49, 80, 84, 51,164,209,104,147, 51, 46, 70, 72,149,161,243,156,206, 91,
+242,170, 6,165,168,181, 65,228,134, 74, 25, 60, 80,215, 37,222, 38,237, 72,146,140, 37,139, 31, 64,223,245, 4,215,163,162,224,
+160,155, 51, 15, 61,143,154, 5, 31,250, 72,211, 54, 4, 33,137, 46, 37, 38, 34,224, 23, 70, 25, 95,223, 88,254,171,253, 75,252,
+195,199,143,249,111,174, 92,229, 55,207,230,188, 90,230,252,243,179, 57,255,206,238, 46,191,219,172,248, 74, 61,225,187,109,195,
+207,236,239,163, 24,223,249, 37,134,228,234,103, 40, 87, 31, 82,241,177,253, 95,173,176,135, 11, 5,248,144,141,174,228,179,177,
+119, 42,218,242,121,161, 18,164,221,180,148,207,147,217,132, 76,105,109, 98,144, 71,215, 37, 91,101,129,145,146,206,167,206, 38,
+119, 1,105, 36, 65, 8,106,239,232,108, 79, 31, 34,113, 16,233, 41,231, 9, 46, 32,227,160, 7,158, 47,210, 1,165, 11,168, 42,
+137,164,158,120,203,174,212, 52, 70,176,140,130, 22,207, 18, 48, 58,121,149,125, 55,168,216, 95,188,222, 11,218,221,197,186, 32,
+ 12,192,157, 16,134, 34, 62, 4,212, 68,159, 58, 96, 51,232, 0,156, 75,133,120, 50,133, 73,145,242,162,155, 52,129, 64,103, 3,
+144, 39, 41,250, 25,186,236, 52, 22,143,195,212,162, 75, 7,132,100,190, 76,207, 87,140,207,179,157, 61,220, 91,119,188, 58,206,
+121,208, 58,218,144,246,236,243, 62, 32,124,100,222, 59,244,176,159, 62,105,147, 24, 48,177,224, 47,226,129,254,226,215,244,149,
+183, 94, 99,182,183, 77, 57, 74,251, 69,173, 76,242, 23, 11,157,212,168, 6,252,144,128,100,148,120, 54,146,111,173,195,217, 56,
+128, 51, 34, 46, 68,188, 79,162,188,186,214,140,139, 11,223,182, 24, 50, 34, 4, 82, 8,250, 24,217, 88,139,141,145,214,185,103,
+ 33, 18,142,136, 25,124,169, 79,206, 27, 78, 91, 75, 89, 23,108, 13,177,186,181, 82,148,101, 78,221,123,132, 23,200,117, 79,214,
+121,124,215,226,251, 64,167, 33, 40, 73, 62, 42,168,148,196, 52, 14, 19, 4,186,179, 20,227,138, 32, 21, 15, 6, 64,210, 44, 55,
+216, 16, 17,117,145,196,107, 34, 9,245,144, 98,200,102, 18, 16, 99, 18,238,137,132,193,149,198, 36,196,170,148,200,152, 70,184,
+253,172,128,227,142,145, 48,132, 43, 35,212, 89, 75,253,141, 71,212, 55, 50,194,106, 73,189,238, 9, 27,216,222, 42,216,158, 21,
+148, 85,142,237, 29,110,171,224,165,215,111, 48, 63, 92,179,152,207, 57, 56, 60,226,254, 59,103,184, 24,113,235,126,176, 26, 41,
+ 2,142, 56, 60, 56,237,176, 77,203,222,103,239,210,188,121,155,241,237,109,102, 90,240, 55,103, 35, 94,149,138,167,125, 75, 62,
+169,216,185, 49, 99,186, 63, 33,107, 60,223,118,142,243,174,167,115,158,105, 81,240,165,124,130,107, 23, 24, 37, 8, 58,226, 46,
+ 95, 35,247, 45, 74,192,218,182, 60, 42, 10,158,110,206,233, 92,199,166, 89, 51,239, 90,142,188,227,220, 11, 58, 36,167,173,165,
+223,244, 84, 85,198,121,107, 57,207, 52,215,246, 42,182,170,140,105,109, 88, 96, 56, 12,146, 71,239,127, 3,115,126, 68,190, 17,
+184,147,134,251, 66,113,117,148,115,187,204,120,121, 39, 71,100,138, 75, 59, 53, 91, 78,145,183, 93,250, 40,146, 2, 47,224, 84,
+106,102, 89,205,229,190,165,223, 28, 51,251,228, 29, 86,135,247, 40,124,129,237, 28, 58,128, 80,146,215, 13,236,201,136, 89, 55,
+ 28, 62,125,200,159,156, 46,248,160,235, 41,130, 77,136, 99,107,105, 90,203,198, 10,246, 84,207,181,216,243,102,132,219, 72,118,
+109, 2, 47, 85, 82, 37,102,119, 8, 72, 21, 57, 93,174,153, 55, 61,107,111, 17, 94,178, 83, 87,188, 61, 29, 35,165,226,199,202,
+146, 81,149, 49, 69, 32,155, 13,143,150, 75,214,222, 49,210,154, 49,142,135,206,210, 44, 78, 41,148, 97,175, 40,184, 92,213, 68,
+ 33,120,119,189,230,188,233, 56,179, 61, 31,110,154,180,186,115, 46,233,138,194, 48,241,107,125,170,222,147,113,250,174, 50,132,
+ 73, 66, 64, 97,116, 18, 87, 14, 17,199, 23,133, 91, 13, 69, 93, 93, 24,145, 46,254, 14, 80, 90, 35,140, 70, 78,119, 16,251,123,
+136, 59,183,224,245, 55,225,218, 13,184,250, 18,236,221,228,238,238,117, 62,191,191,197,116, 84, 80, 22,134,211,206,242,201,226,
+ 20,188, 37, 70, 71,236,122,194,102, 77, 88,159, 17,150, 11,226,227,199,132,213, 25,241,195,143, 56,222, 44,248,238, 71, 31,113,
+255,244,128,239,190,127, 15,119, 58,231,112,221,112,180, 88,147, 27,120,112,124, 76, 17,122, 14,142, 78,152,224,216, 18,145,157,
+102, 67, 38, 21,133,128,202,246, 76,165, 70, 18, 40, 92, 64,185,158, 16, 28, 85,179,102,215, 89,122,103, 25,183, 13,133,235,152,
+250,150,151,155, 21,175, 7,207,155, 50,240,122,215,242,213, 76, 51,113, 45, 55,137,236,234, 68,104,219, 86,154, 26,216,213, 5,
+149,115,236,133,200,109,173,184,161, 4,175,168,130,151, 76,206,181,124, 76, 25, 5, 87,202, 45, 84, 86,176, 43, 11,172,150,236,
+ 25, 3, 85,157,146, 25,235, 26, 83, 22, 88, 4, 58, 87, 24,173,145,131,102,204, 72,129,212, 89,170, 33, 33, 82, 21, 9,243, 26,
+ 69,250,188,216,180, 61, 82, 43,122,107,217, 52, 45, 17, 79,192,209,249,150,165,237, 88,118,107, 14,188,231, 7,203, 22,111, 45,
+ 65,184, 36,202, 13, 22,132, 66, 70,248,185,209,152,223, 89,110,248, 47,118,183,249,223, 79,231,252,244,180,228,107,231, 27,254,
+222,222, 46,191,124, 50,231,239,110,111,241,141,126,195, 79,143,198,252, 95,243, 51, 20,147,151,127, 9, 61, 40,217, 7, 16, 26,
+153, 74,163,104,147,253,165,138,202, 63, 87,216,229,160,198, 20, 50,117,118, 46,166,150, 77,136,231,106,241,190, 29,238,198,193,
+ 43,205,176, 87, 87, 67,216,184, 76, 79,230,222, 40, 25,234,199, 82,160,140,164, 9,145, 82, 73,198, 42,112,210, 36,144,128,247,
+ 17, 33, 35,177, 11,207,206, 35,193, 37,186,220,179, 29,126,232,152,152,140, 69, 27,217, 26,167,200,187,131,181, 99,100, 20,157,
+144,228,153, 34, 72,129, 68,146, 27, 69,215,118, 63,250,122, 47,196,125, 74,167,195,142,144,207,135, 88,201, 83, 4,114, 56,180,
+244,118, 64,222, 14,172,119,100, 2,225,244,205,160,210,203, 6, 40,204,144, 51,159,107, 38, 10, 58,149, 14, 63, 25, 17, 47, 84,
+218,129,203,240,156, 0,199,112,224,146, 98,144,175, 40,158, 6,199, 37, 35,217, 81,146, 67,235,217,143,176, 12, 48, 65, 96,173,
+103, 17,161,233, 2, 34, 4, 98,102,210,193,227,226,223,252, 11,190,158, 84, 21,159,189,243, 18, 16, 89,175, 54,116,155, 6,231,
+ 60,101, 93,179,119,105,130, 12,130, 44, 55,212, 70,167, 4,164, 16,201,134, 32, 16, 31, 99,234,134, 92, 68, 32,153,212, 6,103,
+ 61,253,224,248,203,179,164, 24,143, 34, 21, 65, 49,176,124,146, 35, 39,117,233,193, 71, 58,235,233,250,192,249,198,114,180,234,
+152,175,187, 52,234, 30,229,124,239,225, 49, 79,219,142, 85,140,108,156,227,241,102,195,185, 0, 21, 60,217,118, 69,147, 27,178,
+189,154,234,198, 14,242,165,109,182, 62,115,153,226,198, 14, 98,167,166,120,105,139, 77,149,161,131,164, 28, 21, 60, 94,183,148,
+ 70,112,100, 29,171, 16, 17,101, 78, 81,164,113,100, 16, 67,204,164, 2,171,161,147, 18,127, 1,202, 41,116,202, 8,207,146,134,
+ 68, 9,129, 46, 53,147, 50,103, 60,183,244,203, 13, 92,174,104,103, 21,197,237,109,202, 73,137,253,100,201,225,161, 32, 8, 69,
+115,214, 48,177, 29,217, 52,167,239, 28, 75, 23, 40,182, 42,110,189,113,157,197,227, 57,255,234,183,222,199,125,216,224,214, 61,
+110, 40,229, 23,126,226,100,100, 75,247,159, 56,111,152,127,237, 62,229,205,138,171,119,175,242,153,222, 51,126,247, 4,117,222,
+178,127,222, 49, 89,109,184,150,193,205,121,203,229, 16,248,172, 48,188, 90,140,184, 51,154,242,242,213, 61,202,233,132,221, 98,
+151,157, 87, 95,226,234,181,107, 92, 63, 92,146,119,150, 32, 10, 94,255,249, 47, 51, 89, 69,190,181,110,249,188,202,200,219,150,
+223, 62, 59,229,228,248,152,135, 15, 62,225,254, 71,223,231,193,135,127,202,175,127,227,187, 92,159,237,144, 21, 25, 81, 39,192,
+ 74, 84,138,168, 52, 42, 74,158,116,129,167,197,152,240,107,255, 27,246,221,111, 34,154, 99,100, 95, 33,246,118,248,183,174, 20,
+ 92,159, 22,236, 26,144, 54,208,244,144, 91,139,142, 17,235, 28,157, 86, 72, 36, 91, 50,114,107, 50,226,243,245,132,219, 85,205,
+151,138,140, 75,199,159,194,226, 9,247,142, 78, 57,235, 34, 51,235,224,120,206,251,143,239,241,235,159, 60,228,119,143,214,248,
+ 62,176,136,130,220, 91, 38, 50,162, 20, 92,201, 97, 11,197, 77, 34,159, 81, 25,123, 66, 82,233,156, 66,104, 38,166, 2, 33, 9,
+121,198,178,143,172, 17, 92,157,141,184, 52, 25,179,157,101,236,150, 5, 74, 40,174,103, 25,123,185,193, 7,207,121,179,228,201,
+124, 78, 29, 61, 27,223,211,245, 61,206,121,206,219, 53,125, 12,196, 24,152, 72, 65, 93,105, 74, 60,149,239, 8,182,227,157,174,
+ 29,236,178,253,224,178, 25,194,171,242, 28,246,182,224,202, 46, 76, 70, 48,173, 17, 85, 9, 89,134, 48, 5, 66,167,213,131, 80,
+ 73,247,241,172,144, 59,135, 26, 18,177,245, 80,208,117, 85,160,198, 91,200,235, 87,145,175,220, 69,220,190,131,184,126, 23, 49,
+189,130, 24,109, 67, 61, 67,100, 5, 72,137, 81,138, 27, 82, 83,106, 65,179, 90,243,240,232,132, 7,167, 79,137, 39,135,196,131,
+ 35,226,209, 9, 60, 57, 32, 30,158, 19,159, 30, 19,207, 78,137,199, 39,196,213, 2, 78, 78,136,231,115,154,163,179,212,104,185,
+ 14,214, 61,221,124,197,227,249,134,211,206,114,127,177, 97,164, 2,211, 16, 40,154,142, 81,174, 49, 49, 48,138, 1, 33,135, 84,
+200, 0, 27,215, 99,164,161,114, 29,193, 59, 74,101, 24,117, 13,133, 84,212, 62,240,182, 50,188,102,114,110,168,156, 61, 41,184,
+ 82,148,236, 11,195, 29,165,185, 45, 52,175,161,216, 87,154,207,232,130,155, 89,205,110,136,220,150, 57,147, 16,184,161,115,182,
+132, 34, 71, 50,173,102, 24, 4,117, 62, 3, 34,121, 94, 33, 76,198,184,168, 64,107, 76, 89, 16,164,162, 71, 32,181, 68,152,180,
+ 34,246, 8,138,204, 96,148, 65, 9,153,112,194, 68,230,182,167,245,158, 24,211, 52,108,221,117,104,173, 89,174, 86,244,193,179,
+106,215,232,224, 88,180,107, 62,217,204, 33, 90, 54,209,243,209,217, 25,143,172, 39,244,158, 16,210,106, 37, 70, 73, 84,154, 27,
+198,144,101,154,183,138,140,239,181, 45, 63, 89,231,252,105,215,241,246,164,230,183,206,151,252,194,206, 22,255,231,209, 25, 63,
+191,189,197,175,157, 44,248,197, 27,151,135,162, 78,120,238,109,144,131,141, 44, 27, 10,186, 16, 9, 90,242, 87, 17, 85, 6,159,
+246,204,113, 40, 28, 23,124,120, 6, 49, 71,176, 63, 44,144,123, 81,129,221,167,195,132,168,198,212,211,138,141,115,236,141, 42,
+188, 79,128,130,105,150,130, 68,142,150,107,114, 96,221, 56, 92,151,196, 86,105,172, 45,137, 93,155,130, 96,252, 0, 89, 89,183,
+ 32, 3, 93, 7,251,147,156, 32, 5,199, 93,228,165, 73, 70, 47, 83,146, 88,144,130,177, 16,108,124,100,221,165, 40,209, 31, 25,
+ 87,122, 49,141,232,125,154, 60,200,144,174, 71, 12, 45,126,116,233,201,179,131,143,223,133,231, 93,126,240, 73,137,127,209,113,
+203,129, 31,175, 21,228,154,237, 12, 22, 46,178,149, 9,234, 76,178,236, 6,225, 92, 74, 32, 72, 1, 57,241,197, 3,196,176,202,
+ 80, 17,239, 60,109, 4, 17, 36, 70, 68, 14, 99, 68,133,192,177,183,228, 90,114,218,245,180, 33, 32,163, 32, 51, 17,223,251,212,
+173,255,168,107,188, 96, 4, 61,120,204, 91, 95,248, 28,163,233, 24,188, 71,162,121,114,248,104,208, 58,100,108,207,106,182, 70,
+121, 26, 30, 12,231, 18,165, 5,189,141,207, 94,234,222, 5,214,182, 99,213, 88,164, 6,219, 6,156,135, 34,229,148, 38,170,152,
+ 72,236,240,214,122, 70, 42, 57,169,227,112,141,109,111, 17,192,122,227,112, 3,113,204,122,207,238, 86,197,162,241,204,231, 75,
+ 30,247, 61,243, 81, 73,190, 55,193,111, 23, 92,185,182,141, 40, 13,187, 47, 95,162,188,190, 13, 59, 37,155,182,231,147,147, 57,
+199, 71,115, 30,156, 47,121,178, 89,115, 30, 2,203, 0,123,179, 10,165,224, 97,223,113,214,122, 62, 58,183,156,116,112,115,167,
+ 76,113,178, 98, 48, 52, 8,153,222,220, 82,208,137, 20, 3, 28, 11,147,166, 44,133, 70,101, 6,145, 25,188,148,100, 59, 5, 38,
+ 87,104,231, 40, 15, 86,152,101,159, 14, 0,153, 34,191, 54,161, 13,208,156,247,216,190,225,254,123, 31,114,115,225,169,175,111,
+ 35, 8,220, 91,121, 86, 86,113,235,141, 91,180,249,152, 7,239,253,224, 89,151,158, 30,138, 4,122, 77, 15, 8, 8, 52,130, 53,
+199, 95,251,148,211,218,241,234, 43, 55, 48,227,196, 65, 8,181, 98,147, 43,186,220,160, 34,140, 60, 84, 66,160,103, 53, 98,127,
+ 66, 48, 25,178,208,112,109, 10, 70,164,108,237,195, 5, 90,101, 68,149,163,119,119,248,212, 20, 60,169, 39,252,157,207,191,204,
+246, 75, 47,243, 73, 52,220, 47,115,186,173, 45,150,213, 22,171,106,196,141, 75, 99,222, 63,123,202,175,127,247, 29,126,245,227,
+202,128, 32,160, 0, 0, 32, 0, 73, 68, 65, 84, 7,124,245,165, 59, 84, 69,198,163,222,243,237,133,227,221,206,211,245, 14,166,
+ 21,188,243, 77,196,227, 71, 8,191,225,120,114,139,217,108,196,213, 12,214,125,224,253,121,207,102,213, 50, 81,130,176,106, 88,
+180,107,122,157,225, 98,164,170, 43,114,173,153, 25,195,165,178,102, 87, 41, 94, 26,111, 33,122, 75,190, 62,166, 57,123,196,239,
+ 61,120,196, 31, 60,121,200,111,124,250,136,251, 77, 64,138, 36,128,148, 67, 66,217, 76, 5,110, 41,201, 37, 4, 87,116,198,171,
+ 89,197, 94, 62,162, 30,111,145,229, 5, 85, 94, 33,141,102, 82,214,156, 5,207, 90, 75, 38, 69,141,204, 52, 99, 83,160, 77, 10,
+ 28,217,205,147,207,124,229, 60, 62, 4, 86, 49,249,237,181,210, 16,225, 90,150, 83,232,140, 76, 8, 58,151,160, 39, 99, 41,216,
+ 82,234,255,229,236,205, 98, 52, 77,207,243,188,235, 93,190,237, 95,107,239,174,238,233,233,238, 89,201,225,112, 68,138,164, 40,
+ 75, 98,168,213,202,130,196, 65,156, 88,200,102, 69,112, 16, 64, 8, 16,228, 44, 1,124, 66,192,201,137,207, 28, 32, 1,146,200,
+128, 3, 40,113, 2, 91, 32, 98, 71,118, 44, 75,150, 21,209,220, 68,114, 72,206, 62,189, 76,239,181, 87,253,219,183,190, 91, 14,
+222,175,186,123,134,155,236, 2,126, 84,117,119,161,250,223,234,123,222,231,121,238,251,186,217, 81, 10,213,180, 12,132,229,237,
+186,141,109,141, 76, 98, 78,195,112, 13,198, 83,216, 88,139, 81,174,147,205,232, 4, 26, 78,249, 11,107, 57, 47,108,140, 25, 76,
+ 51,142,165, 64,166, 89,188,169, 4, 53, 29,163, 54,182, 25,188,252, 60,159,120,249,101, 94,125,245,167,152, 95,189, 76,184,254,
+ 34,234,202, 85,244,245,231, 81, 59, 87, 80,147, 29,228,120, 3,161, 52, 34, 73, 16, 82, 61,177,231, 54, 53,101, 83,243,156,175,
+169,231,199, 28, 31,239,241, 79,223,122, 19,110,125, 0,123,199, 80,206, 96, 81, 18,108, 67,112, 29,161,173,163, 96,237,169, 6,
+ 40, 60, 93, 7, 92,191,146,116, 29,194,116, 96, 90,124, 80, 44, 2,188, 58,204,184,156,167,100,125,150, 70,166, 83, 50,169,112,
+222,146,244,209,210,214,199,119,122,174, 51,164,109,201,210,140,145, 74,184,144,102, 76,133,100, 59,201, 24, 34,152,232,148,137,
+212,228, 74, 49,206,198,228, 18,182,134, 27,108,138,148, 66, 37, 12, 68,194, 16, 65,138,100,154,230, 72, 23, 24,164, 5, 69, 82,
+144,168,148, 44,159,162,116,130,146,241, 57,209,249, 16,153, 42, 66,154,129,140,155,215,144, 36, 24,169, 8, 64,235,124, 44,226,
+198, 68,144, 40, 2,235, 61,199,229, 10,227, 5,149, 49,164, 50,238,207,165, 15,212,101, 69,227, 45,117,221, 34,130,231,184, 62,
+101, 97, 13,173,173,217,107, 74, 58,215, 49,146,146,155,203,146,198, 58,188,148,132,198, 16,180,130,208,114,162, 19,158,215, 9,
+ 7,174,229, 83,217,136,111, 85, 13,175,165, 25,239, 52, 13,159,155, 12,249,191,143,206,248, 43, 23,182,248,221,131, 99,254,234,
+238, 54,191,123,103, 15,197,228,218,151, 30,239,181,207,241,175,169,234, 45, 20, 42,182, 87,169,254,137, 35,219, 15, 41, 54,206,
+119,235,198,199, 23, 86,208,123,175,195, 19,127,251, 99, 59, 91,255,103, 5, 66,231, 80, 20,108,108,174,177, 83,196, 12,221, 52,
+ 31,176, 62, 24, 49, 25,229, 56,161, 9, 4, 58,227,233,172,137,204,119,223,171,200,203,182,247, 95,244,227,240,178,142,130,181,
+206,130,212,148, 4,106,175,185, 58,148,212, 8,106, 4,195,158, 77,126,210, 5, 20,208, 56, 27,173,112,222,253, 24,240, 78,191,
+ 74,120,140,120,237,119, 94,162,159, 60, 72, 17,213,239,189,248,235,241, 27,252,233,142,191, 63,241, 33, 99, 10, 93, 93, 59,158,
+ 29, 74, 22,109, 96,213,122, 66,214, 7,192,208,131,105, 68, 63, 50, 87,231, 85, 38, 60, 41,242, 33,208,121,143,149,208,244,193,
+ 25,181,131,137,214,204,218, 14,153, 42,180, 11, 92, 72, 36, 75,239,113, 56, 48,242, 7,215, 12, 31,149, 73,108,174,241,210,199,
+ 95, 68, 41, 77, 49, 40, 80, 34, 33,205,115,108,227,144, 73,202,250, 90,193, 36, 79,250,194, 30, 98, 10, 27,158,166,117, 88,225,
+105, 26, 67,211, 57,108, 99, 35, 87, 31,143,237, 28,203, 30,100,146, 75,193, 86, 30,139,143,146,145, 41, 46,132, 96, 51,141, 8,
+200, 32, 4, 77,107,209, 90,145, 17, 69, 88,153, 80,172, 15, 50,172, 11,236,205, 74, 18,165, 9,233,144, 98,107,202,231,174, 95,
+228,217, 11,235,220,153, 87,188, 89,214,140, 70,209,235, 51,239, 12, 75, 99, 48, 62, 80, 19, 56,177,129, 54, 85,124, 80,182,220,
+ 42, 43, 92, 34,216, 26, 23, 84,222, 83,249,192,229,245, 1,163, 60,146,175,188,232, 81,172, 33, 62, 93,149,241,156,185,192, 92,
+ 72,150, 82,210,106, 77,208, 10,159,164,184, 68, 81, 37,146, 71,139, 26,115,255,132, 97,145, 66,221, 33,239, 45, 73, 79, 13, 90,
+ 56, 76,170, 73,183, 11,144,158,211,155, 7,172,150, 71,220,124,116,151,231,221,136,201,230, 4,175, 60,195,105, 78,174, 20,207,
+188,112,145,171,159,125, 14,207, 17, 15,222,217,195,145,227, 46,104,124,161,120,249,175,253, 69,126,227, 55,126,142,223,250,207,
+126,137, 63,186,188,206,103,127,237,243, 60,248,211,155,156,125,235,251,252,225,226,148, 7,211,109,190,126,188, 0,223,241,135,
+183, 30,241,198,195, 99,190,242,214, 13,222,153,207, 56,116, 49, 64, 35,117, 34, 34, 59,235,142,174,170,152, 61, 56,230,225,141,
+ 91,220, 63,188,203,172, 90, 48,115, 29,135,141,164, 29, 13,241,121,194,160,241, 36,235, 5,183, 27,207, 89,219, 69,142,148, 10,
+180,217,132, 79,125,236, 5, 54,167, 59,188,111, 2,255,117, 6,227,195, 35,190, 38, 70,220, 91, 5, 94,239, 28,167,214, 16,234,
+ 25,225,224, 30,226,213,207,194,231,126,137,191,246,197,207,243,189,189, 25,223, 45,225, 52,207,113,149,229,230, 73,203,124,213,
+178,142, 97, 77, 39,176, 40,185,107, 91, 6,217,128, 86,194, 40, 77,153,166, 26, 41, 96,152, 15,113, 82,145,228, 3,200,199, 12,
+164, 96, 61,180, 28,183, 21,207,109, 79,120,105,119,157,207, 62,187,195,206,214, 58,175, 76, 7,204,140,101, 77, 9,174,167, 25,
+ 47, 36, 57,207, 38, 5, 23,139, 33,195,225, 4,157,230,120, 47, 16, 66,160,243, 28,129,128,222,150, 54, 24,164, 92, 28, 79, 25,
+228,154,113,150, 50, 74, 53, 3, 45,153, 68, 21, 40, 37,240,168,118, 40,165, 49, 42, 33, 79,115, 6, 89,138, 78, 52,235,195,132,
+ 4,197,133, 60,229,229, 52,101, 67, 10, 84,103,168,131,197,250, 64,237, 3, 39, 58,139,157,121, 49,238, 25, 29, 27,144, 15, 96,
+184, 14,131, 53, 80, 5,159, 31,141,121, 46, 79,153,166, 5,163, 44,225,134, 84,145,121,144, 36,168, 65,138,202, 51,210,205,117,
+254,141, 11, 23,248,249,231, 94,230,194,133, 93,174, 76, 47,115, 43,159,146, 76,182,208, 58, 67, 43,133, 84, 10,233, 37, 82, 4,
+ 68, 83, 34,140,129,217, 30,156, 60, 64, 28,220,133,131, 7,188,243,254,123,188,113,235, 22,239,222,190, 11,135,143, 96,177,136,
+141,137,233, 89, 36, 61, 49,244,252, 26, 25,254, 28,189,158,240, 62,174,173,178,140,124,115,194,120,156, 83, 46, 99,147,179, 61,
+ 28, 18,100, 92,153,106,161, 48,222, 19,165,110,113,216, 11, 1,167, 18, 50, 33, 41, 84,194, 24,197, 84,105, 82,149,144, 11, 73,
+ 34, 69,204,136, 72, 11,180,135, 60, 31,160,101,130, 78, 50,178,116,138, 82,146,172,216, 70, 39, 89, 4, 67,233,140, 68,231,232,
+ 36, 69, 39, 3,116, 62, 0,227, 80,121, 14, 89,134,212,154,144, 36, 40, 33,240, 34,174,126, 91, 4,171,224, 34,237,219, 71,158,
+ 99, 23, 34,153,239,164, 92,209, 4,208, 40, 78,218, 37, 45,209,198,108,186,142, 16,160,108, 42,172,181,212,166,229,164,158,145,
+ 72,205,202, 86, 28,155, 18, 37, 28,169,212,156,153,134,111,159,214,184,198,197,130,158,165, 96, 12, 97, 48,192,181, 49, 18,252,
+ 51,131, 17,127,127, 85,241,159,110,173,243, 59,167,167,252, 59,147, 53,190,124,114,198,191,191,190,198,223, 59,216,231,183,175,
+ 94,225,111,223,127,200,111, 63,127, 13,193,245, 95, 13,116, 13,232,252,113,199, 27,187,192, 52, 22,119,149,246, 34, 48, 34, 33,
+237,233, 24,207, 31, 39,156,179,150, 39,218,250, 62, 4, 70,165,113, 44,253,244, 1, 32,190, 83,162,162,114,178, 1, 91,107,252,
+236,218, 56,146,178,242,130,245,241, 6,153, 20, 81, 10,154, 72,230,203, 51,142, 23, 53,111,220,189, 19, 1,250,174, 15,135,233,
+120,146,140, 38,125,196,196,218,250,137, 74, 61,201,216,152,228, 52,109,111, 21,200, 5,117, 31, 46,103,122,129, 86,181,172,227,
+232,190,106,126,252,227, 27,228,209,190,199,135,207, 37,143,191, 62,247,129,123, 27,159, 7,251,145,174, 56, 27,197, 16, 28,157,
+146, 41,137, 77, 19, 92, 99,144,153,194, 11, 17,119,223,222,163, 18, 21,179,225, 77, 27,253, 51,210, 63, 9,199, 57,159, 80, 60,
+ 29,178, 35, 50,178, 73, 70, 46, 20, 99,160, 72, 4, 11, 19,208,192, 18,207, 98,213, 33,117,136,194, 55,249,147, 31,231,127,245,
+ 55,254, 58, 91,187,235,172,230, 21,213,210, 96,203, 22, 65,194,213,107,187, 92,187,184,206,206, 70, 30,173,248, 46,208, 57, 71,
+217, 57,102,179,134,206, 89, 14, 14,151, 52, 62, 16,188,167,173, 76, 68, 67,138,128,206, 36,215,118,198,108,140,115, 46,141, 19,
+106,235, 9, 61, 89,202, 7, 72,130,167,181, 14, 27, 60,243,170,195, 4,200,165, 96,185,108,162, 74,117, 99,128,107, 13,124,103,
+143,159,255,133,143,115, 79,122, 30,182,142,129, 55,152,163, 5, 15,171,150,195,174, 35, 47, 82, 62,249,252, 22,137,140, 32,140,
+101,101,185,119,188,194, 54, 6, 43,161,154, 55,164,153, 34, 75, 83,190,240, 83,207, 32,147, 24, 42, 50,202, 82,210, 52, 33, 32,
+ 72,100,244,133,203,214,226,107,195, 73,217,177,183, 50,172,156,199, 17,131, 94, 38, 90,177,145,197, 0, 27, 41, 4,239,175,106,
+230,239,157,145,221,127,196,171,121,202, 39, 46,172, 83, 92, 25,146,140, 51,194,131, 37, 85,145, 97,159, 29, 51,219,159,179,247,
+250, 45,234,197,156, 66, 74, 62,243,234, 39,209,215, 54, 73, 47, 76, 57,182,142, 71,166,227,254, 89, 75, 82,151,236, 90,195,239,
+126,253, 3, 94,122,113,135,195, 58,230,149,255,235, 87, 39, 12,115, 77, 3,252, 63, 55,207,120,176,106, 9, 85, 69,168, 43,218,
+179, 35,194,235,239,240,220,231, 94, 98,224, 44, 95,251, 95,190, 79, 69,135, 66, 60,161,196, 95, 29,242,243,159,221, 33,155,142,
+ 96,186,206,188,172,217,120,230, 25,190,246,213,175,114,252,250,119,162,237,121, 48,226,139,175,188,198,197,151, 63,206,120,109,
+139,170,156,113,227,224, 17,167,203, 51,106,229,185,127, 88, 51,188,184,205,231, 95,249, 36,172,111, 51, 48, 53,191,109,106,178,
+214,241,245,197,156,255,166,216, 37, 76,135,228,120, 6, 18,190,119,120,138, 56, 61,224,123,127,245, 87,216,185,182,193,223,250,
+211, 59,252, 79,239, 30,146,140,134,108,100, 9, 63, 55, 25, 32, 23, 21,175, 77, 37, 63,163, 19,210, 89,201,236,224,144,253, 44,
+165, 73, 19,158, 25,228, 4,231, 16, 66, 98,165,160,171, 26,230,120,222,173, 91, 14,202, 21,123,173,225,164,109, 89, 27, 12,249,
+194,230, 26, 71,213,130,177, 82, 72,107, 57, 62, 59,162,109, 74,174, 16,248,124, 62, 38, 79,114, 10,157, 50,154,110,129, 76,177,
+193, 83,219,134, 90, 72,218, 52,225, 56, 4,190,221, 85,140,135, 3,108,154,179, 51, 46,240, 62, 48, 12,113,197, 52,206, 18,142,
+202,150,183,155,134,195,210,176, 32,112,214,182,164,210,179, 22, 36,185, 2,235, 61,163, 4,158,243,158,103, 85,202, 56, 85,204,
+234,138,239,174, 74,246,186,138, 47,175, 42, 58,231, 8, 73, 66, 72,114,130, 46,122, 32,151, 36,168,148,207,227,121,105, 90,240,
+188,150,156, 86, 37,243,106,201,172, 58,101,191,238,248,238,170, 66,121,251,120,212,254,249,201, 58,159, 26,141,120,254,210,117,
+198,131, 2,147,104,222, 61, 61,227,110,217,114,218, 25, 22, 77,205,161,115,184,230, 12,187, 60,195,204, 43,236,209, 25,246,240,
+ 33,118,178,137,179,101,236,137, 58, 27,107,182,181, 31, 86,200,255, 57,125,239, 63,170,207, 3, 16,151, 47,178,117,237, 18,215,
+243,156, 11,243, 5,207,121, 79,158,167,172,165, 25,235, 58, 97,172, 19, 84,112,196,129,159,196, 57,131, 82, 17, 39,158, 73,205,
+ 80,104,118,101,194, 68, 39,100, 34, 68,236,180,233, 72,148, 6,227,208,249, 0,165,242, 8,109,209, 26,130, 66,166, 89,252,218,
+152,199, 90, 29,172, 69,140,167,224,226, 66, 75,168, 72, 33, 68, 39, 88, 66,236,192,149,192, 33, 56, 1, 78,148,231,216, 65,173,
+ 35, 29,175,108, 12, 3, 33,104,172, 35,193, 19,172,163,234, 90, 12, 14,108, 84,229,111, 10,193,220, 52, 76,116, 70,103, 91, 62,
+ 88,158,176,165,115, 90,223, 48,146,158,214, 91, 2,129,131,106,201,239, 31,158,113,235,160,198,121,135,207, 51, 66,112,132,233,
+152,224, 28,122, 99,141,207, 78,214,112, 66,241, 31, 93,121,142,255,126,111,143,191,190,187,203,223, 61, 57,226, 63,220,220,230,
+ 43,139, 5,127,121,235, 34,255,231,193, 62,255,197,149,203,252,239, 15, 30,245,101, 87,141, 98, 65, 20, 61, 14, 53,205, 97, 52,
+130, 76,245,216,215, 65, 31, 88,210, 23, 21,107,127,252, 43,124,254,239,143,191,173,151,108, 42, 27,139,179,232,231,182,231, 5,
+253,156,239, 62,204,120, 81,199,116,168,221,193, 24,161,115,214, 7, 99, 74,211,161,146,140, 86,104,182, 39, 41,139,230, 17,151,
+119,119,120,120,231, 94,124, 51,153, 94,124,103, 1,209,244,224, 23,243,228,190, 8, 29,207, 4, 1,230,214, 19,180, 36,145,146,
+ 85,229, 24,165, 26,219, 89, 42, 47,158, 0,115,126,210,129, 5, 98, 55, 46, 68, 60, 21,132,167,222,185, 45, 17,135,123,190, 82,
+ 80,242,169,231,225,220,218,214, 64, 40, 64,200, 72, 92,243,113,204, 51, 32,198,204,154, 92, 65, 3,173,177, 40,149,226,154,158,
+200,236,207, 45,105, 93,188, 31, 90,127,100,138, 96, 80, 78,147,104,193,161,243,172, 7,201, 64,192,178,127, 9,178, 92,210,214,
+238,201,110,254,252,240,245, 35, 62,222,248,254,247,249,165,139, 95, 96,178, 54,192,217,146,249,209, 49,222,194,157,219, 2,235,
+ 2,163, 98,135, 52, 81, 72, 9, 34, 8,242, 62,196, 36, 24, 71, 62,201,209, 61, 53, 47,209,178,247,211,199,149,201,225, 89,141,
+181, 17,212,179, 51,201, 88,116, 14,173,100,188, 96, 43,193, 64,107,132, 15, 36, 18, 58,235,232, 44,140, 70, 25, 4,207,122,150,
+224,179,156,147,181,146,255,235,107,239,242,173, 7, 55, 49, 4,142,218,154,129,214,108, 14, 71,228, 50, 67,231, 41,139,163, 37,
+195,201, 24, 33, 37,131, 81,130, 22,146, 70, 72, 78, 15, 78,104, 22,139,232, 58, 84, 18,153, 42,190,240,201, 43,209, 77,145, 9,
+164,148, 88, 31,122, 65, 28, 88, 37,105, 83, 73, 85, 75,200, 21,174,141,235, 5,235, 5,173,115, 44,141,162, 72, 97,146, 43,252,
+250, 6,249,238, 26, 73,119,133, 27,123, 43,110,188,113,200,231, 15, 13,215,118,167, 20,187,129,201,237, 57, 62,129,209, 48, 99,
+247,167, 95,196, 55, 29, 77, 8,148,193, 50,108, 91,244,131, 19,100,158, 98, 69, 28, 63, 94,200, 53,137,151,252,230, 23, 95,228,
+209,202, 32, 71,146, 89,166, 88,174,103, 12,148, 98,101, 45,131, 75, 19, 46, 47, 90,174,135,130, 45,189,141,224, 10, 27,191,246,
+ 51,188, 51, 43,105,170,138,255,224,111,190,200,124, 85,178, 44, 27,156,235, 96, 80,112,244, 15,255, 5,237,149, 43, 28,252,179,
+215, 17, 87, 78, 16,163,130,157,151,174,115,248,250,119,158,160, 66,171, 21,255,228, 91, 95,197,125,235,171,216,203, 87,113,179,
+ 85,164,130,209,224,187, 94,211,245,240, 1, 55,206,142,248,212,171, 63,207,229,221, 11,180,235,107, 12,165,224, 89,224,139,123,
+111,115,147,231,201, 70, 35,180, 13,184,151,174, 33,222,168,249,239,254,217,187,252,229, 87,118,249, 59,239, 30, 96,219, 14,225,
+ 44, 51,165,249,167, 39, 51, 46,102, 57,133, 83,124,236, 74,206, 51,151,214,185,168, 53,223,126,247, 77,182, 54,118,152,121,207,
+133,209,128, 82,198, 14, 89, 21, 25,157,181,116,198,210,228, 19,156,168, 89, 75, 11,174,140, 52,167, 50,112, 97, 48, 65, 3,243,
+176, 98,115,125,155,180, 42,184,140,194,119, 53,169,119,100,162,183,216,246, 57,243,193, 25, 72, 83, 66,103, 56, 9, 29,161,103,
+115,111, 56,143,233, 44,178, 79, 62, 20, 46,176,240, 29, 77,127,206,214,120, 78, 59, 71,112,150,210, 56,146, 52,163,114, 14, 17,
+ 20, 99, 60,155,195, 33,211, 44,163,109, 13,149,202, 64,181,188, 97, 60,198,247, 90,156,115, 55, 80,240,100, 56,214, 70, 3,118,
+ 16,124, 58,207,216, 21,146,113,162, 72,139, 33,165,183, 20, 98,131,183,155, 99,132,214, 72,162, 96, 75,107,205,165,241,144,204,
+121, 46,122, 24,121, 16, 85,205,101,235,185,215, 46, 16, 93,195,237,211,135, 84,135, 39,188,183,172,120,111,255, 4,149,128,169,
+154,168,140, 95,156,112,174,210,249, 97,172,120,241, 19,138,118,248,136, 7, 62,252,168,127,111, 3,179,178,230,142,243,200,182,
+ 67, 89,195,101, 41,209,137,166, 9,130,179,166, 35, 65,160,149, 34,113,158, 84, 71,226,104,176, 30,165, 3, 66,122,132,140, 36,
+ 75,231, 3, 9,146, 36, 29, 18,108,131, 74, 7, 8,153, 18, 66,136,235, 5,145, 34,164, 67, 40, 5,198, 68,127,191,236, 31, 89,
+154, 64, 83,130,206,145, 82,225, 93, 11, 40,130,181,136,158,143, 17, 2, 49, 92, 71, 43, 86,157,167, 9,129, 89,103,232, 84,204,
+101, 95,153, 24, 36,212,118, 45,198, 70,226, 94,133,165,232,101,139,247,156, 97,164, 82,238, 87, 51,102,245,146, 84, 42, 62,168,
+207,208, 66,112, 22, 28,101, 91,210, 25,203,235,103, 11,110, 63, 92,224,187,152, 65, 18, 86, 51,194,100,147,176,170,160,200,176,
+167, 51,190, 97, 60, 63,187, 53,229,111, 62,186,203,127,187,115,137,191,189,255,136,223,218,186,192,223, 61, 57,226, 55, 55, 47,
+240,229,195, 71,252,187, 91,155,252,157,253, 99,126,227,210, 46,138,209,115, 95,194,119,177,155,117, 54, 94,232, 7,195,152, 23,
+ 46, 68, 44,234,231,187,117,215,211,211,126, 82, 81,255,145, 65, 48,105, 52, 42,247,140,111, 66,140, 23,140, 49,160,154,193,176,
+ 96, 99,178,206, 88, 4, 58, 33,120,118,247, 42,137, 82, 20,197, 0,145, 38,140, 6, 25,203,198, 80,117, 13,206,195, 73,240,125,
+ 18, 27, 79,132,126,193,245, 33, 49,231,161, 37, 46,142,204, 73, 40, 3,164,131, 20,239, 2, 77, 27,177,166, 85, 99, 49,153,142,
+ 99,122,111,250,209,116,127,197,210, 58,250,199,165,140,143,253, 60, 4, 69,246, 48,115, 84,175, 72,127, 42,181,174,231,199,208,
+ 17,239,131, 15, 63, 8,122, 73,116, 20,102,232, 12,167, 85,159, 95, 46,216, 45, 4, 71,173,103, 43,133, 60, 17, 17,119,159,193,
+ 56, 81, 84,166,143,179,125,122,167,254,209,131, 84,162, 49, 45, 84,193,177,155,104,150, 62,208,122, 71,234, 37,171,208,197, 34,
+ 37, 60,104, 98,148,172,251,241, 35,248, 59,111,191,207,167,126,238,103, 25,142, 10,118, 54,214, 73,178, 12,103, 96,243,194, 26,
+ 73,162,201, 18,141, 18,146, 60,141, 99, 48, 2, 88, 23,250, 61,116,212,104,139, 62,197,206,135,120,225,132,128, 23,176,168, 13,
+165, 13, 84, 33,208,250,152,230, 38,129,129,150, 88, 23,176,190,119, 10,218,248,124,183, 54,224,157, 64,229, 41,149,130, 47,127,
+229,117,190,118,231, 38,167,109,203,237,179, 37,169,144,108,143, 70,116,206,144, 74, 5, 2,150,101, 73, 87,213, 52,166, 99, 57,
+ 43,169,140,101, 53, 95, 32, 16,188,246,234,115,124,246,181,231,216,125,102, 7,165, 36,182,115, 76,134, 25, 82,168, 40,133,176,
+177,163,213, 90,245,246, 59, 79, 75,136,108,111, 2, 66,120, 52,129, 68,123,164,128, 65, 42, 25,166,130,253,147,150,121, 11, 42,
+ 83, 36, 91, 3,212,229, 9,179, 44, 99, 88, 40,242, 97,138,203, 4,170,181,100, 37,100, 13,164, 85, 75,162, 3,162, 72,104,206,
+ 42, 86,119, 78, 57,123,247, 30,195,195, 37,195,221, 33, 94, 9, 38,169, 98,154,105,214,165,228, 84, 9, 78,133,100,238,161,242,
+129,131,206, 81,181, 14, 21, 4, 63,181, 57,100, 60,204,184, 58, 29, 48, 65, 49,237, 28,239, 46, 44,143, 42,207,137, 87,212, 94,
+ 81, 76,167,232,193,152,201,231, 95, 99,109, 52,225,149,159,126,137,245,221, 93,142,110,220,230,180, 58,163,104, 20, 7,181,197,
+250,238, 9,255, 27,112,203, 57,214,212,184,182,194,183, 29,206, 70,107,142,111, 43,252,254, 62, 15,125,205, 67,161,121, 36, 20,
+186,110,248,189,217, 25,223,156, 47,216,117, 21, 74, 15,200, 58,195, 39, 22, 11,218, 79,127,140,175,220,221,231,247,254,223, 63,
+160,222,187, 11,123,119, 16,123,247,225,225, 7,136,211,135,212,203, 83,110, 39, 99,126,126,107,196,118,154,144, 2,215, 77, 66,
+ 53, 59,225,127,120,247,117, 94, 28,111,210,165,113,109,227, 66, 96,225, 28,251, 58, 97,101, 3,206, 71,254,193,206,184, 32, 15,
+ 32,180, 96,101, 44,153, 82,132,224, 81,214, 50,234,106,138,224, 80, 2,132,105, 81, 34, 65, 40,137,237, 58,140,119, 24,235, 88,
+152,150,219,109,205, 94, 91, 99, 85, 66,161, 37,222,244,217, 11,198,145,166,138,202, 6,150,117,139, 50, 6,233, 91, 70,190, 33,
+119, 29,151,165, 99,214,118, 40,161,120,175, 92, 33, 72,120,102, 52, 96, 71, 39,180,120,142,218,134, 63,154,205,120,189,105,159,
+100, 60, 52,117,212,228,232,132,103,242, 2,225, 45,175,201,192,179, 90,144, 73, 9,198,177, 46, 37, 39,198,240,103,139,146, 67,
+235, 80, 42,160,210, 20,157, 15,217,205, 11,174,101,154, 23,210, 9, 69,185, 96,179, 53, 76,150, 43,166, 77,197,165,174, 99,125,
+126,196,206,170, 34,239, 58, 46, 34, 40,138,140, 71,171, 50, 94,123,123, 11,220, 15,116,213, 79,251,223,127,194, 77,126, 4,110,
+243,248,179,214,136, 62,162, 22, 41, 17,222, 16, 74, 67,125, 86,179,119, 54, 99, 71, 64,235, 28, 71,193,209, 52,142, 36,141,185,
+243,206,217,152,220, 71,143,208,150, 18, 47, 37, 99, 1, 67,149, 34,108, 67,174, 83, 68,240,136, 16, 80, 74,161,180,198,155, 14,
+165,211,248,255, 42, 13, 66, 69, 56,143, 78, 30,175, 73, 67, 79, 50, 21, 8,130, 51, 8,165, 9, 62, 32,164,196, 57,135,119, 29,
+ 72,133,107, 27, 42,215,178,232, 90,142, 92, 71,165, 21, 43,211, 97,156,101, 86, 87,212,214, 48,175, 75, 90, 99, 56, 94,157,114,
+ 86, 47,113, 93, 76, 13,205,164,162,243,158,198, 25, 58, 91, 71, 62,153,141,211,202,224, 28,243,186, 98, 86,118, 60,168, 27,190,
+117,127,134,171, 75,124,215,197,233,136,245, 4,215,198,201,185, 51, 80,164, 8, 27,120, 40, 2,191,144, 42,254,215,179, 57,255,
+229,133,203,252,131,249, 41,127,105,178,206, 31,207,102,124,122, 48,224,125,239,249,226,120,200,239, 60,122,216,239,212,207,119,
+232, 66,199, 87, 40, 43,162, 10, 83,233, 39,123,225, 44,235, 81,174,254, 39,238, 99,127,116, 81,239, 49,168, 42, 34, 95,133, 76,
+158, 40,202,243,130, 43, 91, 35,156,235,152, 12, 70, 60, 63,216, 96,168, 82, 54, 46,108,176,190, 49, 97, 56,202,169, 92, 32,209,
+ 2,141,102, 81, 87,180,206,210,150,203, 88,212,211,254,196,123, 14,157,193, 61,177,111,133,168, 48, 71, 38,209,246, 41, 4,100,
+ 58,138, 78,179, 62,116, 70,136, 72,116,115, 54,118,194,217, 8, 46,108,194,120,210,155, 68,237, 19,113,153, 16,113,167, 46,228,
+ 19, 12, 46,125,222,186,232,223,222, 46, 64,222, 71,173,202,143,232, 17,156, 3,153,227, 68,212, 45,100, 82,162,164,199, 42,193,
+118,166, 24,249,192, 44, 4,174,104, 1, 38,112,220, 24,130,147, 79,118,233,231,187,245,115, 84,237,121, 56, 75, 15, 87,223, 72,
+ 51, 14, 86,134, 81, 34, 24, 1,123,101,199, 52, 81,120,239,104, 90, 8,231, 62,254,243,215,246,199,124,172,239,110,113,245,185,
+171, 28, 30,159,209,118, 22,235,162, 53,195, 7, 98,161,245,129, 60,213, 81,200,229, 3,109,239,130, 8, 38,250,194,131, 7,153,
+136, 40,228,203, 20, 78, 8,188,141,135, 68, 21, 4,173,245,116,198,163, 19, 25,227,101,125,164,205,121, 41,113, 82,112,218,121,
+ 26, 36, 22,129, 81, 26,169, 5, 70, 4,246, 30,156, 98,219,142,141,124,192, 70,158,145,234, 24,178, 32,133, 68, 8,197,201,106,
+201,170,109,232, 92, 71,211, 52, 52,109,131,176,130,203, 59, 59, 92,187,180,197,178, 54,220,188,125,192,173, 27,247,121,120,255,
+128,147,147,134,139,187, 19,166,131,140,166,179, 4, 60,169,142,118,186, 32,192, 17,217,251,238, 28, 84, 67, 32,147,144, 73, 65,
+145, 18,243,236, 19,201,234,246, 25,234,168, 36,109, 3,173, 13, 24,231,168, 51,197, 65, 90,176,187, 54,192, 6,129,210,144,109,
+174,193, 89, 64,172, 26,228, 78, 70,216, 26,226,157,195, 46, 27,138,105,193, 96,154,197, 29,108,174, 24, 37, 41,131, 32, 72, 31,
+174,152, 47,150,124,235,205, 7,248, 89,205,222,237, 19,150,143, 78, 80,171,146,176,114,236, 92, 24, 81,100,154,149, 11,116, 85,
+199,119,206,106,238,204, 42,188,146, 12, 6, 57, 27,163,148, 53, 9, 83, 13,133, 51,252,133,181,130, 23, 54,166, 20,105, 66,121,
+237, 89, 84, 39, 88,203, 4,207,174, 13,217,185,176,195,238, 51,151,152, 92,216,198, 14,167,204,100, 17,119,138,182,251, 16, 74,
+244, 49, 63,252,240,144,166, 44,121,235,108,201, 31,180, 53,223, 52,146, 67, 33, 25, 89,199,206, 56, 97, 83, 6,198,153,226,149,
+179, 51,174,143,135,108,109, 92,100,111, 56,197,222,125, 31, 30, 62,130,114, 9,143, 30, 33,142, 14,145,237, 9,121,217,241,146,
+ 30,145, 90,143, 50,142,113, 93,241, 41, 5, 55,170, 37, 95,105, 21, 23, 7, 9,251,198,114,199, 7,206, 42, 71,139,100, 17, 34,
+187,123,144, 72, 70, 90, 35,137,191,255,169, 16,148,182,163, 51,134,196,180, 12,130, 39, 13, 17,141,235,157,197, 56,135,117,142,
+218,118,236, 45, 79, 40,125,199, 94, 87,115,234, 13,123,171,154,205, 52, 69, 56, 71, 98, 12, 74,107,172,113,236,173,150,204,155,
+146,196, 25,214, 77,139,176,158,173, 96, 88,115,134, 13, 33,120, 80, 46,168,108, 75, 73, 74,174,225, 97, 83, 49, 43, 87,188, 63,
+ 59,225,171,243, 83,154,122, 21,187,197,166,238, 29, 65, 30,145,103, 12,165, 68, 4,199,101, 60,133,130,129,183, 36, 33,240,230,
+106,193, 55, 22, 53,111,119, 45,210,117, 72,157,162, 84,194,122,154,176,155,142, 25,203,132,237, 84,115, 17,201,150, 82,172, 15,
+ 10, 10,149,162, 59, 19, 41,154,190,141, 54,208, 76, 50, 29,143,112,227, 1, 71, 70, 34,122, 97,240,143, 42,236, 63,224,131,255,
+ 17, 30,120,249,209, 98,175, 53,164,186, 39,223, 41,240, 50, 14, 37,234, 54, 34,184,157,225, 65,211,114,203, 72, 86, 4,190,223,
+ 6, 58, 97, 88,217, 88,124,141,115,184,224, 64,169, 88, 12,165, 64, 6, 72,137,144,171, 92, 72,164, 80,104, 2, 34,196,107,153,
+210, 89,244,134, 88, 19, 15, 18, 62,230,117, 8,235,162, 41, 85, 74,130,105,192,199,159, 39,164, 36,116,109, 63,232,140,164, 58,
+111, 44,222, 26,218,224, 40, 77,199,158,181,236, 57, 75,109, 45,149,139,120, 91, 33, 98,166,124,213,149,156,214, 51, 78, 76,195,
+254,114, 70,235, 13,141,119,145,246,169, 37,137,243,204,109, 36,148, 58, 60, 74, 40,108,215,178,242, 14, 17, 60,137,240,220,173,
+ 58, 90,215, 18, 76, 31,196,163, 1,157, 18,154, 14,145,100, 80, 25,196,184, 64,212, 13,183,117,202,127,188,177,206,255,120,176,
+207,191, 54,200,248,227,101,201,181, 60,101,134, 39,183, 29,255,240,228,132, 79, 76,167, 40, 38,207,127,233,113,135,238,109,244,
+154, 43, 31,187,201,243,142, 80,244, 5,160,237,250, 83,229,191, 98, 81,215,242, 73,241, 13, 1, 17, 92,124, 20,215, 47,241,241,
+ 75, 27,124,226,153, 23,184, 52,221,226,165,173, 93,158, 25,111, 34,114,205,181,237,117, 86,222,210,153,192,104, 50, 32, 40,205,
+131,131, 67,214,199, 99,110,159, 29, 96, 86,125,234, 88,103,226,207, 14, 42, 30, 58,240,209,190,117,238,137, 23,196, 19,155, 82,
+253,247,137,184,140, 10, 34,118,242, 90, 70, 53,250,170,141,127, 63, 30,193,120, 8, 69,191, 46, 88,244, 39,235,243, 81, 55, 50,
+254,172,115,225, 95,146, 63,225,212, 43,221,191,145, 93,188, 63, 79, 67,100, 30, 63, 31, 30, 66,252,217, 90, 4, 70, 69, 84, 87,
+174,245, 9, 97,151,181, 70,121,207,134,138, 2,158,121,235, 34, 97,142,240,100, 5,114, 14,146,120,124,104,178,208, 70,162,220,
+ 84, 11,150, 33,230,239,166,137, 96,213, 6,188, 10, 76,148,160, 13,125, 34,158, 23, 63, 20, 23,251,244,199,205,239,191,195, 23,
+255,173, 95, 97, 99, 50,100, 89, 54, 49,181,169,179,116,141,137,193, 10, 66,145, 38, 9,131, 76, 71,202,174, 13,125, 94, 76, 64,
+247, 2, 63,173, 98, 82,152, 84, 18,215,249,216,125, 3,193,249, 56,198, 31,166, 12,138,148,198,249,199,254,112, 47, 4,101,231,
+104,250,116,218,243, 19,123,227, 29, 89,170, 8, 33,161, 59,171, 65,138, 24, 24,163, 53, 73, 63,142, 12,193, 33,148,100,160, 52,
+ 74,105, 6,217,128,141,181, 45, 70,147, 49,235,147,156,189,253, 51, 30, 62, 58, 0, 41, 41,242,156,166,233,176,193, 82,163,216,
+221, 26,225,131, 71, 17, 80, 74,162,117, 68,224, 57,231,232,140,165, 53, 54,134,163,244,145,188, 82, 4,180, 20,104, 17, 51,230,
+147, 66,177, 56,108, 24,165,146,237, 92,113, 57, 75,240, 14, 94,155, 36,108, 21,154, 3, 27,240, 62,142,234,241, 30, 70,154,230,
+210, 4, 51,200, 9, 89,130, 30, 21,136,237, 9, 97,154, 35,134, 9,153,243, 80,183, 4,235, 88,168,192,187, 66,112,253,229, 29,
+214,114,201,149,205,130,143,125,108,139,112, 92,177, 38, 2, 97, 99,196,126, 23,120,111,105,120,115,222, 50, 51,129,221,164, 99,
+224, 29,207,155, 57,203,147, 67,158, 75,115,182,117,202,115, 4, 46, 21,145,184,101,141,225,189,178, 68, 59,199,154, 15, 12,132,
+ 98, 82,228, 20,137,100, 45,207,216, 42, 82, 46, 76, 6, 12, 54, 38, 28, 39, 99, 12, 22,223,118, 63,144, 4,198,226, 12,230, 51,
+186,170, 36,156,158, 16,164,163,194,243,234,112,196, 90,146, 80, 32, 73, 19,141,106, 59,210, 97,194, 48, 36,220,169,142,225,228,
+ 36,254,238,104, 13,139, 5,161,172,185,115,188, 79,222,204,217,182,138, 20, 40,178,140,137,119,108,183, 43, 30, 46, 79,185,217,
+118, 28, 90,203,101,239,216, 54, 13,223,245,130,147,182,230,154,106,153, 91,197, 51,169, 36, 85, 26,109, 3,214, 25,172,243, 28,
+149, 11, 26,111,217, 49, 29,162,109, 81,222, 48, 91,205, 16, 33,112,216,173,120,103,254,136, 42, 4,238, 45, 78,121, 48, 63,226,
+102,181,162,170,150, 72, 17,176,171, 37,251,213,130,179,206,241, 96,118,130, 13,158, 77,211,209,181, 45,181, 51, 76,188,193,135,
+192, 26,129,196,118,100,182,161,241,112,228,106,206, 26,195,119,246,239,242,181, 71,247,249,254,236,152,114,177,128, 85, 5, 39,
+ 11, 88,172, 98,151,222, 58,200, 51,108,128, 81,154,241, 65,215,113,217, 55,184,186,102,102, 12, 15,218,154,127, 81,150, 72,211,
+ 34,130, 67, 57,131,212, 25, 87,211,140,105,158,147,250,192, 40, 75,217, 29, 20,108, 37, 3,134,131, 28,229, 37, 88,131,176, 6,
+111, 59,172,181,100,105, 74,161, 21,147,193,136,106,154,115, 38,250, 61,126, 80,209, 77,209, 95,167, 62, 90,204,197,211, 94,248,
+159,112, 67,107,132,146,113, 74,231, 69,236,137,212,147, 97,188, 8, 14,124, 64,184,216,136,148,139, 6, 23, 60,123,157,231, 65,
+219, 17,122,108,107,227,162, 69,239,156,176, 23, 3,158, 2,107, 74, 19, 76,135, 14, 14, 37, 53, 88, 23, 83,191, 67, 76,100, 59,
+ 47,238, 16, 16, 82, 19,188, 69, 4,240,214, 32, 84,130,183, 13, 8,133,235,237,213, 65, 42, 92,215,225,123, 79, 73,227, 90,170,
+174,228,160,173,184,225, 91,218, 52,227,172, 89,225,172,165, 54,134, 89,189,192,226,153,155,150,133,235,184,187, 92,177,244,130,
+121,185,140,217,101, 34,170,107,103,222, 48,214, 26, 23, 60, 2,201,170,169,168,112, 24,239, 80, 66,114, 84, 55,200, 34,225,168,
+ 1,239,187,184,254,241, 50, 70, 69, 75,141,176, 6, 38, 3,196,217, 2,177, 62,229, 25,219,242,181,206,240,249, 34,231,173,206,
+178, 50, 53, 55,140,163,236, 58, 30, 24,207, 84, 4,190,182, 56, 65,177,118,237, 75, 36,170, 7,195,232,152,231,157,232,120, 83,
+250,195,227, 93, 99,162,255,208,152,127,181, 0,152,180,207, 92,215, 17, 82, 35,242, 49, 92,186,204,175,190,252, 9, 94,189,250,
+ 50,105, 54, 96,123,123,155, 75,235,155,120, 18,158,189,180, 78, 35, 36,237,170,102, 48,202,105,173, 71, 42, 73, 38,115,234,174,
+197, 55, 45,167,222,198, 39,227,220,158,161,101, 31,129,218, 39,191,185,238,201,232, 95,245, 34,183,200,246,140,111,184,243,119,
+176,212, 49,113, 45, 81,113, 12,223,118,209,214,103, 2, 44, 87, 96,234, 15,171,216,149, 0,145,244,157,115,255,174, 21, 60,225,
+183,107,221,115,220, 93, 47,158,179, 63,228,249,136,246,182,221, 97,202,172,243, 60,167, 21, 19,165, 24, 4,137, 14, 81,220,230,
+140, 99, 34, 36,163, 4, 78,218,126,243,117, 14,245,177,246,169,207, 79, 17,250, 68,191, 43, 62, 15,101, 8,176,169,160,108, 2,
+109, 48,100, 58,193,153, 62,128,230, 39,116,234, 0,107,155,235,188,242,202,139, 4, 41, 72,115,205,198,120, 72,231, 2,182,243,
+ 12, 38, 3, 46,175,143, 81, 90,160, 84,204, 74,246,189, 67,210,248,128,150, 17,214,160, 50,137, 12, 49, 94, 85,246,246, 16, 84,
+188,127,137, 76,200,242,120, 40,136, 83, 50, 65, 32,224, 2, 72, 33,226, 83, 74,160, 72, 53,227, 60, 69,202, 64, 58, 76, 57,126,
+112,138, 18, 10, 37,101, 20,188, 16,185, 5, 74,106, 70,249,144,193, 96,192,179,187,151,248,245,159,249, 56,155, 27, 99,246,143,
+ 22, 28,157,206, 24, 78, 70,140, 39, 35,202,178,162,115, 29, 27, 59,219,236, 92,218,196, 56, 79,145, 39,140,138,148, 36,145, 24,
+ 27, 21,175,214,122, 66,159, 36,230, 93, 92, 25, 9, 31,176, 54,178, 18,206,175, 87, 74, 9,150,165,165,107, 2,249, 32,137, 57,
+209, 90,146, 56,203,254,157, 83,228,170,229,221, 59,103,156,236,159,177,153, 41, 90, 25,184, 51,144,188,227, 36,199, 78,114, 88,
+ 59,110,189,115,143, 71,247,246, 56,156,149,148,214, 82,183,150,170, 53, 36,211, 1, 11, 1,223,190,241,136,236,246, 13, 62,247,
+252, 37,254,198, 87,222,230,209, 59,183,105,131,103, 88,149, 36,121,198,123,179,134, 3,165, 56, 10,129,195, 32,248,181,171, 5,
+191,126,109,155,183, 31, 60,228,155, 15,110,242, 79,238,222, 35,168, 0, 94,112, 57,139,194,179,251, 7,199,220, 95, 44, 24, 59,
+199,192, 88,148,233,200, 2,140,181,230, 74, 62,224,103,183,175,176,150,167,180,137,198,111, 13, 56, 45,214,177,178, 32,212,154,
+ 96, 10,144,105, 47,191,139,204,242, 48, 59, 37,156, 30, 18,116,198,107,215, 95,100,153, 77,216, 17,142, 76, 69,173,132, 74, 20,
+171,214, 82,174,206,184, 89,183,132,229, 28,202,138,160,227,117, 39,216,128, 43, 27,190,183,127, 68, 48, 51, 46,167, 5, 35, 60,
+197,104,140, 91,157, 50, 59,222,227,247, 15,143,120,239,116,193,221,206,242,229,131, 7, 60, 76, 50, 78, 44,220, 53,134, 55,218,
+142, 63, 41, 27,254,164,178,188, 42, 12,202, 59,230,229,138,247,203,134,133, 89,226,219,154,172,107,152,205, 23, 20, 74,242,246,
+242,140,119,206, 78, 56,237, 12,247,151,103,188,123, 52,227,189,211, 19,110,221,220,227,224,116,197,189,147, 67, 6,218, 18, 92,
+199, 89,181,192,154, 21, 89, 91,225, 77, 67,144,144, 4,135,145, 10,237, 29,185,247,132,174, 70, 59, 3,166,194,116, 13,111,150,
+103,204,170, 25, 77, 85,225,202, 10,206,106, 68, 91,193,193,105,116,233,204, 74, 68,103,160,169, 48,153,100,133, 96, 89,151,188,
+ 93, 54,188, 55, 91,240, 94,181,226,187,203, 21,194,180, 8,103, 17,109,131,116, 6, 41, 3, 23,138, 2,229, 2, 90, 72, 10, 31,
+120, 46, 75, 89, 83, 58,226,175,149, 66,167, 41,190,109,168, 93,139, 21, 14,225, 29,211, 98, 68,162, 37,195, 44,229, 76, 8,150,
+ 66, 64,145, 65, 58, 64, 36, 3, 68, 26,217,242,194,187, 15,129,109,158,190,233, 31, 2,184,121,220,173, 39,125, 81,239,127,199,
+ 63,180, 44, 12, 1, 17,250, 70, 40,213,143,243, 49,132,239,192,122,188,131,163,101,199, 28, 71,129,196, 27, 75,135,196, 58,199,
+ 80, 41,202,174,166,243,150,156,136, 69,238,156, 65, 17,245, 8, 65, 4,148, 84,216,166,126,172,213,242,166,137,235, 63,215, 70,
+ 1,154,179, 56,215, 98, 93, 3, 82,198, 3,159,169,113,128, 17,158,186,171, 57,107, 87, 84,206,114, 11,199,126, 87,113, 96,106,
+206, 90, 75,101,106,142,154,101,100,181,183, 37,165,183,156,214, 53,149,117,172,130,195,121,137, 12,129,153, 53, 52,182,139, 61,
+241,249, 52,136, 64, 16,158,178,139,142,158,101,137,101, 66,182, 0, 0, 32, 0, 73, 68, 65, 84,221, 50,144,138, 34, 4, 76,170,
+153, 45,226,227, 15,244, 73,154, 26, 68, 62, 64,204,150,136,173, 41,226,224,132,114,109,194,199, 21,188,141, 70,116, 21,211, 44,
+163,180, 29, 59, 50,229,253,114,198, 80, 69,131,171, 98,227,249, 47,209,217, 39, 59,117,161, 99, 1,234,122,111,186,137, 72, 70,
+234, 85, 28, 19,201,126, 7,126, 14,148,249,151,234,214,243, 88, 72,133,131, 98,130,152,174,243,201,171,151,120,118,243, 25,132,
+ 78, 80, 42,225,226,214, 26,193,121,116, 8,204,235,142, 34, 19,104,173,168,106, 75, 72, 5,243, 85, 75, 85,119,120, 99, 25,164,
+146, 91,179,167,226, 8,207, 5,120,178,127,171,157,135,151,156,219,191,242, 65,111, 13,147,125, 26, 90,159, 43,158,244,143, 57,
+ 75,122, 92, 99,136,187,250,197, 18,202, 50,222, 62, 10,107,145, 50,190,179,147, 36, 30,126,206,139, 56,125,145, 63,143,167, 85,
+105,156, 24,164,242, 7, 11,187,148,224, 53, 11,103, 89, 79, 18, 54,165, 32, 11, 17, 62,227, 9,236, 8,193,153, 11,140, 3, 56,
+ 33,217,212,146, 35,215,119,253,231,157,250,227,207,189, 69,174, 47,244,174, 47,252, 57, 34,238,151, 91, 67,154, 43,180, 82, 49,
+158,150,222, 3,255,231, 0, 16,188,251,221,183,248,236,175,254, 2,219,235, 19,164,146,204, 87, 45,211,233,144,147,147, 25,243,
+211, 37,181, 9, 72, 21, 59,210,104, 3, 11, 49,158, 84, 42,138, 92,147,100, 18,225,162, 11,221,138,152,188,150,104,141, 22, 10,
+111, 61, 74,198, 16,149,170, 54,120,231,113,206,211,117, 30,173, 37, 74, 62,185, 13,243,140, 76,235,152, 1, 36, 20,109, 29, 40,
+ 23,101,223, 97, 4,178, 36,165, 72, 7,140, 39, 19, 38,211,117,158,123,254, 25, 62,247,242, 46,139,147,146,111,188,127,135,116,
+144, 81,140, 6,180,109,199, 98, 85, 49,152, 12,185,120,113,155,225,184,192,247,187,251,213, 50, 94,168, 7, 89, 18,197,123, 62,
+ 18,242,140,141, 5,221,121,143,235, 85,253,198, 58,156, 11, 72, 41, 73,180, 34, 77, 52,227, 65, 74,146, 42,208,113, 60, 88, 87,
+ 29,109,211,113,116,255,144, 91, 55,239,176, 56, 61,225,224,225,125,110,223,219,231,237,219, 15,248,214, 91, 31,112,156,175,177,
+ 51, 46,152, 37,154,183, 66,194,151,191,250, 45,190,254, 63,255, 9, 95,189,241, 46,255,232, 15, 94,231, 31,253,227,111, 35, 86,
+199,188,124,249, 58, 39,251,167,252,155,175,190, 76, 33, 52,191,255,213,111,112,229,234,101, 62,251,185, 23,248,245,237, 33,127,
+ 38,128, 11, 67,202,165,229,229, 73,134, 82,154, 95, 30,166, 56, 31,248,238,253, 3,188, 53,124,236,234, 85,220,100,131, 67, 2,
+218, 25,238, 86, 45,167,171,146,235,197,152, 32, 4, 3, 33, 49, 38,134,136,164, 82,242,233,141, 93, 46,236,236,176, 57, 28,115,
+211, 90,110,184, 12, 49,154, 64,161, 48, 58,193,111, 20, 20, 91,235,236, 92,219,129,209, 58, 45, 26, 86, 22,164, 37, 4,201,228,
+217,103,185, 62, 78, 25, 11, 73,103, 59, 18,173,217, 47, 87, 44,155,150,133,149,124,176,154, 69,104,211,108, 21,131, 44,130, 36,
+120,219, 31,236, 4,111,207, 86, 92, 80, 13, 27, 74,211, 85, 37,143, 22,135,252,189,123, 71,188,249, 96, 70,117, 60,231,232,224,
+ 16,237,107, 46, 54,103, 44,110,220,160,109,103,160, 4, 66, 39, 8,219,242,237,229,140,163,166,230,165, 34,227, 15,110,189,135,
+246,129,213,252,152,211,249,130,155, 85,203, 91,243, 5,239,150, 21, 95,155,151,188,126,182,228,221,121,205,131,217,146,217,106,
+137,107,107,156,109,169,170,146,155,243,154,253,182, 37,152,138, 60,213,236, 74,201, 84,128,113,150,160, 20,170,107, 81,214,112,
+236, 45, 27,166,161, 67, 64,215, 50,111,151,212,139,138, 85, 85, 33,124, 0,231, 16, 94,192,188,129,118, 5, 93,141,176, 29, 84,
+ 37,156,158, 33, 14,143,240,103, 11,192,227,203,138,122,181,164, 92, 44, 16,139, 5, 98,181,132,186, 66, 46, 22,136,174, 69, 9,
+195,202,117,172,107,141,144, 9, 74,192, 69, 45,217, 17,158,161, 76,145, 90, 18,234,146, 96, 29, 70,128,212,138, 81,154, 33,128,
+ 66,105, 10,165,113,161,195,100,138,153,241,136, 44,129, 97, 6,163, 17, 66,166, 72,149, 34,113, 72,231, 62, 4,181,209, 79, 21,
+118,253,195, 10,187,142, 35,115,126, 72,136,140,112, 46,214, 20, 41, 99,167, 46,162, 72, 48,142,203, 29,162,234,192, 5,170, 85,
+203,253,202,176,232, 12, 34, 4,130, 12,204,155, 38,114,230, 3,116,109, 75,227, 12,185, 15,184,224,232,188, 65,122,168,187, 42,
+166, 45, 58,135,235,106,156,233, 98, 65,247,142,174, 94, 17,132,199, 88,139, 13,142,206, 89, 90,111,113,222,177,104, 86,148,109,
+195,153, 45,217, 55, 45,111,119, 75,110, 54, 43,110,149, 53,119,203,154,210,118,220,238, 58,150,173,161,242,142, 86, 73,102,171,
+ 18, 43,161,179, 22,101, 35,236,108,209,212,148,222,227,181,228, 65, 85,115, 49, 75, 56,181,134,182,173,177, 33,224,149, 64,219,
+232,199, 55,214, 49, 85, 10, 33, 96,179, 72,217,171, 76, 20, 81,123,143, 48, 22,108, 28,193,203,249, 10,177, 54, 69, 30,204, 56,
+ 77, 20, 98, 49,199, 14,134,172,230,115,188,210,156, 52,115,100,154, 49, 11,158,114,121,134, 98,116,237, 75,232,243, 78,189, 79,
+ 87,235,179,101,177, 29,212, 77,236,222,109, 63,218, 78, 84,180,141,105,126, 44,192,228, 7, 62,178, 52,238,184, 19, 21, 79,132,
+227, 33,131,233, 26,175, 93,190,198,100,109, 28, 35, 59, 61, 12, 6, 57,178, 23, 64,248,186, 69, 43,201, 96,152, 97,156,229,204,
+121,170,101, 75, 23, 12, 78,192,114,181,228,160, 93, 96,170,174,183,204,201, 39,209,169,231,176, 27,211, 19,230,210, 34, 22,239,
+252,188, 8,247, 59, 23,165,123,206,125,218, 43, 80,251,125,181, 51, 31,142,150,253, 97,235, 4, 21,161,251, 72,221, 23,243, 36,
+ 58, 6, 92,128, 81,209,231,201,247,197,190,238,126,112,212,237, 92, 31, 75,171,217, 78, 20,195, 30,206,210,187,238, 48, 6,118,
+ 18,193,125,239, 24,186, 64, 30, 60, 71, 82,224,186,167,118,233,231,157,250,211, 74,246,126,109, 18,124,192,132, 56,238, 86,104,
+108,176,113,244, 29,252, 19,220,237,159, 51,170,113,184, 54,225,226,181, 93,138, 36,199, 56,195,254,253, 35,188, 51, 12, 6, 35,
+ 28, 48,155, 55,120, 4,147,113,134, 16,130,245, 34, 65, 8, 65,158,107,148, 82,100,153, 36,207, 20,193,157, 3,102, 4, 89, 46,
+ 73, 19, 69,150, 69, 14,130, 53,158,209, 80, 19,130, 64, 72, 17, 71,102, 65, 60, 30,225,159,199,218, 7,235,217,159,149,125, 34,
+159, 96, 48, 25, 50,154, 76, 24, 77,198,140, 38, 99,146, 60, 69,167, 5,173,177,236,205, 86,204, 77, 96, 48, 28,130, 20, 72, 47,
+ 73,146,132,233,250,152, 52, 77,104, 27,195,236,116,193,219,239,191,203,255,246, 71, 95,231, 79,254,244, 13, 82, 20,235, 59,107,
+140,139,244,241,232,207, 67,175,118,117, 44,202,142,186, 49,148,165,161,169, 45,214,248, 72,197,235,237, 55, 39,173,231, 99,157,
+225,170,246,188, 25, 60,243,170,102,181,170, 89,149, 21,117,187, 36, 81, 9,243,213, 25, 15, 14,247,216,223,127,196,173,218,241,
+ 96, 1,126,123,196, 34, 75,176,207, 60, 75,158,150, 28,190,254,128,240, 65, 75, 56,171,184,251,157, 61, 62,243,133, 87,184,242,
+252, 46, 97,125,192,157,121, 69,125,122, 76, 97,106,222,185,117,159, 7,143, 30,242,245, 59, 15, 57,122,255, 30,215,240,252,123,
+ 47, 61, 67, 45,224, 31,191,243,128, 71,139, 57,111,207,106,158,219,216,228, 23, 63,243,113, 54, 94,125,158,181,235,187,220,244,
+130,123,247,238,240,193,131, 91,124,112,114, 76,131,103, 39, 31,240, 64,167, 44,218, 21, 50,209,188, 52, 93, 39, 77,115,106,107,
+248, 78,215,241,102, 82,176,157,101, 92,209,130,157,196,144,143, 51,198,211, 9,195,124,192,246,198,144,193, 48,101,161, 83,124,
+231,193, 25,102, 23,183, 25,232, 49, 74,122, 74,165,104,234,154,253,174, 99,229, 53,221,149,171, 28, 79, 47,210,118,115,120,120,
+ 16,131, 69, 92, 31, 22,226, 61,190,159,144,188,109, 91,218,106,201,205,182,228,255, 40, 87,124,103,105,113,243, 6,247,193, 28,
+127, 56,199,220, 93, 49, 95,149, 96,170,216,217,248, 14, 49, 63, 70, 78,214,216, 30,111,241, 59, 95,248, 4,191,252,169,151, 48,
+173,231, 96,126,204,219,251, 51, 62,184,247,128,123,103, 43,238,122,193,163,166,165,105, 44,214, 54,177,115,107, 27,108, 23,133,
+130,206,251, 88, 32,188,165, 92,173,216,107, 2,147, 84, 50,192,209,248,142, 11, 66, 82,123,143, 22, 2,235, 12, 83,211,178, 82,
+ 9,109, 53,231, 65, 85,179, 10,129,174, 92,113, 58,171, 98, 55,142,138, 81,163,161,111, 8, 62,186,211, 54, 22,177, 92,192,124,
+ 14,179,121,108, 44, 22, 53, 98, 54, 67,156,157, 32,142, 79, 16,199,199,200,197, 2,121,186,128,197,130,185,109,153,153, 10,133,
+ 98,135,192,181, 52, 35,181, 22,209,182,248,206, 97, 8, 56,111, 73,149, 34, 17,138, 34, 73, 73,133, 66,121, 79,234, 3,206, 59,
+ 38,227,156,113,145,240,252,120,192, 11,107, 3,214,166, 5,227, 34, 97,222, 4,148,245,113, 59,233,253,227, 66,158,126,164,200,
+235,167, 58,122, 33, 68, 44,210,166,239,212,205, 83,227,119, 23, 67, 78, 68,136,157,186,112,253, 4,247, 60,184, 38, 8, 68, 87,
+ 65, 42, 17,109, 77,217, 6,246,219,134,147,186,101,148,234,200,205,234, 26,154, 0,141, 49,204,113,164, 33,208, 56, 67, 27, 2,
+166,107,113, 34,208,118, 53, 22, 79,101, 27,156,107,113,214, 96,189,197,184, 14,227, 13,101, 87, 81,217, 22,231, 58,246,218,138,
+131,122,198, 7,109,201,237,106,197,183,109,205,222,114,201, 55, 79, 87, 44, 92,199, 65, 89,115, 38,224,208,121, 78,172, 67,107,
+ 69, 89,150,168, 52,199, 6,139,113,158, 78, 9,150,141,195, 56,207,178, 50, 28, 25,199,153,241,140,173,101, 32, 28, 86, 40, 90,
+103, 81, 46,166,146, 90,239, 25,234,120, 65,203,164, 96, 36, 21, 75,239, 89, 90, 19, 15, 62, 68,160,152,148, 14,129, 66,182, 75,
+212,100,140,154, 45, 81, 89,138,182, 14, 53,202,145,117,137, 74, 52,170,142, 60,125,169, 51, 20,235,207,127, 9,219,119,234,231,
+230,131,208, 7,172,208,231,131, 43, 25,139,177,234,247,235, 42, 60,137, 88, 85,242, 9,159,252, 71, 89,192,164, 4,153,197, 93,
+118, 58,132, 98,128, 72, 83, 6,195, 28,145,164, 76, 82, 77,146,102, 40, 25,240, 1,114,173,145, 74,144, 9,176,166,163, 89, 53,
+204,106, 71,219, 25,206, 22, 37, 42,213,180,171, 6,176, 28,148,115,234,170,137,221,177, 13,177,112,203,190,115, 69, 64, 48,125,
+242,141,140,209,167, 73,127,191,125,136, 35,167,208, 31, 52,252,249,232,186, 39,196,157,123,224,127,220, 58,129,126, 77,145, 21,
+189, 50, 61,196,195,129,214, 79,146,215, 68,191, 14, 16,231,251,240,143,118,252,113, 70, 53,214, 30, 47, 21,218,129,246,113,188,
+123,190,122, 95, 35, 78, 70, 74,239, 25, 10,207,105,119,142,138,181,125,132,107, 95,118, 30, 47,181,206, 95,147, 94, 84,231,125,
+244,104,170, 62,207, 62,244,135, 55,255,231, 63,148,221,248,254, 13, 94,249,204,107,168, 76, 51, 46, 10,234,182,195, 89,199,114,
+ 49,103, 99,115, 74,158,198, 85,205, 48, 75, 98,200,139, 32, 10,224,132, 32, 81, 2, 27, 4,206, 6,130,140,170,101,173, 98, 24,
+ 74,146, 38,164, 89,138, 76, 52, 74, 9,130, 9,113, 56,212,196,200, 93, 99, 60,198,216,120,190, 10,158,217,178,163,174, 61,213,
+178, 67, 41,201,104, 24,139,119,146, 37,188,120,125,155,151, 46,111, 16, 84,138, 15,129, 68, 73,164,144,172,170, 21,243,147, 5,
+ 82, 10,100, 34, 56,124,116,192,247,110,188,195, 31,127,247,109,254,236,246, 45,190,242,246, 45,110,126,103, 15, 62,168,225,118,
+205,141,113,205,199, 47, 93, 98, 99,125, 68,170,162,187, 91,247,178,146,198, 56, 58,227,112, 30,154,198,210, 54,142,198,246,201,
+193, 90,146, 41, 77, 55, 84,124,122,163, 96,120,161,224,238, 32, 97,184, 53, 98,124,101,131,236,165, 75, 36,207, 93, 33,108,173,
+145,138, 1,251,167,167,188,251,206, 1,109, 17,120, 20, 18,214,150,150,236,194,148, 3, 37, 25, 60,127,157,171,215,183,121,246,
+ 51, 59,124,230, 87, 94,226,211,191,246,113, 78,148,229,238,193, 1,239,223,126,200,183, 30, 60, 68, 33,248,173,201, 38, 27, 94,
+240,207, 27,203,157,170, 65,234,140,201,197, 75,216,205, 41,199, 90,211, 77, 11,154,139, 91, 36,151, 47,113, 89,167, 20, 71, 21,
+223, 60,171,121,243,254, 41,239,221,186, 71,215, 89,178,245, 77,222, 42, 87,236, 47, 79,169,234,138,249,114,142,150,130, 85,158,
+ 83,213, 75,164,181,220, 48, 29,223,181, 6,165, 7,228,222,179, 46, 61, 3,215,210,106,201, 95, 26, 13,249, 43,211,117, 94, 82,
+ 18,167, 21, 42,151, 44,172,224,250,100,200, 56, 87, 84,197,132, 3, 18,142, 90,207,253,106, 73,105, 45,109, 91, 51, 89,219, 34,
+ 75, 4,114,178,201,194,204, 8, 71,199,208, 57,130,238,233,118, 66,224,165,161, 89, 54,188, 57, 95,242,237, 69,201,161, 83, 56,
+ 65, 20, 82,174, 41,252,105,212,231,167, 43,207, 79,229,154,191,184, 94,240,252, 98,197,205,186, 4, 28, 87,159,189,198,199, 71,
+ 3,214, 18,205,223,122,235, 30,183,131,136,187,202,163, 57,193,119,120, 20, 94,107,156, 15,209,137,210, 69, 30,130,243,254, 49,
+201,207, 3,193, 69, 17, 21, 78,112,156,164, 92, 25, 42,118,131,199, 58,203, 24, 65,107, 58,134, 4,156,115,100,166, 97, 30, 60,
+167,222, 51, 63,155,115,186,168,232,218, 22,119,178,138,214,170, 44,229,213, 11, 5,255,246,165,117, 62, 62, 29,243,198,241,234,
+113,108,234,227,142,214,244,130,221,182,133,182,142, 28,143,208, 7,184,244,187,101, 89,199, 8, 95,121, 82, 34, 59, 67,233, 26,
+ 82, 37, 24,219,142,245,166, 66, 57,143,243,150,186, 45, 9, 50, 32,157, 39,149, 2, 45, 64, 11,141, 12, 30, 41, 37,133,146,108,
+ 38, 41,159, 24, 12, 25, 39, 9,211,108,192,122, 62, 96,146, 40,126,122,115,194,199,198, 3,214,181,224,200, 58,146, 0,169,247,
+164,125, 97, 79,250,219,211, 29,187,240, 81,148, 38,180, 64, 24,158,100,190, 59, 31,129, 55,206, 61, 1,210, 40,137,176,145, 61,
+ 32, 68, 28,249,147,104,132,141, 13,143, 16, 81, 84,214,117,158, 71,171, 14,105, 59,202,206, 50, 8,130,149, 8, 88,235, 56,117,
+142, 3, 1, 71,182,163,146,146,135, 85,201,137,112,172,154, 21, 51,239,104,218,150,189,174,193,155,134, 67,215, 98,141,161, 82,
+138,101,219,114,191, 46,185, 85, 46,248, 32, 56,190,113,186,226,131,206,112, 99, 94,243,192, 58, 26,231, 89,213,150, 86, 6,170,
+101,133, 79, 83, 26,239, 73, 8, 56, 41,169, 77, 71, 25, 4, 74, 40,142, 86, 13,235, 89,194,126,109, 40,155,134,182, 53,108,103,
+146, 19,103,216,148, 26, 97, 45,155, 74,209, 66,212,191, 16, 83, 30,231,206, 16, 2,212,214,113,185, 72,120,127,209, 64,211, 69,
+205, 53, 30,233, 4, 82,216,184,202, 59, 93,160,130, 64,167, 26,109, 12, 74, 43,116, 8,104, 23, 35,175,149,148,200, 85,133, 98,
+218,239,212,221, 57,253, 77,197, 66,224,252,147, 0, 17,210, 94,237,221,227, 93,117, 74,246,252, 69,214,175, 94, 64, 95,216,164,
+ 29, 15, 97,107, 19, 6, 99,184,120, 33,126,189,181, 9,147, 53, 24,140, 98,145, 77,147,136, 60,204, 18,228, 56, 35, 77, 18,100,
+112,140,117, 26,177,125,185,102, 58, 28, 49, 29, 23, 76,166, 41,174,181, 56,111, 32,120,188,132,106,181,192,244,172,220,163,211,
+ 25, 85, 83,114, 80,205,152,213, 21,198, 7, 66,119,190, 15,239, 85,225, 69, 10, 77,251,132,134,148,232, 88,212,181,142, 43,134,
+244,169,241,187,238, 59,247, 68,199,125,134,210,177,168, 43,249,227,167, 17,185,142, 43, 5,124, 20,212,233, 60, 22,246, 44,233,
+ 45,117, 34,138,239,206, 73, 76,173,123, 34,182,251, 8, 51,255,149,188,160, 8,176,239, 59, 46, 41,141, 2,150,253, 47,241, 88,
+ 8, 18, 33, 72,165,164,240,240, 64, 75,130, 0, 90,251,228, 96, 96, 31,171, 84,122,111,190,232, 21, 27, 34, 78, 16,148, 2, 93,
+244,147, 8, 27, 31,223,191, 76,172,110, 34,217,183, 29, 47,189, 16,225, 22, 87,118, 54, 57, 91, 84,156, 29, 31,225,131,138,135,
+177, 60, 99, 88,100,212,181, 33,200, 88,212,109, 32, 90,209,164,192,123, 17,247,228,113,225, 69,162, 20,214,250, 30, 69, 31,199,
+219,182,207,137, 15,222,211, 57,135,107, 28,131, 97, 26,247,218, 65, 16, 28,228, 89,194,104,152, 51, 26, 23, 92,216, 25,179,181,
+ 49,224, 51, 47,237,240, 51,215, 54, 89, 53,134,251, 71, 75, 30, 62, 60,160,106, 58,190,249,230,247,185,127,116,196,239,127,239,
+ 29,254,236,143,223,226,235,223,187,193, 27,119, 30,112,255,222,156,178,181,180,231,118,205, 81, 30,133,136,135, 6,127,167, 38,
+127, 38,229,202,181, 93, 38,195, 2, 25,226,240,197, 19,207,141, 65,200,232,149,117,145,124,165,164, 68,101,154, 97,161, 25, 23,
+ 41, 27,121,194,239,189,183,207,215,111, 28, 49,187,121,196,217,173, 67, 56, 94,177, 60, 89,224,131, 35,153, 20,236, 92,219, 98,
+114,253, 42,255,249, 47,190,134,218,220,101, 49,157,160,101,224,167, 82,197,219, 69, 65, 54, 72,185,250,242, 46,249, 51, 23,144,
+ 23,183,185, 57,235,248,211, 15, 30,240,255,157,214,124, 93,140,120,127,178,203,175,188,250, 34, 47, 92,222,228, 52, 31,242, 72,
+228,108, 77,167, 60,251,201, 23,153,236,110,112, 40, 20,157,245, 12, 11,205, 32,207,120,118,152,241,153, 66,176, 88,214,124,251,
+100,193,221,166, 98,103,103,141,245,103, 47, 51,188,180,205, 88,143,120,189,236,184,175,167,188,176,181,205, 21, 41, 89, 10,193,
+119, 66,224,123,214,177, 39, 21, 73, 26,149,220,169, 20,180,213, 18, 99,106, 26, 23,248,205,233, 58,207, 12, 71, 92, 72, 50,238,
+217,142, 3,231, 24, 42,152, 52,150,141,249,138,105, 98,145,131,117,110,216,138,169, 74,233,108,135,242,142,253,147, 3,134,211,
+ 77,130,113, 44,101,130, 93,206, 8, 85, 5, 62, 16,186, 38,142,225,173,193,227,241, 66,226,250, 11,179,147, 26,145, 74,134,163,
+132, 38, 11,140, 22,129, 79,108,228,252,226,245,117, 62,183, 57,102,146, 37,172,117, 14,177, 90,241,126,115,198, 63, 95, 88, 78,
+207, 22,124, 99,190,136, 86,167,181,141, 8,183,240, 16,186, 50, 90,243, 44,120,215, 60, 41,228, 66,196, 46,253, 41,149, 63,196,
+ 97,165,235, 90,198,227,156,165,113,236,138,128,116,134,169,177, 52,174, 37,224,153,183, 45,117,107,168,173,101,182,108,168,170,
+ 22,233, 44,141,233, 16,198, 32,138,156,255,228,202, 22,191,188,115,129, 65,170,248, 86,219,208,204,234, 15, 77,205,196, 71, 35,
+ 85, 85, 44,228,231, 2, 52, 33,163,128, 86, 90,139,176, 29,162, 44, 17,199, 75, 14,143, 79, 57,105,102,236,132,142,177,237,232,
+154, 18,159, 38, 24,107, 8,109, 69, 22, 60,174, 51, 72,161, 48,222, 32,132,100,173, 24,179,158, 23, 12,178,130,141,124, 76,167,
+ 20,195,100,192,246,112,157, 11,105,193,115,195, 33,151, 7, 57,207, 72,205, 21,165, 41,148,228,106,158,179,150,165,124,122, 52,
+101,223, 91, 18, 33, 80, 61,131, 94,156,119,235,177,245,142,161, 72, 46, 10,173, 63,164,144,151, 18,153,196, 68, 68,233,125,252,
+218,121, 68,255,119,162,235, 34,202,214,185, 24,113,237, 61, 39, 93,199, 94,231,249, 32, 56,110,159, 54, 60,244,134,165, 20,124,
+208,118,220,110, 27,110,215, 45,247,188,225, 86,215,241,102,101,120,171,108,184,163, 2,183,156,225, 77,211,114,100, 44,111,152,
+142, 7,117,201, 91,182,227, 86, 91,243,118,109,120,163, 49,156, 25,203,204,122,218, 16,237,171,198, 56, 80,130,214, 70,203,173,
+ 49, 6,135,103,222,121,230, 62,142,241, 59,235,121,104, 12,153, 20,204,154,150,206, 90, 66, 99, 17,198,177,108, 60,151, 7,138,
+220, 88,174,103, 41, 82, 4,182,149,194,123,207, 26,208,244,152, 97,107, 61,169,128,101,221,225,125, 96,225, 44,194,199, 60, 18,
+ 9, 40, 99, 81,157, 69, 21,154, 68, 41,116,213,162, 85,194, 21, 87,211,233,148,169,177,248,186,137,223,163, 20,250, 7, 9,113,
+221, 15, 94,208,117, 15, 71,144, 50,178,141, 95,185,196,245,205,109,154,206, 51,206, 83,234, 45,199,162,118, 28,214, 11,214,147,
+130, 36, 45, 40,155,134,253,178,138,251,219,164, 23,220,233, 39,251,248, 60, 21, 76,178, 20,130,195,132,142, 73,146,162,148,100,
+152, 11, 76,103, 8,170,163,177,142, 84,129,112,134,164, 72, 73, 4,180, 18,238, 29, 44, 34, 67,128, 64,189,234,240,222,199, 67,
+195,121,116,105, 63,198, 66,167, 79, 30,131, 1,114, 31,139, 91, 34,227,247, 75, 29,139,126,154,210,211, 81,158, 20,251, 85, 10,
+117,253,100,223,254,195, 62,170, 6, 54,198,125,225,238,159, 39,213,167,174,229,253,253,176,253, 33, 33,113, 31,166,237, 61,245,
+244, 18, 60, 95,175, 75, 62,145, 23, 92,215, 25,203, 16, 24, 11,193,179, 66, 62,246, 9, 19, 60,117, 15,140,185,228, 44, 15,206,
+ 87, 26,231,135,132,199, 63,183, 31,197,235, 2, 54, 55,226,255,189, 42,123,112, 77,143,158,173,254, 37,133,142,137,132, 32,185,
+251,149,239,114,243,133,231, 41, 62,247, 26,243,213,138,143,189,244, 12,207, 93,191,196, 91,111,222,226,240,209, 35,218,178, 35,
+207, 52,137,210,168, 10, 6,195, 4,103, 3,149, 51,100, 65, 70,217,130,146,228,121, 18,109,107, 62,110, 78, 91, 23,213,169,198,
+ 65,145, 73,140,240, 36,137, 70,117,158,144, 71,181,184,214,138,113,145, 80,202, 8,170,137, 23, 60, 65,219, 57,210, 68,243, 15,
+254,240,255,103,236,189,122, 44, 75,179,244,188,231,115,219, 30, 27, 54,125,102,121,215,213,102,218, 84,147,163,129,208, 50, 35,
+ 18,148, 4,112, 40, 8,188,162, 0,253, 2,233, 94, 16,248, 19,116, 33, 72, 0, 37, 8,208,141, 64, 2, 26,104, 64,129, 24, 81,
+131,230,104, 60,167, 77, 85, 23,171,170,203,102,101, 86,250, 12,115, 34,142,219,246, 51,186,248,118,102, 86,119, 87,207,116, 0,
+129,116,129,140,115, 78,236,179,215,183,214,122,223,231,253,128, 71, 39, 71, 76, 71, 83, 30,159,156,115,111,185,224,189,187, 71,
+168, 76,114,177,204,217,153,149, 44,214, 61,156, 14,207,125, 54,252,124,142, 91, 72, 21,201,190,198,238,229,248,191,163,224,110,
+199, 31,255,249,207,121,225,249,231,152,190, 85,176, 63,202, 49, 34,178, 21,148,210,104,229, 98,104, 71, 22, 16, 74,160, 4,104,
+163, 72,149, 68, 75,129,244,158,221,182,163,237,122, 78, 23, 39, 32, 21, 75,219, 99,235, 53,235,143, 54, 24,149,178,116,130, 43,
+223,125,145,231, 94,185,200,215, 38, 91,110,221, 60,229,202,209,154,107,103,154,174, 18,156, 94,154,242,200, 42,230,235,142,223,
+ 53,158,159,228, 9,122,182,195,235,105,201,205,180,224,197, 36,229, 63,157,106,236,170,226,167,199,143,113,101,193,229,209, 14,
+197, 60, 99,238, 45, 63,217, 70, 26,222,200,193,244,108, 77, 85,102,212, 57,180, 23, 74, 46, 79, 83,246,130,103,190, 51,230,162,
+150,124,250,193, 29,146,229,130,195,124,204,120,118,129,236,194, 8, 89, 55,184,237, 26,181,233,232,131, 39,164,130, 84, 41,232,
+ 29,143,117, 73,147,195,105,211, 48, 49,129, 44, 73, 16, 46, 16, 68,100, 46,116, 4,230, 8,246,139,132,139, 89,134,116, 61,119,
+ 78, 62,101,103,239, 50,231,222,227,148, 33,145,158,170,171,121,247,147,247,105,199, 59, 96, 12,242,229, 87,241,117, 13,139,199,
+120, 93,198,108,108, 41, 16, 85,141, 48,131,227,164,238,193,158, 99,117, 74,155,101, 8, 7,114,170,153,207, 19, 46,229, 41,115,
+147,160, 9,220,214,154,151,172,227,181, 7,199,188,189, 94,242, 39,155,171, 96, 70, 8,147, 32,144,112,227,121,152, 78, 9,119,
+238, 17, 54, 21,161, 89, 71,189,116, 15,193,200,167, 14,209, 95, 1,170,180, 29, 98,186,195, 6,152, 72,197, 18,129,219, 52,156,
+ 26, 25, 59, 87, 21,145,212, 77,213,227,250,142, 41,113,250,120,199,250,168,212,238, 44,178,106,121, 49, 73, 73,133, 66,234,132,
+209,104,194,249,100, 77, 88,213, 67, 2,223,175,129,189, 12,112,172,224, 60, 65,201,167,118, 66, 7, 56,107,177, 52,116,231, 13,
+ 31,173,207,248, 95,238, 60,230,251, 38,227,198,108,204,120, 62, 34,155,142,120, 46, 27, 83,181, 53,185, 74,232,251,150, 30, 79,
+146,231,160, 12,217,240, 61, 77, 90, 48,245, 30,235, 29,227,180, 32, 45, 39,216,205,217, 48,114, 15,136,113,193, 15, 66, 32, 67,
+ 80, 8,197,186,107,120,171,157,114,212, 52,188,183, 92,242,110,221,162,250, 14,101, 45,194,254, 82,222,251,151, 14, 72, 79, 1,
+156,157,125,154, 1, 47,158,208, 63, 59,139,120,146, 11, 31, 60, 33,209,241,121,246,131, 32,174,247,172,155, 26, 13, 84,149,228,
+241,195, 21,186,200,208, 50, 6, 45, 41, 41,144,168,152, 1,159, 70, 71,147, 16, 17, 61, 13,110,216,178,134, 1, 1,237,241, 77,
+143,183, 30, 55,220,175, 92, 18, 35, 91,179,210,208, 5, 71,130,100, 21, 98, 79, 22,128,160, 4,222,246,172,147, 4,223, 58, 8,
+ 29, 75, 25, 87,216, 50,145,144,106,194,166, 67,164,138,157,214,242, 66,106,208,125,203,142,202, 16,222, 71,200,216,112,235, 47,
+132, 36,211,112,180,106, 16,193,115, 57, 87,220,173, 19, 68, 84,101, 32,123,144, 74,163,140, 68,123,152,102,130,203, 74,243,237,
+ 82,209, 88,199,117,111,105, 83,201, 81,102,184,185,174,185,189,110, 81,140,174,253,211,191, 85,181,174, 6, 96, 74, 8,112,237,
+128,231,246,102,180, 54,176, 91,150,228,166, 36, 51, 25,123,229,132, 76,104,114, 19, 57,189,163,212,144,200, 64, 97, 4,171,110,
+216,121, 11, 65, 98,146,184, 71, 21,130, 34, 49,104, 9, 55,118,118, 48,105, 74,162, 2, 93,215, 83,164,146, 92, 43,166,165,198,
+216, 64,179,109, 25, 25, 65,187,172, 88,111,207, 73,180,102, 81,109,185,119,118,134,237, 61,146,200,227,133, 39,161, 32, 67,241,
+106,219, 33, 18,181,137,197, 45, 77, 24, 84, 80,207, 70,237,121, 22,191,134,161, 83,183,253,112,120, 81, 80, 87,241, 74,251,155,
+198,240,194, 67, 57,138,190,171, 50,139, 69, 60, 77, 6,117,123, 22,197,135,102, 80,199,123, 23,213,158, 95, 86,156, 63, 25,251,
+ 59,207,117,173,240, 66,178, 12,129,145, 15, 84, 2, 82, 33,162, 94, 81, 64, 41, 4,159,217,150, 92, 73, 54, 82, 70, 92, 42, 3,
+100,199,250, 95,180,184,205,119,153, 92, 60,164, 28,141,169,165,142, 83, 11, 61,232,225,131,143, 73,115, 90, 71,135,192, 47, 24,
+ 82,252,175, 30,234,228, 83, 63, 10, 31,254,236, 67, 94,255,230,155, 36, 89,202, 98, 91, 49, 46, 50,186, 16, 80,105, 66,181, 90,
+ 35,179,148,253,157, 49,227, 60, 65, 34,152, 36, 2,173, 37,163, 68, 81, 91,143,148,112, 48, 54,113,191, 45, 5, 10, 65,110, 52,
+ 58,213,200,129, 62, 55, 78,163, 32, 46,114,155, 21,125,231,168,182,150,117,211,177,222,118,212, 85,199,182,234,168,250,158,122,
+211,211, 11,207,189, 59,199,252,139,191,126,155,101,181,166, 76, 13, 82, 64, 19, 98,218,215, 40, 51, 84, 46,208,235, 64, 48,192,
+202, 69, 49,100, 42,163, 8,244,118, 27, 51,143, 39, 17, 88, 65, 42,224,221,138, 59,101,197,139, 87,174,112, 97,103,196, 36, 79,
+227,132, 32, 49,164, 70,162, 7, 26, 34, 34,196,188,119,249,196,109,232,217, 54, 29,171,166, 37, 49, 16,188,164,107,123,200, 83,
+244,197, 93, 46,124,239, 53,190,113,117,151,127,244,141, 27,220,187, 48,231,115, 41,233,203,148,139, 23,167,124,195,247,124,235,
+213, 67,174, 78,225, 38, 41,123, 99,205,181, 89,193,238,106,197, 79,110, 63, 70, 20, 35, 94,191,177,195, 27, 99, 77, 18,122, 14,
+131,229,110,232,184,103, 52,243,249,152,221,197,134,211,211, 37,201, 39,119,169,174, 92, 68,118,142, 63,255,171,183,249,248,143,
+127,136, 93,181,220,125,120,196,173, 7,247,249,224,103,239,115,243,237,119,184,113,225, 58,203,109,207,103,143,239,243,211,155,
+ 55, 41,109,199,165,249, 30, 19,163,113,137,198,104, 67, 90,102,116, 94,160,205, 96,121, 37,144,116, 53,127,184,173, 57,205, 39,
+ 60,144, 57,191,111, 5, 63, 72, 20,183,109,203,187,109,203, 81, 93, 49,174, 59,246,132, 98, 90, 24,102,227, 9,135,105, 70, 38,
+ 37, 69, 89,210, 7,197, 44, 79, 57, 24, 21,232,190,227,130, 16,248, 36,103,163, 50,152,149,132,211, 37,228,134, 16, 20, 1,133,
+ 23,150, 32, 19,188, 84,241,179,111,162, 0,108, 91, 19,132, 96,156, 37,236,149,154,203,133,225,165, 81,206,149,157, 25,175,205,
+114, 38, 46,176,168, 90, 94, 15,144,159,159,243,197,250, 28, 49,153,198,131,130, 50, 8,149,192,222, 30,228, 41,225,172,138,185,
+225, 10,188,139,200,226, 32, 69,108, 24,190,252,118,207,198, 48, 74, 56, 13,138, 60,151,180,109,143, 87,154,186,106,113, 74,209,
+247, 14,217,117,132,174,167,116,129,189,214, 33,109, 64, 90,199,194,134,104, 25,235, 45,251, 99,133, 73, 19,254,109,183,229,199,
+173,139,158,228, 22, 4, 81,161, 46,126,185, 75,127, 34,149, 25,108,159, 66,240,180, 91,127, 10,144,241, 50,110,251,250,158,202,
+121,110,182, 13,239,156,158,242,163,227, 51,206,214, 21,174,217,210,119, 61,133, 18,145,251, 32, 5, 86,104,172,209, 88,165,145,
+ 69, 70,151,165,104,147,146,100, 25, 34,196, 52,179, 92, 70, 63, 56,222, 51, 53,138, 84, 4,174,148, 35,198,202,112, 99,103,159,
+203,163, 9,151,203,140,189, 36,101,207,104,238, 12, 9,213,191,124,223,252, 21,223,187,247, 40,239,145, 90,199,209,177,181,113,
+179,107,237, 32,184,211,207,244, 7,246, 73,138,167, 4, 27,179, 38,188,235,241,189,197,225,113,193, 98,117, 66, 31,160,239, 28,
+189,209,116, 70,210, 41, 73, 43, 36, 45,208, 10, 65, 27, 2,173, 20,180, 66,208, 13,177,207,164,134, 38,209, 72,161,216,155,141,
+120,177, 76,121,109, 90,114,163, 24,113,161, 72,121, 62, 49, 92,202, 52,107, 2, 85,158,209, 11, 65, 72,211,232,212, 73,212, 83,
+203,119, 16,146, 96,163,125, 13, 9,175, 39,130,111,102,134,239, 22, 5, 19, 2,135, 70, 49,150,177,246,109,189,139, 1,166, 33,
+208,244, 49, 18, 90,133,192,219,155,154,182, 11, 8,173, 80, 34, 68, 87,145,144,131,240, 56,225,239,150, 25,111, 77, 71,188, 84,
+ 22, 92, 25,143,120,121, 50,198, 40,197,203,105,198,141,209,136, 61,205,111, 80,212, 97,216,207, 70, 66,154, 60,152,112, 48, 42,
+216, 47, 39,140,211, 49, 62, 8,198,249, 8,163, 83,138, 36, 35, 53, 38, 78,122,197,147,221,143,167,204, 83,150, 85, 3, 74,162,
+130, 68, 42, 65,161, 12, 33,120,118,202, 41,147, 84, 50,155,151, 72, 41, 40,210,140,124,148, 50, 77, 21, 35,163,112,189, 67,186,
+150,126, 93,209, 53, 91,164, 20,124,177,120,200, 7,247,143,105,123, 79,158, 40, 90, 47,152, 10,141, 16,129,174,139, 30,200,129,
+134, 2,205,102,200,132, 7,178, 44,238,209,211,129,150, 39,134,142, 29, 49, 16,226, 6,168,140, 28,188,238,189,143, 7,131,191,
+201,246,165,242,216,253,143,179,120,241,165,102, 40,174,122,200, 86,215,131, 95,125, 80,122,118,245,175,134,227,248,200, 5,120,
+ 48,116,232,151,141, 97, 19, 2,115, 21, 59,245, 38,196, 92,241,147, 65,184, 83, 9, 72,125, 96, 43,158,224, 94, 19,184,254, 18,
+ 47,191,249, 38,167, 42,135,147, 71,112,184,199,165,217,156,217,168,164, 15,208, 46,206,226,129,198,185,103,143,231, 43, 7, 16,
+191, 92,216, 7, 85,253,151, 62,126,252,103, 63,226,187, 63,248, 62,147,162, 96, 83,215, 40, 4,245,166, 97,178,183,131, 86,130,
+182,245, 4, 9,227, 60, 29,242,135, 21,137, 86, 76, 75,195,180, 72, 16, 42,210,232, 38,153, 33, 47, 12,121,166, 40,141,102,148,
+ 27,132, 20,180,189,101, 83,117,108, 58,203,102,221,178,218,182, 8, 5,171,243, 58, 90,221,240, 52,181, 37, 77, 12, 89,153,160,
+130,228,202,181, 61,250,147,115,238,172,215, 40, 4,153, 74, 81,210,179,238, 28,151, 71, 19,118,210, 52,102,237,120,112, 89,128,
+179, 97,194,177,147,194,238, 48,201,209,146,189,195, 49,227, 89,193,246,106, 66,213,195,190, 73,120,225,218, 5,102, 99, 67, 38,
+ 20,153, 20, 3, 82, 51, 12,111,228,104,163, 43,148, 33, 81, 10, 23, 60, 54,120,210,204,176, 62,107,216,214,142,157,111,223,224,
+218,215,175,177,127,105, 14, 58,190, 39,166, 77,197,159,254,228, 22,159,255,213,207,249,248, 47,223,225,248,222,154,247, 22, 21,
+ 63,215,130,203,227,140, 68, 38,164,101, 74, 97, 36, 63, 50, 41,226,234, 62, 85,106, 56,111,123,194, 78,193, 52, 75,152, 20, 25,
+ 63,157,143,153, 94,222, 99,190, 59, 69, 63,127,129,249,124,204, 97,154,226, 38, 99, 38,133,225,218,115, 87,249, 87,255,253,191,
+224,163,243, 5,159, 62,122,200, 71, 15,143, 17,244,124,243,213,215,249,237,239,191,206, 15,255,232, 79,248,131, 63,250,107,142,
+178,148,111, 93,188,200, 56, 53,145, 98, 38, 66, 28, 15, 6, 65, 39, 5, 93,239, 48,196,244, 67,213,215, 60,239, 27, 86,199,143,
+ 88, 59,139, 67,241,105, 91,243,133,150,116,206, 82,216,158, 73,223,179, 63, 74,217, 25, 79,152, 76,118, 33,201, 41,243, 9,169,
+201,152,236,237,144,142,199,120,149,112,189,200,185,161,224, 34,158, 68,104, 30,202, 4, 70, 41, 88, 75,240,142, 96, 99,148,101,
+ 72, 4,193,197,227, 58, 58,118,212, 96, 17, 30,236, 36,103,150, 39, 28, 22,134,215,198, 5,123,123, 23,201, 76, 70, 17,122,222,
+127,112, 70,102, 52,123, 2, 62, 87,146,190, 48, 72,169, 17, 89,142, 50, 41,255,236,183,222, 64, 36, 25, 31,105, 8,199, 43,130,
+239, 9, 82, 16,188,136, 30, 20,239,127, 33,214, 65,168, 4, 89,230,200,222, 51, 54,146,171, 69, 22,199,241,105, 74,225, 29, 59,
+ 62,112, 24, 2, 7, 65,114, 73, 66,230,224,170,150,132,222, 49, 21,158,199, 54,102,181,191,183,220,242,163,170,229,125, 7, 34,
+213,177,128, 21, 58,138,202,172,125, 86,216, 77, 20,147,137, 16,190, 52,118, 39,142,179,135, 80, 25,225,191, 4,120, 29,238, 43,
+193,199,199,238, 1,239, 29,143,183, 91,126,118,190, 38,177,142, 69,240, 44,130,227, 24,143, 51,134, 86,198,174,182,241, 30,153,
+ 36, 60, 82,154,218,195, 56, 77, 24,235, 40,236, 19,125, 75, 46, 21,173,107,185,144,100,228, 38,101,119,114,136, 81, 25,249,120,
+151, 66,231, 28,148, 25,187, 90,115, 37,207,240, 90,241,104, 48,109,135, 39, 22,105, 41, 17,169,137, 99,119,173, 80, 90, 33,141,
+ 65,105, 25,247,241, 66, 60, 45,246, 79, 70,242,226,233, 4,114,104, 58,188, 37,104, 25,101, 65, 82, 18,178, 2,143,198,151, 37,
+ 46, 79,112, 69,129,157,230,244,169,166,147,146, 62, 77,232,148,164, 11,146, 54, 81,116, 73, 74,151, 37,244, 66,208, 43,197,104,
+148,225,132, 97,103, 92, 48,202, 50, 94,152,140,248,157,189,107, 92,204,166,236,155,130,171,197, 52,122,219,149, 98,148, 72, 54,
+ 94, 96,211,140,198,187,120,157, 56, 23, 11,185,134, 50, 68, 66,120,231, 61,169,119,124,179, 72,121, 77, 43,130, 12, 40, 36,107,
+235, 40,140, 70, 15, 89, 23,181, 15,116,222, 13, 98, 76,207,113,219, 35,145,156,216, 88,240, 37, 10, 41, 37, 90, 40,166,163,156,
+255, 48, 79,249,222,222,152, 27,163, 17,211, 34,225,181,157,125,188,209,236, 23, 99,146,180, 32, 75, 50,114,165,127,195,162,254,
+164, 0,121, 79,152, 22, 60,183,183, 23, 71, 73,104, 82,173,209, 74, 99,135, 19,164,150, 42, 50,243, 7, 4,236,186,174,216,218,
+142,109, 31,103, 23,233,144,187, 29,132, 32,145, 2, 47, 3,123,163, 17,121,150,147,164, 9,229, 40, 65,248,192, 72, 75,186,243,
+ 6,183,173,161,105, 57, 95, 46,200, 36, 52, 77,195,166, 90,113,127,211, 48, 75, 19, 42,239, 81, 1,186, 68,211,122, 71,110,210,
+ 56, 49,239,186,161,168, 15, 88, 91,105,134,116,180, 33,192,123, 92, 60, 91, 11, 60, 41,240,114,128,210, 40, 13, 93, 59, 92, 68,
+253, 51,165,250, 87,137, 0,133,135,180,128,100, 16,225,101,201, 64,205, 35, 38,190, 37,195,247,237,186, 56,154,183,225,233,126,
+232, 87,242,218,137, 72, 88, 27, 28,115,109, 56,119,158,141, 16, 20, 64, 13,172, 0, 25, 2, 33, 4,214, 18,148,144,244, 2,216,
+ 63,228,191,254,251, 63,224,239,255,206, 55,248,222,107,111,240,231,103, 27, 66,219,242,226,229,171, 92,158, 95,160,245, 13,139,
+135, 71, 67, 92,236,128,173,125,178,143,215, 67, 13,215, 95,174,229,254, 23, 59,117, 63, 28,236,190,244,241,246,241, 25,223,120,
+233, 5,202,113,198,122, 93,211,213, 45,213,102,205,106,177, 6, 33,169,155,158,170,119, 88, 11,163,210,196,236,100,163, 49,198,
+ 32,181,198, 72,133, 8,106,176,133,121, 26,231, 88,183,150, 77,107,169,234,158,186,141, 2,146,174,181,209, 74,102, 61, 42,149,
+184, 62, 16,108, 76, 24, 83, 82, 81,164, 9,227, 34, 97,148, 27, 94,122,245, 6,219,163, 13,125,223,113,107,121,142,237, 29,199,
+203, 45, 15,183, 21, 82, 10, 30, 85, 13,253,186, 97,200,187, 4, 35, 72, 15,114,174, 29, 78,152, 21,138, 67,142, 0, 0, 32, 0,
+ 73, 68, 65, 84, 31,150,236, 79, 11,140,132,157, 60,231,165,157, 67,190,123,237, 37, 70,249,132, 44,215, 92,156, 23, 4,225, 81,
+ 33, 80,119,150,213,182,167,243, 30, 45, 96,150, 27, 46, 79, 51,118,139,132, 84,203, 33, 69, 44,161, 40, 19,150, 77,199,213,231,
+ 15, 57, 62,223,242,240,223,221,225,214,159,191,207, 31,254,240,207,249,231,255,247, 95,241, 71,255,211, 79,121,255,147, 47,248,
+232,100, 65,187, 61,162, 93, 45,248,235, 31,255,140, 31,253,228, 61,118, 95,121,147, 99,165, 88,164,154,147, 91, 71,124,240,255,
+252, 25,205,186,230,209,221, 71,144,100,236, 94,156,177,127, 80,240,199,143,106, 92, 22, 35, 84,123,239, 49,206,161,246,103,232,
+193, 50,179, 62,171,249, 81,117,151,160, 20,173,209,124,251,210,132,215,111,188,194,119,222,250, 58,231,219, 13,255,195, 95,188,
+141,223,223, 33,228, 57, 50, 40, 46, 22, 41,120, 71,237, 2, 5,130, 7,231,167,156,110, 27, 84,232,105,186, 22, 25, 28,216,150,
+ 18,205,101, 9,163,234,140,251,206,242,184,119,220, 10,146, 92,198,110,233, 85, 35,249,123, 7,151, 25,151, 51, 72,115,102,211,
+ 25,203,196,224,141,198,148, 35,188,210,140,178, 20,227, 35,192, 72, 43,208, 72,166, 74,115,150, 20,136,114,132,175, 55,241,144,
+140, 32,108,155, 56,114, 14, 1,130,138, 17,201, 62,110,192, 93,112,228,211, 17,137, 18, 92, 20,129,185, 4,223,119,124,246,197,
+ 99,254,223,247, 79,152, 20, 10, 45, 5,255,237,215,223,224, 13, 2, 47,159, 31,113,124,112,133,255,238,197, 75,124,239,219, 47,
+241, 82, 81,242,197,217,154, 59, 71,199,248,229, 54,202, 78,132,199,247,207,220, 33, 79,174,254, 39, 52, 55,105, 61,109,237, 57,
+176,142, 73,170, 56, 72, 19, 46, 5,197,190,148,209,175, 46, 5,161,243, 92, 78, 13,157,130, 44, 77, 17,157,229,139, 44, 39,232,
+ 12, 89, 85,216,222, 34,108,204, 24, 16,105,130, 20, 32, 50,131,108,101,180,146, 89,144, 34,196,174,245, 73,183, 62, 20,115, 49,
+ 88, 85,159,250,188,127,137,215, 30,158, 82,255, 52, 46,254,111, 56, 9,159, 52,150,159,214, 53,183,132,228, 76, 72,154, 68, 18,
+164,160,149,154, 38, 73,249,184,169, 57,114,158, 50, 77,201, 16,104,231, 49,193,227,250,150,190,175,208, 4,198, 58,229, 96,122,
+137,164,152,147, 77, 14,209,217,132, 68, 23,104, 85, 48, 74, 83,114, 25,176,137, 36, 45, 18,250,178,164, 10, 10,100,202,116,154,
+209,146, 96,138, 34, 90,152,103, 83, 52,154,201,206, 4, 47, 18,246,230, 99, 58,157,163, 70,211,136,253, 72,199, 8, 51, 4,129,
+ 25,160,200, 65,103,132, 44, 33,148, 35,194,116, 70,152,141, 9, 23, 15,152,204, 39,136, 34, 71,229, 41,110, 84,210,102, 57, 86,
+107,250,124, 68, 95,148,116, 73, 66,159, 23,244, 73, 14, 38,101, 60,158, 49,205,243,120,200, 28,141, 24,229, 83,110,236,204,121,
+181,220, 99, 87,103, 28,100, 5, 19,101,200, 84,130, 0,234, 16,187,231,181, 12,220,105,162,246, 34, 12,247, 98, 37, 5,116,150,
+ 61,169,227, 33,223,122,174, 26,216,241,158,107,153, 38, 21,160,137,133, 93, 6,168,137, 49,212, 50, 8, 30,247,150,142,168, 41,
+ 90,224,185,211,247,180, 94, 34,117, 64, 50,116,233,198,240, 15,166, 25,223,223, 25,147, 37,154, 75,101,198, 52,207, 9, 2, 70,
+163, 29,116, 86, 98,178, 49, 82, 39,236, 77,102,191, 97, 81, 31,144,127,136, 4,150, 21,199,169,225,185,221, 61,188, 15,164, 73,
+142, 36,112,190,222,146,153, 4, 31, 60, 18,168,187,134,109,215,224, 67, 96,209,212, 32, 60,174,247,244, 77, 71, 63,228,210, 86,
+ 3,102,212, 9,197,245,221, 41, 69,153,162,131,163,175, 26, 66,223, 96,143, 55,172,207,207, 89, 86, 43, 74, 36,167,182, 5,219,
+ 80, 87, 53,181, 13,212, 66,224,172, 69, 26,131, 71,160, 6, 81, 90,245, 36,146,117,181, 29, 80,170, 79,246,250, 14, 76, 10,179,
+114,200,251, 13,177,224, 38,146,194, 24,250, 16, 67, 85,250,224,227,223, 75,224,100,245, 12, 55,251,203,133,216,251, 33,212, 37,
+141,144,246,100,240,185,167,195,225,225,201, 76,150, 65, 60,183,173,227,191, 7,251,213, 48, 26, 33, 56, 7, 14,181, 98,229, 29,
+ 86, 4, 10,169, 88, 56, 79, 39, 5, 91,215,145, 41, 67, 67,192,136,136,120,172, 58, 5, 23,198,252,147,127,240, 59,140,178,130,
+113,105, 56, 59,237, 41,199, 37,191,251,189,239,243,234, 75,135,140,165,226,157, 15, 62,136, 35,120,223, 15, 62,209, 65, 45,111,
+109,124,156,246, 75,190, 20, 63, 16,246,212, 19,225,160,248, 21,199,169,187,255,152,227, 80,243,252,181,171,140,198, 25,213,182,
+102,189, 58,199, 89,203,226,232,152,114, 50, 99,113,180,164,235, 3,143,207, 43,156, 84,209,154, 38,163,154,188,183,241,162,109,
+122, 71,213, 89,186,222, 71,208,140,136,129, 42,125, 23,255, 44, 85, 28,223, 11, 41, 81, 66, 70, 76,112, 18,133,132,206,121,172,
+ 8,120, 27, 56, 59,175, 25, 21,154,114, 52,230,230,157,187,124,124,255, 12, 43, 61, 87,230, 19,206,207,106, 42,233,217, 43, 12,
+ 86, 43,156, 13,144,107,152,100, 76,203,148,121,106,216, 73,115, 70,105, 78,153,102,104, 17, 29, 24,227,209,140, 36, 41, 88,157,
+ 55,236, 29,230, 20,169,166,178,142,214, 5,214,141,197, 57, 75, 38, 4,243,194, 48,203, 52,153, 86,116,214,209,244, 30,169, 37,
+222, 7,150,171,138,147,187,231, 60,120,255, 38, 15, 63,253,148,197,250, 12,156,229,235,175,191,194,254,171, 25,159,157, 44,162,
+135, 54, 83, 60,191, 59, 6,224,222,201,150, 63,253,232, 35,178,215,191,142, 74, 21,221,182,225,237,255,237, 15,120,240,224, 14,
+ 15,190,184,199,163,163,199,236, 95,185,140, 29,101,248, 47,238,242,127,252,203, 31,178, 56,110,233,122,168,148, 98,161, 5,251,
+ 72,234,222, 33, 47, 77,248,247,127,240, 61,254,189,255,248,183,121,235,173,111,240,131,139, 87,185,171, 39, 28,125,248,115,254,
+244,131,207, 57,214,138,214, 7,130, 82,212, 68,160,206,197, 44, 33, 39,176, 94,173, 88,172, 23,116,237, 26,108,135, 20, 80,109,
+150,140,178, 17,179,201, 46, 23,139, 25, 55, 38,123, 60,167, 28,157, 80,156,214, 53,243,209,132, 81, 94,240, 79,118,247,121,225,
+240, 2,153, 73,176,105,129, 79, 18, 86, 89, 70, 87,148, 88, 99, 40,115, 51, 76,112, 12, 99, 35, 41,133, 36, 81,158, 44, 81, 36,
+102, 12,197,136,229,100, 10,213, 34, 30,146,141,132,109, 3, 73, 70,112,245,112,232,126, 6,198, 58,239, 90,238, 8,131, 21,146,
+227,147, 37, 71, 39, 43,254,232,139, 5,127,178,108,216,109, 45, 59, 66,208, 28,157, 48,109,107, 46, 4,201,155,205,130,242,120,
+193,230,243, 71,252,228,189,119,121,240,248, 46,155,198,178,233, 33,116,158,176,117,132, 85,207, 19,127,169,208,209,154, 37,123,
+141, 68, 32,203,146,209,225, 14,106, 54, 98,111, 58, 34,241,129,203, 4,114, 23,200,165, 34, 13,158, 84, 27,122,239, 9, 82,146,
+ 88, 79,146, 38,140,172,231,174,245,200,209, 8, 89, 53,113, 52,223,244,168, 68, 33,147, 4, 25, 52, 50, 85,200, 36, 71,160,227,
+ 40, 90, 12,120, 16,231,159, 65, 93,134,110, 93,252,210, 61,233, 87,139,186,140,137,103, 90,225,180,196, 5,112,194,115,190,108,
+248,162, 15, 28, 97,217,104,184,217, 87, 28,185,142, 19,109,232,156,165,212,134,194, 58,186,182,163,111, 43,182, 93,141,243,113,
+ 20,126,169,152, 80,230,115,178,201, 46, 58,203, 80, 38, 31,250, 18,133, 80, 26,215,111,163,115, 33, 85,204,138,148,157,210, 48,
+205, 52,179, 34,101,119,158,179,208,134, 23,230, 37,123,153,226,187,251, 51, 94,204, 50,190,115, 56,231, 98, 89,240,214,165, 61,
+ 94,223, 41,121, 99,127,135, 11,147,168,103, 57,151, 9, 54,207, 98,198,249,116, 68, 24,151, 48, 41, 32, 47, 9,179, 17,255,249,
+225, 62, 95, 27, 79,248,209,239,255, 27, 92,170,249,135, 47,191,202,231,206, 82, 37, 25, 78, 42,172, 49,184,124,140, 72,114,118,
+ 76,202, 44, 43,153,167, 25,227,180,160,212, 9,121,154,147,231,134,125,157,113, 61, 45,153, 61,109, 84, 29,141,119,148, 58, 69,
+ 73,201, 73, 87, 83, 7, 71, 23,224,220,197, 41, 93,112, 81, 37,176, 47, 5, 91,231,226,161,211,122,174,164,146,151,181,100,162,
+ 53, 77,231, 80, 18,180, 16,180,222, 51, 23,113, 81,124,106,123,142,156,167, 7,206,122,135,211,134, 5,129,166,143,150, 64, 53,
+ 76, 51,190, 63, 75,121, 37, 79,184,150,231,100, 90, 49, 75, 51,210,164, 32,207, 71,244, 82, 67, 26, 83, 67, 71,249,136,206,100,
+191, 97, 81, 79, 74,200, 39, 48, 25, 67, 94,224,140,102,213,117,148, 73,194,209,118, 27,177,126, 74,209,217, 14, 27, 58, 92,112,
+ 4, 33, 88,247, 91,206,170,138, 85,223,209,109,122, 88, 14,163,231,222, 15, 10, 87, 79,221,118, 60,222, 86,164,210, 97,108,199,
+227, 71,143, 25,245, 91,206,110,222,226,248,225, 61,170,237,134,164,107,233, 19, 77,127,126, 66,221,247,116, 85,135, 48,138,179,
+222,211, 43,205,198, 7,186, 1,212,223, 9, 73,174,117, 4,104, 56,192,110, 33,203, 99,202, 28, 33,142,170,181,138,167,190, 52,
+254,176,140, 16, 52, 46, 48, 49,154, 78, 4,114, 33, 99,252,251,166,141, 29, 93, 87, 71, 77,192,175, 43,236,195, 69, 77,145, 70,
+ 98, 93,211, 61,227,220, 19, 24,178, 4, 97, 84,192,114, 29, 59,245,175,234,252, 7,117,206,227, 16,168,165,100, 44, 20,139, 39,
+240,194, 16,152,232,132, 51,107, 73,129,199,192,152,192,170, 11,160, 53,175,223,184,194,206,180,228,147, 91, 11,126,252,225,135,
+124,253,133, 55,249,238,215, 46, 51,202, 51, 28, 29,127,246,215, 31,196,239,221, 91,144,238, 89,138,222,151, 11,186,181,177,160,
+155, 47, 57, 29,158, 78, 50, 6,203,158, 29, 14, 76,244, 44, 62,189,203, 66, 90, 94,126,233,121,102,187, 99, 64, 99,109, 79,221,
+108,184,119,255, 30, 88,135,109, 61,203,229,150,243, 85,195,233,121,195,218,122,172,141,190, 89,231,163,195,194,135,128,145,177,
+ 8, 10,169,201,180,196,203,216,157, 40, 35, 16, 66, 34,165, 36,205, 53,133,137,130,196,182,237,233,157,195, 59,135,240,129, 64,
+ 32, 47, 82,138, 60,165,171, 60,125,191, 98, 99, 61, 7, 69,201,238, 36, 99, 55,207,152,100, 5,175,236, 31,242,218,213, 43,188,
+121,237, 26,175, 93,188,204, 97, 57, 66, 4, 79,166, 19, 38,217,148,131,209, 62,179,241, 30, 69, 54,102,182, 51, 39, 73, 36,105,
+154,113,176, 59, 97,111,162, 88,111, 45, 39,171,150,186,235,169, 91, 75,221, 91,172,139, 0,139,101,221,115, 92,117, 3, 9,174,
+103,185,109,208, 82,112,113, 86,240,209,199,183,233,250,142, 16, 4, 35,109,184,183, 60, 33, 79, 51, 14, 14, 71, 60,114, 29,155,
+ 91, 43, 62,187,189,224,161,119,120, 35,232,110,159,209,126,251,155, 92, 26,101,236, 28,140, 56,249,236, 19,148,239, 57,216, 27,
+ 65, 87,113,231,193, 49,207,141,103,188, 46, 60,147, 44,229, 95,253,243, 31,242,243,191,124,155,183, 63,250, 16,125, 86, 99,179,
+ 25,166,245,140,171,134, 31,254,233, 59,236, 23,134,145,150, 20,179, 17,238,227, 79,241, 67,222, 64,109, 3,199,206,226, 69, 64,
+170, 56,169, 58,175, 26, 90, 91,113,220,108, 57,107, 43,130,119,232, 32,144,193, 33,138, 49,105,146,241,234,124,143,121, 81, 34,
+ 19, 67, 62,158,115, 56, 46,185, 50,157,242, 87, 31,188,199,215, 14, 46, 51, 25,229, 92, 48, 57,107,161,168, 68, 32, 76,198, 52,
+243, 49,173, 16, 84, 38, 35,205, 13, 65, 41, 14,159, 16, 32, 59, 75,131, 64,107,195, 74, 40,242,217,156,231,167,187,124, 97, 74,
+168,150,132, 60,137,211,182,103,180,249,248, 62,214,106, 0,154, 88,108, 23,184,237, 61, 39,157,227,167, 85,199, 23,210,115, 41,
+ 79,184,150,104,174,171,136,236,157, 27,141, 14,150,169,131,169,183,204, 17,220,208, 57, 47,107,133, 10,150,119,122, 31,133, 84,
+101, 70,152,150,188,240,252, 14,103, 58,143,108,141, 81,142, 24,101,177, 32,239,207,201,247,118,184,182,127,153,217,236,128,249,
+116,159, 92,107, 70,193,146,185,192, 54, 56,140,146, 36, 73, 74, 34, 6,199,128,128,233,222,140,217,188,228, 40,205, 81, 23,247,
+163,202,185,239, 81,235, 10, 57, 88, 48,149, 78, 80,169, 70,149, 41, 50,201, 72, 38, 99,176, 49, 66, 86,120,135,124, 50,138, 15,
+ 1,225, 37,226, 75,147,181,240, 43,133, 93,226,181,138, 68,104,173,113, 42, 90,245,172,244,184,174,230,188,246,124,190,173,169,
+145,156, 40, 88,245, 14,163, 18,232, 43,166, 72, 82,235, 88, 85, 11,100,176, 84,206,145, 4,199,133,108, 74, 49,222,197, 36, 57,
+114,176, 31,203,201, 24,130, 36,244, 29, 65, 6, 26,122, 58,165,176, 18,210, 36,193, 72, 73,145, 37, 36, 70,147,103,134,151,139,
+140,239,141, 74, 94,204, 83,158,159, 76, 25, 39, 57,175, 76,103, 76, 76,193,149,162,228, 32,205,153, 37, 9, 23, 70, 57, 23,114,
+ 77,154,105,202, 82, 51,202,114,108,150,209, 25, 67, 57, 46,248,135,243, 25,223,158, 28,242,252,104,135, 71,191,243, 22,255,205,
+243, 47,243, 63,102, 19,190, 31,122,110, 11, 73,167, 13, 33,201, 73,116,202, 78,146, 48,214,154, 50, 81,200, 32, 73,132, 32, 49,
+ 5, 82, 72,118, 76,202,142, 50,236, 73,197, 60, 43,105,251, 14,109, 18, 76,136,218,171, 46, 56,106,239,121,228, 90,142,154,158,
+ 42, 68, 59, 93,240,158,113, 8,180, 34,218, 16, 19, 1, 29,130, 66, 6, 14, 6,235,116, 98, 20, 59, 34,174, 24, 82, 25, 27,151,
+202, 7, 62,235, 45, 39,222,179,176,150, 45,130,181,119,116, 38,234,127,100, 26,119,252,215,199,138,151,115,205,243,121,138, 20,
+130, 81,154,160,164, 38, 49, 41, 38, 77,192, 36,104, 19,139,122, 35, 98,224,213,223, 94,212,181,142,214,180,217,124, 16, 97, 9,
+ 16,138,106,213,112,127,185,166,182,209, 7,152, 36,154,117, 91,177,109,107,182,237,154,117,191,102,177,173, 56,174, 42,186,227,
+ 13,156,157,199, 98, 94, 85, 81,141, 93,213,136,237, 54,170, 89,235,134,187, 15, 79,120,239,227,219,124,120,255, 17,243,163, 99,
+214,143,207,201, 60,200,161,227, 95, 29, 47,208,206, 81,183, 61, 8,168, 2, 60,106, 44, 91, 17,208, 8, 66,162,249, 79,190,241,
+ 61,238,159, 60,196,250,128,147,192,182,130,218, 66, 91, 71, 65,156, 28, 40,115, 58, 5, 99, 40,202,148,174,235,201,211, 20, 45,
+161,114,118,160,155,129,237,226,206,132,109, 29, 11,221,223, 52,134, 71,193,116, 52,236,238,135, 81,126,154, 12,150, 64, 61, 20,
+ 66, 11, 65, 32,148, 66, 84, 27, 68,111, 17, 95, 65, 92,122, 34,116,235,172, 98,173, 2, 90, 68, 14,242,121, 8,232, 16, 34,164,
+ 14, 34, 54, 83, 39,116,218,209,183, 29,231,139, 19,126,244,233, 61,254,221,237,207,185,125,255, 24,161, 36,207,221,184,206,106,
+185,225,230,199, 15,120,239,131, 79,160,170, 65,182,241,249,200, 47, 89,225,244, 19, 33,202, 64,201, 99,176,121,241, 37, 74,223,
+147, 36, 58, 63,168, 86, 92,124,218, 39,159,220, 65,151, 25,207,189,248, 28, 89,145, 34,101, 66, 94,142, 25,143,198, 24,173, 57,
+ 95,157,147,153,148,221,249, 4, 43, 3,182,237, 89,174, 42, 64,144,164, 26, 57,236,168,227,168, 73,160,181,192, 40, 73,145,106,
+ 18, 19,137,116,153, 49, 24, 19,109,113, 10,129, 35,142, 44,181,150, 24, 36,163,113, 74,150, 27,250,214,211,244,129,157,249,156,
+ 36, 24,246, 77,201, 40,201,216, 29,237,112,101,231, 50,251,179, 3, 82, 41,201,211,130,188, 40,200,211, 17,163, 98, 66,130, 97,
+ 50,218,225,240,224, 34, 87,175, 95,226,107,111,220,224,107, 47, 95,225,205, 23, 15,249,250, 75, 23,153,239, 77, 16,202, 48,201,
+ 60, 77,107, 99,247, 69,244,172, 55, 85, 79,135,199, 9, 65,229, 28,221, 32,124,169,186,136,225, 61,152, 22,188,114,121,206,195,
+227, 45,119, 31, 61,102,103,186, 67, 49, 26,209,185,142,207,142,143,104,123,203, 56, 55,164,179,148,116, 47, 35,201, 36,223,184,
+178,207,115,215,230,220,122,251,109,158,251,238,183, 40,115, 77, 62,158,115,247,157,247,200,140, 36,207, 82,150,103, 43,116, 83,
+225,102,187, 92,254,254,107,140,115,205,135,239,223,102,188,109, 41, 55,231,188,240,234,235, 28, 26,193, 97,154,240,205,221, 61,
+206, 22, 13,237,195,115,206,190,120, 72, 21, 28,202, 5,250,222, 18, 46, 93,229, 19, 39, 8,213,150,107, 73,202, 89,189, 65,119,
+ 53,139,106,195,162,238, 57,204, 52,243,124,196, 56, 47,240,166,160,204, 10,174,150, 35,174,152,148, 34,207, 88,151, 41, 91,239,
+ 41,138, 18, 35, 53, 95,191,246, 28, 82,193,121, 8,164,147, 9, 15,157,195,141, 74,150,169,230,204,104,164,150, 56,161,232,144,
+236, 22, 6,225, 97, 44, 5, 53, 49,102,119,225, 61,169, 76,121,253, 96,204,127,121,117,204,126, 49,229,199,157, 64,108, 22,113,
+181,149,165,241,194,211, 89,196, 52, 59, 16,122, 0, 48,185, 14,183,109, 57, 9,158,115,225,153, 11,201,141, 76,113, 45, 53, 28,
+ 26, 69,153,106,180, 81,140,147, 4, 58,203,193,100,196,100,186, 79,158, 23,228, 74,147, 25,205, 50,133, 59,121,130, 43, 82, 94,
+187, 52, 38,207, 12,201,200,176,108, 3,210,129,148, 9, 98, 90,240,143, 47,206,248,230,206, 46, 59,211,125, 70,229,136,185, 78,
+ 64,101,236,248,232,165,158,100, 25,173,139, 97, 71, 94, 66,162, 20,179, 23, 94, 35,187,244, 18,187, 47,190,201,213,107, 55,184,
+180,179,207,165,253, 67,100,230,216, 10,129, 92,108, 80,117,143,202, 13, 42, 77, 81,227,130, 23, 15,246,249,123, 55, 46,243,234,
+193,152,135, 94, 96,183,219,193,227, 29, 6,133,248, 87, 11, 93,159, 29,125,124,100, 60, 40,249,180,160, 63,241,222, 59, 15,206,
+117,184,117,199,106,189,230,180,182, 28, 47,215,156,250,154,188,173,144,109, 5, 93,133,113, 29,171,170,198,225, 24, 11,201,229,
+209, 46, 70, 36, 36, 73,142, 42, 75, 40,226, 90,209, 91, 75,111, 59, 58,223, 83, 7,203, 90,120,250, 97,122, 58,206, 18,114,163,
+104,133,228,235,101,201, 85,165,249,198,120,202, 72, 38, 76,147,132,189,108, 66, 80,154,195,108, 76,105, 10, 70,218,112, 49, 31,
+ 35,131,103, 47, 43, 41, 18,205,200, 24,178, 84, 51, 79,227, 8,250,141,188,224,149,209, 14, 55,202, 57, 66, 74,190, 99,226,234,
+243, 37,223,225, 85,164,105, 30,251,152,126, 55, 1, 74,157, 70,235,157,212, 24,161,208, 42, 1, 17,200,211, 20, 27,122, 46,153,
+ 52,254, 28,131,167, 24,210, 73, 91,231, 72,141,102,221,183, 44,250,150, 19, 34, 6,246, 92,128,117, 14,233, 3,162,181,140,156,
+163, 31, 68,205,137, 8,172, 16,236, 9,207,133, 68,115,160, 20,189,119, 44,109, 28,213,111, 61, 28,133,192,167,189,163, 3, 90,
+ 1, 94, 10, 86, 74,178,237, 37,157,209, 8,165,216, 77, 52,215,114,195,235,121, 74,130,192, 11,193, 78,154,129,214,148, 89, 74,
+167, 12,163,108, 66, 67,192, 10, 65,171, 20, 45,242,111, 43,234, 26,242, 18,230,243, 65,232, 37, 98, 39,234,135, 96, 22,231,105,
+125,207,178,179,100, 26,186,224,144, 74,177,172, 42,142,235,154,199,143,150,184,199, 3,198,117,187,133,122, 27, 59,102,219,197,
+ 95,251, 54, 50,144,235, 77, 76,105,170, 54,132,186,102,234, 36, 47, 29,236,176,236, 59,164,209,116, 3, 19,183,147, 18,229, 60,
+107, 33,216, 75, 18,238,160, 56,173,106,132,144, 96, 61,159, 31, 61,196, 5, 31,187,246,174,141, 20, 55,250, 72,192, 99,232, 66,
+251,161,163, 30,231,244,141,101, 84,150,108,218, 22, 51,248, 64,219,206, 34,108,244, 75,211,181,195,213,223,199,199,236,134,240,
+151, 95, 46,236,154,232,209, 87,102,240,245, 63, 17,176, 13,100, 62, 37,163, 16,166,107,227,191,119, 62, 42,235,127, 73, 21,250,
+180,168,135, 0,210, 83,106, 77, 39, 33, 23, 34, 54, 51, 65, 48,214,154, 62,120, 52,130, 99,239,216, 19,134, 76, 56, 30, 45, 55,
+ 60,120,184,102,217, 68, 15,250,241,221,251,124,186, 88,114,235,254, 57, 63,124,231,231,112,239,193,240,216,186, 65,252, 38,191,
+ 4,191,249, 50,227,241, 75, 93,250,147,130,254, 36,208,135,129, 91,224, 35, 24,230, 73, 0,243,237,143, 62, 37, 45,115, 94,126,
+237, 69,164, 22, 84, 85,220,177, 23,163, 17,222,247, 52, 93, 77, 62,158, 34,125,236,198, 43,219,209,214, 61, 89, 97,168, 90,135,
+181,129,118,128, 5,101, 70, 12,137,107,146,204, 68,174,123,162,163,167, 61, 75, 35, 36,168, 72, 12,137,145, 20,153, 97, 50, 74,
+217,153,229,236,143,114,116,102, 72, 83,205,238,180,100, 50,157,144,148, 99,164, 77, 41,179, 73, 60,104,204, 38,104,149, 82,148,
+ 37,229,100,130,239, 28,163, 73,201,165, 43,151,120,225,185,171,188,244,194, 33,175, 94,155,113,125,191,228,112,148,178,172, 60,
+ 39,149, 37, 83,129,159,124,252, 41, 31,125,122,139, 11,135,115,186, 16,109, 74, 1,232,156,197, 89,199,170,238, 56, 91,214, 44,
+ 87, 53,155,117,195,114, 81,177,218, 52,224, 3, 51,173, 57, 93,183,172,214, 13,203,245, 25,206, 58,164,210,104, 17,184,119,182,
+161,183,158,113,110,112,206,243,112,213,209,245, 45,207, 31, 92,224,130,134,254,249,151, 40,210,132,189, 11,115,254,206,223,125,
+139,127,253, 71,127,129,198,146,164,138, 59,103, 43,108, 82, 50,187, 48,231,229,215,111,144, 9,207,189,229,130, 43,187, 5,147,
+170,230,181, 23,110,160,100,244,212,103, 70,113, 84,181,244,125,141,245,129,102,179,193,246, 45,119, 31, 63,224,139,119, 63, 34,
+236,205,249,189,107, 47,242,163,197, 9,250,236, 20,223, 91,174,204,199,204,243, 49,187,229, 4,159, 21,140,138,146, 81,146,112,
+209, 7, 14,147,132, 10,207, 23, 65, 18,140,166,114, 1,202,156, 44, 79,163,151,118, 50, 97, 45, 5, 39,227,156, 83,239, 57,107,
+ 29,105,158,208, 33,216,108, 58, 92, 31,181, 19,107,101,184,231, 2, 43,157,176,242,154, 66, 27,124,219,241,143, 47,141,184,190,
+ 63,166,212,112,115,107,216, 14,221,210, 75,218,177, 40, 75, 84, 97, 8,153,161, 40,115,108, 63,192,150,140,140,141, 67,223, 16,
+218,134,149,183, 8, 23,152, 75, 73, 39, 60, 34, 79, 40,166, 41,218, 24, 18,173, 24, 21, 69,212,120, 36, 57,141,117, 44,148,100,
+101, 18,198, 38,176, 78, 52, 70, 74,178, 84,115, 94, 91, 54,181, 5, 37,249, 71, 23, 10,254,233,197, 57,191, 59,223,225,107,229,
+156,153,210,156,166, 57,157, 16, 92, 8,129, 52,120,114,111, 89,119, 29,101,145,177,117,142,253,162,160, 30,205,209, 7,215,217,
+185,124,133,253,113,206, 94, 86, 32,146,168, 50,223,223,217,231,242,100,204,168,148, 44, 87, 21,186,181,232, 50,198,170,254,222,
+245, 23,248,173,253, 75, 76,138, 57,171,212,113,212, 6,100,211, 33, 91, 79,220,172, 63, 41,236, 79, 70,111,191,104,193,123, 86,
+216, 45,222,232,167,183, 51,175, 98,172,177, 87, 34,170,253,113,132,243, 53,225,248,132,118,181,229,222,189, 5,247,206,150,152,
+174, 70, 88,139,235, 58,148,247,140,145, 28,152,132, 60, 31,163,179, 18, 97, 36, 66, 39,248,182, 39,216, 46,194,110,250, 45, 15,
+251, 13, 27,192, 72, 65, 47, 20,185,140,174,158, 23,178, 28, 21, 60, 95,203, 70, 84,222,179,151,143,208, 58,197,152,132, 84,103,
+ 72, 19, 15,241,133,206,232,125,199, 44, 25, 97, 67, 20,252,153, 36,165, 39,144,106, 69, 34, 4, 87,139, 9,215,210, 18, 7, 8,
+101,112,193,161,148, 96,150,166, 44,173,101, 65,207,137,139,148,186,204, 40,100,240,104,169,209, 33,234, 94, 52, 2,149,168, 56,
+169, 19, 10,239, 45,123, 58, 37,115, 49,181, 45,174, 81, 4,125,223,113,220,213, 60,234, 59,142,125,207,178,110,169,188,163,222,
+ 84,120,231, 72,136,233,141,115, 37, 41, 8, 44, 3, 36, 14,238,123,193,124,144,250, 87, 66, 48, 29,178, 46,238, 5,207,207, 26,
+203,137,136,119,227,141,128, 70, 8, 86, 8,182, 14,102, 25, 36, 8,156,150,124,215, 40,114, 21, 72,165, 34,151, 10, 37, 97,100,
+ 12, 94,106, 50,157, 18,148,198, 73,195, 86, 42, 92, 16,212,206,253,109, 69,221, 67, 49,137,197, 41, 75,145,105, 74,158,153,184,
+115,126,194,126,223,214,224, 61,139,147, 21,167,189,231,164,173, 88,220, 63,166, 62, 90,195,253,251, 49,106,175,105,127, 45,113,
+ 78,124,197, 8,122,108, 20, 78, 25,198,121,202,102,216, 73, 97, 20,161,237,177, 70, 83, 40,205,143,219, 22, 41, 29,141, 84, 52,
+125, 28,127, 58, 31,227, 63,159,250,192, 87,213,160, 54, 31, 32, 51,142, 24,161,234, 93, 76, 72,155, 79,232,186, 14,169, 4, 14,
+137, 36,224,196,192, 77,223,110, 99,145, 14,196, 68,165, 39,187,102,220,175, 22,117, 33,162, 32, 47, 49, 81, 5,255, 36,110,240,
+ 75, 4,168,104,155, 27,168,119, 74, 12,135, 26,251,171,150,143,167,248,215,104,191, 16, 66,209,136, 64, 75,160, 28,138,236,142,
+138,202, 78,124,160, 35, 48, 21, 9,210, 58, 54,161, 39,172,182,209,166,101, 27, 86,189,229,168, 90,194,249, 42, 30,168,156, 69,
+ 72,251,139,223,199,126,169,176,243,165, 46,253, 73, 97, 87, 67, 65,127, 26, 43,203, 51, 55,192, 19,201,128,132,207,222,255,152,
+253, 75, 23,185,252,220, 37,130,144,241,166, 93,109, 98,206,177,119,156, 30, 69,246,248,225,165,125,210,196, 32,165, 98,127,146,
+179,173, 45,219,206, 98, 18, 29,173, 98,131,242, 88,105, 25,119,234,131, 30, 40, 51, 10, 41,100, 28, 83,132, 24, 96, 49, 42, 82,
+178, 52, 33,211,138,162,212,164, 3,163,160, 72, 37, 89, 98, 40,138, 4,167, 3,206, 90,140, 82,228,217,152,209,180, 36,201, 12,
+ 74,105,188,179,204,103, 35, 46, 94,153,114,105,167,224,202, 44, 35, 79, 52,141,245,124,113,222,242,120,189,225,232,248, 17,111,
+191,251, 14,159,223,249,152,119,111,221,230,133, 27,215,153,143, 51,188,139, 81,172, 77,211, 83, 55, 29, 77,213,179, 89, 54, 52,
+155,134,237,186,162,173,163,117,241,112, 82,208,184,192, 23,199,231,204,247,247, 64, 26,206, 54, 75,214,237,134, 68, 27,146, 52,
+208, 59,143, 11, 1,105, 36,153,150,172, 58,203,221,229, 25,214, 89,142, 63,187,197,139,223,120,157, 43, 70, 49,145,138,249,213,
+ 43,172, 62,191,137,147, 49, 69,110,181, 56,229,185,195,203,204,118, 70, 92,127,245, 6,133, 72,120,251,147,155, 76, 83,193,119,
+ 94,123, 61,142, 97,133,224,104,211,114,210,247,156,110, 54,252,235,144,113,195, 85, 60, 88,157,241,227,179, 83,154, 71,167,240,
+224, 1,223,159,103,124,162, 10, 30, 39,154,229,135, 15,120,245,234, 30, 89, 94,146,103, 5,118,160, 96,181, 82,145, 9, 65,112,
+158, 62,201,184,217,244,164,211,130,109, 27,185, 1, 73,162,152,206, 74,156, 13, 44,156,228,124,219,114,182,110,232,170,138,243,
+243, 45,235, 85, 67,150, 72,232, 58, 10, 9,171,198, 67,154,210, 39, 26, 53,206, 89, 39,134,165,147,172,130,229, 18,240,251,103,
+150, 59,125, 20,118,190,216,175,113,218,112, 65, 9,190, 57,155, 96,140,231,226,184,164, 44, 37,139,173, 7, 23, 16,125,253,165,
+123,137,227,204,118,124,216, 86,188, 93,247,172,164, 67,105, 67,105, 34,223, 94, 5, 71,240, 61,155,174,230,147,174,226,166,132,
+165,237, 81, 54,130,100,214,189,163,233,123,238,156,117, 32, 5,151, 71,134,223, 27,165,252,214,108,198, 56,203, 81,206,210,120,
+203,231,213,134,190,222,162,155,138,108, 16,147,101, 66,198, 12, 4,163,217, 72, 77,153,164,152,233, 1, 7,187, 51,198, 69,206,
+220, 40, 10, 41,240,214, 49, 73, 82,102,243,125,158,219,191,198,155,151, 46,243,202,254, 28,187, 62,231, 82,154,243,189,157,125,
+ 46,236,204,240,198,112,167, 17, 60, 76, 4, 74, 39,200, 52, 65, 56, 27,239,109,222, 35,126, 81, 20,243, 11, 35,248,167,157,123,
+128,160, 36, 94, 69,175,187,215, 50, 22,125, 69,140,254,236,135,228,189,182, 3, 2, 77,215,113,123,221,177,170,107,142,234,138,
+ 16, 4,133, 22, 28, 74,193, 40, 27, 35,149,142, 94,116,231, 8, 93, 71,223, 84, 84,245,146,181,171, 88,248,158,115, 28, 54, 8,
+ 74,165,216,120,199,133, 36,103,233, 29,175,166, 37, 78,192, 78,154,227, 66,160, 76, 75,156,148, 36, 67,167, 29,144, 32, 60, 18,
+ 69,235, 45,141,239, 81, 82,196,164, 70,165,240, 56,180, 48, 28,100, 25, 59,186,196, 17,133,144,133,214, 52, 46,242, 12,206,187,
+134, 47,250,154, 51, 27, 83, 21,147,224, 49, 62,166, 45,106, 17, 48, 2,204,144,224,102,131,167, 11,158,214,121, 18,219, 49,147,
+138, 4, 73,211, 54, 88,107,121,216,108,185,217,172, 57, 13,150,133,235, 88,247,142,123,103, 43,124,219,195,166,162,109, 59,138,
+ 32,201,148,103, 97,195, 83,109,208, 38, 4, 30,181,158,187,210, 83,247,158,255,175,237,249,172,182, 44, 67,224,175,154,104,239,
+189,221,131, 87,129,147, 14, 86, 34, 82, 64,141, 86,100, 18,180, 8,212, 34,112, 73, 73, 10, 33, 41,132, 64, 43,129, 64,146,104,
+131, 73, 50,122,101, 56, 69, 80, 17,232,130,199,255, 70,234,119,229, 33,207,193, 36,140,203,156, 30, 71,110, 98,238,186,171,251,
+ 88,176, 23,143,225,232, 4, 78,142, 8, 15,143, 34,175,184,218,254,198,108,147, 95, 46,236,167,206,243,242,100,140,205, 20, 90,
+ 64, 19, 4, 88,135, 50,154,166,107, 56, 87,138, 76, 9, 30,183,158, 83, 47,162, 2, 52,132, 33, 28, 96, 80,118,111, 99,188, 94,
+204, 74,183,207,226, 98,245,144, 25, 63, 60, 7,180, 38,248, 64,112, 46, 30, 8,194,128,114, 53, 67,215,237,109,204,154,175,171,
+248, 90, 72,241,235, 19,215,166,243,152, 57,175, 99, 44,171,176,195,215,139, 33,226,181,233,227, 24,223,251,248,152, 93,247,213,
+232,245, 39, 2, 60,192, 89, 69,103, 5, 19, 3, 99, 33, 81, 74, 81, 57,135,247,158, 14, 24, 11,112,196, 19,232,105,227,152,164,
+208, 58, 23,247,248,121, 49,188,163, 29,244, 53,162,111,159,165,185, 61,117, 53,248, 97,189, 96,159,141,229,191,124, 59, 8,225,
+ 41,244, 98,240,202, 12,135, 27,255,139,157, 62,240,222,143,127,198,181, 23, 95,226,226,181,125,148,138,227,240,190,173, 9,193,
+ 19,164,167,235, 90,206, 78, 79, 89,158,173, 57, 61, 57,229,248,180,102,211, 52, 44,207, 42,130,145,212,173, 99, 85,117,228,169,
+137, 36, 37, 25,187,118, 33, 32, 49,146,220, 72, 50, 99, 40, 51,131, 82,138, 44,215,228,137, 65,232,103,137,123,189, 13,120,160,
+106,226,227,156,142, 50, 46, 95,156, 82, 76, 50,246,246, 51,202,169, 97,190, 83,176,183, 87, 50,219, 31,243,198,245,125, 14,167,
+ 25, 69,170, 56, 95, 53,188,247,197, 17,127,241,238,199,124,246,217,103, 60,184,247, 57,239,126,248, 1,239,220,185,203, 7, 71,
+103,220, 91,214,204,172,231,245, 87,111,144,104,133,146,130,214, 58,234,186,139, 74,233,100, 80,231, 35, 48,153,224,187, 59, 99,
+174,239, 78, 88, 54, 29,247,207,150, 28,238,205,152,204, 10,148,202, 73,188,225,209,250,148, 68, 42,186,224,176, 33, 48,207, 51,
+202, 84,115, 56, 29,147,106,137, 87,130,169,239,121,225,198, 75,104, 41,105,140,164,219,159,179,253,226,140,176, 61,167,200, 34,
+147,253,179,207,110,114,249,197, 23, 80,121,202,141,235,135, 76, 68,198,163,197,130, 63,249,252, 30,223,184,122, 13, 39,224, 94,
+219,241,227,247,255,138,127,249,254, 71,156,187, 45,159,156, 63,230,246,241,130,243, 91,199,132,205,146,208,215,252,248,206, 61,
+170,197,121,212,126, 92, 61,224,179,207,239,241,181, 43, 87,232, 16,104,147, 32,165, 70, 73, 67, 45, 37,231,193,115,146, 40,130,
+ 49,180, 77, 71,235, 4,181,243,148,133,142, 14,141,174,103,187, 56,161, 91,109,120,184, 94,163,172,165,173, 43, 18, 44, 73, 83,
+ 83, 12,139,148,121,145,144, 24, 9,121, 78, 39, 36,231,121,202,120,148,241, 96, 27,248,201, 73,205,209, 98,203, 73,103,121,113,
+123,206,166,111,185,150, 25,178, 44, 99,229,122,174,103, 5,149,235,249,121, 19,248,214,229, 41, 15,151, 77,212,183, 40,255, 21,
+250, 23,199,163,186,225,167,235,154, 73,237,168,154,158,181, 11,220,238, 90,254,109, 93,243,158,235,120,108, 27,250,182,165, 58,
+ 89,178, 17, 48, 71, 82,213, 45,137,132,177,145,228, 26,126,123,146,179, 39, 32,241,176,174,215,252,116,121,198, 95,110,215,248,
+110,131,169, 43,164,237, 72, 17,204,180,194,202,152,123,208,218,158,198,164,204, 38,187,204,178,130, 50, 79, 81,157,195,244,142,
+177, 73, 24, 39, 49,222,118,119, 50, 66, 39, 57,187,187,251,188,178,127,141,203, 50, 33, 23,208, 55, 29,119,234,138, 7,189,227,
+ 76, 72,212, 56, 71,230, 10,145,151,136, 52, 71, 8, 29, 27,135,158, 47, 37,221,127,133,120,206,251,104, 15,244,224,181,124, 6,
+219, 81,224,219,246, 89,135,159, 38,241,158, 85, 78,162,226,123,119,206,114,235,216,236,206, 41, 85,180, 90,153,106, 73, 46, 20,
+216, 30,231, 2,206,246,212,245,146,141,173,120,208,174,121,224,123,194,112, 24,239,173,101,100, 82, 30,246, 45, 87,179,156,218,
+121,118,147, 12, 33, 4,101, 54,198,227, 24, 23, 99, 54,189,197, 38, 6,223,119, 36, 73,130,247,129, 62, 6,145,178,234, 59,156,
+ 20,108,156,165, 37,250,243,149, 80,132, 0, 83,157, 80, 26,141,247,144,105,195,178,169,185, 93,175,184,213,212,172,172,165,119,
+ 22, 33,160,243, 29,184, 30,231,122,164, 23,212,125, 77,215,182,113,109,208,117,212,237, 10,217, 55, 44,251,142,166,171, 57,233,
+ 27,150, 93,197,173,102,197, 99,103,121,212,110, 57,247,150,202, 5, 78,215, 91,194,106, 75,240,241, 48,153, 36,134, 32, 4,153,
+ 20, 20, 74,176,112, 30,235, 97, 27, 96,225, 5,183,122,207,194, 11, 30,118, 61,183, 58, 71,135,228,220, 7,122, 33,216,122, 73,
+ 31, 2, 4, 65, 72, 37,170,243,148, 6,218, 32, 81, 42,176, 35,227,253,246,192,104,206, 58,143,146,195, 24, 31,193, 93, 4,149,
+214,108,173,195, 42,205,169,237,126,131,162, 46,135,113,241,124,142, 49, 18, 53,156, 66,170,174, 31, 84,225, 50,166,183, 53,221,
+ 47,118,124, 38, 25,198,209, 67,241,252, 13, 18,221,158, 22,119,163,185, 27, 20,151,138, 4,239,162,154, 93, 40,205,178,169,241,
+ 58, 3,231,248,211,109, 75,162, 52,219,174,123, 54,178,126, 18, 74, 51, 96, 72, 89,159, 15,227,227,225, 77, 46,205,112,189, 91,
+240, 38, 78, 32, 82, 3,189, 67, 9,143, 25,242,208,131,148, 76,132,164,109, 26,216, 14, 65, 44, 97, 16,136,245, 3, 0,225, 87,
+242,209,135, 56,131, 44,133, 34, 69,108,187, 24, 30,131,143,175,159, 34,230, 78, 53, 45, 34,196,132, 34,209,118,113, 63,246, 85,
+175,131,247,113,220,175, 61, 16,149,171,137,144,180,222,145, 72,193, 8,141, 23,209,226,118,223, 91, 82, 33,120,209, 72,250,224,
+ 89, 63, 61,180, 71,127,232,244, 96,143, 23,222,120, 13,117,225, 2,219,109, 15,161,128, 55,223,226,183,127,231, 63,227,158,115,
+136,211,123, 3,246, 54,137,107,132,108, 54,144,244,220,211, 20,165, 39, 12,249,120, 24,248,245,232,220,119,254,242,199,188,241,
+157,111,177,115, 56,197, 24,141, 48, 17, 4,227,173,199,139, 16,223, 68,244,180,182, 37,132,192, 98,177,160, 40, 74, 50,147,210,
+182, 22,147, 74,242, 68, 83,166, 6, 59, 88,251,139, 68, 33,130, 36, 77, 34, 38,209, 7,143,210, 2, 51,172, 16,210, 65, 89, 47,
+164, 32,213,160,165, 36, 85,138,249, 40,225,218,126,201,238,184, 32,203, 19,202,145, 65, 75,197,254, 52, 99, 50, 74,160,235, 89,
+215, 27, 30,174, 54,252,252,243, 35,126,244,206,187,124,252,241,251,252,240,131,119,249,232,209,125,126,254,248, 49, 31,221, 62,
+230,252,108, 75, 95, 59, 72, 21,143,215, 75, 94,191,126,131, 75,187, 99, 18, 45,233, 7, 63,233,141,189, 17,111, 28, 76, 48,101,
+138,212,146,231, 74,195,235,243, 49, 58, 4, 62,126,184,224,180,110,184,118, 48,101, 90,102, 60, 56, 62,231,202,254, 30,105, 82,
+ 98,148,224,218,197, 43,236,230, 35,178, 52, 33, 77, 36,243, 52, 99,150,151, 92,221,221,103, 50, 26,241,232,206,125,194,206, 5,
+238,120,135,208,146, 27,223,122,137,229,199,247, 16,182,166, 76, 19,188,119,124,254,241, 45,246, 47, 94, 98,220,116,220,184,178,
+199,121, 29,200,131,229,224,149,235,180,121,224,255,250,131,255,147,211,236,144,147,106,133,255,236, 1, 77,223, 81,183, 45,225,
+100, 67,168,150,208,219,168,228,237, 35, 62,149,182,131, 43, 23,185,174, 52, 90, 27,180, 82,244, 2,130,183, 56, 9, 78,104,214,
+ 29,100,153,161,239,123, 84,179, 5, 27,120,116,182, 65,216,142,237,249, 18, 87,173,113,237, 22,221,181,156,184,158, 77, 8, 20,
+125,203, 78,128,185,235, 25, 19,152,107,195,104,148,162,149, 98, 17,162, 80,236,226,200,112, 48, 47,208, 38, 69,105,201,158,131,
+102,189,228,249,105,206,231,235, 45, 85, 83, 51, 78, 19, 54, 78, 18,148,224,181, 81,202,191, 93,118, 4, 45,226,248,157, 4,136,
+150, 72,190,228, 51,143,133,205,242,254,166,229,253,206,178,178, 45, 15,131,231, 78,221,179,168, 58,110,159,158,243,201,249,154,
+ 99, 47, 73, 15,167, 28,142,115,122,231, 56,119,150, 92, 10, 50,161, 48,157,101,209, 54,252,236,228,140, 63,124,112,202, 63,123,
+188,226, 81,235,223,218,122,142, 0, 0, 32, 0, 73, 68, 65, 84, 40,250,154,210, 58,250,224, 56, 52,112,142, 98, 36, 35,244,164,
+ 82,154,115,192,168, 17,187,147, 9,174,233,145,137,162,237, 44,157,237,153,142, 50,242, 84,147, 35,152,101, 9,210, 72,228, 40,
+103, 60,223,197, 8,131,237,122,100,215,161,113,164, 66,178, 22, 10,161, 21, 34, 53,200, 81, 10,227, 2,161, 82,152,140, 96, 60,
+ 66,204,102, 48, 29, 62, 85, 2, 98,136, 58, 30, 92, 65,193, 71,239, 63,206,199,146,233, 6, 63,126,154, 12, 22,194, 36,162,116,
+ 83,141,184,122, 41, 94, 15, 55,174,210,212, 91,252,120,143,170, 93, 34,203, 9,105,187,161, 35, 32, 92,207,233,246,148,135,253,
+154,155,205, 57,183,250,134, 58, 4,114,165, 56,235,123, 10,163,169, 67, 96, 71,106,110, 91,203, 11,105, 70,231, 45,123, 3, 86,
+ 91, 11,201,253,182, 65,100, 25,155,182, 67,165, 41,174,235,105, 67, 36,190, 45, 92, 75,175, 36, 39, 93,131, 11,130, 30, 75,227,
+ 44,214,119, 20, 90, 51, 18,138, 92,106,130,117,212,182,227,110,189,230,131,237,130,135,117,197,195,166, 34,177, 29,139,205, 6,
+219,119,136,182, 66,186,150,163,213,130,174, 94,115, 94,109,184,249,248,152,227,205, 25,155,243, 21,141,175,121, 92,109,184,181,
+ 93,241,160,221,242, 97,181,226,182,183, 28,185,150,165,117,108,123, 79,223,121,172,137, 19,226, 32,227,244,163, 19,224, 19,133,
+245,112,226, 35,222,213,138,161,190,200,232, 12, 32, 12, 26,181,109, 19, 67,139, 92,120,182, 10, 85, 17, 40,132,133, 30, 1, 22,
+198, 38,208,183, 16, 8,236,132,168, 35, 19,193,211, 58,203, 61,239,168, 93,207,210,104, 78,125,160, 22,112,218,247, 52,184,223,
+160,168, 59, 23,109, 77,121, 17,115,109,125,244, 20, 71, 16,118, 23,137,105,155,234, 23,153,230,105, 18, 85,230, 98,160,237, 60,
+ 21,173,254,134, 81,173,206, 17, 18,201, 35,239,201, 18, 77,145,106,238,172, 27,110, 20, 57,143,154,154,207,164, 71,120,197,137,
+227, 89, 7,110,135,168, 83,231,159,112, 19,227,239,187, 38,118,221,246, 73, 94,252, 80,241,236, 96, 61,211, 42,142,124,134,238,
+ 2, 37, 25, 11,201,170,237, 73,122, 27,215,198, 77, 19,199,248, 16,159,167,245, 95,253, 58, 57, 96, 92,198, 40, 65, 99,158, 61,
+134, 68, 33,150,213,179, 9, 65,219,198,215,198, 61, 27,193,127,101, 97,103,232,216, 77, 44, 84, 78,122,118,134, 28,225, 6,203,
+ 4, 73, 47, 34,125,110, 46, 37, 39,206, 81, 15, 63,124,242, 98,112, 43,104,190,121,245, 57, 94,190,112,157,111,191,246, 53, 66,
+ 6, 15,215,129,255,234,119,255, 35,254,139,255,224, 5,222,250,230,215,121, 72,224,248,163,219,209, 37,144, 20, 17,154, 19, 52,
+ 40, 59,164,222,133,103,241,181,246,215, 20,244, 98, 20, 41,117,192, 95,255,155,191,224,205,183,190,199,222,254,152, 36, 75,201,
+199, 17, 29, 60,158,206, 41,166, 35,242,162,164, 44,198,164, 69,134, 78, 52,245,118,201, 98,177,224,236,108,129, 16,154,245,214,
+ 97,117, 20,157, 44,219, 62, 2, 54,132,136,161, 6, 66, 80,217,104,119, 19, 16,177,172, 79, 70,139, 2, 50, 25,119,241,137,138,
+113,168,121, 98, 8, 90, 83, 26, 67,145,166,236, 76,114,114,105,216, 52,150, 85, 93,211,214,150,109,219,113,126,178,230,241,163,
+ 71,124,248,240, 17,119,238,158, 83,173, 27, 90, 27, 96,107, 33, 85, 20,251, 25, 47,237, 77,152, 22, 6,187,172,217, 59,220, 35,
+ 85,154,210, 36, 92,158,229,188,185, 63,229,202,238,136,157, 44,193,139,192,170,141,252,231, 63,187,121,159,159,222,250, 28,215,
+ 89, 46, 30,238,177,169, 90, 30,159, 46, 33, 75,217,187,176,135, 16, 9,194,121, 52, 10,135,136,202,230,196, 48,206, 11,102,211,
+ 29,116, 94, 98,130,103,251,197,103,220,201,118, 41, 52, 72,173,217,236,236,113,252,232, 4,217, 86,100, 74,147, 39,154,234,241,
+130, 23,111, 92,198,143, 75, 70,215, 15,185, 56,155,243,220,133, 9,255,243,255,250,191,243,216,106,110, 62,188,135,127,239,179,
+216, 97,244, 3, 40, 41,209, 48,140, 94,201,146,120,205,118, 33,178,240, 23, 43, 62, 29,101,252,252,236,148,185,140,176,155,182,
+ 9, 72, 36,219,222,227,189,163, 58, 95, 83,120,135,105, 26, 54,213,130,166,233,121,176, 92,243,117,111,249,142,250,255,185,123,
+179, 88, 79,211,252,190,235,243,108,239,246,223,207, 82,167,214,174,234,165,122,186,123,118,207, 52,198,177,227, 69, 38,118, 98,
+ 71,193,114, 34, 43, 66, 17, 4, 9, 41, 8, 36,110,184,135, 11, 64,202, 69, 16, 8, 16, 8, 4,145,130,130,132, 4,138, 9,177,
+ 49,182,135,140,199,158,173,103,198, 61, 61,189,119, 85, 87, 87, 87,215,114,234,236,255,253,221,158,133,139,231, 61,117,170,151,
+217,130,114, 97,254,210, 95, 71,213,234,243,255,191,231,125,158,247,249,109,223,197,176,221,172,249, 95, 95,125,135,105,162,152,
+183, 53,173, 15,156,107, 23,236, 8,120, 6,216,202,114,130,137,243,113,169, 20,189,194,240, 92, 63,163,144, 48,201, 20,152,132,
+ 69,229, 24, 38, 57,199,171,154, 13, 45, 24, 38, 18,231, 26,188, 8,224, 21, 90, 75, 46,171,192, 93, 27, 58,133,200, 64,168, 98,
+135, 41, 88,255,177,118,116,144,158,202,183,220,169, 43,110,156, 44,120,255, 96,197,157,195, 25, 15,103, 51, 78, 86, 11, 14,147,
+148,187,189, 28,231, 5,223,159,215, 44,124,212, 42,210, 26, 94, 94, 52,124,103, 85,243,207,239, 30,243,206, 73, 13, 58, 26,207,
+ 12, 7, 25, 57,130, 84, 43,246,130,194, 39, 9, 7,193, 51,147,154, 67,169,144, 82, 83,122,199, 80, 37, 4, 99,152,151, 53,199,
+182,197,118, 92,231, 84, 70,153,217, 44,209,228,157,219,159,151,130,180,200,217,233, 13,120, 34, 31,115, 25, 67, 17, 2, 9,146,
+125,239, 58, 49,154, 72, 17, 37,213, 29, 86,168,207,197,115, 19,126,229,210, 57,126,245,137,203, 60,113,174,207, 29,169,105,181,
+ 1, 17, 25, 7, 4, 79,176, 54, 86,153,222, 71,113,152,212,196,162,103,178, 1, 27, 35,206,237,108,178,218,222,138,103,231, 96,
+192, 24,139,239,111,208,184, 10,219,223,224,126, 61,227,158, 73,121,111,190,207, 93,225,184, 85,206,120,208,214,188,189, 94, 16,
+108,205, 72, 41,246,109,205,213, 52,227,196, 58, 82, 33,216,199,243,108, 90,240, 70, 83,115, 53,201, 57,112, 22, 33, 4,239,218,
+150,190, 73,249, 65, 85, 34,180,228,164,169,104,164,162,242, 45, 75,160, 68,112,220,148, 44,189,167,148,138,149,107,105, 90,203,
+220,182,164, 66,162,130,227,214,226,132, 58,180,220, 94,207,184,177,156,242,160,109, 56,110, 43,234,170,225,100,182,162, 89,174,
+ 88,175, 74,102,211, 5,135,211, 25,139,195, 37, 71,251,199,204,142,166, 52,135, 7,212,251, 83, 22, 71, 83,118,247,167,220,245,
+154, 70,171, 24, 36,149,102,213,182,148, 77, 32, 72, 73, 89, 91, 86,222,178,180,254,145, 57,149,232,101,120, 33,105, 90, 79,109,
+ 36,161,245, 56, 29,133,130, 30,157,155, 42,137,138,108, 74, 64, 17,129,154,103, 50,129,157, 69,169,232, 92,234,188,165, 9,158,
+ 66,195,134,130, 99,231,232, 35,152,150, 13, 43,111,249,147, 69,133,177,142, 3, 36,139,208,130,144,204,125, 4,138,214,136,159,
+144,210,230, 92,156,201,230, 5, 33,216, 24, 60,155, 58,182, 60,151,107, 88, 47, 62, 28,176, 83,211, 9,183,116,182, 61,167, 22,
+166, 63,133,255,122, 0,146, 34,103, 90, 55,184, 32, 73,240,124,253,112, 69, 98, 4,109,235,216,175,125, 87, 61,119,124,115,173,
+ 98,183, 32, 87,176,174, 35, 31,220,159,122,134,119,215,108, 84,231, 59,222,137,195,184, 22, 76,246,200, 65, 45,116, 66,179,141,
+173, 9,222,227, 84,128,217,178,163,165,117, 98, 54,237,143, 80,151, 75,101,228,242,107, 29,221,136,124,180,116, 21, 77,211,113,
+216, 29,212, 54,154,222,167, 18, 33, 76, 76, 58, 78,173,246,126,152,240, 79,231,143,254,172, 78, 89,227,200,145, 44,136,129, 77,
+ 7, 40,164,228,158,181, 92,209,154, 61,101,104,179, 33,161, 95,116, 9,129,224,194,198,132,107,151,159,140,200,209,124,192, 43,
+187, 31,240,111,252,234,231,249,212,149, 9,227, 66,179,191, 47,120,253,165,239,117,237,247, 78,156,199,119,162, 61,117,123,214,
+129,249,104, 64, 47,178,120,255,174, 63, 15,131, 49,108, 92,128,227, 35,192,243,237,175,252, 41,159,251, 75, 63,203,120, 84,224,
+136,244,143,114,189, 98,117, 60,195,121, 71,219, 52, 81,224,195, 89,234,186,162, 63, 26,146,164, 9,179,147, 25, 7, 7,187,104,
+211, 35, 0, 59,147, 30,163, 92,227, 36,156,148, 13,166,211, 87, 87, 2,124,136, 92,119, 33, 5,153,142, 85,158,150, 26, 41, 85,
+244,146, 14, 2,143, 68, 40, 25, 15,203, 68, 70,189,248,202,177,110,106,172,107, 81, 26,166,139,134,245,170,230,251,183,222,224,
+157,189,121,228,154, 42, 21,147,209, 76, 49,218,200,184,216, 47,216,232,103,108,247,251,212,190,197,137, 12, 47,213, 35,145,190,
+ 69, 21,165,108,119, 79, 86,188,124,251, 33,239,221,127,200,205, 7,123,220,216,123,128,117,142, 98, 48,100,114,126,147,219,247,
+246, 89,206, 23,148,229, 42,186,212,245, 50,174, 93,187,196,249,139, 27,244,123, 3,180,202,176,173, 37,237, 15, 41,155, 53,182,
+110, 16, 90,145, 21, 5,217,221, 91,204, 70, 91,140,100,224,122, 63,227,249,103,159,102,125, 82, 17,234, 57,121, 86,144, 38, 25,
+199,211, 22,181,179,201, 94,213,240,236,229, 77,254,163,255,244,191,224,181,111,191,193,244,189,251,132,249, 52, 74, 89,166,130,
+176,170, 9, 78, 17,146,132,225,102,143,122,101, 65,248,200,248,176,113, 92,116,249,242, 54,139, 96, 97,235, 9,126, 69, 84, 4,
+149, 50,111, 26,172, 11,220, 43, 75,214,117, 77,174, 53,214,181, 80,206,168,235,154,253,197,140,145,146,252,198,120,194, 53,101,
+216, 80,134,230,226,121,158,154,108,112,239,248,136, 70, 6,174,226,185, 28, 2, 67,109, 24,248, 22,147,100,184, 16,152,154,132,
+ 11,189,132,169,139,136,248, 74, 8,122, 50,176,118, 62,170, 34,162,104, 76,142,105, 3, 43, 27,169,167,155,169,225,104,221,146,
+230, 41, 3, 41,217,119, 46,210,223,180, 36, 52, 14,178,156, 80,175, 63,196,221,126, 92, 51,221, 75,112,218,199,119, 7,100,242,
+117,133,175, 3, 7,203,150, 48, 91,196,115, 57, 81, 44,140,161,173, 28,117, 89, 35,234,238,124,201, 2, 33,207, 88,104,195,168,
+208,232,188, 0, 99,168,165,198,106,197, 2,193, 80, 18, 21,191, 58,252,236,222,122,201,126,219,112,100, 75,214, 30, 22,109, 75,
+ 79, 42,114, 21,249,236,198,131,177,142,108,144,115,113,107,200,214,120,192,168, 87, 48, 50, 25, 67,175,201,165,198, 90,203,145,
+ 16,177,163, 18, 58,157,116, 35,121,170, 63,224,111, 95,186,194, 95,185,116,149,141,172, 71, 45, 13, 7,161,229, 80,201,248,188,
+230, 69, 84,214, 44, 6, 49,208,164, 5,194,228,209, 69,115, 99, 19,206,141, 33,203,248,204,230, 6,207,231,154,139,249,144,237,
+ 36,231,124,127,204,115, 9,156,235, 15,112, 85,197, 42, 29,178, 91,214,232, 65,159, 89, 83, 82, 74,201,253,122,197, 40, 53,145,
+ 2, 38,224,185,164,224,157,182,225, 66,154, 49,199,115,197,100,188,222,212, 60,159,245,121,205, 86,140, 84,194, 59, 33,112,222,
+ 24, 94,105, 74, 46, 36, 57,175,181, 13,107, 9, 55,154,146,131,110,170,182, 86,154,123,214,226,140, 33, 56,139, 82, 6,149, 36,
+236,151,107,148,183,188, 52,159,241,126,189,226,219,199, 71,124,251,232,152, 91, 85,195,237,163, 41,179,217,138,102,177, 34, 44,
+ 86,132,178, 34, 44,231,177, 72,105, 60,193,183,113, 39,172,235, 24, 87, 37, 4,105,163, 86,100, 11,195, 73, 63, 22, 94, 33, 48,
+115, 1,235, 60, 7,109, 75, 42, 37,211,224,112,182,165,105, 44, 20, 73, 28, 47,122, 98,140, 8, 34,198, 1,219,129,141,148,124,
+100, 28, 38,186, 14,103, 32,196,160,190, 88,158, 41,159, 74, 16,170, 51,175, 9,145,194,188,106, 29,139,210, 97,240,220,154,213,
+220, 44, 27,222, 94,214, 76,107,203,205,117,203,173,170,137,250,154, 34,142, 95, 87,193, 82,150,229, 79, 24,212, 79, 3,187,239,
+244,209,203,170,227,155,183, 17,185, 94, 86, 31, 49, 0,209,143, 80,223,248, 83,190,120,243,211,153,136, 56, 71,211,180, 88, 89,
+112, 56, 95,115,216, 74, 84, 2,211,101,195,244, 84,183,187,141,178,149,168,238,100,149, 34, 2,243,210, 46, 19,242, 46,210,217,
+ 48,157,154,154,143,227, 0, 97,227, 99,157,100,241,161, 72, 35,208, 44, 40,213,101,176, 93,101,186,174,187,207,233,192, 99,117,
+243,163, 19,147,214, 66,154, 68,105,195, 83,254,109,219, 62,194,151,161, 4,233, 86,159,191,247, 11,159,229, 11, 87,118,248,204,
+213, 29, 94, 93,183,112,112,244,113,214, 1,143,181,229, 93,180, 35, 60, 20,130, 73,128,105,240, 92, 82, 9, 46, 4, 86,206, 50,
+ 84, 26, 21, 60,203,126, 31,113,105, 27,159, 22, 52,242,148,150,230, 89, 53, 53,231,243,130,224, 28,251, 71,247,121,111,239, 24,
+213, 66, 49,232,243,238,238,154,255,253,155,223,164,124,247, 78, 76,118,172,237,208,254,246, 49, 79,121,251,225, 57,122,218,135,
+254, 8,174, 94,227,201,167,159,230,231,158,249, 12, 69,158,146, 37,154,217,178,130,114, 1,192,183,254,248, 79,121,254,103,191,
+204,100,220, 39, 16, 40,215,117,228,165, 59,135, 76, 20, 70, 39,164,131,156, 36,205,241,221,131, 34, 59, 94,120, 86,228,156,204,
+150,236,159, 44, 57, 92,181, 44, 86, 45,182,182,148,141, 35, 75, 21,206,197,249, 32, 34,138, 58, 32, 4,214, 5,210,196,144, 24,
+ 29,133, 48,132,140, 10,111, 50,138,110, 4, 31, 56, 94, 53, 28,206,151, 20, 41,236,238,175,184,253,193, 33,135,135, 83,254,219,
+191,255, 31,227, 46, 92,227, 92, 95, 50,109,227,104,233,234, 86,193,115,231,199, 20, 90,113,105, 50, 98,107, 48,164,245,142, 69,
+ 89,177, 94,206,217, 24,111, 16,132,228,120,177,230,131,227, 21,183,246,230,188,125,255,144,233,225, 49, 77,213, 48,155,207, 59,
+228,173, 33, 47,250,180,173,224,222,221,219, 4,239, 41,203,117, 20, 94, 42, 75,164,201,184,184, 51, 97, 60,204,121,225, 83,151,
+216,220,220, 96,190, 88,211, 44, 43,150,235, 21,149, 83,172,231,199, 40, 37, 88,220,120,141,139, 91,151,201,140,166, 21,160,159,
+216,193,222,185,207,108,185,100,144,247,153,156, 59,207,231,175,159,231,229,247,118,249, 63,191,251, 22,239, 52, 21,161,108,160,
+ 46, 9, 36, 81, 45,205,219,168,206,102, 27,152,244,249,119,159,218,226,217,243, 3, 94,185,127, 4, 78, 71,237,123,173,153,159,
+ 44,249,210,246,152, 23, 38, 59,252, 7, 63,247, 34,127,248,242, 55, 24, 20, 57,223,152, 30,243,160, 46,185, 55, 59,160,169,150,
+188, 59, 59, 1, 15,235,122,201, 27, 15,247,248, 66,166,121,177, 63, 98,152, 20,204,109,203, 74, 90,254,195,127,243,175,178,145,
+143,249,254,189,125, 46, 40,203, 57,161,216, 9,209,145,175,157, 47, 56,177,160, 18, 73,139,166,159, 39,212,225,140, 62,234, 91,
+199,210,118,192,174, 34,163,241,129, 75,105, 1, 38, 37,209,134,161, 49, 84, 74,113, 80, 86, 76,101,231, 56,153,103,132,113, 63,
+ 58,251,109,108, 16,122, 61,130, 73, 9, 38,199,215,229,163,201,243,227,239, 83,170,151,247,158,176, 90, 18,230, 75,130,111, 32,
+207, 17, 91, 99,138,126,143,214, 68,165,200, 32, 69,215, 1,108, 97,111,142,149,146,157,157, 9, 99,109, 40,117, 26,177,176, 66,
+208, 55, 41,147,108,128, 70,144, 40, 73,161, 36,211,118, 69,226, 29, 85, 93,113, 82, 87,180, 90, 49,183,150, 60, 64,129, 66, 87,
+ 13,253, 34,101,251,194,128,254,184, 71,111, 82, 32, 19, 67,162, 13,133, 52,168,186,198, 21, 9, 53, 41,115,147, 34,104, 17,203,
+ 5, 56,207,207,108, 20,252,252,214, 54,227,162,143,150,134,239, 47,102,188, 84, 89, 90, 37,161, 40, 96, 56,130,241, 48,186, 88,
+ 22,177,117,207,176,135, 56, 55, 70,108, 12, 32,201,248,237,115, 19,180, 8,244, 85, 66, 47, 81,124,106,178,205, 88, 64,149,228,
+248,182,100,115, 48,162,106, 27, 54,122, 41,179,218, 49, 40, 18,230, 66, 48, 74, 50, 22, 66, 49, 82,154,167,139,130, 91,222,241,
+116,214,231, 1,158,109,147,114,211,181,124,161, 24,242,186,109,120,190, 24,114,219, 53,236,104,195, 77, 41,121,218,100,220,241,
+ 45, 27, 42,225, 43,171,134, 59,109, 64, 43,205,161, 72, 57,242, 45,100,195, 40, 17,157,230,216,166,230,192, 5, 46, 24, 67,233,
+ 90,116,213,240,157,131, 53,251,123, 83,202,227, 5,213,222, 67,194,172, 36, 44,203,184,215,215, 77,236,216, 56, 8,173, 3, 17,
+249,254, 17, 48,221,126, 8,135, 16, 26, 75, 16,146,121,101, 41, 6, 25,139,224,153,173, 43,130,209,140,148, 98, 29, 2, 25,112,
+210, 90,130,245,143, 5,244,199,156, 47,101,167,147, 46, 59, 90,176, 52,241, 12, 61, 29, 19, 11,209,197, 6, 23,207,202,166,138,
+197,166, 13, 81,115,193,118, 64,229,198, 97,181,100,181,172,104,239, 28,224,119,134,132,170,138, 14,134,117,133, 93, 91,246,102,
+ 37, 33, 85,236,207, 23,204,235,146,121, 85,253, 20, 65,189, 3,155,196, 25,115, 29, 51,145,229, 52, 86,199, 31, 13,116,237,169,
+ 63,123,167, 47, 30,236, 79, 85,165,127,168, 13, 47, 34,194, 51, 40,112,243, 21, 78, 71,167, 40,116, 71,191,242, 93, 27,163,233,
+ 28,218,132,136, 45, 68, 41, 98,219,220, 73,240, 21,164,105,188, 86, 69,156,167,159,250,144,247, 11, 88, 85,177, 45,213,118,237,
+230, 32,186, 68,197,199,224, 92,182,177,218,255,104,242,242,137,192,128, 40, 8,129, 84,143,104, 99,143,108, 20,123,138,223,249,
+220,115,124,249,179,215,185,118,229, 18,189, 65,159,137, 49,188,121,119, 63,222,207,254, 4,182,182, 97,251,114,119, 96,116, 98,
+ 57,105, 52,124, 9, 65,177,173, 4,233,233,193, 35, 37, 70, 37, 84, 69,193,232,218,147, 20,151,174, 32,242, 1, 66,122, 18, 37,
+177, 68, 81,150,160,160, 45,167, 52,229,138,187, 7,251, 28, 77,103,220,218, 61,226,251,119,142,185,189,123,132, 78, 3, 83,217,
+121,200,231,166,115,228,235, 16, 53,217,169, 61,173,120, 36,246,241, 59,127,251,111,240,155,191,249,235,252,214, 95,126,145,207,
+ 92,127,138, 34, 45,104,203,150,131,114,198,108,185,140, 93,157, 14, 33,255,210, 87,254,140, 39,174, 63,205,165,203,231,208,137,
+193, 5,129,107, 91,108,211,210, 84,209,187, 90, 73,133,210, 18, 39, 2,109, 93, 33,141,196,186,104, 35,136,128,217,241, 34, 58,
+142,245, 83,238, 60, 56, 97, 94,182,172, 43,199,176,103, 88, 55,142,117, 29,157,151,124,128, 52, 49, 56, 33, 98,192,116, 33,250,
+186,187,208,209,118, 2,193, 70, 69,191,187, 15, 23,124,251,123,111,178, 94,174, 81, 65,112,225,153,231,217, 24,110,176, 44, 79,
+ 48, 6,206, 13, 50,182,122, 57,105,146,160, 4,244,211, 12,165, 52,173,109, 73,181,138, 66, 55,227, 62,155,163,130,224, 3,109,
+221,224,156,163, 90,173,177,190,198,214, 45, 38, 55, 12,134,131,232,159, 83,215, 28, 30,239,177,174, 74,172,143,146,201, 50, 64,
+ 99, 91,214,203, 5,249,160,207,221,123,135,236,223, 59,100,213, 88,202,178,138,244, 32,231,168,133,102,160, 2,101,179, 66, 6,
+193, 63,127,243, 13,174, 94,185,198, 50, 81,120, 41, 96, 99, 27,125,120, 72, 80,146,171,159,190,198,238,225, 9,255,253,127,253,
+143,216, 31, 13, 8, 65,112,117,123,196,201,209,156, 96,163,189,103,112,154, 32, 45, 1,201, 95,237, 23,252,141,171,151,152, 76,
+206,113,151,150,189,131, 69, 92,107,219,194,186,102,119, 81,177,215,204,233,111, 95,226,205,226, 2,127,114,251, 6,203, 15,222,
+167,109,214,184,195, 35, 78,238, 60, 96,189,156,243, 96,247, 33,187,199,115, 88,172,121,113,152,112,217,244,104,129, 91,205,146,
+ 69,211,240,153,139, 23,248,218, 94,197,157, 96,120, 38, 84, 12,133,230,138,201,240, 77,205,180, 92, 49,173, 86, 52,141,101,152,
+165, 72, 35, 17, 70,162,188,160, 42, 91,142,234,200,201, 14,137,162,240,129,103,198, 3,182,123, 57, 79,142, 70,108, 21, 3, 84,
+218,167,245, 18, 31, 2,203,186,100, 59, 49,156,207,115,174, 12, 70, 12, 55, 71,108,109, 78, 56,119,110,135,213, 32,167,214, 2,
+ 95, 12, 9,182,194,183,246, 19,131,251,153,147, 88,108, 83,227, 26, 66, 0,159,104,124,104, 34,142, 72, 40,254,206,149, 17,127,
+237,137, 77,254,108, 81, 19,170, 53, 15,156, 68, 20, 61, 6, 89, 2, 58,165, 16,138,173, 52,163,113,158,139,105,193, 42, 56,150,
+109, 77,102, 18,178,224,105,218,146,204, 40, 78,234, 53, 85, 8,184, 0,125, 2, 61,169, 40, 50, 67,186,221, 39,233,231, 72,173,
+162,131,105, 16, 80,182,164,206,147, 56,135,207, 53, 83,217,167,202,250, 48, 62, 15, 82, 48,240, 13,147, 96, 81, 54,240,205,147,
+ 35,190, 58, 91,112,212,214,144,102,244,139, 1, 73,154,146, 38, 9, 77,154,128, 17,136, 44, 69,228, 25, 36, 25,191, 56, 28,242,
+ 75,219,155,140,211, 30,107, 33, 80, 4, 54,250, 27,188,190, 92,115, 97,115,147,188, 90, 49,200, 71, 28,172,231, 12,123, 99,180,
+107,240, 73, 74, 45, 65,163, 88,184,134,158,148,172, 67, 96, 22, 60, 79,154,140, 93, 1,219, 66,242,126,176, 92, 55, 5, 63,104,
+215,124,177,152,240, 70, 91,243,132, 73, 57, 20,146, 39,133,230,221,224,184,164, 12, 95,171, 45, 90,167, 44,146, 52, 42,215, 25,
+137,206,114,110, 47, 42,134,195, 49,109, 93, 82,166, 57, 89,154,145,138, 20, 35, 2,137, 12,172, 68,224,120, 81, 19,234, 10,188,
+ 32, 40, 27,215, 47,184,104,186,162, 32,184, 78, 73,179,237, 4, 58,234,211,130,165,195, 93, 88, 23,139, 25, 35, 8, 73,193,220,
+123, 86, 62,158, 79,198,195,202,121,188,245, 76,109,131,111, 61, 94,118,138,114,174,251,189, 54,196,100,207,187, 88,220,213,174,
+ 43,238,162, 48, 26, 82,119, 44,168, 83, 68, 98, 32, 74, 24,218, 88, 48,182, 1,154, 53, 66,201,200,220, 10,237, 35,239,145,254,
+207, 61,207,175,255,194,175, 49,185,180,197,221, 31,188,129,119, 14,239, 26,124, 91,115,184, 42,217, 95, 58, 30,204, 75,118,231,
+229, 79, 25,212, 93,231, 7, 94, 55, 17, 13,222,254,136, 96, 29,186,249, 51,246,147,103,208, 63, 77, 31, 94,133, 88,233,135, 78,
+ 60,166,237, 2,185, 15,103,148,171, 83, 32,151,144,241, 64,106, 59,212,182,179,157, 14,123,135, 80,119, 26,124, 19, 51, 85,219,
+145,141,243, 36,182,153,173,139,111,245, 88, 85, 90, 69,126, 42,101,219,181,236,221,143,189, 94,225,186, 44,190,181,145, 67,239,
+ 99, 71,225,252,185, 17,191,246,165, 79, 51, 30,111, 32,181,102, 60, 28,160,148,231,107, 15, 14,163,144,198,198, 38,191,252,133,
+ 95,226,153, 43,207,176,177,189,195, 60, 87, 48,153,224, 70,227, 56,235, 46,250, 28,139,140,162,200, 88,110,142,217,186,122, 29,
+189,185, 65,178,189,205,197, 11,207,176,179,245, 36,147, 98,136,210,158, 84, 9,164, 10, 24,169, 56,159,165,104, 4,139,186,229,
+225,186,164, 57, 46, 17,212, 76, 46,110,243, 59,191,254, 34,127,235,231, 63,197,214,104,204,203,111,220,141,155, 92,117, 18,177,
+ 38,116,179,158,110, 22, 36, 5,140,174,240,203,191,240, 34,189,188,160,223, 75,105,218,192,114, 94, 81, 54, 53,175,127,112,159,
+102,247,118,151, 4,157, 9,202,127,255, 27,223, 35,233,245,185,122,253, 10,195, 65, 15,235, 2, 38,141,148, 12,173, 20,202,168,
+168, 42,151, 38, 36, 89, 66,154, 36, 72,109, 88,173,102,148,229,138,197,244,144,245,170,100,186, 40, 73,179, 4,148,160,117,142,
+ 59,247,142,185,125,231,144, 50,120,234,198,243, 96,186,164, 14,158,163, 69,116, 73,187,249, 96,193,113,217,128, 8,172,234,154,
+ 89, 85,241,222,238,140,155,119, 30,242,242,159,191,129,111, 45,121, 97,184,117,231, 22,139,234,132,175,255,254,239,243,220, 11,
+ 79, 51, 74, 13,189,196,144, 38,138,126,154,161,181,194, 57,139, 15,158,225,176,207,100, 99,194,120,115,131,119,111,220, 96,126,
+176,224,137, 39, 47,178, 49,206, 17, 82,178,152,174,168,203, 10,169,162,184,133,119,129,249, 98,198,162, 90,226,188, 39, 81,154,
+166, 45, 49, 90, 99,148, 65, 25,133,208,154, 64,194,241,241, 58, 2,247,238,221,225,206,238, 7, 28, 29, 31,147, 25,197,131,221,
+219, 72, 13,133,201, 17, 82,144,184,138,111,191,250, 58,227,107, 79, 51,159,215, 28, 79,215, 12, 81,188,240,229,231,120,240,193,
+ 3,254,203,127,240, 15, 9,195,148, 48, 24,240,244,248, 28,191,120,225, 28,149,104, 56,120,176, 23,207, 18,121, 10, 30,243,188,
+187,172,216,222, 26,240,170,215, 84,131, 77,238, 29, 79, 35,144, 7, 27,159,183,186,198, 46,106,190,253,224, 30,187,227,109, 66,
+ 2,236,237,194,195, 67,196,193, 20,148, 68, 78,143,162,234,240,122,137, 90,172,121,114,144,226,104,120,216,214, 60, 16,130,243,
+166, 64, 60, 56,160, 76,115,110,212,150,220,193,139, 89,206,121,147, 48, 65, 82, 84, 75, 74, 23, 56,241, 22,231, 37, 18,133, 22,
+ 18, 71, 96,191,116, 76, 27,139,112,142, 92, 4,174,244, 82,174,231, 42, 42,197, 77,250,244,179, 20,157,103, 52, 33, 97,238,115,
+ 18,225,144, 50,112,165, 95, 80,164, 25, 74,103,236, 12, 7,132,160,184,212, 27,161,243,148,117, 97,104,130, 38,120, 73, 80, 1,
+223,218, 15,181,230, 63,106,125, 26, 90, 11,179, 57,254,112, 30,193,191, 43,203,223,188, 52,226,239, 60,117,133, 79, 77, 54,184,
+220, 19,124,237,193, 49, 65, 40,218,113, 76,242, 76, 98,216,214,138, 84, 37,108, 36, 25, 51,215,208,215, 41,235, 16, 53,192, 69,
+176, 40, 33, 72,157,195, 72,197, 10, 88, 52, 53,206,181, 76, 80,244, 70, 41,201,184,128,160, 16, 50, 82, 8,221,178, 69, 84, 45,
+ 38,120,250, 66,145, 74, 56,108, 61, 85, 62, 68,141, 54,217, 26,110, 51, 73, 39,124, 80, 46,120,105,127,159,239,150, 21,123,101,
+133, 73,114, 70, 4,206, 43,195, 68, 74, 90,223,178, 45, 37, 94, 26,172, 78, 65, 8,118,122, 3,254,253,171, 87,248,197,237, 29,
+206,101, 57, 15,154,134,117, 62, 68, 9,193, 23,183,182,120,176,174,216, 25,142, 56,168,106,174, 15, 71,172,155, 53, 62,201, 88,
+ 59,139, 5, 26, 44,153,146, 44, 90,203,200, 24,148,139,238,107,153,179,204,149,230,162, 54,188,211, 86,124, 62, 27,240,157,122,
+197,245, 36,229,182,141,149,249, 45, 44, 79,201,148,119,189,101,152,102,188,237, 96,101, 50, 46, 25,143,201,115,156, 15, 92,204,
+ 19,172,131,116, 48, 64, 91, 71, 26, 2,187,182,166,144,134,165, 15,188,125, 60,231, 92,207, 48, 21, 50, 26,255,216,216,109, 12,
+105, 10,182,237,176, 21,177, 94,139,129,221, 34,130,239, 84, 52,187,192,124, 26,220, 91, 75, 8,109,231,194,150, 98,157, 71,106,
+ 88,181, 45,214,123,188,148, 88,231, 8,136, 51,183,207, 68, 19, 84,199,241,149, 42,250,180,166,230,209,104, 87,136, 83,254,175,
+ 56,227, 1, 55, 54, 22,147, 77, 21,199,181,162, 99, 69,181,109,108,213,251, 14,184,218, 90,154, 59,187,188, 83,205,185,251,250,
+ 77,194,122,253,161,189,234, 91, 27, 29,235,234, 10, 87,173,127,218, 74,253,167,120,121,255, 73,236,138,127,177,207,105, 79,181,
+210,125,148, 88,149, 62, 86,224,170, 67, 20,186, 16, 3,206, 41, 24,175,125,140,142, 69,135, 90,119,246, 76,196, 89, 6,176, 50,
+ 90,234, 40,115, 6, 6, 75, 77, 92,144, 14, 48, 39,137, 45,219, 71,215,240, 73, 28,117, 62,130,248, 79, 82, 68,136,170,123,104,
+137,208, 34, 82,236,180, 36, 29, 13,184, 48,218,226,250,213, 29,154,214,209, 88,199,235,239,238,243,131, 91,183, 65,107,190,244,
+244,179, 92,217,188,202,160, 72, 24,229, 35,206, 15,183, 57, 63,222, 98,107,180,201,212,173,105,165,128, 84,225,243, 62, 95,120,
+234,103,184,124,233, 83, 12, 70,219, 76,134, 19,118,118, 46, 99,250, 57, 70,235, 40, 52,225,106,188,111, 59,224,152,102,208,203,
+169, 90,207,193,170,194,175, 23,144, 14,248,173, 95,252, 57,126,249,179,151,216,238,103, 44,170,154,175,254,249,219,221, 24,163,
+ 75,152,156, 7,225, 62, 60,236, 15,129,231,158,190, 70,154,231,184, 32, 56, 62, 94, 48,157,157,240,242,187,239,242,240,213,215,
+ 59,179,154, 56,210,160, 55,140,182,180, 73,143,155,175,190,198,205,163, 41, 79, 94,185,194,246,206,152, 52,141, 21,181, 78, 77,
+ 4,136, 72,133,210,209, 96,231,248,225, 62,243,163, 99,210,126,129, 64,160,140, 34,235,229,113,148,176, 90,178,119,255, 30, 94,
+106,170,178,194,121,199,201,193,148,123,119,247,152, 30, 45,168, 90,207,189,221, 67,110,221,188,207,108, 58, 99,212, 79, 25,102,
+134,183,223,185,195,155,175,191, 79,185, 42,217,189,247, 16, 66,137, 39,208, 54, 21,155, 91, 27,100,169,230,179, 95,124, 1, 33,
+ 4,214,183,164, 90,147,152,132,212, 36, 88,231,200,146,132,201,104,192,100,123,139,197,108,198,239,189,244,231,188,250,123, 95,
+225, 7, 39, 71,108,167,125, 62,253,169,171, 76, 6, 57,135, 39, 37,101, 85, 19,112, 88, 91, 81,173, 75,130,112, 88,219, 18, 66,
+160,106,107,218,198, 33,181, 36, 77, 83,146, 52, 37,207, 11,180,201,249, 31,254,243,191,207, 42, 83, 60,117,241, 9,132,128, 59,
+251,123, 20, 90,115,251,120, 22, 27, 37, 70,144, 37, 5,105,146,146,135,192,242,214, 77,222,247, 9,243,147, 19,152,157,176,213,
+235,241,250, 31,253, 1,183,111,223,137,235,176,189,197, 47, 93,188,202,100, 52,162,110, 4,239, 29, 29, 65,181,254, 16, 26, 28,
+103,249,238,221, 19, 30, 76, 6,140, 19,197,238,180, 11,234, 70, 69, 77,233,102, 21,159,175,117,137,112, 51, 56,119, 25, 33, 3,
+226,120, 14,179, 35, 68, 98,162,116,169,144,200,202,161,122, 57,247,102,107, 66,112,172,141, 98, 96, 82,174,165, 61,206,103,125,
+174,175,150, 60,151, 40,254, 68,229,252,229, 80,179,163, 37,217,186,164,239, 32,149,129, 99, 33, 57,106, 61,203,101,197,209,178,
+101,247,168, 97,225, 37, 77, 93, 99, 36, 76,180,228,185, 73,194,118,145, 48,233,165,104,169,200,178, 4,175, 12,199, 46,224, 85,
+198,170,105,217, 73, 2, 7,141,165, 17, 9,219,253, 2, 23, 20,105,170, 73,242, 30, 82,229, 36,198, 96, 83,205,218, 72, 66,211,
+ 65,115,196,153, 35, 91,248, 33,193, 29, 31,131,123,200, 11,206,111,244,120,114, 48,160,111, 18, 94,218, 63,226,229,105, 11,174,
+161,116,129,173,201,132, 45, 90,198,105,143, 43, 89,129, 11,176,242,142, 6,207, 68, 25,102,109,133, 21, 34,138,137, 0,199,245,
+ 18, 97, 29, 7,203, 21, 53,129,208, 54, 12, 91, 73, 49,200, 65, 10, 92,101,169, 22, 22, 97, 29,218,122, 84,136,179,247,148,128,
+203, 53,165, 73,201,123, 9, 23, 6, 5, 27, 89,198,181,241,152, 75, 58,229, 25, 9, 6,199, 6,146,157, 44,193,132,134,129,146,
+164, 85, 67, 38, 37,137,138, 74,124,107,161,121, 82, 75,254,202,214, 38,147,201,132,188,223, 99,225, 37, 43,161,216,234, 13,184,
+217, 74,158,204, 13,135,222, 51, 50,146,135,192,192, 7, 14, 2, 72,111,169,131,194,224, 56,113,129,158,130,135,214,114, 73, 42,
+156,244, 56,165, 24, 11,193, 45, 91,113, 61,201,121,185,173,249, 76,154,241,102, 83,115, 53,201,184,237, 45, 87,149,226, 29,107,
+177, 42, 97,215, 9,118,209,236,136,192,118,191,135,118, 81,193,209, 41,205, 74,196,209, 93,240,240,190, 83, 60,155, 36,212,194,
+179,169, 52,123,205,154,210,186, 40,190,213, 70,231, 52, 76,151,144, 17,147, 34,244, 41,144,218,253, 72,208,111,232, 66, 71,176,
+167,192, 74, 69,211, 52, 56, 43,176,194,163, 36, 88, 58, 16,156, 20, 12,211,132, 70, 10, 6,137,129,196,224,106,219,137,121,117,
+133,208,227, 1,221,118,223,127,170, 54,106, 58,155,111,219, 60,242,149,127,132, 63,235, 18,141, 71,201,198,193, 17,172, 63,252,
+252,250,199,233,138,222,227,189,255,151, 24,212,255,101, 37, 10,208,129, 15,136, 70, 42,190,243, 66,183, 93,171,188,113, 17,224,
+100,187, 96,244, 72,100,229, 84,212,197,199,223,179, 33, 46,114,211,130, 54,177, 90,135,216,162,207, 12, 10,129, 95,119,116, 57,
+239, 98,144,230, 19,140, 88, 30,151,211, 85, 41,164, 10,145,165, 93,101, 27,187, 6, 66, 68, 43,203,114, 94,147,100, 61,122,253,
+ 62,203,202,113,111,127,197,183,222,188,193, 73,217,242,212,120, 27, 39, 44, 23, 55, 47, 61, 98,200, 25, 97, 24, 15, 55, 25,101,
+ 99, 92,104, 89, 87,115, 18, 45,249,244,149, 43, 60,247,220,103,185,250,244, 5, 46, 92,220, 1, 82,164,146,228,121,156,179,183,
+245, 26,215, 68, 87, 45, 37, 2,163, 94,129,247,176, 40, 43,142,167, 43, 56, 62,128, 36,197,228, 9,231, 46, 92, 32,184,134, 63,
+250,179, 55,185,121,231, 78,119,223,186,150,145,107, 63,158,149,249,134, 87,239, 31,242,173, 27,183,249,214, 27, 55,248,230, 59,
+183,120,253,253,251, 28, 61, 60,224,111,254,230,207,242,175,255,173,223,224,185,207, 63,207,203,223,191, 1, 62,233,124,234, 13,
+ 56,199,124,255,128,111,253,193, 87,113, 50,176,181,115,129,243, 59, 99, 76,146,224,173,167,109, 90,218,117, 77, 83,215,209,110,
+ 80, 43, 66,112,172,150, 11,130,117,184,182, 97, 62,157,226,108,131, 76, 20, 77, 85,178, 90,158, 48,159,159,176, 88,156,208, 31,
+ 12,192, 4,214,235,146,123,119,222, 35, 79, 11,206, 95,218, 34,205, 13,111,188,123,151,178,110,184,246,204, 37,108,240,172,171,
+138,197,106, 78,101, 43,130,176, 44,203, 37,141,179, 52,117, 69,235,124,244,118,150, 18, 33, 4,121,146,209,239,231,108,109, 71,
+ 3,163, 55,110,220,224, 15,255,155,239,176, 62,120, 43,222,143,147, 25, 63,216,219,227,206,222, 30,215,174, 61, 65,154, 25, 80,
+ 10, 87,133,152, 16, 18, 8, 33,154, 25, 37,137,193,249, 22, 79, 32, 87,134,254,104, 68,150,230,236,236,236,208, 75, 21, 63,243,
+175,188,200,231,158,122,134,157,157, 45,116,146,163,154,166, 91, 67,143, 82, 10,111, 3, 66, 9,180, 74, 56, 55, 57,199,214,198,
+132,203, 82,115,174,153,243,185,237, 45, 66,219, 66, 47,227, 7,245,154,240,240, 8, 76,194,221,188, 32,144,242,181,218,130,110,
+225,193, 49,225,180,203,214,218,174,117,216, 80,175, 42,246,122,134, 80, 90, 88, 77,227,115, 83,251,216, 37,203,123, 80, 86,136,
+178,134,190, 66, 12,207, 65,181, 64,212,209, 79, 65, 74,133,208, 6,217, 58,148,116,136,166,197,214,142,107, 90,114,181,223, 99,
+ 39,205, 25,233,148,145,206,185,188, 94,241,215,151,199,252, 39,235,138, 47, 52, 11, 70,206, 33,165, 34, 73,251, 28,201, 56,190,
+154, 53, 13,213,226, 4,218,134,178,182,228, 89, 74, 42,225,252, 36,229,217, 97, 78,145, 36,160,100,172,140, 58,190,117,107, 20,
+171,218,163, 80,204,219, 64, 46, 4,195, 52,195, 98, 64, 40,140,202, 16, 68, 1,163, 86, 42, 42, 28,115, 33, 9, 90,197,106, 73,
+234,232,223,254, 35,186,113,225, 49,110,202,237, 34,163,202, 4,119,154,134,127, 60, 93, 99,219,238,240, 93, 55, 28, 41,193,179,
+147, 17, 27, 74,163,129,149,181,108,165, 5,214, 7,214,193,161,165, 66, 11,205,210,183,100,202,144,134,192, 73,185, 68,249, 22,
+223, 86,148,193,211, 11, 18, 83, 69,189,137,122,218, 80,213, 45,198,122,180,146, 36,202, 32, 90,135,106, 29, 74, 5, 22, 90,211,
+ 47, 82,122, 74, 48,208,146,139,253,132,177, 74, 9,214,177,157,100,104,225,193,214, 76,122, 19,114, 37, 17, 89, 74,223,104,132,
+151,108,102, 3,130, 82,140,148,226,114, 63, 39,213,145,138,252, 45, 27,184,172, 19,238, 5,120, 58, 81,220,108, 3,151, 18,195,
+210,123,122, 77,131,211, 10,211,214, 28, 6,131,161, 97,209, 74,250,162,101,209, 90, 54,149,228, 36, 56, 76,128, 77, 41,121, 24,
+ 2,215, 84,194,187, 33,240, 41,173,121,197,181, 60,111, 50,110, 56,203, 19, 58,229,166,247,140,211,130,251,174,225,102, 48,188,
+208,211, 36, 58, 71, 10,203,162, 12, 20,169,161,213,134,147,101, 75,146, 72,150, 65,115, 61,145,236,121,199,180, 93,147, 4,216,
+ 78, 18,246,171, 53,101,128,182,170, 8,210, 61,162, 5, 7,225,227,200,164,163,239,253, 72, 22,207,135, 0,202, 93, 85,223,205,
+183, 49, 50, 2,168,219,216, 78,151, 74,211, 79, 18,192,179,105, 52, 13,146,129, 84, 8,163,162, 56,152,235,132,198, 78, 65, 85,
+ 46,116,214,222, 34,198, 31, 73,236, 42,107, 5,165,251, 16,131, 76,252,136,198,117,248, 33, 58,255,167,239,191, 88, 65,253,113,
+ 78,184,150,145,122,147,152, 51, 21, 52, 31,226,251,212, 63, 61,116,173,144, 83,218,155,140,170,177, 52,117,156, 29,219, 54,242,
+ 90,179, 52,182, 57,172,143,193,189,113, 4, 37,232,208, 85,103,105,155,236, 16,253,159,228,175,110,116,164,149, 36,105, 68, 49,
+158, 42,238, 5, 16, 34,116,238,108,142, 7,193, 50, 16,125, 30, 30, 44,216,221,223,231,246,225, 30, 95,188,242, 2,227,193, 6,
+155,197, 38,139,106,129,109, 26,202,186, 68,139,132, 44, 43,176, 77, 77,107,107,198,185,102,104, 18, 46, 76,182,184,254,236, 85,
+ 54,198, 3,164, 12,180, 45, 84,117, 77,189,110, 88, 87, 75,108,168, 70, 44,229, 0, 0, 32, 0, 73, 68, 65, 84,211,224,124, 29,
+141,226, 84,244, 97, 89,217,154,233,170,101,117, 52,139,135,246,106,201,131,217, 9, 95,123,247, 3,222,190,117,204, 55, 95,127,
+ 7,246,119,187,204,209, 70,240,134,111,207,118,202,227,187,108, 57,135,197, 18,151, 12,248,242,245, 39,249,194,181,107, 60,115,
+241, 60,207,191,112,157, 81,209, 71,169,148,175,127,247,205,174,131,210,117, 83,100,167,244,167,224,253,183,239,243,205,255,231,
+107,156,148, 21,195, 98,192,230,206,136,209,100, 64,146, 39,164,121, 78,214,239,145,247, 50, 6,163, 33,195,141, 17, 74,106,156,
+183,136, 16, 98,117, 93, 53,180,174,197,152,132, 36, 51, 12, 55, 38,164, 69, 65, 83, 47, 41,215, 75,180,145, 12, 55, 71,120,233,
+152, 46,102,180,117, 69,214,207, 56, 56,154,114,251,238, 17, 34, 52, 8, 44, 74,197,245, 52,105, 66,158, 39,244,123, 61,146, 68,
+ 97,140, 33,207, 18, 54,198, 99, 6,227, 1,105,150,241,230, 59,239,240,251,255,244,101,238,189,241, 10,164,211, 15,175,253,124,
+193,131, 27,239,241,135,239,222, 34, 43,107, 46, 93,185, 72,175, 95,160,141,129, 16, 80, 42, 33, 49, 41,173,111,144,104,134,195,
+ 49, 59,151,174,112,241,226, 69,206,109,109,112,113,103,192,114, 85,147, 26,205,249,205, 30,147, 81,159, 81,207, 80, 53, 48, 95,
+205, 40, 76,202,185,201, 22, 91,147, 29,156,141, 7,202,100,115,147,235,215,159,194, 58,203,104, 49, 37,221, 28,211, 38, 41, 15,
+130,228,253,208,226,238, 61,132,121, 69, 35, 90,238, 38, 41, 33, 73,226, 66,150, 43,152,205, 62, 30,168,108, 32, 16,221,208,132,
+ 3,234, 16, 1,115, 73, 47, 82,112,124,196,169,136, 85, 5, 59,231, 35, 23,122,122,130,104, 90, 68, 93, 33,147, 20,233,107,100,
+ 43,209, 73, 74,235,107, 22,222,242,249, 34,101, 59, 45,216,208, 25,133, 50,100,214,163, 29,252,122,179, 96,190, 94, 96,189,199,
+244, 71,180, 38,101, 97, 18,202, 0,181, 20,228,109, 69,175,173, 8,120, 26,153, 96,242,148, 79,111,246, 40,164,196,104,141, 86,
+ 18,167, 4,109, 0,169, 4,135,141,231,225,172, 98,229, 3,206, 59,180,107,112,193,163, 4,104,165,168,136,174, 87,190, 3,231,
+173,189,165,150,130, 6, 31,253,219,125,244,143,136, 29,192,240, 67,169,166,167, 2, 76,161, 12,220,202, 50,222,113,129, 42,209,
+145,239, 93,198, 10, 44,132, 64, 37, 96,167,151,115, 78,105,140, 78,153,186, 6, 45,162, 22,115,233, 45, 54, 56, 10,169,152,219,
+ 6,139,164,118, 22,237, 26,158, 85,154, 52, 4, 86,222, 49,146, 10,150, 77, 44,238, 26,139,145,138, 20,137,116, 93,178, 88, 53,
+120,223, 18,250,154,202,193, 48,209, 60,181,153, 98,172, 39, 33,112,161, 63, 96,189, 42,217, 30, 12,152,203,132, 32, 36, 42,201,
+ 25,103, 5,235,160, 25,231,125, 86,222,177,221,159,112,185,159,113,212,120, 68,154,243,245, 69,201, 19, 70,115, 79,105,174,104,
+201,237, 10,158, 72, 5, 15,188,167,215,212,180, 74,144, 32,152,121, 24, 11,207, 34, 56,156,171, 88,121, 79, 79,192,212, 89, 70,
+ 34,208, 4,112, 66,241,164, 50,188,227,107, 46, 33,121, 75,192,139, 73,206, 93,147,112, 81, 27,222, 15,158, 45,224,166,183,220,
+106, 2, 99,165, 17, 34,197,168, 22,169, 12, 46, 40,242, 68,115, 48, 91,115,105,212,227,214,178,225,124, 10,123,117, 60,114,135,
+ 66,179,198,211, 84, 75,250, 58, 2,217,166,173,135,218,117,113,188, 27, 39,186,174, 98,167,253,208, 56, 88,252,200,192,222, 81,
+183, 37,177,170, 86, 93, 7, 51,209, 32, 4,218, 40,180, 8, 8,161,169, 3,228, 38, 42,190, 89,239,185,152, 37,216, 16, 72,164,
+166, 57,125,202,132,239,204,204, 58, 1,142,214,198,207, 13, 81, 34, 59,130,202,221, 79,116,109, 31,235, 34,125,200,137,228, 47,
+ 98, 80, 63,173,216, 53,177,202, 62, 69, 25, 6, 1,153, 62,203,138, 66,151, 37, 9,206,130, 54, 33,234,214,159, 86, 41, 74,198,
+118,189,236,104, 76,167,115,118,219, 5,241,211,155,172, 58,142,187, 13,159, 44,190, 34, 85,220,101, 74, 67, 34, 17,182,107,142,
+216, 40,136, 33,124,183, 20,147,130,205, 68, 17,218,138,182, 89, 51,204,198, 12,178, 13,198,189, 13, 82,147,179, 63, 59,226, 79,
+223,121,133, 7,211,123,164,166, 3,240,219, 21,219,147, 30, 87,182,119,184,176,125, 30, 33, 2, 89,175,143,144,146,229,186, 97,
+255,254, 17,171,249, 17, 77,211, 80,214, 75, 42, 91, 67, 80,100, 73, 15, 17, 2,141,107, 89,149,150,195,101, 69,187,255,160, 75,
+ 74, 4,172,150,132,189,125, 14,110,223,128,249, 97,108, 1, 53,117,100, 12,156,142,196, 69,231, 25,239, 31, 31, 9, 5, 24,158,
+227, 75,159,251, 28,159,123,234, 51,108, 76, 70, 12, 71, 3,114,147, 80,149,150,147,147, 57,127,254,199,223,141,247,227, 20, 40,
+226, 60,143,124, 44, 67, 60, 56, 31,188,123,135,239,125,227, 21,190,250,251, 95,161,244, 45,118, 81,146,100, 25,218,104, 76,146,
+208,235,167,100,121, 70, 49, 72,201,250, 61,138,241, 16, 41,226,140,209,152,200,107, 46,215,107,132,247,180,109,137, 50,134,209,
+214, 38,147,173, 9, 38,139,114,146,171,229,154,182, 46, 89,204,230,252, 79, 95,251, 42,111, 63,188,195,107,239,191,207,139, 47,
+ 60,207,104, 60, 32, 43,114,242, 34,167, 63, 28, 48,220,218,160, 55, 26, 50, 26, 14,201, 7, 3, 30, 62,120,200, 31,252,224, 13,
+190,245,199,175,113,247,198, 13, 16, 77,236,100,124,146,254, 63,192,193, 49, 55, 30, 30,241,167,175,252,128,151,222,191,197, 83,
+227, 17, 27, 23,207,113,241,218, 14,147,157, 13,174, 61,125,149,171, 79, 62,193,151,191,240, 44,151, 47,109,199,138,190,245, 28,
+ 28, 46, 81, 70,112,245,226,152, 11,219, 35,138,110, 22,183,118, 2, 91,195,120,188,193,245,207, 62,199,198,249, 77,124, 11,227,
+141, 45,130, 80,124,243,187,127,198,255,245,181, 63,229,202,192, 80, 37, 61,110, 91,199,251,117,195,131,147, 99, 56, 41, 35,178,
+118,177,142, 98,210, 42, 33,168, 4, 50, 96,247,232,227,123,216,119,192,161, 68,209,223,238,211, 76,151, 49, 57,221,158, 64, 47,
+141,221,155,147, 21,162,138, 54,172,226,210, 21, 68,166, 16,203, 88,177, 11,219,198,194, 38, 81, 40, 91,161,147, 60, 66,112,234,
+146,103, 82,195,185,172, 79,142, 32, 73, 82,180, 80,104,161, 72,109,203, 94,112,212, 89,206, 74, 42,132, 80,220, 77, 52, 67, 23,
+216,193,177,227, 42,138,245,138,123,190,161,213, 3, 14,215,150, 39, 38, 57,163,212, 32,133, 32, 81, 10, 39, 4,247, 74,203,254,
+210, 50,135,200,176,168, 75, 42, 91,209, 75, 4, 58,207, 8, 40,180, 50, 88,235,168,157,163, 9,158,181,247,248, 16,240,161,229,
+178, 4,167, 12, 91,169, 97,126,122,216, 58,247, 49, 91,211,179,152,238, 99, 23,235,104, 69, 91, 36,209, 69,177, 13, 4,215, 85,
+ 96,222, 49, 79, 36,207, 22, 41,149,212, 36,161, 69,201, 8,228, 83, 34, 96, 2,148,221, 17,229,130,224,196,214, 76,189,229, 98,
+154,115, 94, 37, 12,148, 38, 13,142,224,160, 39, 37,210,123, 86,214, 82,152, 4, 35, 64,218, 0,101,139,181, 21,181,183, 52, 82,
+ 97, 10, 77,150,105, 18, 96,160, 84,244, 95,106, 28,231, 70, 3,150,141, 71, 42, 67,158,101, 88,239,104,164,166,151,167, 88, 7,
+ 73, 62,164,144,154, 36, 27,112, 97,208,227, 36, 8,206, 21, 9,135, 30, 46, 42,120,109,110,121,118,100,248,160,134,205,208,224,
+211, 20,215, 97,154, 6, 1, 30, 54, 37, 85, 8, 88,160, 23, 2, 11, 60, 61,107, 89, 3, 19, 20, 66, 4,142,133,231,146, 52,220,
+146,130,103,149, 38,223,220,224,103,175, 92, 36,152, 20,225, 60, 47, 55, 53, 54,104, 22, 68,109, 9, 25, 4,189, 84,177,108, 53,
+ 89, 18, 88,148,158,113, 79,115,111,222,240,244, 64,115,119,225,216, 52,150,131, 42, 32, 69,139,243, 1,109, 12,218, 59, 14,215,
+ 37,165,117,113, 2,107,195, 35,230, 85, 76,216, 92, 60,159,127,196, 8,245, 99,129,212,116, 69,161, 74, 8, 65,117,198, 86,177,
+104, 75,141,138,251, 16,129, 59, 5,187, 91,216,233, 71,225,172,177,209, 72, 31, 53,250,131, 20, 81,243,228, 84, 81,203,117,212,
+234,166,142,231,106, 85,198,239,249,132, 78,176,248, 73,175,245, 49,238,212, 95,204, 87,219,137,200,152,238,103,167,151, 30, 45,
+206,220,199, 43,251,212, 68,138, 26,254,140, 27,104,187, 22,100,234, 33,164,103,201, 66, 47,129,117,211, 45,126,135,254,246, 54,
+ 34,209,101,120,172,221, 46, 59, 49,154,142,163,104,146,168, 0, 87,241, 88,235,223, 67, 11, 65, 91,196,218,195,170, 33,139, 34,
+244,244,211, 30,203,218, 71,197,174, 36, 97, 54,155,115,178,154,226,214, 37,203,101,205, 75,205, 91, 20,201,123,188,112,110,139,
+ 39, 46,126,145,241, 96,128, 80,154,221,221,154,219, 55,223, 66,233, 12,223, 10, 2,142,218,181, 84,109, 69,109, 27, 18,157, 50,
+200,198,228, 38, 99,152,111,128,183,124,160,119,185,113,123, 55,106,206, 7,255,216,142,240,103, 6, 52,167, 6, 46,167,255,221,
+119, 40, 81,249, 17,125,120, 37,217,122,230, 50,207, 61,113,157,162,151,162,141,232, 4, 9, 28, 89,174, 89, 61, 88,193, 56,242,
+245,169,237, 25,135,191, 37, 2, 21, 79,191, 47, 77,163,164,112,145,241,205,127,242,149, 15, 45,217,214,207,127,153, 47, 95,186,
+200,206,165, 11,108, 94,218,161,215, 75,163,145,195,206, 24, 24, 83,151, 13,109, 99,217, 60,191,137, 78, 53,193, 6,180, 86, 24,
+163,113, 56,218, 54, 32, 26, 24,140, 11,240, 5,179,121, 11, 14,146,196,208,224,216,186,184, 77,145, 75,108,235,104, 92,180, 80,
+172,214, 53, 15,239,220,229,229, 59,247, 25,228,155,188,250,202, 59,176, 60,129, 81, 15, 84, 63, 38, 61,131, 1, 84,139, 31,190,
+ 47,143, 14,224, 8,170, 15,238,241,143,254,252, 53,184,124, 9,113,239, 62,124,246, 57,254,237, 95,252,121,242,254,152,147,217,
+144,117,217, 32,189,192,100,154,141, 73,193,197,113,143,205,126, 30,111,181, 10,100, 89,194,120, 99,128,200,158,138, 57,102,112,
+188,247,250,219,220,188,123,139,239,220, 63,198,189,113,227, 81,166,254, 63, 31,205,225,115, 21,253,237, 77,150,149,139,251,124,
+ 18, 45, 90, 89,151,240,246,109,120, 14, 24,111,198, 53,185,176, 5, 15, 30,126,188, 5, 41, 91,168, 44, 75, 27, 80,231,183,113,
+211,101, 68, 72,123, 31,147,103, 5,193, 27,196,209, 9,197,106,202,246, 96,192,223,253, 75,159,227, 63,251,230,171,132,195, 99,
+ 66,154,198, 25,117,154,226,109,131,175,107,222, 12, 3,158,184,251,128, 43, 89,143,190, 15,120, 17, 53, 4,164, 25, 82,104,195,
+197,197, 62,223,174,215,164,185,102, 46, 20,231,164,166, 48, 30,237, 13,198,123, 60, 45, 27,135,119,121,133, 30,215,253, 14,193,
+ 7,166,139,146, 36, 75, 9, 9, 28, 90,199,173, 38,112, 79, 8,166, 70,179, 30, 22,132,249, 17,185, 84,152, 40,102, 64,227, 37,
+ 38, 13,132, 32, 49, 65,179,196,113, 65, 11, 46, 6,197, 40,233,113,210,180, 60,145,215, 44, 74,197,177,179,172, 67,244, 68, 8,
+118,246,232,240,252, 88, 85,100, 45,193, 46, 16,183, 90, 56,191,217,177,124,116, 44, 42,172,195,150,150,223,187,191,207,111,157,
+111,217, 28,109, 49, 17,130,147, 54,130,214,234,206,123,161, 1,234, 16, 56,180, 45,151,101,108,221,150, 50, 97, 32, 37, 35,149,
+160,133, 96,214,182,232, 16, 24,231, 5, 39, 39,199,168,209, 8,103, 59, 54,135,130, 22, 73,161,163,131,161,243,158,214, 41,234,
+ 16,216,206, 82,150, 30, 92,221, 48, 25, 20, 20, 54,227,110,213, 48, 23, 1,211, 56, 74,171, 49,198, 80,118, 93,233,220, 68,225,
+156, 76, 75,222, 95, 58,174,247, 13,239, 86,158, 79, 15, 52,239, 54,130,103,211,192, 7, 54,101, 80, 47, 8, 70,227,202, 37, 78,
+ 39, 20, 74, 49, 7, 66,221,114,220,180,108, 72,207,158,135, 75, 34,112,151,154,167,125, 70, 89,150,188,102, 44, 82,106,222, 49,
+ 9,127,189, 55, 96,175,178,232, 36, 97, 79, 73, 74, 11,135,180,188,238, 20, 47, 72, 79,161, 60, 8,195, 80,181,204, 42, 77,145,
+ 6,110,207, 27,158, 26, 24, 94,155,183,252,204,200,240,234,220,243,124, 22,120,173, 42,184,172, 22,212, 94,162, 4, 60, 53,200,
+185,177,104, 33, 84,157, 86,129,136,133, 73,211,169,141,214,205,143,197,101,127,232, 85, 55,145,223,111,125,180,172,182, 10, 82,
+ 79, 63, 79, 41,157,199, 8, 73, 21, 44,163,212, 80,119,137,151,109, 3,131, 84, 81, 57,135, 38,160,235,192, 80, 72,142, 17,157,
+125,136, 63,147,232,126, 4,198, 78,160,250,209, 99, 31,241,227,174,245, 47,124, 80,167,163,202, 85, 26,122,157,145,129,239, 76,
+ 83, 76,215,102,207,116,231,212,214, 41,250,168, 54,222,208,143, 46,108,221,196, 0, 45, 0,147,241,185, 47,127,150, 87, 31,238,
+194,205,135, 93,251,221, 71, 58,130,247,144, 41,240, 89,180, 27,236,247,224,104, 5,182, 59,228,155, 42, 6,255,196,196,162,182,
+249, 48, 27, 48, 72, 16,101,205,178, 90, 51,206,199, 72,157,147,138,136,164,124,112,248,128,101,185,226,198,253, 93, 88,175,226,
+130, 85,115,214,153,102, 53, 54,120, 91, 1,125,172,107,113,206, 81, 55, 45,213,122, 65,221,214, 56, 31, 40,215,109,172,208, 85,
+198,165,173, 1,193, 11, 60,138, 65, 49,192, 57,207,249,144,194,242, 43, 49,249,208, 81, 69, 12,253,120,251,149, 78,146,246, 49,
+141,247, 46,167,161,149, 17, 80,120,122,240, 95,186,198,139, 87,158,227,220,165, 49, 74, 72,166, 39, 43,154,229, 17, 23,175,108,
+210, 88,199,249, 11,219,252, 91,127,247,183,185,191,191,199, 87,126,247, 27,113,151,213, 31,161, 3, 42, 25,233, 26, 69, 63,126,
+143,214, 31, 10, 50,135,223,248, 30,255,247, 71,150,251,249, 95,255, 5,206, 15,134, 92,190,112, 1,157,166,209, 44,102,144, 19,
+214,241,175, 80, 38,193,152,216,154, 13, 68, 31,227,100,144,196,153,109,223,242,239,252,198,111,242, 63,254,238,255, 1,137,100,
+ 53,157,242, 15,254,241, 31,241,215, 62,245, 52, 47, 63,120,200,222, 91,135,224,231, 29, 87, 31, 24, 63,140,215,109, 4,156,204,
+ 64,218,104,247, 57,159, 71,225,142, 79,218, 71,159,240,208,137,123,247, 9, 90,195,107,111,243, 15, 95,123, 27,145, 38,241,225,
+172, 27, 68, 54, 64, 84, 11, 68, 22, 19, 5, 9, 92,251,249,207,147, 11, 73,166, 5,115,235,184,249,221,183, 8, 42, 33, 96, 9,
+235,234,147,219,110,243, 5,124,247,109,150, 23, 54,249,149,107,231,216, 40, 18,244, 83, 59,124, 35, 9,220,123,247, 30,172,102,
+ 48,155,119,163, 42, 96,115, 12, 71, 11,176,179, 15,127,206,218, 66, 1,159, 27,245,248,181,141, 33,127,248,193, 46,175, 77,203,
+199, 18,229,206,180,104, 81,178,126,235, 29,254,189, 95,250, 87,249,213, 43, 87,248,222,157, 15,248,202,201,148,160, 51, 66, 57,
+195,215, 41,193,181,248, 34,199,219,134,175,238, 62, 96, 35,215,252,246, 19,134, 68,106,196,112,130, 84, 26,153,123, 6,118,200,
+206,234,128,239,155, 6,163, 13,185,148, 72, 31, 72,147,148, 53,240,245,241,121,158, 20,130,155,111,127,139,244,250,151,249,218,
+219,142, 43,155, 99,206,111, 11,110, 79, 29,119,173,228,102,235,152, 9, 73, 83, 36, 32, 5,230,220, 5,204,238, 29,150,171, 5,
+ 65, 74, 6,169, 97,186,136,159,185, 12,150, 11,202,145, 72,131,146, 22,227, 51,114,235, 88,147,177, 47, 2,131, 60,103,221, 2,
+227,110,141,171,197,135,166, 79,143,227,151, 5, 16,170, 10,238, 31, 64,158, 66, 54,140,103,142, 74,161,113, 44,108,224,165,116,
+ 65, 38, 52, 39,105,198,197, 98,192,180,142,200,229,212,228,148,182,225,184,169, 24,104, 67, 38, 4,243, 0,219, 38, 97,209, 21,
+152,133, 78, 24,229, 25, 78,104,230, 74,209, 26,201,251,174, 97,220, 88, 18, 99,168,188,163, 41, 82, 90,162,100,114,161, 21,171,
+214,147,107,137, 13, 34,226, 48,128,158,138, 9, 89, 91,150,108, 37, 5,119,155,146, 60, 49,148, 1,242, 16, 71,135,109, 16, 28,
+ 5,200, 43,203,103, 6, 41,223,157,213, 92,235,105,238,183,146, 23, 18,199,205, 82,178, 65,203,145, 74, 56,215,214,172, 76, 66,
+181, 94,113, 36, 36,206,149, 52,222,146, 8,203,145,109,217, 86,130,131,170,102,146, 24, 94, 46,167,108, 38,154, 89,235,201,141,
+160, 89, 46,120,115, 62,101,167, 24,208, 42,197,126,213,114, 76,224,165,202,145,104,199,107, 94,177,145,192,162,180,228, 89,142,
+162, 97,182,242, 92, 30, 38,124,176,104,248,153,190,228,141,185,229,201, 68,240,176, 85, 60,171, 27, 94,159,195,115,121,194, 92,
+165,220,106, 43, 66, 47,237, 76,196,154, 56, 58,170,218, 24,234,214,213, 99, 54,211, 63,197,107, 93,129,182,192, 8,180,131, 84,
+179, 44,163, 5,184, 74, 52, 70, 73, 78,170,134,171,147, 28,103, 29,202, 67,229,186,159,165,143,221,251,224,200, 92, 96,237, 79,
+129,112,174, 19, 71,235,108,185, 87,117, 84,240,252, 88,116, 62, 59, 23,195, 79,120,185,127,177,131,186,237,204, 90,172,232,120,
+241,167, 64,183,110, 6,184,110,206,156,196,188, 61, 19,161,249, 97,175, 58,222,145, 87,191,246,221, 24,196, 79,171,124,255, 24,
+131, 85,105,200, 61, 12,134,144, 36,176, 9,220, 95,156, 93, 79, 49,138,115, 75,162, 17,156, 56, 21,199,137,189,108, 66,101, 89,
+ 85, 48, 26,166, 36,186, 79,101, 75,102,229,130,195,213, 49, 55,238,220,135,227, 67,130,179,103,127, 15,176, 55,171,216,189,127,
+135,114, 62, 71, 38,154,227,195, 99,102,213,138,101,185,102,209, 54,204,203,134, 89,105, 9, 8,158,191, 50, 68, 7, 69,150,229,
+ 60,249,204, 14,219,163, 62, 71,179,134,219, 47,223, 60, 83,195,179,182,227,101,126,244,126, 62, 6,250,163,235, 62,160,161,144,
+103,120, 57,145,130,244, 92,184,124, 1,219, 88,218, 16,216, 59,184, 79, 18, 26, 54,199,151,209, 74, 98, 93,206,106, 85,113,113,
+107, 11, 46,244,225,224, 48,118, 56,156,238,172, 95, 57, 83, 91,114,116,155, 89,254,216,135,237,173, 63,252, 58,111,253,184, 61,
+145, 13, 98,226, 49,216,140, 24,135,209, 32,234, 18, 68, 21,147,136,230,247, 9,255,221,255,246,207, 64,106,254,224,149, 55, 35,
+182,162, 7, 52, 58, 6,240,193,168, 67,166, 42,200, 4, 60, 60,140,166, 70,117, 27,215, 28,162, 62,182,254, 49,160, 27,173, 9,
+137,142,163, 23,173, 99, 98, 87, 87, 80,100,136, 52, 33,132, 78, 40, 41,212,241,223, 74,114,251,123,111,197,251,178,174, 8,105,
+210, 5,241,179,128,254, 67,179,116, 95,145,174, 87, 60,169, 36, 89,175,143,149,112,237,252, 6,247,238, 29, 16, 86, 37,236, 29,
+193,176,224,133,193, 6, 23, 47,247,184,163, 20,239,190,249,206, 25,112,168,110,226, 22, 77, 13,255,218,198,144,207, 14, 55,153,
+143, 23,188,246,238,126, 12, 96, 33,196,102, 12,113,189,194,114,205,195,245,140,111, 60, 52,188,221, 27, 17,178, 30,161,138,230,
+ 61, 62,149,184,218,224,106,143, 5, 92,240,252,222,238,140, 47,101,247,120,214, 24, 84,145,161,210,113,167,253,225,216, 94, 44,
+113, 70, 99,116,194,148, 64, 38, 21,149,119,100, 73,198,103,183, 71,220, 45, 87,136,237,243,188,250,218,119,120,227,254,132, 47,
+ 61,241,105, 38,147, 45,230,105,202,221, 0,239,229, 25, 33, 55,204, 67,202, 36, 79, 25,140, 28, 75,127,145,254,209, 62,231,219,
+146, 89, 89,145,100, 57,203,166,226, 82,174,187,238, 86, 4, 58, 89,111, 59,134,131,229, 66, 47,101,160, 28, 39,141,165,246, 41,
+ 34, 73,192,234,179,231,229,163, 1,189,139, 16,162,245, 4,106, 4, 93,155,183,167, 64, 37, 60,159,107,246,214, 45,239,172,151,
+ 60,157, 24,254,232,240, 62,207,245, 71, 28,122,199, 86, 8,212,214,178, 36,208,247,150, 82,106,158,205, 10,142,156,101,164, 52,
+ 74,105,166,206, 17,156, 71, 38,130, 96, 18, 10,163, 88, 24,201,155,194, 80, 87, 53,163,126,206,229, 65, 78,138,164, 10, 1,221,
+ 56, 92, 8,132, 54,138,103, 89,231,232,167, 9, 77,235, 49,222,115,177,215,227,157,213,138, 65,166,153, 89,143,129,200, 51,111,
+ 27,210,212, 80, 54,146,144, 41,246,125,224,185,161,230,161, 15, 92, 48,112,215,195,166,180,148, 66,176,221,192,162, 13, 72,219,
+112,136, 32,109, 74, 30, 46,215,100, 58,174,181,108, 26,246,218,134,212,104, 30, 54, 21, 3, 20, 95, 63, 92,241,194, 48,227,235,
+243, 53,151,250, 67,254,217,221, 7, 60, 61, 26,242, 96, 89, 17, 18,197,141,202, 50, 16,130,169, 85, 24, 42,110,161, 24,209,112,
+137, 64,158, 27, 84, 82,208,184,134, 29,227,185, 97,115, 54,243,146,147, 50, 10, 88, 89, 18, 46, 23, 37,149,119, 44,116,202, 42,
+ 73,226, 94, 30,100, 81, 99, 99,255, 48, 62,255,161,254,240, 25,247, 47, 18,107,234, 5, 52,105, 92,252, 60,129, 36, 97,229, 61,
+153,247, 76,180,161,170, 45,185,136, 0,105,237, 61,179,178,165,200, 21, 7,179,166, 59, 14,196,217,216,183,237, 68,205,232,152,
+ 89,202,158, 61,139,143,206, 96, 27,223, 31, 9,238, 63,238,245, 23,115,166,254,161,150, 97,135,130, 23,221, 35, 39,100,188, 97,
+153,236,110, 26,143, 85,219, 33, 6,182, 79, 2,186,157, 26,190,200, 83,213,185, 83,222,123, 56, 67,131, 75, 25,219,215, 60, 70,
+163, 91, 46,207, 42, 54,173,163, 12,163,245,103, 7,190,235, 84,130, 20,160, 21,201,213, 43,124,241,201,231,185,184,125,149,162,
+ 55,194,136,140, 15, 78,238,115,239,232,152,102,239,222, 25,245, 66,200, 88, 37,154,132,205, 34, 65, 72, 71, 93,149, 44,214, 11,
+ 86,117, 77, 93,151,236, 46, 87,220, 63, 92, 80,238, 45,163, 40,144,146,108,111, 79, 24,154, 30,253,162,207,103, 94,184, 64,145,
+ 37,152, 68,241,237, 55,239,114,240,230, 75, 63, 5, 29,209,159,221, 96,147,116, 42, 72,221, 61, 50,138, 81,209,163,151,245,152,
+ 77, 79, 56,153, 31,113,126,107,131,205,241, 4,147,104,150,101,131, 13,129,166,105,120,229, 27, 95,239,184,154,221, 40, 66,158,
+ 81, 65,162,140,176, 63, 83, 5,108,237,255,247,253,160, 58, 42, 9, 73, 76, 74,178, 36,182, 73, 90, 11,182,142,127,203,186,142,
+120, 11,213,141, 23,144, 48, 93,194, 98, 17,245, 0,132,138, 26,226,167, 56,139, 85, 25,255,127,103,227, 79,223,173,175,215,103,
+ 0,202, 79, 50,249, 49, 49,145,139,162, 19, 62, 50, 91, 30,243, 28, 66,117, 10, 83,117, 67,208,170, 19, 76,234, 16, 64, 82,158,
+ 85,229,178, 99, 82,104, 69,112, 46,238,179, 83,199, 65,211,237, 85, 37,177, 2,158,221, 28,162,250, 61,230,222,243, 86,217,112,
+178, 92,198, 68,183,106, 97,210,231,122,127, 72,145,231,204,157,229,160,108, 16,101, 21, 19,139, 52,237,186, 53,134, 89,154, 16,
+180,224,119, 79, 42,214,181,131,118, 9,210,159,209,109, 68,138,168, 26,190,125, 60,227,196,192,161, 54,172,235, 18,177, 88, 32,
+122, 3,100, 83,162,130, 66,202, 22,105,114,164, 3,233, 74, 70, 46,240,252,230, 24,147,230, 49,217,173,203,104,250,226,214,188,
+237, 45,109,154,210, 51,105,180,120, 37,112,208, 68, 97,141,255,101,252, 4,193,199,110,133,189,191,203,157,195,247,121,107,239,
+ 54,183,246,239,178,191, 94, 81,175, 42,234, 32,232,121, 79,147, 37,212, 89,130, 79, 12,106, 48,132,164,207,192, 11,180,111,241,
+ 66,176, 21, 44,153,209,244, 67,192, 8, 65, 8, 1,139,196,116,254, 6, 83,219, 50,212,134,195,170,134,117, 27, 61, 31,252, 39,
+ 3,171, 68,151,233, 10,186,202, 11, 27, 37, 87,211,140,223,121,114,135,191,119,237, 58,231, 50,197, 43,213,138, 87, 79,214,120,
+169,152,226,145, 74,243, 65, 83,210, 42,197, 68, 40,174, 38, 25, 67,161,162,229,179, 0,100,188,255,167, 14,146,214,100, 88, 5,
+137,214,172, 2, 44, 19,197, 58, 49, 12, 51,195,112, 16, 21,246,122,169,230,216, 90, 18, 4, 1, 56, 92,173,217, 74, 52, 7,101,
+205, 36, 79, 41, 91,135,181, 22, 27,160, 85,154,224, 26,218, 32,177,109,139, 48, 9,179, 54, 48,236, 41,170, 74, 32,132,197, 5,
+ 65, 30, 2,107, 4, 67,235, 88,120, 71,210,182,172, 93,203,134,173, 57,176,150,121, 91,242, 94,109,209,173,229,184, 92,211,148,
+107, 22,174,197, 16, 56, 90,213,140, 19,195, 91,243, 21,147, 94,198,219,139, 53,151,132,228,173,249,156, 3, 91,243,157,195, 3,
+ 50, 35,248,206,241, 17, 79,106,193,157, 0, 33, 56,146, 32, 25, 59,139,209, 73, 52,195, 14,142, 32, 28, 19,173,121,183, 12, 92,
+144, 21,199,107,207,197,141, 30,247, 79,214, 36,210,211, 87,154,227,186,164, 72,163,127,125,169, 19, 26,225,226,115,155,117, 12,
+ 41,107,127,226,160,248,195, 7,238,157,152,140, 54,241,140, 70,225,188,143,213,186,144,132,214,210, 75, 13,107,219,208, 4,135,
+212,112, 82, 58,140, 11, 44,154, 54,186,129, 6, 65,104, 58,108, 78, 91, 66,217, 57,136,226,227,179,255, 40,174,157,130,154, 78,
+103,159,246,172, 91,252,255,251,160,238, 59, 41, 49,173, 58,222,122, 23,200,219,112,134, 42,116,237, 89,228,246,174,171,214, 62,
+ 9, 81,223, 1,226,132,234,130,184,138,191,211,214, 93,203,186, 58,227, 28, 54, 54,122,174, 55,143, 41,234, 25, 29,171, 65,249,
+ 24,176, 76,158,185,155,137,172,207,139,207,127,134,103,158,188, 78,175,215, 67, 27,197,186,170,184,115,112,159,189,123,119,227,
+225,123,154, 28, 36, 26,146,132,173, 81,206,118,191,160,159,245,144, 82, 82,217,134, 85, 83,115, 82,150,236,174, 74, 88, 86, 81,
+251, 57, 72,212,164,224,252,104, 64, 47, 53, 12,139, 49,219, 59, 27,228,137,102,182,106,248,214,107,119, 89,188,255,131,159,184,
+133,243,216, 13,238, 70, 19,157,236,109,136,148,183,247,235, 21, 7,199,187, 60, 56,216,101, 93, 55, 92,217, 58, 71,222,207, 81,
+194,243,224,225, 17,255,213,239,254, 19, 94,249,202, 55,187,160,103,226,125, 82,242,236,104,124,132, 57,232, 16, 38,173,143,149,
+241,143, 19,247,249, 81,175, 34, 59, 11,138,139, 89,180,225,108,218,174,187,146, 69, 31,128,208,237, 1,239, 98,144,174, 42, 88,
+150,221,247,106,232,231,241,193,245, 62,226, 0,230,221, 92,218,119,202, 21,233,169,211,223,169,196, 36,143, 37, 42,143, 5,118,
+173,227,126, 60, 77, 42,165, 6,235, 59,139,204,186, 75,244,116,164,133,101, 25, 66, 9,196,186,138, 18,188,213, 58, 6,112, 37,
+161,170, 9,173, 37, 56, 23, 3, 58, 68, 3, 14,217,129,118, 78,177, 16,222,131,245,188,225, 53,111,103, 9,175, 84, 53, 83,231,
+ 97,181,132,121, 25,247,112, 19,120, 48,204,153, 33,120,191,177,113,252, 81, 85, 81,191,191, 41, 17,131, 17,120,203,129,144,188,
+ 44, 4,107,147,196,189,188, 92, 67, 43, 17,202,116,186, 15, 18,241,255,114,247,102, 63,150, 93,217,153,223,111, 79,103,184,231,
+ 14, 49,228, 72, 50, 73, 22,139,172, 42, 85, 21, 85, 82, 73,130,160, 22, 36, 75,141, 22, 44,248,193, 3,208, 86, 3,110,219, 13,
+ 63,250, 47, 51,252,110,192,112,195,176,209, 70,171, 37, 75,213,146,154,170, 42,138, 51, 43,147, 57, 69,198,116,167, 51,238,193,
+ 15,123,159,184, 55,147, 76, 50,201,178, 90,178, 3, 72, 68, 70,144, 25,113,239,153,214, 90,223,250, 6,101, 17, 91,203,131,237,
+ 6,117,253,128, 91,215,142, 88, 61,190, 68,216, 30, 57, 88,164,208,136,160,144,214, 34, 11,133,104, 59, 62,233, 45,127,120, 56,
+167, 16, 18, 3,208,111,177,219, 11, 86,245,138, 15,186,154, 48, 61, 64, 8,205,144,101,108,134,129, 19,239,185, 16,130,143,100,
+ 6,147,138,160, 13, 97,146, 19,154, 13,190,174, 9,247, 31,224,127,241, 49,254,242, 49, 65, 14,180,213, 49, 93,153,211, 41, 29,
+ 11,102,105,248,238,209,156, 27, 55,142,177, 46,199,132,150, 73,240,116,214,161,133,194,251, 1,129, 32, 87,138, 44, 4,154, 16,
+ 48, 90,243,160, 27, 88, 90, 7,117, 29,143,219,115,178, 25,196,179,150,206,206, 33,144,176,168,248, 31,223,120,131,239,221,186,
+205, 76,104, 62, 89, 95,242,206,147, 53, 89,174, 25, 2, 44,219,158, 89,158,227,128, 91, 42, 99, 46, 37,133, 54, 76,132, 68, 74,
+131, 37,112,233, 3, 7,202,208, 20, 57, 34, 56,188,212,244, 90,115,233, 61, 5, 10,147,233,216, 95,186, 64,149, 27,150,214, 83,
+132,120, 29,158,110, 27,110,205, 38, 60,222,116,204,139,140,139,186,231, 64, 11,140,212,252,221,122,205,224, 28,173,215,224, 3,
+ 65, 25,148, 86, 88, 31,184,223,195,161, 10,100, 33, 80,134, 64, 7,204,173,227, 52,128,104,182,212, 33, 48,107, 26, 62, 28,122,
+238,110,182,124,214, 13,172, 55, 43, 30,247, 61,194,245, 92,214, 45,198, 57,206,182, 61,173, 11, 60,104,122,230, 38,227,147, 77,
+ 67,107, 61, 79,250, 30, 19,160,189,216, 50,207, 52,247, 30, 60, 97,154, 27,126,113,118, 73, 46, 3, 86,101,244, 93,143, 45, 10,
+142,157,231,220,118,220,153, 77, 57, 80,154,191, 89,117,188,148, 5,150,131,228,102,230,121,111,235,248, 97, 41,113, 34, 62,223,
+107,175,152,232,192,113, 53,227,141, 50,231,129,135, 46, 35, 89,125,187,100, 6,243, 75, 14, 14, 42, 37,143, 10, 15, 62,145,220,
+164, 96,232, 61, 91,235,153,103,154,203,186,167,202, 36,221,224, 9,214,147,201,192, 89, 29, 83, 62,109,231,147,227, 93,226,189,
+140,164,107,229,147, 29,249,222,179,227,115, 30,135,105,192, 26,107,203,255,175,139, 58, 36, 55, 57,157, 38,193, 36,228, 31, 69,
+255, 67, 27, 59, 43,111,227, 3, 94,136,184,220, 54, 42, 49,214,213, 78,228,159, 38,164,200,118,212, 49, 69, 13, 17,255,110,251,
+221,109,109, 19, 75,209, 39,120,100, 60,200,185,217,113,207,228, 51, 12,135,174,135,170,226,230,173,107, 28,207,142, 41,202,146,
+ 97,240,212,219,154,119,238,126, 64,119,113, 17,139,158, 78, 19,122,145,113, 84, 25,110,204, 42, 14,167,115,166,217, 4,135,167,
+ 29, 90,182, 93,199,233,166,163, 91,117,208,244, 8,149,145, 95,159,114,115,154,113,109, 54, 99,106, 42, 94,122,229, 21,138, 73,
+206,106, 99,121,255,239, 30,242,167,239,254, 5, 60,185,255,212,195, 73,188, 48,244,148, 26, 22, 49,190,151,152, 12, 84,167,164,
+180, 89,150, 83,233,130,224, 53,171,117,199,207, 62,120,143, 79,127,242,211, 4,171, 39,169,134, 81, 79, 63, 13,251,244,189,126,
+116,176, 19,187, 44,251, 95,138, 60,153, 94,107,121, 24, 39,115,145,108,111, 93, 42,230,117, 3,243, 73, 50, 28, 18,177,160,139,
+244,121, 68, 11,132,136,141,223,166,139,231, 98,148, 73,218,100, 35,108,187, 24,220, 99,147,132, 82,132,167, 11,187,148, 73,190,
+ 39, 99, 34,133, 76,215,140, 34, 5, 12, 69, 27,201,200, 41, 40,162,253,240, 96, 83, 83, 82,199,194, 61,106, 91,115, 19,139,122,
+158, 69,219,100, 72,175, 47,201, 56,199,235, 87,200,200,202,239, 97, 56,152,197,107,219, 7,184,220,198,162, 44,163,214, 54, 52,
+ 61,219,202,196,127,155, 73, 88, 54,241,218, 94,204,162, 68,173,168,224, 98, 5,229, 20,170,114, 23,236,115,177,130,114,130,240,
+ 3,120, 27, 19,168, 68, 76,108,234,231, 37, 75,107, 17,141, 69,172, 26,132, 10, 96, 20, 34, 12, 49, 98,120,112,144, 73,130,115,
+ 28, 59,193,145,239,200,109,141,104,123,134,102,205,178,235,249,105,211,211,151, 57, 42,159,224,165, 38,120,135, 84, 18,215,183,
+ 60,193,208,154, 2,170, 5,193, 76, 8, 66, 68,144,164,200,162, 25,201,242, 18,127,177, 36,232, 64,152,222, 32, 8,193, 80, 42,
+254,235,131,146,255,252,118,201,119, 15,115, 84, 85,240,241,137, 37,147, 29,202, 58, 38, 90, 19,136,249,215,222,123,186, 16,112,
+ 82,240,164,111, 89, 15,158,229,120, 29,174,187,200,246,127,166,152,239,238, 33,153, 38,246, 84,220,101, 0, 83, 82, 77, 37,133,
+208,252,117, 83,243,191,156,159,211,213, 61,235,186, 69,107, 73,161, 53, 10,137, 81,129, 45, 80, 72,197, 53,101,112,233,180, 22,
+218,160,164,162, 23,146,198, 57,230,101, 21,139,117,240,244, 82,114, 14,180, 1, 38,133,161,146,146,243,206,226,189,139, 91, 72,
+ 4, 85,174,121,180,108,184, 49,201,185, 88, 55, 40, 41, 17, 82,112,222,245,200, 32,184,112, 61,125,231,241, 90,131,214, 52, 67,
+ 67,231, 28,219,190,199,135, 64,150, 41,206,235,142,128,231,253,203, 45,249,176,101,233, 99,254,251,169,183,216,102,205,224,225,
+100,117,193,103,174,167,217,108, 88,110,214, 88,224,100, 89,179, 50,146,117,107,169, 7,203,121,221,225, 16,201,179,193,227, 86,
+ 91,130, 54,180,203, 21,193, 7,218, 39, 43,130, 81,216,186, 35, 12, 29, 97,186,160,169,183,172,116,198,111,205, 42,150,155,134,
+206, 75, 94,158,228, 52, 93, 75,129,133,188,224,142,239, 57,241,138,174, 95, 97,109,207, 16, 96,145, 23,228, 66,210,218,232,210,
+247, 32,136,200,125,154,100,241,126, 24,161,239,111, 98, 89, 62, 42,173,178,184, 90,193, 13, 9,185,181, 87, 40,192,122, 24,168,
+123,139,181, 2,111, 3,195,224,217, 52, 14, 33, 2,182, 79,161, 96, 93, 31,159,159, 46, 14, 99,144,146, 78,247, 93, 87,125, 26,
+ 2,174,166,244,196,102,180,254,133,204,220,254,241, 20,117, 83,196,244, 32,228,151,230,117, 63,119, 90,207,246, 32, 80,165,227,
+129,242, 67,100,172,219, 62,234,110, 69, 58, 34, 33, 77,135, 90,236, 96,244,164, 41, 39, 36,104,101,132,232,165,220,155,244,211,
+212,101,197, 14, 94,127, 54,181,205,167,137,223, 37, 41,152,243,145,176,225, 1, 97, 56,203, 37, 47, 47,230,244,221, 64,176,150,
+187, 79, 62,229,131,123,159,236,180,144, 58, 78,131,147,210,112, 56,201, 89, 76, 43,102,249, 28, 41, 37,214, 14, 44,251,142, 77,
+215,243,164,238, 99, 30,187,206,224, 96,194,157, 69,201, 97, 89, 82,230, 37,243,114,206, 91,223,123,157,235,179,146,204, 8, 62,
+120,239, 99,222,251,228, 35,184, 60,249,166,112,200,158,110, 51, 69,241, 86,115,178,178,228,160,200,200,181,161, 13,129,143, 30,
+ 62,224, 79, 63,124,143,247,254,230,239,192,109,246,150,144, 38, 22, 43, 41,227,212,238, 82, 65,175,219, 20,247,153,154, 38,163,
+190,121, 39, 93, 20,177,136, 78,167,176,217,166, 41, 57,192,164,138,231,181, 79,222,246, 82, 70,103,166,182,191,178,239,197,199,
+104,225,120,142, 18, 44,159, 21,241,245, 5, 82, 1,110,227, 62, 61,249,223,211, 52,113,119,175,216,161, 67,251, 81,139, 87,225,
+ 13,114,215,224,133, 61,214,171,115,177, 48,236,191,223,253,191,123, 31, 39,243,100, 97,138,115,145,112, 39,211,100,158,114, 5,
+174, 86, 25,125, 63,218, 95,193, 43,183, 80,229,140, 27,101,197, 54, 23,240,228, 50,233,204,211,185, 92,204, 35, 18, 20,194,206,
+132,102,181,142, 73,123,155, 26,174,207, 33, 4,196,172,136,175,121,219,166,102,110, 27,139,121, 82,153, 8,231,163,157,229,249,
+ 26,113, 48, 71,228, 38, 30,183, 77,141, 24,250, 24, 13,170,210, 74,164,183, 64,224,167, 93,207, 27,198, 80, 17, 80,125, 75,211,
+ 90, 62,169, 91,126, 58, 56, 62,177,142,235,243, 25,223, 41, 42,222, 94, 28,161,134,158,181,247, 28,116,151,124,234, 76,108,172,
+102, 7,145, 56,184,184,193,143,143,143,185,223,172,240,189, 35,212, 91,194,253,207, 8,153,137,124, 10, 39,248,147,155, 37,223,
+ 59, 46, 89,228, 26,147, 73,126,182,246,232,213, 41,165,209,116,125, 71, 78,160,151, 38,150, 99,109,120,210,109, 25,132,196, 14,
+150,190,239,232,214, 49,255, 65, 52,245, 83,197, 92, 60, 85,216, 61, 2,141,192, 94, 77,235,216,142,159, 7,195,159,122,199,159,
+ 55, 61, 53,169, 73, 20,130,237,186,129,204, 96,113,136, 32,201,149,226,186,210, 12, 4, 94,214, 5,185,206, 89,135,128, 70, 97,
+181,230,176,172,216,122,199,160, 13,235, 32,112, 82,176,246,129, 13, 49,161,113,150, 25, 42,163,232, 7,199, 48,120,172,128,102,
+176, 17, 58,111, 7, 14, 50, 21,141,180,172, 67,245, 22,213,119, 8, 33, 57,181,158, 94, 72, 6, 17, 73,215,117,223,114,233, 3,
+ 23, 46,176,217, 54, 76, 76,198,197,166, 97,161, 28, 15, 90, 75,233, 58, 30,110,107, 28, 61,219,110,203,159, 45, 47,184,168,155,
+216,144, 54, 17, 70,118,231,171,248, 60,220,180,208,247, 49,201,174, 31, 98,200, 86,211, 17, 86,171,120, 15,157, 44, 99,145, 93,
+ 94,198, 21,195,233, 50, 26,187, 12, 1,108, 67,168,230,116,237, 26,134,158,133, 12,156, 15, 3,133, 17, 4, 27,157, 11, 55,205,
+138, 90,192,147,166,230,208, 24,206, 91, 75,158, 5,166,166,192, 5, 16, 90,179,181,150,123, 99,152,202,164,136,190, 36,215, 15,
+163, 75,162, 76, 68,225,175, 83,103, 76,182,139, 20, 31,221, 73,247,239, 65,239,163,117,122,223,209, 53,142, 70, 6,154,186, 71,
+ 40, 69,223,244, 73,174,214,196,223,235, 54,169, 64, 63,199,117, 85,243,140,220, 40,125,253,130,205,200, 63,142,162,174, 83, 22,
+176,142,214,170, 95,197, 42,126, 62,213,120,239, 97,218,165,192,150,171,253,185,221,177, 92, 66, 58,112,195, 62, 20,236,158,110,
+ 14,180,121,122, 90,191,154,184, 83, 66, 92,231,118, 80,238, 62,132, 47,216,193,162, 33,193,180, 99, 23,166, 4, 46, 24,234,208,
+ 48,241, 61,203,205, 35, 46, 54, 39,108,124,199,224,119,150,130, 89,169,185, 86, 77, 56,172, 74,166,217,132, 66, 90, 78,169,235,
+ 0, 0, 32, 0, 73, 68, 65, 84, 27,108, 8,108,135,150,139,237,134,179, 77,135,219,246, 48,128,152,228, 92,159, 23, 92,171, 10,
+102, 69, 69,174, 50, 6, 2,175,189,122,135,249, 52,227, 98,213,177,222,212,188,243,209,123,176,190,124,174,246,246,171,235,186,
+219,243, 3,144, 48, 95, 80,205, 74, 14,178,156,160, 20,171,186,229,201,102,203,242,228, 18, 46, 79, 83,243,147, 46, 88, 61,162,
+ 32,169,248,140,133,193, 36, 66,158,237,119,251,229, 47,156,212, 83,215, 58,194,226,232,167,239, 4,157,104,252,102, 22,245,158,
+ 70,198, 27, 80, 22,224,154,157, 54,116, 83, 67,189,141,231, 56, 58, 73,128,206, 83, 99,230,226,121, 51, 58, 54, 8, 46,194,226,
+148, 42,122,217,207,170,116, 46,109,146, 47, 57,162, 56,117,111,133, 16,194,211,133,221,166, 66,218,251,221,154,232,107, 48,117,
+ 62, 71,140, 51, 58, 54,164, 99, 65,246,196,227,233, 92,226, 61, 4,152, 47,120,235, 91,175,243,107, 71,183,184,153,151, 76,253,
+192,227,211,232,206,118,149,147,144,151,187,166,202,218,200, 11,209, 38, 73, 63,199,172,231,128,152,228,177, 72,103, 10, 46, 46,
+163,217, 19, 62,146,230,172, 67, 12, 3, 98,176, 8, 23, 82,118,193,140,127,254,250,109, 66, 54,112,250,217,229,238,149, 91,119,
+245, 30,124,215,241,231,141,197, 13,142,198, 8, 30,122,203,251, 18, 62, 81,240,104, 99,185,121, 48,225,119,111,188,196,245,188,
+224, 85,105,152,175, 47,168,221,128,217, 62,230,209,166,129,182, 39, 28, 28,240, 47, 95,191,206, 31,189,121, 27,161, 22,188,223,
+ 46, 99, 70,188, 84,132,135,247,225,248, 26, 28, 29,241,122, 85,240,237, 69, 78, 43, 4,103, 29,220,247,240,248,211,135,152,224,
+ 49, 4,214, 82,130, 16, 56,161,120,104,123, 10, 33,144, 42,103,232, 7,142, 50,104,236, 64,183,105, 16, 67,159,244,198,241,116,
+238,127, 22,105,167,254, 84,177, 31, 44, 98,219,211, 78, 13, 78,166, 66, 47,227,196, 37,130,163,217, 52, 52,198, 80, 72, 34, 63,
+ 70, 75,230, 62, 80,101, 6,235, 44, 83,105,152, 72,197,214,123,122,233, 17,186,164,182, 61, 94, 74, 30, 9,197,178, 23,172, 26,
+ 75, 94, 26,182,110, 64, 75,193, 76,105,188,243,180,221,128,246, 30, 63,120,242, 16,240, 8,164, 8,176,237,152,181, 29,165,179,
+168,224,104,115,197, 73,239,216,184, 64,235, 28, 27, 33,232,156,231,126,183,102,144, 25,149, 86,200,190,225,222,106,195,249,208,
+178,238,123, 54,182,163,235,123, 62, 91,175, 57,107, 45, 92, 46,227,245,119,177,142,241,219,193, 71,181, 81, 63,196,123,202, 54,
+241, 26,243, 67, 84,141,228, 57,156,158,199,251,111,181,138,215,196,118, 27,135,159,109, 3, 34,198, 37, 35,162,251,231, 89,223,
+ 51, 15,240, 51,231, 89,116, 29,235, 32, 88,214, 91, 30, 4,133,182,142, 39,214,161,188,231,174,179,252,197,118,203,107, 50, 96,
+101, 96, 51, 12,252,101,111,227,229,138,143,107,184, 60, 71,234,156,151,143, 15,152, 29, 77,168, 15,231, 4, 39,211,250,244, 5,
+208, 65,231, 34, 73, 88,184,221,189, 2, 41, 95,100, 72,171,222, 16, 27, 24,198,148, 75,129,235,250,248, 59,172,141, 5, 93,217,
+157,204,247,203,102,168,209, 9,117,159,168,247,194,180,162,127, 12, 69,221,251,180,175,216, 17,135,190,209,207, 64,198, 93,135,
+ 27,226,131,168, 75,218, 16,199,110, 23,225, 34, 9,126,127, 0,189,130,136, 71,237,185, 76,208,188, 16,241,117,165,155, 63, 66,
+156,163, 55,124, 58,137, 98,183, 51,143, 77,129,137,147,169,244,201,160,127,120,250,196, 76,102,148,243, 9, 85,169,200, 53, 20,
+ 38,222,232,151,214, 19, 92,180, 14,172,202,130,235,179, 41,243,162,162,204, 39, 41,173,171,231,124,187,230,164,110,217,110, 59,
+132,245, 80,104,110, 45, 10,110, 86, 21, 85, 81, 98,164, 70, 74,205,209,225,171,160, 74,250, 32,120,248,112,201,195,199, 15,249,
+232,254, 61, 88,158,127, 51,232,105, 31,133,240,196,155,114,126, 72, 85,149,232,148, 91,126,210, 52,108,158, 92,194,217,131, 20,
+180,147, 90, 80, 97,210,234, 34,117,184, 89, 34,132,141,176,187, 75,123,238, 97,120, 62,244,174,229,174,113, 29, 93,253, 70, 72,
+106, 50,141, 95,151,243,184,227,118, 46, 74,139,236,144, 32,172, 33,157,244,104,231, 24,247,224, 1, 84,145, 76,135,210,117, 83,
+153, 56, 69, 84,217,142, 91, 81,165,102,161, 72,174, 79,222,197,255,103, 36, 77,202,196,187, 24,228, 30, 9,208,196,189,155, 52,
+169,121,200, 32, 31,149, 4,207, 63,246,226,170, 81,121,186, 97, 9,251,141,141, 72, 1, 70, 46, 17,170,204, 12,249,171,111, 17,
+206, 47, 82, 53, 17, 80,206,184,249,202,109,102, 69, 69,166, 10,140,132, 79, 79,206, 97,187,142,175,105, 76, 78, 20,130, 76, 9,
+110,107, 88, 53,251,107, 43,153,204,151, 28, 28,205,160,152,197, 9,220,135, 68, 24, 84,136, 20,205, 43,246, 27, 62, 60,255,213,
+219,111,241, 47,222,252, 46,191,119,253, 38,239,172, 78, 56,191,216, 92, 53, 56, 87, 54,150,222,227,109,207, 7, 97,224,207, 6,
+193,217, 52,231, 1,158,115, 47, 24,108, 64,230,134,223,153, 46,184, 38, 13,197,224, 41,183, 23, 56, 4,210, 7, 84,127,201,163,
+229, 25,223, 95, 28,243,251,223,190,193,155,215,231,156,108,122,126,210, 65,200, 6,194,201, 25,225,244, 81,116,194,155,223, 98,
+ 57, 59,224,179, 65,240,216,193, 71,173,231,211, 85,207,185,133,220,121, 90,219, 70,110,177, 52,180, 2,132, 16, 32, 13, 50, 56,
+ 22,153, 33,247, 3,202,246,132, 48,208, 46, 55, 8,239,159, 2, 67,197, 51,224,168,124, 22,150,183, 61,172, 54, 8,159,208, 64,
+149, 26, 49, 36, 88,135,235, 58,214, 66,144,107, 67, 55, 12, 44,140,230,178,239,120, 75,231, 4, 99,120, 40, 36, 85, 97, 48, 86,
+ 80, 7,207,133, 54, 60,118,158,199, 27,203,214,123, 90,226, 37,238,149, 36,243, 30, 23, 60,218, 58, 46,235,142,185,148,184,222,
+178,181, 3,155,245,134,126,219, 48,107, 7,140, 31,208,222, 81,132,232, 65, 95, 86, 57,119,166, 25,111,148,134,219, 69, 70,222,
+247,172, 61,156,247, 13,239, 53, 91, 62,108,107, 30, 13, 29, 39,182,231,241, 96,121,220,108,121,112,121,198,210, 9,196,201,147,
+216, 36, 95, 92,198,235,146,189,208,173,164,144,136, 60, 20, 23,229,155,163,194, 98, 31,145,218,123,110, 6,239,146,135,134,132,
+ 34, 35, 92,108, 8,133,230,161,247,220, 14,158, 71,213,156,118,123,201,251, 58,167,116, 29, 91,107,217, 10,197,165,119, 56,215,
+115, 17, 2, 15,187, 30, 53,120, 78,219,154,251,193, 63,197,139, 58,194,243,118, 49,225,119,230, 19,126,237,224,136,223, 60,152,
+163,103, 57,247,114,149, 86, 98, 47,176,250, 19,196,250, 50, 42,147, 70, 95,143,113,101,107,251,184, 82, 27, 18,147,221, 15, 73,
+230,236, 18,212,158, 2,195, 94,244, 25, 60, 62,155,198,191, 75,253,197,132,220,127,180,240,251,213, 68,243,180, 85, 30, 90, 39,
+ 6,115, 98, 11,127, 25, 81, 64,138, 52,125,141, 33, 42,201,222, 85,133, 29,204,106, 68,124,206,143, 63,195,164,234, 46, 19,236,
+234,146, 99, 80,158,195, 75, 7,112, 52,133,101,189,243, 65, 23, 50, 77, 30,209, 87, 56,154,180,236, 17, 28, 38,101, 44,236, 38,
+ 75,221,149,125,250,245,154,146, 27,119,110,240,202,252, 16,109,178,184,214,237, 91, 78,183, 93, 42,234,146,235,147,130,107,213,
+140,210, 24, 36,138,206, 15,172,251,154,243, 77,205,197,101, 13,189, 69, 40,197, 43,243,130,151,143, 38, 28, 84, 37, 70,104, 50,
+157, 83, 84, 83,254,211,223,255, 1, 63,126,243, 8,169, 21,127,241,211, 19,254,242,227,191,163, 89, 95, 68,189,242, 47,179,179,
+ 30,177,162,234, 16,142, 14, 40,141, 70, 9,120,188,174,105, 87, 27,184,184,136,197,121,212, 91, 74,145,136,114,121,220, 29,233,
+189, 34,110,212,142,245, 62,118,194,207, 67,113,236,142, 0,138,220, 63,119, 58,222, 48, 38,139, 55,154,117,145, 16, 87,111, 64,
+151, 17,249, 9, 42, 90,127, 14,109, 44,106, 33, 62,188, 17,169,185,168,242,216,104, 76,146, 4, 70,171,248, 59, 42, 19, 31,198,
+ 70, 38,182,121,216,153, 16,217, 68,192, 20,106, 15,194,243, 81, 58, 35, 68, 68,114,148, 1,153,237, 94,255,115, 61,197,147,235,
+222,216, 84,122,187,199,122,245, 79, 55, 54,227, 49, 29, 43,199,181,235,252,240,205,215, 57,249,224,227,248,125,231, 33,203, 56,
+ 61, 92, 80, 86, 11, 46, 3,188,223,118,116,143, 31, 68, 38,183, 17,144,149,208,110,184,118, 60,231,247,143, 42,110,101,154, 66,
+ 5, 78, 46,215,241,191, 13, 77,132, 24, 69, 72,146,205, 99,254,217,241,171, 28, 79, 12, 15,158,156, 70, 67, 27, 19,163, 64, 73,
+211,171, 48, 26,208, 44, 22,134, 63,254,193,143,248,219, 39,103,220,117, 61, 15, 30,159,198,200,224,177, 65, 73,210,176, 49, 89,
+ 42,120,201,153,201,240, 72,110, 2, 63,170, 50,110, 20,130,169,148,188,220, 7,228,208, 32, 49, 52,190,229, 0, 9, 89,206,203,
+194,177, 25, 28,157,207,216,132,192,191, 62,233,120,210,119, 4, 83,194,172,140,199,110,189, 37, 72,135,206,143,248, 48, 72, 46,
+ 7,248,100,176,172,183, 17,181,105,234, 26,134,192, 36, 19,116, 78, 32,114, 77, 70, 12,136,154,168, 12,165, 20, 42,192,205, 16,
+ 19,178, 30, 53, 61,170,115, 72,118,133, 93,125, 65, 65,127,182,176, 51, 88,196,182,129, 46,217,127, 75, 5,185,185, 74,236, 10,
+181, 99,179,220,178, 21,176, 10,158,185, 17, 8, 93,176,178, 61,103,182,229,124,112, 88,109,120,191,239, 80, 66,240, 68, 9,206,
+154,150,117,240,216, 44, 99, 93,183,100, 97,192,123,168,155, 14,183,109,168,140,138, 54,202,131,229,100,179,230,108, 91,211, 52,
+ 13, 19,107,163,211,156,181, 4, 15,153, 49,220,152, 78,184, 49,155,112,108, 12,151,131,199,202,128,168, 27,222,111, 55,132,161,
+ 33,244, 45,222, 89,232, 26, 66,189,134,243, 83,196, 96,225,228, 28,218, 22,177,169, 17,146, 8,179,135,164, 6,217, 47,232, 95,
+151,113, 46, 71,211, 31, 15,133,137,207, 82,239, 88, 26,131,234,182, 60, 54, 25,175, 14, 53,181,201,185, 59,180,204,148, 96,105,
+123, 78,156, 67,234,156,239,248,150, 75,239,249,168,109, 8, 30,222,146,146,133,144, 92,122,199,155, 38,227, 87, 38,134, 91, 38,
+199,168,128, 17,154, 75,223,115, 87,104,156,208, 17,189, 82, 89, 42,206,246,249,104,165, 73,211,186, 50, 96,219,196, 93, 73, 12,
+246,253, 24,242,167, 2, 89, 82, 16,216,215,217,231,107,253, 12, 4, 47,159, 46,246,254,255, 11, 69,221,185, 47, 46,232, 87, 15,
+197, 4,139, 7,249,197,112,201,213, 30, 34, 60,221, 5,238,235,112, 71, 25,149, 25, 63,167,255,238,252,110,210,145,137, 72, 39,
+ 45,211, 87,111, 49, 45, 50,154, 39,235,100,237,103,119, 48,116,231,119, 18,170,241, 53, 23,147, 4,131,202, 29, 84,237,159,121,
+152,231, 19,236,108,198,237,131, 35,148, 16, 56, 31,184,216,108, 56,171, 59,148, 86,148, 74,113, 52,201, 40, 77,134, 86, 10,239,
+ 28,219, 97,203,197,182,230,193,170, 78,177,166,176, 88, 20,188,116, 88, 50, 47, 74,140,201, 98,230, 60,130, 27, 7, 51,126,251,
+ 87,191,197, 98, 58, 99,106, 20,239,222,219,240,206, 47, 62,196,214,107, 56, 59,121, 46,188,251, 66, 59,165,249, 20,200,120,237,
+199, 63,224,215, 95,126,157, 91,179, 5, 65, 58, 90,215,209,124,250, 16,252, 38,237,206,139, 84,204,211,241,108,235, 72, 34, 28,
+139,184, 20, 17,150,203,205,206, 11,249,139, 46,246,241,220,143,146, 77,253, 12,194,226, 71,123, 95, 19,111, 68,157, 39,107,224,
+144, 98, 99,137,134, 67, 38,143, 77,217,200, 7, 48, 69,108, 20,117, 98,144, 79, 77,146,170, 40,200, 21,114,146, 35,180, 66, 26,
+ 69, 24,207, 33, 41, 48,104,176,241,223,140,112,154, 78, 48,254, 32,163, 49, 81,110,146,244,164,139, 23,135, 78,202,129,231,133,
+ 1,233, 81,159,191, 87,216, 71,207,234,103, 31,120, 34, 77,235,227,199,118,205,201,199,159,238, 96,127, 66,108, 88,143,103, 60,
+201, 43, 78,135, 45,157,181,208,109, 34, 84, 58,254,204,131, 67, 94, 91,104, 50,163, 9, 1, 62, 89,246,108,181,129,213, 5, 76,
+230,208,213,241, 61, 8,193, 31,190,254, 38, 63,124,227, 85, 74,239,184,215,173,232, 78, 19, 92,218,237,145,199,140, 70,100,154,
+251, 23, 45, 31, 46, 31,241,192, 76,184, 11, 44, 55, 13, 97,179,141, 58,111, 41, 63,159,130,102,123, 66,208, 28, 21,240,134,210,
+188, 81,149,188, 49,159,210,121,203, 13, 37, 81, 46, 66,157,153,146, 76,117,134,240,150, 30,144,125,205, 79,159,156,240,111,206,
+ 59, 30,116, 77,132,221,117, 70, 16, 6, 42, 77, 48, 18, 46, 47,217,108, 46,121,141,130,207,182, 3,125,221,208,116, 3, 85,219,
+192,118,197,145,148, 8,153, 81, 77, 12, 90, 72,188,130, 3, 64,104, 69,142, 96,130,128,161, 37,195, 33,133,224,162,173, 81,131,
+101,164, 8,236,255,217, 47,242,159,219,185,251,184, 99, 23, 46,128,214,136,210,196,128, 35, 37, 16,237, 16, 55, 78,118,224,210,
+ 57, 30,116, 3,109, 24, 56, 13,142, 51,111, 49, 66,240, 81,223, 48, 17,130,143,189,227,209,170,166, 53, 37, 79, 54, 75,250, 16,
+168,125,207,196, 69, 87, 75, 97, 29,167, 67,199,114,187,165,173, 59, 62, 93,157, 51,244, 29, 67,112,172,251, 45,166,219,112, 83,
+ 40,108,146,241,137, 44,103,114, 48,141, 54, 17, 82,112,152, 25, 30,174, 87, 56,215,243,176, 27,168,235,109,188,103,150,231,132,
+203, 11, 56, 95, 34,150,107, 56,189, 68,132, 14,209, 70,164, 70,132, 30,132, 65, 40, 31,101,138, 62,161,114,163, 84,245,235, 32,
+131,222,167,240,149, 68, 0,237,134,132,140,246,116,194,131, 13, 92,106,197,118,179,129, 32, 89, 91, 71, 23, 28,232,156, 31,251,
+134, 11,149,241, 27,153, 96,134,226,183, 84,148,159, 86, 67,205, 45,161,208,120,126,101, 58, 97,145,130,210,182, 67,199, 84, 74,
+126,178,105, 8,133,142,210,183, 34,135,249, 60,145, 92,247, 82, 63,159,154,214, 83,243,210,182,113, 88, 24,119,227,157, 77,255,
+205,255,191, 52,228,202, 47,159,128,191,228,247,252,195,155,207, 24,189,199, 90,126,166, 83, 82, 50, 86, 94,147,168,255, 50, 61,
+221,195, 23, 9,241,247,222,138,251,130,130, 62,194,223,201, 4, 4,201,206, 46,118,172,112, 87, 38, 49, 22, 6,205,230,231,119,
+227, 3,121,219, 38,210, 83,218,151, 42,187, 11,132, 65,238,153,181,216,120, 97,132, 4,155,116,225,105, 67, 1,128, 97,205,198,
+ 89, 92, 80,180, 22,214,173,227,164, 30,144, 8,202, 76,113, 80,228, 20, 38, 50, 97, 91,107, 9, 56,214,109,199, 69,215, 19,172,
+ 67, 40, 13,165,138,164,184,162,136,161, 33, 16, 67, 36, 92,203,195,179, 53, 39,203,142, 42,239,120,184, 28,176,206, 38,162,158,
+251, 6,114,182,221,199,244, 55,190,195,183,230, 11, 38,170, 98, 54, 59,226,120,113, 72, 46, 13,215,219, 25, 85, 46,248,243,247,
+ 62,130,173,141, 59, 89,246,229,107, 73,106,214, 63,109,168,195, 36, 17,209,244,151,152, 42,140,231,107, 60,189,227,215, 58,157,
+171,174, 7, 61,219, 17, 42,100,202, 35, 38,201, 25,221, 22,156,137,133, 93,164,140,248, 60,201,178, 72,205, 93,110,226,142, 44,
+207,200,178,216,100, 41,160,144, 26,171, 28,181, 21,228,165,166, 27, 18,146, 52,155, 68, 63,245, 73, 30, 97,245, 38,105, 75,171,
+ 50, 90, 6, 75, 29,201, 67,121,145,222, 67, 27,157,232,122, 3, 19,226,123,126,170, 27, 79,124, 15, 29,167,221, 88,224,247, 59,
+152,189,181,144, 75, 1, 16,227,234, 98,108,112,198, 99,145,103,209,140,105,179,129,195,109,116, 54,211, 9, 45, 40,202,168,195,
+159, 86,240,248,140,119, 57,230,222, 12,100,110, 88, 41, 13,155, 75,152, 30, 64,187,141,123,116,239, 97, 93,243, 89,215,113,116,
+190,229, 51,159,179, 12, 42,110, 49,106,251,244,121,243, 50,230, 84,219,158, 63,255,236,130,197,225,171,172, 79,207, 98,255,145,
+206,249, 83, 83,250,222,159, 80, 47, 89,103,146,249, 97,193,119, 23, 37,153,144, 56,165,249,100,123,193, 91,197, 33, 70,121, 38,
+147, 25,222,246,220, 12, 14,143,196,245, 43,190,181,189,228,238,234, 18, 83,205, 8,179,107, 4,100, 52,192,201, 94, 38, 20,115,
+130,235,248, 23,179,156,191,189,247, 87,188, 89, 45, 88,150,135, 20,229,140, 39,237,150,107, 66, 64, 89,198,185, 91, 43,180, 20,
+ 76, 27, 79,143, 99,129,192, 23, 19,194, 48,144, 87, 71, 84, 66,113,190,174,209, 38, 39,198,194,124,126, 34,223,111, 84,174,222,
+ 87,250, 44,198,247,190, 93, 19,130, 36,100, 10,170,138,160, 12,225, 72, 35,122, 75,216, 52,132, 77,207,210, 57,254,109,231,249,
+241,177,229,194, 43, 62,212, 27,174, 77, 42, 62,114, 27,200,166,108,125,160, 8,209,204,103,211,110,232,124,192,234, 14,113,182,
+230,237,197, 1,178, 31,168, 76,198, 59,219, 19,174,137,156,114,176,156, 13, 27, 46, 29,220, 15, 45,101,223,112, 92,206,177, 69,
+197, 76, 11,182,155, 22, 93, 21, 56, 37,176, 93,135,148,154,135,221,192,106,216,144, 97,105,235, 21,172,215,136,101, 3,171, 21,
+ 65, 14,136,145, 83, 50,158,215,222, 35, 84, 15, 72, 2, 30,161, 36,193,181,105,205,240,245, 72,175, 97,188,231, 85, 3,107, 29,
+137,168,125, 7, 7, 7,177,192,151, 9, 82,207,243,120, 47,200, 36,237,180, 45,179,162,228,147,182, 97, 41, 4, 71,153,226,227,
+ 65,114, 68,203,185, 87,188,149, 5,250,208,209,175, 47, 97, 50,101,166, 21,107,215,115,210,245,120,145, 86, 35, 34, 68, 57,107,
+211,195, 75,215,225,108,147, 34, 82, 19,172,222, 15,177,144, 15, 22,244, 38,222,159, 87, 38, 97,123, 70,101, 90,255,242,122,120,
+173,191, 24,250, 15,207,148, 59,251,143,117, 82, 31, 39,112,165,227,222, 81,238,125,125, 53,229,176,251,108, 71, 93,174,253, 18,
+182,160,125,250,107,255,140, 92,192,237,193, 33, 87,242,163, 44,254, 78,108,100, 99,187, 36, 53,112, 9,234, 80,196, 7, 38,169,
+ 83,243,118, 23,252,146,233, 84,188,211,207, 22, 68, 63, 95, 98,224,253,231,100, 87,179, 3,202, 42,167,115, 61,237, 48,176,238,
+ 26,122,219, 51,211, 25,135,121, 78,145,101, 8, 33,105,135,142, 77,219,114,110,123,150,109, 79, 24, 2,170, 52, 28, 87, 21, 7,
+147,130,194,228,104, 37,233,251,129,203,182,225, 73,189,225,238,197, 25,205, 70,242,201, 67,199,187,159, 62,225,253,187, 31, 80,
+169,128, 83, 57,109,239, 9,205,234,235, 23,247, 55, 94,225,159,254,202,247,185, 61,191,198,205,195,235,204,103, 7, 44, 14, 14,
+ 40, 76,134,243, 61, 77,187,228,211,229, 18,206,151, 59,153,213,216, 84,133, 16,215, 20, 89, 58, 31,253, 30, 52, 47,229,231,143,
+207,243,246,248,114,239,239, 30,200, 85,156,184,155, 77, 34,160, 16,247, 89, 56, 80,147, 8,187,155, 44,157,184,116, 30, 77, 74,
+200,209, 58, 58, 66,205,242,120,141,149, 5,224, 9, 62,112, 84,229, 87, 15,236, 76, 38,171, 77, 31, 8, 66,197,189, 95,112,105,
+ 98, 78,136, 81,174, 83,140,162, 74,193, 65, 99,196,111,136,223, 23, 33,238,214,242, 34,222,149,251,124, 17,159,184, 2, 9,118,
+140,215,244,190,209,254, 30,203,118, 68, 61,174,162,113,247,110,114,159, 16, 16,159,194,136, 38, 51, 56, 92, 64, 62, 69, 9, 65,
+ 38, 21,110, 52, 81,217,180,145,244,119,185,161, 47, 10, 58,147,208,132, 50,143,238, 91,101, 21,247,128, 58,114, 33,206, 53,188,
+ 43, 53,247,187, 26,164, 67, 60,124,188, 11,164, 72,240, 59, 18,196,104, 0,213, 91,218,161,142, 43, 47,173, 9, 82, 71,118,116,
+146,227,125, 62,163, 92,114,205, 24,126,235,230,148, 91, 89,193,196,100, 8, 37,249,197,208,113, 32,161,202,231, 8, 33,112, 56,
+132, 16,244,222,177, 28, 58,154,190, 67, 52, 27,182,167,151,216,205,217, 21,124, 19, 76, 73, 40,103,252, 15,175,220,230,247, 94,
+122,137,227,233,130,127,253,228,132, 91, 65,112,186, 61,231,150,130,163,108,194, 52,211,148, 69,142, 29, 98,242, 95, 41, 4, 57,
+ 62,242, 96,241, 20, 89,134, 14,138,105, 81,177, 40, 51,110,230,146,187,203, 14, 29, 28,198, 75, 12,158,241,113,174,158, 3,199,
+ 63,245,199, 59, 16, 30, 49, 36,110, 78, 89,112,109,118,192, 31, 93, 95,240, 79, 94, 57,230,164,222,178, 94, 54, 4, 60, 15, 55,
+ 53, 23,214,115, 62, 88,238,213, 29, 91,165,248,108,121, 70,231, 6, 30,172,207,104,112,172,173,101,109, 91, 30,116, 53,107,231,
+248,219,139,115, 38,194,242,168, 94,242,139,186,229,172,222,114,183,169,209,190,227,175, 79,206,249,216,195,208,173,208,120, 78,
+240, 88, 4, 74, 72,154, 20,108,243,222,118,203,123, 23, 75, 62,232,182,224, 2,153,237,113,193, 98,211,115, 82,180, 93,124, 15,
+ 1,132, 13,136,144, 38,115,107, 35, 31,193,249,104,123, 19, 66, 44,252, 95,115,205, 23,158, 69,109,187, 38, 93, 88,169,154, 41,
+ 17, 7, 41, 49, 18,107,137,114, 81,231,248,149,178,160,238, 26,222,158,228,209,138, 2,207,143,139,156,247, 26,203,143,171,156,
+141,237, 41,165,164,177, 14,221, 53, 8,107,121,210,183,252,207, 23,203,216,168, 15, 9,125, 29, 3,190,180,230, 55,111, 86,252,
+209, 43,215,248,209, 75, 71,188,121,243, 58,191, 88, 28, 50, 76,170,221,250,117, 24,146, 12,186,216,153,133, 5,183, 99,194,127,
+227,130,254, 69,204,119,190,160,182, 61,127, 90,255,135, 45,234,251,147,202, 24, 87,122,213, 2,139,120, 34,145,241,160,141,208,
+249, 24,146,178,127,209,248, 17,174,120,246,161,200,231,119,218,159,131,119,109,124,248,155,113, 63,158, 14,170, 86, 73,146, 38,
+227, 5, 52, 6,200,140,110, 98, 97,188,123,243,157, 14,123, 31, 17,240,246,249, 5,171,172,200,167, 37,210, 7,182,125, 67,215,
+247, 4,235, 57,154, 22,148, 89,129,146,130,193, 90, 90,235, 56,111, 59,214, 77,135,245, 1,101,114, 38,153, 97, 90, 26, 38, 69,
+142,137,157, 6, 77,215,178,234, 91,206,215, 61,171,186,230,195,123,247,120,247,222, 7,172,150,143,184, 61,187,201,245,234, 6,
+139,131, 99,238, 93, 60,138, 19,217,139, 94,116,142,136,138, 28, 46,120,229,218, 33,185,202,168, 38,115,132, 18, 20, 89, 78,179,
+169,145, 74,240,100,249,132,187,255,254,189,248,158, 71,214,102, 8,187,162, 62,186,188, 57,191,251,220,245, 79,147, 12,191,148,
+108,177,199, 33, 83, 73,199, 63, 50,229,139,196, 95,240,233,156,185, 4,201,211,165,203, 33,196,134,173,154, 68, 41,215,124,186,
+ 75, 94,146, 50, 18,227,132,231,104, 82, 82, 24,141, 70,178,200, 13,141,117, 84, 82, 99, 69,140,210,116, 4,130, 8,228, 69,137,
+ 27,229,143, 46,105,218,125,114,155, 35, 21,115, 41, 83, 66,148,221, 93, 67, 90, 69,251, 96,189,111,176,227,119,133,221,219, 47,
+ 0,206,252, 30, 73,102,143,131, 48,202,227,132, 72, 65, 66,201, 85, 14, 17,191, 95,205,225,232, 26,210,100, 8,169,240, 12,132,
+182,129,139,243,216, 92,108,155,136, 44,228,102,151,239, 60,164, 9,108,232,162,171,222,232,156,104,109, 90, 79, 36,243,165,166,
+ 67,156, 62, 77,184, 20,222,131, 23, 8,147, 26,157, 54, 53,186, 87,134, 69,146,224,159,247,160,247,172, 85,198,143, 22, 37,183,
+178,140,193, 59, 86,222,113,215, 90, 30, 73,207,235, 89, 69, 97, 74, 10, 97, 48,125,131,232, 26,238,213, 43, 6,239,169, 6,207,
+ 4,203,242,124,139, 61,191, 32, 20,146,144, 25,190,149, 79,249,195, 87,111,241,202,193,148, 7,155,150, 63,221, 52,124,178,189,
+196, 11,205,194, 24, 54,193,113,123, 94, 48, 56,136,246, 51,129, 74,128,146, 10,165, 37, 2,129, 18,138, 73, 89,226,132,228,184,
+156,242,250,226, 26,223,191,177, 32, 47, 52,219,204, 68,138,136,206,209,153, 68, 7, 80, 94,162,240, 95, 80,220, 53,210, 68, 18,
+176,212, 38, 18,232,108, 64, 20, 25,191,127,115,193,111,223,126,149,219,249,132,197, 68,243,215,143, 46,162, 61,240,166, 37,116,
+125, 92, 87,172,150,244,231,231,132,174,167,175, 27,194,164,164,111,107,250,203, 51, 6,219, 17, 54, 43,134,182,198, 5,203,189,
+237,154,251, 23, 23, 44,187,142,243,174,229,162,111,185,223, 54,184,109,139,191, 92,242,241,186,227,253,118,205,153,180,124,108,
+123, 42,169,249,120,187,225,253,229,146, 63, 59,189,224,189,190, 70,121,129, 12, 22,129, 99, 18, 60, 70, 9, 26,235, 35,225, 47,
+ 72, 68,202, 11, 23,222,199,226,206,110,125, 38,246,214,104, 79,113, 11, 94,224, 67, 60,143,195, 51, 38,223, 73,253,116, 83,172,
+178, 84, 84, 13,167,214,242,135,243, 2, 23, 2,183,243, 28,225, 29, 39,125,195,175, 84, 19,126,178,217,240, 86, 49, 97,139,196,
+ 13, 45,189, 27,248,183, 79,158,240,201,106,195,249,186,137, 78,139, 38,145, 24, 67, 34,246, 5,199,239, 44,166, 84,198, 80,228,
+ 19,130,210, 12, 62,240, 88,201, 56, 24,164,192,159,100,234, 30,239,225, 33, 26,204,124,110,136,252, 38,220,178,103,235,215,184,
+190,179,126,103, 95,254, 37, 14,115,255,176, 69, 93,250, 52,245, 36,131, 15,149, 58, 51,173,226,131,114,140, 59, 53, 41, 51,221,
+166,233, 56,164,206,109,255, 13, 93,217,234, 61, 51,165, 91,255,229,140,121,147,165, 40, 77, 31, 9, 84,214,239,152,235, 87,230,
+251, 54, 22, 18,233,175,148, 80, 41,104, 45,165,180,132,103,136, 17, 95,177, 91, 49, 37, 93, 86,144,233,192, 96, 7,218,174, 35,
+207, 36,243, 60,195,168,152, 54,212, 59,199,186,111,185,236, 59,186,244, 30,170,162,224,160,202,152, 8,137, 17, 18, 99, 4,222,
+ 90, 86, 67,199,227,101,205,166,237,226, 36, 60, 56,172,134, 69, 57,225,229,227, 87,233, 66,143, 14,154,207,214,231,216, 71,247,
+ 94,108,159,238, 72,187, 49, 1,237,128,184, 62,165, 84,134, 82, 79,208, 89,137,210,130,174,110, 56,191, 56,229,127,255,249,207,
+225,241, 19,110,254,225,239,178,253,244,222, 14, 5, 81, 9, 5, 25,189,142,159, 37,139,140,136,140, 20, 41, 17,206, 63,135,156,
+ 39,247,214, 49,236, 38,197, 44, 33, 2,117, 29,247,230, 67,212, 21, 71, 75,222, 42, 73,189,242,248,123, 22, 21,243,151,110, 83,
+ 84, 37,106, 90, 49, 56,155, 36,148,130, 92,107,148, 16, 84, 58,202,127,150,189,103,150,105, 58,239, 81,233,241,212, 91, 79,105,
+ 20,109, 61,196,253,153,243, 41,170,215,197,233,252, 74,155,238,211,132,110,227,181, 45,243, 88,120,135, 68,216,220,183,130,220,
+ 47,236, 90, 62,243,246,237,211,135, 96, 60,158, 87,246,197,236,153,221,164,239, 41, 21, 77,113,164,128,195, 25, 97,178, 32,216,
+150,128, 76, 49,172, 77, 92, 7,248,116, 45,219, 49,125, 45,161, 38,219,246, 10,206,164,245,177, 1,176, 46,229,170,155, 72,146,
+ 11, 1, 86,235,232,136,183,255, 80, 30,123,106,163, 16,117,138, 57, 86,154, 48, 47,248, 87,111,220,160,156, 21,220,123,178,138,
+123,211,103, 31,232,193,161,181,166,202, 12,107, 2,247,189,231, 3,235,248,179,206,242,123, 74,176,208, 37, 6,137, 30, 6,124,
+187,226,129,179, 8,235, 17,214, 81,122,193, 66, 64,237, 29,221,163, 11, 2, 45, 47,107, 56, 44, 42,150,125,207, 95,157, 46,249,
+249,122, 9, 82,210,218,150, 7,117, 67,237, 45,219,214, 82, 59, 71,145,151, 84, 10,114, 4,131, 15, 84, 1,156,119,136,114,130,
+159, 78,169,202, 9, 89, 57, 69, 34,184,105, 42,126,253,198,203,252,218,205, 91,188,253,250, 29,110,221, 56,228,177, 46, 17, 86,
+161,133, 67, 5,143,242, 30, 53, 41,162,171, 30,196,198,202,232,232,176,151,204,154,132,237, 17, 14,138,185,225,213,201,156, 78,
+ 74,238, 14, 61,239, 73, 79,216,118,176, 90,198,107,121,187,133,186, 35,244, 3, 97, 91, 19,250,158,112,255, 17, 56, 75,184,220,
+ 64,169, 97, 91,227,237, 0,221, 64,232, 90,252,166, 33, 88,143, 95,175, 8,117,135,111, 45, 97,179,193,183, 22,191,185,100,115,
+126,206,253,117,207,167,131,227,223,212,151,252,249,106,205, 79,234, 53,143,188, 77,251,253,154, 82, 4,114, 31,200,188, 37,243,
+ 48, 87,130,181, 20, 41,201, 90, 34, 19,138, 42,242, 9, 34,215,187, 70,115, 68,110,158, 41,214, 95,172,239,255,170,194,174, 99,
+209,154,148, 41, 82, 59,139,240,119, 57,137,141,124, 55, 64,105,120, 75,106,126, 59, 23,104, 83,160,156,101,229, 44, 62,120, 14,
+148, 97, 35, 5,175,105,205, 25, 48,117,150,121, 94,112,210,118,220,145, 18, 63,116,116,109,207,182,238, 96, 91,167, 97, 36, 42,
+ 64,254,224,120,194,203, 89,134, 86, 25, 94, 40,140,214, 40,229,121,191,115, 73, 13, 35, 99,211,170,178, 36, 97, 78,247,239, 40,
+171,126,161, 97,229, 75,184,200,242,139, 8,114,114,111,112, 77,181,238, 57, 48,255, 63, 92, 81,207,179,120,178,236,176,179, 33,
+ 29,109, 67,179, 44, 62,176, 61, 41,251, 60, 21,216,204, 36,194,211,222, 67,244,138,109, 56, 78,241,233, 11,251, 2,164, 5,173,
+119,133, 65,154,221, 46,211,167,194, 48,234,217,247,131, 96,252,254, 78, 35, 77,162,146, 29,170,240, 34,154,199, 76,225,242, 41,
+ 94,198,160, 12, 47, 29, 19,101,226,164, 40, 21, 62, 8,186,193,114,209, 91,182,221, 0, 8,230, 7, 83,110, 47, 14, 40,181, 65,
+ 9, 16, 4,164,247,116,206,178,106,122,206, 86, 13, 97,240, 8, 31,146,116, 2,124,166, 17, 42,144,235,156,179,230,146,251, 79,
+ 30, 65,187, 34,188,136,193,139, 76,197,214, 73,232, 44,151,171, 37,159, 14, 61,199,101, 78,158,231, 12,221,192,166,105,184,127,
+241,152,135, 31,222, 5,103, 99,152,194,197,242,105, 6,232, 87,161, 52, 34,101,222,203, 47,131,173,198, 48, 29,181,135,213,165,
+ 9,220,217,200, 92,109, 54,241,198, 31,145, 19, 63, 58,178,233,216, 20,222, 56, 38,207, 20, 90,104,132, 0, 43, 37,193,182,160,
+ 21,185, 84, 84, 70,145, 41, 69, 99, 3,149, 81,180,214,225,131, 39,136,128,199,145,107, 73, 63, 4,156, 27,253, 14,210,227,201,
+118,169, 1, 10,145, 57,158, 21,169, 80,219, 36, 61,235,227,235,180, 54,146, 7,191,112, 90, 29,215, 73,123,219,230, 60,139,147,
+244, 62,231,100,148,124, 62,187,190,130,216,160, 24,179,147,111, 22,121,108, 34, 84,130, 5,109, 23, 97,240, 85, 27,119,135,117,
+ 15,198,240,218,141, 9, 63,200, 53,175,101,138,187,103,171, 68,144, 75,122,117,124,124,144, 42,147,124, 5,178,200, 23,184,184,
+252, 92, 81,199, 39,111,251,193, 38, 36,109,128, 44,231,191,127,227, 22,191,119,227, 14, 70,195,255,125,214, 68,159, 0,118, 22,
+171,130,104,157,251,112,208,104, 41, 89, 3, 15,156,229,190,147, 88, 39,184, 27, 90,254,137, 41, 41, 48, 40,153, 81, 44,174,241,
+242,209,109,174,103,134,101,223,226, 8,100, 88, 94, 54, 26, 41, 5,121,215,241,160,109, 8,126,195,191,127,248,144,127,119,118,
+ 70, 24,122,130, 34,154,214,100, 6, 79,108, 2,122,239,112, 54,112,123, 82,176,181, 45, 55,140,161,243, 1,147,229, 44, 14, 22,
+ 20,179, 9,250, 96,134, 51, 26, 33, 13,147,114,130,247,129,239, 29,220,224, 7,183, 94,229,187,179, 27,252,250,209, 13, 38,115,
+205, 61, 15, 90,101,168,190, 71,117, 22, 57,153,160, 76,134,202, 75,228,224,144,194, 34,131,138,133,125,176,208,212, 60,217, 88,
+154,210,177,148,129,159,212, 3,219,224,160, 72, 43,139,117, 29,175,105,219, 39,169,151,139,150,191, 67, 71,232, 60,129, 1,214,
+ 13,161,110, 97,121, 25,125,197,183, 29,161,183,132,224, 99, 19, 48,244,248,139, 19,130,235,240,109,131,239, 26,188,115, 49, 22,
+183,174,241, 78,224,134, 26,239, 6, 6, 63,196,201,223, 65, 62, 88,140,112, 84, 82, 82, 10, 75,174,224,192, 40, 90, 33,152, 40,
+197,171, 83,205,235, 7, 83, 14, 22, 5,213,193,140,165,154,166, 20,199, 72, 6,125, 17,199,202,231, 21,120, 1, 8,167,227,176,
+ 52,201,160, 92,196,235,149, 16,249, 33, 77, 90, 35, 45,166, 16, 36,255,201, 52, 3,161, 88, 54, 43,166,249,148,206,123,110,231,
+ 37,101,128,119,235,129,137, 49, 84,174,231,157,198,115, 93, 6,180, 18, 4, 9, 55,164,228,219, 18,254,195,233, 38,230, 62,116,
+117,202,132, 8,220,154,230, 28,165,235,201, 75, 73, 23, 2,119,155,129,251,222,238,236,165,125, 34,216,230,121,188,239,138, 34,
+162,129,243,121,228,173, 16,146,174,157,167,172,194, 95, 88,158,253,133, 68,185,125,101, 12,255,128,240,123,158,197,130,169,244,
+142,249,172, 18, 44, 55,178,205,199,169, 67,232, 61,246,249,222,127, 27,255,222,165,128,149,126, 47, 42,245, 89,221,158,231,133,
+172,244,174,138,138, 79, 5,217,201,157,143,182,142, 25,232, 87,233, 56,210,238,177, 94,246,150, 64, 82, 60,141,246,191,168,100,
+ 33,159, 35,143, 14,210, 84, 30,223,227, 52, 87,104, 41, 81, 41,138,117, 99, 7,182, 67,207,208,122, 80,130,235,243, 57, 71,147,
+ 42,234,124,189, 71,138,128, 7,154, 97,224,116,219,211,215, 45, 34, 88,194,224,147, 22, 50,208,181, 29,151, 67,207,164,148,100,
+ 42,195,148,154,229,221, 79, 63,175, 48,144, 50, 22,143,253,239,187,212,185,202, 84, 24,234, 14,206, 46,184,151,231, 76,144,156,
+111, 86,156, 44,207,249,155,191,251, 32, 26, 74,120, 7,143,159,124, 13, 13,230, 30, 95, 98, 44,238, 94,124,201,201,211,169,113,
+218,219,194,121,226,106,102,244,223, 55, 69, 58,159, 33,201, 18,211,215, 62, 64, 38, 49,147, 10, 35, 21, 2, 65,125,118,114,229,
+224, 87,102, 17,130,239,211,164, 17, 66, 96, 98, 4,141, 15,248,224,232,186, 1,161, 37,110,136, 69,128, 33,217, 4, 15,125,212,
+186,143, 54,179, 46,233,187, 73, 49,173, 17, 82,136,222,211,202,126,193,148,254, 12,204, 14, 48,159,237,246,237,106,239, 88, 93,
+ 25,152, 36, 72,220, 36, 56, 82,236, 61, 66,157,138, 83,117, 31,226, 52, 83,229,200,172,136, 92, 0,153,126, 94,221,196, 66, 61,
+137,196,190,183,230,113,191, 60, 23,130,109,102, 88, 95,174,118,153, 7,235,109,202,143,111, 99,166,188, 78,146,189,109,106, 16,
+158,125, 40,143, 48,236,136,204,204, 42,126,116,235, 58, 47, 85, 11,222,223,174,248, 15,171,250,106,191, 62,178,252, 69, 90, 63,
+ 8,111, 89,107,131, 45, 52,141,214,156, 9,141, 66,176, 14,240, 61, 45,184, 61,185,134,204, 10,212,157, 59,152,197,156, 60,155,
+242,224,226, 4, 31, 44, 7, 74, 51,147,130, 55,203,140,215,202,156,235,210,243,127,220, 59,229,241,227, 75,252,102, 21,237, 71,
+135,142, 16,162,197,232, 92,105, 58, 33, 41,164,230,187,121,137, 15,129,133, 20,172,250,150,105, 86, 48, 5, 68, 81, 48, 63,158,
+146, 77,178, 56,109,103, 57,189, 8, 92, 95,204,249,246,241,130,163,107, 11,110,220, 62,230, 80,230,220,206,230, 76, 75,197, 71,
+ 97, 64,161, 80, 38, 71, 57, 17, 31,117,193, 35,165, 68, 74,141, 20, 17,198,150,193, 71,131,154,190,225,209, 89,203,199,189,101,
+147,167, 18, 39, 53, 84, 69,242,187, 72,247,136, 73,205,235,120,111,217,100, 56,212, 69,171,209,224, 29,180, 53,161,111, 8,205,
+150,208,213,132,174, 37,108,214,209, 82,183,235, 9, 62, 58, 18,122, 51,137,141,234,182,195, 93,158,225,215, 91,124,231,240, 50,
+ 96,189,160,198, 98,221,192, 53, 1,194, 15, 72, 2, 19,169,240,222,242,189,210,240, 95, 30,207,249,227,107,115,126,255,240, 26,
+ 63,154, 77, 48,153,225,246,225, 4, 57,203, 57,247,163, 37,179,191, 50,185, 18, 95,241,231,115, 80,189, 75, 13,162, 54, 80,205,
+162, 71,196,232, 19, 18,136,182,175,101,206, 91, 70,179, 48, 5, 19, 37,184,165, 37, 51,157,113, 50,116, 92, 87,145, 39,240,211,
+174,231, 71, 85, 5,174,231, 49,146,183,164, 35, 87,138, 92,103,244, 67,203, 37,112,182,105,120, 83,122, 62,238,251,120, 95,116,
+ 45,116,150,207,250,192,237, 66,115,156,103,120, 60,181, 11,252,111,117,178,119, 29,146,124,109,180,181, 22, 10,180,230,237,227,
+ 25,255,217,203, 71,252,241, 75,215,121,179,202, 56, 62,158,241,137, 75,131,135, 74, 80,150,208, 9,233,245, 47,246,124, 28,239,
+117, 41, 63, 47,107,123,118, 74, 55, 89,180,191,158,204,254,158,139,186,214,159, 63,125, 89,130, 25,131,143, 7, 68,236,193,174,
+ 89,218, 89,200,189,221,122,199,206, 61, 43, 27, 3, 44,146, 65, 71, 72,108,224,111,162,189, 30,187,161, 76,197, 2, 46,147, 3,
+157, 75, 83,250, 78,147, 18, 11, 74,240,159,191, 34,189,142,210, 13,207, 87,104,145,159,165,146, 31, 17,166, 21,101,150,161, 3,
+ 8, 28,165, 20, 40, 37, 17, 66, 80,187,129, 85,239,217,108,146,145,129,212,148, 69,134, 81,130, 64,192, 38, 18,203, 48, 56,206,
+234,142,198,245,248, 54,238,234,128,200,176,237, 99, 71,121,124,231, 14,191,250,210,247,185,182,184, 65,169,167,124,252,209,207,
+147, 17, 10, 59, 86,117, 72,244,165,253, 6, 73,142,133, 98, 12,198,137, 19, 88, 88, 45,185,127,178,228,254,217, 41, 39, 15, 79,
+226, 78,234,120, 17,163,104,151,203,175, 39,217, 16,123, 37, 33,124,149,109, 99,154,212, 71,231, 38, 33,119,180,171, 16,118,202,
+ 5,183,137,208,187, 72, 70, 64, 87,251,111, 79,111, 29,117,219, 70,205,190, 84, 32, 2, 82, 27, 36,129,206,121, 22,153,166,245,
+ 46, 22,125,103, 49, 66, 82,183,129, 28,208,184, 0, 0, 32, 0, 73, 68, 65, 84, 29, 74, 73,218,110,192, 14, 46,158,228,113,183,
+109, 19,151, 66,166,137,125,244,130,247, 34,153, 14,117, 41,139,222, 62,205,122,127,222,199,124,198,175,254,193, 31,240,248,209,
+ 41,132,209,168, 35, 53, 46, 35, 41,211,167, 41,126, 84, 85, 36,203,214, 8,223,200,104, 97,156, 16,138,197,225, 34, 58, 33,203,
+232,187,142,119,209,202,210,185,200,242, 45, 11,242,105, 78,166, 36, 79, 20,124,120,186,142,205,208,208,197,227, 90, 76,162, 43,
+ 88,235, 96, 49, 37, 91, 28,242,223,188,114, 27, 76,224,241,147,243,157,213,237,243,166, 49,103,249, 64, 74, 50, 3,255,211,249,
+138, 49, 71, 65,216, 1,186, 52,217,203,241,118, 10, 12,237,128,152, 76, 64, 75,164,206,113, 82,161, 51,141, 99,224,123,213,140,
+108,122,136,190,113, 13, 89,228, 32, 13,225,244,132,204, 8,230,194, 50,211,138,185, 82,232,204,176,200, 12, 11, 45,168,115,201,
+106, 8,248,179, 21, 97, 85, 19,148,228,123,139, 41, 7, 69, 69,169, 20,223, 46, 42,110, 86, 26,229, 6, 30,146,241,170,214,216,
+ 48,176,177, 29,211,114,130,208,154,220,104,148,212,228, 70, 49, 59,156,112, 45,207,121,245,246,156,233,181, 25,249,180, 32,159,
+148, 20, 65, 83, 5,205,141, 34, 99,118, 60,229,177, 5,165, 99, 46,188, 42,203,152, 84, 55,184, 56, 3,100, 2,209,119,209, 94,
+ 55, 51,136,205,146,176, 94, 33,172, 39,100, 9,194,117, 46,162, 78,211,105, 92,167, 76,138, 88,212,159, 34, 89,122,130,247, 87,
+ 54,191, 97,252, 60, 90, 11,143,196,196,125, 25, 97, 86,225, 95,190, 78,200,115,124,211,225,189, 37, 88,139,239, 54,177,184,111,
+ 58,176,158,182,239, 49,161,167, 18,129, 74, 42, 58,231,152, 72,201, 15, 77,206, 43,153,225,118, 94,209, 75, 65,102, 10,114, 93,
+208,154,140, 60, 47, 40, 38, 25,143,145, 8,105,226, 42, 88,131, 72,215,200, 87, 21,245,171,207, 33, 93,243,215, 23, 28,127,251,
+ 22,119,174, 31, 80, 86, 25,235, 85, 23, 81,157,220, 32, 50, 67,233, 3,111,205, 75, 50, 37,105,132,228,193,208,242, 45,157,209,
+ 59,199, 52, 43,240,174, 39,179, 61, 70, 27, 50, 2, 23, 74,209, 15, 13, 77, 16, 28,232,156,123,219, 45,223,193, 82,235,140, 7,
+ 77,203,224,147, 4,175,107,193, 14,124,120,190,230, 47,215, 29,127,179,110,248,233,233, 58, 90, 79,143, 6, 89,146, 56, 96,250,
+116,255, 25,193,239, 30, 78, 56,204,115,150,110,160,200, 50, 10, 35,121,199, 19,159, 89, 90,199,232,102,157, 37,243, 42, 29,107,
+221,151, 33,166, 99,125,250,220,196,110,247,184, 95,251,232,175,129, 27,215,225,160,250,123, 46,234, 38,193, 40,201,200, 42,154,
+133,164,105,123, 92, 78,203,189,135,242,104,252, 50, 78, 40, 73,242,136, 74,134, 32, 54,196, 23, 63,116,105,127,145, 10,146,210,
+ 47, 6,123,127,209,129, 27,108,236, 6,197,222,208,164,216, 53, 14, 36, 86,190, 22,137, 21,191,199,134,119, 99, 76,107,130, 7,
+ 94,212, 9,111,114,200,252,248, 24,129,101,146, 75,140,242, 56,124,100,247, 58,199,186,115,212, 93,135,107,135,196,244,150,104,
+ 41, 48,193,209, 15, 29,189,115,212,214,178,234, 44,235,174,195,182,195,213,235, 18,128,200,116,252,119,147,138,215, 94,122,133,
+235,213, 13, 76, 86,112, 86, 95,114,247, 23, 31, 69,168,105, 60, 63,251, 27,118,241,108, 23, 57,198,165,250,167, 9,217,161,139,
+234, 0, 83,240, 43, 63,250, 46,223,121,229, 14, 55,174, 29,240,240,195,143,190,102, 83,181,231,219,251, 34, 50,144, 49, 28,101,
+156,236,199,159,163,203,136, 6,117,155,148, 31,224,162,243,147, 74,190,255, 58,105,228,101,154,114,198,244, 62, 29,139,157,147,
+ 16,188, 96,176,241,218,148, 2,250,161,103, 8, 34,230,195, 91,199,208, 38, 55, 40,153,174, 1, 45,210, 83, 75,199,130, 45,146,
+125,171, 76,174,117,210,199,137, 94,236,241, 8,244, 87, 68, 39, 10,201,226,206,109,206, 46,183,145,165,126, 37,135,244, 79,147,
+ 46, 71,119,195,177,161,185, 98,197,143,231, 44,178,171, 77,158, 33,179, 18,233,122, 6, 68, 84, 7,116, 67, 52, 83,202, 5, 52,
+150,203, 44,231, 51,161, 56,233, 92,132,240, 79,150, 41,174,210,239,216,188,125, 7,139, 5,255,237,183, 95, 99,158, 21,220, 44,
+ 51,254,234,222,195,167,144,135, 47, 44,238,131,101,216,214,252,188,177,145,183, 98,116,156, 40,148, 70, 12,109, 98, 76,239,184,
+ 64, 2, 79, 91, 91, 66, 53,165,204, 51,110,149,134,235, 70,211,216,192,129,214, 92, 47,166,228,243, 35, 4, 18,119,182,166,169,
+ 47, 89, 40,141,180, 45, 3, 1,171, 20, 83,165,232,165, 98,155,231,148,147, 18,189,200,241, 71,135,212, 50, 70,146,102, 58,102,
+ 40, 84, 69,206, 91,243, 9,139,188, 68, 21, 5, 10, 75, 45, 2, 97,176,116,195, 64,240,130,182, 29,232,188, 34, 47, 37, 7, 70,
+114,144, 25,142,139,140,163, 89,137, 73,134, 88, 33, 64,191, 29,152,152,140,151,138, 25, 55,204,140,107,243,130,108, 81,176,206,
+114,110, 29, 76,104,136,249,232,178, 40, 17, 14,230, 85, 73, 63, 54,255, 58,106,158, 51, 47,177,247, 79,119, 33, 83,121, 14,121,
+137, 88, 76, 17,179, 18,145, 25,196,186,223, 17,211,190, 4,222,126, 86, 97,112, 85,212,111, 93, 39, 28,205,241, 66, 17,156,199,
+ 55,245, 21,231, 50, 12,150,208,212,132,102, 11,203,134,165,135,163, 66, 17, 6,143, 15,158,204,121,126,115, 86,114, 36, 53,181,
+ 15, 28, 20, 83,164, 50,212, 74,161, 85, 70, 11,148,153, 65,105,201,105,153, 33,242, 28, 81, 86, 8,165, 17, 33, 32,148, 68,154,
+104,188, 35,210,179, 90,228, 25, 28, 94, 67, 28, 30,198, 93,121,176,136, 30, 56,152,160, 94,123,137, 95,125,233, 22, 71, 85,197,
+181,233,148, 70, 59, 14,231, 11,230,147,130, 44,203, 89, 43,197,171,153,228,251,210, 80,227,185, 99, 42, 30, 13, 3,179,204,240,
+184,221,178,200, 12, 66, 74,222, 93,111,249,118,150, 97,188, 71, 8, 77,214,111,249,133,115,188,157, 73, 54, 66,241,112,217,240,
+201, 42, 33,110,193,238,106, 66,215,195,182, 38,172,183, 81, 10,218, 15,145, 41,223,182,123,208,119, 68,157, 95,171, 12,223,153,
+149, 9, 84,150, 72, 41,233,172,227, 97,235,168,131,139,207,173, 34,169, 99, 50,179,147, 70,243, 21, 67,224, 72, 10, 31,229,129,
+227,122,249,139,212,220,186,128,195, 41, 8,241,247, 92,212, 71, 54,251,184,223, 20, 62,194, 43, 90,164,154, 62,230, 7,167, 68,
+169, 50, 89,116,138, 84,192, 77,250,247,109,138,229,244,105, 18, 26, 89,194,163,166,221,168,111, 78, 78,208,169, 0,122,145, 18,
+189,236,142,132, 39,210, 62, 83,134,221, 90, 64,239, 5,198,104,113, 21,121,249,149,228,184,253,143,163,107, 48,201, 40,101, 52,
+ 7,109,236,144, 40, 4, 1, 31, 60,203,166,165,223,244,187, 59, 50,215, 84, 74,199, 7,146,115, 52,189,163,117,158, 85,211, 18,
+154,126, 23, 28, 50, 58,182,105, 73,118,120,196, 31,253,198,111,115,231,224,101,178,194,112,114,121,198,121,179,226,241,123,239,
+236, 38,226, 81, 46, 50,178,213, 3, 47,198, 70,215,121,100,240,191,114,131, 31,220,122,153, 42,203, 89,148,115,222,175,215,209,
+ 54,242,235, 20,246,175,115,220,198,130, 53,122,152,143,143,174,190,141,197,122,146,180,225, 58,237,180,188,125, 26, 21, 24, 9,
+118, 42,217,253,250, 72, 20, 11,214, 33,100,160, 15,150, 66, 43, 86,109, 79,102, 76, 12,246,176, 22,215,251, 24, 38,161, 50, 66,
+155,100,151,232,221, 42,105, 36,122,250, 17,253, 48,209,163,160,208,241, 97,161,242, 29, 34,245,101,197,221, 90,206,238, 61,129,
+119,207, 97, 49, 58,239,137,207, 91, 75,238,239,214,173,221, 37, 18, 38,201, 17, 93, 3,205,128,152, 79,176, 2,110,102,138,181,
+141, 54,161, 46, 36,249, 93,189,137,247, 99,158, 36, 57, 82, 70,116,103,211,166,169, 48,177,130,187, 20,106,227, 5, 47,189,114,
+204,180,156,242,225,106,205,167,203, 21, 44, 87, 95,205, 98, 30,108,132,220, 77,129, 40,242,184, 22, 40,242,132,102,116, 49, 20,
+ 70,238, 75,191, 44, 62, 47,184, 54,157,240,250,172,224,229, 44,231,102,102,232,252,192, 29, 85, 80,133, 12,177,109,241,151,231,
+208,111,232,130, 37,147,224,188,199, 7,193, 96, 50,106, 33,104, 76,198,153,214,132,108,194, 26,137,168,102, 76,102, 83,206,236,
+ 64, 40, 74,178,190,229, 90, 85, 33,165, 96, 27, 2,151,117,244, 75,183, 33, 71, 40,133,119, 29, 79,150, 23,116,155,158,118,109,
+ 41,243,140, 10,193,225,180,100, 90,154,120, 41, 57, 79,115, 57,208, 39,120, 59,211,154,227,233,148,111,205,143,249,222,244, 26,
+111, 47,110,113,123,122,196,203,211, 9, 55,143, 22,212,194, 33, 39, 5,181,208,152, 98,130,247,154,144, 25,130, 80, 88,223, 69,
+ 47,129,179, 39,136,218, 71,134,121, 89,198, 63,197, 4, 81, 76,224,232, 0,145,149, 8, 55,230, 99, 60, 77, 76, 11, 95, 81,224,
+131, 29,160, 19,132,186, 33,180, 29,193, 8,194, 96,241,251,255,214,185,180,199,135,199,219, 1, 81, 72,214,157,197,122,199,117,
+ 41,185,157,229, 40, 41,144, 74,210, 74,205, 35, 4,191,112, 30,167, 51,156, 27,168,138, 9,159,166,103,163, 40, 51,196,193, 12,
+ 49,155, 35,103, 51,132, 48, 8, 93, 32,130, 64, 28, 28,114,227,135,111,242,195,111,191,206,173,227, 35,166,243, 9,231, 33, 54,
+201,226,240,136,183, 95,191,205,141,197, 97, 92, 55, 6,207,171,199,175, 48,175, 38,124,251,198,171, 28, 22, 57, 88,248,171, 65,
+114,205,120,142,100, 70, 23, 44,183,164,226,103, 77,199,247,170, 41, 63, 91,109,121,105, 82,112, 83,192,133,247, 12,118, 64, 41,
+197,165,115,188, 42,163, 64,227,227,245,134, 62, 56, 30,214, 93,146,181, 61,171,170,242, 59, 87,188,174,139,205,109,215,239, 86,
+ 72, 67, 68,139,151, 65,241,195, 42, 39,215,138, 42,203,113,222, 49, 72,201,159,159,175,119, 3,196, 56,200,142,133, 57,168,136,
+114,250, 23,244,129,255,130, 77,221,231,184,196,166, 0,165,255,158,139,186, 79,187, 7, 35,159,182,181, 30, 31,200, 97, 44, 38,
+137,108, 70, 72,172,217,148,132, 21,146,214, 55, 31, 37, 72,201,163, 93,238, 89, 60, 40, 25,117,192,214,127,243,215, 40, 69,146,
+246,164,215,123,165,139, 78,144,188, 20,207,236,214,147,212,194, 39, 41,210,184, 95,121,145,226,100, 52, 76,231, 96, 52,131, 29,
+144, 50, 32, 69,136,196,101, 96,221, 15,212,235, 4,187, 19,181,190,121,110,168,180,185, 90, 65,215,118,136,208,124,151,136, 27,
+ 33,196,156,238,224, 18,151, 34,227, 59,175,191,196,175,189,241, 54,147, 89, 69, 8,158,119, 31,188,199,207,238,222,133,243, 39,
+187, 11,105, 95,126, 38,120,177,105,217,196, 48, 23,166, 5, 78, 6,190,123,253, 22,214, 7, 54,125,203,221,119,247, 80,128, 23,
+ 66, 44,138,221,190,248,235,156,175, 47, 82, 25, 76,138,104,211,234,101,132,189,117,146,149,153, 84, 68, 68,216,237,240,243,100,
+114, 52,158, 51, 23, 98,212,169,131,174, 27, 48, 90,208, 44,123,156,243,132,173, 35,116, 22,134, 16,235,168,117, 32, 20, 82,137,
+189,135,168,220,145,211,228, 56,177, 39,179,152,178,140,138,132, 66,197,115, 83,232, 47, 71,116, 92, 31, 77, 54,198, 68,188,193,
+126,254,186,218,127,239, 35, 55,100, 76,160,179,195, 85, 30,179,235, 6,244,172, 64,227, 57,144,146,137,136,219, 44,231,146, 52,
+104,179,141,231, 61,159,236,156,237,182,203,157, 60,103, 24,118, 33, 60,131,227,195,162,224, 93,239,249,192, 19,207,243,147,179,
+231,247,243, 35, 87,163, 72,108,252, 46,238, 67, 69, 89,196,251,187,200,185, 94, 78,168,187, 14, 26, 27, 11,187,181,209, 99,221,
+228,220, 58,170,120,115, 50,225,102,150, 51, 85, 6, 21, 2, 83,103, 57, 26, 60,102, 93, 35,215,167, 8, 27, 87, 35, 82, 27,178,
+ 32, 24,194, 64,131,224, 66, 73, 30, 35,233,148,166,113,130,144, 77,184, 83, 78,120,189,202,249,193,180,226,117,147, 97,114,195,
+ 89, 15,245, 16,168, 7, 65,161, 20, 86, 43, 50,173,169, 10,197,208,193,208,119,244,237,154,147,199, 15,232, 58,205,205,249,148,
+210, 9,180, 21,168, 32,217,110, 7,150,117,207,227,229, 22,213,247, 76, 38, 57, 89,166, 41, 76,198,225,108,198,245, 98,194,171,
+211, 67,238, 84,215, 56,150,134,239, 47, 14,121,105,162, 17, 69, 96, 58,201,153,148, 57, 90, 10, 90, 23,240, 77, 71,240, 3,162,
+239,162, 1, 80,215, 33, 76,116,159, 19,229, 12, 81, 46,248,141,107, 55,249,151, 63,250, 33,223,126,249, 58,239, 24, 25, 73,139,
+ 93,247, 66,210,177,144, 26,172, 16, 2, 65,105, 66,166, 8, 8, 66,215,125,241,132,111,123,196, 80,179, 94, 15,108, 58,207,105,
+235,121,181,148, 28,101,146,153,202, 49, 82,113,191,239,248,133,247, 92, 4,143, 80, 10,148,161, 38, 48, 17,130, 19, 25,101, 98,
+ 2,144,147, 18, 81,100,200,249, 28, 49,169, 16, 55, 14,248,225, 27,119,248,222,173, 55,184,113,237, 58,147, 44, 35, 11,129, 91,
+135, 11,178,163, 57,183,110, 94, 99,154, 23,148, 58, 71, 74,193,180,156,178,220,118, 84,197,148, 50, 43,200,179,130,195,106,194,
+237,208,242,208,122,190,165, 36,150, 64,111,114, 50,103, 57,245,142, 55, 51, 67,239, 44,103, 66,112, 32, 4,154,192, 67,215,115,
+ 40, 4,114,136,100,193, 83, 23,184,108, 90,122,225,233,221,158, 58,231,185,250,241, 84,160,125, 31, 27, 96,219, 71,243,169,174,
+101, 86, 25,110,107,195,129, 81,172,186,158,255,245,209,146,173, 15, 49,248, 75,135,157, 18, 43,164,117,102,219,197, 26,242,203,
+186,208,233, 68,106, 14, 33,222,207,167,103,255, 17,136,114,126, 63,123, 60, 65,134,102,124,144, 39, 28,123,100, 62,251, 68, 38,
+ 24,119,137,163,190,153,176,155,222, 93,122, 88, 62, 37,233, 73,147,186,148,223,236, 0, 61,245,111,178,103, 96,117, 34,236, 46,
+237, 83, 43,141,171, 85,194, 8,195,191, 72, 65,212, 26, 38, 11, 40, 13, 65, 8,130,242,104, 5,153, 22, 40, 41,168,123,199,170,
+235, 9,125,127,245, 59,100, 97, 80, 82, 16,132,167,183,158, 85, 55,208,212,195, 46,199,119,132,164, 67, 10,250, 80, 2, 53,159,
+243,198,241, 77,174, 29,220, 34, 4,193,166,105,120,231,238, 71, 52,167,167,176,185,248,188, 25,207,215,153,150, 85, 6, 7,211,
+ 36,225, 16, 92,218,134,123, 23, 43, 62, 56, 61,133,135, 15, 95, 60,206, 48,207,224,141,215,162, 45,233,122,245,203,219, 43, 14,
+233,196,140, 97, 61, 33, 57, 17,102, 69,146,156,249, 61,237,149,227,191,251, 47,254,132,119, 62,124,111,215,216,180,177,112, 49,
+120, 92,159, 44, 7, 91, 27,121, 31, 46, 21,227,100,156,147,229,121,204, 71, 54,130, 76, 41,156, 78, 89,230, 54, 21, 89, 53,218,
+ 13,167, 61,146, 73,196, 51,157,254,159, 76,127,249, 62, 77,126,205,107,247, 89,181,193,248, 61,231,184,182,168,104, 5, 76, 76,
+140,163, 60,206, 13, 75,107,227, 78,176,107,227,245,124,235, 40, 26,240, 76,139,120, 12, 46,151, 79,253,140,248, 51,163,139,220,
+144,171,157, 2,101,185,218,189,143,162,136,205, 94, 8, 87,228, 30, 49, 41,193,170, 8, 57,146,248, 47, 89,148,120,253,201,173,
+107,252,243, 59,175,160, 75,193, 71,103, 27, 68,103,175,210,206,100, 83,115,237,248,144,239, 46, 14,120,189,152,115, 88, 76, 16,
+ 1, 78,218, 53,223,234, 59,140,247,104, 85,161,164,192,100,101,162,127, 72,134,161,227,177,119, 60,112,150, 54, 43, 88, 9, 65,
+ 71, 70,149,229,188, 49,159,114,172, 50, 94, 46, 42, 50, 4, 51,101,216,120, 73, 39, 36, 65,105, 50,105,144,218,224,133, 36, 4,
+ 77,111,123,108,144,108,182, 91,234,118,205,102,125,194,186, 85,124,171,172, 88, 40,133,107, 45,125,235, 56,185,220,242,233,229,
+138, 96, 7,242, 54, 34, 61, 70, 25,178, 50, 39, 43, 10,202,105,197, 60,203,120,249,232,136, 59,135,135,188, 94, 30, 50, 65, 71,
+ 23, 99,233, 34,179,190,208,228, 89,129, 20, 26, 39,100, 84,177,116, 45, 98,187, 65, 14, 30,153, 11,228,228,128,127,245,157,215,
+248,193,237,235,220,185,126, 19, 47,167,124, 24,122,132, 19,132,126,136, 59,250, 23,213, 65,103, 89, 66,151, 92, 50,108,250,146,
+ 41,113,232,193, 91, 68,231,120,119, 59,240, 23,235,154,135,190,229,255,220,212,252,101,215,115,174, 2,165, 52,132,224, 24,146,
+162,211, 73, 21, 27,170, 16, 16, 90, 33,148, 65,228, 19,254,233,173, 91,252,218,209, 33,191,115,243, 21,230,243,235, 40,147, 99,
+116,142, 50, 69,140,100,208,154,219,243,155,220, 94,220,102,158, 31,227, 80,180,174,229,211, 7, 15, 80, 74, 82,149, 21, 85, 57,
+193,249,129,213,114,137, 36, 80,119, 61,127,218, 90,126,171,170,240,125,203,177,214, 84, 18, 26,231, 88, 3,199,222,225,181,193,
+121,207,204,246,148, 82,208, 58,199,165,181,252,187,117,203,161, 18, 60,236, 98, 99, 31, 7,198,231, 12, 25, 87,249,230,123,126,
+ 18,227, 80, 48, 88,238,157,108,248,201,233, 37,255,215,163, 53,127,181,220,178, 29,149, 38, 34,165, 20,250,116,188,125, 72,146,
+216, 33, 30, 91, 59,252,146,156, 53,249, 52, 68,230,253,127, 68, 73,155,209, 41,236, 35,153,111, 8,157, 38,120,187,131, 18, 67,
+122,248,150, 89, 44,224,154, 8, 99,106,177,131,227,123,187,219,245,137, 4,225,167,137, 22,145,164, 61,223, 4,138,151, 9,146,
+181,169, 80,219, 61, 98,220,216, 44, 8,246, 72,116,126,247,189,225, 5, 79,140,153,192,225, 44,217, 9, 10,178, 66, 82, 40, 21,
+221, 61,149, 98, 61,244, 49,123,119,220,215,148, 81,183, 62,146,209,155,193, 97,183, 93,156,156,218, 1,100, 96,126,227, 58, 85,
+ 85, 81, 78, 42,154,166, 7,161,248,157,239,255, 42, 55,103, 55, 16, 66,112,182, 60,225,238,233,103,124,116,242, 24,206,207, 99,
+ 68,226, 47,213,164,165, 5,104, 22,253,214,235,147, 11,186,135, 39,112,126, 18,139,196,139,126, 76,167,188,253,107,111,115,243,
+250, 81, 36,220,125,217,195,229, 69, 63,198,224, 31,159,252,181, 81,177,171, 86, 50,133,148, 36,156,215, 57,222,249,249,207,226,
+223,155, 4,129,181,195, 78,142,230,210, 57, 21,255, 15,117,111,250, 35, 89,118,158,249,253,206,118,151,184,177,229, 86,107,119,
+ 87, 55,155,139, 72,137,212, 72, 20,103,145, 53,163, 17,168, 17, 96, 12,198, 30,251,139, 96,192,128,255, 62,195,254,102,192, 48,
+ 96,120,145,101, 91, 50, 70,163,161, 68,114,212,100, 55,123,173, 45,179,114,137,140,237,110,103,241,135,115,110, 70, 84,117,117,
+119,117,147, 90, 38,129, 98,118, 49,179,170, 34,111,220,123,222,247,125,222,103, 73, 57,239,131, 97,142,143, 7,162,243,129,188,
+ 84, 81,169, 64, 64, 34, 8,131, 12,205, 36, 41,142, 86, 59,181,135,227,198, 75, 61,222, 75,238,203, 35, 20,159,215,169,251,189,
+142,253, 57,239, 6,137,205, 12,227, 60,167,150, 2,147, 25,106,239,169,189,135, 85, 19, 73,115, 58,135,215,111,241,159,223,123,
+141,111,207,167,188,126, 80,241,193,147,179,151, 55, 29, 54, 68,231,185,144,200,135,117, 31, 61, 2, 32, 22,116, 17, 67, 87, 34,
+ 7, 69, 71, 54,126,150, 18,208,244,224,243, 31,184, 51, 27,241,135, 7, 71,220, 45, 39, 4, 2,127,190, 88, 35,156, 69,244,254,
+166,176, 47,125,206,239,220, 57,228,173,234,144,214, 91, 50,101,248,184,219, 50,221, 44, 56,148, 6, 83, 29, 32,178, 28,101, 74,
+ 68,240,209, 78,217,119, 92,246, 13,103, 66,178, 82,138,214, 11,178,172, 98, 58, 82,188,150, 23,168,228, 10,168,165, 36,151, 26,
+167, 97,235,193, 9,133, 87, 10, 45, 53, 90,105,106, 1, 94, 42,154, 54,186,168, 29,231,158,220,183,252,245,123,239, 32,123,201,
+108,213, 83, 53,158,118,189,101,211,119, 60,219,110,120,180,188, 98,185, 92, 68, 67, 28,101, 80, 66, 33,130, 64, 26, 69, 86,104,
+178,105, 78, 81, 21, 84, 85,197,109, 89,225, 59,203,162,107,176, 58, 68,208,111,100,120,179,200,120, 59, 51,188, 33, 21, 89, 80,
+ 92,213, 22,113,189, 68,108, 27,196, 72,240,181,233,156, 7, 7, 51, 46,130,224, 73,175,120, 71,149, 80, 8, 68,166, 96,211,165,
+ 52,196, 47, 48,125,113,142,144,212, 49,248,254, 51,155, 75,241,194,159, 1, 31,221, 2,107,203, 71,181,229, 73,211,112, 46, 4,
+143, 58,203, 60, 83, 49,167, 34, 68,148,112,221, 89, 90, 60, 43,169, 17, 34, 48,201, 70,252,119, 39,199,252,225,241, 45, 30, 84,
+ 51,190, 61, 63, 98,146,151,244,121,201, 38, 56,182,157,197, 57,139, 20,154, 50, 43,169,202, 41,121,150,145,203, 2,219, 11,206,
+182, 23,156, 93,175, 8,120,156,235,232,108,203,163,171, 83,158, 58,207, 47,218,142, 63, 30,197,179,123,105,123, 22, 82, 82, 32,
+ 24, 73, 65,219,174,209,102,196, 7,125,199, 93, 41, 49, 82,145,185,142, 71,157,101,217, 91, 78, 52, 92, 89,203,114,157,114, 71,
+218,176, 67,200, 62, 85, 31,110,224, 91,158, 39, 24,201,157,217, 88,219, 69,201,230,114,117,131,162,208, 37,107,217, 54, 73, 95,
+187, 62,170, 71,134, 44,138, 95,202,168, 70,126, 90, 66, 32,229,223, 97, 81,247,123,108, 93, 37,227,126,130,116,232,117,123,174,
+ 62, 34, 77, 2, 34,121,180, 43, 34,163, 87, 16,139,134, 25,166,113,187,139, 51, 20,122, 87,100,135, 98,255,121, 83,187,214,145,
+217,219,239,193,160, 74, 39,195,155,129,204, 32,119, 6, 52,214,239, 14,207,225,226,245, 9,176, 10,175, 56,229,230, 25,156, 28,
+ 66,158, 49, 62,152, 80,100,209,226,181, 42, 36, 2,201,178,177,108, 59, 75,104,218,248, 58, 74,131, 84, 34,134,215,117, 30,215,
+116,241,107,219,148,205,155, 73,238,223, 61,230, 7, 95,255, 22,223,121,253,215, 56, 25, 31,240,201,234, 18,114,195,247,223,248,
+117, 38,147, 25, 62, 4,254,242,253,159,240,179,139,211, 24,207,185,185,248,252, 9,241, 85, 63,156,139,135,249,106, 27,243,203,
+219,250,203,255,189,109,203,217,249,130,179, 15, 63,220,237,102, 7,200,118,248,245,101,110,120,157,228, 48, 74,198, 9, 89,155,
+221,125,228, 19, 39,162, 31, 82,225,162,196, 45,178,197,251,136, 16,101, 41, 12, 64, 37,219,215, 60, 41, 30,100, 22,223,240,116,
+ 64, 75, 5,165, 81,104, 17, 15, 9,233, 61, 58,151,209, 38, 26,199, 55,239, 30,113, 84,141,152,150, 5,139,171,117, 82, 88,232,
+ 72,152, 51,121, 68, 84,148,142,247,244,171,170, 37, 62,239,135, 30,174,213, 96,154,180, 95,216,189,199, 33,233,139, 2,242,140,
+145,148,156,117,201, 53, 41, 56, 88,110,160,204,248,157, 7,175,113, 50, 63,192, 5,131, 50, 57,239,182, 93,124, 79,110,226, 30,
+253,110,106, 11, 50, 94,155,225, 89, 27,140,117,124, 34,120,109,154,100,222,148,197,180, 58,147,131,119,136, 33,186,182,183,172,
+149,228, 86,161,200, 8,252, 79,231,151,156, 91,159,248, 42,137, 45,237, 61, 66,103,124,235,176,226,160,172, 88, 7,104, 9, 92,
+ 57,203,127,191,216,240, 70,179,226,100,122,128, 30, 31, 35,139, 34,174,158,172,199,167,230,202,183, 53, 31,116,158, 54,203, 49,
+ 90,241,141,106,138,240,129,220,104,132,210, 88, 23, 48, 66,210, 17,184, 10, 6, 39, 21,178, 28,225,149,194,235,156,177, 16,100,
+ 38, 39,235, 58,126, 99, 90,240, 71,119,238,114, 32, 51, 58,123,205,255,245, 31,126,196, 7,155, 71,228,219,154,159,126,244, 14,
+ 31, 62,253,128,179,235,103,116,155, 11, 22,155, 5, 15, 55, 11,100,221, 97,156, 38, 56,143,176, 30, 89,104,204, 40, 67, 25,137,
+206,115,148, 84,204,124,193,233,118,197,185,107, 57, 35, 48,207, 51,178, 76,241, 96, 58,226,126, 53,226,190,209,124, 43,207, 17,
+185,100,237,122,220,249,134,211,126, 69,219,195,147,181,227,223,183,158,165, 8,145, 22, 51,157, 68, 45,183,202,193, 54, 81, 7,
+207,231,152,189,120,183,123,223, 94,216,197,139,207, 42,236,131, 9, 23, 62,173,161,122, 66, 99,161,235,121,132,100,166, 32, 51,
+ 57,155,174,197, 57, 71,211,119,180,193,225,133,230,247, 38, 5,223, 59, 56, 97,150, 77, 56,172, 42, 84,158,161, 76,198,227,198,
+114,177,181, 44, 90,203,233,118,133,235, 91,116,102,208, 50,163,154,140,241,190, 71,208,211,217,154, 95, 60, 60,229,236,236, 25,
+ 31, 61, 61,229,131,197, 5,151,171, 53,171,229, 18,164,224,245,170,160,238,123,198, 74, 49, 15,129,109,223,114,142,224,237,108,
+196,101,191,229, 45,101, 88,249, 14,233, 28,109, 8,156, 59,199,129,243, 60,241,150, 15,150,253,142,235, 37,211,202,243,101,220,
+ 34,207,206,171,100,127, 98,255,204, 68,183,221,253, 78,219, 69,184,125,155, 36,157,182,219, 17,223,126,169, 41,253,133, 55, 42,
+229,151,252,221,154,207,228,217,142,173, 43,197,110,103,103,210,158,177,200,192, 53,113,202,178, 54, 30,132, 50,193,121,106,216,
+ 75, 36,150,175, 74,127, 70,101,187, 67, 71,238,177, 10, 5,159,157,252,117,251, 24,249,205,251,132,203,237,110,170,200,210, 82,
+ 91,234, 61, 50,130,223,251,123,194,243, 58,105,239,119, 94,245, 95,244,230,140,138,184, 71, 31,149,140,166, 57,183,198, 99, 10,
+163, 56, 26, 85,180,214, 82, 91,199,214,118,216,117, 29,247, 44, 41, 61, 44,248,128,107,211,110,211,246,137,161, 9,148,134,124,
+ 62,226, 31,189,118,143,215,239,189,133,145,146, 50,203,145,162, 67, 88,203,237,249, 45, 76,150,113,189, 93,242,108,241,140,203,
+139, 11,184,184,188, 49,254,248,149, 52,104,131, 68,234,151,185, 49,235,122,183, 95, 54,217, 78,226,168, 72, 83,246,151,137,109,
+ 76,255, 35,242,157, 68,207,249, 8, 43,223,164,240,165,215, 91,148, 17,110,119,110, 71,208,188, 33,178,164,245, 80,144,100,153,
+ 33,215, 2,231, 2,153,145, 76, 75,131,150,144, 41, 25,169, 28, 46,114, 48,148, 84,104,163, 56,153,142, 24,229, 89,218,218, 4,
+174,101,148, 32,222,232,141, 85,178,132,117, 3, 89,174,255,229,154, 44,253, 66, 28,227,205,126, 95,238, 8,133, 2, 92,150,211,
+ 21,134,149,216, 35, 68,182, 29,172, 59,232,106, 54,243, 41, 15,230, 7,244, 66,243,176,119,156, 94, 95,198,162,126,147, 54,184,
+135,124,245, 54, 50,179,197, 96, 24,149, 44,102,125,186, 71,125,159,136,148,101,210,181,167,233, 71,233, 88,216,131,135,198,243,
+ 55,215, 43,254,116,181,225,188,141,230, 83, 34,211,145, 4, 38, 13,194, 11,132,107,232, 71, 5,179, 92,227,133,230,202,117, 60,
+ 10,150,139,160,248, 81,179,229,119, 21,148,147, 99,100,102, 16, 38,139, 33,122, 33,160,144, 76, 37, 84,219, 21, 63,110,122,114,
+163, 56,214,138,121, 89,161,144,212, 93,135,134,104,182,162, 12,143, 28, 8, 83, 80,100, 5, 90,103, 84, 74, 50, 46,114, 68,239,
+184,115, 56,229,247, 78, 38, 28,228, 25,101,166,249, 96,113,205,105,219,115,118,126,205, 95,124,244, 33, 63,189,124,198,207,207,
+ 46,249,248,234,138,179,229,138,203,118,203,217,234,138,109,232,184,232, 91, 46,154,104,246, 82,216, 64, 38, 21,102, 84,196, 61,
+179, 3,183,233,232,154,150, 95,176,101, 33, 12, 22,201, 73,149, 83, 32,153, 20, 5,135,227, 18, 93, 26, 78,170,146,215, 76,206,
+215, 53,136,179, 75,254,253,147, 15,249,171,237,138,235,205, 21, 2, 11,121, 92, 77, 48,169, 96, 62, 65,204,198,160, 50, 68,219,
+ 70, 15,246,207,146,142,125, 17,199,249, 37,223, 27,246,206,189,208,118,177, 72,217, 30, 54, 61, 79,172,103,172, 37,109,239,233,
+131,163,238,123, 86,125,207, 33,142, 63, 56, 60,230,181,241,148,204,148,140,198, 37, 58,203,112, 82, 32,180,228,195, 77,207,143,
+218, 53, 87,118,203,117,191,229,114,187, 38, 19,208,118, 91,156,237,104,251,142, 39,139, 39, 92,219, 14,154, 14, 33,210,106,162,
+239, 99,242,157,209,124,212, 90,164, 12,220,149,130,165,235,201,181,225,208,182, 44,133, 98, 34, 21,215, 62,122,250,139,224,185,
+114,142, 59,222,243, 39,215, 45, 7, 26,122, 47,169,109,226,100,249,180, 86,250,172,116,185, 97, 72,183,126,247,249,239,235, 99,
+ 88, 27, 14, 2,162,193,217,206,249,191,227,162, 62, 24,104,244,253,206,175,122,112,146, 51, 58,118, 51,131, 77,222,126,183, 36,
+136, 95,211, 42, 65,248, 41,188,162,200,246, 44, 51,253,243, 82, 1, 62,163,168,251,152,228, 21,156,140,118,140,222,199,191,167,
+ 31, 86,254,233,224, 17,201,128,134, 61, 4, 96,136,105,117,169,200,191,202, 46,218, 20,145, 64, 85,149,200,137,225, 86, 85, 81,
+ 24,195, 56,203,144, 82,243,172,107, 88,118, 45,182,238, 99,195,162,146, 65, 65, 19,237, 94,177,125,212, 9, 7, 17,247,186,121,
+ 70, 62, 29,241,181,163,138,113, 14, 19, 51,195,152,156,109,215,240,244,226, 49,189,107, 88,219,154,166,107,120,178, 56,229,221,
+199,143,225,226, 26, 86,215,188,154, 43,207,223,195,135,201,226,197, 31, 92,252,130,216, 67, 79,120,181,215, 61,220, 55,194,239,
+252,152,179, 61, 61,119,232,119,169, 78,141,221,165,244, 14,193, 65, 38,221, 75, 74,147,103,134,224, 97,148, 9,148, 86,204, 74,
+ 69, 33, 5,133, 18,228, 82, 96,132, 68,163, 32,147,204,180, 74, 64,128, 96,219, 59,102,163, 2, 45, 53, 14,207,249,182,222,147,
+ 72, 14,205,159, 76,209,173,110, 87,244,190, 74, 97,191, 33,200, 13,230, 20, 47, 64,131, 3, 67,222, 19,195, 93, 70, 21,179, 92,
+115,146, 25,142,140,100,172, 36,203,166,131,166,161, 21,138,119,140,230, 61,107, 57,181,233,217,124,124,158,164,129,233,240, 24,
+ 60,235,125,202,146,158,150,252,240,100,204,239,223,154,114,160, 37, 31,158, 47,146, 45,175,142,200,196,180, 74,242,181,180,186,
+112,209,180, 67,164,160, 24,172, 71, 92, 47,111,210, 15,133,137, 49,203, 98, 92, 32,166, 99,126,231,193, 9,183, 71, 25,139,174,
+231,137,116, 44,165,226, 39,189, 64, 74,141,210,134,255,251,163,143,249, 23,147, 17,249,193, 45,164,142, 18, 42, 57,174, 40,231,
+ 39,204,103,119, 56,174,123,178,245, 21, 63,115,150,131,204, 48, 86, 10,107, 91, 14,242, 2,107,123,122, 2, 63,175, 29, 62,139,
+241,197,149,210, 76,181,230,246,184,160, 80,146,249,108,132,237, 61,211, 92,226, 67,224, 97,221,242,151, 23, 43, 30,175,175, 9,
+ 77,135, 23, 14, 47, 20, 30, 23, 21, 41,189, 99,213, 56, 86,235,150, 79,186,154, 62,212,124,236,106, 46,186,134,106,219, 50,237,
+ 37, 70,154,184, 98, 93,118,116,117, 67,107,107, 62,234,106,158,224,185, 16,146, 34, 8,166,153, 70, 74,137,202,115, 84,102,248,
+218,236,128,223, 60,152,241,253,105,206,183, 11,205,237,109,224,240,226, 2,125,254,140,139,118,133, 16, 81, 94, 41, 66,218, 93,
+171, 12,113,114,136,152,143,227,127,183,105,165,241, 18, 25,220, 23, 21,249, 87,106, 2, 6, 19,166, 85,195,169,243,180, 93, 79,
+ 16,129,117, 31,232,149, 64, 11,201,137, 54,124,109,122,200,253,249,156, 70, 40,116,174,104, 5,252,108,181,225,199,219,134,143,
+124, 75,103,107,106,215,177,236, 90, 62, 90, 94,162,108, 71,223, 53, 92,110, 22,156,119, 75,182, 77,207, 15, 15, 11,254,245,173,
+ 25,111,143, 11,190, 89,230,252,141, 16, 8,169,112, 82,178,232, 35,154,154, 57,203,182,239, 88, 56, 88,244, 45,207,108,207,200,
+246,156,123,207, 68, 4, 14, 2,252,162,105,185, 43, 61,255,174,129,237,118,203,161,128,186,237, 56,174, 12,219,198,239,101,125,
+188,112,142,251,189, 28,145, 47,115,148,234, 87,248,126,163,227, 89, 52,248, 94,188,146, 65, 77,122,222,111, 38,245, 0,216,175,
+ 80,212,245, 47, 89, 27, 76,138,191,188,129, 29,251, 29, 12,127,227, 54, 23, 82,241,214, 59,118,122,110,146, 78,120,200,149, 78,
+ 50,180,129,128,244, 98, 17,255, 60,121,150,115,209, 65,104,112,230, 18,121,148,170,237,155,202,144,246,134, 93,251, 60,153,236,
+203, 16,203, 70, 5, 84, 21, 84, 57, 24,137,201, 53, 85,158, 51, 54, 25, 66, 11,214,117,203, 85,211, 97,155, 54,178, 41,195,208,
+121,185, 8, 1,119,137,205,158,155, 36,195,202, 65, 73,116,166,152,100,134, 60,211, 52,205,150,197,114,193, 71,103, 79,176,174,
+ 67, 8,184, 88,109,248,217,147, 71,156, 63, 57,133,203, 37,244,219, 29,145,236, 31, 82, 33, 47,146, 13,170,200, 98,177,205, 20,
+200, 50,193,182, 73,219,248,101, 94,247,224,131,174,138,228, 95,160,118, 17,141,131,156,100, 40,242, 38, 21,212, 97, 15, 63, 50,
+241,251,149, 64, 43,193,212, 8, 42,149, 33, 9,204,198, 25, 66,122, 74, 21,139, 91,145,201,184, 30, 39,185,134, 9,129, 73,178,
+178, 69,219,210, 58,203,229,166,193, 5,145,146,221, 82,113,221,151,181, 25, 21,119,218,125, 98,206,251, 47,121, 74, 12, 67,250,
+ 16, 8,179, 31, 60, 47,146, 63, 4, 18, 38, 5,234, 96,134,204,115,238, 20,154, 91,198, 80, 74, 73, 22, 60,183,115,193,217,114,
+ 19, 97,248,241, 56,105,252,137,197, 60,132,104, 75,122,243,204,236,189, 70, 17,120,112,116,192, 15,142,167,204,202, 9,179, 66,
+243, 23,103, 87, 73,254,169, 96, 52,142,133,125,248,126,151,184, 24, 38,143,217,226,164,233,189,109,210,212, 21, 37, 62, 98,154,
+ 67, 85,240, 71,119,142,248, 23,119,238,113,187, 40,120, 88,111,249,179,101,207, 83,149, 35, 70,211,104,189,106, 50,164,239,248,
+ 53, 60,135, 71,183, 35,187,186,202, 81,111,156,160,102, 19,244,108, 74,222, 86, 28,109, 55,124,188,120,204, 89,176,204,148, 2,
+161,216,134, 8, 13, 95,245, 13, 31,136,140, 99,147,113,104,114,110, 27,197,173,169, 97,172, 21,147,145, 36,235, 99,227,116,186,
+234,184,240,150,159,159,173,184,176, 61,171,224,113,117,139, 95,172,241, 70,224, 90,139,115, 30,111, 50,156,119, 56, 99,160,233,
+121,124,118, 69,239, 44, 43,191,229,188, 89,112,220, 88,166,174, 32,116, 61,206,123,174,175,174,249, 15,235, 83,126,102,151,188,
+211,247,108, 69,160, 35,250,140, 87,153,162, 9,146, 81,158,241, 86, 53,231,107,211, 3,166, 38,103, 20,122,198,202, 35,145, 28,
+ 1,191,209,116, 60,126,244, 9,117,223, 32, 66,159, 72,105, 50,106,193,205, 8, 49,159, 34,111, 31, 32,110,159, 32,242, 2,177,
+181, 81, 93,241,183, 49, 53,186, 14,177,217,208,110, 91, 86, 1,186,190,231,245,195, 3,102,229,132, 34,203,152, 8,137, 81, 5,
+211, 44, 99, 35, 5, 15, 59,199, 47, 22, 91,254,207,237, 50, 78,200, 46,113,165, 68, 68, 1, 47,186, 45,143,234,107, 22,237,150,
+117,211,243, 95, 77,114,254,205,241, 9, 83,173,249,222,108,134, 54,130,183, 10,205,143, 18,114,107,149,228, 72, 8, 86, 62,240,
+115, 39,200, 51,248,155, 62,240,166,129,255,181,238,248,154,150, 60,222, 52,212, 34,208, 4,207,143,106,201,131,208,114, 97,161,
+181, 29, 65, 72,182,109, 66,129, 91,183, 83, 63, 13, 31,135, 71, 95, 29,233, 52,137, 99,163, 85, 60,203, 67,170,131, 82,237,210,
+ 42, 7, 39,166, 48,196, 72,191, 66, 97,247,251,187,126,110, 24,246, 95,190,168,255,178,117, 65,136,120, 99,221, 68,170,166, 44,
+219,174,223, 65,134,131, 25,205, 0,209,107, 21, 29,187,240, 48,158,196, 31, 90,165, 20, 53, 45, 94, 14,151,124, 17, 27,125,112,
+230,146, 69,220,175,155, 12,138, 73, 98, 60,219,228,231,237,191,154,169,205,208,217,141, 39, 41,119, 59, 67,149, 57, 85,110,152,
+103, 10, 39, 5,181,237,184,236, 61,155, 62,237,208,131, 72, 38, 61, 97, 47, 32, 36, 57, 16, 9,181, 75,169,147, 18,101, 36,117,
+ 90,161, 62,221,108,121,178, 88,211,134,142,141,119,180,189,227,162,174,227,106, 97,211, 0, 77,252,153,134, 80, 16,249, 15,164,
+160, 35,163, 5,169,201,147,189, 97, 30,155,171, 76, 39, 50, 86, 10,180, 20, 98, 87, 8, 63,107, 98, 29, 86, 32, 67, 81, 23, 9,
+105,177,195, 74, 38, 69,166,234,108, 71,200, 28,248, 17,163,226, 70,179,158, 87, 37,149, 80, 24, 33,152,101,134, 34, 23,140,141,
+ 70, 4, 73, 38, 21,222,123,170, 60, 26,217,152, 92, 33,131, 32,168,168, 92,240, 1,148, 81,100, 82,210, 7,232,156,199, 6, 65,
+112, 97,183, 30, 24, 26, 77, 23,146, 46,214,196,123,173,183, 95,146, 67,176,231, 13, 45,249,244,158, 79,229,241,192, 40, 21, 84,
+ 35, 66, 89,112, 52,173,184,103, 12,218, 24, 60, 1,237, 61,222,247,156,158,111, 19, 19,215,193,209, 60,217,146,230,113,237,181,
+237, 35, 95, 98,136,118, 29, 8,168,189,165, 25, 85,188,117, 52,161,247,158, 31,181, 29, 79,174,234,221,154, 72,164,103, 75,101,
+187, 21,131,210,201,140, 39,174, 70, 68,155, 52,191,195,164,215,244,241, 62, 40, 11,254,229,193, 1, 95, 31, 31,161,148,226,147,
+190,230, 35, 15, 98, 84, 33, 85,129, 52, 5, 82,231,104, 37,184,190,124,204,119,231,119,200,231, 7,136, 89,137,190, 51, 71,142,
+ 11,164, 86,132,141, 32,172,107, 22, 31,125,192,143, 62,126,138,159,103, 92,180,107, 78,219, 26, 73,224,189,117, 77,208,134, 7,
+197,152,183, 75,197,241,184, 34, 83,146,185,150,204, 51, 77, 37, 2, 66, 41, 58, 33,184,218, 88,150, 77, 67,221,173, 89, 35,176,
+ 56,124,223,227, 67,192,245, 29,190,119,120,215,227, 16,184,186,165, 55, 10,223,122, 54,182,101, 81, 59,234,122,205,249,226,140,
+187,190,227,250,252, 25,205,114,197,159, 62,121,135, 15,234,107, 62, 14, 61,143, 76,143, 76, 50, 0, 0, 32, 0, 73, 68, 65, 84,
+155,134,218, 90, 26, 4,235,222, 82,251,104,146,243,160,154,241,102, 62,138,118,210, 58,167, 40,199,180,161,167,243, 30,107, 61,
+ 51,169,249, 78, 94,240,181,166,229,241,197, 21,205,197, 85,108, 54,181, 70, 74,133,204, 52,223, 63,126,141, 63,254,250,183,248,
+ 71,247, 95,227,221, 82,209,173, 27, 68,223,125,234, 94,251, 34, 72,254,149,190, 94,100,241, 44,213,130,108, 50,225,222,120, 28,
+ 9,113, 65,176,240,158,167, 93,207, 19, 39,121,212, 58, 30,182, 13, 63, 95,111,216,180, 53, 77,183, 33,224, 9, 46,229, 37,144,
+ 16, 74,162,197,237, 55,164,226, 15,230, 21,153, 80,220, 46, 74,206,173,101,154,130,160,206,123,203,185,117,144, 41,206,146, 10,
+226, 66,106, 62,233, 44,111, 75,201,169,131, 55, 71,154,247, 26,207, 86, 41, 36,142,191,108, 60, 95, 83, 45, 63,179, 34, 26,130,
+230,121,170, 41, 68, 18,242,128,122,237,243, 93,190, 74, 65,215, 58, 13, 13, 41,113,116,144, 65,103, 50, 62,251, 62, 37, 88, 34,
+158, 71,218,204, 32,151,118,175, 86,143, 95, 24, 52,255,238, 3, 93,188,223, 73,194, 66,216, 77,234, 69,182,139,230, 28, 76,105,
+186,126, 7,139,226, 33, 43,200,191,251, 13,220,227,179, 68, 98,210,187,139,255,156,243,194, 75,226, 86,243,189,110,201,185,248,
+251,162,132,147, 91,112, 56,143,147,138, 52,137, 16, 84,199,107,220,181, 95,173,152,155, 34, 18, 87,164,128, 89,201,120, 82, 50,
+ 47,115,166, 69, 78,227, 29,181,181, 44, 26, 71,240, 30,231, 3,247, 38,115,142,171, 41, 85,145,177, 90,109, 19,180, 63, 24,155,
+168,184,227,237,125,188, 30,171, 45,110, 83,211, 93, 92,113,121, 85,179,172, 61,155,214,179,234, 45,155,174, 99,179,168, 9,139,
+ 77,116, 87,179,118,183,251, 25,200, 98, 90,126,154, 36,248,119,249,161,117, 44,224,183, 15, 98,225, 24,101, 73, 9,145,197,188,
+100,146, 85,176, 78, 69, 68,137, 88,171,246, 39,140,125, 66,221, 13,209, 81,238, 32, 26, 37, 35, 3, 94,201,231,227, 94,109, 31,
+239, 23,165, 35, 68, 63, 41, 35, 41,210,196,251, 34, 87, 80, 8,193, 72, 11, 10,169, 16, 72,164, 1, 35, 4, 82, 6, 74,173,105,
+123,135,201, 52,190,115,168, 36, 81,243, 82,160, 84, 76,224,242, 82,210,135,128,208, 18,239, 60, 78, 14,106,143,164,224,112,169,
+ 73, 29,148, 27, 54,145,249,190,140,114,128,189, 7, 89,238,187, 77,165, 48, 22,173, 82,228,105,234,250,143,102, 88,109,184, 85,
+ 86,108,108, 71,166, 50,218,174,197,245, 13,207,158, 94,237,200,130,243, 49, 76,102, 72,109, 56, 24, 31,224, 71, 18,247,228, 42,
+ 77, 79,207,203, 54, 93,231,248,169,210,252, 24,120,124,189,141, 77,196,166,143,239,211,176,179, 15, 41,123, 26, 25, 93,247, 6,
+189,110,235,161,173,119,240,174,247, 17,146,239, 44, 34,207,121,163,148,100, 66,240,193,230,154,127,119, 93,179,238,124,116,198,
+203, 43,100, 94, 48,214, 6,213, 91,214,222, 17, 78, 63,230,141,163,123,232,170, 66, 77, 11,132,212,208, 4,252,217,138,190,217,
+ 34, 89,179, 89, 44,120,239,195,143, 56,111,225,162,233,249,100,187,165,147, 25,111,143, 38,124,163,200, 56, 40, 10,102,153,225,
+ 65,153, 49, 85,146, 3,173, 8, 33, 48, 22, 30, 39, 52, 70, 40, 54,155,150, 92,105, 78,235, 45,214,117,120, 3,110,211, 19,121,
+247, 30,103, 61,126, 84, 68, 42,199,182,193,141,115,124,221, 99,183, 13, 75, 47,120,239,252,154,255,120,125,198, 95, 60,123,204,
+255,242,232, 93,254,183,203, 51,174, 22, 75,254,250,252,154, 46, 4, 92,112,244,125,139,196,177,114, 61,214, 11,110, 21, 5, 35,
+165, 56, 25, 79,145, 70,179,105,182, 92,120,199, 51,223,163, 20, 76,180,164, 84, 49,221,241,205,210,128,183,156, 61,185, 70,174,
+174,145,190, 71,230, 21,255,197,235,175,115, 56, 42, 25,141, 43,100,200,249, 96, 44,226,250,164,233, 62,117, 6,136, 47, 59,159,
+189, 4,133, 21, 89, 9, 65,114,124, 50,227,164,154,224,124,207,117,189,197,121,207, 82,104, 86, 93, 71,237, 61,109,211,145, 11,
+ 71,238, 59,166,206,146,117, 13,206, 57,122,219,198, 60,247,172,140,110,185,121,201,127, 61, 53,204,165,225, 56,207,232, 8,104,
+ 25,115, 50,158,245, 61,189,128,119,135,245,168, 84,172,165, 97,162, 5,121,150,243,137,139,170,162,159,119,158,219, 2, 30,201,
+168,205,191,165, 4,239, 53, 46,122, 59, 25, 21,125, 27,180,138, 3,147, 50,177,148, 88,251,197,210,211, 87, 65, 14,227,133,217,
+173, 6,229,128, 6,171,136, 14,187,132, 54, 27,177,243, 72, 81,233, 28,251,138, 36,218,191,191,148,182, 1,106,239, 83,164,164,
+139,123, 54,114,179,211,182,231,217, 46,208,165,143,135,131, 59, 77,134, 23, 82,239, 18,169,134, 3,231,166, 99,121, 9,228,175,
+211,244, 34, 83,145, 68,192,252, 0,198, 99,242, 60,131, 32, 41,171,130, 94,153, 40, 73,112,221,151,152,156, 82, 71,150,207, 98,
+193, 44,243,248,127, 87, 57, 89, 89,112, 56, 42, 40,140,198,135,192,178,181,180,206,211,133, 64,219, 57, 78, 70, 83,190,117,235,
+ 77,198,229,152,178, 24,241,116,121, 29,117,234,150,157, 67, 92,211, 69, 45,119,183,138,145,140, 77,157, 92,141,250,104, 84,177,
+220,192, 98, 5,139, 13,212,203,248,117,231,184, 73,244, 81, 58, 78,109,194,192,237,187, 80, 86, 80,142, 99,196,230,175, 66, 86,
+245,170, 31,163, 34,134, 52,140,203, 84,216,228,141, 47,178, 44, 13, 50,203,152,140, 39,160, 13,213,164,138, 6, 55,101,138,255,
+196,237, 30, 48,249, 5,112,131, 74,130, 89,225,192, 75,254,248,191,253,111,248,233, 95,255,100, 87,228, 85, 98,164,155,161, 57,
+136, 80,186,144,130,145,210,140,165,196, 2,213, 72, 35, 67,192, 40, 73, 46, 37,109,112, 20,128,179, 30,105, 20,193,122,186,212,
+ 76,104, 1,157, 23,216, 4,173,123, 27,112, 33,224,186, 62,113, 61,220,206,218,120,240,211,239,146, 20,198,219, 87,116,243,251,
+140,189,154,220,235,216,139,193,239, 94, 70, 43, 88,109, 96, 86,226,178, 28,111, 59, 70, 89, 22,109,228,251,158, 95, 60, 93,224,
+ 86,235,157, 29,229,108,194,241,209, 29,126, 48,154,241,102, 89,113, 71,103,124,216,111,163,167,255,139,230, 74,125, 7,171, 13,
+193,228, 73,127,158,216,239,109, 23,167, 29,155,242,159, 93,106,146,131,220, 73, 69,229,243,105, 94, 55, 76,237,182,133,205,154,
+159,173, 59, 30, 55,107,254,244,244,154,205, 98,139,204, 4, 50,207,145, 66,115,171,156,113,172, 51,126,247,238,156,223, 58,156,
+227,141,160, 91, 47, 57, 25, 31,147, 85, 5,210, 9, 88,182,184,103,107, 92,187, 65, 72, 40,180,229,231, 79,158, 33, 55,107,212,
+122,131,106, 98, 80,201,239,142, 21,247, 70,209, 36,102,174, 21, 69,145, 49,213, 26,129,224,200, 7, 42, 41, 57,145,129,179,214,
+ 33,133,100,107, 45, 65, 42,150,193, 18,250, 30, 95, 42,124,231,241, 62,224,165,192,119, 93,220, 52, 8, 25,101,207, 4, 92, 89,
+ 96, 23,107, 92,153,243,172,117, 60,106,214,156,250,140,237,234,154,179,174,198,173,174,113, 87, 43,220,178, 38, 56, 75,179,173,
+209, 66,240,168,107,120,175,109, 56, 24, 79,144,214, 83, 24,205,199,125,195,135,125,205,181,181,228, 4,250, 16, 24,105, 77,165,
+ 53,185,145, 28, 20, 57,127,185,234, 41,230, 37, 97,185, 66,110,214, 28,102,142, 91,163, 9, 79,219,150,255,125,181,162,245,125,
+ 60, 87,134,128,158,174,127,174, 89,251,114,133,125,224,163, 68,126,148, 72, 86,204, 98, 60,227,245,147,219,168, 76, 81,183,129,
+214,117,252,226,236,146,186,171, 25,101,134, 82, 43,170, 82, 96,132,103, 28, 60,198, 91,180,237,113,157, 37, 3, 70, 82,242,235,
+211, 59,124, 99,118,135,163,124,194,194,215,124, 87, 41, 14,146,143, 64,103,123,164,210,156, 89,203, 7,125,195,199, 54,173,218,
+146,107,100,155,146,213,144,154, 45,128, 52, 92, 74,193, 88,101, 72, 15, 39, 25, 28,101,146,105, 16,212, 33,208,137, 52,236,104,
+ 25, 99,138,139, 60,146, 65, 67, 26,170, 36, 95, 94, 38,173, 19,183, 68, 38,164,209,166,104,111,153,226,142,109,155,134, 72, 31,
+ 11,122,159,140,207, 20, 73,250,249,213, 77,105,254,254,138,186,247,169, 59, 74,236, 40,155, 32,187,166,221, 65,227, 42,105,121,
+187, 62,254,190, 27,152,234, 38, 14,248, 34,153,208,124,145,231,186,202,162, 43,157, 76,176,189,148, 49,174,179, 26, 51,158, 76,
+ 80, 66, 68, 98,187,144,244, 93, 36,210,209,109,119,100,190,207,205, 70, 47,160,156,192,228, 16, 38, 35,168,178, 24,242, 82, 40,
+212,164,100,154, 23,148,153,198, 0,173,243,108,172,101,211, 58,130, 7, 45, 36,111,222,186,205, 65,121, 64, 16,158, 76,148, 20,
+ 35,195,249,249, 51,168,109, 12,221, 88,175,162,165,103,179,217,101,146,223,236, 42,135,156,242, 46, 53, 69,221,243,185,229,153,
+132,241, 60,238,244, 71, 51,152, 78,201,167, 19,142,143,167,168,170,164, 93,182,159,110, 94,190,200,159,252,151,153,208,243, 60,
+198, 18, 86,201, 85,172,139,193, 21,163,162,226,193,244,136,131, 98, 68, 97, 50,238, 29,206, 41,116, 70,166,224,168,170,152, 29,
+207,184,214, 89,114, 32, 84,187,125,151,144, 59,171,219,155,128,151,189, 53,143,136, 69,239,205, 95,123,139,119,127,250,110, 44,
+ 76, 25,187,251,174, 40,192, 8, 84,145,131,243,100, 70, 83, 9,129,201, 36,163, 76, 98, 59, 79,153, 75,114,169,176,193,199, 6,
+218, 7, 58,231,110,248,152, 58,196, 52, 55,155,130,225,250,129, 6,160, 32,184, 64, 47, 6,131,138,189,247, 76, 16,165,137,131,
+223,130, 79,141,237, 87,153, 10, 60, 59, 25,219,240,222,137,236, 38, 90, 1,147, 39,121, 30,108, 36, 60,107,123, 78,157,231,252,
+122,141,187, 88, 66,187,217, 53, 4,243, 3,222,158, 79, 57,153, 28, 19,164, 32, 40,197, 51,187,166,123,250, 44,193,146,124,122,
+197, 37,116, 52,173, 25,220,227,116,242,194,247,105,213, 35, 18,169,212,165,226,225,236,115,235, 50,241, 34, 89,167,183,136,186,
+101,177,216, 32,234,109, 36,122,213, 29,178,208,136,106,202, 27,213,152,183,198, 83,190,121,123,206, 72,102, 8, 41,121,120,241,
+148,215, 68,193,116,126,136, 12, 2,225,136,102, 54,189, 5, 28, 69,158, 49,234, 26, 30, 45,151, 40, 28,186,239, 57,108, 91,126,
+111, 54,166,202, 75,230, 89,206,184, 26, 83, 6, 65,102, 84,140,155,144,146,204, 57, 60, 48,149, 1,145, 41, 58, 47,185,180,142,
+165,235,241, 93,139,215, 2,159,231,209, 87,100, 93,227,235, 26, 47, 13,222,123,188,137, 17,170,118, 91,227,133,192,106,133,173,
+ 59,156,151,216,102,131,203, 74, 44,209,130,216,105,133,183, 53,190,238,240,109, 67,179,218, 16,172,165,182, 29, 63,106, 59, 90,
+229,120,191, 89,241,212, 57, 62,105, 86, 52,109,139, 12,158,194,121, 2,129,128,100, 36, 53,179, 81,198,215,143,198, 28,205, 70,
+152,217,152, 67, 35,248,232,233, 37,255,199,135, 31,240,227,235, 11, 58, 2,116, 53,132,144,124, 21, 52,204,166, 80,141,119, 65,
+ 50, 47,201, 68,255, 92,201,137, 76,220, 23, 33,163, 11, 93, 62, 97,246,250, 61, 42,157,209,117, 22, 31,224,253,211, 75,220,217,
+ 37, 27,107,153,151, 57,153, 9,228, 65,160, 68,160,179, 13,153, 48, 4, 39, 48, 2,164,109,185, 87, 30,112,247,228,132, 91, 71,
+ 71, 84,227, 10,143,228,190,173,201,131,231,150,206,241, 34,176,177,158,143,186,134, 63,105, 58, 26,203,142,151, 53, 88, 54, 75,
+147,200, 28,233,107, 42, 99, 46,224,150, 81,108,133,100, 46, 37, 70, 57, 30, 59,143, 67,236, 56, 56, 58,249,149, 20, 89, 58,175,
+198,241,243,112,222,192,171, 69,122, 15, 89, 38, 74,239, 88,242,122, 40,232,253,206, 77,110, 56,182, 68,114, 86,181,110,119,142,
+253, 39, 87,212, 53,187, 60,117,233, 19,204,206,206,119, 93,138, 88,172,141,222,189, 89, 67,122, 91, 63,236, 72,147, 25,205, 23,
+253,240,153, 78,157,156,220, 29,248, 33,218,209,118,218,160,165,140,171, 87,136, 69,253,242,108,119,161,141,138,175,161,156,197,
+155, 63,159,196, 55,218,140, 34, 9,206,148, 49,140, 32, 31,204,111, 64, 86,154, 44,207,152,100, 25,179, 34, 71, 32,105,130,103,
+213,218,104,239,234, 2,153, 82, 76,243,146, 91,147, 3, 74, 93, 96, 84,116, 85,250,217,211,199,180, 23,151,208, 92, 67,179,141,
+230, 5,254, 43, 66, 64, 1, 56,152,243,221,111,189,193,111,127,243, 91, 60,184,119,151,163,241,156,197,122, 65,231, 61,221,182,
+ 1,215, 62, 63, 37, 14,159,141,254,236, 98,175,247,138,200,103,237,130,181,222, 53, 69, 38, 93,255,188,138, 83,170, 33,101,163,
+ 11,212,184,226,193,236,144,147,195, 35, 10, 97,200,139,140,145, 46,153,143, 43, 74,149,227,129,163,209,156,105, 89,114,149, 27,
+130,209, 96,101,124,221, 58, 49,201,213,222,231,129,212, 53, 32, 60, 78,239, 10,122,178,130,141,146,172,212,157,103,134,224, 3,
+ 89,110,200, 4, 28,154,248, 62, 26,169, 41,115, 77, 38,226, 4,160,124,156,174, 91, 27,144, 74,226, 3,132, 16, 15,132, 46, 4,
+180, 16,120, 47,216, 88, 31,141,130,172,195, 1, 97,184, 63,247, 47,145, 75,123,116, 33, 98,177,147, 42, 58,175,233, 60, 37, 21,
+166,107,215,191, 42,243,255, 5, 39,185, 60,189, 39,131,138,163,172,226,212, 62, 16,113,154, 46, 69,233, 94,220,184,228,197,247,
+ 44,163, 60, 60, 38,207, 53, 66, 42,158,244, 29,143,186, 6, 22,203,157,201,204,167,254,109, 27,159,221,241, 40, 30, 88,101, 14,
+163, 81,252, 25,235,102,215, 96,246,126,231,233,176,127,191,140,138, 88,124,115, 29,179,198,141,134,174, 67, 24,137,176, 18, 97,
+123,164,237, 17, 69,198,236,232,132,111, 87,115,238, 28, 78,184, 59,174,200,181,102, 99, 37,239, 94,110, 24,117,107,238,201, 25,
+249,180,138,242, 56,173, 17, 70, 35, 45, 4,223,161, 74,205, 97,145,115,213, 58,148, 30,241,186, 86, 28, 43,205,131, 81,206,116,
+116,128,113,129, 96, 52,153,137,232,140, 86,138,208, 90, 84, 8,100, 2,150,109,207, 88,195,242,242, 26, 45, 37,215,118, 75,176,
+129, 96, 12,161, 80,241,179, 86,132,229, 18,143,199, 11,112,157,197,139, 46,154,219,180, 53, 14,137,203, 13,206,111,177, 50,224,
+235, 30,103, 52,174,183,120,173,163,241,181,237, 9, 93, 11,155, 13, 97,209,224,183, 91,222,239, 90,222,111, 90,182, 77, 77,211,
+ 55, 92,217,158,171,174, 67,116,142,210,193, 72, 65, 31, 36, 69,145, 51, 27, 85,156,100, 5,255,180, 40,249,225,120,202, 31, 77,
+ 43,190,101, 36,127,246,209, 83,248,248,147,120,166,218, 46, 58,115, 42, 73, 80, 10,202,156, 80,230,145, 3, 84, 85,241,136,252,
+162, 65,201,177,139,243,101,224,189,196,226,222,143,199, 28,142, 70,212,190, 67, 11,197,229, 98, 65,184, 62,135, 62,112,182,221,
+114,221,213, 28, 87, 5, 66, 11, 90,103,209,197,148, 50,159, 80, 22, 99,186,190,166, 26,229,220, 57,188, 75, 86, 20, 84,121, 78,
+ 91, 55,124,240,236, 35, 10,231,184,182, 29,231,193,241,179,122,205,255,120,121,205,181,101,135,116,145,194,189,134,194, 41,101,
+180,218,245,150, 99,173, 25, 57, 79,174, 4,218, 57,158,246,158,177,210, 44, 8,116, 66, 38, 84, 56,173,174, 84,250,149,153,136,
+ 28,139,200, 77, 33, 75, 60,145,160, 62, 63,101,109,224,159, 8, 19,139,118,174,118,158, 39,221,158, 91,105, 72,197,223,250,248,
+189, 67,227, 43,253,243,222, 40,255,233, 76,234,123,135,145, 74,123,243, 65, 78, 35,213,142, 44,231, 67, 34, 0, 37,150,160,243,
+113, 15,111, 63,195, 23,251,165,203, 31,153, 46, 96, 58,216, 91,191,235, 46,149, 68, 72, 77,231, 2,157,245, 49,144,196,182, 32,
+ 29,144, 69,189,109,150,222,208, 81,154,122,134,130,231,146,207,183,147,113, 58, 23,160, 42,205, 97, 81, 50, 45, 53,243,124,132,
+ 18,146,166, 79,146,151,174, 37,184,192,184, 42, 57,172, 70,220, 26, 79,177,194,209,122,207,162, 93,178,236, 58, 30,126,242, 9,
+ 92, 60,221, 33, 22,191, 20, 33, 77,195,124,198, 15,222,254, 38,147,241, 17,213,104,130,181,142,171,237,130,203,245,150,176, 92,
+165,195,218,238, 92,201,148,222,153,250,200, 4,221,203,180, 23, 29,138,244,240,119, 15, 68,198,151, 21,253,161,192, 14,251,236,
+ 32,227,245, 55, 89,130,207, 5, 20, 57,111,204,143,184, 55,191,131, 49,154,178, 28, 49, 45, 43,138, 60, 71, 11,141,115,150, 82,
+ 27,148, 82, 20, 38,122,128, 95, 6,159, 10,187,136,235,131,225, 94,218,151,117,236,123, 33,200,100, 63, 60, 52,115, 25,137,161,
+157,165,159, 19, 40, 13, 42, 8, 70,185, 34,120,152, 24, 77,174, 20, 74,199, 61,151,240, 30,151,248, 15, 89,166,232,131,139,155,
+ 28,163,113, 93,135,144,146, 39,109,135,144,129, 32,163, 89, 72,112, 68,231,174, 65, 51,111, 7,162,156, 75,235,162, 16,211, 6,
+179, 50, 62,204, 69, 17,145,167, 44, 69, 52,218, 62,113, 41,190, 66, 67,215,219, 61,217,103,106, 56, 51, 19, 11,184, 72, 94,238,
+219,228, 40,183,255,247,219,142,107, 37,249,216, 40, 62, 64,240,172,107,227,186,103,187,141,190,210,242, 37,171, 45,151,126,198,
+ 44,135,249,148,127,125,247, 22, 63,124,237, 62,111, 31,148,252,244,244,122,183,183,149, 47,172, 97,134,213, 71, 48, 8,215, 37,
+244, 36, 53,102, 82, 34, 66, 76,179, 18, 89,156,198,133, 0,155,231,252,227, 55, 30,240,181,201,132, 89,145,163,117,206,170,246,
+ 60, 91,111,121,218, 94,240,166,131,113, 49, 69,149, 25, 98,108, 34, 19, 92, 41,168, 91, 68,150, 83,150, 37, 7,193,147, 59, 71,
+231,224,181, 34,227, 78, 53, 6,219, 98, 76, 65, 81,142,144, 66,164,158,223,199,219,135,104,223, 92, 73, 73,189,217,160, 50,193,
+220, 91, 62, 58,123, 18, 45,101,181,230,143,238,221,227, 15,223,120,157, 7, 99,201, 79,214,155,184, 81,169,107,188,118,248, 98,
+130,183, 46, 26,219, 40,133,171,175,241, 50,199,203, 16,247,240,133,137, 83,191,210, 81,205, 89,119, 17, 37,169,211,206,187, 94,
+195,179,115,186,171, 43,206,206, 47,121,124,213,114,209,116, 60,220,246,116,117,131,106, 45,165, 23,204,114, 67,150,107, 58,109,
+120, 93,231, 60,168,102, 28,155,156,153, 41, 57, 86,146,219, 35,205, 70,122,158,157, 93, 18, 46, 46,161,237,163,247,187, 82, 4,
+ 29,215, 96,255,242,254, 33,255,230,237,183,248,237,251,119,185, 30,107, 46, 46, 54,159, 57, 80,132,193,111, 33, 68,200, 88, 12,
+209,201, 10,130, 13, 48, 45,233, 59,207,147,237,134,240,232, 20,182, 27,130,107,160,110,169, 55, 53,239,182, 27,182,237, 6, 65,
+ 78, 89, 76,201,203,130,239,255,103,191, 77,119,213,177,109,215,140,139, 17,147,241,136,104,118,211,240, 63,191,255, 49, 15,151,
+ 11,254,135,139, 21, 23,174,231,255,185, 90,179,242, 18,234,150, 16,246, 76,194,144,241,252, 86,106, 71, 74,149, 26,227, 45, 40,
+ 69,238, 44, 37,224,165, 96,101, 29, 39, 90,243,108, 95,243, 61,144,181,135,198, 90, 36,165,204,192,201, 26,220, 34,209,207,171,
+ 89, 94, 60,119, 7, 95, 10,210, 26, 74,232,157, 91,169, 72,191,119, 93, 66,209, 84,140,103, 30,206,168, 97,178,247, 95, 77,109,
+246,247, 56,169,239, 77,123, 3,220, 48,132,179,236,231,108, 15, 18, 29,216, 57,207,245, 95,114, 15,236, 93,108, 28,220, 30, 34,
+ 19, 18, 57,194, 69, 6,107,232,109,148,127,117,219,216, 45,149, 85,156,192,139,180, 55, 82,123,241,172,106,111,151, 84,119,113,
+242, 12, 1,114,195,164, 42,152,151,134, 42,207, 80, 66,208, 58,199,182,243,172,251, 14, 31, 2,101,161, 57, 46, 42,110, 85, 51,
+124,144, 52,109, 75,227,122,222,127,250,140,167,167,167,112,250,209,115,145,150,191,212,135,115,160,114, 30,188,113,151,131,217,
+ 1, 66,106,126,126,250,144,247, 63,252,152,112,113,149,194, 59,250, 29,113,113, 56,121,179,100,113,234, 19, 19, 83,165,184,209,
+144,236,120,117, 90,139,104,181,139,111, 29,246,114,131, 93,175, 16, 59,146, 26, 41,176,167, 79,172,239, 16, 29,221,100, 49,225,
+215,110, 63, 96, 54,157,227,172,167,202, 71,113,208,212, 57, 65,192,168, 24, 97,125,195,192, 53,179, 4, 38, 82,131, 49,212, 62,
+ 68, 46,129,144,187,172,251,253,162,126, 19,231,187,231,188,164,108, 36, 9,169, 68,162,211, 38,189,214,104,115, 25,130,224, 32,
+ 55,104, 33,137, 52, 57,133, 49,209, 4,182,119,158, 66, 74,214,182,103,164, 84,220,250,180,129, 32, 20,215,193, 49, 82,134,174,
+119,180,206,227,156,223,109, 2, 68, 72, 80,187,143,197,251, 38, 13, 47,220, 20, 82,178, 50, 93,163, 33,162, 80,236,188,185,191,
+234,174,221, 37, 61,121, 85,221, 4,204, 40, 33, 8,214,198,181, 71,215, 70, 85, 68,232,118,135,134,115,209,110,116, 54, 74,168,
+ 88,106,236,154, 13, 44, 18,121,244,101, 54,204,109, 7,227,138,239,222, 58,225, 55,230,199,228, 58,195,122,207, 95, 53, 93,140,
+173,124,241,245, 15, 68, 58,169,226,243,110, 70, 8, 21, 27,177,184, 5, 19, 49,134, 83,104,132, 14,136,206, 34,189, 64, 22,134,
+127,118,235,117,222, 62, 58, 96,108, 50, 10, 29, 21, 8, 93,219,241,254,122, 67,103,151, 76, 54, 45,147,233, 28, 89, 40,196, 40,
+ 35,132,128,174,166,136,117,131,197,115, 48,157, 51, 55,134, 81, 7, 77,211,144,107,184, 61, 61, 68, 21, 35,100,211, 96,133, 38,
+ 83,154, 97,107,226,124,192, 53, 29, 78, 10,154,224,169, 28, 52,219,107,142,139,140, 79, 46, 47,169, 70, 35,254,249,157, 59,220,
+170,166, 28, 77, 14,120,239,250,156,235,197,150,224, 44, 65, 23,248,237,134,160, 52, 94, 42,124,179,197,103, 21,222,246,201,183,
+ 41,158, 9,222,148,132,174,142, 22, 25, 10, 66,211,237, 22, 73,114, 47,140,165,237, 8,219, 13,246,122,133,109, 26,158,181, 45,
+ 63,239, 45,211,206,113,175, 48,116, 82, 50, 54,154,187,197,152, 82, 42,164, 50,209,152, 74,105, 70, 82,225,133,231, 32, 83,124,
+ 40, 51,124, 93,195,197, 34, 54,158, 46, 66,207,191,127,231, 54, 35,149,161,180,230, 82, 6, 30, 9,133,144, 89,124,102,247,138,
+251,254,107,187, 81, 8, 13,235, 20,231, 0, 75,189,117,212, 93, 77,120,252, 20, 54, 87, 73,177, 33, 8,222, 18,218, 6, 46, 87,
+ 44,150, 91, 86, 70,115,255,240, 46,199, 71,183,217, 44, 90,180, 84,120,235,169,155,117,220, 32,217,152, 97,174,109,205, 95,127,
+252, 24,209,247,156,173,106,186, 62, 16,218, 62, 61,251, 50,166, 39,186, 16, 27, 86, 31, 24,133, 64,111,147,113,151,130,214, 11,
+238,139, 64, 19, 44, 2,129, 12,158, 18,193, 59,109,159, 12,162,194,243,110,150,195, 90, 88, 38,191, 11, 73, 60, 47,164,136, 8,
+177, 54,177, 81,150, 73,189,181,255,156,106,149,228,214,123,110,143, 67,178,164,222,243,144,207,179,157, 90,164,103, 55, 0,188,
+152,202,166,247,200,241,255, 32,139,250, 0,203, 74,177,183, 79,127,129,228,246,156, 30,156,231, 33, 59,225,190,154,172, 78,164,
+176, 15,225,119,178,157, 44,103,252,230,109,166, 7, 83,182, 62,193,132,235,117,124, 19,143,102, 59, 67, 0,111, 35,124,152, 98,
+ 77, 81, 42,254,121, 68,252,222,129, 41, 89, 26,230,121,134, 49, 2, 35, 21,181,179, 92,215,150,117,103,233,189,197, 40,197,113,
+ 49, 98, 82, 20, 24,169,113,210,209,116,142, 39,171, 21,205,229, 51, 56, 61,143,211,211, 87,105,142, 62, 11, 38,111,106,222, 15,
+ 61,231,215,151,252,228,147,143,121,248,240, 9, 60,252, 56, 89,187,238, 77,217, 67,243,148,169, 4,249,239, 41, 11,148,220,145,
+204,110,130,116, 84,114,250,147,207, 75, 10,135, 78,119,127, 74, 31, 60,215,117, 74,217,179, 22,188,228, 27,111,189, 77, 89,142,
+ 80, 82,146, 43, 3, 82, 81,230, 5,214, 89,140, 48,116,206,161,165, 64, 43, 67,221,182,232, 44,163,183,150, 46,120, 54,117,187,
+ 51, 37, 26, 86, 0, 54,253, 27,195,191, 61, 76,234, 50, 33, 5, 89,186,223,196,160,137,151, 55,118,177, 90, 43,166,185,142,211,
+184, 81,100, 82,161,148,196, 7, 71,231, 2, 90, 10,214,214,145, 35, 8, 50, 58, 81, 5,231,227,218,204, 67, 43, 60, 78,106, 90,
+107,227,228, 32, 18, 44,121, 3,191, 39,247,186, 64, 44,170, 67, 81, 23,106,119, 40,220, 60,197,233, 48,233,136, 81,192, 95, 37,
+168, 72,107,152,205, 34,113,174,202,121, 80, 26, 50,231,152, 27,133,241,150,186,243, 49, 97,234, 83,114, 80, 31,215, 76,213, 56,
+ 18, 3, 6, 23,188,245,122,167, 6,121, 89, 34, 97,219,113,124, 50,227,184, 28,209,120,203, 39,182,227,195,118, 11, 77,178,146,
+ 29,190, 63,207,246,158,253, 4,223,170, 16,153,239, 67, 19, 22,199, 64, 68,154,102, 4, 10, 25,122,132,202,249,238,201, 9,175,
+205,142,209, 90, 35,136,100,196, 69,211,179, 88,175,120,214,110,185,114,107,170,109,207,172, 24,163,114,131, 28, 21,209,253, 55,
+104,202, 44,167,154,157,112, 92,221,225, 86, 89,209,173, 90,132,232, 40, 6,151,192,124,132, 12, 14,231, 60, 82, 41,132,150,184,
+186, 67,230,134,237,182,102, 98,162, 87,198,170,105,144, 1,238, 26,129,240, 13,119,231,199,228, 74,241,201,118,195, 95,108,106,
+218,109,141,183, 30,143, 39,228, 26,143, 34,168,130, 80,150,248,182, 37, 8,139, 15, 22,175, 51,130,245, 4,231, 8, 89, 30, 11,
+ 94, 15, 65,198,245,224,128, 40, 7,249,124, 49, 13,251,124,154,109,199, 7, 82, 48,111, 29,227, 76,211, 40, 73, 41, 3,135,166,
+ 64, 41,141,115, 14, 47, 5, 87, 93, 77, 38, 3,199, 74,242, 70,161, 80,163,130,199,249, 40,250,144, 47, 86,132,171, 21,183, 15,
+114, 78,170,138,107,107,249,243,229,134,173,245, 80,106, 68, 89, 70,121,173,141,211,248, 23,202,219,122, 11,155, 85, 36, 88,246,
+237,142, 59,145,204,157, 82, 5,132,224,104,174, 27,142,239,223,230,100,114,136, 82, 2,239, 28, 46,120,234,166, 78,183, 94, 92,
+123,213,219, 13, 31, 94, 46,225,217, 41,108,108,156,198,151,219,232, 3,177, 90,198,198, 99,221,196,162,238, 28,253,186,137,175,
+119, 40,236,193,179, 22,112,143,136,194,104,223,243, 65,215, 19,164,192,217,100,238, 53,236,181, 85, 26, 4,212,192,249, 74, 40,
+177, 78,123,123,147,167,228,199,168,200,226, 38, 47,106, 47, 4,169, 40,210,153, 58,252,204,118, 23,237, 29, 82,198,200,144,161,
+ 32,134, 63,159, 92, 75,103,115,168,166, 41,248,108,136,246,254, 85, 77,234, 67,135, 32,245,243,126,220, 55,146, 34,255,233, 16,
+137, 87,129,132,111,166,242,192, 77, 75,252,101, 96,251,175, 74,204, 27,220,188,240,112,255, 46, 63,252,167,191,201,119,110,223,
+231,219,175,189,197,119, 94,187, 77, 89, 21, 60,126,114, 17,247,131, 89,158,114,223,101,210,235,166, 2,166,247,236, 49,141,130,
+108,248, 44,201,115,133, 81,130, 92, 43,106,235,184,220,246, 92, 55, 53,174,183,148, 70,243,214,193,109, 14,102, 99,198,229,148,
+213,102, 77,111, 61, 87, 77,195,114,177,132,197,229, 78, 19,252,101, 14,238, 1, 57, 24,160,203,193, 80,103,144, 12,102, 26,158,
+ 45, 89, 61, 62,165,125,248, 49, 44, 46,118,157,245, 0,237, 12,230, 7,131, 37,168,212, 41, 76,167, 77, 8, 71, 42,242,217,192,
+220,150, 9,170, 79, 82,187, 44, 77,236, 55, 55,104,130,191,135,226, 58,152,173,116, 41,251,219, 11, 56, 58, 68,140, 71,220,154,
+204, 25,153, 18,169,179,148,182, 5,101, 22, 11,187,117, 29,130,192,186,171,233,122,143, 82,130,171,245, 26, 43, 28,141, 16,132,
+186,143,232,205, 32,121,212,164,201, 92,197, 66, 49, 48, 74,135, 61,123, 80,187,166,108,152, 56, 35, 61, 26, 37, 34,169, 34,215,
+ 18,141, 32,207,210,129,232, 64,136, 16, 61,201, 69, 64, 11,104,125, 32, 75,142,178, 91,235,145, 66,210,244,158,218, 57,100, 8,
+ 56,145,178,201,221,222,174,219,197, 67,140,118,207,161, 80,202, 93, 65,215, 42, 30,128,114, 56,244,210,123, 34,220,103,219, 86,
+126,238,147,173, 99, 86,250,180, 98,102,226,253,106, 16, 88,231,169, 8,209, 73,174,169,119,204,119,191,247,156, 20, 37,183,103,
+138, 77,117, 20,137,160, 50,161, 55,167,151,105,122, 23,159,158,214,173,229,217,166,227,175,187,134,191,106, 90, 62, 92,111,227,
+125, 82,232,216,108, 13,205,170, 78, 12,121,147,154,153,161, 1, 20,121,116, 71,147, 30, 33,125,156,214,133,143,111, 81, 80, 8,
+223, 33,108,203,119, 94,123,157, 73, 86, 33,181,166,211,146,211,117, 67,227, 3,205,102, 75,237, 90,150,117, 79, 79,199,253,209,
+140,162, 42, 80,202, 32,148, 66,141, 74,204, 65, 69, 54, 25,147,221, 57, 32,147, 99,140,237, 57,191,184,100, 50, 18,228,213,140,
+208,213,160, 20, 65,104,130, 15,200, 48, 80, 32, 28,211,188,160,173, 91, 38, 42,163, 16,146, 18,195,216,100,200,174,102,181, 89,
+243, 81,223,240,231, 23,151,156,247,125,212, 92,111,226,228, 77, 31, 8, 74, 18,198, 25, 65, 11, 66,221, 18,104, 9, 34,202,165,
+130, 25,206,166,100,172,101,227,164,123, 83,193,213, 75, 10,250, 11, 92, 53,250,158,119,250,142,166,105,169,157,135, 76, 48,149,
+ 18,237, 29, 65, 72, 46,234, 53, 29,129,222,245, 76,188,231,174, 50,156,228,134, 55,170,156,139, 50,103, 57, 26, 17,156,227,189,
+247, 31,241,103,159, 60,230, 71,219,134,109,215, 71,147,160,148,151, 32,140,138,170, 21, 83, 70,233,154, 16,241,172, 25, 21, 47,
+ 93, 17,137,207, 67, 77,135,198,191,105, 1,203, 51,147,113,171,154, 96,148, 38,120, 79,223,181,172,155, 21,214,246,104, 2,189,
+107,177, 93,207,138,134,245,227, 69,148,235,182,109,138, 62,173,119, 25,231,109,157, 86, 22,117, 36, 26,135, 20,125, 58, 52, 64,
+ 10,180,115,172,251,158,214,193,194, 57,236, 62,170,230,247,236,198, 73,107, 58,157, 30,116, 4, 15,116,198,127,121, 56,227, 7,
+147, 17,255,100, 92,162,239,188,193,195, 31,255, 24,117,231,136,208,187,157,161,163, 24,146, 13, 7,211, 52,155,172,207,195, 78,
+ 30,170, 72, 43,225, 52,138,251,110, 71,214, 59,152,197, 26, 36, 21,108,234,184,254,252,149, 21,117,147,237, 92,111, 6,147,217,
+ 97,106, 27, 12, 96,134,169,226, 85, 14, 29,157,224, 69,157,118,133, 50,153,174, 72,241,183,195,184,126,177, 67, 81, 73, 11, 40,
+ 42, 94,251,214,219,252,250,253, 7, 76,230,183,144, 66, 49,157,206,113,109,207,187,182,141,157, 81,145,160,217, 54,165,146, 45,
+175,211,141,148, 96,123,162, 71,187, 52,130,201, 40, 39,207, 12, 19,163,146, 93,168,103,209,116,212,235,116,195,105,205,107,135,
+135,220, 62, 60, 97,156, 87, 40,161,241, 74,242,241,213, 37,139,171,107,184, 88,196,124,234,208,127,185,166, 69, 13,201, 95,233,
+ 49,146, 2,116,153,138,219, 16, 24,146, 76,109,156,125,121, 72,129, 38,162, 13,222,239,116,225, 67, 96,141,145,169,177,209,187,
+110, 84,134,248,158, 13, 29,169, 18,177,208, 15,108,115,173, 18, 33,100,128, 87,253,206, 80,136,244,125,101, 52,230, 57,152,206,
+152, 85, 35, 66, 8, 20,166,192,186, 62, 34,129, 64,103, 45, 4, 75,227, 58,140,136, 48,248,229, 98,137,201, 20,117,103,233,156,
+199, 53, 13,244,235, 93, 70,113,218,195,198,130,147,228, 40, 46,197,211,146, 26, 80,157,116,186, 62,236,166,198,224, 33, 51,232,
+ 16, 40,141,166, 11, 30,233,226,125,221, 57,143,247,158,222, 7,156,243, 52,189, 39, 55,138,186,135,206,122,180,148,172,189,197,
+171,232, 5,223,220, 32, 25, 73, 95,111, 83,230,125,235,226, 52, 33,210,107, 29,194,128, 84,122, 38, 90,123,147,131,126,179, 6,
+169,155,212,217,135,231,209,151,231, 96,194,207,120,246,148,137, 48, 58,146, 98,148,113,168, 5, 66,105, 26,231,216, 52, 61,165,
+183,108, 54,137,183,241,162,135,117,150,179, 57, 58,130,201, 45,126,167, 28,241, 70, 86,112,168, 2,167,215,171,120,112,126, 86,
+212,112, 93,195,114,157, 16,172,132,114,105, 29,247,134, 46,125,125,240,138,184,185, 39,178,148,191,240,130, 45,169, 75,133, 29,
+162,223,183, 20,136, 96,248,155,205,150, 55,142, 15,177,186,224,170,115, 92, 11,199, 98,221, 82, 1,227,190,163,146,130,183,143,
+142, 56,152,143, 24, 85, 5, 18,133,148, 26, 89,106,228,225, 40,106,217,115, 29, 21, 15,219,128, 25, 9, 46,234, 37,235,237, 5,
+227,106,134, 84,101,220,227, 10, 8, 73,235, 47, 19,163,122, 84,150,216,166,103,146,231, 76,180, 64, 11, 67, 38, 50, 86,237, 53,
+ 79,150,151,188,215,116,248,174, 35, 40,133, 47, 50, 66,215,227,155,109, 34, 4, 59, 66,219, 18,250, 53,212, 77,148, 78,245, 9,
+ 1,244,137, 44,217,181,187,169, 69,238,120,189,175, 34, 53, 19,222,243,180,109,249, 69, 93,243,255, 45,123,206,235, 13, 65,123,
+182, 56,122, 31,184,106,214,148, 62, 80,132,128, 16,130,128,192,106,201,108, 92,178,146,154,235,114, 4, 71,135,241, 31,189, 94,
+ 35,206, 22, 17, 61, 25,222,171,129,253, 93, 22, 49,105,242,246, 45,126,248,107, 15,248,206,237, 35,102,199, 83, 30, 47,109, 92,
+213, 5, 62,117, 79,138,151, 13, 88,131,148,214, 57,220,197, 5, 98, 62, 35, 35,196, 45,149,243, 4,161, 82,124,131,165,105, 26,
+ 86,221,154,211,197,138, 38, 36,207,138,254,115,130, 84,156, 75,187,235,136, 40,138, 68, 9, 10, 87, 43,150,222,179,105, 45,171,
+166, 35, 8, 17,239, 61,149, 66,197,156,139, 53,173,245, 59,173,248,240,115,107,205, 55, 50,195, 91, 69,206,216,228, 24,169,249,
+ 14,158,223,124,253, 54, 39, 38,240,243,109, 31,155, 88,153,220, 35, 7, 84,211,171, 72,148,179, 3, 26, 39,119, 12,251,225,245,
+ 90,187,139, 44,206,116,226,113, 37,185,247,102,155, 26,189, 95, 69, 81, 31, 10,240,224,169, 62,176,137, 7,243,150, 1, 90, 29,
+ 82,175, 94,201,171, 86,238,138, 0, 98, 47,241,172,255,219, 47,232, 38,193,136,210,192,131,187,124,255,173, 55, 25,149, 83,178,
+ 44, 35, 56,232,123, 75, 89, 22,104,183,230,210,121,130, 15, 4,159,228, 17,219, 6, 46, 23,241,115,149,244,222,165, 70,230,138,
+ 81,174, 49, 82, 80,101, 34, 41,151, 60,151,171, 6,183,218,194,106, 3,153, 97, 84,149,188,113,124,155,131,114, 66, 32, 50,167,
+215,125,205,197,102, 77,127,185, 76, 76,247,246,203, 17, 35, 6, 46,194, 62,251, 27, 17, 59, 62, 33,119,133, 29,191, 67, 68, 94,
+ 36, 58, 37, 84,232,249, 29,146,216, 85,252,125,243, 22,159,248, 13, 50, 5,173,100,106, 39, 35, 19,236, 50,196,111,152,231, 42,
+ 21, 45,249,188,169,144, 81,241,181,143,103, 76,199, 5,203, 77,205,253,131,219,180,214,226,189, 69, 9,193,182,107,232,108, 71,
+109, 91, 70,166, 68, 75, 69,227, 90,140,209,108,234, 26, 23, 98,227,228,214,203,180, 42, 72, 26, 80, 19, 98,241,216,247,255,215,
+ 41,191,216,136, 56,189, 15,134, 62, 69,106, 0, 74, 19, 37, 62, 14,180,214, 88, 23,179,199,251,224, 81, 1, 28,158,173,117,228,
+ 82,196,126, 78, 7,218, 54,254,253, 94,193,214,245,180, 2,154, 62,196,239, 19, 2,215,135,221,218,104,216,239,119,110, 87,200,
+135, 93,186, 52,137,149,191,127,221,211,179, 49,144, 0,131,123,254,249,120,153, 70,255,101,207,158, 41, 34,169,103, 82,210, 42,
+201, 72, 72,182,120,148,117, 80,119,172, 54, 61,110,152,158, 63,181,243, 86,112,239, 22,191,115,112,139,147,178,228, 40,203, 81,
+125,199,105,187,164,191,186,126, 57,252,190, 47,115,235,218,196, 91, 72, 4,189, 44, 49,137,133, 73,133,125, 88,229,228, 96,235,
+120,144,233, 9,248, 14,209,217, 68, 94,141,123, 75,209,219, 88,208, 1,225, 4,130,192,251,218, 83,168,146,101,151,130, 58,188,
+229,160, 50,220, 27, 79,185, 91, 76,184, 51,153,114,116, 56,195,110, 91, 52, 18,217, 6,228, 36, 71, 30, 22,136,204, 32,140, 36,
+108, 28,118,219,210,103, 10, 39, 3,173,146,180,174, 71, 5,143,200,242, 68,230,142,197, 79, 25,131,197, 99, 16,100,121, 70,223,
+212,228, 38, 67,133,192,214, 7,166,166,136,236,118, 91,115,222, 89,124, 8, 4,163, 8, 70, 18,186,158,224,122,112,155, 72, 58,
+108,219, 20,140,178,199, 25, 34,133,251,236,107,246, 63,103,242,253, 44,255,118,113, 3,203,119,124, 92,111,249,127,175, 26,254,
+100,221, 48, 22, 22,211,246,204, 60,140,149,100,237, 29, 91, 41, 88, 3,155, 16,232,203,140,181,209,252,227,163,138,127,123,247,
+ 54,191,121, 50,229,247,238, 31,113,160,224,189,167,215,136,235,107, 16, 42, 42, 19,202,152, 96,121,127, 82,240, 91,243, 3, 94,
+ 59,186,205,225,116,198, 59, 69, 78, 63, 42,147,178,196,164,231, 81, 68,199, 78,147, 71,101,199, 40,231,232,254, 9,181, 44,118,
+ 12,242,180,102,186,176, 61,206, 40, 50, 37, 17,105, 53,211, 7,139,117, 13,235,245, 53,206,183, 52,173,101, 45, 37,200, 60, 34,
+135, 38,173,112, 94, 66,230, 19, 9,121,227,246, 93,126,239,123,223,229,215, 31,188,197,236,112,194,147,247, 63,129,174,229, 48,
+ 15,212,155, 58, 66, 33,117,183, 51, 75,106,109, 10, 17, 75,207,173,142,175,241,219,153,230,159, 76, 42,114,149,225, 67, 32,147,
+154,198,247, 20, 82, 34,165,225,195,166,166,150, 3,243, 93,199,231, 86,153,228,201, 48,212,158,244, 78, 9,187,131,223, 93, 26,
+ 29,153, 26,155, 0, 0, 32, 0, 73, 68, 65, 84,148,134,103,124, 88,207,217, 16,125, 71,134,144,153, 95,186,168,223,192,186,105,
+234,217,183,110,237, 82, 55, 17,210, 1,109,221,243, 22,146, 95, 4,129, 15,211,160,150,187,144,148,191,237, 41,125,144, 62,137,
+116,160,119, 14, 49,159,112, 50,154, 96,116,148, 55, 9, 41, 88,174,150, 60,188, 94,113,118,189, 66, 10, 65,232, 18,177,105, 29,
+ 73, 37, 40, 25,229, 66, 82,199, 41, 61, 87, 20, 90, 16, 66,212, 46,215,157, 99,217,180,112,185,137,172, 85,109,160, 44, 57,156,
+148, 76,117, 65,150,151, 55,147,228,214, 53, 60, 58,189,128,103,105,143, 62, 20,243, 87,189, 20, 38,221,212, 46, 93,119,159,116,
+143, 65,237, 96,112,201, 30, 26,194,110,194,222,159,212, 7,199,190,161,195, 22,201,252, 32,176,211,128, 91,151,120, 8,114,167,
+ 77, 30, 38,255,228,151, 30, 67, 59,210,191,181,159,119, 63, 76,238,222,167,195, 59,193,244, 58,199,101, 57, 71,101, 73,221,119,
+120,111,169,178,130,166,107,145, 74,179,105,214, 8, 25,144, 66,225, 66, 96,100, 74, 16,129,105, 89,113,185,190,230,234, 98, 17,
+167,194,190,141, 93,123, 72,114,181, 97, 82, 31,200,150, 50,165,233, 13,196,189, 96,210,207,145,140,142, 18,226, 2, 1, 33, 37,
+ 69, 46, 89,119,142, 44, 37,172,181,189,199,139,184,187,213, 54, 68, 20, 47,153,195,213, 30, 90,235,169, 93,192,134, 64, 41, 37,
+117, 99,119, 5,122,144,209, 89,151,174, 91,250,255, 82,238, 53, 93,114,151, 27,190,111, 8, 50,178, 77,220,167, 11,251, 60,105,
+114, 63,110,241,197,102,249,197,134, 45,151, 81,122,153, 69,148,165, 9, 32,165,228,162,238,113,189,163, 91,109,226,123,248,178,
+137, 91,101,112, 48,231,222,116,198, 97, 94,208,216, 30,131,231, 23,171,107,220,179,243, 47,110,194,123, 11,181,139,242,182, 76,
+241,221,201,132,127,117,231,152,223, 62,153, 80, 77,114, 62, 57,191,142,215,196,167,179,228,224, 54,223,251,254,183, 57,253,224,
+ 35,132,204, 35, 4, 63,236,102,149, 68,120, 3, 94, 34,219, 53,210,197,233,237,161,114,156,231, 21,149, 11, 28,224, 57,153,142,
+120, 99, 52,225,173,195, 67, 14,198, 19,242,188,192,123,203,229,163, 51,114, 43,208, 85,158, 12,142, 98, 20,175, 95, 54,216, 77,
+205,170,169,177,163,138,144,101,212,206,211, 43, 77, 16, 10,163, 13,189,179, 40, 41,177, 65, 48, 26,141,240,206,199,251,116, 60,
+194,117, 61, 2,184, 93,141,217,118,150,177,201,176,161,103,140,227, 81,219, 17, 66,192,107, 77,200,116,100,104, 55,237,141,214,
+ 63, 22,224, 93,118,252,238,243,206,112,236,197,255,126, 49, 70, 85,124,206,215,110,204,187,234, 45,118,179,229, 39,171, 45, 7,
+ 4,250,166,193,118,150, 32, 4,139, 0,219,204,112, 17, 4, 87, 30, 10, 99,248,245,106,194,221,114,198,215, 38,199,220,159,156,
+144,151, 25,118, 94,240,112,221,195,250, 42, 14, 41, 78,192, 40, 99, 84,102,124,111, 58, 67, 41, 77,231, 3,191,232, 45,219,214,
+ 66,101,162, 74,104, 58,130,131, 57,156, 28, 69,251,225, 91, 71,252,219,111,191,193,247,143, 79,248,221,215,239,225,230, 5,143,
+201, 99, 67,115,124, 12,101,206,166,200,168,148, 38, 8,193, 73, 89, 97,189,195,120,207,114,179,102,221, 89,148, 20,148,185, 70,
+151, 57, 77, 94,194,252,144,252,181, 55,112,119, 95,131, 78, 65,150, 12,140, 32,114, 0,180,225,187,223,254, 58,199, 7, 39, 16,
+ 60,214,100,124,114,246,148, 25,150,197,114, 27, 39,225,122,147,160,251, 62,170, 60,250,193, 71, 33,236, 46,106,240,188,153, 25,
+190, 89,142,147,167,137,130,224,240,222,161,164,102,211, 55,180,194,242,164, 75, 89,225,153,137,208,250, 96,231,236, 99, 17, 23,
+200, 72,161,113, 50,161, 79,105,189, 98,221,243,178,212,126, 72,192,235,190, 82,109,124,121, 81,151, 9,114,240, 41,142,210,217,
+ 88, 64,250,189, 3,157,193,206, 85,236, 32,132, 87, 49, 46, 25,224,145, 23,141, 84,254, 54, 63, 6, 9, 85, 16, 17, 10, 65,176,
+200, 12, 85,150,113, 52, 46, 16,194,227, 29,156, 95,175,248,139,119,222, 5,209, 71,178, 19, 62,193,166, 77,116,197,154, 23, 73,
+222, 16, 51,166, 67,136,249,188,189,119, 52,189,163,111,250,216, 93,173,151,177,216,141, 71,140, 39, 35,170, 66, 35,241, 72,109,
+232,250,150,198,121, 30,158,157,179,125,122, 26,247, 67, 55, 59,152, 47, 67, 54, 84,177,248, 26,177,131,151, 3, 59,223,224, 97,
+160,147, 67,214,252, 75, 60,212,247,247,238, 67, 83,224,210, 62, 87, 14, 76,204, 68, 38,115,118, 23, 30,162, 19,188,173, 19,243,
+220, 13,161, 58, 58,194,197,168, 4,127, 37,191, 99, 37,118,118,166,129,104,252,211,247,244, 65,208,107,133, 32, 36, 55, 88,135,
+ 11,142,197,118,129, 68, 82,234, 17, 74,104, 50,173,144,194,160,165, 98,219, 52, 76,139, 17, 15,183, 75, 56, 59, 75, 39,153, 77,
+123,252,253, 2,153,224, 46,103,119, 28, 2, 51,200, 26, 37, 84,229,243, 9,100, 68,166,115, 7, 49, 80,195,122,156, 11, 88, 5,
+ 5,113, 98, 19, 30,172, 8,224, 3,181,247, 4, 33,232, 83,163, 42, 9,172,187, 97, 23, 42,246,228,107, 73, 70,166, 84, 60, 68,
+ 92,159,252,207,137,178, 60,215,236,244,222,174,143,215,175,235,119,201,102,251,176,251,231,125,188, 8,161,143,170, 72,230, 73,
+ 54,187, 78, 42, 90, 27,125,216,221,166,129,235,197,103, 63,123,194,195,108,140,171,170, 36,253,213,188,187,186,228,252,242, 50,
+ 54,172,175, 18, 10, 50,228, 59,204, 39,252,193,157, 99,114,169,152,149, 83,156,235,121,167,238, 83, 80, 82,186,103,182,215,156,
+126,242, 48, 53,160, 18, 49,196,200, 14,211,122,232, 17, 65, 34,115,137, 8, 22,105, 5,178,105, 9, 42,144, 9,193,189, 81,198,
+131,106,202, 91,243, 25,147, 34,163,154, 69, 51, 21,223, 67,215, 56,214,151,231,140, 84,142, 57, 24,199,251,196, 65,216, 90, 66,
+211,227, 69,160,147,158,173, 20,184, 98,132, 77,220,146,218, 91,132,140, 33, 63, 69, 53,194,217, 30,161, 20, 89,150,209,214, 45,
+ 50, 8,100,102,240, 65, 80,100,154, 77,239, 57,206,198,116, 90, 98,125,195,179, 46, 74,187, 66, 12, 5,136,164, 68, 27,207,148,
+151, 21, 99,249, 25,159,191,204,175, 23,167,248, 0, 4, 31, 97,255,159, 45,150,124,220, 89,124,211,210,246, 14, 39, 2, 87,222,
+114, 42, 37,207,132,100, 94, 26,222,210, 25,119, 70, 51,148,202,208,198, 96, 76, 73,171, 13,125, 33,185, 80, 89, 92, 25, 92,175,
+ 97,121,197,166,243,188, 94,106,148, 84,156,246, 29, 63, 90, 44, 19,139, 59,233, 75, 85, 90,221,142, 51, 80,138,217,100,204,247,
+102,135,220,169,102,140,203,138,172,200,120, 71, 73,220,120, 12,183, 79,152,222,127,147, 81, 81,130,146, 84,192,131,201,140,147,
+ 81,206,196,104, 46,250,134,218, 57,148,214,228, 66,162,165, 96,148,103,252,240,183,254, 41,255,234,159,255, 62,255,236, 55,190,
+199,209,252, 62,106, 62,166,155, 29,211,118, 93,146,230, 26,206,188,226, 27,135, 83, 68, 86,209,109, 87,124,252,240, 9,237,242,
+154,233,184,164, 93,247,233,249,232,161,109,201,180,194,109,183,209,178,185,237, 83,141,139,199,217,177,210,188, 53,202, 24,201,
+140,222,181,145, 65, 79,160,237,123,150,222,242,151,203,134,237,224, 60,103, 20,163, 42,167,207, 75,200,116, 76,203, 19,137, 43,
+129,223,157, 73,128, 8, 33,254,250, 21,214,193,151,159, 20, 34, 81,248,135,201, 92,232,221,132,190,109, 34, 57, 34,193,100,251,
+142, 61, 55,196,160,127,136, 31, 42, 77,216, 50,197,172, 62, 89,178, 58,217,176,221,108,153,140, 15, 33, 52, 56,219, 36, 82,194,
+ 62,155, 60, 29,252,147,113, 60, 36,203,148, 50,119,179, 71,108, 99, 45,238, 45,172,183, 41, 35,126, 7,127, 74, 13,193, 7, 86,
+ 93,207,246,234, 20,135,100, 81,119,172, 47,215,176, 90,127,177, 27,222,103,153,233,244,169,233,232,147,214,193,200,228, 91,239,
+227,207,200,144, 78,150,194,105, 20,187,223,219,189,162,190,109,118, 83,184, 75,123,244,125, 97,113,219,196,212, 51, 33, 99,193,
+217,191, 23, 94, 28,216, 84, 42,252, 55,221, 73, 6,165,136, 83,103,122, 73, 56,189,155, 84,251,150,101,219,146,101, 26,183,245,
+132,205,154,233,120, 12,214,115,114, 56, 5,160,204, 75, 50, 99,112,125,143, 50,121,220,165,251,134,215,230, 21, 15,191,254, 38,
+188,255, 65, 12, 48, 81,123,124, 4,217,199,127, 71,217,231,175,111,219,237,146,200, 26, 27, 73, 92,222,199, 48, 17, 37, 33, 3,
+ 45, 4, 77,231,208, 72, 86,193, 83, 32, 88, 16, 8,206,115, 32, 5, 54, 4, 46,251,158,137,138,141,192, 38, 65,209,197, 16, 64,
+228,247,166,213,129,108,227, 93,130,223, 19, 15,194,166,130, 23, 92, 34,246,245,207,255,153, 23,255,251,171,248, 19,232,228,136,
+149, 26, 22,186, 62,194,224,214,237,174,255,103, 54, 8, 22,206,174, 57,157, 95,112,234, 61, 44, 47,226, 52, 3, 80, 8,120, 85,
+197,229,102, 5,171, 45,109,215,115, 50, 61,100,221,183, 60,209, 49,171, 30,167, 65,118, 59, 18,163,200,227,251, 54,232,117,189,
+137,208,252, 80,156,148,197,123,131,207,193,119, 29,254,236, 17,206,247, 60, 10, 61, 63,152, 85,228,128, 81, 2,157,105,100, 46,
+200,171, 10,151,107,176, 61,107,215,177, 92,109, 80,143,174,201,239, 76, 99, 19,234, 60,106, 86, 48, 42, 2,186,201, 41,187,146,
+243,229, 53, 11,105,233, 61, 28,143, 39,204,110, 29,162,148, 36, 88,104,183, 45, 25, 1,219, 89,132,136,136,157, 17,130,186,109,
+168,138,156,215,230,135,252,199,235, 83,166,121,201, 55,111,189,206,149,123,194,199,109,131, 32,139, 69,247,238, 93,184,188,138,
+171,182,182,123, 57,116,254, 57, 5,250,121,146,156,190,121, 78, 69, 90,231, 8,187, 99,165,135,255,159,186,247,108,178,236, 58,
+239,253,126, 43,237,112, 98,199,153, 1,102, 6,145, 0, 73, 48,136,162,168, 72,221,171,171,107,189,176,222, 58,125, 5,127, 13,
+126, 26, 87,185, 92, 46,135,178,101, 91,117,203,215,165,146,117, 45,139,162,196, 32, 6,136, 4, 48, 4, 6,192,204,116, 58,113,
+135,149,252, 98,173,221,231, 76, 34, 2, 85,186, 86, 87,117,117, 79, 79,247, 9,123,175,181,158,244, 15,207,248,155, 8,124,176,
+217,240,254,102, 67,216,108,152,108, 74,142, 70, 35,220,116,204, 47, 85,193,151,116,137,174, 11,106,161,232, 8,180, 33, 49, 20,
+218,224,168,139, 17,119, 15, 61,247,164, 72,190,237,139, 53,108,123,254,135,239,253,132,232, 44,232,241,117,155,154, 73,149, 20,
+ 44, 67, 62,127,214, 61, 76, 71, 40,210, 56, 78, 41,131, 20, 2, 41, 52,183,170, 49,247,104,161,158,208,121,203, 97, 61, 66,199,
+200,237,233,152,219,179, 17,181, 81,172, 27,205,173,110,198, 74,104,240,150,224, 18, 30,228,197,217, 17,175,188,124,151,111,188,
+ 54,199,148,154,155,199, 37, 55,223, 62,164,111, 54,252,183,189,163,251,240, 62,194,247,196,237,138, 11,111, 57,242, 61,147,170,
+ 98, 50,159,178,110, 91,150, 87, 93,214,108,224,122,150,221,111,219,221, 57, 65,155,102,235, 19, 7,182,226, 3,161, 57, 31,111,
+ 24,141, 21, 71,166,102,101, 27,162, 15, 56,224,157,102,203, 89, 8, 40,169,168, 43, 69, 37,210, 40, 86, 86,145, 77, 35,210, 88,
+176, 80,233,188,183,221,206,203,163,123, 90,123, 63,254, 42, 64,244, 62,117,248, 83, 87,234, 3, 8,167,200, 21,143,207, 51,219,
+224,115,133,222,166, 67,113,219,238,108, 81,201,135,214, 64, 33,250,231,212, 18,127,242,141, 63, 15, 60, 36,101, 58,228,116,238,
+155, 18,224,104,204,239,188,126,155,155, 39,199, 76,231, 37,149,209,156, 28, 30,240,225,229, 57,171,237, 22,101, 20, 81, 12,109,
+232, 68,237,160, 46,118, 82,152, 42,139, 4,172,123,216,108,224,106,155,248,200,109,127,141, 58, 86, 35,195,200, 40, 68,148,108,
+189, 99, 99, 3,103, 77, 67,127,149,231,237,155,203,207,119, 96,171,189, 46, 10,131, 82, 87,110,221, 26,147,237, 70,243, 2, 40,
+ 51, 21,101, 24,228,201, 61,158,113, 36,123,210,199, 4, 2, 52, 38, 5,222,174,221,177, 20,164,220,241,106, 10,185,107,185,135,
+144,103,167,123,115,173, 48,120,162, 15,200,238,140, 54,247, 49,207,239, 67, 66,123,186,252,243,110, 11, 33,176,237, 44,203,190,
+103,213,247,148, 74,115, 52,155, 81, 21, 21, 39,179, 99,140, 81, 72,161,209,101,129, 16,146,217,120,130,115, 61, 35, 93, 80,170,
+200, 5,106,103,149,232,251,244,248, 62,163,137,221, 51, 58, 65, 74,238,168, 42, 3,208,188, 48,100, 88,123,154,102, 40,137, 37,
+ 94, 23,212, 32, 17, 49, 38, 45, 23, 18,117,205,121,207,101,219, 81, 85, 26,215,123,182, 54, 80,228, 45,115, 13,148, 27, 40,108,
+ 3, 86,193,251, 92,197, 59,210, 48, 88,236,130, 88,239, 30,167,118, 62,171,195,245, 60,205,251, 39, 55,122, 53, 74,126,230,227,
+ 50, 37,120,101, 6, 8,250, 60, 11, 63,187,252,100, 7, 40,111,179,177,142, 72, 93, 42,107,147,167,192,114,243,233, 19, 81,159,
+ 16, 74,221,164,230,131,222,241,253,182,227,103,155, 54,237,167,102, 11, 62,139,110,168, 36, 49,122,173, 43, 32, 67, 66,194, 83,
+164,239,243,216, 68,208, 35,131, 70,184, 6,169, 42,148, 23,168,222, 18,101,224,181,217, 41,199,166, 96, 50, 27, 99,180, 68,150,
+ 26, 85,106, 34,130,162, 46, 89, 44,150,232,141, 69, 7,129, 84,105,223,248,182, 71, 40,129,170, 53, 69, 81, 50, 50, 37,149, 48,
+ 8,161,185,117,231, 6,245,193, 24,115, 56, 70, 24,141, 18, 26,239, 34,182,115,200,210, 16,188,199,197, 64, 81, 26, 90, 31,104,
+251,150,117,132,214,148, 52,192,168, 52,188,183,110, 8, 50, 18, 11,147,206,139,201, 24, 84,129,240, 1,185,234, 17,217, 65, 55,
+239, 32,212,245,167, 70, 37,136,223,222,103, 72,191,227, 65,150, 5,210, 8,164, 18, 72,145,212, 48,165,247, 79,183,225,247, 43,
+246,253, 79, 47,232,172,227,114,221,176, 88,246,196,182,227, 81,140,252,198,116,204,161, 54, 76,234, 9, 0,239,180, 27, 46, 92,
+199,199,125,207, 54, 6,122, 17,113, 66,195,225, 12, 38, 35,226,100, 2,179, 89,218, 71,171, 38,105, 30, 92, 44,211, 26, 57, 63,
+ 75,126, 20, 34,209, 21, 27,160,150,142,185,210,180,206,114,101, 59,254,106,181, 77,123,161,168,185, 51,154, 50,146,138, 50, 6,
+ 94,158,140,152, 40, 73, 89, 40,188,130, 94, 40, 62,180, 14, 87,150,212,166,194, 17, 25,153,146, 55,191,240, 50, 7,211, 17,109,
+ 31, 48, 72,182, 54, 34,162, 68, 19,249,229,250, 42, 61,119, 81,114,235,228, 16,163, 10,122, 4,239, 93, 93,225,151,103,153, 97,
+ 16,210,243,219,236, 36, 24,158,156,207, 39,227, 33,164,166,233,123,126,218,123, 94,174, 36, 70, 68,122, 31,232,188,231,157,126,
+195, 79, 54, 61, 27,239,145,217,151, 69,163, 16,165,160,245, 36,165, 65,145,217, 35, 82,165,241,168, 16,121,236, 41,114, 49,229,
+159, 15, 42, 44,139, 84, 84, 85, 38,237,199,161, 91,250, 43, 42,251,199,131,186,148, 48, 58,132, 98,154,128, 14,163, 81, 86,184,
+146,201,122,174,168, 18, 34,215, 84,169,202, 40,244,110, 46, 54,104,214,126, 30, 78,237, 63, 69, 48, 31, 14, 55,249, 12,125, 94,
+ 85,236, 29,230,164,139,116,115,204,183, 94,189,205,168, 30,209,181,129,186, 42, 80, 50,112, 88, 76,248,104,181, 96,219,111, 81,
+ 50,166, 24, 88, 40,162, 86,200,202, 32,164, 76,168, 73, 31, 97,217, 38, 95,246,197, 26,150,217,159,125, 86,167,235, 54,174, 48,
+ 38,205,147,173,247,248, 0, 27,239,211,225,237, 61,172,206, 63,123, 53,166,115, 23, 37,184, 93, 94, 39,217,179,161, 53,105, 30,
+ 99, 76,230, 71,154, 28,108,217,161, 57, 7,224,154,209,121, 54,170,211, 74, 68, 67,200,153,234,224,152, 23, 99,170,160, 66, 76,
+139, 63,100, 10,214, 0,138, 51, 58,183,189, 51, 35, 32,100,107, 77, 93,236,230,251, 42,238,130,103,148, 89,191, 63,183,166, 93,
+ 82,251,162,235, 97,181,133,208,179,145,154,227,233,148,195,106,204,108, 58,197,123, 79, 89, 22, 40, 41, 24, 79, 38, 56,107, 9,
+193, 98,187,158,178, 40, 8, 42,178,106,186,244, 6, 93, 72, 45,238,190,123,254,104,199,251,188, 49, 34, 96,114, 82,147,121,236,
+ 25,131, 16,131, 39,202,152,198,219, 49,210,245, 14, 39, 99, 50,112,241, 17, 27, 28,141, 15, 76,180, 98,219, 88, 10,163,114, 52,
+207,231, 68, 8, 59,228,255,208,245,232,236, 30, 74, 63, 38, 0,159,103, 39, 60, 33,194, 39,239,157,231, 5,245,199, 70, 42, 21,
+220, 60, 74,201,247,168,230,141, 73,193,177, 54,212, 81,112,164, 21, 55,100,224, 98,185,250,228,181, 39,196,142, 2, 26, 99,154,
+237,111, 59, 88, 52,159, 92,233,239,239,205,174,227,170,141, 60, 10,145,141,202,215,223,147,170, 32,187,190,166,179, 37,212,176,
+ 73, 65,222,107,132,235,147, 0, 77,238,128,136, 40, 17, 42, 38,122,155, 8,200,114,130,244, 61, 50, 68,214,209,115,103, 82,113,
+ 84,205, 24, 41,141, 86, 18,169, 20, 33, 6,212,164,196, 90, 79, 64, 96, 53,244, 23, 43,100,231, 8,173, 69,212, 6, 57, 41,137,
+214, 35,141,166,156,212,140,203, 17,243,217,148,234,116,134,158, 84,168,113,133,170, 12,193, 6, 90,235, 16,133,196,134, 64, 80,
+146, 32, 37,141,247, 4, 33,184, 10, 30,163, 20,235,174,163, 51, 6,173, 43,222, 58, 57,230,230,184,230,168, 54,220, 28, 25,254,
+139,219,183,248,175, 95,191,203, 91,167, 35,254,106,213, 34, 93, 64, 6,119, 29,204,245,240,213,104,180, 82,104, 37, 51,222, 80,
+160,188, 71,121, 80, 74,163, 42,185, 75, 4, 4, 40, 41,144, 49, 33,224,229, 94,235,254,233,106, 93,167, 22,122, 78,110, 35,145,
+216,103,157,254,117,199,182,138, 8,111, 57,179, 13, 87, 81,240,113,223,114,207,182,108,172,229,178,105,137, 66, 98, 51, 59, 70,
+214, 21, 98, 52, 34,102,103, 63, 70, 21, 84, 21,163,233, 4,187,216,100, 91,209,144, 40, 89,139, 45,244, 61,247, 31, 92,242,221,
+143, 30,112,213, 47,249,139, 95, 62,130, 15, 62,204,235,106,205,202, 54, 84,125,143,176, 13, 69,136,204,140,194,134,192,186,109,
+249,225,229,154,141,212,248, 24,145,198, 32, 84,193, 89,215,113,103,114,200,205,185,193, 89,199, 98,213,177,117,160,181,132, 62,
+242, 96,253,136,237,102, 11, 77,195,225,193, 17, 33, 70,186,190,227,131, 95,188, 11,155,101, 46, 90, 51, 8, 85,239,241,204,159,
+220, 87, 33,183,203,183, 14,175, 4,127,223,118,252,223,151, 43,222,110, 59,254,118,189,225,199,139,150, 77, 76,116,213, 66,194,
+ 76,107,186, 24,136, 66, 38,207,166, 97,236, 27, 19,173,247,200, 20,180, 18, 94, 61,152,112, 37, 76, 22,235, 82, 59, 9,229,167,
+138,184, 12, 52,237,243,226, 16,207,176,133,125,110,251, 93,235,164, 62, 53, 59, 76,243,218,168,178,218, 85, 1,151,151, 80, 5,
+104, 87, 80, 78,210, 28,216,100,126,162,201,237,216, 65,217,203,185,127,222, 10,125, 95,201,108, 16, 81, 25,254,237,220,222, 91,
+204, 78, 56, 58,253,205,203,211, 81,166, 77, 70,170, 66, 98, 10, 77,111, 35,101,110, 87, 42, 4,165, 0,105,210,251,178, 22, 98,
+ 70,236,247,214,165, 96,212,183,169,165,178,204,193,112, 86,229, 89, 82,170, 88, 61, 17,105, 10, 68, 76, 7,100, 41, 3,157,144,
+159, 13, 16,247, 36,128,201,183, 32,170, 76, 83, 11, 59,174, 56,164,255, 43,178,232,193, 53, 90, 61, 47, 6,159, 91,244,251, 90,
+223,229, 36,161,229,251, 12, 98, 11,213,110,132, 50,140, 86,182,171,180, 97,125,174,194,237,240,213,237, 84,232,174,171,203,225,
+189,245,233,185, 6,235,207,184, 55,103,133,221, 8, 71,230,182,179,203, 86,179,155,158, 48, 25, 97, 2,196, 24,233,156,163, 42,
+ 43,132,148,232, 34, 85, 71,169, 59, 22,249,222,131,247,248,218,233,109,198,198, 80,158,206,233,174,214, 57, 97,202,175,223,254,
+ 10, 43,211,216,166,128, 14, 73,176,162,202,107,196,231,235, 84, 25,176, 73, 60,100, 8,202,222,122,218, 24,169, 60,120, 25, 48,
+ 14,214, 46, 80,105, 65,231, 82,160,170, 76,106, 26,116, 42,111, 82,163,119,216,145, 65,203,125, 16,224, 24, 2,163, 54,169,253,
+238,229, 39,143,175,246,247,214,222, 82,127,172,139, 51,159, 51,159,212,152,217,136, 27, 82, 49, 51, 5, 91, 23, 49, 37,168,224,
+241,189,228,213,227, 99,222,221,222,255,228,231, 90,183, 48,233, 82,162,164,115,199,174, 72,157,201, 79,189, 55, 71, 85, 74, 96,
+203, 92,150, 78,138,212,241, 58,157,165, 91,112,113,158, 76,101, 84,149, 70, 40,195, 45, 42, 52,194,107, 34, 14,130, 33, 42,155,
+243, 66, 75, 12, 37,193,247,248,178,198,105,133,125,180,228,127,253,209, 15, 24, 71,193,188,252, 58, 82, 41, 60,130,114, 84, 16,
+123,143,152,214, 8, 31, 88,158,175,112,210,114,255,195,123,140,100,228,120,118,202,232,116,142, 26,151, 72,153,199, 2, 35, 65,
+ 57, 31, 35, 39, 73, 57,113, 16, 67, 9, 66, 18,163,192, 75, 73, 52,208,228,110,148,170, 20,155,117,147,192,103,120,212,168,100,
+ 46, 13, 55,162,163,139,145, 98, 58,227,197,245,134, 66, 27,254,112, 62,162, 38, 80, 86, 83,126,183,151,124,247, 23, 31, 49, 61,
+158,208, 54, 13,210, 6,102, 64,211, 89,164,117, 72,231, 17,131,135,183,183,215,103, 91, 52,250, 41,206,122, 28,130,180,123,188,
+ 34,223, 63,102, 2, 26,177,223,226,181,225,122, 1,197, 46,161,191,127,252,119, 11,126, 60,159,115,251,246, 41,107,161,185, 49,
+155,242,113,150, 22,142, 49,178,237, 60,197,184,192,201,196,124,153,148, 21,109, 76,235,254,173,219, 55,121, 57,118,244, 93, 79,
+123, 52,226, 7, 77,195,253,143,174,146,184,141,112,176,190,202,186, 74,129,183,239,127,176, 91, 35, 75,141,248,210,239,242,202,
+228,144, 27, 85, 5, 97,195,213,102,201, 61, 21,144, 82, 17,130,231,170,233, 81,170, 96, 90,214, 9, 15,101, 45,181,144,108, 62,
+190,207,189,197, 21,181, 52, 92,184,192,228,245, 87,137,165,230,206, 75,183,248,250,242, 85,254,207,243, 5,156,159,241,227,255,
+231,175,119,103, 90,183,217,139, 25,123, 4,132, 95,245,209,245, 96, 2, 92, 56, 88,151, 48,174,185, 88,101,141,249,124, 78,170,
+ 73,141,138,129,149, 11,140, 74,205,186,203, 12,161,222,131,134, 63,157, 86,220,136,145, 57, 0, 19,188, 13,124,124, 56,227,127,
+218, 58,220,162, 77,137,198,106, 5,182,223,141, 81,202, 34,157, 83,195,248,146,140,103,178,242,217,251,255,169,160, 62,170,161,
+ 58, 74, 30,211,202, 64,219, 38,190, 92,211,193,252, 16,232,147,137, 70,183,222,205,212, 11,189,155,185,199,161,141,246,252,172,
+125,244,123,191,201,246, 47,255,230,159,190, 82,223, 63, 68,158, 2, 20,237, 81, 70,100, 62,200, 85,207,189,143, 23,124,243,238,
+150, 48, 58,194,148, 6,169,161, 82, 37,127,241,179,159,112,241,241, 5, 24,216, 22,145, 73,126,188,170, 84, 88, 11, 91,151, 57,
+199,235, 38, 85,231,203, 54, 7, 69,153, 40, 68, 70, 64,165,174, 27, 33,135,229, 4, 41, 21,198, 84,124,184,186,160, 27,120,202,
+101,190,198,159,229,163,235, 83, 59, 38,132, 29,143,220,134,157,242, 16,213, 14,160,228,119,221,249,148,190,231,223,209, 58, 97,
+ 3,122,191,211,229,222,191,143,251, 12,135,144,175,239, 48,243,244,121,152,106,115, 0,241,215, 15,158,231,237,114,151, 64,120,
+210,154,105,114,102, 41,121,188,109, 59, 24,124, 40,185, 75, 70, 10, 13, 10, 44, 29,202,104,182,237,134, 24,234,235, 68, 11, 2,
+ 90, 73, 74,173,248,202,233, 75,156,175,175,168,202,146,170, 50,116, 70, 38,228,109, 40,210,252,248, 87, 1,180, 29, 36,162,249,
+ 54,137, 60, 12,243,238,125,205,250,152,223,155,221,105, 11, 7, 45,104,101,100, 82, 21, 20,170, 96, 28, 60,155, 69,131, 34, 49,
+ 65,186,144, 94, 66, 73, 96,217,248, 29, 62, 33,207,223,177,185,171, 97, 51,142,161, 8, 89, 53, 46,139, 79, 12,207,253,105,242,
+ 98,247,236,237, 60,159,106,166, 85,133, 50, 21, 7,165,129, 24,152, 25, 77, 99,123,250,206,115, 96, 52,141,240,105, 15,111, 63,
+197,250,243,238,154,198,132, 54, 41,153,103,245,233,246,165,219, 75,178,182, 93,186, 56,190, 72,227,142, 16,161,236,161,154,130,
+111, 82,133, 46,202,204,166,113, 59,140,134, 15, 48, 4,116, 61, 38,244, 27,194,168,194,175, 86,120, 52, 78, 68,172,208,172, 31,
+ 93,241,243,135,239,115,123,118, 3, 93, 24,154,222, 49, 37, 75, 21,228, 60,164, 45, 4,155, 94,115,142, 35,108,183,196,139,143,
+185,249,209,132, 55, 94,124,153,233,139, 39, 40,173,209,227, 26, 66, 68, 42,149, 26, 43, 14, 92,227,104,215, 45, 91,235,176, 26,
+202, 66, 16, 85, 66,199,111,108,160,169, 10,150, 33,208,136, 72, 20,130, 3,231, 56,247, 18,175, 21,119,170,130,143,199, 83,140,
+243,216, 58,141,227,206,163,230, 91, 95, 62,228,171, 95,145,184,109,131,116, 61, 70,194,213,242,146,166,219, 98,131,231,195,135,
+ 87, 64,199,197,253, 13,162,185,132, 62, 57,183, 69,155, 58,165,241, 58,168,167,196, 39,118,253, 83,193, 60, 15,161,174,191, 62,
+ 89,185,139,189,200,112, 61,105, 90, 44,184,191, 88, 16,181,230, 74,215, 48,170,146,217, 75, 85, 18,181,162,111, 96, 52, 29,131,
+ 82,108,130,165, 22, 37, 55,149,228, 75, 70, 50,215, 71,120,181,165, 24, 31,160, 23,103,220,111,129, 81,155, 40, 99,155, 54, 3,
+ 65,247,248,235,166,128,187, 95,229, 63,253,218,183,153,207,231,244,155, 5,203,205, 61,188, 92,114,149,215,230,214,245, 72,111,
+ 49, 42,233,183,107, 83,177, 14,150, 27, 66,112,203,119,204,154,128,213,134,211,114, 68, 37, 60, 23, 34,221,243,131,201,140, 98,
+ 60,162,211, 25,219,241,228,188,250,186,232,251,148, 31,214,237,144,241, 77,147,240, 42,166, 74,103,189, 41,241,139, 13,219, 74,
+ 49,171,107,154,222,161,180, 98,107, 19, 45,238,182,128,113,140,252, 70, 89,177,142,158,169,208,168,169,225,101, 4,219, 81,207,
+ 15, 15,231,124,112, 49, 78, 74,114, 15, 30, 36, 87, 78,178,169,206, 16, 83,226, 94,241,179,143,139,122, 6,142, 34,181,223,181,
+134,233,113, 82,178,137,234, 90, 78, 83,169, 50, 89,244, 9, 1,109,200, 64, 22,153,103,234, 67,213, 88,164,202,103,208, 7,127,
+ 94,251,240,206,171,124,251, 43, 95,229,189, 77, 3, 87,151,255,116, 65,125, 64, 85, 15,179,244, 33,184,239, 43,166, 41,185,163,
+115, 9,153,130,203,166,229, 29,122, 94,157, 78,136, 81,210,181, 29,111,255,226, 29,126,252,224, 10,187,186,202, 66,254, 10, 31,
+ 34,227,194, 16,137, 88, 1,190,115,176,202, 38, 23, 93,214, 27,150, 89, 29,107, 82, 66, 57, 74,149, 8,145,233,120,198,124, 50,
+ 69,106,147,148,196,165,100,217,181, 9, 29,127,181,253,124,238,107,215,109,238, 28,177,245,158, 71,184,207,130, 47, 3, 86, 77,
+100, 69,181,125,183,175, 50,189,182, 84,121,229,175,214,165,164, 46,228,170,178, 24, 2,118, 76,156, 80,223,100, 26,154, 76,179,
+247,202,236,105, 20,228,150,187, 44, 51, 71, 62,209,213,112, 54,137,233, 12,226, 43, 79,182,139, 6,101,169,129,250, 54,206,244,
+150,201,152,121, 85, 34,163,192,135,128, 68, 34,181, 34,134, 64,239, 59,218, 77,139,139,142, 77,179,198,147, 90,218,222, 90, 86,
+157, 77,247,216,246,201,221,238, 19, 89, 24, 46, 37, 98,131, 36,164,139,169, 21, 63, 84,237, 66,237, 54,241, 32,149,155, 53, 34,
+ 14,170, 26, 41, 2, 94, 40,182, 77, 79, 97, 36,133,140, 4, 23, 9, 33, 34,181, 76,222, 53,144, 42,187, 65, 18, 86,134,157,170,
+222,160,255,224,247,228, 98,241, 79,211, 14, 63,203,199,193,156,131,201,132,233,225,148, 88, 26,166,166,162, 84, 6, 71,146,190,
+221,246, 22,105, 91, 54,219,150,197,249,226,233, 32, 28,158, 16, 74, 24,149,112,122,196, 27, 71, 83,190,121, 56,226, 55,142,198,
+ 28,141, 21,239, 63, 92,127,242,218,173,138,148, 20, 93, 91, 35,103, 63,133, 81,157,128,141,245,140, 59, 35, 67, 24,149,244,103,
+139,204,208,200, 30,240, 54,181,151, 68,200, 95,163, 76,237,120,225, 17, 65, 35,156, 71, 84, 10,164, 65,132,152,184, 9,126,203,
+253, 71,107,142,102,154, 89, 57, 71, 8, 77, 23, 97,211, 59, 54,109,207,202, 59,182,214,241,225,114, 69,231, 45, 23,221,134,243,
+126,197, 7,221,134,179,229, 57,114,213, 50, 63, 60,130, 16, 80,198, 16, 92, 36,246, 14,187,234,105,206,214,124,116,181,102, 25,
+ 60,157,136, 56,163,176, 34,242,208, 71,186, 74,211, 6,216, 32,208,133, 65,121,143, 49, 10, 35, 36,174, 44,145,198,160,165, 0,
+ 99, 88,233,130, 43,235,185, 50, 5, 97, 84, 35,141,161,200, 62,241,149,169, 40,117,193, 68, 26,222, 28,207,248,198,201, 93,190,
+124,248, 2,111,222,122,129, 77, 1,237, 38, 98,138,164,136,102, 32,201, 39, 3,134,128,182, 14, 29,194,117,251, 62,181,230,143,
+145, 52,215, 36, 24,129,124,110,102, 24,159, 53,207, 13, 1, 92, 79,108,182, 9,255,208,108,210,218,213, 26,155,233,204, 35, 83,
+ 49, 82,145,215, 71,154, 3, 31, 24,107,133,209,154,166,111, 56,174, 70, 92,132,192, 69, 36,157,139, 85,153,214,131, 23,136, 66,
+ 38,206,251,248,132, 63,248,189,127,203, 87,191,252, 26,135, 71, 53,101,169,105,214, 45, 62,108, 40,138, 18, 79,214,112,176, 22,
+225,114, 97, 28, 4, 50, 68, 42, 97, 57,213,201,120,201,147,204,149,238, 59, 65, 35, 53,171,117,203,249,213,130,127, 60,255,152,
+248,224,193,174,120,121,222,200,234,179,152,166,120,159, 37,178, 51, 53,181, 27, 24, 47,137,151,222,117, 22, 39, 36, 86, 12,179,
+ 56,207, 23, 75,201,151,181,196, 10,193, 76, 40, 90,173, 56,208, 53,125, 81, 82, 85, 99,222, 67, 51,153,207, 88, 72, 9, 71, 7,
+ 80,141,211, 94,240, 54, 83,222,114,102, 90,100,145,156,103,188, 31,241, 84, 80,175, 10, 56,190,157,104, 62, 38, 75, 21, 6,153,
+230, 45, 49, 5,183,228,103, 46, 97,187,200,115, 72,151, 90,243, 93, 6,207, 13, 92,220,231,125, 44, 46,121,239, 71, 63,250,167,
+ 13,232,195,205,209,250,241,153,250, 48,155,188,238, 61,101, 85, 53,113,141,100,130,206,226, 47, 87,220,211,150,191,254,135, 95,
+240,183,127,253, 99,126,254,227,159, 96, 31,158,239,184,244, 64, 49,210, 20, 82, 18,144,200, 8,125,219,167, 42,207,219, 4,136,
+155,212, 41,200, 21, 89,216, 63, 59, 30,129,228,100,122, 68, 81, 84, 8, 4,101, 89, 96,116,193,217,253,251,112,177, 72, 1,240,
+243, 28,222,194,103,119, 49,177, 83,105, 27, 90,240,106, 79,143,125, 0,194,133,152,240, 15,131,216, 79,200, 82,132,195,124,215,
+186,157, 25,129,218, 75, 16,100,166,163,233,220, 46, 14,121,150, 62, 0,232,134, 64,231,243,235, 16, 62,243,230,227, 78, 72,195,
+125,194,251,147,185, 26, 22, 25,239,160, 18, 0,209,150,138,227,122,130,136, 26, 79,199,166,109, 82,238, 98, 35, 77,219,178,217,
+172,177,193, 33,240, 92,110, 55,188,191, 88,167, 74,176,239, 18, 72, 39,186, 79, 47,134,228,178,125,218, 40,163,197, 69, 62,230,
+ 6,231,167, 33, 25, 9,225,218,246, 87,213,146, 90,106,154,174, 3,231,115, 87, 57,105,110,143,181,100,166, 4, 90, 70,100, 16,
+180,249,255, 99,231,114,245,151,199, 84, 33,215, 80, 42,175, 79,216, 73, 38,127,222,160, 62,158, 96,199, 37, 98, 54,162, 86, 21,
+ 86, 8,140, 20,120,169,216, 4, 16,209,211,187,192,207,207,182,233, 16,178,185,179, 85,229,222, 94,153,173, 34, 7, 21,201,227,
+ 99,222, 60, 61,226,219, 55, 78,121,101,126,204,216,148,220,170,107,102, 53,188,251,209,197, 39, 84, 54,164,174,132,202, 35,169,
+ 40, 83,167,108, 54, 70, 30, 28,240, 95,221, 56,230, 55, 15, 79,248,114,173,248, 94,211, 36, 34,189, 82, 89,193, 81,164, 2, 66,
+ 6, 68,187, 77, 24, 13,101, 32,170,164,112,150, 41,154, 34, 88,132,243,105, 47,201,154,216, 53,252,227,213,138,218,120, 26, 7,
+ 54,106, 58, 34,143,250,158,171,174,229,106,211,224, 4, 60, 90, 47, 88,249,158, 38, 10,164,136, 4,169, 57,239,183, 44,206, 23,
+212, 86, 34, 99,164,191, 76,250,237,205,217,138,247, 63,126,200, 59,155, 5, 75, 28,189, 49, 44, 66,100, 29, 5,157,128, 94, 9,
+162,146,184, 66, 83, 35, 40,181,102,235, 29,141,143,156, 26,205, 66, 42, 52, 80, 43,201,149, 11, 89, 96, 69, 35,141,162, 54,138,
+224, 3,227,162, 32, 56,199, 68,192,239, 31,156,242,214,209, 13,222, 60, 58,230,246,244,128,147,209,156, 87, 79, 95,228,214,205,
+ 35,198, 55, 15,185,156, 76, 49, 40,116, 52,152,222,163, 99, 72,254, 34, 90,161,133, 64, 27,205, 75,191,255, 91,252,214,191,250,
+ 54,239,255,240,251,123,192,185,180,215,196,175,110,245, 60,255,140,181,110, 39,197,218, 88,124,219,211, 41,193, 68, 41, 14,162,
+229, 11,227, 57, 70, 74,182, 93,195, 68,107,214,193,113,223, 59,206,107, 67,172,139,164, 89, 48,159,194,180, 66,212, 19,168,102,
+188,245,141,223,226,213,147, 91,220,185,123,152,140,209, 10,205,118,177, 96,219, 45,209,122, 76,101, 42,180, 20,216,222,226,131,
+165, 42,167, 84,101,133, 86,130,117,111,185,108, 87, 64,160, 87, 37,231,162,228,222, 38,242,254,217, 5, 15,175, 46, 88,244, 29,
+ 31,174,175,114,155,198,254,106, 26,230,103,217,110, 58,251, 99, 12,194, 82,248,157,163,102, 22,152, 18, 34,123, 92,100,253,144,
+127,165, 34,175,104, 77,140,130, 40, 37, 94,107,130, 50,196,162, 32, 42,131,169,107,110,205, 14,121,235,240,152, 87, 38, 35,190,
+122, 56, 69,142, 20,139,160,240,155, 62,117, 60, 7,224,111,255,124,234,201,112,175,119,189,106,153,196,111, 0, 66,103,243, 6,
+ 79, 98, 13, 97,177,222,189,129, 34,207, 9,201,213,156, 41,118,200,221,255,216, 31,215, 51,245,103,180,224,187,103,252,110, 12,
+172,191,255,206,227,200,104,178, 60,108,159, 17,253, 66,210,135,128, 18,146,198,237,169,129, 13,207, 17,114,160, 51, 25,193,108,
+179,222,112,173, 88,116, 45,186, 54,140,138, 10, 98,224,193,197, 85,162,189,225, 62, 63,101,201,229, 85, 88,200, 93,111, 45,228,
+ 27, 24,179,165,223,208,146, 31, 42,244,161,242,206,146,181,248, 61,109,233,125,253,230, 32,119,191, 59, 84,225,158, 29, 94,162,
+207,143,207, 48, 47,222,123,158,235, 36, 74, 62,221,106,255, 85,239,229,218,180, 40,166, 4, 98,185,101, 89,151,124,108,206,184,
+ 53,191, 65,187,134, 66, 43, 30,245, 45,211,106, 66,227,182,172,109, 75,239, 90,206,183,107, 70, 90,103, 11,183,161, 99, 96,159,
+125, 94,253,230, 87,249,131, 55,190,194,229,250,146,159,252,217,159,239, 81,169,100,122,238,206, 67,185,135, 11, 40,196,174,163,
+240,228,230, 89, 54,220, 15, 29, 69,244,212, 82, 97, 2,212, 49,210, 92,231, 93,158,145, 16,140,138,200,184, 80,124,180,241,232,
+218,208, 53, 57,217, 17,185, 67,224,179, 32, 77, 17,118,116, 63,177, 55,139,127,214,136,233, 73, 4,212,254,124, 48, 4, 38, 99,
+131, 17,146, 7,222, 18, 28, 76,235,154, 70, 72, 86, 4,106,105, 80,101, 65,121,235,128,110, 93, 37,112,226,102,149,124, 14,164,
+ 78,235,160,205,143,183,222,130,214,188, 54,159,112, 48,158,227,128,201,104, 12, 69,203,201,244, 34,181,205, 99,183,163, 48,198,
+240,196,117,119,160, 38, 9,135, 51,170,210, 11,108,151, 32,111,242, 71,163, 41, 47, 31,222,192, 16, 48,245,152,255,252,141, 13,
+255,253,213, 50,177, 71,132, 72,201,114,151,169,137,179, 99,104, 22, 73,153, 76, 8, 98,244,196, 32, 8, 69,133,167, 69,248, 2,
+161,122,112, 13, 81, 58,194,106,193,255,248,195, 31,243,199, 95,182,156,110,206, 56, 60,184, 73,208,154, 77,112, 8, 17,136,206,
+177,240,142,166,247, 28, 25,195, 88,150,200, 24,233, 8,220,243, 27,126,242,238,247,184,251,209,156,187,245, 1, 49, 4,150, 93,
+195,125,215,112,105, 20,177,186, 69, 17, 60, 99, 20, 86, 66, 85, 8,172,139,168,210,224,189, 37,170, 4,232,155,234,130, 96, 91,
+238,175,215, 28, 72,201, 74,105, 46,235,146, 19, 33,216,216, 64,239, 60,194, 24, 92,140,152, 16, 57, 40, 12,213,100,196, 29, 51,
+231,166,214,148,194, 80, 0,117, 41, 49, 82, 48, 81,130,155,197,203,252, 54,183,249,195, 91, 75,214,205, 10,239, 35,139,230,146,
+224,123,218,118,203,119,239,159,241,198,180, 4, 34,127,247,203, 11, 52, 63,161,218, 76,177,199, 22,233, 92,166,188, 61,223,140,
+ 37, 60,177,172,196, 19, 95,175, 63,182,109,250,220, 20,240,240,130, 7, 55,142,240,243, 17,191,109, 74,108, 76,182,197, 91, 31,
+104, 66, 96,163, 5,161, 39, 37,100,163, 2,209,247,144,145,245, 71,102,202,203,167,183,208,133,164,109, 91,148, 80,172, 87,107,
+ 58,219, 98,132,161,210, 26, 99, 74, 84, 47,217,148, 27,156,243,116,182,167, 46, 43,140, 48, 72, 25,120,180,241,172,195,150, 35,
+113,147, 27,167,167,220,169, 74, 46,214, 91,254,254,254, 61,126,182,188, 72,227,227, 27,135,105, 45, 62, 20,136,216, 37,252,192,
+147, 45,248,231,181,226,181,126,186,213,237,246,168,220,195, 57,167,117, 2, 76, 11, 11,141,134,106,192, 12,165, 98,238,102, 93,
+ 80,133, 12,141, 39,209,249,188, 16,148, 66, 33, 67, 90,189, 18, 0, 0, 32, 0, 73, 68, 65, 84, 76,133, 82, 5, 5,146,178,170,
+ 56, 86, 5, 86,151,252,142, 80,188, 57,170,249, 15,135, 35, 30, 60,218,164, 89,123,187,218,141, 8,247,164,154,227,115,103,234,
+151,103,132, 91, 47, 82, 24, 67,143, 73,104, 93, 35, 9,189, 75,122,191,171, 85,170, 78,135, 57,106,116,185,117, 25, 62,191,201,
+202, 63, 53, 88,238,211,102,161, 58,255, 78,208, 79,247,158,134,116,103, 82, 82,206, 43, 42, 85, 64,244,196,172, 42,182,123,140,
+204,113, 28, 2,251, 32,206, 63,184,132, 69, 88,111,215, 84,198,176,217, 88,148,134, 69,179,205,129,242,215,189, 96, 46, 43,142,
+ 13, 1, 54, 87, 70,131, 81,192,254,195, 15,115,221, 97, 49, 63,121,173,202, 98, 15, 13, 63,152,222,228,191,177,125, 62,144,217,
+ 89,177,178,159, 48,236, 61,135,149, 59,128,218, 39, 9,165, 60,121,239, 68,230,148,123,145, 64,128, 77,199,163,237, 22,207,199,
+ 76,203, 25,203, 54, 80, 21, 53,109,215,115,222,174, 9,177,231,188,217,114,119, 58,231, 39,239,190,151,109, 11,179, 71,184,205,
+ 9,166,206, 55,122,160,245, 45,155, 20,208,207, 30, 60,254,220,165,220,157,106,206,166,214,112,204,116, 1,235,118,110,106, 82,
+160,240,148, 74,227,109,100,162,253,181, 56,247,180,132, 62, 68, 70, 67,135, 72, 64,141,192, 17, 49, 72, 14,203,200, 85,227, 41,
+ 10, 65,223,199,107,145,149,235,192,222,231, 36,194, 15,236, 4,118,216,137,200,227,192, 69,246,112, 18,143, 25,170,164,100,243,
+162,117, 92, 85, 61,166,168,120,179, 26,177,245,129,121,161,184, 93, 22, 80,107,126,122,214,225,166,227, 20, 56,199, 53, 52,147,
+212,105, 82,185,251,118,152,125,158,111, 30, 2,240,161, 11,156,122,199,188, 30,177,142, 9, 85,254,115, 49,130,187, 55,179, 64,
+ 71,158,151,219, 38,113,112,135, 57,189,206, 20,216, 81,150, 9,181, 29,152, 41,244,158, 18, 69,235, 61,186, 44,185,180, 61,247,
+228, 56, 29,192,219,188,222,218, 85,214, 84,128,232, 54, 8, 89, 37,198, 9,128,169, 9,177,133,190, 69,148, 18,175, 29,201,203,
+203, 19,131, 33, 72,139,235, 44,127,254,131,159, 80, 77,198,124,245,246, 1, 7,163, 41,211,201, 49, 94, 73,180,237,152, 22,134,
+ 64, 75,140, 21, 94,168,164, 18, 38, 53,141,235, 89,232,130,127,247,241, 47,105,253, 59,220, 85,138,169, 72, 9,238,120, 60, 71,
+ 53, 51,162,168, 17, 46, 80, 58,207,184, 44,105,125,164, 12,142, 66, 10,164,139,212, 74, 96,163,134,178, 64,245, 13,139,222,114,
+ 82, 4,218,135, 87, 60, 82, 42,205,134, 77,133,236,122,122,165, 57,174, 12,115,231, 57, 42, 74,102,133,100, 60,170,208, 94, 16,
+ 60,232, 40, 24,213, 6, 23, 3, 39, 58,210,183,150, 23,102, 71,248,241,148,109,223,162, 14,142,216,174, 86,152, 99,205,159,190,
+ 96, 9,182,131, 16,249,227,155, 11,198,122,204, 95,254, 73,228, 7,139, 43,238,125,188, 66,108,214,233,108,216,174,247,230,241,
+ 79,207,101, 3,207,159,213, 62,133,239,161,135, 51,203,217,162,228, 63,224,120,125, 62,101, 90, 86, 52, 4, 62, 34,226,115,130,
+ 47,149, 36, 56,203,100, 50, 99,235, 35, 7,186,228,141,201, 41,135, 71,167,104, 96,185,106,104,150,139,196, 32,235,122, 92,238,
+222,105, 81, 32, 10,197,184,168,177, 46,205,227, 93, 8, 24, 85, 50, 42, 39,156,140,239, 48, 26,157, 82,141,231, 28,206, 11,188,
+240, 28, 90, 5,116,185,109, 77,106,251, 31, 29,164,222,253,213, 26,161,214,169, 3,173,158, 0,166,150, 69, 6,196, 13, 2, 90,
+123, 1,127,112, 68, 30, 18,237, 46, 51,120,186, 39,227, 79, 46,150,108,159,215,114, 65,215, 58,238,107, 79, 21,224, 5, 41,177,
+ 58,160,133,196, 75,197, 10, 65, 39, 13,133, 41,241, 66, 82, 32, 40, 39, 19,188,210,160, 75,250,224,185,121,224,121, 16, 11, 68,
+223,130, 60, 76,230, 98, 0, 23, 23,169, 8,242, 22, 97,219,103,204,212,173,131,209, 4, 68,106,213, 17, 21,170, 40, 18,191,174,
+207,173,151,245, 58,101,245, 42, 62,157,195,133,248,207, 75, 99,251,181,231,240,123,222,225,215, 1, 43,238, 60,164,111, 30,242,
+214,171, 55,185,115,112,192, 23, 79, 79, 56, 28,141,185,236, 27,182,157, 77,128,143,109,159, 5, 11,212,227, 8, 20,124,214, 36,
+214,215,109,254,109,116,108, 93,199,102,211, 18,109, 6,140,100, 32,196,231, 31, 57,228, 3,221,100,196,110,200, 96,110, 53,112,
+ 30,213,238,103, 3, 53,237,121, 20, 8,145,233,105,206, 63,238,154,229,195, 78,100,199,231,121,167,217,227, 92,135, 12,126,203,
+163,154,235,118,250, 32,123,250,228,122, 24,168,135,207, 90, 39, 3, 22,194,199, 68,225,216,108,177,214,177,180,158,179,237,150,
+243,109,195,131,245,146,181,107,121,240,209, 25,139,179, 75,250,224, 57,251,229,199,169, 37,232, 92,162,202,181,155,235, 0,124,
+109,247, 58, 0,250,154, 13,103,103,107,184,119,111,119, 45,116, 86,212, 27,212,239,204, 96,137, 40, 82,203, 46, 88, 16,146,209,
+ 48,197,136, 73, 30, 82, 33,169,164, 36, 34,152, 86,130,109,155, 80,240,133, 16, 76,132,160, 18,146, 82, 72, 60,176, 33, 85, 99,
+ 83, 69,146,161, 53,130,198,250, 93, 22, 25,124,222, 83,236, 84,255,180,120,220,229,110, 96, 16, 12,159, 3,102,226, 73,183, 52,
+ 37,161,168,137,227, 26,111, 12, 95, 51,154,219,147,146, 73, 97,152, 20, 37,117,140, 92,161, 40,203,154,149, 22, 68,163, 96, 92,
+241,173,249,156,201,168,230,168,212, 76,235,154,182, 52,248, 34,105,183, 63, 16, 2,107,198,212,178,100,105, 3, 15,125,228, 47,
+122,155, 70, 21,211, 58,181, 84,235, 42, 29,158, 78, 36, 60,133,218, 51,126, 10, 38,143, 97,178,147, 95,173,249,176,174, 56, 84,
+ 21,107,161,121,216, 88,254,175,197, 34, 21, 13,171, 77,154, 25,146, 57,189, 33, 37,146, 66,237,113,136, 67, 50,129, 17, 82,165,
+100, 80,120,162,211,217,249, 44, 16,188, 38,120,135, 15, 2,219,247,124,240,104,193, 47, 30, 46,248,201,251, 31,227,101,203,173,
+170, 96,109, 91, 42, 1, 54,122,148, 84, 68, 4, 93,102,106, 60,180, 45, 63,109, 59,250, 40,121, 20, 5, 11, 41,240, 81, 34, 70,
+ 35,182, 14, 54, 50, 73, 63,203, 82,179,234,193,107, 65,139,196,118, 62, 77, 25,250,192,185, 75,244,182, 90,105,214,174,165,107,
+ 90,138,174,165,245,142,105,215, 34,156,101, 29, 60, 68,207, 77, 34, 50, 6, 70,193,115,208, 5,198,198, 96,140, 65, 8,137, 48,
+201, 22,212, 55, 29,218, 5, 74,173, 40,163,199, 40,201, 44, 66,129,224, 96, 52,166,234,123,102, 74,115,247,228, 46,135,229,132,
+187, 7, 55,153,160,121,101, 60, 99, 90, 21,220, 60, 40, 57, 62,158,115,223,133,228,103, 97,178,194,227, 51,206,132,103,241,220,
+159,213, 36, 18,251, 0,178,174,227,131,203, 53, 75, 21,249,229,178,225,103,109,203,125,235,120,100, 61,181, 73,254,244, 65, 42,
+ 74, 97,232,189,163, 42, 10, 14,202,212, 1,170,234,130,224, 60,190,183, 28, 11,149,196,124,164, 78,115,242,124, 22,117,237,150,
+214,181, 52, 93,139,144,129, 82, 75,148,212,124,233,139, 95,225,173, 47,222,226,133, 91, 83,156, 11,184,182,101,187, 89,241,211,
+243,143, 88,186,212,114, 23,190,231, 15,142,143,249,234,201,156,175,221, 60,226,167, 93,158,135,111, 87,215,227,190, 84, 88,100,
+155,102, 23,174, 19,202,199,180, 33,158, 44,134,194,243,207,102, 49,140,214,250,164, 40,121,207, 59, 94, 19,138,211, 66, 97,133,
+162,146,145,165, 52,108, 77,197,123,202, 96,131,167, 82, 5,163,202,224,156, 69, 41,201,170,107,153,148,117, 82,254, 35,208, 76,
+103, 80, 23,188,122,122,147,171, 73,205, 23,111,223, 69, 31,205,217, 72, 13,162, 64, 68,123,125, 63, 51, 79, 93, 39,222,172, 46,
+144,179, 41,135,147,138,173,239, 40,141,225,133,195, 9,203, 77,147, 14, 79,223,165,202, 98, 0, 81,197, 12, 78,250,255, 67,235,
+253,179,130,235, 30, 75, 71,247,200, 33, 90,162,110, 28,242,133,211, 27, 28,141,166, 8,169, 41,141,161,150,134,251,143, 22,176,
+220, 38, 47, 95,155, 91,167, 3, 69,141, 62, 27,151,144,218,153,209,239,108, 77, 93, 6,165, 53,109,250,217, 16,124,126,237,113,
+131,218,155,205,202,157,189,168, 12,187,121, 59,159,208, 10, 31,244,248,133,222, 33, 83, 7,217,215,161,125,175,242,123,244, 46,
+ 3,231,220,238, 58, 10,118, 62,196, 3, 40,234, 73,127,119,153,219,250,195,235, 24,126,102,178,203, 92,161,211, 92, 74, 85,153,
+ 62, 37, 19, 86,227, 60, 39,145, 23, 87,208,116,116, 31,159,165, 86,236,106, 3,171,203,140,109,112, 41, 0,119, 93, 58,244,227,
+ 32,115,251, 68,192,235,250,116,223,246,175,133, 12, 9, 23, 50,188, 23,155,109, 78,251, 28, 60,124,234, 66, 89, 37,137, 54, 50,
+ 83, 17,163, 12, 70,169,132,237, 83,201, 9,111,170, 19, 8,178,212, 18,239, 2, 90, 68,180, 80,196,224, 57, 18,130, 86, 66, 25,
+ 21,133,132, 71,157,163,148, 18, 59,236, 33,177,135,141,136, 89,194,214,103, 45,247,225, 62, 12,238,130, 33,238, 2,250,112,178,
+ 74,145,240, 12,195,232, 99, 50,130,113,205,183,234,146,131,210, 80,233, 34,255,151, 32, 10,201,105, 85,112, 97, 3,189,209, 40,
+ 93,242, 95,158, 28,163, 11,195, 87,167, 51, 94,153,159,242,226,168,230,214,104,204, 5,130, 38,235,226,159,201,146,159, 8, 73,
+135,226,163, 24,248,102,125,192,116, 52,162, 46,167, 44, 76,153, 42,241,186, 78, 96,199,241, 8, 14,143,146, 2,227,124, 14, 47,
+156,192,205, 99, 56,152,229, 89,125, 2, 12,189,173, 75,254,161,115,188, 61,236,163,205, 50,119, 70,178,102,252,208,114, 50, 69,
+178,162,214, 10, 38, 19, 68,111,179, 70, 70,204, 1, 29,136,150,232, 83,130, 27,133, 32, 72, 75,240, 17, 79,139,119, 61,190, 89,
+225, 55, 13,143,174,122,230, 99,141, 11,142,149,247,105,164, 80,214,184, 24,233, 99,196, 70,199,207,187, 45,247,109,196,134, 72,
+ 48,154, 82, 87, 84, 85,137,143, 10, 39,116,214,132,143,108,162, 72,213,121,161,105,123,143,147, 2,219, 71, 2, 30, 25, 2, 50,
+ 6,150,192, 44, 8,108,179, 37, 10,137,246, 29,173,237,120,232,122,198,170,224,170,107,208, 8, 78,138,146,109,211,112, 56, 30,
+ 99,172,199,117,150,222,246,108,150, 13,205,106,139, 80, 18, 25, 60, 90,165,253,166,173, 69, 70, 40,164, 64,216,158,170, 44,153,
+140, 38,200, 16, 41,116,137, 86, 9, 7, 84, 10,197,152,200,188,168,168, 75,195,237,113,197,237,155, 71,232,131, 25,231, 49,161,
+182, 99, 84,136, 66, 94, 87,161,226, 57, 85,186,248,196, 66,195,179,184, 92,113,177,217,178,186,108,217,110,123,204,124, 76,107,
+251,196,185, 23,176,117,142, 73, 61, 38,184, 4,110,156,152, 9,133,146,188, 60, 46,184, 83, 24,122, 23,121,233,240,128,224, 60,
+ 23,222, 99,148,192,123,143, 11, 61,235,229, 58,123, 68, 8,170,170,100, 92, 76,185,123,247, 5, 78,143,198,180,157,231,195, 15,
+ 47,120,255,253,123,188,255,224, 30,255,112,249,113, 94, 75,129,175,207, 15,249,198,108,202,171,227, 99, 94,153,158,240,218,164,
+230,123,203, 62,117,142,252, 54,123, 64, 20, 41,150,177,199,126, 25,198,146,195,121,166, 63,155,197,184, 8, 33,159, 71, 1,235,
+ 3, 45, 34, 41,123, 35,248, 32, 70, 26,163, 88,203,130, 51, 93, 49, 47,106, 74, 4,194, 7,148,210,120, 31,168,180, 97,217,183,
+ 32,193, 41,205,157,162,224,119,142,143, 57,156,204,249, 55, 71, 55,184,115,114,131,215,166, 51, 78,111,221,228,157,135, 15, 96,
+ 60, 69,116,201, 5, 81,113,252,133,239, 48,174,160, 24,163,238,220,224,180,154,242,141,187, 47,115, 88, 87,220, 28,143, 9, 34,
+208,201, 64, 95, 23, 41,131,185, 56,223,129,121, 2,255,178, 42,244,231, 5,245,129,214,165, 36, 20,134,151, 94,187,197, 23, 78,
+ 94, 68,171,132,188,157,212, 83,100,132, 43,183,101,251,224, 44,169,198, 57,118,252,112, 57,248,118,103,145, 27,225,179,169, 73,
+ 22,218,240, 54, 85,146, 49,236,132,250,127,173, 96,206, 14,196, 37,247, 42,235,152, 27,104, 49,235, 22,199,248,233, 28,240,100,
+142, 20,131, 82, 30,113,231,164, 55, 84,249,170, 72,149,186,235, 51, 80,196,239,124,210, 7,245,180,103,129,188,134,128,222,239,
+129,215,170, 34,211,229,246, 90, 96,186,206, 45,248,172,143, 44,115, 23,164,219,164,107,230,187, 4,136,178,118, 7, 26,177,109,
+ 6,251,181,105, 3, 41,185, 75, 52,158,236, 68, 8,241,244,181, 24, 50,114,138,236,247,154, 77,138, 6,160, 92,182,127, 36, 68,
+ 70, 70,210, 91,152,142, 36,129,192,204, 72,148, 74,192,163, 40, 4, 42, 70,148,143,140,149,202,183, 39, 82, 74,201, 50, 4, 70,
+ 8,150,206,225,124,224,164,212, 44, 93,192,134, 44, 19,123, 45,216,148, 49, 28,110, 24,223,200,148,104,239, 3,207, 76,110,209,
+203,189,170,125,160,222,201,108,170,164, 10, 78,166, 5,191, 49, 29, 37,203, 16, 9, 82,168, 36,217, 47, 53, 49, 70,206,163,228,
+202, 59,254, 85, 61, 97, 90,143, 57, 40, 19, 40, 73,232,164,175,239,164,100, 29, 4,107, 83,226,101,210,208,126,179, 26,241, 82,
+ 89,243, 70, 57,226,112, 82,112,219, 24,238, 78,102,220,119,158, 70,155, 20,124, 77,145,130,187, 34, 7,246, 57,212,211,164,164,
+ 86,142, 18,168,180, 30, 37, 64, 92, 81,165,170,222,231, 49,134,206,236,131,211, 35, 56,152,195,237, 91,240,210,203, 48, 31, 39,
+ 5,179, 81,137, 32,173, 53,209,219,244,183,109,159,174, 65, 93, 19,157, 79,183, 74, 65, 36, 16,100, 32,108,219,107, 58,151, 15,
+ 61,206, 74,222,221, 56,222,238, 44, 63, 95,116,160, 60,115, 9, 94, 68,214,221,134, 95,118, 45,127,189,233,112, 62,226,180,162,
+ 48, 5, 85,161, 83, 34,107, 84,178,142,168, 52,222, 90,130, 8, 20,186, 96,221,121,138, 66,225,251, 64,235, 2,227, 90, 33, 67,
+228,188,235, 41,219, 22,215,111, 89,119, 29,135, 66, 18,251, 13,155,108,151,252,151,151, 11,180, 52, 88,223,177,218,180,148,165,
+161, 82,154,198, 59,206,182, 91,214,235, 37,163,224, 88, 54, 43, 46, 23, 75,198, 69, 1,206, 82, 6,144, 74,161, 70,163,100, 56,
+ 37, 64, 27,131, 12, 1, 51, 30, 35, 11, 67,236, 44, 82, 72,124,215, 19,162, 67, 16,168, 99,228, 70, 85, 51,175, 43,230, 82,242,
+165, 27,135,204, 71, 37,167, 39, 51, 62,242, 50,221, 39, 15, 20, 50, 25,233,236, 7,114, 83, 93, 43,159,137, 33, 41, 55, 89, 46,
+251, 73,108,144,207, 50,196,182,199,159,111, 32,251, 35, 56, 27,136, 82, 19,157, 99,166, 21,117, 81, 35,108,195,235,199, 7,220,
+172, 13,194,104,238,206, 70, 68, 41, 16,163, 49, 87,162,166, 52, 83, 80,138,182,185,226,170, 89,114,177,217, 18,133,199,132,228,
+150,119,114,227,132,211,195,154, 66, 71,222,189,247, 49,255,221,223,253, 61,247,126,244, 54, 60,122,148,206,177,202,240,159,221,
+188,201,216,140, 57, 24, 79,169, 71,147,164,237, 63, 86,188,127,209,164,115,121, 48,123, 26, 58,183, 66,166, 49,156,214,187,121,
+249,224,255,190,223,225,251, 85,182,199, 60, 97,174, 19,225,172,135,191,223,182,172,140,230,255,232, 61, 27, 17,248,113,151,220,
+222, 14,138, 2, 45, 37,198, 40, 20,146,222,247, 52,206, 18,131,165, 17,145, 62,104,222, 56, 56,228,203, 7, 71,188, 57, 59,225,
+100, 50,225, 11,211, 25,186,158,224,123,199,139,119, 95,194, 23,176,157,207,241,219, 30,197,173,175,127,167,120,253, 53,126,251,
+173,183,184,125,116,135, 47,156,188, 64,223, 59, 94, 56,189, 65, 64, 81, 98,120,245,228,148,113,169,120, 24,186, 68, 73,217, 54,
+255,241,228, 96,127, 29, 16,221,116,156, 14,154,224, 30,159,167, 40, 9,163, 89, 82,207, 67,177, 80,130,163, 81,205,141,195, 91,
+ 40,101,232,251,150, 85,211,176,108, 59,150, 87,219,212,150, 85, 50, 85,121, 74,102, 26,160, 73, 65,170,168,118,104, 93,153,179,
+187,144,171, 48,235, 19, 55, 58,248,207,247,250,149,206, 7,162,201,128, 46,191, 11,164, 82,114,109, 24, 48,160, 56, 62,109, 7,
+101, 8,132,215, 78, 65, 50, 7, 16,151,186, 1, 34, 39, 38, 67, 75, 91,102,231, 62, 33,115, 64,205, 63,123, 86, 2,161,116,174,
+162,195,238,112, 24,218,243, 67,139,182,172, 82, 21,237, 99,146, 53,141, 3,207,222,237, 56,243, 3, 72,103,176,253, 29,222,219,
+190,225,201,190,205,235,245, 33, 19,158, 47, 97, 44,179,175,177,200,221,148,114,143, 22, 41,228,206,233, 45, 66,105, 20, 69, 5,
+ 93, 23, 81, 82, 33,133,160,146,208, 33,216,246, 9,253,174, 68,162, 25, 85, 34,153,236,180, 49, 80, 10,201,202, 5,106,145,230,
+139, 23,214, 17,163,160,243,123,140,132,152,105,145,131, 85,163,202, 38, 61, 46,236,128,144,131,221,192,181,244,236, 94,151,201,
+101, 33,160,152, 16,231, 91, 83,241,133, 81, 65, 97, 12, 18,129, 86, 26, 45, 21, 13,129, 82,105, 30,118, 29, 7, 90,243,202,100,
+130, 64, 49, 46, 42,150, 33, 82, 86, 37,202, 20, 56,153,146,138,119, 35, 68, 93, 66, 89,242,133,162,226,165, 81,197,100, 50, 98,
+102, 10,122, 37, 17, 40, 42, 93,242,158,203,199,152, 41,178,225,209, 24, 85, 77, 41,170, 9,245,193, 45, 94, 46,199, 92, 84, 99,
+ 40,199, 9, 40, 37,242,186, 48,227, 36,105,171, 10,168,102,233,251,131, 23,224,240, 5, 24, 31, 65, 49,129,249,141, 68,241, 57,
+190, 1,163, 26, 49,171,225,248, 48, 89,179,222, 60,129,131, 3,152, 77, 18,204,231,197, 91,137, 20,114,122, 66,220,110,137,243,
+ 83,130, 13,196, 62, 5,247,224, 37, 65,234,252,189,103,217, 71,182,177,195,227,104,125,224,123,203,134,181,237,241, 2,188, 20,
+ 72,105, 48, 90, 51, 46, 74,180,144,140, 43,133, 8,129,210,104,202, 66,177,218,108, 40,100, 74,152,124, 38,216, 92,173, 59, 2,
+142,166,105,241, 93,195, 68, 8,164,181,172,187, 13, 74,105,238, 89,203,125,107,217, 70,197,205,131,116, 48,247,117,205,187,235,
+158, 63, 59, 95,208, 24,193,195,102,203,155,243, 49, 87,237, 6,169, 37, 63, 95,109,184, 88, 47,144,222,163,187, 6, 89, 24,108,
+187, 69, 42,133, 44, 74,162,115,148,213, 24,161, 13,161,233,145, 38, 17,219,250,174,161,247, 61, 93,223, 80, 41,131, 65, 50,142,
+130,163,106, 68, 41, 37,243,170,102,164, 21,175, 31, 79,169,199, 5,151, 85,141,215, 21,200, 42, 85,239, 93,198, 56,248, 44,165,
+170,117,186, 71, 36,208,173,144,123,238,156, 3,216,246, 9, 74, 28,219, 22,150, 75,196,163, 21, 8,193,111,191,242, 26,175, 31,
+159, 82, 11,152,106,193,173,217,140,211, 73,205,205,233,136, 94, 73, 84,169,233,181, 66,141,107, 86, 62,237,233,174,239, 88, 55,
+107, 54,109, 75,244,158,217,104,194,168, 26,113,124,116,202,104,100,184, 92, 55,108, 87, 27,254,230, 7, 63, 66, 60,120, 23, 54,
+107, 68,212,112, 60,231, 95, 31,157,114,115, 58,197, 34,105, 16, 84,245,136,251,206,243,174,137, 9,201,239,251,199, 99,129,179,
+ 59,134,207,126,251,125,120,255, 70,239, 24, 71,159, 96, 57, 46,246,207, 64,161,192, 40, 30,181, 14,154,158, 51, 7, 75, 23,104,
+117, 96,170, 75,166, 82, 98,144,201,249, 45,128,247, 73, 74,183, 21,130,186, 48,188, 94, 79,208, 74, 81,141,199, 76,234,138,178,
+ 48, 76,198, 21, 91, 97,240,245, 4,239, 37,119,230, 7,232, 89,141,226,139,255,250, 59, 95,188,251, 34, 47, 31,189,128, 41,106,
+166,147,138,211, 27,183,210, 65,160, 74, 78,143,143, 9,189,101, 82, 22,188,113,114, 19, 89, 22,156, 15, 85, 89,215,253,203, 9,
+234,197, 46,227, 39,232,164, 99, 61,124,212, 73,171, 29,163,210,108,112,219, 80, 77, 43,110, 31,223, 68, 75,205,178,109, 88,181,
+ 45, 23,155, 13, 27, 23, 19, 79, 93,202,116,240, 22,249, 48,214, 58, 37, 5,131, 83, 79,204,183,212,250,236,207,219,165, 25, 75,
+223,124,190,215,111,116, 10,118,131,115,208,224,165,190,111,217, 39, 7,112, 88,120,218,138,243,147, 40, 43, 3,189, 75,136,132,
+172, 31,146, 29,231,118,146,167,125,150,160, 29,156,246,244, 30,207,251, 89, 45,254, 65,138,118,160, 77,117,109,202,238, 7,219,
+ 94,159,223,147,235, 82,181,172,179,231, 59, 89, 31, 89,100,209,155,144,129,153, 90,237,172,128,159, 21,160,165,120, 60,160, 15,
+137,195, 53, 46, 32, 60,141, 40, 31,232,127,168, 52,203,142,153,194, 55,140,100, 50,136, 74,201,200,177, 74,122,219,189, 23,140,
+181,196, 75,208, 8,188,134, 34, 36, 97,156, 81,136,108, 0, 35, 69, 22, 49, 12,212, 82,112,238, 28,189,143, 40, 37, 65, 4,156,
+144,248,193,181,238,122,110,158,120,173, 41,232,229,228, 74,239,129, 31, 7,223,250,161, 13, 47,242, 97, 51,140, 49, 68,154,168,
+ 81, 26,142,198,134,137, 22, 4,161, 81, 49,160,149,160,140,146, 69,240,124, 28, 34,183,116, 65,109, 20,149, 80, 56,146,252,104,
+140, 73,116,197,122,152,143, 70,108,187,158, 11, 83,242, 39,245,136, 27, 85,193,164,210,172,123,201,214, 58,166,245,152,117,231,
+169, 10,205, 54,194, 66,170,228,163,173, 52,255,230,224,152,215,170,146,111, 30, 28,240,166, 81,188, 80, 87,124,105, 52,199,171,
+130,243, 8, 20, 35, 48,163, 68,133, 53, 89,196, 67,104,168,231,188,121,122,147,163,106,204,241,244,152,249,193, 49,186,154,178,
+173,166, 41,176, 76, 15,161, 62, 64, 40, 5, 55,110,165, 81,195,104, 12,167,119,136,211, 10, 78,239,192,241, 65, 18,105,185,243,
+ 42,193, 89,226,184, 78,129, 60, 42, 66,232,137, 69, 73,208,154, 16, 36,182,119, 60, 90,116,188,211, 90,126,126,177, 98, 11, 4,
+231, 9, 74, 16,140, 33,104,195, 72, 43, 42,169, 56, 25,149, 28, 9,137, 38, 48, 17, 18,235, 60,181, 86,184,222,179, 70,208, 90,
+203,213,118,131, 13,145,179,117,131,116, 45,139,190,229,253,205, 21,219,118,205,165, 11, 60,176,150,183,215, 27,154,168,249,210,
+141, 99,238, 93,109,153,215, 21,203, 69,139,168, 38,220,170, 43, 30,246, 17, 99,106,230, 37, 28, 77, 39, 60,104,123,126,210, 57,
+ 54,120, 86,214,178, 45, 12, 86, 21, 68,173, 89,109, 27,150, 2, 58,103,209, 74, 35, 59,143,154,142, 8,157,163,109, 55, 4, 17,
+ 89,119, 43,130, 76,107, 78,132,128, 82,138,224, 29,138, 72,161, 12, 81, 73, 70, 82,115, 50, 26,241, 27,243, 9,119,199, 21,191,
+125, 50,230, 7, 61, 41,217,234, 35, 4, 71,172, 70,185,179,146, 71, 88,213, 52, 37,250,133,222, 25, 67, 61,167, 45,143, 77,221,
+ 2,198, 51,254,248,183,190, 65, 93, 40,230,227, 17,139,245,150, 55,142,142, 41,140,102,153, 3,171, 55,154, 86, 10, 30, 88,205,
+ 58, 10, 54,125,160,117, 93,202,113,125,143, 23,142,113, 89,115, 58,191,193,203,175,190,200,201, 97, 77, 45, 37,239,190,251, 1,
+223,255,127,255, 38, 89, 94, 15, 32, 95, 23, 24, 29,140,121,161, 24, 19,202, 17, 93,132,183,155, 13, 63,107, 60,231,146,164,175,
+210,248,199, 99,129,220, 59,251,134,226, 97,168,202, 93, 62,131,162,218,157, 97,241, 87,119,171,133, 78,166, 66,148,114,135,153,
+ 81, 58,119,153, 34, 91, 45, 57,235,183, 28,102, 7, 58, 31, 44,141,107,233,189,103, 19,123, 30,181,158,111, 30, 30,225,163,224,
+104, 50,167, 11, 1, 93, 26, 58,161, 18,188,100, 92,211,134,136, 42, 39, 24, 89,114, 88, 77, 81,188,249,251,223,249,189,215,191,
+204,209,209, 9,179,217,132,233,108, 66,111, 29,227,113,205,100, 58,162,107,122, 14,142,142, 24, 79, 38,152, 40,185, 49,157, 50,
+ 25, 21,124,100, 52,209,171,164,237,203,191,128, 22,124, 33, 19, 66, 93, 10,184, 90, 39,137,215,161,202,157,206,211,194,204, 51,
+ 63,124,228,226,189,251, 92,200,200,197,122,137, 66,114,182, 89,208, 57,199,230,193,249,206,241,202,103, 91,197, 34, 43,110, 21,
+106, 39,116, 51,208,192, 66, 62,120, 67,191, 19, 98,249, 92, 84,189, 12,112, 25, 68, 13,134, 92,112,255,241,100,230,134,235, 79,
+ 65, 67,213,185,253, 60,120,113, 15, 45, 92, 37,211,124, 91,102, 14,186,205, 74,103,215,214,187,195, 28, 93,236,253, 94,120, 54,
+ 48,110, 8,172,131,150,252, 16,144, 7,249, 88,149,147, 15,153, 65, 42,195, 11, 27,213,233,223,213, 36,139,227,100, 85, 55,181,
+247,250,158,156,113, 13,216,128,253,160, 62, 84,218, 62,211,173, 76,158,227, 15,191, 51,184,221,105,177,167, 83,111,216,167, 68,
+140, 84, 74,114, 52,130, 88,106, 54,109,224,184, 20,180, 34, 82, 72,197,170,207,147, 22, 37, 48, 49, 82, 75,133,138,176,138,201,
+ 86, 17, 34,193,129, 22, 73,203,122, 25, 61, 5,130,101,235,119,246,198, 98,111,138, 41,213, 94, 96, 79, 38, 51,215, 72,222,107,
+250, 98,254,155,225,186,135,176,115, 99,243, 30,164,230, 3, 47,249,210,216, 48, 50, 5,165, 84,120, 17, 81, 18,190,223, 88,254,
+177,177,212, 33,112,168, 53, 70, 21, 8, 20, 74, 9, 36, 18,165, 20,198,104,222, 89,182,220, 11,112, 74,224,229,170,224,120, 92,
+225, 81, 20,218,112,102, 29, 42, 66, 85, 22,172, 28,104, 93,242,190, 77, 35,159, 47,215, 99, 94, 80,154, 23,103, 51,164,210, 24,
+ 35,153,214, 53, 72,197,121,103,121, 80,142,211,107, 53, 38, 85,226,101, 1, 66,113, 52,155,242, 71,163,154,175, 29,141,249,210,
+141, 41,119, 70, 37, 47, 21, 48, 42, 43,222, 9,192,120,150, 70, 46,186,128,178, 66, 84, 19,168,103, 48, 57, 1, 41,121,235,198,
+ 75,172, 17,152,241, 33, 95,120,225, 37, 30, 58, 7, 71, 71,196, 66, 18, 15,230, 68,165,136, 62, 18, 75,157,116,185,133, 36, 10,
+ 79,104, 91,226,122, 73,116,145, 96,123, 66,136, 4,109, 8, 74,224, 68,100,164, 53,115, 41,185,173, 21, 19, 83,114,144,249,241,
+ 83,169, 8,222,226,130, 37, 90, 79,211,247, 68, 68,234,230,245, 45, 15, 58,199,229,118,197, 89,211,208, 70,193,134,142,191,189,
+ 90, 98,189,167, 87,146,208, 91, 94,158, 79, 88, 49,101,227, 29, 71,117, 65,148,138,141,247, 84,101,193,119,207, 22,252,163,215,
+188,189, 13,244, 40,222,241,130, 86,106,182,227,130,179,224,184, 52, 5,110, 90,113,229, 97, 89, 22,116, 93, 11,227,146,208,246,
+116,161,167,151,146, 15, 86,231,132,232,104,162,163, 68, 16,242,248, 69,106,131, 15, 1, 23, 61, 49, 4, 70,198,240,178, 54,188,
+ 88,140,120,101, 58, 99, 41, 5,183,106,195,219, 54,173,179,104,202,108,190,228,136, 62, 32,234, 41,136, 36, 45,139,172,242, 30,
+206, 22,198,207,233,224,138, 32,249,218,183,191,206,235,183, 95, 65, 2,117, 53,226,195,135,247, 64,150, 72, 33, 57, 29,215, 44,
+156, 99,237, 60, 31,108, 61,223,181,145,247,122,203, 86, 68,150,214,129, 48,232,140,111,154,234,146, 27,199,167,220,120,225,152,
+182,179,172,215, 29,255,203, 95,253,123, 46,222,126,251,241,100,194,247,188, 43, 12, 7, 19, 69, 39, 74, 46,189,231,111, 87, 29,
+255, 24,243,121, 98,178, 80,215,229,122,167,136, 58, 36,243,214,238,102,233,195,207,135,194, 33, 10, 30, 67,174,126,146, 95, 67,
+ 85,236,180, 2,148, 74, 8,118,145, 71,136,203, 53,157,150,172,156,165, 16,150,232, 45, 11,219,240,209,182,101,105, 29, 47,141,
+ 12,135,101, 69, 89,142,152,215, 37,173, 20, 68,161,233, 99,224, 96, 84, 16, 98,164,151,130,135,157, 35, 20, 53, 50, 42,212, 27,
+191,251,167,223,121,237,133, 23,185, 88, 52,156, 28, 30, 98,125, 96, 54,175, 48,133, 70,169,196,179, 11, 62, 50,158, 84, 24, 85,
+ 18,188,160,144,134,155,227,154,135,210,167,142,107,111, 63,149, 58,218,103,245, 6,254, 92,195,102,253,156, 57, 71,204, 60,242,
+190,217,153,207,107,157,170,161,186, 78,224, 54,193,206,255,122,189,102,117,209,210,207, 71, 60, 88, 44,176,209,243,232,193,121,
+146,118,149, 49, 29,178, 82,236,132, 96,194,192, 63,222, 67,147,135,144,126, 63,180, 73, 3,217,121,144,159, 19, 3,144, 91,186,
+215,126,221,136, 12,198, 11, 79, 35, 50, 63, 77,142, 37,247,105,103,123,224, 16,173,210,130,179, 62,221,211,129,234, 49, 8,149,
+ 96, 51,152, 45,111,224,231, 25,167, 12,254,229, 58,207,220,219, 46,253,219,229,205, 20,179,233,204, 53,154, 95,239,161,231, 67,
+ 58,188,135, 77, 51, 24, 7,145,239,161, 28,228,136,229,227,111,118,216,116, 79,221,251,184,179, 18,134,116,191, 10,181, 11,252,
+ 65,103, 25, 46,177, 19,229,201,215,199, 86,134, 50, 70, 28,130, 82, 70, 14, 20,120,165,153, 32,121,100, 5, 66, 36,211, 23, 31,
+ 4,165, 2, 31, 99,202, 93,128, 62, 70, 52,130,101, 72, 45,114,161, 5,155, 16, 88,109,193, 23,114,135, 91, 24,238,229,254,235,
+189,238, 20, 12, 82,192,236, 76, 39,246,157,157,134,185,158,247, 57,137,137,169,163, 82,149, 8, 19,121, 96,123,124,176,124,216,
+ 58,174,154,134,239,247, 14,108, 71, 47, 52, 47, 21, 10,225, 61, 83, 93, 82, 41, 5, 8, 98, 8,116,206,241,160,143,252,204, 89,
+ 94, 50,134, 49, 18, 29,160, 67, 98, 16, 28,205, 42,130, 23,233,182, 73,193,251,155, 45,103, 25, 7,240, 71,243, 49,163,178, 98,
+ 99, 29,133,210, 20, 85, 69,219, 71,124,244,152,122,132,136,145,139,152,109,144, 99,128,170, 6,173,248,173, 73,197, 43,227,130,
+162, 50, 92, 89,201,172,214,180, 81, 48, 53,146,195,162,224,189, 62,166,185,188,150, 96,234, 44, 89, 91,242,237,201,132, 63,190,
+117,130,139,146,111, 30, 30,112,211, 20, 40,109,184,115,112,202, 47,157, 39,206, 78,211, 65, 90,150,112, 56,205, 9, 88,145, 80,
+224, 85, 10,114,209, 67,108,151,217, 57, 14,226,166, 35, 78,107,208, 26,129,224,229, 82,112, 36, 36,135, 33, 82,196,192, 17,130,
+121,132,146,136,244,150, 14,203,184,144,244, 77, 79,239, 59,162,132,202,109,209, 74,225,109,199, 13,233, 41,188,199,246,150,211,
+ 74, 80,198,142,159,246,146,219, 35,205,182,179,140,234, 57,103,125, 79,223,119,188, 48,159,243,209,118,203,172, 26,113,217,181,
+204,171,138,217,116, 78, 81, 22, 56, 96, 77,193,249,232, 0,135,228, 92, 22, 52,101,201,251, 27, 75, 51,169,185,208,138,243,174,
+229, 35,165,248,165,119,124, 40, 2, 15,164, 38,120, 79,167, 52,147,232,177, 82,208, 59,135, 21,130,222, 59,130, 86,156, 72,131,
+145,134, 90,105,130,212,156,154,130, 94,107, 46, 10,195,133, 0,186, 44, 79, 43, 69,234,156,217,237, 53, 13, 86,168,228,194,118,
+141,173,121, 18, 85,175,117,114,166, 83,240,240,157,247,121,237,141, 87, 9, 4, 54,171, 75,254,183, 31,255,128,159, 63, 58,231,
+141,249, 33,247, 55, 91,108,148,252, 98,225,248, 65,227,248, 97,103, 89, 72,201,153,179,156, 11, 40,202,146,136, 66, 72, 73,173,
+ 75,142,166, 7, 28, 29, 79,136, 17,238,191,255,136, 63,255,179,127,151,198,194,123,144, 26, 97, 29,244, 29, 63,235, 28,127,223,
+181,252, 48, 68, 46, 84,145, 94, 63, 49,159,105, 89,149,115,219,165,138,122,168,204,149,126, 92,245,242,218, 44, 76,164,243, 63,
+202, 79,198, 44, 93,203, 78,231, 98, 76,155,212,221, 22, 58, 43,210,229,162,230,252,156,245,170,229, 61, 31,233,218,134,101, 12,
+244,222,113,175,107,208, 1, 94,170, 39, 28, 84, 37,231, 65,114,179, 42, 89, 57,203, 65, 85, 98,165,100,209,121, 62, 92, 59,182,
+ 65,210,224,153,212, 21,106,250,149, 63,252,206,171,183,110, 51,155, 28,226, 36, 8, 41,168, 42, 67,232, 2,101,165, 81,198, 96,
+ 10,133,144, 2, 23, 2, 2, 73,215, 37,203,152,182,107,184,218,118,233,208, 9,225, 41, 27,185, 79, 67,147,248,164, 4,224,179,
+205,156,229, 14,120,244, 36,136, 97, 64, 35,218, 39, 36,101,101, 14,228,202,236, 42,208,135,139,204, 53, 92,209, 93, 92,208,109,
+ 58,182,151,203,212, 62,143,195,156, 37,183, 99,188,203,146,168, 67,192, 30, 60,171, 99,202,110, 93,159, 52,226, 67,158,195,200,
+207,158,167, 60,230,150,117,125, 85, 28, 59,227,150,207,249,152,207, 74, 30,226, 19,226, 45,251,247,115, 95,165,239,121,152,138,
+161,130, 46,139, 93,149,236,135,106,221,239,181,245,115, 5,122, 61, 23,207,242,196,131, 48, 11, 34, 3,194,114,160,234,114,107,
+ 94,237,241,232,131,125,188, 98,223, 15,110, 49, 38, 33, 32,111,119, 96, 61,185, 39,203,170,196,222,224,107,112,148,203, 27, 47,
+219,205, 74,157, 64, 79,117, 37,169,181,160,183,112, 80, 37, 9,220, 46,130,172, 20,109,198, 66,110, 92,164,148, 17,147,177,131,
+125, 4, 65,164, 19,130, 16, 60, 65, 10,156,247,148, 82,177,201,220,247,232,194,174,175, 30,247,241,198, 97,247,189,205, 64, 76,
+177, 87,165, 15,244,203, 33,240,239,191,255,144,213,234, 26,203, 89,227,121,212, 56,222, 91,182,124,180,105,249,160,181,201,109,
+209, 91, 58,235,232,188,231,141,217,140,177, 80,105,154,130,196, 72,205,195,118,203,119, 55, 75, 26,111, 89,219,158,223,156, 79,
+ 24,149,138,211,113,141,174, 18,144,208,247, 62,187,106, 6,254,194, 38,241,159,223,171, 13,167,166,192,199,192,188, 52, 44,179,
+229,175, 85, 10,147,131,203, 61,235, 89,198, 12, 92, 52, 6,188,231,246,184,230, 37,163, 24,155, 18,139,160, 50,146,141,247,232,
+ 50, 1, 42, 23,109,199, 90, 73,182, 62,166,100, 64, 3, 66,241,214,124,194,215, 15,198,120,161,121,121, 90,112, 22, 13, 55, 75,
+ 77,101, 12, 31,184,136,158, 76, 88,186,152,198, 98,179,227, 84,213, 31, 28,103, 21, 72, 65,236, 33, 78,103,208,183,196,110,147,
+153, 60, 45, 49,122,196,170, 5, 35,120,177, 48,124, 81, 4, 14,149,198,216, 45, 19, 4,211,232, 41, 98,224, 32, 68, 76,112,156,
+120,199,204, 57,110, 8,203, 76, 9,198, 49,224, 67,154,153, 76,243, 89,227,148,230,134, 22,156,245, 61,151,155,142,190,235,248,
+ 97,223,243,155,199, 39, 84,117, 65,107, 97, 86,215, 92, 54,150, 82, 74,130,150, 28, 85, 99, 30,110,183, 92, 5,135, 21,146,195,
+241,132, 88,150, 76,141,226,223,175, 59,190,120, 56,225,127, 63, 91,242,230,233,156,247,130, 98,189,109,185,168, 70,156, 69,201,
+185, 46,120, 20, 20,151,133,100, 93,141,208,125,203,131,162, 36,218,158, 54, 68,214,118,139,149,146, 18,152, 20, 21,181,128, 32,
+ 4,165, 76,202,142,149,208,132, 66,243, 75, 41,105, 11, 13, 66, 19,251,204, 32,177, 54, 87,235,201,131, 66, 20,131, 24,138,127,
+ 26,187, 50, 25,167, 17, 73, 89, 33,108,228, 31,222,121,135,127,216,158,243,163,159,191,131,248,249,251,216,251,247,249,222,197,
+ 21,127,119,254, 17,151, 54,240,151,219,134,135, 49,119,212,188,205,243,104,201,178,235,185,138, 32,116,137,142,130,153,174,232,
+172,103,185, 92,241,224,236, 17, 63,251,233,219,169,197,255,100, 12,242,185,189, 46, 69, 18,135,201, 73,191,112,109,146,153,136,
+ 49,237,151, 24,147, 90,219,117, 16,183,233, 12, 27,176, 66,195,156,221,217, 92,120,248,103, 83,119, 31,195, 19, 13,184,156, 44,
+171, 45, 50,219,198,147,228,144, 99, 62,159,180, 73, 95,183, 13, 87,214,115,222,245,156,181, 13, 29,145,143,154, 14,240,220, 54,
+ 37, 19,173,169,202, 18, 81, 20,136, 0,203, 16,105, 4,124,188,245, 44, 66,143, 20,146,206,123,212, 75,223,250, 79,190,115, 52,
+153,208, 52, 61, 74, 74,230,227, 17,158,200,168, 42,240, 46, 34,181, 32, 34,112,155,158,174,181, 68, 21,113, 25,104, 38,133,162,
+215,138,205, 53, 15,181, 74, 72, 81,165,161, 40, 16,166, 72,154,195, 85,226,133, 11, 41, 16, 82, 34, 66,248,212, 85,186,248, 44,
+213,236,147, 82, 9,207,188,224,250,233,120, 22, 67, 70, 65,106,184,218, 36,173,243, 1,124, 84,150,169,106,172, 50, 16,174,205,
+ 64,183,206,165, 27,147, 37,187, 49,185,194,235,250, 84,149, 58,155, 4, 69,162,206,179,195, 92, 29,154, 44, 41,251, 28,158,232,
+ 83,173,113,246,102,221,196, 92,221,102, 31,224,207,203, 36,148,251, 10, 38,207, 32, 90,254, 58,211,148,225,154,151, 38,155,115,
+200, 93,165, 94, 21, 41,211,143,121,129,203,172, 75,175,247, 56,162, 74,166,217,221,112, 47,101,222, 72, 46,238,180,211, 33,121,
+ 14,136,231,184, 2, 94,163,240,243,107, 41,138, 44,212,147,193,133,200, 93, 66, 1,169,107, 80, 12, 20, 49,149,174,171,146, 72,
+ 37,121,169, 86,244, 2,162, 84,220, 80,130, 72,164, 12, 18,167, 53,151, 93,138, 3, 70, 8, 60,145,222,197, 36, 83,160, 4, 91,
+ 23,104,165, 64,100, 52,123, 31, 2,107, 34,150, 72, 23, 50,200,125, 0, 80, 14,116, 64,246,131,116, 76,239, 25,247,184, 57,207,
+117,101, 31,119,137,222,179, 80,184,146,116,240,108, 92, 18,134,233, 50, 42,121,209,166,206,154, 8, 44,188, 99, 42, 3,239, 44,
+214,172, 99, 75, 27, 28, 15,182, 43,254,231,243, 75, 26, 2,116, 91,188, 86,124,169, 44,209, 74, 48, 19,169,122, 17,125,210,218,
+ 47, 74,193,127,115,113, 9, 49,112,199, 68,156,212,220, 45, 53,165,142, 44,188, 96, 36, 35, 74, 72,148,214, 4,231, 48, 85, 65,
+225, 61,239,185,184,147,202,173, 12,127, 50, 41, 57, 40, 19, 55, 57, 40, 65,244,129, 32, 21,203,198, 81,149,154,131, 74,243,161,
+ 13, 44,132, 72,107, 1,205,237, 66,243,173,121,197,214, 71,180,150, 60,116,112,107,172, 89, 59, 24,213,134,210, 40,222,147, 37,
+219, 16, 19,208,238,255, 99,238,189, 99, 61, 95,243,251,174,215, 83,190,237,215, 78,155, 51,103,214, 69, 66,164, 0, 0, 32, 0,
+ 73, 68, 65, 84,230, 78,185,125,247,102, 91,108, 92, 18, 82, 12,137, 73,140, 67, 81,148, 40,144,200, 18, 36,161, 8,146, 16, 16,
+ 2, 36, 4, 1,139, 16,100,197, 40, 10, 37, 18,130, 72, 38,160, 68, 72, 17, 9,144, 4, 41, 9,113,130,133,141,157,141,189,235,
+189,190,187,183,151,185,211, 79,251,245,111,121, 26,127, 60,207,247,252,126, 51, 59,115,119,238,238,218,230, 39, 29,253,102, 78,
+253,150,231,251,124,218,187,184, 16,109,165,203, 42, 94,199,193,110, 52,152, 17, 33, 34,236,173, 39, 24,147, 88, 28, 81,247, 64,
+212,142,217,168,228, 5,233,153, 52, 53, 19,173, 25, 56, 71, 30, 28,165,119, 20,193,115,205,123,246,124,224,102,112,236, 8,197,
+208, 7,156,119, 12,115, 69,200, 20,165,132, 34,203, 25, 2, 94,107, 42,165, 9,153,164,173, 27,156,177,188, 62, 63,227,115,131,
+146,169, 5,153, 23, 12,203,140,133,135,157,224,153, 5,143,237, 28,183,219,154,145,173, 97, 52, 97, 55, 87,124,109,209,240,219,
+ 14, 38,252,141,227, 5,255,244,141,125,126,177, 9,236, 6,135, 27,143,120,104, 28,203, 97,197, 42,215, 44,101,206, 45, 23,199,
+132,167,229, 24,233, 13,247,178, 10,231, 59, 78,100,212,104,111,133, 98,207,123, 50,149, 69, 81, 20, 17,253, 10,102, 66, 82, 75,
+133,206,179, 24, 60,170, 42, 74, 28,251, 16,247, 52,145, 0,102, 93, 11,170,138,160,179,124,152, 48, 29,253,152,171, 76,108,136,
+152, 8, 10,225,160, 94, 19,110, 63, 72, 82,217, 49, 14, 48, 59,135,243, 21,167,119,239, 67,102,226, 24,204, 16, 11, 45, 37, 97,
+181,138,123,133,206,168,145, 28, 27, 19, 45,107,235, 6,230,167,184,249, 49,191,117, 8,203,231, 46, 49, 27, 14,241, 87, 14, 17,
+105,116, 40, 18,151, 94, 44,154, 4,184, 53,113, 92, 42, 99,114, 44,188, 71,200,164, 44,105, 72,248, 30, 30, 45, 14,122, 32,113,
+143,229,233, 37,178,249,132,121,122, 15, 92,237,237,177,101,210,107,200, 84,234,108,203,248,245,190, 99,216,166,228,194,116,136,
+186, 23,113,138,251,230, 29, 31,120,117,144, 49,145,154,135,139, 5,123, 85,116,199,155, 33,184, 51,183, 60,112, 29,109, 16,100,
+206, 69,187,143,211,231, 62,255,227,151,202,138,195,131, 67, 6,229, 8,135,199, 7,137,150, 1, 93, 42, 2,208,206, 91,172,247,
+120,225,113,235, 14,141,226,206,201, 9,185,206, 41, 21,156, 88,139,171,202,120,162,163, 17, 20, 5, 66,231,209,202, 85,102,136,
+106,132,144, 57,232, 18,145, 43,196,213, 27,136,253,125,100, 94, 33, 28, 48, 25, 35,140,185, 8,246, 79, 21, 58,120,156,227,220,
+183,128,159,166, 96,246,164,205, 78,203,167,183, 6,234, 58, 62,208,125,160, 80, 58, 82,112,132,220,136,238,228,121, 20,159, 41,
+210,220, 60, 43,162,127,186, 46, 54,180, 30,151,204, 66,170, 49, 76,118,226, 53, 25,237, 69, 32,145, 73,173,170, 62,170, 60, 62,
+ 99,207,116, 18,213, 16,155,143,109,192,198,246,174,253,237,210, 9, 47,226,121,143,152,223,250,189,246,187,128,143,232,187, 38,
+219, 51,170,162, 55,129, 9, 27, 4,125,159,193, 56, 31,175, 77, 31,216,117, 58,255,158,178, 21, 18, 77,207,233,212, 22, 79, 51,
+177,240, 12,162, 71, 89, 30, 17,245, 89,226,122,155,176, 65,146, 95, 20,197, 50, 38, 22, 58,221, 59, 29, 91,102, 1,193,168,144,
+ 92,150,154, 67, 4,121,174,153,120,201, 82, 75, 86,193,209, 5,104,130,136,185,137,128,206, 75,108, 8,172,141,199,164,189,175,
+245, 1,129, 96, 37, 2, 93, 23,112, 34,224, 2,184,222, 25,206, 37, 26, 98, 15,150,115,102,115, 28,201,170,242, 66, 57, 80,111,
+105, 62,245,244, 54, 17, 30,101, 46,108, 39, 54, 38, 13,226,235, 38,182,150, 23,203,248,251,151, 77,244, 69,151,112,107,182,230,
+ 94,103,248, 96, 93,243,230,116,202,187, 93,236, 80,209, 52, 96, 27, 94,203, 51,180, 23,140,139, 12, 39,192,123, 75,103, 58,132,
+107,249,169, 91,183,224,107,191,196,247, 95,191,194,155, 45,252, 96,174, 40,108, 71, 71,193, 78, 14, 50, 72, 22,173, 37,195,227,
+139, 40, 39,253,150,177,156,118,169,114,146, 57, 88,199,107,195, 18,109, 3,186,210, 40, 31, 88,121, 65, 41, 64,105,137, 8,158,
+185,151,236,123,203,187, 93,236,128, 77,114,201,203, 90, 48,206, 51, 4, 30, 39, 21,131, 66,210,248,136,155, 80,206, 83,150, 57,
+ 39,141,225, 60,203, 8, 65,243,252,225, 46,115, 36,175,142,198, 92, 59, 60,228, 65,107,216,201, 10,218,178,138,215,120,111,130,
+ 24, 14,162,163,152,105, 17, 34,130, 91,229,210, 96, 51,193, 11,133,102,108, 61,185,183,236,134, 24, 12, 14,188,167, 12,142, 75,
+193, 83,233,130, 1, 2, 33, 36,101, 94,177, 14, 22, 33, 20, 70,231, 72, 1, 51,175, 25, 20, 57,173,177,172, 58, 71,174, 37,187,
+202,115,189,148, 88, 27,104, 92,203,126, 57,226,111,124,252, 1,191,233,232,128, 51, 35, 25,105,193,199,171, 5, 55,139,156,135,
+235, 37,165,202, 88, 26,195, 48, 47,176,133,230,181, 76,241, 15,141,224, 55,168,192, 3, 27, 88,218, 64,145, 43,188,214,232,206,
+226, 70, 21,109,107, 57,169, 6,140,188,141, 12, 4,233,185, 63,152,144,117, 29,247,117,134, 51, 29, 58,120, 14,178, 44, 2, 66,
+181, 98,233, 61, 43,169, 56,115, 14,165, 52, 7,163, 49,214, 24,206,117, 18,181,170,235,216,241, 25, 14,226, 51, 94,175, 17,197,
+ 8,225, 26, 24,143, 35, 66, 62, 47,147,186,102, 2,118, 10, 9,181, 65,180,230,201,243, 65,215,197,103,124,186,138,254, 32, 85,
+ 74,238,215, 75,132, 18, 49,192, 59,135, 72,180,213,147,182,230, 11,162,225, 48, 56, 70,174,227,123,247, 15,120,173, 42, 56,204,
+161, 46, 11,236, 78, 73,123,235,254,102, 12, 40, 2, 98, 54,139, 69,149, 14, 49,200, 6,127,145, 28, 11, 64,104,129,104,252,198,
+180,170,237, 30, 21,159,113, 46, 97, 64,196,183, 40, 28,251,238, 90,162, 67,170, 84,196, 20,169,253,222,123,167,248, 84, 56,218,
+ 16,227, 73, 82,181, 20, 89, 14,243,121,188,110,214, 65,215,225,181, 69, 4, 79, 7,188, 61,157,114,110,225, 87,206, 86,124,195,
+ 71, 83, 93,141,167, 53,142, 44,120, 84,120,229,251,126,252,104, 88, 48,202,115, 26,211, 65, 80,228,121, 70,103, 44,166,115, 44,
+151, 53,133,214, 72, 2,243,243, 5,157,111,105,234,142,209,100,200,124, 49,231,116,185,194, 9,137, 32, 80,141, 71,152, 76, 71,
+138, 82, 53,224,249, 43, 99,174, 28,237,113,138, 70,148, 57,159,251,236,117, 78,171, 9,191,245,229,171,124,241,250, 62, 55,110,
+220,224,133, 23,143,216, 57, 26, 80, 29,237, 51,187,123, 26,105, 18,233, 66, 61, 18,216, 7, 35,184,113,149,193,171,215,241,151,
+ 47, 17,130,100,255,243, 55,168,171, 10, 22,233, 2, 93,208,144,194,147, 85,128,158,198, 81,223,166, 6,109,223,164, 30, 20,145,
+229,241,226,183,201,212, 64,138,184,104, 85, 6,195,138,157,231,174,240,210,245,155, 28, 30, 94,102,255,240, 50,167, 90,198,108,
+108, 56,102,116, 48, 65,151, 25,197,168,160,235,173, 60, 85,111,174,146, 90,190,125,197,158,109, 43,221,109,117, 30, 68,223,122,
+214, 91, 85,221, 54,114,251,219, 13,236,114, 43,194,219,239, 78, 64,239,121,232, 61,149,172,105, 55,124,250, 71,164, 78,179,152,
+173, 42,155,252,217,187,216, 21,233,205,102, 92,194,105, 52, 46, 5,175, 52,127,178, 93, 82,126,115,155,204,249,147,132, 33,100,
+228,171,146,244,129, 34, 32, 70, 36, 3, 28,145,114, 26, 21, 3,102,136, 78, 75,253, 61,184, 52,200,216, 19, 32,165,196, 75,129,
+242, 2,145,197, 54,186,117,129, 54, 72, 10, 41,233, 66,192, 38, 49, 25,151, 38, 5, 42,128,113, 2,227, 33, 47, 36,211,149, 99,
+156, 5, 58, 43,104, 3, 27,231, 54,182,170,117,159, 54,188, 94, 58, 86, 36, 4,188,176, 41,153,217,106,195,251, 20,216,123, 41,
+217,167,113,102, 31,255,156, 75, 88, 9,124, 84,137,236,186, 40,247, 58,175, 99,224, 63,153, 70,113,164,147, 41,180, 6, 95,106,
+ 6,101, 78, 33, 20, 70,120,166,181,225,254, 98,193,195,213,138, 91, 93, 3,187, 7,220,245,128,169, 57,238, 26,180,204,184, 82,
+ 66,112, 14, 47, 2,123,133,198, 18,216,213,129,251,235,134,159,175,155,205,102,234, 13,131, 34, 99,224, 28, 59, 58, 10,148, 8,
+ 39, 40,114,197,178,131,221, 42,218, 87, 22,120,190,186,114, 76,187, 88,225,151, 18, 62, 87,198,103, 97,175,202,168, 77, 32,211,
+138, 69,109, 25, 8, 88,104,141, 86,130,155,133,102, 55,211, 76,148,224,185,209,128,171, 18, 6,227,146,145,128, 23,181,230,174,
+147,180,137,154, 41,202, 17,248, 22,177,183,131,144, 25, 12, 74,196,106,133,176,134,121, 11,147, 81,198, 16,176,198, 32,157,229,
+ 57,160,178, 29, 99,161,145, 2, 50, 93,144,101, 37,186, 31,237,229, 5,133,138, 73,104,208,146,113,166,105, 17, 60,236, 28,151,
+170, 44, 90, 11,120, 27,231,190,206,112,125,178,207,207,127,244, 54,159,219, 29,178,108, 21, 95, 62,189,203,251,243, 41, 39, 54,
+240,222,114,202, 81,174, 49, 42,103, 60, 26, 97,144, 8,227,120,223, 9, 94,112, 29,239, 53,150, 60,207,105, 8,228, 85,193,170,
+109,249,184,241, 12, 27,131,215,130, 27, 93,203,221,172, 96,108, 45,239,101, 35,110,168,192, 89,174,160,109, 89, 42, 77, 27, 76,
+ 82,225,243, 44,157,163,201, 10,166,192, 90,130, 80, 25, 50,196,209,128, 2, 78, 36,136, 50,131, 32, 17, 62, 89, 6, 27, 27,139,
+ 27, 9,162,168, 18,189, 55, 61, 99,174,139,235,218,153, 68, 91, 53, 79,239,190, 58, 23, 43,254,118, 13,183,238, 66,115, 22,139,
+ 35, 43, 16, 66,129,206,162,193, 15, 22,161, 20, 63, 58,169,216, 41, 42, 94, 27, 12, 9, 69,201, 85,145, 81,238, 93,101,112,237,
+ 69, 14,242, 9,239,200, 22,206,102, 17,176, 26, 98, 1, 37,188, 68, 12,203, 24, 42,164,142,232,244,144, 70, 65, 26,200, 20,194,
+ 6, 68,219,196,125,225,162, 99, 40, 55,202,163,125,108,121,218, 51,151, 12,189,200,147, 16, 88,111,112,209,218,184, 55,214,109,
+108,185, 23, 9, 25,239,100,194,114, 37, 64,114,109, 17,227, 81, 82, 30,141,157,197, 7,199,115,222,235, 12,191,180, 88,240, 86,
+103,248,149,217, 57, 31,187,150,105, 91,227,148, 70, 91, 67,158,231,212,205, 10,133, 63,250,241, 59,193,115,117,103,140,119,158,
+ 92,122,150,211, 25,214, 7,206, 78,103,228,185,196, 5,207,124,186, 64,229,177, 53,217, 57,195,116, 57,103,109, 91,156,240,248,
+ 16,168, 84,204, 96,126,203,149, 29, 86, 78, 50, 40, 74,214, 94,242,112,225, 24, 12, 11,254,169, 87,174,240,206,220,243,153,195,
+ 35,190,231,230, 53,170,114,196,205,171,151,121,225,218, 21,118,138, 9, 26,201,135,173,138,173,156,208,123,125,235,104,209, 87,
+ 14, 96,239,128,207,188,122,133, 23,246,247, 56, 26,143,249,204,243, 87,152,228, 37,121,165,153,154, 0,139,122, 35,230,209,143,
+156,241,207, 30,212,121, 74,181,115,225, 5,222, 70,212,162,105,226, 2, 80, 58, 6,139,221, 61, 62,115,120,133,113, 57,224,234,
+254, 97, 18, 16, 8, 76,155,154,124, 56,100, 82,229, 28, 14,247,208, 82,131, 46,105, 93, 20,102,136, 51,248, 52,247,245, 91,157,
+129,167,233, 57,245,173, 32,177, 69,221,122, 90,235,245, 89,231,234,189, 36,162,181, 27, 78,253,119,250,202,242, 24, 44,157,219,
+104,202,247,221,134,190, 58,247, 9,123,208,251,102,251, 44,206,222,116, 17,245,200, 67,114,109, 19, 41, 9,146,230,209, 57,149,
+243,113,206, 37, 68,162,202,125, 11,197, 60,159,152, 8, 33, 9,190,248,176,209,175, 87,125, 64, 76, 74,128, 9, 60,151, 75,201,
+149, 44,224,149, 66,132, 64, 41, 21, 34,147,200,214,162, 69,228,188,214, 46,144, 73,193,210,165,241, 19, 73,168, 71, 6, 58, 98,
+176,215, 66, 50,235, 28,251,165, 96,218,121,132, 80, 81,255,189, 7,202,185, 45,201,101,159,230,235, 93,136,227, 0,195, 38,160,
+123,187, 1,220, 94, 88, 10,247, 35,249,176, 17, 61,250, 52, 52, 70,159,240, 14, 93,172,202,105,214,177, 74,154, 47, 98, 37,214,
+ 56,234, 97,201,238,112, 68, 45, 84, 84,250,106, 91,222, 94,157,241,141,211,227,184, 57,133, 54,254,188, 84,180, 93,203,171, 90,
+113,169, 42,208,222,146,123,139,177, 29,235,166, 37,152,142, 91,203,154, 59,205, 42, 38,102, 54,118, 90, 76,240,236, 11, 23, 59,
+118,157,163,212,154, 81, 6,227, 76, 80,119, 1,137,231,108,109,248,242, 42, 49, 71,130,165, 20,129, 87, 39, 57, 89, 8,212, 54,
+ 80,230,146,186,181, 28,142,114, 30, 58,201,158,136, 90, 2, 15, 87,134,135, 94, 48,169, 10,126,102,217,241,249,157, 10,227, 61,
+107,231,185,167,114, 6, 2,166,198,199,128,164, 52, 98,180, 27, 55,226,241, 8,225, 90,184,113, 3,121,124,134,220,155,112,251,
+225,130,135, 18,118,139, 28,101, 44, 89,107,184,162, 20,121,240, 20, 58, 39,136,140, 78,120,178,162,164,149,154,165,212,204,242,
+140,214, 89,100,145,211, 41,197,188,131,188,208, 52,105,162,210, 9,133,203, 53, 70, 73,206,231, 39, 8, 89,240,225,236,156,111,
+ 44, 78,104,186,150,198, 59,186,213, 57,214, 59,238,170,140, 35, 33,216,203,115,198,147, 33, 93,145, 83, 56,203,219,171, 53, 7,
+163,146,247,215, 29, 7,185, 98, 97, 44,120,193,243,149,226,171,181,227,121,215,113,191, 40,184, 92,175, 57, 41, 42, 94, 20, 53,
+191, 18, 10, 46,249,142, 51,159, 71, 91, 88,165, 57,183, 13,194, 89,230, 42, 34,227,167, 8, 92, 86, 97, 69,236, 72,246, 30,111,
+153,210,156,133, 4, 94, 93,214, 8,159,244,210, 69, 74, 56,139, 10, 17,210,243, 95,183, 17,152,236, 92,178, 12, 53,207, 54, 86,
+117, 17,185,206,233, 41,156, 45,225,228, 46, 66,198,145, 17,193, 35,112,252,216,254, 46, 71, 90,113, 73,105, 66,150, 81, 27, 19,
+105,155, 7,151,232,148,164,243,146,243,197, 49,243,227,211,248,247,186, 14,145,233,232,236, 23, 98,146, 32,178, 12,145,101,124,
+166, 42,249,129,225,132,239,219, 25,113,121, 84,241, 97,211,193, 98,141,104,235, 88,100, 94, 20, 80,225, 81, 23,204, 79, 74,164,
+123, 86,144,202, 19,107,200,167,234,191, 77, 32, 96,210,190,159,168, 74, 33,141,133,219, 68, 33, 54, 53,162, 72, 99, 72, 27,147,
+ 34,187,110,226,179,185, 88,196,235,106, 26,192,178, 12, 48,117, 14,154, 21,139,229, 20,197,240,198,143,163, 53,171,188,229,189,
+211, 19,186,110,205,170, 94,178, 88,206, 25,100, 37,139,229,156,118,213,144,149, 25,117,179,166,110,107, 58,211,210,212,134, 7,
+235, 57,157,141,252,220,178,200,184, 57, 26,112,175,243, 72, 33,184, 57,172,184, 84,150, 84,227, 49, 47, 14, 7,220,237, 52,207,
+141,246,249,220,165, 93, 46, 29,238, 33,244,128, 60, 31,176,172,225,218,209, 37, 6,229, 46,191,225,218, 30,183,145,100, 71, 67,
+218, 51, 3, 42, 82, 88, 68, 57, 97,242,202, 33, 47, 31,236,115, 48,218, 97,111, 48,228,112,119,143,241,104,204,225, 96,192, 45,
+187,198, 28, 47, 99,150,247,248, 60,245,105, 23,252,241,215,211,132, 90,250,141,175, 87, 47, 19,105,243,151, 10, 10,205,100,103,
+143,107, 59,251,232, 92, 68,109,230, 60, 71,105,205,195,102,201, 40,215, 28, 14,118, 81, 85, 73,145, 21,100,153, 98,106,218,168,
+144,214, 75,154, 90,191, 21,212,213, 39, 13,193, 55,224,177,237,238,130,248, 54, 85,253, 60,223, 12,178,250,110, 4,244, 30, 87,
+208,219,121,170, 36, 98,225, 92, 2,191, 36,227, 27,111, 35, 55, 93,248,232,179, 45, 4, 84,217,102, 68,162, 19,133,174,179,155,
+108,183, 75, 52, 26, 29,185,216, 40, 25,103, 79,223, 74,194,177,111,122, 8,183,145, 93,237, 43,245, 30, 97,174, 19, 61, 80,101,
+ 23,151,246,160, 82, 49,121,150,154, 66, 4, 26,235,201,115,133,176, 30,163, 99,219,253,196,120,134,153,162,243, 62, 61,144, 34,
+101,248,241, 60,140,243,136, 16, 88, 58,129, 34,208,132, 4, 16,236,250,121, 91,182, 25, 37,244,163, 6, 69,194, 16,244,237,119,
+185, 65,228, 7,191, 9,236,166, 79,254,122,189,130,111, 35,193,235,193,133,230, 9,206,129,133,132,157, 93,142, 39, 19,238,250,
+192, 7, 93,203,237,174, 97,213, 52, 48,155,194,249, 60,178, 58,164,143, 96,164,182,230,195,206, 82,154,150,113, 48,204,218,142,
+179, 85,205,213, 76,242,191, 61, 56,227,157,243,135, 73,167, 33,206,235, 9, 14,218, 53, 15, 77, 96,228, 26, 14, 16,100,193,225,
+ 13, 52,173,103,191,128,197,178,227,221,181,231,225,114,158,128, 70,154,182, 53, 12,218,142,231,138, 28,147,148,251,118,114,201,
+131,149,225,249,161,166, 70,114,123, 29, 55,249, 99,149, 49, 53,142,239, 29,228, 76, 91,143, 44,163,166,196,170,181, 84,185,230,
+ 76,228, 72,173,227,101, 46, 7, 48, 60, 64,116, 43,216,191, 18,167, 95,135, 59,136, 92, 35, 77,203,202,192,187,167, 11, 74,233,
+ 25,229, 25,151,124, 64,133, 16,193, 75, 66, 18,202, 17, 11,192, 8,201,188,200, 57, 15,129,121,145, 99, 58,143, 85,130,221, 34,
+167,238, 2,115,235,201,116, 52,241,176,222,211, 5,133, 10, 2, 45, 44,185,107, 25,218,134, 35, 12,106,181,166, 11, 30,235, 44,
+222,180,124,102, 56,162, 44,135,156,173,107, 58, 27,104,138,140, 97, 89, 96, 3,136, 76, 99,165,228, 82,161,201,141,225,235,181,
+229, 75,149,226,174, 13, 28,212, 75, 78,138, 1, 59, 77,205,219,162,228, 53,209,114,203,105,174, 20,146,115,151, 49, 51,134, 74,
+ 6,238, 16, 48, 93,199, 90, 69, 96,180, 19, 30,167,114,156,240,180,222,209, 56, 79, 14,100, 69,193, 92, 9, 66,145,131,174, 16,
+203, 6, 81,175, 99, 65,214,196,103, 84,244,242,225,109,253,116,134,204,179, 96,166,154, 85,148,133,158, 30, 35, 76, 7,133,100,
+183, 26,113, 40, 5, 55, 39, 21,166,109,240,214, 80,230, 25,109, 8, 24,103,184,187, 94,115,239,252,132,175,188,255, 17,194, 73,
+ 68,231, 99,101,222, 69,193, 28,177,182,136,221, 1,162,200,249,220, 96,192,111, 59,188,204, 75,163, 33,135,229,136, 93, 41,169,
+131,227, 65,211,196,174,172,138, 93,232, 56, 7, 79,178,197,189,246,198, 39,137,123,109, 7,253, 44, 75, 21,120, 29, 11, 23,111,
+ 19,215,189,215,154,207, 54,117,156, 78,154, 28, 69, 1,164,113,116,103,146,158,135,139, 90, 31,237, 58,106,165, 44, 22,176, 90,
+131, 89,227,108,203,108,189, 98,229, 12,138,234,218,143, 51, 95,176,250,232, 1,237,170,227, 36,147,124,124,114, 31, 47, 61,211,
+245, 25, 67,157,241,112,113, 70,103, 60,245,122, 77,231, 28, 15,166, 51,130, 2,211,116, 56, 23,233, 6, 90, 74,172,212,104,165,
+185,185,179,131,214,146,115, 39,121,249, 96,143,198,105, 46,143,247,249,236,243, 71,140,247,118, 17, 33, 99, 60, 26, 32,100,198,
+254,222,144,114,144, 51, 28, 87, 56, 49,228,114, 85, 49, 81, 57, 31, 45,150,201, 28, 69,161, 94,185,202, 43,187, 19, 46,141,247,
+120,238,202, 33,121, 86,161,164, 38,211,154, 60, 83, 28, 86, 35,222,237, 44, 44,231,207,102,105,250,164,192,254,137, 65,161,111,
+161,244,193, 84,199, 10,202, 43, 76, 89,178, 55,170, 24,230, 21, 32, 25,228, 21,139,122,206,173,143,239, 83,211,113,249,224,136,
+ 16, 60, 66, 42,230,203, 53,171, 46,192,226, 52,182, 91,218,100, 55,218, 31,179,122, 26,230,191,167, 81, 36,179,145,199, 3,185,
+148,191,190,114,189,125, 80,205,212,134, 59, 31,182,132, 81, 66,106,201, 27,226,249,246,109,113,225, 99,149,222,227, 35,212, 99,
+247,196,121,144, 46, 58,192,133, 46,174,250, 50, 79,201,208, 86, 39, 96,187, 99,241,120,128,239,231,251, 23,109,235,176, 81,108,
+147, 91,216,130,222, 4, 38, 5,228, 74, 75,198,121,148,124, 85,193,179,212,138, 29, 68,148, 8, 16,129,153, 9,204,131, 99,148,
+ 43,230,157,143, 46, 98, 58,141, 51,186, 68,147,233, 81,238, 66,160,144,216,158,182,102, 98, 62,131, 74,157,136, 11,237,247,109,
+128, 92,234,188,169, 45,133,187, 94,237,175,175, 20,122,122, 99, 38, 54, 73,222,119,178, 14,244,150,110, 65, 63,158,217,219,131,
+201, 36,105, 12,196,141,134,102, 13, 39,103,240,224, 1, 76,167,112,182,138,115,251, 0,116, 29, 31, 55,107,190,182, 92,242,141,
+197,130,119,231,231,252,163,217,138,245,244, 20,104,227,172,190, 91,166, 68,162, 77,109,217,142,165,183,140,125,195,201,186,101,
+136, 67, 89, 67,179, 92,240,206,210,241, 75,211,227,120,124,245, 10, 86, 51,232, 58,202, 44,167,109, 59,158, 47, 74, 74,239,184,
+189, 50, 92, 25, 40,140,241, 88, 23,131,237,137, 9,236,201,168,168, 39,149,228,221,206,177,155, 41, 68,107,184, 84, 40,154, 92,
+ 19, 28, 12,164,160,214, 69, 66, 59, 7,198, 7,215, 48,206, 82, 12,118,240,121,133,152,159, 34, 71, 35,228,116,129, 8,158, 59,
+ 65,177, 50, 45,101,221,113, 35,203,241, 90, 99,164,192,102, 26,151, 21, 60,208,138,133,146,156, 16,112, 66,178, 20, 1, 13, 44,
+141, 67,100,130, 70,150,212, 66,176,176, 22, 87,140, 8,182,137,213, 62,142, 44,147, 92,151,146,231,188,231,149, 92,243,170,146,
+ 92,111,106, 14,149,229,103,151, 43,174,231, 3,230,109, 67, 94,150,220,152,148,152, 65, 73,176,142, 61,165,168, 67,164,151,221,
+211,154, 87, 69,224,163,181,225,200,183, 76,199, 35, 70,139, 5,205, 96,192,117,183,228, 45,167,184, 26, 60, 43,161, 25,200, 22,
+ 67,198, 87, 90,184,164, 28,247,179, 44,178, 59,164,196, 7,129, 64,226,132,160,243, 14,165, 20,101,158,161, 5, 28,230, 67,230,
+ 74, 97,125, 2, 23,170, 28, 17,146, 40, 87, 16, 81,213, 77,248,167,232,114,232,111,201,187, 21, 59, 59,112,249,185,168, 33, 34,
+ 36,204, 27,132,143,129, 53,175, 74,110, 12, 71, 92,173,114,246, 29, 4, 17,232,218, 14,103, 12,239, 47,167, 60, 88, 28,243,149,
+135,247, 88, 26, 71,176, 14, 33, 4,194, 69,148,190, 12, 1,161, 2, 66,103,136,178,228,247,222,120,142, 27,195, 9, 74,105,218,
+ 0, 59,249,128,145,146,124,117,118,134,104, 76,242,140,176,177, 99,156,165,194,226, 91, 5,244,237,174, 98,239,125,231, 83, 37,
+222,123,115, 8,159,104,189,114, 83,181,203,180,135, 6,153,152, 59, 2,130,137, 99, 14, 82,181,223, 39,225,161, 15,240,117,236,
+104,180,150,112,255, 62,254,228,180, 55,116, 73,175,186, 38,220,123, 8,147, 1,243,229,154,211,217,154, 15, 86,103,172,156,227,
+206,249, 25,171,182,230,225,114,206,188,233, 56,159,173, 65, 8,202, 74,199, 44, 53, 56,174, 12,135, 8,114, 66, 48,116, 40,174,
+142,247, 25, 21, 57, 71,123,251, 84,101,197,238,238,144,253, 97,137,211,154, 97,158, 83,230,138,241, 78, 69,166, 11, 70, 85,198,
+100, 92,208, 90, 73,240,146,231,143, 46,241,238,201, 41, 88,205,228,242,132, 47, 61,119,149,203,123, 59, 88,231,168,134, 21, 77,
+107,144, 34, 74,152,238, 78,134, 24,223,240,240,227, 89,204, 98, 62, 77,251,241, 73,122,229,223, 52, 31,241, 27, 78, 33, 50,141,
+ 72, 20,120, 67, 40,135,236, 15,135, 40,161,201,179,136, 40, 61,155,207, 56,153,206,161, 94,145, 15,198, 4, 41,153,175,214,152,
+160,168,103, 11, 56, 59,137, 27,183, 79,148,184,237,106,249,137,213,122,216,208,237,250,121,164,148,143,190,255,122, 6,245, 94,
+184, 71,176, 89,244,143,207,214,165,120, 20,113,126, 33, 10,148,197, 5,170,179,141,245, 40, 36,250, 96, 58,175, 96,146,139,220,
+150, 88,139, 20, 27,141,251,109,113,156, 39,169,198,245,178,182,189, 26, 91,143,105,232, 33, 5,253, 72,227, 66,120, 38,178, 52,
+ 70, 42,144, 73,133,204, 51, 38, 94, 98, 18,143,123, 25, 2, 66, 9,156, 15,212, 70,210, 6,183,169,178,123,157,249,237,164, 81,
+203,136,172,182,108,216, 18,189,118,127, 8, 91,247, 53, 5,117, 41,158, 78, 78,232, 63,231,229,166,130, 87, 9,112,167, 30, 51,
+177,249,180, 93, 22,173, 34,171, 32, 75, 6, 31,206,193,243, 55, 97, 56,138, 1,189,231,238, 26, 3,247, 78,226, 12,222,218,141,
+ 89, 78, 99, 98,208, 54, 62,182, 9,235, 38,138, 83,157,157, 71, 37,178, 69, 29, 13,145, 76, 7,231,179,152,168,174,151,224, 58,
+ 76,187,230,227,206,114,167, 91,242,230,123,223,224,117,114,190,114,122,194,157,197,113,236,146, 53, 11,104, 82, 50, 32, 28,211,
+249,130,223, 49, 41, 88,172, 27, 10,165,216,145, 14,237, 3,183,151, 29,135, 10,126,110,218,240,182,245, 20,109,203,213, 65,193,
+ 73,231,216,215, 18,233, 2,119, 28, 76, 6, 5,101, 16, 28, 40,207,181, 65,133,149,138,203,185,230,197, 65, 65,238, 2, 47,238,
+237,114, 86,119, 88,161, 17,163, 61,196,236, 1, 98, 60, 64, 24,143, 88,175, 56, 57, 95,240,102,169,121,174, 51, 52,194,227,138,
+146, 7, 4,238, 10,193, 42,207,153, 6,201, 76, 10, 86,169, 45, 29,165,129,193,203,130,198, 24,222,247,158, 60,175,112, 1,202,
+172,164, 69,227, 8, 84,197,144,129,247, 76,138, 2, 35, 53,138, 64,169, 5,178,238,216,209,112,210,156,115,165,136, 30,228, 39,
+179, 6, 68,142,113,158, 97,149,161,172, 99, 26, 20,215,218,154,147,160,216,105,151,156,148, 3,118,166,231, 44,202,146,172, 89,
+243,150, 44,121, 77, 54, 44,100, 70, 97,150,204,173,166,202, 61,149,133, 55,169,144,139, 51, 62, 18, 57,121,183,160,201, 74, 22,
+237, 10, 47, 64, 32,162,254,188,247, 76,242, 1,147, 92,145,133,128, 31,141, 88,233,132,137, 89, 27,132,176, 96,171,136, 98, 23,
+ 32,116, 21, 91,233,143,206,253, 54,115,230, 39, 5,247, 44,231, 71,255,153, 31,225,135,127,243,111,226,149,107,215,120, 99,177,
+224,210,171, 47,242,155,190,240,253,212,206,114, 54, 63,231, 67, 37,120,185,136, 94, 5,213,122,205,121,215,210, 90,195,237,213,
+ 25, 63,125, 62,103,209, 26, 76,221,197,110,139, 3,145, 41,100,208, 72, 47, 16, 33,142,212, 68, 85,240,242,206,144,107,163, 93,
+ 74,157,225,164,192, 19,184,179, 94,242, 13, 27,229, 92,133,105, 54,147,208,158,174,247,172,207, 87, 15,210,131, 8,178,201,178,
+ 24,132,139, 98, 19, 79, 66,194, 21,245, 64,226,222,148, 75,217,132,210, 79,238,132,242, 49, 42,113, 15, 64,118,169, 51, 58,159,
+197,103,105,181,120, 44,168,247,175,243, 69,164, 28, 52, 53,204, 87,180, 77, 71,119,231, 14,139,182, 99,181, 88,179,246, 14, 39,
+ 97,109, 29,133,200,200, 52, 92,159,236,166,226, 66,130, 40, 56, 28, 77, 40,117, 9, 66, 49, 40, 75,124, 16,148, 69,197,120, 82,
+144, 11,141, 46, 36,185,206,169,202, 12,165, 37,133,206,185,127,182,102, 60,169,168,215,150,229,170,229,189,245,156, 16, 96,103,
+111,196,141,201, 4,169, 20,229, 96, 68, 8,129,162,200,144, 82,162,242,140,224, 61,205,106,201,135,167,171,104, 15,251, 29, 85,
+ 43,143,173,179,190, 74,223,174,214,251, 74,201, 72,152, 47, 56, 81,158,165,105, 88, 52,115, 30,204,207,249,120,185, 34, 28, 47,
+ 97,113,204,162, 49, 44,100,193,170,113,172, 87,107, 56, 63,131,102,186, 1, 69, 61,158,241,169, 45,181,162,222,226, 20,243,232,
+ 92,125,251,166,246, 0,191, 95,207, 42,221,152, 77,224,238, 93,215, 92,162,167,245, 98, 51, 61, 21, 77,138,180,112, 19,218,189,
+ 23,120,208,249,134,222,209,163,194, 93, 2,143,249,190,165,159,109,180,223, 73,137, 85, 16, 27,254,188, 20,223,172, 77,208, 43,
+252, 93,180,220,229,150, 96,156,222,100,202, 23, 24,133, 88,173, 58,231,233,188, 96, 55,147, 72,173, 88,135, 16,213,183,164,226,
+204,153, 40, 90, 34, 21, 11,239,112,253,239, 17,114, 11,145,158, 64,124,189,251,157,148,155,234, 61, 79, 0,153, 92,197,207,245,
+ 0, 69,169, 54,128, 79, 31,122,140, 76, 58, 23,177,105,226,244, 20, 55,122, 42, 32, 49, 64,110,111, 60, 23, 27,100, 9,187,123,
+ 49, 0,127,210, 61,204,213, 70,132,135,116,188,229, 40, 50, 55, 38,147,228,183,238,162,134,117, 91,199, 17,210, 98,145,174, 41,
+241,221, 38,167,188,102, 5,243, 21, 44,215,176, 92, 65, 51,131,179, 57,204,207, 96, 49,219,108, 64, 15,103, 49,121,163, 23,206,
+ 49,145, 51, 78, 32,204, 78, 99, 85,190,154,193, 98, 26,141,125, 22,231, 96,107, 70,193,208, 53, 75,190, 54,159,242,165,157, 93,
+190,122,255, 30,129,140, 15,206,166, 28, 73,248,219,181,225,246,249, 9, 47,155, 26,231,224,174, 9, 92,223, 29,226,114,141,237,
+ 12, 7,147, 1,243, 69, 77,174, 53,161,200,208,198,209, 0,135,133,226,182, 11, 92, 31,104, 22,139, 53,217, 96,194,103,117,224,
+238,114,138, 24,237, 34,234,101, 76, 70,198,195,152,191,158, 28,243,122,166, 41,155,142, 51, 5,247,133,165,214, 25, 15,189,101,
+ 46,162, 43,222, 89,235,145, 90,178,104, 37, 83,103, 80, 46,240,139, 1,106,173, 9, 50, 71, 7,143, 47,134, 72, 12,131,225, 1,
+187,190,161, 26,237, 97, 28,228, 90, 35, 84,134,149, 25, 82, 11,180,119,156,215, 29,109,187,166,198,209,214, 13, 39,117,205,123,
+139, 37, 95,110,226,109,184,238, 13,111, 4,201, 75,120,206,148,230,200, 52,156,150, 67,246, 2, 44, 60,188, 20,214,188,229, 75,
+246,154, 5, 75, 61,100, 20, 26, 26,167, 25,102, 48,182, 43,222,206,118,185,181,156,241, 1,154,118,126, 70,109, 5,132,142, 73,
+ 94, 80,200,140, 66,106, 10, 25,169,121, 95, 24, 12, 57, 84,129, 87, 43,197,221,214,210,117,150,235,255,216, 23,152,220,184,196,
+252,206,233, 70, 91,253,137, 1,189,151, 72, 76, 27,110,177,173, 99, 81,241, 79,254,142, 31, 34, 43, 74,170,178, 34,180, 43,126,
+248,251,254,113, 94,124,233, 42,135,229,136,215,255,222,207,224,131,229, 43, 65,242,188,109,248,216,118, 52,182,227,141,249, 9,
+175, 47,151,220,239, 58,108,103, 32, 4,180,130,203,153,230,181,113,198, 97, 46,120,185, 42, 24,102,146,105,215, 34, 3,188,116,
+249, 18,151,171, 49, 78, 73, 36,112,102, 45, 31, 47,214,124,216,212,113, 93,158, 77,163,227,154,181,136,158,142,108, 62,197,126,
+ 43, 28, 23,202, 81, 38, 68,153,242,182,141,231,107,125, 26, 69,102,177, 64,241, 73, 35, 30, 19, 71,146,157,217,236,151,150,141,
+ 59,102,207,127,239,247,181,199, 18,249, 39, 7,245,254,101, 82, 22, 62, 95,196,247,182,141, 45,179,218,226, 0, 93, 13,241, 82,
+242,252,164, 98,214,193, 32, 83,152,160,168, 84,198,164, 44, 25, 14,114, 6,101, 73,103, 61,227,113, 69, 89, 72, 84,166, 25,143,
+ 50,180,206,201,181, 38,203, 20,135,163,156,218,120,118, 70, 57,247, 78,107,242, 66,161,133,226, 82, 89,114, 26, 60,151,171,156,
+203,147, 33,151, 15,247,201,116, 70, 83,215,100,213,128,206,117,232, 32,152,173,102,156,175,150,124,124,190,136,179, 6,241,132,
+ 13,254,211,112,184,183,214,218,133, 19,221,133, 2,155,221,180,107, 73,153,150,177,180,214, 48,111, 29,171, 69, 77,104, 13, 76,
+143, 47,220,197,194,218, 19, 22,211, 72, 21, 58,189,183, 9, 84, 79, 3, 89,248,173, 54, 75, 31,176,122,160,198, 54, 77,172,159,
+195,252,255,161, 74,239, 81,220,125, 64,223, 78, 58, 92,156,133, 94,160,188,149,220,146,133, 5,172, 74,224,186,132,109,232, 18,
+152,205, 54,209, 94, 53, 81,149, 98,208, 45,184, 48,177,239,171,239,222,198,180, 79,110, 50,189,201,146, 51,189,153,157,171, 68,
+147,203,179,216, 17,241, 91, 1, 83, 19,171,209,212, 17, 41,148, 64,151,154, 90,194,185,243,140, 81,120, 4,199,174,163,146,138,
+ 22,207, 50,120,100,208, 92,108, 91,109, 66,242,247,107,165,200,211,188, 60,209,230,122,139, 90,147,196,120,250,174,131, 74,146,
+195,189,160, 69,235, 55,222, 1,189,127,122,216, 10,234, 23, 70, 48, 9, 96,163,253, 70, 88,231,113, 0,143,183,159, 28,208,203,
+100, 64,228, 21,148,137,163,223, 39, 39,210,193,229,195, 40,209,154,229, 73,201,175,142, 85,217,106, 25,209,243,189,138, 88,127,
+ 49,251,249,188,183,113, 67,183,221,230,255,219,235,218,216,248,181, 85, 29, 19,134,222,209,176,141,237,120,206,231, 17,129,127,
+239, 54,156, 78,225,248, 12, 30,158,130, 11,116,161,133, 7,103, 96,107,222,152, 79,121,216,118,188, 59,187,207, 29, 7,111,204,
+206, 88,205,207,192, 26, 78,101,244, 65,120,161,138,231,119, 74, 96,183,200,200,188, 99, 80,106,186,206,179, 43, 3,115, 29,169,
+ 92, 15,219,142, 10, 79, 94,100, 12,132, 2,103,200,117,198,157,144, 70, 72,222,192,238, 40, 6,171,206, 18, 60, 52,237,154, 55,
+230, 53,167,198, 50, 83,130,169,107,176,153, 70, 42,197,251,117,203, 88, 11,124,200, 88,219,142,129,202,248, 27,157, 97, 21, 34,
+234,126,222,181, 44,138, 49, 57, 1, 89,236, 48,212,154, 73, 54, 36, 83,138,188,218, 33,132,128,149, 25, 66, 6,140,214,184,188,
+ 96, 25, 44, 43, 93,114,111,109,121,216,174,120,184, 94,210, 9,137,111, 87,228,182,163, 54,150,207, 75,193,173,224,185, 92,175,
+ 56,174,198,236,173,166,204,144, 12,240,220, 86, 5, 47,179,230,196,107, 38,210, 80, 59,197, 80, 26, 22,157,195,232, 33, 52, 83,
+234,225, 46,221,106,198, 44, 43,112,237,154, 73,166, 24,120, 71,165, 50, 70, 89, 73, 41, 4, 47, 9, 65,165, 53,101,240,140,133,
+224,102, 33,248,229,198, 49,127,227, 29, 22, 31,221,142,227,201, 44,123,172,224,240,124,179,134,181,140, 40,240,155, 55,227,154,
+114, 14, 20,236,223, 56,228, 96,103,143,249,124,202,123, 15, 31,240,249,207,190,200,120, 88, 32,164,231, 23,126,246,231, 17,179,
+115, 40, 5,191, 60,155,241, 43,171, 53, 95, 93, 76,249,160,235,152, 37, 54,135,176, 32,130,163, 0,174, 15, 37,215,130,224,122,
+158,113, 45, 83,188, 88,229,124,190, 44,153,250,142,175, 52,158,225, 64,227, 69,198,185,247,124, 56, 91,240, 15,154, 46,106,149,
+244,207,208,114, 5,227, 33,131,223,248, 26,166, 53, 81, 95,254,153, 1,169,125, 98, 46,210,236,220, 38,234,106,114,105,202,212,
+134,174,171, 82, 66,159,103,233,185, 72, 96, 94,177,213,197,235, 85, 63,125, 82,170, 11,201,171, 99, 43,209,248,228,160,254, 36,
+ 48,153,115, 17,241,106,193, 9, 73, 86, 22, 24,162,104,129, 71,115,115,156,211, 57,201,112, 56,164,208,154,172,172,168, 74,201,
+238, 32,167,200, 75,170, 44,103,152,107,138, 66,178, 55,208, 12,135,154,224, 5,231, 43,203,188,117, 52, 77,131, 16, 2,157, 9,
+102,211, 53,227, 60, 99, 55,207, 24, 15, 71,236, 76,134, 4, 41,217,153, 12,177,198,226,172,199, 99, 57, 62, 61,227,193, 98,206,
+241,157,227, 40,247, 39,210,220,226,211, 58,201,105, 54, 85,185,125,194, 92,221,250,141,168,135,210, 41,121, 72, 52,171, 58, 1,
+ 26,234, 22,234,105,156,119, 36, 51, 3,234, 25,212,115, 88, 46, 30, 13,102,159, 22,208,212, 11,236,108, 1,166,127, 77,170,244,
+ 94, 78,247, 66,130, 87, 63,186,137,123,183, 65,161,103,122, 35, 52,211,211,206, 50, 21, 1,109, 50, 75, 21,113,207, 17, 77, 82,
+177,222,166,192,214,165,202, 89,108, 2,122,150, 50,212, 11, 3, 5,187, 17,180,185,152,187,139,173, 17, 68, 66,138,247,179,244,
+254,251, 82,179, 35, 58,220,109,117, 69,250,177,128, 78,234, 51,169,109, 30, 4, 92, 41, 36,115, 3, 7, 69,129, 11, 30, 43,161,
+144, 18,237, 92,100,202, 11,193,220,137, 56, 79,239, 1,126,190,159,161,245, 65, 90,110, 85,162,108, 42,118, 82,117,155, 37,238,
+124,145,228, 96,149,218,120,169, 39, 36, 62,153,120, 52,145,203,182,100,137,101, 90, 27, 23,226, 53,225,217,129,143,187, 71, 49,
+104, 95, 58,140, 78,103,123, 7,241,239,181, 93, 74,138, 21, 92,218,131,157,253,141, 16,146,202,226,189, 57,157,198,164, 85,203,
+141,229,237,183,227,220, 88,232,152,196,229,122,115,252,214,193,170,139,188,122,211,197,251,179, 94,197,247,166,129,121, 18,231,
+152,173,224,236, 12,230,211,120, 47,143,239, 68, 33, 19, 41, 96,126, 12, 82, 34,164,231,104,114,137,194, 26,118,139, 12,103, 61,
+185,119,204,189,164, 8, 22, 33, 5,167,198,243,126, 23,165, 92, 95, 25,230,252,242,131, 5, 82, 73,158,203, 36,239, 47, 86,188,
+ 58,168,184, 55,159, 69,151,185,249, 49,100,154,224, 60,161,243, 4,161,241,245,130,179,149,225,227,214,243,110,103,121,177,144,
+220, 53, 53, 87,164,228,107,157,103, 97, 13, 3,169,248, 74, 8,204,179, 18, 92, 71, 32, 64, 89, 97, 93, 96,169, 75,118,139, 28,
+139,100, 52,222, 71, 42, 65, 53, 28,226,243, 28,161, 74, 58,149, 51,151, 48,117,138,135, 42,199, 56,193, 74, 71, 51, 22,175, 50,
+ 44, 6,231, 60,115,157,243, 57, 17,248,106,107,248,162,232, 88,150, 99, 14,204,140,243,209, 1,131,166,197, 22,154, 27,161,230,
+ 61,147,115,168,162, 46,209,176, 16, 44,150, 29,168,140,117,103, 56, 46,198,148,171, 25, 62, 43,113,235, 37,181, 86,148,235, 53,
+215,171,156,177, 46, 41,165,228, 72, 43, 6, 58, 39, 88,195,174, 82, 52, 30, 20,142, 43,185,231, 77,227, 19,180, 63, 21, 87,223,
+180, 38,182, 91,238,125,242, 91,240,252, 23, 94, 97,118,214, 69,161, 36,107,120,255,141,183,248,242,207,253,191,124,237,157,143,
+ 56,195, 51, 18,134,213, 98,202,151,223,126,157,135,175,223, 2,105, 16,211,105,252,125,117, 29,237,120,219, 22,209,118, 73, 84,
+198,146, 9,120, 99, 58,215,121, 0, 0, 32, 0, 73, 68, 65, 84,161, 16,148, 33,176,175, 4,215,117,198,110,150,115, 41, 83,228,
+165, 70,123,201,131,213,138,183,141,229,151,235, 37,175,215, 29, 31,154, 58,185, 95,134,205, 94,159,229, 20,175, 94,231,115, 7,
+215, 57,203, 61,246,238,244,153,100,209, 31,109,195,167,185,155, 76,115,244,158,206,219, 38,141, 14,181,253,125,105,175,243,253,
+222,183, 69, 95,237,157, 37,123,230, 75,150,246, 54,185,121,230, 63, 93, 80,135,232,174,132, 74,148, 34,197, 11,151, 43, 38,121,
+ 65,235, 21,207, 13, 53,247,106,139,119,150,221, 66, 81,150, 67,134,101,198,238,168, 64,233,140, 97,153,115,237,176, 98, 50, 16,
+ 12,171,168, 45, 63,204, 21,109, 23,105,113, 81,225, 85, 32,133,143,182,130, 50,202,115,102, 2,206, 27,199,254,184,160, 26,150,
+232, 60,231,228,120, 74,150,103,172,151, 51,100,240,252,204,215,223,143,224,157,126, 13,169,240,236, 85,172,222,210, 97,233, 43,
+227, 94,213,205,251,111, 78, 50,123,234,129,177,241,130, 6, 31,219,131,245, 50,206,253,218,246,201, 0, 17,249, 29, 6,215,139,
+196, 66,126, 50, 79,242,187,253,234, 41, 95,189, 7,122, 79,197,208, 91,114,188, 38,233,196, 91,183,161,115,108, 87,231, 90,197,
+ 74,149, 16, 3, 87,214,243,209,147,176,143, 49,169,130,139,226, 31, 23, 0,147, 62, 65, 80, 91,109,242,109, 32, 93,255,222,187,
+ 69,153,110,139,186,168, 30,165,126,201,236, 17,188,227, 35, 16,220,222,254, 52,209,239, 68,166,169,125,224,160,136, 60,221,135,
+ 78,177,151, 65,231, 2, 70, 72,242, 0,107, 41, 89,251,237,225,119,162, 84, 6,145, 90,240,169,122, 14, 79,160, 82,246,194, 19,
+219,163,131,190, 52,247, 46,137, 29,165, 99,179,189,118,116, 47, 68, 20, 30,109,199,247,172, 12, 23,158,157,234,248,217,207,176,
+115,227,136, 47, 94,127,129,207, 94,190,202,193,164, 98,111, 48,100,180, 55, 97, 58, 91, 70, 20,243,100, 2, 7, 99, 24, 95,226,
+168, 44,121, 41, 47,121, 41,211, 92, 17,129,187,245, 50,130,228,124, 6, 7,123,176,179, 19, 29,175, 92,247,233,214,150,115,177,
+ 82,207,139,141,197,110,111, 35, 44, 84, 92, 11, 33,196,153, 99,211, 38,245,199, 38,126,172, 23,241,123,150, 43,184,127, 7,150,
+ 45, 76,231, 49, 25, 88, 45, 1,139, 9,130,171,194,114,207, 8,246, 84,180, 73,253,192,194,190, 14,236, 89,195, 91,198,243,176,
+ 54, 92,241,158, 3, 5, 31,118,158,151,117,148,240,157, 11,120,206, 89, 30,172,106, 94,174, 42,238,173,231,208,173,192,121,194,
+124, 69,232, 12,190,200, 9, 90,226,219, 53,222, 91,124,187,230,227,198,113,164, 60, 15, 76,195,184, 80, 44, 87, 11, 58, 33,185,
+107, 28,141,179, 4, 85,164,241, 75, 14,195, 29,130, 11,188,176, 51,100,164, 75,106,211,177,183,179,131,109, 44, 94, 15,240, 66,
+ 98,149,164,182,130,135, 30,206,144,172,242,130, 38,171,232,202, 1, 70,101,248,124, 4, 58,227,133,172, 98, 32, 37, 63,176, 59,
+ 98,237, 50, 14,204, 18, 91, 76, 24,155, 25,228, 67,178,174,225, 86,200,121, 49,119,172,140,163,202,162,214,142, 2, 90, 27,184,
+151,101,200,213, 28,202, 17,147, 52, 67,191, 36, 21,167, 46,112,128, 99, 95, 72, 74, 41,185, 36,115,118,114,117, 33,136, 56, 84,
+ 25, 65, 8,206,157,225,235, 30, 56, 57,139, 34, 51,206, 60, 1,225,238, 31,107,197, 71, 53,207,217,233, 57, 44,167,143, 22, 41,
+ 58,137,127, 53, 29,239,191,115,155,175,255,242, 27, 60,252,165,143, 98,101, 43,227,158, 35, 86,171, 8,160,108, 29,162, 73,232,
+118, 27, 41,146, 82, 10, 14, 66,224, 69,173, 57, 16,130, 61,169, 25, 40, 69,145,105,114, 45, 25, 72,193,204,123,102,235, 46,250,
+184,247,163, 57, 33, 99,210, 37,162, 2,101,240, 30,123,231, 12,183,171,153,189,254, 46, 98,189,250,244,123,168,216,162,173,170,
+212,189,236,131,114,175,176, 25, 32,250, 30,167,203,180,221,230,239,247, 48, 37, 34,128, 78,108,213, 86,129, 71,170,245, 79, 23,
+212,181,222, 40,229, 20,146,163,215,118,248,248,173, 51, 6, 59, 25,135, 69,206,221, 58, 16,130,229, 82,169,104,125,206,115,135,
+ 67, 14,118, 75, 92,200,168,180, 96,127, 39,103, 50, 20,140,170, 28,239,147,228,102, 38, 49, 38, 90, 2,158, 44, 26,170, 66,225,
+124,224,225,201, 10,219,212,228, 89,172,182,134, 85,129,247, 2,149,229,120, 31,184,116, 48,230,252,116,206, 98, 49,229,175,191,
+119, 11,238, 78,227, 76,207,134,141,109, 39, 60, 91,245,208,239,203, 50,157, 95,106,219,125, 51,111,253,177,247,254, 63, 79,219,
+ 60,251,100, 65,242,221, 49,178,251,213,160,161, 61,203, 61,183,143, 38,214, 17,101,190,149, 88,100, 58,137,192,164, 64, 45,182,
+ 43,249,196, 41,239,101, 99, 67,136, 93, 14, 89, 93, 56, 41, 69,109,247, 46,205,200, 83,155,218,182,137, 54,152, 61, 26,196, 67,
+216,154,169,139, 13, 8,174,179,143,242,213,123, 84,124,182,165, 92, 87,136, 71,121, 52,130,141, 96,145,202, 55, 82,144, 40,130,
+119, 56, 41,105,131,140,167, 40, 21,181,151, 81,132,201, 64,166, 21, 75, 19,131,252, 69,192,118,225, 81,173,227,190,163,114, 97,
+ 79,107, 55, 85,122, 63,203, 15, 61,152,166,167,203,184, 71, 1,112, 50,141, 6,182,147,153,190,187,224, 83, 30,209,111, 8, 97,
+ 11, 68,248, 73, 70, 19,229,152,157, 27,215,121,245,224,136,113, 57,100,255, 96,159, 65, 62, 32, 24, 67,174, 20,235, 76,209,206,
+215,176, 63,132, 75, 87, 57, 26, 12,120,181, 26, 51,214, 26, 45, 96,224, 59,180,111, 57, 61, 94, 69,156,195,100, 24,223,203, 28,
+166,179, 79, 81,165,167, 57,106, 33, 35, 29, 32,139, 84,198,223, 48, 86,252,192,164,228,249, 82,241,193, 89, 27, 91,242,193, 63,
+106, 17,220,175,125,147,230,147,109, 19,255,109,218,184,233,175, 18, 24, 15,207, 92,121, 90,169,120,123, 54,165, 53,130,251, 77,
+ 77,133,226,118, 16,212,171,154,214, 88,198,121,198,241,186, 99,100, 28,141,214, 28, 8, 48,171, 37,199,197,128, 87,114,201,219,
+243, 37,235,122, 14,198, 16,112, 23,114,253, 97,246, 16,175, 6,120,229,241,109,139, 55,150,102,177,224,195,179,134,219,243,154,
+ 15, 79,167,220,111, 26,110,227, 35,157, 81, 15, 98, 48, 27, 31, 16,218, 8, 42, 29, 20, 21, 69,210,188, 23,163,138,243,117, 67,
+ 59, 24,144,103,154, 51, 47, 17, 82,115, 39, 8,110, 89,139,202, 43,150,121, 69,208, 89,244,186,207, 39,144,143, 40, 6,251, 92,
+ 43, 6, 92,157,236,130,200, 57,154, 20, 52, 89, 73,190,154,113, 76, 69, 22,106,138, 98,196,161, 52,220, 94,214,236, 23, 37,141,
+177, 49, 87,178,129,219, 2,154,166,166, 40, 42, 14, 4, 12,149,230,185, 42, 67, 90,203, 43,227, 10, 37, 20,218,117, 28,170,140,
+ 61,149,145, 37, 48,104,147,196,151,156, 16,204, 3,124,109,185,140,207,129,173, 83,146,109,191,197,102,214,143,174,186, 39,235,
+132,132,100,137,108, 82,146, 95,102,136,139,194, 34,126,143, 72,227, 29,129, 71,212, 77,164,204, 39,243,149,163, 74,114, 83, 72,
+118,165, 38,151,130,137, 86,236,229,154, 12, 77,174, 36,135, 74,177, 11,204,188,167,113,118, 51,102, 18,177, 3, 23,178, 52, 66,
+107, 91, 86, 31,222,137, 20, 50,239,163,104,205,167,217,127,251,209,147, 76, 64, 25, 45,226,154,101,171,144, 20, 73,116, 75,176,
+225,253,135,237,107,145,246,191, 97, 21,181, 91,122,205,120, 69,220,255, 62,117,165,190, 45,253, 41, 60,228, 37,171, 44, 32, 86,
+ 29,211,181,229,222,210, 83, 35,184,170, 29,153,148,156, 47,151,188,124,117,159,162, 26,225,140,225,104,191,228,104,183, 96, 82,
+169,200,231, 86, 34,250,119, 8,129,214,240,211, 95, 91,113,176, 3,171,218,208,218, 14,151,102,122,214, 88, 92, 16, 12,134, 5,
+206, 5, 70,163,156,229,162, 35,207, 21, 77,211,114,182, 88,241,238, 91,239,197, 86, 96,109, 55, 96,178, 94,151,248,211, 4, 76,
+191, 37,198,242, 29, 7,195,199, 80,119,223,205,224,254,204, 85,208,119,161, 59,208, 7,112,185,141,109,145, 27,113,159,222,246,
+243, 66, 19, 89, 71,208, 86,166,226, 70,237,237, 6, 5,223,219, 25,170, 34, 1, 67, 68,156, 83, 74,145,130,119, 6,126, 29, 3,
+ 91, 89,110, 2,217,186,217, 82,164,235, 85,212,194,163,129,110, 59,160,235,100,222,162,229,198, 1,174,175,142,123, 81, 27,177,
+229, 97, 78,226,150,247,246,165,200,152,249, 42, 69,161, 36, 51, 20,153, 16,248, 16,144, 42, 32,180,224,172,182,228, 90,209,110,
+ 75, 70, 26,255, 40,194,191,139,173, 59,218,232,149, 64,161, 31,173, 80,251, 4,167, 15,242,253,231,100, 15,186,179,155, 7,251,
+113,166, 99, 95,173, 15,163,146, 87,228,245,187, 77,119,234,147, 42,245, 27, 55,248,226,205, 27,148, 89,201,225,222, 37,138, 60,
+199,217, 14,107, 28,185,202,104,108,195,204,117,176,179,195,247, 29, 94,225,181,209, 37, 14,170, 1,141,181, 81,205,178,105,104,
+187, 21, 15, 86,117,172,146,178, 4, 20,156, 47,227,115,248,105,170,244, 11,202,161,134, 50,231,218,176,224, 55,142, 11, 38, 42,
+162,209, 39,165,228,195,217, 42,169, 42,202, 71, 85, 4,165,140,201, 88,153,197,107,161,100,220, 52,219, 52,207,151, 1, 86, 13,
+ 93,211,209,154,154,208,213, 44,156,195,205,143, 57,246,154,145, 51,236, 6,207, 73,219,113,108, 58, 20,130,155,227,156,176, 94,
+131,214, 40,169,216,239, 26,238,173,107, 30,212, 43,172,169, 35,192,207,180,209,202,181,235, 8, 34, 39,172, 87,132,122, 77, 24,
+148,120, 99, 99,176,119, 93,252,220, 98, 78,168, 87,132,233, 50,186,194,217, 6,116, 65,176, 22,198,187, 72,161,121,101, 52, 32,
+ 32, 56, 21,160,180,226, 65,158,211, 8,201, 87,140,163,203, 52,175, 11,141, 13,176, 76, 28,106,164,138,207, 80, 62,140,231,156,
+ 15,184,190,187,199, 36,203, 24,142, 70, 20, 8,206,157,102,156, 11,140, 46, 56,104,150,172,130, 66,248,154,115,163,121,126,167,
+228,108, 89, 51, 25, 42, 22,235,192, 45, 33,120, 94, 40, 12,240,188, 18,236,141, 10,156, 23,220, 24,148, 28, 85, 21,227,108,192,
+218, 59,174,102, 5,210,116,236,231, 57, 57, 2, 57, 40,169, 9,120,173, 88, 35,185,237, 29,111,218, 4,152, 60, 91,125, 50,150,
+227,153, 71,190, 62,142, 52, 73,160, 48, 25, 69,150, 68,191, 71,167, 61, 78,116, 14, 97, 58,132, 18, 8,239,144, 62, 32, 21,100,
+ 82,112,128,228,178, 20,236,228, 25,149,148,220,172, 74,174, 22, 21, 87,138,156,163, 34,231,234,160, 98, 87, 75, 62, 92,119,180,
+ 18,130,210,132,196, 42, 10, 33, 2,154,195,178,133,179,179, 24,204, 71,195,232, 80, 39, 36,194,218, 79,103, 60,230,183,112, 39,
+125,210,211,155, 48,245,202,155,193, 63, 74,195,237, 5,208,122,204, 82, 94,114, 97, 92,214, 39, 67, 91, 73,252,179, 7,245,158,
+ 58,165, 36,232, 97,148, 7, 60,158,163,158,159, 16,206,107,174, 95,175, 40, 50,203,135,115,195, 81, 41,184, 58,201, 9,162, 4,
+111, 57,220, 31, 34, 69, 96,119, 32,216, 25, 22, 56,231,104,141, 67, 11, 88,119, 6,239, 4, 95,255,224,140,247, 63,186,195, 32,
+207, 88, 45,150,204, 23, 75,214,171,154, 60,151, 12, 70, 21,121,158, 1, 10,103, 28, 69, 1, 77,227,112,193,241,254,253,251,204,
+117,160,187,117,188,213,170,120,140, 42,246,105, 91,220,223,141,224,123, 1,172,243,159,152,160,254,170, 6,116,245, 93, 41,213,
+ 19,200, 73,110,141, 41,236,163, 25,202,246, 38,155,171,216, 38, 29, 12,145, 95,252, 44, 97,182,136,237, 81,231,160, 24,197,170,
+ 44, 36,250, 91, 16, 81,205, 43,171, 54,116, 47, 37, 55, 52,144,117,162,147, 92, 56, 36, 37,224,160, 44, 54,237,233, 46, 5,204,
+109,103, 62,149,199, 68, 66,170, 13, 69, 48, 16, 91,181,170,167, 8,166, 81,128, 78,130, 57,201,122,148, 66,167,141, 34, 38,135,
+ 6,193,160,204, 88, 27,143,150, 34, 62,143, 38,144, 73,201,188, 55,108,184,248,251,126, 19,204, 93,136,215, 34,108, 81,250,182,
+ 91,240, 61,184,204,111, 85,250, 33, 41,205,117,110, 3,154,235, 85, 4,251,148,189, 99, 83,193,103,105, 3,232, 91,123,186,183,
+139, 20,159, 72,115, 44, 94,122,137, 16, 44,215, 15, 14,201,243,156,206,116, 40,145,108, 72, 9,180,193,113,188,106,248,210,213,
+ 67,138,106, 55,122, 60,228,138, 65, 86, 96, 58,131, 20,142,135,179, 19,206, 62,190, 19,219,200, 75,147, 16,241,221,166,253,222,
+107,100, 63,237, 25,236,191,222, 3, 63,117,129, 28, 14,248,157,151, 42,118,178, 28, 47, 4, 74, 64,215, 26,222, 57,111,146, 35,
+152,217,172,181,190, 75,148,231,112,120, 53,174,177,174,222,140,204, 50,157, 68, 59,146,141,240,116, 30,175,213,131,187,169,117,
+187,100,161, 52, 67, 60,210,117, 72, 2,133, 3,107, 45,227,193,144,206,116,248,229,154,157, 66,243,229,243, 57,206,180, 9, 39,
+ 99, 8,166,139,125,107, 27, 8, 82, 16,218,134, 32, 3,161,105,183, 93,182, 47,138,172, 96, 34, 88, 49,220,187, 15,195, 49,140,
+ 71,113, 45,234,104, 39,122,170, 51,188, 16, 92, 30,230,220, 91,117, 92,175, 50, 62,108, 45,151,180,230,190,243, 88, 36, 43,169,
+ 8, 34,128, 46, 19, 56, 42,138,232, 48, 28,115,105, 48,228,102, 38,121,241,112,135,182,181,168, 73,197,209, 32,231, 97, 23, 56,
+ 20,158, 85,174,105,219, 21,222, 73, 14, 10, 56,158,173,216, 27, 23,172, 59,207,185, 23,236, 2, 75, 33,201, 93,199,225,184, 96,
+ 71, 74,198, 74, 48,148, 25, 58,203,217,205,115, 14, 7, 35,240, 2,169,115, 86, 93, 67,200,114,234, 32, 88, 40, 65,155,101,220,
+117,158,247,140,224,142,243,177, 91,178, 92,197, 81,152,247,143,219,108,125, 27,237,201,222,157, 49,205,155,125, 44,222,132,220,
+224,124, 68,138,129,194,216,244,110,144, 34, 35, 35,160, 51,201,101, 45,217,209,138, 35,157, 49,210,154,129, 46,169,116, 70,153,
+229,236,102, 5,198, 91,172, 53, 76, 21,212, 4,100, 94,224, 93,228,185,203,174, 35,172, 26,112, 9, 1, 63, 44, 35, 45, 78,134,
+139,142,238,183,101, 27,254, 73, 64,233,139,175,251,205, 62, 96,211,124, 93, 37, 61, 13,107,226,216, 55,124, 26,244,251, 19,129,
+ 90, 9, 1,110, 36,131,207, 95,197,124, 56, 67, 93, 31, 96,131,103,250,238, 12,177,110,185,127,122,202, 7,203, 53, 59,250,156,
+157,170, 64,229, 35,118, 70,146,163, 73, 69,221, 52,148,133,138, 0,145,206,197,153,185, 14,236, 13, 5, 85,149,209,186,142,233,
+188,229,193,241, 3,140,119,104, 41,145, 89,198,100, 84,224,141, 97,185, 92, 81, 86, 37,211,243, 25, 93,211, 81,105,197, 27,247,
+ 31, 16, 86, 6,154,121, 82,183,106,191, 51, 77,244, 79,251,163, 23, 93,140,132,180,238,179,172, 39,217,168,249,111, 29, 67,191,
+227,164,194,109,241,161,229,227,227, 19,249,232,199,183,188, 78, 9, 76,160, 83, 48,247,114,155,103,245,205,235,195,165, 69,169,
+ 50,194,206, 78, 68, 48,135,164, 38,167, 66,156,193, 22, 18, 66, 30,249,154,189, 87,124, 81, 36, 10, 88,153, 90, 81,126,179,128,
+123,164,123, 79,147, 99,139,214,214,250, 71,145,213, 69, 30,129, 39,190, 23,131, 73, 21,253,182,211,153, 21,155, 74,223,187,168,
+242, 36,185, 48,141,136,179, 52, 46,208,243,198, 57, 42, 41, 89,121, 8, 33, 32, 2, 44, 43, 25,171,101,221, 11,238,216, 77, 64,
+207,213,134,146,231, 82, 50,164,244,133,132,236,197,245, 19,233, 30, 52, 41, 49,201, 68, 60, 72,151, 42,110,145,142,143, 45,111,
+117,181, 21,220,243, 30,116, 19,175,247, 69,182,255, 45,198, 51,238,124, 73,117,245,136,138,232,243,160, 16, 12,134, 21,109,189,
+198,250,142,186, 93, 50,204, 4,223,115,253, 38, 85, 85,177,146,138,194, 11, 36, 6, 92,199,241,114,198,215, 78, 78,225,193, 52,
+ 57,229,249,216, 6,116, 38,137, 3,145,186, 50,219,224,202,199,147,222,173, 17,138,146, 32,115,190,120, 56, 96, 47, 47, 24,107,
+ 69, 16, 18,227, 29,223, 88,183, 28, 79,163, 90,221,133,176, 80,191,110,123,187,231,213, 44, 2, 40,133,219,162, 7,110, 9,232,
+180,233,231,219, 85, 52,179, 89, 45, 99,208, 41, 37,179,102,206,209,112,151, 83,211, 82, 8,193,165, 76,179,182, 29,187,206, 49,
+ 42, 43,254,254,195,227,152,168,180,179,200,181,183,109, 4,188, 42, 69,176, 38, 6,242,229,121,108,215, 58,247,104, 48,127,236,
+ 61, 38,170,115,194,217, 12,142, 14,211, 26, 43,200,117, 84,161, 84, 68, 13,251,179,214,114,181,140,250,235, 45, 30,107,124, 20,
+ 43,234,129, 83,147, 73, 92,115,121, 9, 50,227,112, 92,112,115, 50, 64,103,146, 44,203,233,148,164, 13, 48,145,138,187, 86, 48,
+ 86,154,219, 54,160,156, 99,218,121,148,119, 44,189,164,105, 45,149, 16,220,115,134,207,142, 52, 7,131, 10,225, 61, 59, 66,112,
+165, 28,178, 18,130,177, 86,200, 16, 24, 13, 7,212, 1,186,214, 50, 42, 43,150, 72,214, 69,206, 84, 42,102,206,242,160, 17,204,
+165,230,212,182, 56,103, 8,138,136,185,248,118,192,147, 79,220,134,108,194,219,116,143, 24,170,136,190, 5,191, 61, 81,115, 46,
+ 78,161, 36,232, 92, 49,146,138, 29, 41,184,146,107, 46,149, 5, 35, 85,196,173, 42,120,164,208,180,222,160,180,102, 41, 3,211,
+186,102,156,101,212,214, 99,157, 97,164, 4,245, 98, 25, 19,186,243,121,212,134,207, 51,132, 22, 9,101,111, 35,229,237, 49,136,
+206,167,126,189,112,141,253, 47,124,134,250,214,189,111,102, 65, 61, 30,232,219, 46, 57,133,118, 79, 28, 19, 63,209,222,236,171,
+127,239,167,248,143,127,226,127,224,111,254,221,159,123,242, 1,172, 27, 24,148,172,223, 58, 69, 20, 26,119,107,193,186,245,136,
+ 28,126,240,251, 95,228,203,255,240, 1,208, 32, 41,185,123,118,159, 32, 53,207, 95,126,137,119,238,157,241,202,149, 9, 47,222,
+ 60, 98,181,106,121,231,131, 7, 96, 61,247,167, 45,139,117,205,221,143, 79,152, 45,215,156,181, 75,150,214,208,153, 64, 86, 72,
+118,179, 33,167,199, 51,254,212,191,242,187,248, 63,127,238, 77,190,113,235,132,182,107, 57, 95,213,252,181,159,248,215, 81, 74,
+226,211,188, 85, 74,137,148,130,201, 43, 63, 66,103,126,149,145,225,189,184,137,216, 70,193,109,251,180,127, 27,137, 65,127,131,
+244,119,128,108, 87,143,189,111, 31,235,183,215, 3, 75, 7,148,192, 45, 79, 82, 84, 26,148, 23,235, 34, 2,158, 44,188,243, 97,
+100, 74,168, 50,118, 79,124, 52,202,192, 38,138, 90,158,116,225,109, 66,138, 23,163,200, 36, 80,101,178, 7, 77,188,105,183, 69,
+235,235,131,123,191, 14,117, 58, 46,107, 31, 61,199,124, 11, 64, 38,100,148, 28,246, 34,126,190, 87,108,235, 91,216, 89,186, 88,
+193, 61,202,149,135, 11,117,184,117,202,152, 59, 31,232,130, 68,182, 2,143, 75, 35,137,116, 45,122,197,184,158,146, 7,177, 29,
+220,177, 53,219, 79, 92,244, 32, 54, 93,132,254,107, 62, 89,173,246, 84, 55,107, 55,179,247,167,101,155,222,166,132,193,166,243,
+121,134,219,217, 44,120,240,230, 71,148,159,147,156, 46, 87,188,114,245, 26,166, 61,163, 44, 52,160, 56, 24, 76,248,204,209,101,
+202, 65, 9, 34,227,250, 96, 72,107, 28, 31, 62, 92,240,229,213, 20,191, 92,110,116, 7,214, 22, 6, 26,202,113, 60,134,198,197,
+ 64,223,175, 7,251,148,181,158, 0, 73,180, 29, 20, 57,215,247, 53,151,133, 96,234, 28,131,144,225, 68,224,107,181,225, 27,203,
+ 84,169, 60,105,253,150, 99, 56,184, 4, 15,239,108,198, 47,253,247, 93,172,207,173,117,177,110,128, 38,206,123,231,199,241,103,
+190,248,121,102,139,251, 92, 26,236,178,240, 29,111,156, 47,249,222,157, 67, 36,134,166,171,185,150, 73,110, 55, 45,194, 68,117,
+177, 48,157, 69,251,214,135,167,241, 25, 95,156,130,148,113, 62,254,216, 43, 60,233,255,235, 6,116, 3, 31,188, 9, 87,159, 3,
+165,105,149, 38, 8,133, 73,157, 37, 45, 5,239,173, 26,148,132,171,121,193,109,209,224,154, 36,113, 76, 25, 25, 0, 89,122,206,
+148,230,210,176, 36,228,177,187, 81,228,160, 76, 60,111,155, 43, 70,165,226, 23, 30, 46,216, 45,134,252,109, 19,216,149,150, 42,
+ 40,174, 54, 11,116, 57,166, 2,174, 41,141,195,177, 19, 60, 50,175,200,117,198,217,106,193,181,225,152, 78, 75,206, 91, 75,179,
+ 92, 51,153, 76, 88, 10,135,145,209,193,236,220, 90, 76,145,115,214,105, 78,164, 99,109, 58,118,243, 1, 39,229, 16,155,207, 96,
+188, 15,237,253, 95,213, 45, 56, 96, 17, 90, 19, 82, 27,252, 98, 82,101, 45,172,107,234, 14,186,231, 52,107,167,152,183,134, 98,
+ 0, 54,116,104, 10,144, 26,227, 13,185,210,236,120, 79, 48,150,215, 6, 3,222,237, 26, 62,151, 59,222, 93, 59, 86,222,115, 77,
+192,157,135, 39, 81,119,190, 53,132,176, 6, 27, 16,198,198, 46,204, 19,238,185,120,202, 26,120,234,235,195, 59,156, 73,241,244,
+174, 86,175, 32,217,175,235, 79,240,187,248,166, 39,101, 56, 40,249,252,103, 95,224,231,127,241,141, 39,236,237, 54,129,228,146,
+174,119,183, 2, 87,161, 94,221,199,191,125, 15,117,243, 26,191,240,143,238, 80,221, 40,169,178,146,159,125,231,152,207,220,104,
+216, 47, 75,222,124, 39,231,232, 96,135,197,110,193,206,100,192,235,111,223, 98,186,152,177,110, 29,153,232,248,250,155,247,248,
+ 59,111,125,200,165, 74,178,183, 51, 68,134,152,253,223, 59, 55,120,235,216, 29, 15,120,238,112,135, 95,121,231, 22,239,221,123,
+ 72,161,115, 38, 85,201,143,254, 59, 63,201,255,243,238,251,240,254, 3,104, 22,252,249, 63,253, 39,121,238,232,210,175, 65, 64,
+231, 9, 1,253,113,148,123, 31,108,248,100,239,243,222, 82,115,187, 10, 17,252,218,188,190,213,177,109,223,251, 39,253,187,216,
+ 50, 84, 41,199,169, 61, 38,162, 9, 75,207,197, 44,114,232, 68, 4,119,244,232,253, 97, 9, 77, 74, 60,180,220, 80, 51, 42, 29,
+177, 17,217, 78,172, 96,237, 34,122,176,171, 60, 86, 76, 93,189,209,124,239,215,225,246, 2, 87, 9,132,114,145, 54,247, 85, 93,
+ 10,232, 93,242, 83,238, 82,224,191, 64,143,203, 77, 64, 52, 61, 42,117, 43, 65, 11, 36,212,105,128,208,225,253, 86, 85, 45,182,
+ 42,116,111, 55, 26, 6,164,249,111,149, 71,160, 79,112,143,242,216,189,221,252, 91,132, 77, 66, 80,234,216,222,253,164,246, 78,
+ 78,236, 72,101, 41, 49,184,118, 8, 31,222,223,200,222, 58,255,201,247,182,105,248,232,131, 59,140, 46,239,177, 51,205, 24, 23,
+ 37,171, 58,218,196, 30,237,236,177,119, 52,161,110,162,216,206,170,109, 88,180, 13, 46, 3,191,154, 65,151,180,167,243,173,107,
+ 4,113,148, 33,154,248,247,215,137, 13,225,158,226,121,111,211,215, 83,192, 13, 66,208, 4,143,246,129,247,186,142,179, 14,222,
+169,211,207, 21, 2,230, 91, 26, 4, 33,174,181,252, 11,175,208,221, 59,251, 22,137,235, 99, 9, 95,159,144,246,246,150,239,188,
+133,253,220,107,156,213, 53,132, 21, 72,197, 47,222,125,143,188, 28, 83, 9,193,108,126, 6,210, 19,154, 8,146, 19, 85, 9,171,
+134, 32, 53, 60,124,152,152, 48,221,183, 8, 60,143,189,230,167, 96, 87,145, 45, 96, 1,149,211, 1,183,229,152, 35,215,226,170,
+138,214,121, 94,173, 74,238,117, 29,206, 38,136,186, 77,244,217,178,188,120,142, 46,233,200,216,176, 66, 48, 46, 53,214, 5,116,
+225, 81,121, 78,221, 90, 78,219, 64, 53, 44,121,195, 74, 14,133,160,238, 26, 68,107,120, 32, 38,236,153,134, 74, 72,174,236, 14,
+ 41, 77,141,148, 26,135,164,234, 90,118,118,119,185, 91, 55,228, 78,113, 56, 40, 24, 82,242,208, 7, 70,187,151, 56, 63, 62, 6,
+ 37, 88,171,156, 46,192, 10,144, 33,176, 18, 18,135, 36,232, 44,170, 16,142,151,176, 78,201,221,175,202,203, 62, 26,194,116, 79,
+ 51,142,235, 63, 8, 64, 26,110,157, 46, 81,151,225,197, 82, 51,109, 59,142, 84, 73,235, 28,173,179, 84, 42,231,196,116,212,193,
+178,159,231,204,172,225, 32,215,172,154,142,151, 67,203, 7,179,154,251,103, 11,164,179, 4, 27, 63,132,141,231, 19,236,163, 88,
+182, 79,188,231,207,242,122,255,246, 19, 18,215, 18, 6,195, 4, 16, 77,186, 14,166,123,166,208,148,246, 67,201,199,191,244,215,
+144, 82,242,225,151,255, 42, 0, 95,250, 29,127,152, 15,110,221,229, 63,248, 19, 63,198,191,249, 47,255, 94, 14, 15,118,249,153,
+ 95,248, 26,255,210,191,255,103, 57, 62,155,241,195, 63,244, 61,252,143, 63,241,239,242,215,127,254, 23,249, 23,126,219, 15, 34,
+149,226, 79,254,248, 95,224,123,127,224, 53,254,192, 63,241,155,185,124,184,207,159,251,171,127,139, 63,247,151,255, 47,254,232,
+ 15,125, 63, 82, 88,180,254, 62, 94,127,243, 35, 86, 77,199, 15,126,254, 5,190,231,139, 47,243,119,190,252,151,120,248,250, 91,
+252,200,191,248,187,249,183,254,232,239,225,198,229,125,190,254,241, 61,126,236, 39,127,138, 95,126,255,109,238,254,165, 63,141,
+ 64,240,147,255,246,239, 3,224,143,253,217,191,204,207,190,253,141,216,253,156, 25,176, 53,255,252,239,254,173,252,190,223,243,
+ 67,124,207, 15,255, 17,126, 93, 95, 61,184, 65, 60,107,208,220,162,242, 92,180,152,121,118,141,225,103,237, 40, 60,237,111,107,
+251,108,129,253,105,199, 93,150,177, 10,239,221,212, 84, 1, 86,199,207, 55,117,148,142, 29,148,155,227,200, 52,180, 73, 26,182,
+136,150,138,145,247,223,198, 25, 41,117,148, 24, 85, 62,182,233,251, 42,221,177,161, 61,125, 19, 56,110, 11, 33,239,205,166, 53,
+ 29, 82,171, 90,166, 28,190, 15,232, 50,196, 68, 99,144,127,115, 75, 56, 35, 30,135, 77, 32, 65,147,170, 97,209, 87,228, 91,237,
+124,177,245,248, 54, 9, 73,232, 83, 96,237,103,245,117,226,223, 23,217,214, 24, 32, 5,116,231, 82,162,144,254,118,174,210,239,
+217, 10,148,166,217, 32,226,183,129,114, 90,196,121,113, 86,114,233,242, 1, 39, 15,103, 48,235,210, 40, 65, 38,239,132,173, 29,
+102,123, 45,133, 21,100, 7,188,118,245, 38, 90, 58, 6,163, 17,174,169, 81, 74,179,127,120,137,178,204, 81, 69, 96, 58,111,168,
+ 93, 71,231, 44,199,245, 60,110, 44,139,117,252,176,102,179, 86,157,221,128,254,164,127, 74, 15,240,177, 53,185,181,214,239, 28,
+175,120,126, 60,228, 78,211,128, 47,121,167,115,155,243, 21,114,147, 32, 92, 36,235, 53,221,219,239, 70,250,104,219, 61,161, 66,
+127,108,221, 63,254,249,190,149,219, 76,152, 31, 31,195,184,141, 5, 75,178, 36,237,128,206,172,226, 8,193, 68, 14, 52, 64, 56,
+153, 70,175,245,166,217, 84,255,197,147,157, 2, 63,113, 99, 95, 55,177, 61, 61,174,226,249,237, 94, 6,123,200,131,241, 78,212,
+214,215, 37,239, 44,234, 77, 23,168,255,123, 66, 70, 4,246,112, 0,157, 71,101,158,202,121,156, 18,204, 93, 96, 80,102,152,198,
+ 96, 8,136, 66,179,178,158,147, 96, 41,131, 98,145,105, 6,114, 68,147, 91,196,116,206,160, 24,162,186,134, 82,192,104,178,203,
+ 14,130,105,211,161, 6, 21, 31,206,230,188,178,183, 71, 99, 13,171,214,113,234, 12,207, 15, 7,156, 19, 56,216,223,231,214,236,
+156, 66,230,156,174,187,200, 0, 17, 48, 8,158, 70,107,180,206,112, 34,131,225,128, 32, 10,112,205,147,241, 61,219,157,206, 79,
+ 83,132, 93, 36,105,143,221,243, 94,175,201,123, 66, 90, 87,161,179, 4, 3, 31,157,231,252, 3, 47, 40,145,236, 23,138, 12, 80,
+ 50,103,233, 13, 74,106,238,172,107, 78, 9,104,165,144,206,162, 75, 77,214,193,229, 61,193,195, 85,234, 2, 52,117,106,121, 63,
+ 58, 90,249, 38, 12, 5,143,226, 91,191,109, 76, 65,145, 67, 89,196, 2, 72, 8,112, 42,225,109,252, 39,198,133, 71,102,234, 33,
+ 4,156,115,156,156,205,248,254, 31,249,215,248, 47,254,235,255,153,243,217,130,159,248,143,254, 13,126,251,111,254, 18, 63,250,
+135,254, 61,254,204,127,245, 63,241, 99,191,255,119,241,165, 87,159,231,111,253,253,175,242,135,254,185,223,206, 23, 94,123,137,
+255,242,191,249, 43,252,137,159,250, 43, 92,175,198,252,135,127,252, 15,242,191,252,181,159,230,143,255,103,127,145,143,166,199,
+252, 39,127,228, 15,240,231,254,187,255,149, 92,214,124,254,133, 27, 76, 70, 67,254,238, 79,255, 60,191,243,183,124,145,151, 95,
+184,202, 31,249, 79,255, 91,254,239,127,248, 14,127,242, 15,255,179,252,254, 31,249, 65,126,255,159,248,179,252,169,159,252,139,
+252,150, 47,124,134,223,254,242, 77,254,234, 95,250,223,113,251, 59,116,173,225, 95,253,207,255,123,254,194,255,241, 15, 88,173,
+ 86, 88,103,120,227, 87,238,192,116,202,205, 23,174,242, 55,127,234,207,240, 7,255,216,159,230,205,119, 62,250,181,169,210,241,
+ 27,177,148, 39, 61,210,129,103,243, 40,239,129, 61,126,203,145, 43,244,173,216,239, 70,146,225, 63,217,114,246,153,125,212, 31,
+ 27,248, 95, 24, 28, 84,233,148, 85, 2,193,117,144, 87, 96,151, 49,130, 21,101,188, 22, 85, 1, 85,149,134, 93, 58,130,210,134,
+131, 24, 64, 93, 74, 14,156,219,200, 32,154, 5,200, 50,166,196,222,196,160,218, 3,227,202,252,209,141, 64,234, 77,128,233, 9,
+180,206, 37, 48,158,216,204,209,173,216,180,188,123,106,140,220, 66,196, 43, 25, 55,218,114, 16, 31,168, 94,198,214,218, 56, 79,
+105, 76, 12,166,150, 77, 80,251,255,186, 59,243,216,202,174,251,190,127,206,114,151,119,223,198,101, 54,105,180,203,178, 36,203,
+ 82,237,120, 81,188, 1,110,155,218, 13,218, 24,112, 19,184,168,255,180, 83, 32, 64,209, 38, 5,130, 2, 6,138,180, 64,227, 46,
+105,141, 26, 40,138,182,169,155,182, 6,154,216,109,224,164,177, 93, 27, 65,108, 3, 74, 17, 91,134, 20, 69,171,173, 37,150, 53,
+210,140,102,134, 67,114, 72,190,229, 46,103,233, 31,231, 92,222, 75,206,140,228, 25, 73,142,209, 7, 16, 36, 31,249,222,187,203,
+ 57,191,245,251,251,126,235,232,169, 91, 36, 61,190, 35,175,176,190,119,189, 84, 36,138,112,157,156,234,129,102, 96,191, 34, 70,
+ 4,195,212, 33,232, 57, 76,118,209,239, 73, 87, 53,139,237, 69, 16, 52,106,103,228,137, 61,121,209,151,233,117,221,122, 74, 52,
+119,223,247,118, 38,195,130, 99,227,117, 82,165, 25, 20, 5,227, 65, 65, 83, 55, 12, 70, 5, 94,104, 68,170,105, 28, 56, 28, 79,
+109,109,211, 8, 9, 23, 46, 4, 10, 88,211,116,199,236,162,212,166,142,228, 49, 45, 81,149, 10,162, 76, 7,122,171,253, 62,161,
+ 86,113, 84, 17, 94,108, 96,203, 43,182,132, 15,193,138,139, 85, 20,235,130,194, 85, 95,200, 40,209,176, 88,118,204,145,237, 61,
+234,143, 26,181,243,238,142,131, 65,114, 31, 75, 82, 45,195, 49, 14,179, 72,128, 20,143,115,123, 35, 16,222, 72, 21,232,105,181,
+134,205,109,152, 14,195, 26,216, 62, 23,208,221, 89,250,170,153,250,149,177, 47, 13,204,150, 97, 31, 12, 70, 1, 27, 32,117, 28,
+ 9,171,194, 57,167, 49,168,107,215,133, 82,221,244,135,169,104,140, 99,109, 92,176,174, 36, 74, 73,246,106,143,148,130,165, 23,
+156, 89,212, 44,113,204,107,139, 84, 10, 82, 77,227, 61, 78, 73,142,166, 41,141,148,220, 49,144,140, 17, 88, 47, 25, 74, 65,145,
+103, 44,107,195, 90, 81,176,181, 44,241, 90,147, 41,201, 40,205,184, 96, 26,214,117,194, 5,107,184,101, 52,225, 84, 89, 50, 72,
+161,170, 45, 53,130,165,173,216, 50, 13, 66,106,106, 83,117, 99,169, 91,219, 29, 51, 98,223, 97, 37,170,107,169, 93, 45,121, 81,
+111, 13,137,120,111, 69,143, 30, 66,120, 31,116,212, 33,140,186, 57, 88, 36,138,163, 90,145,105, 73, 74,104,159,205,156,101,219,
+ 90, 46, 56,203, 2,129, 21, 30, 33, 4,210,251, 64, 75, 46, 37, 39,134, 41, 34, 81, 44,147, 1,216, 6,233, 65, 28, 2,199, 93,
+ 65,134,235,218,123,236,237,254, 77,211, 14, 84, 42, 68,216, 99,175, 2, 2,191, 36,158,126,239,187,238,229, 27,127,252,208,254,
+239, 55, 92,119,148,191,247,137,143,114,251,253,127,155,243, 23, 46, 2,240,187, 95,125,128,143,253,205, 15, 66,185,199, 79,255,
+165,183,240,111, 63,247,191,248,230,255,125, 2,117,251, 58, 27, 91, 23,249,250,131,143,240,123,143, 61, 70,189,156,115,246,249,
+ 77,118,102, 11,236,162,228,219, 79,158,231, 19, 31, 91,225,143,254,236, 73, 62,242,115,239, 71,107,205,135,126,229, 55,216,220,
+216,227,216,218,136, 79,253,210,223,226,190,159,251,135,188,180,189,139, 51,154,175,125,235, 65, 62,249,177,159,133, 69,201,253,
+ 55, 93,207,215,190,243, 8, 79,109,158, 39,145,146,199, 47,206,200,178, 32, 50,161, 71, 5,191,243,217, 79,241,239,127,251,171,
+ 60,240,208, 19, 63,222,186,181,239, 1,176,250,229,119,119,149, 61,113,219,150,220,123,128,179,215,181,131, 96,174, 0,161, 48,
+ 63,106, 4,115,233,115,222,193,112, 26, 70, 7,163,100, 41,178, 9,229,114, 83,129, 30, 71,173,110, 7, 43, 3,152, 22,161,228,
+ 40, 36,140,178, 64, 6,147, 8,210, 36,167,102,121, 41, 97, 79, 50, 14,239,237, 0,105,186,158,125,109,186,126,122,107,200,197,
+229, 90, 32,186, 3,149, 65,112,198,109,217,221, 68,133,188, 36,143,206,216,133, 13,212,146,187, 12, 90,227,145,192,162,233, 0,
+136,137, 14,165,116, 45, 2,130,185,142,199,236,234, 46, 92, 23,135, 67,244, 24,168, 45,234,174, 50, 80,153,144, 69,215,241,127,
+147, 94, 9, 63,139,206,223,134, 44, 60, 4, 30, 61, 71,116,224, 28,218,177,191,121, 55, 54,217,196,118,134,237,129,104,132, 12,
+148,178,237,253, 94,191,137,227,171,235,104,169,217, 89,236,145,231, 57,171,249,144, 36, 79, 73,101, 26, 49, 89,134,201,116, 0,
+ 18,230,203, 5,183,140, 87,241,102,198,247,198, 67,216,220,233,174,107, 59,158,211,158, 99,139,177,168, 77, 36,102, 50, 87,118,
+126,109,150,221,148, 48,111,129,156, 45, 72, 49,146, 7, 73, 21,112, 22,182, 60,152,229,183,159,173, 47,131,169,208,241, 92,205,
+161, 62,187,190, 76,214,119,113, 22,152,245,210, 54, 88,216, 11, 96,186,202,192,169, 51,193,145, 22,121,144, 0,157, 47, 3, 59,
+228, 43,100,232, 87,149,113,170, 37,252,249, 11,225, 60, 7, 41, 52, 11,152, 28, 15,253,104,107,160,148, 93,123, 72,200,174,244,
+ 26,191,167, 89, 78,125,238, 34,230,196, 26,110, 94, 51, 28,166,224,100,160, 76, 80,158,166,129, 97,150,176, 83, 53, 88, 37,112,
+105,152,114, 88,120,207,170, 75, 56,147,228,164,110,193,221, 89,202, 66,192,145, 68, 65, 82,224,234,134, 65,154, 4, 21,100,161,
+152, 11,199, 48,205,152,153,154, 19,163, 1,103, 22, 75,142, 15, 6,108,151, 75, 26, 26,156,183, 88,149,131,153,225, 26,131,202,
+ 71,152, 34,202,151, 14,199, 65,147,163,127,111,156, 60,152,189, 43,249,163, 87, 38, 15, 93,247, 3, 25,113, 79,176,208, 43,185,
+ 63, 94,232,154,146,229, 30,124, 77, 8,172,132, 66, 44, 56,150, 5,194, 35, 43, 5,115,165, 3, 75,164,245,104, 37, 24,106,205,
+ 0,197, 12, 65,158, 75,134, 72,142,100, 21, 79,178, 2,179, 57,126,209,224,125, 40,199,247,209, 46,254,208,207,175,205,100,155,
+ 32,109,188,175,191, 30,136,122, 94,237, 26, 93, 98,177,223,243,206,123,248,244,103, 63,191,255,251,135, 62,248, 46, 30,126,244,
+233,125,135, 14, 48, 29, 21,156,223, 14, 36, 19,247,191,253, 78,254,201,103,254, 43,140,114,236,243, 23,120,251, 93,111,226,155,
+223,126,146,157, 23,246,152,222,182,194,123,223,255, 86,190,253,240,247,112, 82, 51,190,110,192, 93,183,223,198,251, 86, 71, 76,
+ 71, 5,119,254,141,127,192,238,172, 98,116, 52,227,175,254,244,125,100,169,230,161,223,251,215,241,106,120,164,144,124,241, 15,
+190,137, 7,222,115,223, 29,124,250, 55,126,139,157,231,126,176, 15,184,170,226, 92,241,175,255,242,199, 49,214,241,235,255,249,
+127, 7,135, 66,253,198,250,115, 67, 40, 89,183,151,207,186,131, 78,197, 93,195, 29,237, 27,165,170,254, 49, 5, 38,230,218, 3,
+135, 68,134, 50,187,237, 59,116, 31,174,191,175,162, 99, 95, 66, 54, 8,255,187, 50, 10, 32,170,149, 33, 89,150, 81,237, 85, 76,
+ 38, 3,202,210, 99, 91, 62, 99,116,200,202,171,101, 64,176,103, 61, 16, 90,157, 4,144, 83,109, 46,189,102,109, 73,190,229, 79,
+ 86,189,123,144,137,110, 57, 24, 31,126,247,209,193,139, 24,152, 16,203,244,101,236,135, 15,243, 78,188,196,187, 96, 92,117, 68,
+ 62,150, 38,150,200,155,208,251, 78, 85, 96, 95, 59,236,204,219,223,219,185, 83, 31,157, 85,105,194,235,124,204,238,211,126,159,
+188,103,229, 92,203,104,101,186, 74,132,171, 35,213,109, 47, 72, 49,254,224,186,107,151, 97,227,122,216,205, 62,136, 51, 84, 52,
+110,184,237, 36,179,106, 73,158,104, 50,149,178, 87,206,209, 8, 50,173, 81, 67,168, 23, 53,211, 35, 19,118,247, 26, 22, 85,195,
+238,178, 66, 99, 40, 27, 56,178, 58,229, 66,185,132,151,202,144,173,239, 7,161, 38, 4, 33,210,117,125, 84,173,187,210,249,171,
+225, 53,148,233,136, 56,218,160, 49, 21, 65, 4, 3, 96,135, 80,173,241,166,123, 77,223,192,239,115,255,167, 7,251,142, 2, 72,
+167,112,235, 42, 60,251,220,101, 2,217, 58,242, 18,196,160, 46,199, 28,146,165, 0, 0, 19,212, 73, 68, 65, 84, 25,132, 15,187,
+176, 13,213, 94,168, 68, 93,220,137,228, 74, 85, 88,131,197,235,212, 43,174,234,240,249,207,191, 0,199,214,122, 99,195, 50,220,
+243, 74,198,209, 69,194, 40,103,108, 73,164, 66, 83, 11,184,213,212, 84, 58,225,135,103, 54,184,101, 60,100,161, 37, 59,101, 67,
+170, 85,192,163,106, 25,240,186, 89,144,153, 93, 36,158,129,147,148, 90,145, 13, 28, 55,214, 21,168, 49, 27,222,146,121,199,197,
+218,144, 36,154, 36,207,216,174, 42,174, 19,154,185, 55,228, 42, 65,226, 16, 73,138,179,150, 53,157,176,225, 26,106,149, 48, 73,
+ 60,167,155, 26,105, 75, 18,157,144,160, 40, 75, 19,156, 81,158,195,145,181, 96, 11, 90,109,132,182,197,213,199,175, 92, 77, 73,
+122, 52, 13,247,231, 74,118,210,183, 83, 94,174,151,183, 24,240, 37, 75,169,248,242,210,114,231,177, 33, 43,118,193,170, 77, 25,
+ 39,193,103, 36,105, 18,114, 52, 33,240,113,124,104,168, 37, 30, 69, 35, 5, 43, 90,177,146, 40, 30, 17,138, 74,215,120, 83,226,
+154, 6, 81,155,253,185,121,119,153,204,252, 53,149,225,189,129,157,157,176,119,165,123,213,126,250, 37, 78,253,150, 27, 79,176,
+ 58, 29,243,232,147,207,237, 63,119,116,125,149,189,217, 65, 18,129,143,252,245, 15,240,155,191,243, 85,110,187,253, 22, 70,195,
+ 1,143,253,240,165, 8,204, 17,124,224,254,123,248,231,159,251, 18,222, 59, 70,197,152,123,174, 63,201, 3,143,125,159,119,188,
+253, 24,223,127,161,230, 45,183,223,192,167,255,251, 55,120,247,155,143,242,233, 95,254, 56,255,225,139, 95,226,241,103,182, 89,
+ 95, 25,243,149, 7,254,148, 95,248,213,207,226,189,197, 55, 30, 63, 47,241,245,156,155,111, 60,206,234,116, 20,142,203,214, 80,
+ 0,197, 4,134, 67, 62,124,255, 61,124,242,231,127,134,183,253,194,175, 6,231, 80,164,193,184,191,209, 64,185,125,159, 30,127,
+232,247, 59,175,213, 89,190,161, 60,238,209,249,213,230, 42, 62, 71, 95, 33,203,223, 79, 9, 15,238, 72,161, 58,112,156, 34,128,
+211,178, 20,142,142,195,232,206, 56, 35,215, 9,206,195,112,117, 66,109, 13,121,150, 34,164, 97,111,105, 72,144, 84,152, 72, 27,
+ 90,195,142,233,156, 49, 38, 34,172, 27,240,101,119,124, 66,135, 32,175, 53,222,135, 37, 75,219,254,185,142, 30,119, 63,203,238,
+101, 64,237,107,219,146,246,230, 44, 56,146, 36,102,132,146,192,106,166,162,227,109,226,255,238,163,220,101,216,124,109,112, 32,
+ 35, 65, 19, 61,208, 99, 75,132,211,127, 93,155,229,183,239,153, 69,105, 88,161,218, 3, 63, 4,170, 59, 52, 30, 86, 19,156,222,
+ 62,102, 32,222,146, 54,232, 58,188, 7, 90,199,171, 82, 94, 58,117,154, 27,238, 89, 3, 96, 94, 46,209,137,192, 52, 13,206, 86,
+ 84, 75, 79,154,231,212,141,165, 24,103,156,218,188, 72,109, 26,110,212, 57, 85,230,185,119,120,130,167,202, 37,223, 91, 84,112,
+118, 43,192,173, 91, 71, 87,155, 88,133,208, 93,133,162,117,232, 87, 2,206,181,207,215, 6,146, 26, 92, 26,239,109,188, 55, 69,
+168,200,169,241,144, 19,169,227,244,198, 2, 22, 59,151,178, 8,238,247,221, 15, 33,225,189,129,249, 38, 60,187,121,249,236,218,
+ 52,112,113, 47, 8,215,136, 36,148,194,215,215,195,243,167,231, 1, 16,220, 24, 96,212,177,128,165,250,245,221,158,229, 30, 92,
+104, 34, 67, 96, 92,135,131,149, 48,151, 94,214, 17,160,172, 88,115,142,147,131,156,117, 9, 79,204,151, 28, 79, 37,190, 42, 57,
+ 85,150,108,160,208,123,115, 40, 6,108,249, 0,144,195, 6, 37,192, 34, 81,108, 11,139, 51,176,240,150,155, 11,205, 81, 33,168,
+ 42,201,186, 20, 44,154,146,163,105,202,249,237, 25,183, 14, 37,167,231, 53,215, 37, 41,187,182, 97, 37, 73,217, 49,134, 66,105,
+230,166, 97,168, 18, 54, 49, 52, 22,150, 77,195, 89, 39,176, 74, 50,119, 26,101, 5,165,143,129,126, 86,192,176, 6,113, 49, 34,
+245,229,190, 62,249,126,217, 61,185, 74,251,103,221,193, 53,117, 57, 28, 67, 59, 69, 36,101, 32, 1,138, 69, 54,111, 12,126, 62,
+199,169,138,167,206,195,201,105, 74,230, 3, 46,101,152, 15, 40,109,131, 80, 9,185, 86, 56,227, 81, 42, 16,242, 52,214, 82,232,
+140, 92, 25, 6,192,155,110,204, 57, 83, 86,252,176, 44,249,225,102,133, 45,231,216,101,117,192,225, 58, 94,135, 76,125, 63,129,
+138, 36, 94, 50,237,104,101, 95,225, 90, 29,168, 89,158, 56,186,134,181,142,209,112,192,120, 24,234,143, 79, 61,243, 60,239,123,
+247,125,220,113,235, 13,164,137,230,159,254,163, 79,146,101, 41,191,253,251, 15,112,255,253,111,229,225,199,159,197, 8,141, 7,
+110, 58,121,140,225, 96,192,159, 61,242,125,214,223,188,202, 75,223,123,153,119,191,237,205, 60,121,246, 69, 30,124, 98,131,119,
+221,121, 19,207,189,180,193,191,251,221, 47,242, 75,255,236, 63,241,145, 15,190,147, 27,142,223,130, 83,154,199,158,125,145, 15,
+252,212,221,252,212, 91,110,195, 27,207,234,116,192, 39,255,206, 95,161,152, 12,123,199,149,134,227,178, 26,180,230,186,181, 41,
+159,255,212, 47,242,137,127,241, 95, 56,189,177,211, 33, 4, 61, 63,158,135,137,206,219,180,142,210,116,207,253,164, 61,132,142,
+ 97,164,190,182,128,160,159,161, 39,192, 32, 50,192,165, 61,135,162, 34,241, 75, 22,103,179,143, 29,131,233, 24,146,132,233,120,
+200,209,188, 64,139,148,161,200, 72, 68,194, 80,101,140, 83, 77, 83, 65, 46,117,104,119, 15, 90, 93,239, 72, 20, 99,108,236,217,
+ 39, 81, 33,172, 12,159, 1,145, 94,244,240,174,214,221,119,213,203,104,247,143, 63, 58,116, 14, 85, 87,164,234, 50,228,246,222,
+ 46, 99, 38,218, 82, 56,150,189,209, 53,231,187,237,235, 76,231,192,196,161,173, 37,101, 71,108, 35, 99, 12,100,122,115,246,109,
+118,158, 0,149,143, 1, 67,116,136,253, 17, 23,157,244,144,242,109,102, 31, 3,158,180,181, 90, 61,194,163,198,245,130,175, 67,
+173, 22, 7,236,108,243,252,246, 89,150,139, 93,140,169, 88,238,237,210,152, 57,179,217,140,186, 90, 50, 95,204, 40, 23, 37,243,
+221,146, 81, 42, 56,174, 83,164, 80,172,143, 39,156,222,221,101,146, 36,220,125,114, 21,142, 76, 46, 13, 26,138, 60,156,119,107,
+228,132,238,233,174,155,203,103,171,125, 30,123,111,187,118,148,136, 68, 27,171, 99,110, 91, 41, 40, 6, 67,222,113,211, 42, 12,
+198,161, 36,175,117, 87, 13, 56, 76, 19,140, 57, 24,144,182, 78,191,125, 77,235,244,219, 86, 71, 99,120,203,104,141,159, 95, 63,
+198,199,111,189,149,147,199,215, 33, 31,118,193, 81, 53, 59, 8,116,187, 22,144,234, 37,191,247, 3, 80, 3,231, 78,195, 75,231,
+ 2,136,206,212, 48,219,220,151,220,188,217,214,220, 87, 20, 76,235,154,220, 58,222, 63,200, 25, 84, 13,105, 83,114, 82, 39,236,
+108,189,204,185,237,243, 44, 94, 58, 69, 1,236,149, 21, 94,123, 84,166,216, 43,155,120, 45, 5,140, 50, 22, 66, 83,100, 9,201,
+164, 96, 51, 79, 25,175, 76,216,170, 12, 71,167, 35,158, 63,191,195,177,201,144,202, 25,142,142,134, 24, 9,147, 65,202, 22,142,
+245, 81,206,217,170,230,136, 82,172, 13, 52,153,214, 92,172, 23,204,141,161,196,211, 72,193, 18, 80, 58, 58,117, 37,225,232, 10,
+ 20, 43,113,223,246,170,155,182, 93,167, 28,172,192,189,154,205,221,221,185,100, 29,249,150,152, 37, 50, 42,134,178,187, 11,112,
+ 28,186, 47,219, 24,172, 41,177,187,123,156,186,176,203,119,247, 22,236, 85,134,178, 92, 98,170,134,198, 89, 26, 99,241, 17,232,
+156, 41, 69,161, 21,215,105,120,239,100,157, 15, 29,191,142,247,173, 30,229,195,199,142,240,209,147, 39,248,240, 13, 43,232,181,
+ 53,244,100,138, 42, 70, 40,173,145,135,122,237,175,169,183,174,117,176, 95, 89, 18,190, 15,178, 75, 91,141,175,228,212, 31,125,
+234, 57, 30,122,244,251,188,252,216,239,243,245, 47,124, 6,128,175,252,225,159,240,223,190,248,127,120,232, 15, 63,199,217, 39,
+254,128, 55,221,118, 35, 31,254,228, 63,166,177,142,251,223,122, 39,223,121,244,233,125,117,173,247,188,237,173, 60,252,248, 51,
+216, 44,101,227,145,151,185,254,196, 81,214,166, 35, 30,248,214,211,184,101,197,123,223,121, 23, 15, 60,248, 24,187,231, 23,188,
+124,238, 34,127,255, 95,254, 22,255,241,215,126,145,181,233,144,175,255,201, 35,252,155,207,127,153, 47,125,230, 87,152,125,247,
+243, 60,244,133,127,197,219,238,186,157,197,238,156, 71,159,122,250,224,113,217, 18,105,106,254,199,175,253, 93,190,240,173,239,
+242,229, 63,254,211,168,102,227,130, 97,252,139,210, 23,255, 73,116,230,253, 50,142,141,223, 95,203,163,221,132,182,165,142,245,
+193,233,166,209, 0,107, 19,144,239,217, 40, 32,134,135, 9,147,241,132,198, 57,102,198,179,158,165,228, 90,146,107, 73,162, 37,
+198,193,106,158, 35, 83,201, 48, 77, 81,168,224,244,234, 72,176,160,211,142,243,189,237,187,245,209,206,251, 13,180, 86,214,245,
+ 10,216,129,182, 39,217, 58,116,149, 6,128,148,137, 14,101, 95,153, 73,116,217, 67,155, 81,247, 65,106,139,186,235,253,183, 36,
+ 49,109, 79,189,253,156,195, 34, 1,206, 35,147, 32, 59,140, 80, 93, 95,221, 69, 39,238,251, 65, 71,204,202,219,210,254,254,123,
+244,116,231,171, 67, 56,129,125,189, 3,115,153,221,237, 66,255,210,201, 46, 24,242,161, 60,126,238,197,179,188,176,117,129,167,
+206,158,226,236,222, 22,167,182,206,227,104,176,214, 35,156, 99,107,107,155,249,206, 54,236,205, 89, 25,229,172,166,176,187, 88,
+210,120,137,200, 51,134, 73, 6,131, 60,176, 2,182, 89,152,141, 6,218,197,190,186, 49, 33, 16, 75,210,142, 25,240,138,176, 93,
+ 25, 89,178,124, 55,151,155, 8,210,241,128,119,140, 10,142,175,142,153, 20, 3,182,208, 28,185,110, 21,198,195,200,129, 32, 59,
+103, 77,175,207,223, 86,114,250,173, 45,113, 25,163, 41, 91,125,130,140,159, 57,186,202, 61,199,215,184,107,186,198, 95, 59,121,
+ 3,156, 88,239, 70, 39,175, 53,240,191,210,244, 73, 31,193, 77, 47, 57,152,109,194,198, 38,108,157, 9,138,143,205,146,251,176,
+164,206,163,235,146,235,181,162, 4, 42, 60,198, 4, 85,202,235,211,154,147, 74,162,235,146,205,122,143,239,124,234, 55,209, 79,
+ 63,204,169, 63,250, 10, 27,139,154, 18,137, 17, 33,192, 44,180,226, 45, 67,197,233, 65, 70, 54,202,208, 90,147,104,205,182, 46,
+176,169,102, 52,157,176,181, 51, 35,205,242, 48, 48,130, 96,230, 61,185,144, 44,170,134,235,166, 35,150,120, 42, 15,203,218, 51,
+ 41, 70, 32, 36, 42, 25, 96, 61,228,105, 78,237, 91,106,228, 81,152,235, 31, 12,186,164,160, 61,215, 42, 78, 32, 44,202,171,179,
+217, 87,250,223,120,253,124, 19,197,182,122,253,238, 86, 38,193, 18, 92,133,109, 74,236, 98,201,197,141, 57, 15,238, 46,104,172,
+195, 53, 65,246,121,183,174,169,188,223,167, 96, 31,169,132, 99,233, 8,137, 96,162, 83,214,148,226,230,116,200,219, 7, 83,238,
+152, 76, 57,186, 58, 64,173, 77, 80, 71, 86,144,147, 41, 34,201,175,158, 93,238, 74, 25,122,154,244, 52, 42,232,212, 18, 95, 97,
+162, 73,112,252,253, 63,122, 94,155, 69, 22,176, 22,168,211,159,245,109,203,153,105,129,152, 45, 98, 22,209, 64, 62, 70,148,123,
+161,167, 37, 29, 66,167, 97,211,103,145, 48, 35, 11,125,140,208,239, 12,136, 96, 95, 19, 70, 56,204, 28,127,165,136,184,136,139,
+165,165, 47,173, 77, 48,106,243,249, 95,156, 83,255,113, 62,218,153,204, 55, 92,126,245,208,226, 41,162, 33, 74, 84, 96,115,107,
+ 29,133,146, 7, 23,163, 34, 24,221,149, 17,211, 65,129, 18, 9,133,150, 36, 90,177, 57,171, 89,207, 83,246, 26, 67,174, 37, 3,
+173, 56, 63, 47, 81, 2,182,182,247,162,179, 43, 3,181,167, 51, 97,196,199, 87, 7,241, 6, 90, 31, 98,155,139,253,244,182,183,
+ 14, 29,171, 94,214,203,206,145, 29,240,196,212,145,171,254,112, 70, 27,203,228,253, 30,119,159, 80,198, 31, 42,253,249, 30,218,
+122,159,253,226, 50,239,215,102,230, 94,116,217, 95,170, 34,133,172,138,200,108,209, 5, 23,165, 9, 1, 78,145,198,207,183, 29,
+ 18,218,247,112, 2, 45,136, 79,181,206,204,117,199,148,230,112,100, 5,214, 87, 96, 99, 27,206,109,134,247,200,199, 33,203, 30,
+ 14,201, 82,201, 48, 73,153, 14,114,110, 63,178,206,116, 56, 70,167,197,126,188,180, 53,219,101,148,101, 8, 47,169,109,195,139,
+139, 25,152,138,189,114,198,243,155,115,120,121, 35,204,174,215,132,106, 74,191,223,221, 22, 12, 90, 37,189, 43,181,127,218, 94,
+188,136, 45,135,181,105, 8, 24, 86, 71,188, 99, 50,230,104,154,146, 8,193,182, 41, 57, 63,175,121,102, 54,131,139,139, 64, 73,
+186,108, 66,176, 37,155, 16,116,182,220,217,253,224,175, 45,201,246,217, 65,100,143,200,232,248, 9,238,189,247, 30, 62,122,231,
+189, 12, 7, 25,137,183,252,249,185,115,124,229,217, 39,120,225,225,199,187,145,178,107,217,167, 87,218,159,175,244,183,201, 58,
+156,188, 14,142, 28,131, 60,225, 29,235, 55,114, 75, 62, 98, 94, 47, 17,163, 9,121,211,176,215, 52, 36, 58, 97, 77, 55,108,205,
+106,188,148,252,160,170,168,140,225,133,217, 38, 63,123,253,173,212,214,240,141,147,183,195,168,128, 92,161,156,228, 47, 31,201,
+ 72,128, 41,138, 29,231,185, 69, 67,179, 91,113,163,114,204,247,150,176, 40, 57, 41, 60,197, 64,161,117,202,233,178, 98, 85,107,
+246,202,138,139, 42, 97,108, 13, 47,214,150,220, 90,158,156, 25, 54,202, 57,155,198,162,112,108,224,104,170, 10, 43,193,150,243,
+208,174,152,111, 5, 5,205,141,141,208, 54,121,195,230,214, 15, 58,210,195,131, 37,226, 10,207,147,228, 76, 39, 25,239, 93, 25,
+ 33,178,140,193,104, 72,146, 38, 20, 89,130, 18,112, 68,103,220, 58,200, 89, 69,145, 72, 77,226, 45,206, 90,140,243,156,181,150,
+199, 23, 59,252,207,153,161, 90,150, 52,101,131,169, 74,236,238, 46,118,177,196,197,192,194, 95, 11,120, 78,235, 32,222,114,248,
+177,104, 58, 59,112,185,216,248,234, 84,218, 6,161, 79, 90,164, 1,244,212, 15, 96,133,128,201, 56, 8, 30,100, 41,194,217, 32,
+ 56, 80,238, 5, 3,178, 92, 34, 6, 69, 48,164,105,212,252, 43,210, 0,209, 79, 21,190,137, 36,247, 90,194,124, 23,106,139,119,
+230,202, 99, 14, 77, 29, 12,126, 93,131,171, 66, 86, 88,215, 63,217, 14,189,149,115,237,143, 22, 93,235,251,136,168,106,181, 63,
+198,245, 70,145,202,203,203,252,110, 66,175, 46,139,136,100,221, 91, 8, 58,170,157,173, 79, 32, 77,152,140,135,236, 46,107, 78,
+140,135, 56, 43,177,222,113,253,100,202,172,170,152,102, 25, 90,194, 11, 23,247, 56, 62, 44,216, 92,204, 81,105,138, 45,203, 32,
+163,153,233, 96, 20,204,188, 19,132,217,111, 90,197,113,168,125, 73, 86,215,161, 84, 90, 66,148,118, 7,181, 4, 45, 42,233, 52,
+233, 91,174,116,223,206,136,251,206,240, 15,146,224, 28, 90, 69, 53,111,131,243,108,199,167, 90,128,157,107, 98,134, 44, 59, 56,
+ 76,235,208,247, 57,217,187,221,156,102,122, 31,196, 19, 2,145, 40,247,218,248,152,193,196, 81, 10, 33,163,206,178,140,215, 32,
+ 10, 21, 57, 31, 71,158,204, 65,112, 92,219, 94,112,102, 31,100,138,138, 74,109,211, 41,220,124, 34, 74,125,102, 65,128,197,197,
+192,107, 92,128, 20,100,121,130, 22,146, 60,209,204,234,134, 92,165,108, 47,150,248,114,201,238,114,155,221,186, 97,103,185,192,
+ 59, 27,166, 16,133,194, 56,199, 51,198, 96,235,184,239,170,168,142, 6,161, 84,216,202,245, 38,145,219,189,137,162,207, 74,116,
+ 2, 64,253,241,179, 60,138,240,248,152, 30,217, 48,141,112,239,202,144, 60, 73, 24, 36, 9,169, 20, 88,103,121,100, 89,135,114,
+107,227,187, 25,118, 41, 67,139,162, 24,114,252,216,152,108,144, 49, 25, 23,204,151,117,143, 67, 63, 94,119, 41, 46,229,165, 87,
+138,217,250, 17,238, 88, 91,195, 57,203,204,122,126,120,113,151, 7,119,183, 97,119,113,237,226, 36,251, 12,145,241, 92, 91,170,
+102,231, 94,121,207, 86,203, 48, 29, 50,208,188,115,178, 66,102, 27,134, 69, 74,166, 11,154,122,137,118,142, 65,146,161, 88,128,
+ 84,228,137, 96, 36,124,160,148, 21,150,243,203, 57,207, 93,120,145,231,245, 48,236, 73, 21,136,126,238, 58, 50,224, 54, 45,169,
+149, 66, 11, 72,180, 70, 90,207, 88,193,174,245, 12, 16,172, 38,138,243,165, 33,215,138,212,212,172, 14,114,158,221, 43, 17, 8,
+ 10, 44,231, 44,220, 48, 74, 57, 83, 89, 18, 91,115,209,131,171, 75,172,144, 84,206, 81, 74, 25, 64,106,182,129,122, 47,234, 31,
+208, 85,224, 84, 47,168,205,115, 24, 14, 99,165,204,189, 97,142, 29, 94,129,190,215, 25, 42,231,249,193,174,225,246, 97, 0, 32,
+214, 73,144, 85, 94,211, 25, 55, 36, 25, 39,117,193, 68, 41, 20, 30, 37, 53, 74, 40,172, 51, 20, 58,225, 34,142,133,105,216,240,
+224,132,199, 91,143, 55, 65,177,212,251,215, 96,155,219, 36,161, 21,154, 82,105,184, 78,166,126,197,247,252,209,157,122,145,199,
+186,126,143, 25,171, 53,226,165, 13,243,198, 85, 13, 43,211,160,212, 36, 4, 44,107,196,104, 28,102, 90,179, 12,204, 2,210, 34,
+ 48, 57, 13,179, 48, 34,162, 85, 88,192, 38,150, 53,119,151, 1, 24, 44,204, 62,225,195,149, 65, 19, 54,114, 2,155,215,117, 81,
+188,113, 9,111, 79,145, 75, 69,141,112,119, 13,220,200, 73,218, 25,192,246, 75,218, 55, 72, 44,198, 29,252,106, 3,173, 84,134,
+146,115, 58,238,148,197,124,172,182,140,134, 32, 4,147,245, 21,118,231,115,110, 94, 95,197,227, 25,232,148, 65,146,114,113, 49,
+103,109, 56,194,216,154,221,202,114,124,148,179, 93, 86, 12,179, 1,187, 59,123,241, 60,124,152,187, 54, 54,124,206,229,164, 68,
+219,185,242,253, 67,213, 93, 54, 46, 98,159, 91,197, 56,164,157,245,222, 47,195,139,176,230, 90, 39, 47, 85,199,183,110, 76, 48,
+ 7,125,153, 84,227, 58, 96,157,111,117,225,117,156,213,238,197,254, 42, 58,226, 86,113, 45,254, 45,149, 2, 97, 5, 77,210,211,
+ 65, 87, 50, 42,210,133, 49,164, 64, 48, 97,195, 57,232, 52,140,243,101, 42,102,159,177,175,223,148,221,235, 91,250,217, 42,114,
+ 34,168,168, 18,167, 68, 24, 41,116, 4,228,113,166,194,154,217,153,195,133,205,240,247,100, 16,240, 11, 66, 34,149,100,154,165,
+ 8, 41, 81, 30,230,165,101,105, 44,139,170, 34,145,150,185,245,140,210,130,109,107, 80, 94,112,186,169, 56,101, 12,179,114, 25,
+ 69, 86, 8, 76,125,109,121,164,142,247,107,237, 72,192, 84, 20, 69,200,166,155, 42, 56, 42, 23,181, 0,250,247,180,229,249,111,
+133,125,108, 0, 89,222,180, 58,224,142,213, 53,206, 47, 43,156, 16,236, 52,134,211,243, 24, 72, 72,122,220,247, 81, 63, 32,211,
+ 92,159,107,132,240,140,132, 98, 92,164,236,236, 45,123,169, 89,116,230,206,119, 14,190,105,192, 89,154, 44,229,251, 77, 77,229,
+ 36,207,205, 22,124,115,111, 23,202, 89, 0,209,205,103,215,150,165,247, 57,187, 47, 55, 39,191,223, 2,184, 12, 71,254,124, 15,
+138, 49,119,175,228,220, 62, 24,240,131, 89,197,117,131,132,188,200,152, 59, 24,102,161, 68, 60,175, 96, 42, 44,210,129,161,100,
+111, 89,114,174,169,195, 53, 58,127, 38, 36, 86,107, 55, 66,174,201,135, 25,133,150, 20, 94,160, 19,205,208, 5, 85,205, 60,211,
+ 12,133, 96, 69,194,142,177,172, 42,193, 29, 69,202, 98,144,243,204,214,140, 34, 21,204,235,134,179,198,225,157,227,133,237, 6,
+211, 24, 54, 81, 24,215,176, 52, 22, 47,192, 72, 69,105,130,176, 77, 24, 71,109, 66, 16,218, 52,145,175,192, 68,129, 39, 17,240,
+ 10, 39,142,194,209,181, 80,117,157,207,223, 16,199,206, 43, 56,246,253,255,183, 22, 33, 28,167,140, 99, 61,209, 24, 37,113, 89,
+202, 20,152, 74,184,115, 56, 33,149,138, 84,166,193,138, 75, 17,228,152,113, 92,108,106, 94, 50, 53,231,230, 53, 30, 17, 50,115,
+169,194,169, 84, 21,190,119, 78, 87, 45,248, 34,130, 28,113,128,135, 68,190,247, 87,146, 85,190, 42,167,222, 26,149,150,168, 67,
+ 39,225,103,103, 2, 73,135,245, 1,165, 58, 43, 59, 69,170, 52, 82, 58,166, 42, 46,218,144,229,137, 36,137,253,207,208, 51,244,
+139, 38,100,127,101, 21,141,150, 11, 11,242,255,167,135,212,189,122,143,132,213, 81, 88,228,230, 26,130,145, 86,116,164, 37, 65,
+241,213,143,183,159,223,206, 9,103, 89,212, 59,142, 37,229, 36, 13, 64, 14, 31,130,189, 10,207,104, 52, 36, 85, 10, 45, 53, 74,
+ 72, 36,154,181, 98, 72,109, 29,169, 76,200, 82, 21,199, 72, 36,103,103,243,208, 15,171,203, 64,202,177,220, 5, 83, 94, 89, 66,
+183, 37, 29,145, 34,244,166,181, 11,142, 93, 69,176, 98, 75, 12,228,125, 68,163,139,224,136,219, 44,218, 69,118,166,118,228, 75,
+244,230,210,114, 29,202,223,202,119, 78,189,149,106,109,203,246,222, 29,252,210, 73, 20, 51,105,131,135, 46,234,178, 94, 96,165,
+ 36,181, 2,219,174,131, 50,182,161, 92, 79, 70, 54,213,225, 90,250, 38,204,205,187, 56, 14,103, 77,112,238,194, 7, 39,174,162,
+243,107,127,110, 57, 19, 68,196, 61,180,206,171,137,125,238, 11, 51,216,190, 16,202,212, 74, 69,117, 60, 9, 69,130, 18, 18,131,
+ 64, 10,129,147,138,185,109,216, 90,214,156,218,217,226,166, 66, 49, 78, 20,149,113,148, 30,206, 88,195, 15, 76,197,178,149, 88,
+141, 28,219, 44,102, 33, 16, 49,182,203,208,215, 87,187,192,102,217,132, 64,208,154, 46, 16,235,103,203,237,189,212,145,134,209,
+ 25,152, 55,156,105, 28,199, 82,203, 36,149, 92, 40,151, 60, 52, 43,195, 76, 62,190,107, 61,168, 46, 80,155, 38,146, 81, 34, 24,
+ 9, 65,130,160,178,134,157, 89,117,176, 18, 35,123, 32,196,182,157, 99, 45, 88, 65,157, 8, 94,172,150,156, 41,103,161,159,189,
+172, 96,119, 30,214,228,213,238,211,214,145,183,194, 54,237,115,135, 51,246,125,114, 35, 46, 11,252,212, 3, 69,170, 37,119, 23,
+ 3,102,214,145,227,200,165, 68, 9,129,104, 12,235,153, 10, 36,135, 77,195,102, 99,120,112,231, 34, 44,103,241, 61, 93, 8, 60,
+117,134,212, 5,199,134, 33, 33,184,113,152,147,106,129,208,146, 65, 34, 25, 72,193, 64, 8,106,235,185,176,177,160,180, 13,207,
+ 45, 97,167, 41,169, 61,236, 44, 13, 59,149,167, 49,112,174, 10,231,176,144, 32,241, 36, 54,136, 62, 13,156,197,154,134, 25, 1,
+ 48,233, 77, 29, 70, 94,157, 13,142,168,172, 67,229,109,177, 8,235,120, 50,134, 19,235,100,227, 34, 76, 46, 45,203,215,117,156,
+ 87, 92,133,179, 23,128,116, 14, 89,213,108,204, 74, 46, 84,158, 90, 8, 94,150,154, 60,151,172, 24,199,245,197,132, 34, 73, 16,
+206, 82,232, 20, 39, 37,167,151,115, 78,217,154,239,206, 27, 42, 37,176,198,225,165,192,213, 53,190,113,120,107,240,175,133, 68,
+204, 69,208,168, 45, 59, 33,151, 87,121,252, 63,200,142,135, 98, 79, 39, 83, 45, 0, 0, 0, 0, 73, 69, 78, 68,174, 66, 96,130,
+ 0};
+
diff --git a/source/blender/editors/datafiles/startup.blend.c b/source/blender/editors/datafiles/startup.blend.c
index 1121eb5a299..dc92d3541b5 100644
--- a/source/blender/editors/datafiles/startup.blend.c
+++ b/source/blender/editors/datafiles/startup.blend.c
@@ -1,346 +1,400 @@
/* DataToC output of file <startup_blend> */
-int datatoc_startup_blend_size= 349868;
+int datatoc_startup_blend_size= 342096;
char datatoc_startup_blend[]= {
- 66, 76, 69, 78, 68, 69, 82, 45,118, 50, 53, 55,
- 82, 69, 78, 68, 32, 0, 0, 0,240,236,191, 95,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,
-240,235,191, 95,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,
- 40, 54, 45, 21, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 16, 0, 0,128, 32, 4, 0,162,144, 0, 0, 0, 0, 0, 0,
- 60,109,101,109,111,114,121, 50, 62, 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, 95,118, 50, 53, 56, 82, 69, 78, 68,
+ 32, 0, 0, 0, 44,243, 34, 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, 24, 1, 0, 0, 20,242, 34, 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,184,250,213, 2,144, 1,228, 2, 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,
+168, 0, 0, 0, 64,192,225, 2,107, 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, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 96,248,213, 2, 96,248,213, 2, 96,248,213, 2, 96,248,213, 2, 3, 0, 0, 0, 0, 0, 0, 0, 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,
+152,247,213, 2,152,247,213, 2,152,247,213, 2, 64,254,215, 2, 64,254,215, 2, 64,254,215, 2, 68, 65, 84, 65,148, 0, 0, 0,
+ 96,248,213, 2,108, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,224,238,214, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+184,250,213, 2, 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, 66, 0,240, 4,222, 2, 0, 0, 0, 0, 1, 0,238, 3, 0, 0, 0, 0, 1, 0, 0, 0,
+112,103,215, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,208,132,246, 3,120,197, 5, 4,120,197, 5, 4,
+192, 24,216, 2,208, 23,216, 2, 72, 24,216, 2, 72, 24,216, 2,168, 80, 3, 4,248, 85, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+ 83, 78, 0, 0,148, 0, 0, 0, 40,249,213, 2,193, 0, 0, 0, 1, 0, 0, 0,240,249,213, 2, 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, 48,203,205, 2,120,193,225, 2,192,193,225, 2,160,201,225, 2,128, 81,215, 2,112, 85,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 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,148,238, 92, 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, 48,203,205, 2,194, 0, 0, 0, 1, 0, 0, 0,120,203,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,203,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,192,203,205, 2, 48,203,205, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+192,203,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 8,204,205, 2,120,203,205, 2, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 8,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,204,205, 2,192,203,205, 2, 0, 0, 0, 0,
+240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0,152,204,205, 2,
+ 8,204,205, 2, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152,204,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,224,204,205, 2, 80,204,205, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+224,204,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,205,205, 2,152,204,205, 2, 0, 0, 0, 0, 24, 4, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 40,205,205, 2,194, 0, 0, 0, 1, 0, 0, 0,112,205,205, 2,224,204,205, 2, 0, 0, 0, 0,
+ 24, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,205,205, 2,194, 0, 0, 0, 1, 0, 0, 0,184,205,205, 2,
+ 40,205,205, 2, 0, 0, 0, 0, 24, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,184,205,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0,206,205, 2,112,205,205, 2, 0, 0, 0, 0,240, 4, 60, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 0,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 72,206,205, 2,184,205,205, 2, 0, 0, 0, 0, 0, 0, 88, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 72,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0,144,206,205, 2, 0,206,205, 2, 0, 0, 0, 0,
+ 24, 4, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144,206,205, 2,194, 0, 0, 0, 1, 0, 0, 0,216,206,205, 2,
+ 72,206,205, 2, 0, 0, 0, 0,192, 1, 88, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216,206,205, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 32,207,205, 2,144,206,205, 2, 0, 0, 0, 0,192, 1,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 32,207,205, 2,194, 0, 0, 0, 1, 0, 0, 0,104,207,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,104,207,205, 2,194, 0, 0, 0, 1, 0, 0, 0, 48,193,225, 2, 32,207,205, 2, 0, 0, 0, 0,
+192, 1, 4, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,193,225, 2,194, 0, 0, 0, 1, 0, 0, 0,120,193,225, 2,
+104,207,205, 2, 0, 0, 0, 0, 24, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,193,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 48,193,225, 2, 0, 0, 0, 0,240, 4, 60, 2, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+192,193,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 8,194,225, 2, 0, 0, 0, 0,120,203,205, 2,192,203,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 8,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,194,225, 2,192,193,225, 2,
+120,203,205, 2, 80,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,194,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,152,194,225, 2, 8,194,225, 2,192,203,205, 2,152,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,152,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0,224,194,225, 2, 80,194,225, 2, 80,204,205, 2,152,204,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,194,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 40,195,225, 2,
+152,194,225, 2, 48,203,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40,195,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,112,195,225, 2,224,194,225, 2, 8,204,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,112,195,225, 2,195, 0, 0, 0, 1, 0, 0, 0,184,195,225, 2, 40,195,225, 2,152,204,205, 2,
+ 40,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,195,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 0,196,225, 2,112,195,225, 2,224,204,205, 2,112,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 0,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 72,196,225, 2,184,195,225, 2, 8,204,205, 2,184,205,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0,144,196,225, 2, 0,196,225, 2,
+112,205,205, 2,184,205,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,196,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,216,196,225, 2, 72,196,225, 2, 48,203,205, 2, 0,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,216,196,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,197,225, 2,144,196,225, 2, 40,205,205, 2, 72,206,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,104,197,225, 2,
+216,196,225, 2,224,204,205, 2, 72,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,197,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,176,197,225, 2, 32,197,225, 2, 0,206,205, 2, 72,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,176,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,248,197,225, 2,104,197,225, 2, 0,206,205, 2,
+144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,197,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 64,198,225, 2,176,197,225, 2, 72,206,205, 2,144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 64,198,225, 2,195, 0, 0, 0, 1, 0, 0, 0,136,198,225, 2,248,197,225, 2, 80,204,205, 2,216,206,205, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,198,225, 2,195, 0, 0, 0, 1, 0, 0, 0,208,198,225, 2, 64,198,225, 2,
+ 40,205,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,198,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 24,199,225, 2,136,198,225, 2,144,206,205, 2,216,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 24,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 96,199,225, 2,208,198,225, 2, 0,206,205, 2, 32,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0,168,199,225, 2,
+ 24,199,225, 2,144,206,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,199,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,240,199,225, 2, 96,199,225, 2, 32,207,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,240,199,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 56,200,225, 2,168,199,225, 2,112,205,205, 2,
+ 48,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+128,200,225, 2,240,199,225, 2, 40,205,205, 2, 48,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+128,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0,200,200,225, 2, 56,200,225, 2,152,204,205, 2,120,193,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,200,200,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 16,201,225, 2,128,200,225, 2,
+184,205,205, 2,120,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16,201,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 88,201,225, 2,200,200,225, 2, 48,193,225, 2,120,193,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 88,201,225, 2,195, 0, 0, 0, 1, 0, 0, 0,160,201,225, 2, 16,201,225, 2, 80,204,205, 2, 32,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,160,201,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 88,201,225, 2,216,206,205, 2,104,207,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,128, 81,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0, 16, 82,215, 2, 0, 0, 0, 0, 80,204,205, 2,120,203,205, 2,192,203,205, 2,152,204,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0,
+ 7, 0, 0, 0,136,129,206, 2,216,232,220, 2,216,232,220, 2, 24,213,225, 2, 64,214,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+136, 69, 6, 4,232, 69, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 24,213,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 64,214,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 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,241, 4, 26, 0,241, 4,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 64,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 64,214,225, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,213,225, 2, 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,222, 2, 0, 0,222, 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, 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,144, 63,206, 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,
+ 68, 65, 84, 65, 96, 0, 0, 0, 16, 82,215, 2,197, 0, 0, 0, 1, 0, 0, 0,160, 82,215, 2,128, 81,215, 2,224,204,205, 2,
+112,205,205, 2,184,205,205, 2, 8,204,205, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 59, 1, 0, 0,
+ 4, 4,216, 0, 60, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,127,206, 2,248,234,225, 2,248,234,225, 2,104,215,225, 2,
+144,216,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 72, 70, 6, 4, 8, 71, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,104,215,225, 2,
+198, 0, 0, 0, 1, 0, 0, 0,144,216,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67, 0, 0, 0, 0, 0, 0,208, 65,
+ 98, 39, 38, 54, 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 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,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,
+240, 4, 0, 0, 34, 1, 0, 0, 59, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 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, 63,206, 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,
+ 68, 65, 84, 65,248, 0, 0, 0,144,216,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104,215,225, 2, 0, 0, 0, 0,
+ 0, 0, 88, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 71, 67, 1, 0,145,195, 0, 0, 0, 0,199, 0, 0, 0,
+216, 0, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+198, 0, 0, 0, 0, 0, 0, 0, 33, 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,216, 0, 34, 1,199, 0, 34, 1, 0, 0,112,106,244, 3,
+ 1, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 34, 1, 0, 0, 0, 0, 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, 62,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,184,217,225, 2,136,233,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,184,217,225, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 40,219,225, 2, 0, 0, 0, 0,104,128,206, 2, 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,199, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 64, 1, 0, 0, 40,219,225, 2,196, 0, 0, 0, 1, 0, 0, 0,152,220,225, 2,184,217,225, 2,208, 0,222, 2,
+ 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,199, 0, 61, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,152,220,225, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 8,222,225, 2, 40,219,225, 2,248, 1,222, 2, 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,199, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 10, 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, 64, 1, 0, 0, 8,222,225, 2,196, 0, 0, 0, 1, 0, 0, 0,120,223,225, 2,
+152,220,225, 2, 32, 3,222, 2, 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,199, 0,203, 0, 0, 0, 0, 0, 0, 0, 10, 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, 68, 65, 84, 65,
+ 64, 1, 0, 0,120,223,225, 2,196, 0, 0, 0, 1, 0, 0, 0,232,224,225, 2, 8,222,225, 2, 72, 4,222, 2, 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,199, 0, 58, 0, 20, 0, 0, 0, 0, 0, 10, 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, 87, 77, 0, 0, 24, 1, 0, 0,200,136, 44, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,138, 44, 21, 1, 0, 0, 0, 40,138, 44, 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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 65,145, 3, 0, 0, 0, 0,
- 68, 65, 84, 65,224, 0, 0, 0, 40,138, 44, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 40, 54, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,238, 3, 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,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, 83, 78, 0, 0,216, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,248,236, 44, 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, 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,104,140, 44, 21, 1, 0, 0, 0,
-200,146, 44, 21, 1, 0, 0, 0, 40,147, 44, 21, 1, 0, 0, 0,104,159, 44, 21, 1, 0, 0, 0,216,159, 44, 21, 1, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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,104,140, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,140, 44, 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,
- 68, 65, 84, 65, 32, 0, 0, 0,200,140, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 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,
- 40,141, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,141, 44, 21, 1, 0, 0, 0,200,140, 44, 21, 1, 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,136,141, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 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,232,141, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0,136,141, 44, 21, 1, 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, 72,142, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 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,
-168,142, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 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, 8,143, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 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,143, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,143, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 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,200,143, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 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,144, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 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,136,144, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 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,232,144, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 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, 72,145, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 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,
-168,145, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 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, 8,146, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 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,104,146, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-200,146, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 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,200,146, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,146, 44, 21, 1, 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,
- 40,147, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,147, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200,140, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,147, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,148, 44, 21, 1, 0, 0, 0, 40,147, 44, 21, 1, 0, 0, 0,
-200,140, 44, 21, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,148, 44, 21, 1, 0, 0, 0,152,147, 44, 21, 1, 0, 0, 0,
- 40,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,148, 44, 21, 1, 0, 0, 0, 8,148, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,148, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,149, 44, 21, 1, 0, 0, 0,120,148, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,149, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,149, 44, 21, 1, 0, 0, 0,232,148, 44, 21, 1, 0, 0, 0,
-136,141, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,149, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,150, 44, 21, 1, 0, 0, 0, 88,149, 44, 21, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,150, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,150, 44, 21, 1, 0, 0, 0,200,149, 44, 21, 1, 0, 0, 0,
-168,142, 44, 21, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,150, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,151, 44, 21, 1, 0, 0, 0, 56,150, 44, 21, 1, 0, 0, 0,
-136,141, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,151, 44, 21, 1, 0, 0, 0,168,150, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,151, 44, 21, 1, 0, 0, 0, 24,151, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,151, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,152, 44, 21, 1, 0, 0, 0,136,151, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,152, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,152, 44, 21, 1, 0, 0, 0,248,151, 44, 21, 1, 0, 0, 0,
-168,142, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,152, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,153, 44, 21, 1, 0, 0, 0,104,152, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,153, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,153, 44, 21, 1, 0, 0, 0,216,152, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,153, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,154, 44, 21, 1, 0, 0, 0, 72,153, 44, 21, 1, 0, 0, 0,
-136,144, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,154, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,154, 44, 21, 1, 0, 0, 0,184,153, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,154, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,155, 44, 21, 1, 0, 0, 0, 40,154, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,155, 44, 21, 1, 0, 0, 0,152,154, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,155, 44, 21, 1, 0, 0, 0, 8,155, 44, 21, 1, 0, 0, 0,
- 40,144, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,155, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,156, 44, 21, 1, 0, 0, 0,120,155, 44, 21, 1, 0, 0, 0,
-232,144, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,156, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,156, 44, 21, 1, 0, 0, 0,232,155, 44, 21, 1, 0, 0, 0,
-168,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,156, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,157, 44, 21, 1, 0, 0, 0, 88,156, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,157, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,157, 44, 21, 1, 0, 0, 0,200,156, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,157, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,158, 44, 21, 1, 0, 0, 0, 56,157, 44, 21, 1, 0, 0, 0,
- 72,142, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,158, 44, 21, 1, 0, 0, 0,168,157, 44, 21, 1, 0, 0, 0,
-200,143, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,158, 44, 21, 1, 0, 0, 0, 24,158, 44, 21, 1, 0, 0, 0,
-104,146, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,158, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,159, 44, 21, 1, 0, 0, 0,136,158, 44, 21, 1, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,159, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,158, 44, 21, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-216,159, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-232,141, 44, 21, 1, 0, 0, 0,200,140, 44, 21, 1, 0, 0, 0, 40,141, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 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,120,236, 44, 21, 1, 0, 0, 0,120,236, 44, 21, 1, 0, 0, 0,
-184,160, 44, 21, 1, 0, 0, 0, 40,162, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,184,160, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 40,162, 44, 21, 1, 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, 40,162, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,160, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,232,224,225, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 88,226,225, 2,120,223,225, 2, 80, 78,217, 2, 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, 34,254,199, 0, 0, 0, 20, 0, 0, 0,
+ 4, 0, 10, 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, 68, 65, 84, 65,160, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0, 24,188, 44, 21, 1, 0, 0, 0,216,159, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 0, 0, 0,
-104,143, 44, 21, 1, 0, 0, 0,200,143, 44, 21, 1, 0, 0, 0,136,141, 44, 21, 1, 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,186, 44, 21, 1, 0, 0, 0,216,186, 44, 21, 1, 0, 0, 0,120,164, 44, 21, 1, 0, 0, 0,
-232,165, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,120,164, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-232,165, 44, 21, 1, 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,165, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120,164, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 88,226,225, 2,196, 0, 0, 0, 1, 0, 0, 0,200,227,225, 2,232,224,225, 2,
+120, 79,217, 2, 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, 68, 65, 84, 65,248, 0, 0, 0,216,186, 44, 21, 1, 0, 0, 0,162, 0, 0, 0, 1, 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,
- 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, 10,254,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+200,227,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 56,229,225, 2, 88,226,225, 2,160, 80,217, 2, 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,253,
+199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 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, 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,188, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,248,192, 44, 21, 1, 0, 0, 0,152,163, 44, 21, 1, 0, 0, 0,
-104,140, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 0, 0, 0,168,142, 44, 21, 1, 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,216,191, 44, 21, 1, 0, 0, 0,216,191, 44, 21, 1, 0, 0, 0,
-248,188, 44, 21, 1, 0, 0, 0,104,190, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,188, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,104,190, 44, 21, 1, 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,104,190, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,188, 44, 21, 1, 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,216,191, 44, 21, 1, 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, 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,248,192, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0,
- 24,188, 44, 21, 1, 0, 0, 0,104,143, 44, 21, 1, 0, 0, 0,104,146, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 0, 0, 0,
-200,143, 44, 21, 1, 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,184,196, 44, 21, 1, 0, 0, 0,
-184,196, 44, 21, 1, 0, 0, 0,216,193, 44, 21, 1, 0, 0, 0, 72,195, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-216,193, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 72,195, 44, 21, 1, 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,
- 72,195, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,193, 44, 21, 1, 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,
-184,196, 44, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,192, 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, 0, 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,152,192, 3, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
- 14, 0, 0, 0, 14, 0, 0, 0, 24,198, 44, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0, 24,198, 44, 21, 1, 0, 0, 0,
-219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-104,212, 44, 21, 1, 0, 0, 0,248,192, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 0, 0, 0, 72,145, 44, 21, 1, 0, 0, 0,
- 8,143, 44, 21, 1, 0, 0, 0,136,144, 44, 21, 1, 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,
-232,210, 44, 21, 1, 0, 0, 0,232,210, 44, 21, 1, 0, 0, 0, 24,200, 44, 21, 1, 0, 0, 0,216,205, 44, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 24,200, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,136,201, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 56,229,225, 2,196, 0, 0, 0, 1, 0, 0, 0,
+168,230,225, 2,200,227,225, 2,200, 81,217, 2, 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,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 10, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,136,201, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,202, 44, 21, 1, 0, 0, 0,
- 24,200, 44, 21, 1, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0,168,230,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 24,232,225, 2, 56,229,225, 2,240, 82,217, 2,
+ 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,253,199, 0, 0, 0, 20, 0, 0, 0, 4, 0, 10, 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, 68, 65, 84, 65, 64, 1, 0, 0, 24,232,225, 2,
+196, 0, 0, 0, 1, 0, 0, 0,136,233,225, 2,168,230,225, 2, 24, 84,217, 2, 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, 40,253,199, 0,130, 0,
+ 0, 0, 0, 0, 0, 0, 10, 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, 68, 65, 84, 65, 64, 1, 0, 0,136,233,225, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 24,232,225, 2,104, 86,217, 2, 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, 16,253,199, 0, 0, 0, 0, 0, 0, 0, 4, 0, 11, 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, 68, 65, 84, 65,
+216, 0, 0, 0,248,234,225, 2,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,
- 68, 65, 84, 65, 40, 1, 0, 0,248,202, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104,204, 44, 21, 1, 0, 0, 0,
-136,201, 44, 21, 1, 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,104,204, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216,205, 44, 21, 1, 0, 0, 0,
-248,202, 44, 21, 1, 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, 2, 0, 1, 0, 0, 0, 0, 0,240,182,243, 3,255, 21, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,160, 82,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 48, 83,215, 2,
+ 16, 82,215, 2, 48,203,205, 2, 0,206,205, 2, 72,206,205, 2,224,204,205, 2, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0,
+ 0, 0, 0, 0, 87, 0, 0, 0, 15, 15, 24, 4, 88, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,107,206, 2, 80,238,225, 2,
+ 80,238,225, 2, 0,236,225, 2, 40,237,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,104, 71, 6, 4, 40, 72, 6, 4, 68, 65, 84, 65,
+248, 0, 0, 0, 0,236,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 40,237,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68,
+ 0, 0, 0, 0, 0, 0,208, 65, 39,182,158, 55, 0, 0,131, 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, 4, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,224,130, 68, 0, 0,200, 65, 0,224,130, 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, 24, 4, 26, 0, 24, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 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, 24, 4, 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,224, 52,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 40,237,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0,236,225, 2, 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, 23, 4, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 18, 0, 0, 0, 61, 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, 24, 4, 62, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 4, 0, 0, 26, 0, 0, 0, 87, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 4, 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, 80, 52,206, 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, 68, 65, 84, 65,188, 0, 0, 0, 80,238,225, 2,
+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,
- 68, 65, 84, 65, 40, 1, 0, 0,216,205, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,204, 44, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+ 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 48, 83,215, 2,197, 0, 0, 0, 1, 0, 0, 0,192, 83,215, 2,160, 82,215, 2,
+112,205,205, 2, 48,193,225, 2,120,193,225, 2,184,205,205, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0,
+ 59, 2, 0, 0, 3, 3,216, 0,255, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,106,206, 2,144,241,225, 2,144,241,225, 2,
+ 64,239,225, 2,104,240,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,136, 72, 6, 4, 72, 73, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,
+ 64,239,225, 2,198, 0, 0, 0, 1, 0, 0, 0,104,240,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 98, 39, 38, 54, 0, 0, 88, 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,215, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 87, 67, 0, 0,200, 65, 0, 0, 87, 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,216, 0, 26, 0,216, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 25, 4, 0, 0,240, 4, 0, 0, 34, 2, 0, 0, 59, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 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,
+192, 51,206, 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, 68, 65, 84, 65,248, 0, 0, 0,104,240,225, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,239,225, 2,
+ 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 67, 0, 0, 83,195, 0, 0, 0, 0,
+199, 0, 0, 0,216, 0, 0, 0, 18, 0, 0, 0,228, 0, 0, 0, 0, 0, 0, 0,198, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,198, 0, 0, 0, 18, 0, 0, 0,228, 0, 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, 2, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,216, 0,229, 0,199, 0,211, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 1, 0, 0, 33, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0,229, 0, 0, 0, 0, 0, 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, 51,206, 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, 68, 65, 84, 65,244, 0, 0, 0,144,241,225, 2,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, 72, 81,224, 3, 72, 81,224, 3,
+ 48,237,205, 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, 1, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,
+ 48,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,184,242,225, 2, 68, 65, 84, 65,168, 0, 0, 0,
+184,242,225, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0, 1, 0, 1, 0,
+144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 30,221, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,192, 83,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0, 80, 84,215, 2, 48, 83,215, 2,144,206,205, 2,216,206,205, 2, 40,205,205, 2, 72,206,205, 2,
+ 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,194, 2, 0, 0, 1, 1, 87, 2,106, 2, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 24,108,206, 2, 96,150,206, 2, 96,150,206, 2,144,243,225, 2, 56,149,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+168, 73, 6, 4,136, 75, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,144,243,225, 2,198, 0, 0, 0, 1, 0, 0, 0,192,145,206, 2,
+ 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,192, 21, 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, 86, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 21, 68, 0, 0,200, 65, 0,128, 21, 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, 87, 2, 26, 0, 87, 2,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,193, 1, 0, 0, 23, 4, 0, 0, 89, 0, 0, 0,114, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 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,176, 55,206, 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, 68, 65, 84, 65,248, 0, 0, 0,192,145,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,232,146,206, 2,144,243,225, 2, 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,193, 1, 0, 0,
+193, 1, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 80, 2,
+ 0, 0, 5, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144, 54,206, 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,
+ 68, 65, 84, 65,248, 0, 0, 0,232,146,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 16,148,206, 2,192,145,206, 2, 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,193, 1, 0, 0,193, 1, 0, 0,115, 0, 0, 0,115, 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, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 32, 55,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 16,148,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 56,149,206, 2,232,146,206, 2, 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, 23, 4, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,
+194, 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, 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, 0, 54,206, 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, 68, 65, 84, 65,248, 0, 0, 0,
+ 56,149,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,148,206, 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, 72,207, 44, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0, 72,207, 44, 21, 1, 0, 0, 0,156, 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,
+193, 1, 0, 0, 23, 4, 0, 0,115, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 87, 2, 80, 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,
+112, 53,206, 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,
+184,244,225, 2, 68, 65, 84, 65, 68, 3, 0, 0,184,244,225, 2,156, 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,200,167,141, 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,
+ 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,209,162,227,190,
+ 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 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,240,191, 62,110,116, 85, 63,
+ 64,185, 70,188, 0, 0, 82,180, 48,221,185,190, 44, 45, 51, 62, 28, 11, 79, 63, 0, 0, 56,179, 67,108,117,194,183,204,216, 65,
+105,156, 5,194,212,247,159,192,235, 62,114, 66, 59,254,213,193,158,225, 3, 66, 55, 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,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,
+ 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,209,162,227,190,
+ 48,180, 81,191,184,158, 81,191,117, 90,127, 63, 13,114, 91, 62, 26, 63,185, 62, 35, 44,185, 62,145,180,109,188,105,147,125, 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, 12,163, 91, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,163, 91, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 12,163, 91, 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,236, 15, 72, 59, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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,
@@ -348,527 +402,580 @@ char datatoc_startup_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,128, 63, 32, 33, 12, 66, 86,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,
+240, 0, 0, 0, 96,150,206, 2,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, 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,144, 12,228, 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,128, 63, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,
-232,210, 44, 21, 1, 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,
- 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, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
+ 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 96, 0, 0, 0, 80, 84,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224, 84,215, 2,192, 83,215, 2, 0,206,205, 2,
+ 32,207,205, 2,104,207,205, 2,144,206,205, 2, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 89, 0, 0, 0, 3, 1, 0, 0,
+ 2, 2,192, 1,171, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,206, 2, 48,248,225, 2, 48,248,225, 2,136,151,206, 2,
+ 0,155,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,232, 75, 6, 4,104, 77, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,136,151,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,176,152,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,
+ 0, 0, 0, 0, 0, 0,224, 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,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0,
+ 0,128,223, 67, 0, 0,200, 65, 0,128,223, 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,192, 1, 26, 0,192, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+191, 1, 0, 0, 89, 0, 0, 0,114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 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,208, 56,206, 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,
+ 68, 65, 84, 65,248, 0, 0, 0,176,152,206, 2,198, 0, 0, 0, 1, 0, 0, 0,216,153,206, 2,136,151,206, 2, 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,254,194, 0, 0, 0, 0,200, 0, 0, 0,
+217, 0, 0, 0, 18, 0, 0, 0,144, 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,144, 0, 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,145, 0,200, 0,127, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,217, 0,145, 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, 96, 57,206, 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, 68, 65, 84, 65,248, 0, 0, 0,216,153,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0,155,206, 2,176,152,206, 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,191, 1, 0, 0,191, 1, 0, 0,115, 0, 0, 0,
+ 3, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 57,206, 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, 68, 65, 84, 65,248, 0, 0, 0,
+ 0,155,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,153,206, 2, 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,
+144, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0,230, 0, 0, 0, 18, 0, 0, 0,
+144, 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,231, 0,145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+217, 0, 0, 0,191, 1, 0, 0,115, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+231, 0,145, 0, 0, 0, 0, 0, 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, 56,206, 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, 68, 65, 84, 65,208, 0, 0, 0, 48,248,225, 2,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, 1, 0, 0, 0, 1, 0, 0, 0,
- 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,212, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-232,220, 44, 21, 1, 0, 0, 0, 56,199, 44, 21, 1, 0, 0, 0, 40,144, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,
- 8,146, 44, 21, 1, 0, 0, 0,232,144, 44, 21, 1, 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,
- 8,219, 44, 21, 1, 0, 0, 0, 8,219, 44, 21, 1, 0, 0, 0, 72,213, 44, 21, 1, 0, 0, 0,152,217, 44, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 72,213, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,214, 44, 21, 1, 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, 48,114, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0, 48,114, 40, 0, 20, 1, 0, 0, 1, 0, 0, 0,144, 1,228, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,184,214, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 40,216, 44, 21, 1, 0, 0, 0,
- 72,213, 44, 21, 1, 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, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,224, 84,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0,112, 85,215, 2, 80, 84,215, 2, 32,207,205, 2, 80,204,205, 2,216,206,205, 2,104,207,205, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0,194, 2, 0, 0, 12, 12,192, 1,190, 1, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240,166,206, 2,184, 26,221, 2,184, 26,221, 2, 40,156,206, 2,120,158,206, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 77, 6, 4,232, 78, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 40,156,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 80,157,206, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 94, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,224, 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,191, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,223, 67, 0, 0,200, 65, 0,128,223, 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,192, 1, 26, 0,192, 1,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,191, 1, 0, 0, 5, 1, 0, 0, 30, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 1, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 69,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 80,157,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0,120,158,206, 2, 40,156,206, 2, 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, 0,201,195, 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,163, 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, 8, 4, 0, 0, 2, 0, 3, 3,
+ 0, 0, 2, 4, 6, 0,200, 0,164, 1,200, 0,146, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+199, 0, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 0,164, 1,
+ 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,240,198,206, 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,
+ 68, 65, 84, 65,248, 0, 0, 0,120,158,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80,157,206, 2, 0, 0, 32,193,
+ 0, 0,104, 68, 0, 0, 72,194, 0, 0, 0, 0, 0, 0, 32,193, 0, 0,104, 68, 0, 0,201,195, 0, 0, 0, 0,231, 0, 0, 0,
+248, 0, 0, 0, 18, 0, 0, 0,163, 1, 0, 0, 0, 0, 0, 0,230, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,
+230, 0, 0, 0, 18, 0, 0, 0,163, 1, 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,248, 0,164, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,200, 0, 0, 0,191, 1, 0, 0, 31, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,248, 0,164, 1, 0, 0, 0, 0, 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, 68,206, 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, 68, 65, 84, 65, 24, 1, 0, 0,184, 26,221, 2, 21, 1, 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, 0, 0, 0,144, 1,228, 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, 16, 0, 0, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+112, 85,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 84,215, 2, 48,193,225, 2, 40,205,205, 2,152,204,205, 2,
+120,193,225, 2, 0, 0, 0, 0, 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 1, 1,216, 0,134, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 24,108,206, 2,240,161,206, 2,240,161,206, 2,160,159,206, 2,200,160,206, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 72, 79, 6, 4, 8, 80, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,160,159,206, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200,160,206, 2, 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, 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,
+ 61, 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, 1, 0, 2, 0, 1, 0,
+ 0, 0, 0, 0, 0, 0, 26, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 55,206, 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, 68, 65, 84, 65,248, 0, 0, 0,
+200,160,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160,159,206, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 40,216, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,217, 44, 21, 1, 0, 0, 0,
-184,214, 44, 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,
+ 25, 4, 0, 0,240, 4, 0, 0, 61, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+216, 0,134, 0, 0, 0, 0, 0, 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, 53,206, 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,
+ 48,249,225, 2, 68, 65, 84, 65, 68, 3, 0, 0, 48,249,225, 2,156, 0, 0, 0, 1, 0, 0, 0, 56,255, 13, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,228,100, 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, 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,223,149, 47, 63, 55, 70, 58, 63,
+160, 56, 49,188, 0, 0, 0, 0, 88,126,162,190,229,251,159, 62, 55, 53,101, 63, 0, 0, 0, 0, 7,165, 39, 63,150, 84, 28,191,
+ 51,247,227, 62, 0, 0, 0, 0,110,101,239, 64,151, 62,208,192, 78,255,170, 64, 0, 0,128, 63, 47,201,194, 63, 61, 73,145,191,
+244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64,
+ 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,149, 70,158, 62, 24,234,167, 62,
+192,214,159,187, 0, 0, 6,181,196,188,181,189, 71,238,178, 61,127, 45,128, 62, 0, 0,226, 51,168,120, 21,194,107, 5, 2, 66,
+203,135,213,193,147,214,159,192,177, 38, 19, 66,124,173,255,193, 96,101,210, 65,128, 40,160, 64,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, 47,201,194, 63, 61, 73,145,191,
+244,250, 39,191, 8,165, 39,191,190,164,206, 63,209, 10,143, 63,180,164, 28, 63,149, 84, 28, 63,224,153,196,188,136,239, 76, 64,
+ 10,108,228,190, 52,247,227,190,125, 21, 64,191,126,113,172,191,216, 49, 49, 65,152, 9, 52, 65,102,103, 97, 64, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+102,103, 97, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,241, 22, 72, 63, 78,162,246,190,
+ 43, 8, 90,190, 2, 35,171,190, 0, 0, 32, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,253,191,136, 59, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 30, 0,255,255, 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,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,152,217, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 40,216, 44, 21, 1, 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, 8,219, 44, 21, 1, 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, 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,128, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 7, 0, 0, 0,128, 63,190,133, 65, 66, 99,212, 90, 66, 27,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65,
+240, 0, 0, 0,240,161,206, 2,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, 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,144, 12,228, 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, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0,
+ 8, 0, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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,
+ 83, 78, 0, 0,148, 0, 0, 0,240,249,213, 2,193, 0, 0, 0, 1, 0, 0, 0,184,250,213, 2, 40,249,213, 2, 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,232,201,225, 2,144,205,225, 2,216,205,225, 2,144,255,225, 2, 0, 86,215, 2,208, 88,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 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, 68, 65, 84, 65, 20, 0, 0, 0,232,201,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 48,202,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 48,202,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,120,202,225, 2,232,201,225, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+120,202,225, 2,194, 0, 0, 0, 1, 0, 0, 0,192,202,225, 2, 48,202,225, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,192,202,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 8,203,225, 2,120,202,225, 2, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 8,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,203,225, 2,
+192,202,225, 2, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,203,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,152,203,225, 2, 8,203,225, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+152,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0,224,203,225, 2, 80,203,225, 2, 0, 0, 0, 0, 32, 6, 92, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,224,203,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,204,225, 2,152,203,225, 2, 0, 0, 0, 0,
+126, 7, 92, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,204,225, 2,194, 0, 0, 0, 1, 0, 0, 0,112,204,225, 2,
+224,203,225, 2, 0, 0, 0, 0, 32, 6,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,204,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,184,204,225, 2, 40,204,225, 2, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+184,204,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 0,205,225, 2,112,204,225, 2, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 0,205,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 72,205,225, 2,184,204,225, 2, 0, 0, 0, 0,
+ 4, 3,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 72,205,225, 2,194, 0, 0, 0, 1, 0, 0, 0,144,205,225, 2,
+ 0,205,225, 2, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144,205,225, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 72,205,225, 2, 0, 0, 0, 0, 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+216,205,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,206,225, 2, 0, 0, 0, 0, 48,202,225, 2,120,202,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0,104,206,225, 2,216,205,225, 2,
+ 48,202,225, 2, 8,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,206,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,176,206,225, 2, 32,206,225, 2,120,202,225, 2, 80,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,176,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0,248,206,225, 2,104,206,225, 2, 8,203,225, 2, 80,203,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,206,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 64,207,225, 2,
+176,206,225, 2,192,202,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,207,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,136,207,225, 2,248,206,225, 2,152,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,136,207,225, 2,195, 0, 0, 0, 1, 0, 0, 0,208,207,225, 2, 64,207,225, 2, 80,203,225, 2,
+ 40,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,207,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 24,208,225, 2,136,207,225, 2, 8,203,225, 2, 40,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 24,208,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 96,208,225, 2,208,207,225, 2,152,203,225, 2, 40,204,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96,208,225, 2,195, 0, 0, 0, 1, 0, 0, 0,168,208,225, 2, 24,208,225, 2,
+ 80,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,168,208,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,192,252,225, 2, 96,208,225, 2, 8,203,225, 2,112,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,192,252,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 8,253,225, 2,168,208,225, 2, 40,204,225, 2,184,204,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 8,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,253,225, 2,
+192,252,225, 2,112,204,225, 2,184,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,253,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0,152,253,225, 2, 8,253,225, 2,112,204,225, 2, 0,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,152,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0,224,253,225, 2, 80,253,225, 2,184,204,225, 2,
+ 0,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224,253,225, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 40,254,225, 2,152,253,225, 2,232,201,225, 2, 72,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 40,254,225, 2,195, 0, 0, 0, 1, 0, 0, 0,112,254,225, 2,224,253,225, 2, 72,205,225, 2,144,205,225, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112,254,225, 2,195, 0, 0, 0, 1, 0, 0, 0,184,254,225, 2, 40,254,225, 2,
+192,202,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184,254,225, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 0,255,225, 2,112,254,225, 2,152,203,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 0,255,225, 2,195, 0, 0, 0, 1, 0, 0, 0, 72,255,225, 2,184,254,225, 2, 0,205,225, 2, 72,205,225, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,255,225, 2,195, 0, 0, 0, 1, 0, 0, 0,144,255,225, 2,
+ 0,255,225, 2,184,204,225, 2,144,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,255,225, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 72,255,225, 2,232,201,225, 2,112,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 0, 86,215, 2,197, 0, 0, 0, 1, 0, 0, 0,144, 86,215, 2, 0, 0, 0, 0, 8,203,225, 2,
+ 48,202,225, 2,120,202,225, 2, 80,203,225, 2, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0,
+ 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 56,233,220, 2, 56,233,220, 2, 24,163,206, 2,
+ 64,164,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 24,163,206, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 64,164,206, 2, 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,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,
+126, 7, 0, 0,235, 3, 0, 0, 4, 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, 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,
+ 68, 65, 84, 65,248, 0, 0, 0, 64,164,206, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24,163,206, 2, 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, 5, 4, 0, 0, 5, 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, 68, 65, 84, 65, 96, 0, 0, 0,144, 86,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 32, 87,215, 2, 0, 86,215, 2,144,205,225, 2,152,203,225, 2,224,203,225, 2,192,202,225, 2, 0, 0, 0, 0, 33, 6, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 91, 0, 0, 0, 15, 15, 94, 1, 92, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+168, 44,226, 2,168, 44,226, 2,192, 12,226, 2,232, 13,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,192, 12,226, 2,198, 0, 0, 0, 1, 0, 0, 0,232, 13,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128,115, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0,175, 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,
+ 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, 0,128,174, 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, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 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, 68, 65, 84, 65,248, 0, 0, 0,232, 13,226, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,192, 12,226, 2, 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, 65, 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,
+ 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,
+ 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1, 66, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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,
+168, 44,226, 2,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,
- 56,220, 44, 21, 1, 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, 56,220, 44, 21, 1, 0, 0, 0, 19, 1, 0, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,220, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0,104,212, 44, 21, 1, 0, 0, 0,168,145, 44, 21, 1, 0, 0, 0,232,141, 44, 21, 1, 0, 0, 0,
- 72,145, 44, 21, 1, 0, 0, 0, 8,146, 44, 21, 1, 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,
- 24,226, 44, 21, 1, 0, 0, 0, 24,226, 44, 21, 1, 0, 0, 0,200,221, 44, 21, 1, 0, 0, 0,168,224, 44, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,200,221, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56,223, 44, 21, 1, 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, 31, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 32, 87,215, 2,197, 0, 0, 0, 1, 0, 0, 0,176, 87,215, 2,
+144, 86,215, 2,152,203,225, 2, 40,204,225, 2, 80,203,225, 2,224,203,225, 2, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,
+ 93, 0, 0, 0,233, 3, 0, 0, 4, 4, 94, 1,141, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 84,226, 2,
+200, 84,226, 2, 16, 15,226, 2, 56, 16,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 16, 15,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 56, 16,226, 2, 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,175, 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, 93, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65, 0,128,174, 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, 94, 1, 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,208, 3, 0, 0,233, 3, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56, 16,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 16, 15,226, 2, 0, 0, 0, 0, 0,128,174, 67, 0,128, 92,196, 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,191, 92,196,
+ 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,114, 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,114, 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,115, 3, 77, 1,
+115, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 93, 0, 0, 0,207, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 1,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152, 45,226, 2,
+176, 61,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,152, 45,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 8, 47,226, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 56,223, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168,224, 44, 21, 1, 0, 0, 0,
-200,221, 44, 21, 1, 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,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,
- 68, 65, 84, 65, 40, 1, 0, 0,168,224, 44, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56,223, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 8, 47,226, 2,196, 0, 0, 0, 1, 0, 0, 0,120, 48,226, 2,
+152, 45,226, 2, 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,
- 68, 65, 84, 65, 64, 1, 0, 0, 24,226, 44, 21, 1, 0, 0, 0, 20, 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, 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, 68, 65, 84, 65,
+ 64, 1, 0, 0,120, 48,226, 2,196, 0, 0, 0, 1, 0, 0, 0,232, 49,226, 2, 8, 47,226, 2, 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, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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, 3, 2, 0, 2, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-152,227, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,220, 44, 21, 1, 0, 0, 0,
-104,146, 44, 21, 1, 0, 0, 0, 8,143, 44, 21, 1, 0, 0, 0, 72,142, 44, 21, 1, 0, 0, 0,200,146, 44, 21, 1, 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,248,234, 44, 21, 1, 0, 0, 0,248,234, 44, 21, 1, 0, 0, 0,
-120,228, 44, 21, 1, 0, 0, 0,232,229, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,120,228, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,232,229, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,232, 49,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 88, 51,226, 2,120, 48,226, 2, 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, 68, 65, 84, 65, 40, 1, 0, 0,232,229, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,228, 44, 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, 68, 65, 84, 65, 64, 1, 0, 0, 88, 51,226, 2,196, 0, 0, 0, 1, 0, 0, 0,224, 52,226, 2,232, 49,226, 2,
+ 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, 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, 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, 88,231, 44, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 88,231, 44, 21, 1, 0, 0, 0,
-156, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+224, 52,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 88, 54,226, 2, 88, 51,226, 2, 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, 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,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, 68, 65, 84, 65, 64, 1, 0, 0, 88, 54,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+208, 55,226, 2,224, 52,226, 2, 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, 10,254, 76, 1, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0,208, 55,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 72, 57,226, 2, 88, 54,226, 2, 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,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, 56, 1, 0, 0,248,234, 44, 21, 1, 0, 0, 0,157, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,242,253, 76, 1, 0, 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,
- 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, 56,182, 47, 4, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 57,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,192, 58,226, 2,208, 55,226, 2, 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,253, 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, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 1, 0, 3, 0, 8, 0, 0, 0, 0, 0, 12, 66,
- 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, 0, 0, 16, 0, 10, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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,
-248,236, 44, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 72,139, 44, 21, 1, 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, 24,238, 44, 21, 1, 0, 0, 0,
-248,242, 44, 21, 1, 0, 0, 0, 88,243, 44, 21, 1, 0, 0, 0,136,252, 44, 21, 1, 0, 0, 0,248,252, 44, 21, 1, 0, 0, 0,
-120, 48, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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, 24,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-120,238, 44, 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,
- 68, 65, 84, 65, 32, 0, 0, 0,120,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 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,238, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,239, 44, 21, 1, 0, 0, 0,120,238, 44, 21, 1, 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, 56,239, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 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,152,239, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0, 56,239, 44, 21, 1, 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,239, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88,240, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 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,
- 88,240, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 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,184,240, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 88,240, 44, 21, 1, 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, 24,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 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,120,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0,
- 24,241, 44, 21, 1, 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,
-216,241, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 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, 56,242, 44, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 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,152,242, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-248,242, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 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,248,242, 44, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152,242, 44, 21, 1, 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,
- 88,243, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,243, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-120,238, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,243, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,244, 44, 21, 1, 0, 0, 0, 88,243, 44, 21, 1, 0, 0, 0,
-120,238, 44, 21, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,244, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,244, 44, 21, 1, 0, 0, 0,200,243, 44, 21, 1, 0, 0, 0,
-216,238, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,244, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,245, 44, 21, 1, 0, 0, 0, 56,244, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,245, 44, 21, 1, 0, 0, 0,168,244, 44, 21, 1, 0, 0, 0,
- 56,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,245, 44, 21, 1, 0, 0, 0, 24,245, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,245, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,246, 44, 21, 1, 0, 0, 0,136,245, 44, 21, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,246, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,246, 44, 21, 1, 0, 0, 0,248,245, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,246, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,247, 44, 21, 1, 0, 0, 0,104,246, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,247, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,247, 44, 21, 1, 0, 0, 0,216,246, 44, 21, 1, 0, 0, 0,
-248,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,247, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,248, 44, 21, 1, 0, 0, 0, 72,247, 44, 21, 1, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,248, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,248, 44, 21, 1, 0, 0, 0,184,247, 44, 21, 1, 0, 0, 0,
- 24,241, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,248, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,249, 44, 21, 1, 0, 0, 0, 40,248, 44, 21, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,249, 44, 21, 1, 0, 0, 0,152,248, 44, 21, 1, 0, 0, 0,
-120,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,249, 44, 21, 1, 0, 0, 0, 8,249, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,249, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,250, 44, 21, 1, 0, 0, 0,120,249, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,250, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,250, 44, 21, 1, 0, 0, 0,232,249, 44, 21, 1, 0, 0, 0,
-152,242, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,250, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,251, 44, 21, 1, 0, 0, 0, 88,250, 44, 21, 1, 0, 0, 0,
- 56,239, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,251, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,251, 44, 21, 1, 0, 0, 0,200,250, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,251, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,252, 44, 21, 1, 0, 0, 0, 56,251, 44, 21, 1, 0, 0, 0,
- 56,242, 44, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,252, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,252, 44, 21, 1, 0, 0, 0,168,251, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,252, 44, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,252, 44, 21, 1, 0, 0, 0,
- 24,238, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-248,252, 44, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-152,239, 44, 21, 1, 0, 0, 0,120,238, 44, 21, 1, 0, 0, 0,216,238, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 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,168, 53, 45, 21, 1, 0, 0, 0,168, 53, 45, 21, 1, 0, 0, 0,
-216,253, 44, 21, 1, 0, 0, 0, 72,255, 44, 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, 68, 65, 84, 65, 40, 1, 0, 0,216,253, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 72,255, 44, 21, 1, 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, 72,255, 44, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,253, 44, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,192, 58,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 56, 60,226, 2,
+ 72, 57,226, 2, 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, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,152, 5, 45, 21, 1, 0, 0, 0,248,252, 44, 21, 1, 0, 0, 0,248,242, 44, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 0, 0, 0, 56,239, 44, 21, 1, 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,120, 4, 45, 21, 1, 0, 0, 0,120, 4, 45, 21, 1, 0, 0, 0,152, 1, 45, 21, 1, 0, 0, 0,
- 8, 3, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,152, 1, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 8, 3, 45, 21, 1, 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, 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, 68, 65, 84, 65, 40, 1, 0, 0, 8, 3, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,152, 1, 45, 21, 1, 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,194,253, 76, 1, 0, 0, 20, 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, 68, 65, 84, 65,
+ 64, 1, 0, 0, 56, 60,226, 2,196, 0, 0, 0, 1, 0, 0, 0,176, 61,226, 2,192, 58,226, 2, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,216, 0, 0, 0,120, 4, 45, 21, 1, 0, 0, 0,173, 0, 0, 0, 1, 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,
- 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,
+ 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, 40,253, 76, 1,130, 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, 68, 65, 84, 65, 64, 1, 0, 0,176, 61,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 56, 60,226, 2, 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, 16,253, 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, 31, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-152, 5, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24, 30, 45, 21, 1, 0, 0, 0,184, 0, 45, 21, 1, 0, 0, 0,
- 88,240, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0,248,239, 44, 21, 1, 0, 0, 0,184,240, 44, 21, 1, 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,216, 28, 45, 21, 1, 0, 0, 0,216, 28, 45, 21, 1, 0, 0, 0,
-120, 6, 45, 21, 1, 0, 0, 0,232, 7, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,120, 6, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,232, 7, 45, 21, 1, 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, 68, 65, 84, 65,216, 0, 0, 0,200, 84,226, 2,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, 68, 65, 84, 65, 40, 1, 0, 0,232, 7, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 6, 45, 21, 1, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 28, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,176, 87,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 64, 88,215, 2, 32, 87,215, 2, 72,205,225, 2, 0,205,225, 2,184,204,225, 2,144,205,225, 2, 0, 0, 0, 0,
+ 5, 3, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 1, 1, 27, 3,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 40, 23,226, 2, 40, 23,226, 2, 96, 17,226, 2, 0, 22,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 96, 17,226, 2,198, 0, 0, 0, 1, 0, 0, 0,136, 18,226, 2, 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,192, 70, 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, 26, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128, 70, 68, 0, 0,200, 65, 0,128, 70, 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, 27, 3, 26, 0, 27, 3, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 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, 27, 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, 68, 65, 84, 65,248, 0, 0, 0,136, 18,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,176, 19,226, 2, 96, 17,226, 2, 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, 5, 3, 0, 0, 5, 3, 0, 0,
+ 26, 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,114, 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, 68, 65, 84, 65,
+248, 0, 0, 0,176, 19,226, 2,198, 0, 0, 0, 1, 0, 0, 0,216, 20,226, 2,136, 18,226, 2, 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, 5, 3, 0, 0, 31, 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, 68, 65, 84, 65,248, 0, 0, 0,216, 20,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 22,226, 2,
+176, 19,226, 2, 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, 31, 6, 0, 0, 31, 6, 0, 0, 26, 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, 68, 65, 84, 65,248, 0, 0, 0, 0, 22,226, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216, 20,226, 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,
- 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, 30, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72, 43, 45, 21, 1, 0, 0, 0,
-152, 5, 45, 21, 1, 0, 0, 0,152,242, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,216,241, 44, 21, 1, 0, 0, 0,
-248,242, 44, 21, 1, 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,200, 41, 45, 21, 1, 0, 0, 0,
-200, 41, 45, 21, 1, 0, 0, 0,248, 30, 45, 21, 1, 0, 0, 0,184, 36, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-248, 30, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104, 32, 45, 21, 1, 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, 5, 3, 0, 0,
+ 31, 6, 0, 0, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 3,114, 1,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,208, 85,226, 2,
+ 68, 65, 84, 65, 68, 3, 0, 0,208, 85,226, 2,156, 0, 0, 0, 1, 0, 0, 0, 93,101,230, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 30,133,119, 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, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191,
+ 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190,
+ 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 25, 25,195, 62,176,249,206, 62,128,238,196,187,
+ 0, 0,192,179, 55, 15,168,189,201,118,165, 61,152, 15,109, 62, 0, 0,152, 51,211,120, 21,194,144, 5, 2, 66, 6,136,213,193,
+193,214,159,192,219, 38, 19, 66,196,173,255,193,154,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, 42, 6,158, 63, 99, 28,157,191,244,250, 39,191,
+ 8,165, 39,191,211,164,167, 63, 55,175,154, 63,180,164, 28, 63,149, 84, 28, 63, 39,127,159,188,135,157, 93, 64, 8,108,228,190,
+ 50,247,227,190, 4,213, 27,191,122,122,186,191,216, 49, 49, 65,152, 9, 52, 65, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62,250,150, 63,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 63,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, 80, 49,183, 58, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 20, 0,255,255, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-104, 32, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216, 33, 45, 21, 1, 0, 0, 0,248, 30, 45, 21, 1, 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, 33, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 72, 35, 45, 21, 1, 0, 0, 0,104, 32, 45, 21, 1, 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, 35, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 36, 45, 21, 1, 0, 0, 0,216, 33, 45, 21, 1, 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, 92, 62, 55, 63, 56,186,224,190,237,203,148,190, 3,236,234,190,
+ 1, 0, 0, 0, 0, 0,128, 63,190,133, 65, 66,100,212, 90, 66, 31,183,118, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,
+ 40, 23,226, 2,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, 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,144, 12,228, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0,
+ 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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,
+ 96, 0, 0, 0, 64, 88,215, 2,197, 0, 0, 0, 1, 0, 0, 0,208, 88,215, 2,176, 87,215, 2,112,204,225, 2, 8,203,225, 2,
+ 40,204,225, 2,184,204,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 16, 16, 32, 6,
+ 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 89,226, 2, 72, 89,226, 2, 80, 24,226, 2,120, 25,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 80, 24,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,120, 25,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 66, 68, 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,224,195, 68,
+ 0, 0,200, 65, 0,224,195, 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, 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, 31, 6, 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, 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, 68, 65, 84, 65,
+248, 0, 0, 0,120, 25,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 80, 24,226, 2, 0, 0, 32,193, 0, 0, 0, 68,
+ 0, 0, 32,193, 0, 0, 0, 68,128,195,217,195,192,225,108, 68, 96,240,187, 64, 62, 16,253, 67, 15, 6, 0, 0, 32, 6, 0, 0,
+ 18, 0, 0, 0, 66, 2, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 14, 6, 0, 0,
+ 18, 0, 0, 0, 66, 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, 32, 6, 67, 2, 15, 6, 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 32, 6, 67, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-184, 36, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 35, 45, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,252, 0, 0, 0, 72, 89,226, 2,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, 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,144, 1,228, 2, 0, 0, 0, 0, 0, 0, 0, 0, 10,206, 97, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 1, 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,
+208, 88,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64, 88,215, 2,232,201,225, 2,112,204,225, 2, 0,205,225, 2,
+ 72,205,225, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 6, 6, 4, 3,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120, 90,226, 2,120, 90,226, 2,160, 26,226, 2,240, 28,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,160, 26,226, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200, 27,226, 2, 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, 65, 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, 3, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 64, 68, 0, 0,200, 65,
+ 0,192, 64, 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, 4, 3,
+ 26, 0, 4, 3, 26, 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,
+ 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 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, 68, 65, 84, 65,248, 0, 0, 0,
+200, 27,226, 2,198, 0, 0, 0, 1, 0, 0, 0,240, 28,226, 2,160, 26,226, 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, 40, 38, 45, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 40, 38, 45, 21, 1, 0, 0, 0,156, 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, 26, 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, 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, 68, 65, 84, 65,248, 0, 0, 0,240, 28,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,200, 27,226, 2,
+ 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0, 0, 0,128, 67, 0, 0,129,191, 0,128, 0, 64, 0, 0,100,190, 0,128,156, 63,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 0, 0, 0, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 26, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 3,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 32, 0, 0,120, 90,226, 2,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, 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,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, 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, 56, 1, 0, 0,200, 41, 45, 21, 1, 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, 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,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,
- 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 72, 43, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120, 48, 45, 21, 1, 0, 0, 0,
- 24, 30, 45, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0,152,239, 44, 21, 1, 0, 0, 0, 24,241, 44, 21, 1, 0, 0, 0,
-216,241, 44, 21, 1, 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, 8, 47, 45, 21, 1, 0, 0, 0,
- 8, 47, 45, 21, 1, 0, 0, 0, 40, 44, 45, 21, 1, 0, 0, 0,152, 45, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,
- 40, 44, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152, 45, 45, 21, 1, 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,
-152, 45, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 44, 45, 21, 1, 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,
- 8, 47, 45, 21, 1, 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, 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, 56,174, 47, 4, 1, 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,120, 48, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 72, 43, 45, 21, 1, 0, 0, 0, 24,238, 44, 21, 1, 0, 0, 0,120,241, 44, 21, 1, 0, 0, 0, 56,242, 44, 21, 1, 0, 0, 0,
-152,242, 44, 21, 1, 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, 56,140, 47, 4, 1, 0, 0, 0,
- 56,140, 47, 4, 1, 0, 0, 0, 88, 49, 45, 21, 1, 0, 0, 0, 56, 52, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,
- 88, 49, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200, 50, 45, 21, 1, 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,
-200, 50, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56, 52, 45, 21, 1, 0, 0, 0, 88, 49, 45, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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,
- 56, 52, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 50, 45, 21, 1, 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,
- 56,140, 47, 4, 1, 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, 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,
@@ -971,6 +1078,7 @@ char datatoc_startup_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, 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,
@@ -998,7 +1106,6 @@ char datatoc_startup_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,
- 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,
@@ -1101,2593 +1208,2284 @@ char datatoc_startup_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,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,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,
+148, 0, 0, 0,184,250,213, 2,193, 0, 0, 0, 1, 0, 0, 0,128,251,213, 2,240,249,213, 2, 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,216,255,225, 2,240, 2,226, 2, 56, 3,226, 2, 0, 8,226, 2, 96, 89,215, 2,160, 91,215, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0,144, 1,228, 2, 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,148,238, 92, 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,216,255,225, 2,194, 0, 0, 0, 1, 0, 0, 0, 32, 0,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 32, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+104, 0,226, 2,216,255,225, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,104, 0,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,176, 0,226, 2, 32, 0,226, 2, 0, 0, 0, 0,240, 4,222, 2, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,176, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0,248, 0,226, 2,104, 0,226, 2, 0, 0, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248, 0,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 64, 1,226, 2,176, 0,226, 2,
+ 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 64, 1,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+136, 1,226, 2,248, 0,226, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,136, 1,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,208, 1,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 36, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,208, 1,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 24, 2,226, 2,136, 1,226, 2, 0, 0, 0, 0, 36, 4,195, 2,
+ 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 96, 2,226, 2,208, 1,226, 2,
+ 0, 0, 0, 0, 36, 4, 84, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 96, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0,
+168, 2,226, 2, 24, 2,226, 2, 0, 0, 0, 0,240, 4, 84, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,168, 2,226, 2,
+194, 0, 0, 0, 1, 0, 0, 0,240, 2,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,240, 2,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,168, 2,226, 2, 0, 0, 0, 0, 36, 4, 84, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 3,226, 2,195, 0, 0, 0, 1, 0, 0, 0,128, 3,226, 2, 0, 0, 0, 0,
+ 32, 0,226, 2,104, 0,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,128, 3,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,200, 3,226, 2, 56, 3,226, 2, 32, 0,226, 2,248, 0,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,200, 3,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 16, 4,226, 2,128, 3,226, 2,104, 0,226, 2, 64, 1,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 16, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 88, 4,226, 2,
+200, 3,226, 2,248, 0,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 88, 4,226, 2,
+195, 0, 0, 0, 1, 0, 0, 0,160, 4,226, 2, 16, 4,226, 2,216,255,225, 2,136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,160, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0,232, 4,226, 2, 88, 4,226, 2,176, 0,226, 2,
+136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,232, 4,226, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 48, 5,226, 2,160, 4,226, 2,248, 0,226, 2,208, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 48, 5,226, 2,195, 0, 0, 0, 1, 0, 0, 0,120, 5,226, 2,232, 4,226, 2, 64, 1,226, 2,208, 1,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,120, 5,226, 2,195, 0, 0, 0, 1, 0, 0, 0,192, 5,226, 2, 48, 5,226, 2,
+136, 1,226, 2, 24, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,192, 5,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 8, 6,226, 2,120, 5,226, 2,208, 1,226, 2, 24, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 8, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 80, 6,226, 2,192, 5,226, 2, 64, 1,226, 2, 96, 2,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0,152, 6,226, 2,
+ 8, 6,226, 2,176, 0,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152, 6,226, 2,
+195, 0, 0, 0, 1, 0, 0, 0,224, 6,226, 2, 80, 6,226, 2, 24, 2,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,224, 6,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 40, 7,226, 2,152, 6,226, 2,216,255,225, 2,
+168, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0,
+112, 7,226, 2,224, 6,226, 2,248, 0,226, 2,168, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+112, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0,184, 7,226, 2, 40, 7,226, 2,208, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184, 7,226, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 8,226, 2,112, 7,226, 2,
+136, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0, 8,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,184, 7,226, 2,168, 2,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 96, 0, 0, 0, 96, 89,215, 2,197, 0, 0, 0, 1, 0, 0, 0,240, 89,215, 2, 0, 0, 0, 0,248, 0,226, 2, 32, 0,226, 2,
+104, 0,226, 2, 64, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,222, 2, 0, 0, 7, 7,241, 4,
+ 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 8, 0,136,129,206, 2,152,233,220, 2,152,233,220, 2, 24, 30,226, 2, 64, 31,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,184,231,220, 2, 24,232,220, 2, 68, 65, 84, 65,248, 0, 0, 0, 24, 30,226, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 64, 31,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0,
+ 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68,
+ 0, 0,200, 65, 0, 0,158, 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,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,
+196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 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, 32, 64,206, 2, 40,133, 4, 4,
+ 40,133, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0,184, 59, 6, 4, 80, 58, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 64, 31,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24, 30,226, 2, 0, 0, 0, 0, 0,240,109, 69,
+ 0, 0,128,192, 0, 0, 0, 0, 0, 0, 0, 0,255,255,237, 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,222, 2, 0, 0,222, 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, 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,144, 63,206, 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, 68, 65, 84, 65, 96, 0, 0, 0,240, 89,215, 2,197, 0, 0, 0, 1, 0, 0, 0,128, 90,215, 2,
+ 96, 89,215, 2,136, 1,226, 2, 24, 2,226, 2, 96, 2,226, 2,176, 0,226, 2, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0,
+ 0, 0, 0, 0, 83, 2, 0, 0, 4, 4,204, 0, 84, 2, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,168,127,206, 2,160,155,226, 2,
+160,155,226, 2,104, 32,226, 2,144, 33,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,152,230,220, 2, 88,231,220, 2, 68, 65, 84, 65,
+248, 0, 0, 0,104, 32,226, 2,198, 0, 0, 0, 1, 0, 0, 0,144, 33,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,148, 67,
+ 0, 0, 0, 0, 0, 0,208, 65, 64, 33, 68, 55, 0, 0, 76, 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,203, 0, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 0, 75, 67, 0, 0,200, 65, 0, 0, 75, 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,204, 0, 26, 0,204, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 58, 2, 0, 0, 83, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,204, 0, 26, 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, 0, 63,206, 2,208, 80, 8, 4,208, 80, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,216, 57, 6, 4,112, 56, 6, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,144, 33,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+104, 32,226, 2, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,255,255, 58, 67,255,127, 14,196,
+ 0, 0, 0, 0,187, 0, 0, 0,204, 0, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0, 0, 0, 0, 0, 74, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 57, 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,204, 0, 58, 2,187, 0,
+ 58, 2, 0, 0, 8,104,244, 3, 1, 0, 0, 0, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 57, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 0, 58, 2, 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,112, 62,206, 2,152, 71, 8, 4, 16, 66, 8, 4, 40, 63,226, 2,
+ 32,128,226, 2,248, 55, 6, 4,144, 54, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40, 63,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,160, 64,226, 2, 0, 0, 0, 0,104,128,206, 2, 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,186, 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, 0, 68, 65, 84, 65, 64, 1, 0, 0,160, 64,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 24, 66,226, 2,
+ 40, 63,226, 2,208, 0,222, 2, 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,186, 0, 61, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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, 24, 66,226, 2,196, 0, 0, 0, 1, 0, 0, 0,144, 67,226, 2,160, 64,226, 2,248, 1,222, 2, 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,186, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,144, 67,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 8, 69,226, 2, 24, 66,226, 2, 32, 3,222, 2, 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,186, 0,203, 0, 0, 0, 0, 0,
+ 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8, 69,226, 2,196, 0, 0, 0, 1, 0, 0, 0,128, 70,226, 2,144, 67,226, 2,
+ 72, 4,222, 2, 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,186, 0, 58, 0, 20, 0, 0, 0, 0, 0, 6, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+128, 70,226, 2,196, 0, 0, 0, 1, 0, 0, 0,248, 71,226, 2, 8, 69,226, 2, 80, 78,217, 2, 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, 34,254,
+186, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 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, 68, 65, 84, 65, 64, 1, 0, 0,248, 71,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+112, 73,226, 2,128, 70,226, 2,120, 79,217, 2, 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, 10,254,186, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0,112, 73,226, 2,196, 0, 0, 0, 1, 0, 0, 0,232, 74,226, 2,248, 71,226, 2,160, 80,217, 2,
+ 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,253,186, 0, 0, 0, 0, 0, 0, 0, 4, 0, 6, 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, 68, 65, 84, 65, 64, 1, 0, 0,232, 74,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 96, 76,226, 2,112, 73,226, 2,200, 81,217, 2, 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,253,186, 0, 0, 0,
+ 0, 0, 0, 0, 4, 0, 6, 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, 68, 65, 84, 65, 64, 1, 0, 0, 96, 76,226, 2,196, 0, 0, 0, 1, 0, 0, 0,216, 77,226, 2,
+232, 74,226, 2,240, 82,217, 2, 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,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,
- 40, 54, 45, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0,248,236, 44, 21, 1, 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, 72, 55, 45, 21, 1, 0, 0, 0,
-104, 59, 45, 21, 1, 0, 0, 0,200, 59, 45, 21, 1, 0, 0, 0, 56, 67, 45, 21, 1, 0, 0, 0,168, 67, 45, 21, 1, 0, 0, 0,
-120,174, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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, 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, 32, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-168, 55, 45, 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,
- 68, 65, 84, 65, 32, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0,
- 72, 55, 45, 21, 1, 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,
- 8, 56, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 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, 56, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 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,200, 56, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 40, 57, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 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, 40, 57, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
-200, 56, 45, 21, 1, 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,
-136, 57, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 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,232, 57, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 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, 72, 58, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-168, 58, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 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,168, 58, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 72, 58, 45, 21, 1, 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,
- 8, 59, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 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,104, 59, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 59, 45, 21, 1, 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,200, 59, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 60, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 60, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-168, 60, 45, 21, 1, 0, 0, 0,200, 59, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 60, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 24, 61, 45, 21, 1, 0, 0, 0, 56, 60, 45, 21, 1, 0, 0, 0, 8, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-136, 61, 45, 21, 1, 0, 0, 0,168, 60, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-248, 61, 45, 21, 1, 0, 0, 0, 24, 61, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 61, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-104, 62, 45, 21, 1, 0, 0, 0,136, 61, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 62, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-216, 62, 45, 21, 1, 0, 0, 0,248, 61, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 62, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 72, 63, 45, 21, 1, 0, 0, 0,104, 62, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 63, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-184, 63, 45, 21, 1, 0, 0, 0,216, 62, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 63, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 64, 45, 21, 1, 0, 0, 0, 72, 63, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 64, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 64, 45, 21, 1, 0, 0, 0,184, 63, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 64, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 65, 45, 21, 1, 0, 0, 0, 40, 64, 45, 21, 1, 0, 0, 0,104, 56, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 65, 45, 21, 1, 0, 0, 0,152, 64, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 65, 45, 21, 1, 0, 0, 0, 8, 65, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 65, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 88, 66, 45, 21, 1, 0, 0, 0,120, 65, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 66, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-200, 66, 45, 21, 1, 0, 0, 0,232, 65, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 66, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 67, 45, 21, 1, 0, 0, 0, 88, 66, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 67, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,200, 66, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168, 67, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-104, 71, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,168, 55, 45, 21, 1, 0, 0, 0,
- 8, 56, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
-104,223, 45, 21, 1, 0, 0, 0,104,223, 45, 21, 1, 0, 0, 0,136, 68, 45, 21, 1, 0, 0, 0,248, 69, 45, 21, 1, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,136, 68, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248, 69, 45, 21, 1, 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, 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, 69, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136, 68, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 71, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 40,164, 45, 21, 1, 0, 0, 0,
-168, 67, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 0, 0, 0,
-104, 56, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,232,162, 45, 21, 1, 0, 0, 0,
-232,162, 45, 21, 1, 0, 0, 0, 72, 72, 45, 21, 1, 0, 0, 0,184, 73, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,
- 72, 72, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 73, 45, 21, 1, 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, 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,
-184, 73, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72, 72, 45, 21, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 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,253,186, 0, 0, 0, 20, 0, 0, 0, 4, 0, 6, 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, 68, 65, 84, 65,
+ 64, 1, 0, 0,216, 77,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 80, 79,226, 2, 96, 76,226, 2, 24, 84,217, 2, 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,
- 0, 0, 0, 0, 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,
-232,162, 45, 21, 1, 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,
+ 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, 40,253,186, 0,130, 0, 0, 0, 0, 0, 0, 0, 6, 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, 68, 65, 84, 65, 64, 1, 0, 0, 80, 79,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0,200, 80,226, 2,216, 77,226, 2,104, 86,217, 2, 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, 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, 40,164, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 8,169, 45, 21, 1, 0, 0, 0,104, 71, 45, 21, 1, 0, 0, 0, 72, 55, 45, 21, 1, 0, 0, 0, 8, 59, 45, 21, 1, 0, 0, 0,
-104, 59, 45, 21, 1, 0, 0, 0,136, 57, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,
-232,167, 45, 21, 1, 0, 0, 0,232,167, 45, 21, 1, 0, 0, 0, 8,165, 45, 21, 1, 0, 0, 0,120,166, 45, 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, 16,253,186, 0, 0, 0, 0, 0, 0, 0,
+ 4, 0, 7, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 8,165, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120,166, 45, 21, 1, 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, 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, 68, 65, 84, 65, 64, 1, 0, 0,200, 80,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 64, 82,226, 2, 80, 79,226, 2,
+ 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,
- 68, 65, 84, 65, 40, 1, 0, 0,120,166, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 8,165, 45, 21, 1, 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, 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,135,255, 41, 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,
- 68, 65, 84, 65,216, 0, 0, 0,232,167, 45, 21, 1, 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, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+ 64, 82,226, 2,196, 0, 0, 0, 1, 0, 0, 0,184,123,226, 2,200, 80,226, 2, 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, 28,255,
+ 41, 1, 83, 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, 64, 1, 0, 0,184,123,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 48,125,226, 2, 64, 82,226, 2, 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,191,254, 41, 1, 69, 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,
- 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,169, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,120,174, 45, 21, 1, 0, 0, 0, 40,164, 45, 21, 1, 0, 0, 0, 72, 58, 45, 21, 1, 0, 0, 0,
-232, 57, 45, 21, 1, 0, 0, 0, 40, 57, 45, 21, 1, 0, 0, 0,168, 58, 45, 21, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0,200,172, 45, 21, 1, 0, 0, 0,200,172, 45, 21, 1, 0, 0, 0,232,169, 45, 21, 1, 0, 0, 0,
- 88,171, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0,232,169, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 88,171, 45, 21, 1, 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, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0, 48,125,226, 2,196, 0, 0, 0, 1, 0, 0, 0,168,126,226, 2,184,123,226, 2, 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, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0, 88,171, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,232,169, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 68, 65, 84, 65, 24, 1, 0, 0,200,172, 45, 21, 1, 0, 0, 0,166, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,131,254, 41, 1, 36, 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,
- 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,126,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 32,128,226, 2, 48,125,226, 2, 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, 27,254, 41, 1, 80, 0,
+ 20, 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, 40,174, 45, 21, 1, 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,
- 40,174, 45, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0, 56, 82, 53, 4, 1, 0, 0, 0,
- 68, 65, 84, 65,160,178, 0, 0, 56, 82, 53, 4, 1, 0, 0, 0,219, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
-136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,174, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 88, 0, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88, 0, 47, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 3, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 30, 0,255,255, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-232, 6, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 24, 12, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 72, 17, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-120, 22, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-168, 27, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-216, 32, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 8, 38, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-104, 48, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-152, 53, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-200, 58, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-248, 63, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 40, 69, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 88, 74, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-136, 79, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-184, 84, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-232, 89, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 24, 95, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 72,100, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,120,105, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-120,105, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,168,110, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,216,115, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-216,115, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 8,121, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56,126, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-104,131, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,152,136, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-152,136, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,200,141, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-200,141, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,248,146, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
-248,146, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 40,152, 47, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 72,228, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 24,229, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
-168,246, 46, 21, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,168,246, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 21, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 22, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 23, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 24, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 25, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 26, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 27, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 28, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 29, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 30, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 31, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 32, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 33, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 34, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 35, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 36, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 37, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 38, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 39, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 40, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 41, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 42, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 43, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 44, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 45, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 46, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 47, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 48, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 49, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 50, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 51, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 52, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 53, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 54, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 55, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 56, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 57, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 58, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 59, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 60, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 61, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 62, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 63, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 64, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 65, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 66, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 67, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 68, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 69, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 70, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 71, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 72, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 73, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 74, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 75, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 76, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 77, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 78, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 79, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 80, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 81, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 82, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 83, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 84, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 85, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 86, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 87, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 88, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 89, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 90, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 91, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 92, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 93, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 94, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 95, 0, 1, 0, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 96, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 72,139, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,248,236, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-248,236, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 40, 54, 45, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,232,223, 45, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-232,223, 45, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 88, 57, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,200,134, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
- 56,171, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136,244, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,244, 46, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,200,136, 44, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,
-200,136, 44, 21, 1, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 1, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 2, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 3, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 4, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 5, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 6, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 7, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 8, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 9, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 10, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 11, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 12, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 13, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 14, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 15, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 16, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 17, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 18, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 31, 0, 19, 0, 1, 0, 0, 0,
-136,233, 46, 21, 1, 0, 0, 0, 31, 0, 20, 0, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-120,174, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,169, 45, 21, 1, 0, 0, 0,
- 8, 59, 45, 21, 1, 0, 0, 0,200, 56, 45, 21, 1, 0, 0, 0,232, 57, 45, 21, 1, 0, 0, 0,104, 59, 45, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0,232,221, 45, 21, 1, 0, 0, 0,232,221, 45, 21, 1, 0, 0, 0,
- 88,175, 45, 21, 1, 0, 0, 0,216,216, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,175, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,200,176, 45, 21, 1, 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, 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,200,176, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,248,200, 45, 21, 1, 0, 0, 0, 88,175, 45, 21, 1, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,200, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 8,204, 45, 21, 1, 0, 0, 0,200,176, 45, 21, 1, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,204, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,216,216, 45, 21, 1, 0, 0, 0,248,200, 45, 21, 1, 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,216, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,204, 45, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 72,218, 45, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0, 72,218, 45, 21, 1, 0, 0, 0,
-156, 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, 68, 65, 84, 65, 64, 1, 0, 0, 32,128,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168,126,226, 2, 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,223,253, 41, 1, 36, 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, 68, 65, 84, 65,
+216, 0, 0, 0,160,155,226, 2,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, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 80,154,252, 3,255, 21, 0, 0,
+160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,128, 90,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 16, 91,215, 2,
+240, 89,215, 2,216,255,225, 2,168, 2,226, 2,240, 2,226, 2,136, 1,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0,
+ 0, 0, 0, 0, 83, 0, 0, 0, 15, 15, 36, 4, 84, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,107,206, 2,168,156,226, 2,
+168,156,226, 2,184, 34,226, 2,224, 35,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,200, 80, 6, 4, 32,122, 10, 4, 68, 65, 84, 65,
+248, 0, 0, 0,184, 34,226, 2,198, 0, 0, 0, 1, 0, 0, 0,224, 35,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32,140, 68,
+ 0, 0, 0, 0, 0, 0,208, 65,220,123,132, 55, 0,128,132, 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, 35, 4, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0, 96,132, 68, 0, 0,200, 65, 0, 96,132, 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, 36, 4, 26, 0, 36, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 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, 36, 4, 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,224, 52,206, 2, 32, 77, 8, 4, 32, 77, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 24, 54, 6, 4,168, 60, 6, 4,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,224, 35,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+184, 34,226, 2, 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, 35, 4, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 18, 0, 0, 0, 57, 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, 36, 4, 58, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 26, 0, 0, 0, 83, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 4, 58, 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, 80, 52,206, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,152, 61, 6, 4,120, 63, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,188, 0, 0, 0,168,156,226, 2,
+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,128, 63, 32, 33, 12, 66, 85,152,137, 66,
-113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65, 56, 1, 0, 0,232,221, 45, 21, 1, 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, 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, 56,182, 47, 4, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 96, 0, 0, 0, 16, 91,215, 2,197, 0, 0, 0, 1, 0, 0, 0,160, 91,215, 2,128, 90,215, 2,
+ 24, 2,226, 2,208, 1,226, 2, 64, 1,226, 2, 96, 2,226, 2, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 85, 2, 0, 0,
+194, 2, 0, 0, 3, 3,204, 0,110, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0,152,106,206, 2, 88, 39,226, 2, 88, 39,226, 2,
+ 8, 37,226, 2, 48, 38,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,192, 34,220, 3, 0, 34,220, 3, 68, 65, 84, 65,248, 0, 0, 0,
+ 8, 37,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 48, 38,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,244, 67, 0, 0, 0, 0,
+ 0, 0,208, 65, 48, 39, 68, 55, 0, 0, 76, 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,203, 0, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0, 75, 67, 0, 0,200, 65, 0, 0, 75, 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,204, 0, 26, 0,204, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 37, 4, 0, 0,240, 4, 0, 0,169, 2, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+204, 0, 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,
+192, 51,206, 2,216, 56, 8, 4,216, 56, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,240, 63, 6, 4, 88, 65, 6, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 48, 38,226, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8, 37,226, 2,
+ 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 19, 0, 0, 64, 0, 0, 61, 67, 0, 0,185,194, 0, 0,212,193,
+187, 0, 0, 0,204, 0, 0, 0, 18, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,186, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,186, 0, 0, 0, 18, 0, 0, 0, 83, 0, 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, 0, 0, 0, 2, 0, 3, 3, 0, 0, 12, 4, 6, 0,204, 0, 84, 0,187, 0, 66, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 4, 0, 0,240, 4, 0, 0, 85, 2, 0, 0,168, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,204, 0, 84, 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, 48, 51,206, 2,112, 73, 8, 4,112, 73, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0,
+208, 65, 6, 4,192, 66, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,244, 0, 0, 0, 88, 39,226, 2,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, 72,171, 5, 4, 72,171, 5, 4,
+112,237,205, 2, 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, 1, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,
+112,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 42, 11, 0, 0, 42, 11, 0, 0,152,157,226, 2, 68, 65, 84, 65,248,133, 0, 0,
+152,157,226, 2,220, 0, 0, 0, 42, 11, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0, 1, 0, 1, 0,
+144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 30,221, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+144, 1,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,144, 1,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 1,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+144, 1,228, 2, 30, 0,255,255, 1, 0, 0, 0, 80, 99,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,102,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 80,105,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,108,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,143,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80,146,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,149,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 80,152,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,155,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,158,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 80,161,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,164,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,167,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80,170,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,173,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 80,176,229, 2, 30, 0,255,255, 1, 0, 0, 0, 80,179,229, 2, 30, 0,255,255, 1, 0, 0, 0,104,182,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0,112,185,229, 2, 30, 0,255,255, 1, 0, 0, 0,120,188,229, 2, 30, 0,255,255, 1, 0, 0, 0,128,191,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0,136,194,229, 2, 30, 0,255,255, 1, 0, 0, 0,144,197,229, 2, 30, 0,255,255, 1, 0, 0, 0,
+152,200,229, 2, 30, 0,255,255, 1, 0, 0, 0,160,203,229, 2, 30, 0,255,255, 1, 0, 0, 0,168,206,229, 2, 30, 0,255,255,
+ 1, 0, 0, 0,176,209,229, 2, 30, 0,255,255, 1, 0, 0, 0,184,212,229, 2, 30, 0,255,255, 1, 0, 0, 0,192,215,229, 2,
+ 30, 0,255,255, 1, 0, 0, 0,200,218,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 4, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 7, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 12, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 15, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 20, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 23, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 28, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 31, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 36, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 39, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 44, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 47, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 52, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 55, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 60, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80, 99,229, 2,
+ 31, 0, 63, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,
+ 80, 99,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 68, 0,
+ 1, 0, 0, 0, 80, 99,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80, 99,229, 2, 30, 0,255,255, 1, 0, 0, 0,184, 8,228, 2,
+ 30, 0,255,255, 1, 0, 0, 0, 80, 9,228, 2, 30, 0,255,255, 1, 0, 0, 0, 32, 26,228, 2, 30, 0,255,255, 1, 0, 0, 0,
+144, 30,221, 2, 30, 0,255,255, 3, 0, 0, 0,144, 12,228, 2, 30, 0,255,255, 1, 0, 0, 0,240, 16,228, 2, 30, 0,255,255,
+ 1, 0, 0, 0,192, 21,228, 2, 30, 0,255,255, 1, 0, 0, 0, 40,249,213, 2, 30, 0,255,255, 1, 0, 0, 0,240,249,213, 2,
+ 30, 0,255,255, 1, 0, 0, 0,184,250,213, 2, 30, 0,255,255, 1, 0, 0, 0,128,251,213, 2, 30, 0,255,255, 1, 0, 0, 0,
+ 72,252,213, 2, 30, 0,255,255, 1, 0, 0, 0, 16,253,213, 2, 30, 0,255,255, 1, 0, 0, 0,216,253,213, 2, 30, 0,255,255,
+ 1, 0, 0, 0, 8, 97,223, 2, 30, 0,255,255, 1, 0, 0, 0, 64,192,225, 2, 30, 0,255,255, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,102,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,102,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,102,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,102,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,105,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,105,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,105,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,108,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,108,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,108,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,108,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,143,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,143,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,143,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,143,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,146,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,146,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,146,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,149,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,149,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,149,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,149,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,152,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,152,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,152,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,155,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,155,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,155,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,155,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,158,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,158,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,158,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,158,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,161,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,161,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,161,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,164,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,164,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,164,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,164,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,167,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,167,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,167,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,167,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,170,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+ 80,170,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,170,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 38, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 46, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 54, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 62, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0, 80,173,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,173,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+ 80,173,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,173,229, 2, 31, 0, 0, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 8, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 16, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 24, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 32, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 35, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 40, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 43, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 48, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 51, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 56, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 59, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+ 80,176,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 64, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0, 80,176,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 67, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,176,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 2, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 5, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 10, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 13, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 18, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 21, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 26, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 29, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 31, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 33, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 34, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 36, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 37, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 39, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 41, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 42, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 44, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 45, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 47, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 49, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 50, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 52, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 53, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 55, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 57, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 58, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 60, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 61, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 63, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+ 80,179,229, 2, 31, 0, 65, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 66, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0, 80,179,229, 2, 31, 0, 68, 0, 1, 0, 0, 0, 80,179,229, 2, 31, 0, 69, 0, 1, 0, 0, 0, 80,179,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,104,182,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+104,182,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,104,182,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,104,182,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,112,185,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,112,185,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+112,185,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,112,185,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+120,188,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,120,188,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,120,188,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,120,188,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+128,191,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,128,191,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,128,191,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,128,191,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,136,194,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+136,194,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,136,194,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,136,194,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,144,197,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,144,197,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+144,197,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,144,197,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+152,200,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,152,200,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,152,200,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,152,200,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+160,203,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,160,203,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,160,203,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,160,203,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,168,206,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+168,206,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,168,206,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,168,206,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 26, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 31, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 34, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 39, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 42, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 47, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 50, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 55, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 58, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 63, 0,
+ 1, 0, 0, 0,176,209,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,176,209,229, 2,
+ 31, 0, 66, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,
+176,209,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,176,209,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 12, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 17, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 20, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 25, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 28, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 33, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 36, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 41, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 44, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 49, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 52, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 57, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 60, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,
+184,212,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 65, 0,
+ 1, 0, 0, 0,184,212,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,184,212,229, 2,
+ 31, 0, 68, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,184,212,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 5, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 11, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 13, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 14, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 16, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 19, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 21, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 22, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 24, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 27, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 29, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 30, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 32, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 35, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 37, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 38, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 40, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 43, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 45, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 46, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 48, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 51, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 53, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 54, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 56, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 59, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 61, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 62, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 64, 0, 1, 0, 0, 0,
+192,215,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 67, 0,
+ 1, 0, 0, 0,192,215,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,192,215,229, 2, 31, 0, 69, 0, 1, 0, 0, 0,192,215,229, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 1, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 3, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 4, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 6, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 7, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 9, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 11, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 12, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 14, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 15, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 17, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 19, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 20, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 22, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 23, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 25, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 27, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 28, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 30, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 31, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 33, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 35, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 36, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 38, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 39, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 41, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 43, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 44, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 46, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 47, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 49, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 51, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 52, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 54, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 55, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 57, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 59, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 60, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 62, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 63, 0, 1, 0, 0, 0,200,218,229, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 65, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+200,218,229, 2, 31, 0, 67, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 68, 0, 1, 0, 0, 0,200,218,229, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,200,218,229, 2, 31, 0, 0, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+184, 8,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 23, 0,
+ 1, 0, 0, 0,184, 8,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,184, 8,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,184, 8,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 1, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 3, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 4, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 6, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 7, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 9, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 11, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 12, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 14, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 15, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 17, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 19, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 20, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 22, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 23, 0, 1, 0, 0, 0, 80, 9,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 25, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+ 80, 9,228, 2, 31, 0, 27, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 28, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 30, 0, 1, 0, 0, 0, 80, 9,228, 2, 31, 0, 0, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 1, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 2, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 4, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 5, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 6, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 7, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 8, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 9, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 10, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 12, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 13, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 14, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 15, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 16, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 17, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 18, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 20, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 21, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 22, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 23, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 24, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 25, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 26, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 28, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 29, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 30, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 31, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 32, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 33, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 34, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 36, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 37, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 38, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 39, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 40, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 41, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 42, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 44, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 45, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 46, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 47, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 48, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 49, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 50, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 52, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 53, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 54, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 55, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 56, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 57, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 58, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 60, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 61, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 62, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 63, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 64, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 65, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 66, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 68, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 69, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 70, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 71, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 72, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 73, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 74, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 76, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 77, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 78, 0,
+ 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 79, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 80, 0, 1, 0, 0, 0, 32, 26,228, 2,
+ 31, 0, 81, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 82, 0, 1, 0, 0, 0, 32, 26,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 1, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 2, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 3, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 5, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 6, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 7, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 8, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 9, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 10, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 11, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 13, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 14, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 15, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 16, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 17, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 18, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 19, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 21, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 22, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 23, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 24, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 25, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 26, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 27, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 29, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 30, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 31, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 32, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 33, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 34, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 35, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 37, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 38, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 39, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 40, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 41, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 42, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 43, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 30,221, 2,
+ 31, 0, 45, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 46, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 47, 0, 1, 0, 0, 0,
+144, 30,221, 2, 31, 0, 48, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 49, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 50, 0,
+ 1, 0, 0, 0,144, 30,221, 2, 31, 0, 51, 0, 1, 0, 0, 0,144, 30,221, 2, 31, 0, 0, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 1, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 6, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 9, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 14, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 17, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 22, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 25, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 30, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 33, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 38, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 41, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 45, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 46, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 48, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 49, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 52, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 53, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 54, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 55, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 56, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 57, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 60, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 61, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 62, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 63, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 64, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 65, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 68, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 69, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 70, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 71, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 72, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 73, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 76, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 77, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 78, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 79, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 80, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 81, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 84, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 85, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 86, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 87, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 88, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 89, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,
+144, 12,228, 2, 31, 0, 92, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 93, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 94, 0,
+ 1, 0, 0, 0,144, 12,228, 2, 31, 0, 95, 0, 1, 0, 0, 0,144, 12,228, 2, 31, 0, 96, 0, 1, 0, 0, 0,144, 12,228, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 7, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 15, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 21, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 23, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 24, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 28, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 29, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 31, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 32, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 36, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 37, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 39, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 40, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 44, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 45, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 47, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 48, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 49, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 52, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 53, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 54, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 55, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 56, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 57, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 60, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 61, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 62, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 63, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 64, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 65, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 68, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 69, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 70, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 71, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 72, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 73, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 76, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 77, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 78, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 79, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 80, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 81, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 84, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 85, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 86, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 87, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 88, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 89, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,
+240, 16,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 92, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 93, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 31, 0, 94, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 95, 0, 1, 0, 0, 0,240, 16,228, 2,
+ 31, 0, 96, 0, 1, 0, 0, 0,240, 16,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 2, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 4, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 7, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 10, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 12, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 15, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 18, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 20, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 21, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 22, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 23, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 24, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 25, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 26, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 27, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 28, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 29, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 30, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 31, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 32, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 33, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 34, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 35, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 36, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 37, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 38, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 39, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 40, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 41, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 42, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 43, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 44, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 45, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 46, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 47, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 48, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 49, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 50, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 51, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 52, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 53, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 54, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 55, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 56, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 57, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 58, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 59, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 60, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 61, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 62, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 63, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 64, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 65, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 66, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 67, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 68, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 69, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 70, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 71, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 72, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 73, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 74, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 75, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 76, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 77, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 78, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 79, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 80, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 81, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 82, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 83, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 84, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 85, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 86, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 87, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 88, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 89, 0, 1, 0, 0, 0,
+192, 21,228, 2, 31, 0, 90, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 91, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 92, 0,
+ 1, 0, 0, 0,192, 21,228, 2, 31, 0, 93, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 94, 0, 1, 0, 0, 0,192, 21,228, 2,
+ 31, 0, 95, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 96, 0, 1, 0, 0, 0,192, 21,228, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 40,249,213, 2, 31, 0, 1, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 40,249,213, 2, 31, 0, 4, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 40,249,213, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 40,249,213, 2, 31, 0, 9, 0, 1, 0, 0, 0, 40,249,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0,240,249,213, 2, 31, 0, 2, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,240,249,213, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+240,249,213, 2, 31, 0, 7, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,240,249,213, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0,240,249,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,184,250,213, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+184,250,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,184,250,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,184,250,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,184,250,213, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+128,251,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0,128,251,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 7, 0, 1, 0, 0, 0,128,251,213, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,128,251,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,
+ 72,252,213, 2, 31, 0, 1, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 3, 0,
+ 1, 0, 0, 0, 72,252,213, 2, 31, 0, 4, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 72,252,213, 2,
+ 31, 0, 6, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,
+ 72,252,213, 2, 31, 0, 9, 0, 1, 0, 0, 0, 72,252,213, 2, 31, 0, 0, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 1, 0,
+ 1, 0, 0, 0, 16,253,213, 2, 31, 0, 2, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 3, 0, 1, 0, 0, 0, 16,253,213, 2,
+ 31, 0, 4, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 5, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,
+ 16,253,213, 2, 31, 0, 7, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 8, 0, 1, 0, 0, 0, 16,253,213, 2, 31, 0, 9, 0,
+ 1, 0, 0, 0, 16,253,213, 2, 31, 0, 0, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 1, 0, 1, 0, 0, 0,216,253,213, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 3, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+216,253,213, 2, 31, 0, 5, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 6, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,216,253,213, 2, 31, 0, 8, 0, 1, 0, 0, 0,216,253,213, 2, 31, 0, 9, 0, 1, 0, 0, 0,216,253,213, 2,
+ 31, 0, 0, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 1, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 2, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 3, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 4, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 5, 0,
+ 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 6, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 7, 0, 1, 0, 0, 0, 8, 97,223, 2,
+ 31, 0, 8, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 9, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 10, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 11, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 12, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 13, 0,
+ 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 14, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 15, 0, 1, 0, 0, 0, 8, 97,223, 2,
+ 31, 0, 16, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 17, 0, 1, 0, 0, 0, 8, 97,223, 2, 31, 0, 18, 0, 1, 0, 0, 0,
+ 8, 97,223, 2, 31, 0, 0, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 1, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 2, 0,
+ 1, 0, 0, 0, 64,192,225, 2, 31, 0, 3, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 4, 0, 1, 0, 0, 0, 64,192,225, 2,
+ 31, 0, 5, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 6, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 7, 0, 1, 0, 0, 0,
+ 64,192,225, 2, 31, 0, 8, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 9, 0, 1, 0, 0, 0, 64,192,225, 2, 31, 0, 10, 0,
+ 1, 0, 0, 0, 64,192,225, 2, 31, 0, 0, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 1, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 2, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 3, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 4, 0, 1, 0, 0, 0,
+240, 10,228, 2, 31, 0, 5, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 6, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 7, 0,
+ 1, 0, 0, 0,240, 10,228, 2, 31, 0, 8, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 9, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 10, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 11, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 12, 0, 1, 0, 0, 0,
+240, 10,228, 2, 31, 0, 13, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 14, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 15, 0,
+ 1, 0, 0, 0,240, 10,228, 2, 31, 0, 16, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 17, 0, 1, 0, 0, 0,240, 10,228, 2,
+ 31, 0, 18, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 19, 0, 1, 0, 0, 0,240, 10,228, 2, 31, 0, 20, 0, 1, 0, 0, 0,
+240, 10,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,160, 91,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16, 91,215, 2,
+168, 2,226, 2,248, 0,226, 2,208, 1,226, 2,240, 2,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 35, 4, 0, 0, 85, 0, 0, 0,
+194, 2, 0, 0, 1, 1, 36, 4,110, 2, 1, 0, 0, 0, 0, 0, 0, 0, 8, 0, 24,108,206, 2, 40, 38,227, 2, 40, 38,227, 2,
+128, 40,226, 2, 0, 37,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,220, 3, 32, 35,220, 3, 68, 65, 84, 65,248, 0, 0, 0,
+128, 40,226, 2,198, 0, 0, 0, 1, 0, 0, 0,168, 41,226, 2, 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,132, 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, 35, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 96,132, 68, 0, 0,200, 65, 0, 96,132, 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, 36, 4, 26, 0, 36, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 35, 4, 0, 0, 85, 0, 0, 0,110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 36, 4, 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,
+176, 55,206, 2,136, 60, 8, 4,136, 60, 8, 4, 0, 0, 0, 0, 0, 0, 0, 0, 56, 67, 6, 4,176,227, 6, 4, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,168, 41,226, 2,198, 0, 0, 0, 1, 0, 0, 0,208, 42,226, 2,128, 40,226, 2,
+ 0, 0, 0, 0, 0, 0, 32, 67, 0,192, 6,196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 67, 0, 0,190,195, 0, 0, 0, 0,
+143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,123, 1, 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,123, 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,160, 0,124, 1,143, 0,124, 1, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,159, 0, 0, 0, 71, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0,124, 1, 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,144, 54,206, 2,120,129, 4, 4,120,129, 4, 4,152,129,226, 2,152,129,226, 2,
+ 56,227, 6, 4,208,225, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,152,129,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,176, 43,221, 3, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,208, 42,226, 2,198, 0, 0, 0, 1, 0, 0, 0,216, 35,227, 2,168, 41,226, 2,
+ 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,159, 0, 0, 0,111, 0, 0, 0, 70, 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, 32, 55,206, 2, 80,131, 4, 4, 80,131, 4, 4, 16,131,226, 2, 16,131,226, 2,
+ 88,225, 6, 4,240,223, 6, 4, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 16,131,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,112,206, 2, 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, 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, 68, 65, 84, 65,248, 0, 0, 0,216, 35,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 37,227, 2,208, 42,226, 2,
+ 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, 35, 4, 0, 0, 35, 4, 0, 0,111, 0, 0, 0,194, 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, 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, 0, 54,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 0, 37,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,216, 35,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 0, 0, 35, 4, 0, 0,
+111, 0, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,132, 3, 84, 2, 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,112, 53,206, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96,217, 6, 4,232,216, 6, 4, 0, 0, 0, 0,192, 67,227, 2, 68, 65, 84, 65,
+ 68, 3, 0, 0,192, 67,227, 2,156, 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,206,104,211, 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, 67,221, 41,191,116,169, 81,191,184,158, 81,191,
+117, 90,127, 63,162,192,163, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,138, 56,189, 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, 39,240,191, 62,124,116, 85, 63, 80,189, 70,188, 0, 0,185,180,
+100, 19,121,190, 40, 29,240, 61,236,186, 10, 63, 0, 0,208, 51,197,112,117,194,178,208,216, 65,221,158, 5,194,231,251,159,192,
+221, 54,114, 66, 29,247,213,193, 59,221, 3, 66, 25, 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, 67,221, 41,191,116,169, 81,191,184,158, 81,191,
+117, 90,127, 63,162,192,163, 62,158, 53,185, 62, 35, 44,185, 62,145,180,109,188,138, 56,189, 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, 47, 45, 18, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 47, 45, 18, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 45, 18, 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,
+ 33,210,111, 65, 33,210,111, 65, 0, 0, 0, 0, 0, 0, 0, 0, 11, 39, 5, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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,128, 63, 30, 33, 12, 66, 86,152,137, 66,113, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0, 40, 38,227, 2,
+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, 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,144, 12,228, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 24, 0, 0, 0, 0, 12, 66,
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, 0, 0, 16, 0, 10, 0, 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, 83, 78, 0, 0,148, 0, 0, 0,
+128,251,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 72,252,213, 2,184,250,213, 2, 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,
+ 72, 8,226, 2,240, 11,226, 2, 56, 12,226, 2,168, 76,227, 2, 48, 92,215, 2, 0, 95,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 1,228, 2, 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,
+ 68, 65, 84, 65, 20, 0, 0, 0, 72, 8,226, 2,194, 0, 0, 0, 1, 0, 0, 0,144, 8,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,144, 8,226, 2,194, 0, 0, 0, 1, 0, 0, 0,216, 8,226, 2,
+ 72, 8,226, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,216, 8,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 32, 9,226, 2,144, 8,226, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 32, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,104, 9,226, 2,216, 8,226, 2, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,104, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,176, 9,226, 2, 32, 9,226, 2, 0, 0, 0, 0,
+ 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,176, 9,226, 2,194, 0, 0, 0, 1, 0, 0, 0,248, 9,226, 2,
+104, 9,226, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,248, 9,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 64, 10,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 64, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0,136, 10,226, 2,248, 9,226, 2, 0, 0, 0, 0, 32, 6,140, 1, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,136, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0,208, 10,226, 2, 64, 10,226, 2, 0, 0, 0, 0,
+ 32, 6, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,208, 10,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 24, 11,226, 2,
+136, 10,226, 2, 0, 0, 0, 0,126, 7,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 24, 11,226, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 96, 11,226, 2,208, 10,226, 2, 0, 0, 0, 0, 64, 5,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 96, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0,168, 11,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 64, 5,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,168, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0,240, 11,226, 2, 96, 11,226, 2, 0, 0, 0, 0,
+ 68, 1,140, 1, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,240, 11,226, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168, 11,226, 2, 0, 0, 0, 0, 68, 1,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 12,226, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 80, 71,227, 2, 0, 0, 0, 0,144, 8,226, 2,216, 8,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 80, 71,227, 2,195, 0, 0, 0, 1, 0, 0, 0,152, 71,227, 2, 56, 12,226, 2,144, 8,226, 2,104, 9,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152, 71,227, 2,195, 0, 0, 0, 1, 0, 0, 0,224, 71,227, 2,
+ 80, 71,227, 2,216, 8,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 71,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 40, 72,227, 2,152, 71,227, 2,104, 9,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 40, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112, 72,227, 2,224, 71,227, 2,104, 9,226, 2,
+248, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+184, 72,227, 2, 40, 72,227, 2,248, 9,226, 2, 64, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+184, 72,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 73,227, 2,112, 72,227, 2, 32, 9,226, 2,136, 10,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 72, 73,227, 2,184, 72,227, 2,
+ 64, 10,226, 2,136, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72, 73,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,144, 73,227, 2, 0, 73,227, 2, 72, 8,226, 2,248, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,144, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216, 73,227, 2, 72, 73,227, 2, 72, 8,226, 2,136, 10,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216, 73,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32, 74,227, 2,
+144, 73,227, 2,176, 9,226, 2,208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32, 74,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,104, 74,227, 2,216, 73,227, 2, 32, 9,226, 2,208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,104, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176, 74,227, 2, 32, 74,227, 2, 64, 10,226, 2,
+208, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+248, 74,227, 2,104, 74,227, 2, 24, 11,226, 2, 96, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+248, 74,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 64, 75,227, 2,176, 74,227, 2,176, 9,226, 2, 96, 11,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64, 75,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136, 75,227, 2,248, 74,227, 2,
+208, 10,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 75,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,208, 75,227, 2, 64, 75,227, 2,248, 9,226, 2,168, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,208, 75,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 24, 76,227, 2,136, 75,227, 2, 24, 11,226, 2,168, 11,226, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24, 76,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 96, 76,227, 2,
+208, 75,227, 2,104, 9,226, 2,240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96, 76,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,168, 76,227, 2, 24, 76,227, 2, 96, 11,226, 2,240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,168, 76,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96, 76,227, 2,168, 11,226, 2,
+240, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 48, 92,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+192, 92,215, 2, 0, 0, 0, 0,104, 9,226, 2,144, 8,226, 2,216, 8,226, 2,176, 9,226, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
+248,233,220, 2,248,233,220, 2, 80, 39,227, 2,120, 40,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 80, 39,227, 2,198, 0, 0, 0, 1, 0, 0, 0,120, 40,227, 2, 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,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,126, 7, 0, 0,235, 3, 0, 0, 4, 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, 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, 68, 65, 84, 65,248, 0, 0, 0,120, 40,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 80, 39,227, 2, 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, 5, 4, 0, 0,
+ 5, 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, 68, 65, 84, 65, 96, 0, 0, 0,
+192, 92,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 80, 93,215, 2, 48, 92,215, 2,136, 10,226, 2, 64, 10,226, 2,208, 10,226, 2,
+ 32, 9,226, 2, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,139, 1, 0, 0, 4, 4, 94, 1,140, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 87,227, 2, 56, 87,227, 2,160, 41,227, 2,200, 42,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,160, 41,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+200, 42,227, 2, 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,175, 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, 93, 1, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,128,174, 67, 0, 0,200, 65,
+ 0,128,174, 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, 94, 1,
+ 26, 0, 94, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 6, 0, 0,126, 7, 0, 0,114, 1, 0, 0,
+139, 1, 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, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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,
-232,223, 45, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0, 40, 54, 45, 21, 1, 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, 8,225, 45, 21, 1, 0, 0, 0,
-232,229, 45, 21, 1, 0, 0, 0, 72,230, 45, 21, 1, 0, 0, 0, 8,239, 45, 21, 1, 0, 0, 0,120,239, 45, 21, 1, 0, 0, 0,
- 72, 50, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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, 8,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-104,225, 45, 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,
- 68, 65, 84, 65, 32, 0, 0, 0,104,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 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,
-200,225, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,226, 45, 21, 1, 0, 0, 0,104,225, 45, 21, 1, 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, 40,226, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 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,136,226, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0, 40,226, 45, 21, 1, 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,226, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 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,
- 72,227, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 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,168,227, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 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, 8,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-104,228, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 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,104,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0,
- 8,228, 45, 21, 1, 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,
-200,228, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 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, 40,229, 45, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 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,136,229, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-232,229, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 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,232,229, 45, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,229, 45, 21, 1, 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,
- 72,230, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,230, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-104,225, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,230, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,231, 45, 21, 1, 0, 0, 0, 72,230, 45, 21, 1, 0, 0, 0,
-104,225, 45, 21, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,231, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,231, 45, 21, 1, 0, 0, 0,184,230, 45, 21, 1, 0, 0, 0,
-200,225, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,231, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,232, 45, 21, 1, 0, 0, 0, 40,231, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,232, 45, 21, 1, 0, 0, 0,152,231, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-120,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,232, 45, 21, 1, 0, 0, 0, 8,232, 45, 21, 1, 0, 0, 0,
- 72,227, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-232,232, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,233, 45, 21, 1, 0, 0, 0,120,232, 45, 21, 1, 0, 0, 0,
- 40,226, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 88,233, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,233, 45, 21, 1, 0, 0, 0,232,232, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-200,233, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,234, 45, 21, 1, 0, 0, 0, 88,233, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 56,234, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,234, 45, 21, 1, 0, 0, 0,200,233, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-168,234, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,235, 45, 21, 1, 0, 0, 0, 56,234, 45, 21, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 24,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,235, 45, 21, 1, 0, 0, 0,168,234, 45, 21, 1, 0, 0, 0,
- 40,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-136,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,235, 45, 21, 1, 0, 0, 0, 24,235, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-248,235, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,236, 45, 21, 1, 0, 0, 0,136,235, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-104,236, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,236, 45, 21, 1, 0, 0, 0,248,235, 45, 21, 1, 0, 0, 0,
-232,226, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-216,236, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,237, 45, 21, 1, 0, 0, 0,104,236, 45, 21, 1, 0, 0, 0,
-104,228, 45, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 72,237, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,237, 45, 21, 1, 0, 0, 0,216,236, 45, 21, 1, 0, 0, 0,
- 72,227, 45, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-184,237, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,238, 45, 21, 1, 0, 0, 0, 72,237, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 40,238, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,238, 45, 21, 1, 0, 0, 0,184,237, 45, 21, 1, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
-152,238, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,239, 45, 21, 1, 0, 0, 0, 40,238, 45, 21, 1, 0, 0, 0,
- 40,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,
- 8,239, 45, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,238, 45, 21, 1, 0, 0, 0,
-136,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,
-120,239, 45, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 56,243, 45, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-136,226, 45, 21, 1, 0, 0, 0,104,225, 45, 21, 1, 0, 0, 0,200,225, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 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,216, 56, 46, 21, 1, 0, 0, 0,216, 56, 46, 21, 1, 0, 0, 0,
- 88,240, 45, 21, 1, 0, 0, 0,200,241, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,240, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0,200,241, 45, 21, 1, 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,200,241, 45, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,240, 45, 21, 1, 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, 56,243, 45, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,184, 11, 46, 21, 1, 0, 0, 0,120,239, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 0, 0, 0,
-168,227, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 0, 0, 0, 40,226, 45, 21, 1, 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,120, 10, 46, 21, 1, 0, 0, 0,120, 10, 46, 21, 1, 0, 0, 0, 24,244, 45, 21, 1, 0, 0, 0,
-136,245, 45, 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, 68, 65, 84, 65, 40, 1, 0, 0, 24,244, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-136,245, 45, 21, 1, 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,136,245, 45, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 24,244, 45, 21, 1, 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, 68, 65, 84, 65,248, 0, 0, 0,
+200, 42,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,160, 41,227, 2, 0, 0, 0, 0, 0,128,174, 67, 0, 0, 61,196,
+ 0, 0, 0, 0, 0, 0, 0, 0,255,127,166, 67,255,255,184,195, 0, 0, 0, 0, 77, 1, 0, 0, 94, 1, 0, 0, 0, 0, 0, 0,
+113, 1, 0, 0, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 0, 0,
+113, 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, 94, 1,114, 1, 77, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 33, 6, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,113, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 94, 1,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,226, 2,176,148,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,136,132,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0,134,226, 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, 68, 65, 84, 65,248, 0, 0, 0,120, 10, 46, 21, 1, 0, 0, 0,162, 0, 0, 0, 1, 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,
- 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,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, 68, 65, 84, 65, 64, 1, 0, 0,
+ 0,134,226, 2,196, 0, 0, 0, 1, 0, 0, 0,120,135,226, 2,136,132,226, 2, 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, 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,
-184, 11, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 24, 19, 46, 21, 1, 0, 0, 0, 56,243, 45, 21, 1, 0, 0, 0,
- 8,225, 45, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,168,227, 45, 21, 1, 0, 0, 0, 8,228, 45, 21, 1, 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,136, 18, 46, 21, 1, 0, 0, 0,136, 18, 46, 21, 1, 0, 0, 0,
-152, 12, 46, 21, 1, 0, 0, 0, 24, 17, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,152, 12, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 8, 14, 46, 21, 1, 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, 8, 14, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 24, 17, 46, 21, 1, 0, 0, 0,152, 12, 46, 21, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 17, 46, 21, 1, 0, 0, 0,
-198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 14, 46, 21, 1, 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,136, 18, 46, 21, 1, 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, 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, 24, 19, 46, 21, 1, 0, 0, 0,
-197, 0, 0, 0, 1, 0, 0, 0,184, 25, 46, 21, 1, 0, 0, 0,184, 11, 46, 21, 1, 0, 0, 0,200,228, 45, 21, 1, 0, 0, 0,
- 40,229, 45, 21, 1, 0, 0, 0,232,226, 45, 21, 1, 0, 0, 0,104,228, 45, 21, 1, 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,216, 22, 46, 21, 1, 0, 0, 0,216, 22, 46, 21, 1, 0, 0, 0,248, 19, 46, 21, 1, 0, 0, 0,
-104, 21, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,248, 19, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
-104, 21, 46, 21, 1, 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,104, 21, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,248, 19, 46, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,120,135,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+240,136,226, 2, 0,134,226, 2, 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, 68, 65, 84, 65,160, 2, 0, 0,216, 22, 46, 21, 1, 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, 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,
- 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,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,
+ 68, 65, 84, 65, 64, 1, 0, 0,240,136,226, 2,196, 0, 0, 0, 1, 0, 0, 0,104,138,226, 2,120,135,226, 2, 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, 68, 65, 84, 65, 64, 1, 0, 0,104,138,226, 2,
+196, 0, 0, 0, 1, 0, 0, 0,224,139,226, 2,240,136,226, 2, 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, 68, 65, 84, 65, 64, 1, 0, 0,224,139,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 88,141,226, 2,
+104,138,226, 2, 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, 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, 68, 65, 84, 65,
+ 64, 1, 0, 0, 88,141,226, 2,196, 0, 0, 0, 1, 0, 0, 0,208,142,226, 2,224,139,226, 2, 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, 10,254, 76, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,208,142,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 72,144,226, 2, 88,141,226, 2, 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,253, 76, 1, 0, 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,
- 68, 65, 84, 65,160, 0, 0, 0,184, 25, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72, 50, 46, 21, 1, 0, 0, 0,
- 24, 19, 46, 21, 1, 0, 0, 0,136,229, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0, 40,229, 45, 21, 1, 0, 0, 0,
-200,228, 45, 21, 1, 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, 48, 46, 21, 1, 0, 0, 0,
-200, 48, 46, 21, 1, 0, 0, 0,152, 26, 46, 21, 1, 0, 0, 0,184, 43, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-152, 26, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8, 28, 46, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 72,144,226, 2,196, 0, 0, 0, 1, 0, 0, 0,192,145,226, 2,208,142,226, 2,
+ 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,253, 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, 68, 65, 84, 65, 40, 1, 0, 0,
- 8, 28, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120, 29, 46, 21, 1, 0, 0, 0,152, 26, 46, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+192,145,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 56,147,226, 2, 72,144,226, 2, 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,253,
+ 76, 1, 0, 0, 20, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-120, 29, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,232, 30, 46, 21, 1, 0, 0, 0, 8, 28, 46, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 56,147,226, 2,196, 0, 0, 0, 1, 0, 0, 0,
+176,148,226, 2,192,145,226, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-232, 30, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184, 43, 46, 21, 1, 0, 0, 0,120, 29, 46, 21, 1, 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, 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, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,
-184, 43, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 30, 46, 21, 1, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,253, 76, 1,130, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0,176,148,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 56,147,226, 2, 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, 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, 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, 16,253, 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, 40, 45, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,
- 40, 45, 46, 21, 1, 0, 0, 0,156, 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, 68, 65, 84, 65,216, 0, 0, 0, 56, 87,227, 2,
+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, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 96, 0, 0, 0, 80, 93,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224, 93,215, 2,192, 92,215, 2, 72, 8,226, 2,
+248, 9,226, 2, 64, 10,226, 2,136, 10,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 31, 6, 0, 0, 0, 0, 0, 0,139, 1, 0, 0,
+ 17, 17, 32, 6,140, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,255,220, 2, 40,255,220, 2,240, 43,227, 2,
+ 64, 46,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,240, 43,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 24, 45,227, 2, 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,224,195, 68, 0, 0,200, 65, 0,224,195, 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, 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,
+ 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, 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, 56, 1, 0, 0,200, 48, 46, 21, 1, 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, 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,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 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, 24, 45,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 64, 46,227, 2,240, 43,227, 2, 0, 0, 0, 0,
+ 0, 0, 92, 67, 0, 0,185,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67, 0, 0,185,195, 0, 0, 0, 0,203, 0, 0, 0,
+220, 0, 0, 0, 0, 0, 0, 0,113, 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,113, 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,114, 1,203, 0,114, 1, 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,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,220, 0,114, 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, 40,150,226, 2, 40,150,226, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 40,150,226, 2,196, 0, 0, 0, 1, 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, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0,
- 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 72, 50, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-184, 25, 46, 21, 1, 0, 0, 0, 72,227, 45, 21, 1, 0, 0, 0,136,226, 45, 21, 1, 0, 0, 0,232,229, 45, 21, 1, 0, 0, 0,
-136,229, 45, 21, 1, 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, 8, 54, 46, 21, 1, 0, 0, 0,
- 8, 54, 46, 21, 1, 0, 0, 0, 40, 51, 46, 21, 1, 0, 0, 0,152, 52, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,
- 40, 51, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152, 52, 46, 21, 1, 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,
-152, 52, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 51, 46, 21, 1, 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,
- 8, 54, 46, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 55, 46, 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, 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0,104, 55, 46, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0,
- 14, 0, 0, 0, 14, 0, 0, 0,184, 55, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,184, 55, 46, 21, 1, 0, 0, 0,
-219, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 40, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 88,239, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
- 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0,
- 56,174, 47, 4, 1, 0, 0, 0, 83, 78, 0, 0,216, 0, 0, 0, 88, 57, 46, 21, 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0,
-200,134, 46, 21, 1, 0, 0, 0,232,223, 45, 21, 1, 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,120, 58, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,184, 63, 46, 21, 1, 0, 0, 0,
-232, 72, 46, 21, 1, 0, 0, 0, 88, 73, 46, 21, 1, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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,
-120, 58, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 58, 46, 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, 68, 65, 84, 65, 32, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 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, 56, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-152, 59, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 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,152, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,
- 56, 59, 46, 21, 1, 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,
-248, 59, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 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, 88, 60, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 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,184, 60, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
- 24, 61, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 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, 24, 61, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
-184, 60, 46, 21, 1, 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,
-120, 61, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 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,216, 61, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 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, 56, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,
-152, 62, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 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,152, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 56, 62, 46, 21, 1, 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,
-248, 62, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 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, 88, 63, 46, 21, 1, 0, 0, 0,
-194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 62, 46, 21, 1, 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,184, 63, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 64, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 64, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 64, 46, 21, 1, 0, 0, 0,184, 63, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 64, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 65, 46, 21, 1, 0, 0, 0, 40, 64, 46, 21, 1, 0, 0, 0, 56, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 65, 46, 21, 1, 0, 0, 0,152, 64, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 65, 46, 21, 1, 0, 0, 0, 8, 65, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 65, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 88, 66, 46, 21, 1, 0, 0, 0,120, 65, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88, 66, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-200, 66, 46, 21, 1, 0, 0, 0,232, 65, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200, 66, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 56, 67, 46, 21, 1, 0, 0, 0, 88, 66, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56, 67, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-168, 67, 46, 21, 1, 0, 0, 0,200, 66, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168, 67, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 24, 68, 46, 21, 1, 0, 0, 0, 56, 67, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-136, 68, 46, 21, 1, 0, 0, 0,168, 67, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-248, 68, 46, 21, 1, 0, 0, 0, 24, 68, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248, 68, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-104, 69, 46, 21, 1, 0, 0, 0,136, 68, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104, 69, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-216, 69, 46, 21, 1, 0, 0, 0,248, 68, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216, 69, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 72, 70, 46, 21, 1, 0, 0, 0,104, 69, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72, 70, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-184, 70, 46, 21, 1, 0, 0, 0,216, 69, 46, 21, 1, 0, 0, 0,152, 59, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184, 70, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 40, 71, 46, 21, 1, 0, 0, 0, 72, 70, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40, 71, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-152, 71, 46, 21, 1, 0, 0, 0,184, 70, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152, 71, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 8, 72, 46, 21, 1, 0, 0, 0, 40, 71, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-120, 72, 46, 21, 1, 0, 0, 0,152, 71, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
-232, 72, 46, 21, 1, 0, 0, 0, 8, 72, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232, 72, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0,120, 72, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0, 88, 73, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24, 77, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0,216, 58, 46, 21, 1, 0, 0, 0,
- 56, 59, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 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,
- 72,134, 46, 21, 1, 0, 0, 0, 72,134, 46, 21, 1, 0, 0, 0, 56, 74, 46, 21, 1, 0, 0, 0,168, 75, 46, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 56, 74, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168, 75, 46, 21, 1, 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,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,
- 68, 65, 84, 65, 40, 1, 0, 0,168, 75, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 56, 74, 46, 21, 1, 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,
+ 68, 65, 84, 65,248, 0, 0, 0, 64, 46,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 24, 45,227, 2, 0, 0, 0, 0,
+ 0, 0,160, 68, 0, 0, 0, 0, 0, 0,112, 67, 0, 80, 31,195, 0,234,179, 68,224,198,182,194,184,177,165, 67, 51, 5, 0, 0,
+ 68, 5, 0, 0, 18, 0, 0, 0,113, 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,113, 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,114, 1, 51, 5, 96, 1, 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,139, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 5,114, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 40,255,220, 2,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, 0, 0, 0,255, 7, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,224, 93,215, 2,
+197, 0, 0, 0, 1, 0, 0, 0,112, 94,215, 2, 80, 93,215, 2, 24, 11,226, 2, 96, 11,226, 2,176, 9,226, 2,208, 10,226, 2,
+ 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 9, 9, 62, 2, 93, 2, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 64, 88,227, 2, 64, 88,227, 2,104, 47,227, 2,144, 48,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,104, 47,227, 2,198, 0, 0, 0, 1, 0, 0, 0,144, 48,227, 2,
+ 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,128, 15, 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, 61, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64, 15, 68, 0, 0,200, 65, 0, 64, 15, 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, 62, 2, 26, 0, 62, 2,
+ 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,126, 7, 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, 62, 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, 68, 65, 84, 65,248, 0, 0, 0,144, 48,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,104, 47,227, 2, 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, 86, 26, 3, 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, 61, 2, 0, 0, 0, 0, 0, 0, 66, 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, 62, 2, 67, 2, 62, 2, 67, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 5, 0, 0,
+126, 7, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 62, 2, 67, 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,
- 68, 65, 84, 65,160, 0, 0, 0, 24, 77, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,152,101, 46, 21, 1, 0, 0, 0,
- 88, 73, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,248, 62, 46, 21, 1, 0, 0, 0,
-152, 59, 46, 21, 1, 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, 88,100, 46, 21, 1, 0, 0, 0,
- 88,100, 46, 21, 1, 0, 0, 0,248, 77, 46, 21, 1, 0, 0, 0,104, 79, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,
-248, 77, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104, 79, 46, 21, 1, 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,
+ 68, 65, 84, 65,136, 2, 0, 0, 64, 88,227, 2,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, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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, 79, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 77, 46, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 88,100, 46, 21, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,152,101, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
-200,114, 46, 21, 1, 0, 0, 0, 24, 77, 46, 21, 1, 0, 0, 0, 56, 62, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21, 1, 0, 0, 0,
-184, 60, 46, 21, 1, 0, 0, 0,216, 61, 46, 21, 1, 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,
- 72,113, 46, 21, 1, 0, 0, 0, 72,113, 46, 21, 1, 0, 0, 0,120,102, 46, 21, 1, 0, 0, 0, 56,108, 46, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,120,102, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,232,103, 46, 21, 1, 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,103, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 88,105, 46, 21, 1, 0, 0, 0,
-120,102, 46, 21, 1, 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,105, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,106, 46, 21, 1, 0, 0, 0,
-232,103, 46, 21, 1, 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,106, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 56,108, 46, 21, 1, 0, 0, 0,
- 88,105, 46, 21, 1, 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, 68, 65, 84, 65,
+ 96, 0, 0, 0,112, 94,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 95,215, 2,224, 93,215, 2,168, 11,226, 2,240, 11,226, 2,
+ 96, 11,226, 2, 24, 11,226, 2, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 0, 0,141, 1, 0, 0,233, 3, 0, 0, 1, 1,251, 3,
+ 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 55,227, 2,128, 55,227, 2,184, 49,227, 2, 88, 54,227, 2,
+ 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, 49,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,224, 50,227, 2, 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,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,126, 68,
+ 0, 0,200, 65, 0,128,126, 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,251, 3, 26, 0,251, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 63, 5, 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,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, 68, 65, 84, 65,
+248, 0, 0, 0,224, 50,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 8, 52,227, 2,184, 49,227, 2, 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, 69, 1, 0, 0, 69, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 67, 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, 68, 65, 84, 65,248, 0, 0, 0, 8, 52,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 48, 53,227, 2,
+224, 50,227, 2, 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, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,167, 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,
- 68, 65, 84, 65, 40, 1, 0, 0, 56,108, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-200,106, 46, 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, 68, 65, 84, 65,248, 0, 0, 0, 48, 53,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 88, 54,227, 2, 8, 52,227, 2, 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, 63, 5, 0, 0,
+ 63, 5, 0, 0,167, 1, 0, 0,233, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 88, 54,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 48, 53,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,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,109, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 96, 3, 0, 0,168,109, 46, 21, 1, 0, 0, 0,156, 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, 69, 1, 0, 0, 63, 5, 0, 0,167, 1, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,251, 3, 67, 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, 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,248, 90,227, 2, 68, 65, 84, 65, 68, 3, 0, 0,248, 90,227, 2,156, 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, 75, 40,139, 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,128, 0, 0, 0,128, 0, 0, 0,128, 0, 0,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, 75, 40,139, 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,112,121,107, 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, 75, 40,139, 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,
+207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,207, 3,116, 64, 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,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,251,251, 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, 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,180, 66, 0, 0,180, 66, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,128, 55,227, 2,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, 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,
+144, 12,228, 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, 1, 0, 0, 0,
+ 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 96, 0, 0, 0, 0, 95,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+112, 94,215, 2,248, 9,226, 2,104, 9,226, 2,240, 11,226, 2,168, 11,226, 2, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,
+141, 1, 0, 0,233, 3, 0, 0, 3, 3, 68, 1, 93, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248, 58,227, 2,
+248, 58,227, 2,168, 56,227, 2,208, 57,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0,168, 56,227, 2,198, 0, 0, 0, 1, 0, 0, 0,208, 57,227, 2, 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,128,161, 67, 0, 0,200, 65, 0,128,161, 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, 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, 67, 1, 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, 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, 68, 65, 84, 65,248, 0, 0, 0,208, 57,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+168, 56,227, 2, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,153, 67, 0, 64, 12,196,
+ 0, 0, 0, 0, 51, 1, 0, 0, 68, 1, 0, 0, 18, 0, 0, 0, 66, 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, 66, 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, 67, 2, 51, 1,
+ 49, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 1, 0, 0,167, 1, 0, 0,233, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 1, 67, 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, 68, 65, 84, 65,244, 0, 0, 0,248, 58,227, 2,
+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, 0, 0, 0,176,237,205, 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, 1, 0, 0, 0, 68, 65, 84, 65,
+ 12, 0, 0, 0,176,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0,112, 94,227, 2, 68, 65, 84, 65,
+168, 0, 0, 0,112, 94,227, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0,
+ 1, 0, 1, 0,144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+144, 30,221, 2, 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 83, 78, 0, 0,148, 0, 0, 0,
+ 72,252,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 16,253,213, 2,128,251,213, 2, 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,
+240, 76,227, 2,152, 80,227, 2,224, 80,227, 2,200, 86,227, 2,144, 95,215, 2, 96, 98,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 1,228, 2, 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,
+ 68, 65, 84, 65, 20, 0, 0, 0,240, 76,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 56, 77,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 56, 77,227, 2,194, 0, 0, 0, 1, 0, 0, 0,128, 77,227, 2,
+240, 76,227, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,128, 77,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,200, 77,227, 2, 56, 77,227, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+200, 77,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 16, 78,227, 2,128, 77,227, 2, 0, 0, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 16, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 88, 78,227, 2,200, 77,227, 2, 0, 0, 0, 0,
+ 0, 0,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0,160, 78,227, 2,
+ 16, 78,227, 2, 0, 0, 0, 0,126, 7,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,160, 78,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,232, 78,227, 2, 88, 78,227, 2, 0, 0, 0, 0,240, 5,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+232, 78,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 48, 79,227, 2,160, 78,227, 2, 0, 0, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 48, 79,227, 2,194, 0, 0, 0, 1, 0, 0, 0,120, 79,227, 2,232, 78,227, 2, 0, 0, 0, 0,
+ 0, 0,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120, 79,227, 2,194, 0, 0, 0, 1, 0, 0, 0,192, 79,227, 2,
+ 48, 79,227, 2, 0, 0, 0, 0,240, 5,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,192, 79,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0, 8, 80,227, 2,120, 79,227, 2, 0, 0, 0, 0,248, 2,104, 1, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+ 8, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 80, 80,227, 2,192, 79,227, 2, 0, 0, 0, 0,240, 5,236, 2, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 80, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0,152, 80,227, 2, 8, 80,227, 2, 0, 0, 0, 0,
+126, 7,236, 2, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,152, 80,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 80, 80,227, 2, 0, 0, 0, 0,248, 2,168, 3, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,224, 80,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 40, 81,227, 2, 0, 0, 0, 0, 56, 77,227, 2,128, 77,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 40, 81,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112, 81,227, 2,224, 80,227, 2, 56, 77,227, 2, 16, 78,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112, 81,227, 2,195, 0, 0, 0, 1, 0, 0, 0,184, 81,227, 2,
+ 40, 81,227, 2,128, 77,227, 2, 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,184, 81,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 0, 82,227, 2,112, 81,227, 2, 16, 78,227, 2, 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 0, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 72, 82,227, 2,184, 81,227, 2, 88, 78,227, 2,
+160, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+144, 82,227, 2, 0, 82,227, 2,200, 77,227, 2,232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+144, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216, 82,227, 2, 72, 82,227, 2,240, 76,227, 2, 48, 79,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216, 82,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32, 83,227, 2,144, 82,227, 2,
+ 16, 78,227, 2, 48, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32, 83,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,104, 83,227, 2,216, 82,227, 2,160, 78,227, 2,120, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,104, 83,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176, 83,227, 2, 32, 83,227, 2,232, 78,227, 2,120, 79,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176, 83,227, 2,195, 0, 0, 0, 1, 0, 0, 0,248, 83,227, 2,
+104, 83,227, 2, 48, 79,227, 2,192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248, 83,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 64, 84,227, 2,176, 83,227, 2,120, 79,227, 2,192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 64, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136, 84,227, 2,248, 83,227, 2,232, 78,227, 2,
+ 8, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+208, 84,227, 2, 64, 84,227, 2,160, 78,227, 2, 8, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+208, 84,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 24, 85,227, 2,136, 84,227, 2, 88, 78,227, 2, 80, 80,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 24, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 96, 85,227, 2,208, 84,227, 2,
+200, 77,227, 2, 80, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 96, 85,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,168, 85,227, 2, 24, 85,227, 2, 8, 80,227, 2, 80, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,168, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0,240, 85,227, 2, 96, 85,227, 2, 16, 78,227, 2,152, 80,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,240, 85,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 56, 86,227, 2,
+168, 85,227, 2,160, 78,227, 2,152, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 56, 86,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,128, 86,227, 2,240, 85,227, 2,192, 79,227, 2,152, 80,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,128, 86,227, 2,195, 0, 0, 0, 1, 0, 0, 0,200, 86,227, 2, 56, 86,227, 2, 48, 79,227, 2,
+120, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,200, 86,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0,128, 86,227, 2,240, 76,227, 2,232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,
+144, 95,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 32, 96,215, 2, 0, 0, 0, 0, 16, 78,227, 2, 56, 77,227, 2,128, 77,227, 2,
+ 88, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 93, 0, 1, 0,
+ 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 88,234,220, 2, 88,234,220, 2, 32, 60,227, 2, 72, 61,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 32, 60,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 72, 61,227, 2, 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,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,126, 7, 0, 0,236, 3, 0, 0,
+ 5, 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, 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, 56, 1, 0, 0,
- 72,113, 46, 21, 1, 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,
- 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, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 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, 61,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 32, 60,227, 2, 0, 0, 0, 0, 0,192,239, 68, 0, 0, 0, 0,
+ 0, 0, 28, 66, 0, 0, 0, 0, 0,192,237, 68, 0, 0, 0, 0, 0, 0,134, 66,110, 7, 0, 0,127, 7, 0, 0, 0, 0, 0, 0,
+ 66, 0, 0, 0, 0, 0, 0, 0,111, 7, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,109, 7, 0, 0, 0, 0, 0, 0,
+ 66, 0, 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,127, 7, 67, 0,110, 7, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,126, 7, 0, 0,169, 3, 0, 0,235, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+127, 7, 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, 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, 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 7, 1, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0, 32, 96,215, 2,197, 0, 0, 0, 1, 0, 0, 0,176, 96,215, 2,144, 95,215, 2,
+232, 78,227, 2, 8, 80,227, 2, 80, 80,227, 2,200, 77,227, 2, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,
+235, 2, 0, 0, 4, 4,142, 1,236, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,127,227, 2, 72,127,227, 2,
+112, 62,227, 2,152, 63,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,
+112, 62,227, 2,198, 0, 0, 0, 1, 0, 0, 0,152, 63,227, 2, 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,199, 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,141, 1, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 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,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+241, 5, 0, 0,126, 7, 0, 0,210, 2, 0, 0,235, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+142, 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, 68, 65, 84, 65,248, 0, 0, 0,152, 63,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,112, 62,227, 2,
+ 0, 0, 0, 0, 0,128,198, 67, 0, 0, 61,196, 0, 0, 0, 0, 0, 0, 0, 0,254,127,190, 67,254,127, 52,196, 0, 0, 0, 0,
+125, 1, 0, 0,142, 1, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,209, 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,142, 1,210, 2,125, 1,210, 2, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,209, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,210, 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,160,151,226, 2,152,108,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0,160,151,226, 2,196, 0, 0, 0,
+ 1, 0, 0, 0, 24,153,226, 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, 68, 65, 84, 65,160, 0, 0, 0,200,114, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,
- 24,121, 46, 21, 1, 0, 0, 0,152,101, 46, 21, 1, 0, 0, 0,120, 58, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,
-216, 61, 46, 21, 1, 0, 0, 0, 24, 61, 46, 21, 1, 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,
- 72,119, 46, 21, 1, 0, 0, 0, 72,119, 46, 21, 1, 0, 0, 0,168,115, 46, 21, 1, 0, 0, 0, 24,117, 46, 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,220,255,124, 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,
- 68, 65, 84, 65, 40, 1, 0, 0,168,115, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,117, 46, 21, 1, 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, 24,117, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-168,115, 46, 21, 1, 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, 68, 65, 84, 65, 64, 1, 0, 0, 24,153,226, 2,196, 0, 0, 0, 1, 0, 0, 0, 96, 95,227, 2,160,151,226, 2,
+ 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,
- 68, 65, 84, 65, 40, 0, 0, 0,136,118, 46, 21, 1, 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, 1, 0, 0, 0, 0, 0, 0, 0,248,118, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 68, 65, 84, 65, 4, 0, 0, 0,248,118, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-136, 1, 0, 0, 72,119, 46, 21, 1, 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, 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,136,118, 46, 21, 1, 0, 0, 0,136,118, 46, 21, 1, 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,135,255,124, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+ 96, 95,227, 2,196, 0, 0, 0, 1, 0, 0, 0,216, 96,227, 2, 24,153,226, 2, 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,
+124, 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, 68, 65, 84, 65, 64, 1, 0, 0,216, 96,227, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 80, 98,227, 2, 96, 95,227, 2, 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,124, 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, 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, 24,121, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0,200,114, 46, 21,
- 1, 0, 0, 0,152, 62, 46, 21, 1, 0, 0, 0,184, 60, 46, 21, 1, 0, 0, 0, 88, 60, 46, 21, 1, 0, 0, 0,248, 62, 46, 21,
- 1, 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,216,124, 46, 21, 1, 0, 0, 0,216,124, 46, 21,
- 1, 0, 0, 0,248,121, 46, 21, 1, 0, 0, 0,104,123, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0,248,121, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,104,123, 46, 21, 1, 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,
+ 68, 65, 84, 65, 64, 1, 0, 0, 80, 98,227, 2,196, 0, 0, 0, 1, 0, 0, 0,200, 99,227, 2,216, 96,227, 2, 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,
-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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 40, 1, 0, 0,104,123, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,121, 46, 21, 1, 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, 58,254,124, 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, 68, 65, 84, 65, 24, 1, 0, 0,216,124, 46, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 99,227, 2,
+196, 0, 0, 0, 1, 0, 0, 0, 64,101,227, 2, 80, 98,227, 2, 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, 34,254,124, 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, 68, 65, 84, 65, 64, 1, 0, 0, 64,101,227, 2,196, 0, 0, 0, 1, 0, 0, 0,184,102,227, 2,
+200, 99,227, 2, 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, 56,126, 46, 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, 10,254,124, 1, 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,
- 1, 0, 0, 0, 68, 65, 84, 65, 16, 0, 0, 0, 56,126, 46, 21, 1, 0, 0, 0,220, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0,
- 14, 0, 0, 0,136,126, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,224, 0, 0, 0,136,126, 46, 21, 1, 0, 0, 0,219, 0, 0, 0,
- 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 19, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 20, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4, 1, 0, 0, 0, 21, 0, 1, 0, 1, 0, 0, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 40, 54, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,168,246, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 88,239, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,136,244, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56, 46, 54, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 24,229, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 56,182, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 72,228, 46, 21, 1, 0, 0, 0, 21, 0, 0, 0, 1, 0, 1, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,168,127, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 24,121, 46, 21, 1, 0, 0, 0,120, 61, 46, 21, 1, 0, 0, 0,248, 59, 46, 21, 1, 0, 0, 0, 88, 63, 46, 21,
- 1, 0, 0, 0, 56, 62, 46, 21, 1, 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,104,131, 46, 21,
- 1, 0, 0, 0,104,131, 46, 21, 1, 0, 0, 0,136,128, 46, 21, 1, 0, 0, 0,248,129, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,136,128, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,129, 46, 21, 1, 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,
+ 64, 1, 0, 0,184,102,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 48,104,227, 2, 64,101,227, 2, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 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,129, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,128, 46, 21,
- 1, 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,
+ 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,253,124, 1, 0, 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, 68, 65, 84, 65,
-160, 2, 0, 0,104,131, 46, 21, 1, 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, 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, 68, 65, 84, 65, 64, 1, 0, 0, 48,104,227, 2,196, 0, 0, 0,
+ 1, 0, 0, 0,168,105,227, 2,184,102,227, 2, 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,253,124, 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, 68, 65, 84, 65, 64, 1, 0, 0,168,105,227, 2,196, 0, 0, 0, 1, 0, 0, 0, 32,107,227, 2, 48,104,227, 2,
+ 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,253,124, 1, 0, 0, 20, 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, 68, 65, 84, 65, 64, 1, 0, 0,
+ 32,107,227, 2,196, 0, 0, 0, 1, 0, 0, 0,152,108,227, 2,168,105,227, 2, 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, 40,253,
+124, 1,130, 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, 68, 65, 84, 65, 64, 1, 0, 0,152,108,227, 2,196, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 32,107,227, 2, 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, 16,253,124, 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,
+ 68, 65, 84, 65,216, 0, 0, 0, 72,127,227, 2,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, 83, 78, 0, 0,216, 0, 0, 0,200,134, 46, 21,
- 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 56,171, 46, 21, 1, 0, 0, 0, 88, 57, 46, 21, 1, 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,232,135, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 0, 0, 0,232,138, 46, 21, 1, 0, 0, 0, 72,143, 46, 21, 1, 0, 0, 0,184,143, 46, 21, 1, 0, 0, 0, 72,154, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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,232,135, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 72,136, 46, 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, 68, 65, 84, 65,
- 32, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0,232,135, 46, 21,
- 1, 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,136, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 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, 8,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 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,104,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,200,137, 46, 21,
- 1, 0, 0, 0, 8,137, 46, 21, 1, 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,200,137, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,104,137, 46, 21,
- 1, 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,138, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 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,136,138, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,138, 46, 21, 1, 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,232,138, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,139, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,139, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,139, 46, 21,
- 1, 0, 0, 0,232,138, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,139, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,140, 46, 21,
- 1, 0, 0, 0, 88,139, 46, 21, 1, 0, 0, 0,168,136, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,140, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,140, 46, 21,
- 1, 0, 0, 0,200,139, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,140, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,141, 46, 21,
- 1, 0, 0, 0, 56,140, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,141, 46, 21,
- 1, 0, 0, 0,168,140, 46, 21, 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,141, 46, 21,
- 1, 0, 0, 0, 24,141, 46, 21, 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,141, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,142, 46, 21,
- 1, 0, 0, 0,136,141, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,142, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,142, 46, 21,
- 1, 0, 0, 0,248,141, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,142, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,143, 46, 21,
- 1, 0, 0, 0,104,142, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0,136,138, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,143, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,142, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,143, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120,147, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 72,136, 46, 21, 1, 0, 0, 0,168,136, 46, 21,
- 1, 0, 0, 0,200,137, 46, 21, 1, 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,184,170, 46, 21,
- 1, 0, 0, 0,184,170, 46, 21, 1, 0, 0, 0,152,144, 46, 21, 1, 0, 0, 0, 8,146, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,152,144, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,146, 46, 21, 1, 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,146, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,144, 46, 21,
- 1, 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, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+255, 21, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,176, 96,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 64, 97,215, 2, 32, 96,215, 2,192, 79,227, 2,152, 80,227, 2,160, 78,227, 2,120, 79,227, 2, 0, 0, 0, 0,249, 2, 0, 0,
+239, 5, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 1, 1,247, 2, 63, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+224,131,227, 2,224,131,227, 2,192, 64,227, 2,184,130,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0,192, 64,227, 2,198, 0, 0, 0, 1, 0, 0, 0,232, 65,227, 2, 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,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, 61, 68, 0, 0,200, 65, 0,128, 61, 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,247, 2, 26, 0,247, 2, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,249, 2, 0, 0,239, 5, 0, 0,105, 1, 0, 0,130, 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, 68, 65, 84, 65,
-160, 0, 0, 0,120,147, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,154, 46, 21, 1, 0, 0, 0,184,143, 46, 21,
- 1, 0, 0, 0,232,135, 46, 21, 1, 0, 0, 0,104,137, 46, 21, 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 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, 56, 6, 54, 4, 1, 0, 0, 0, 56, 6, 54, 4,
- 1, 0, 0, 0, 88,148, 46, 21, 1, 0, 0, 0,216,152, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,148, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,149, 46, 21, 1, 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, 68, 65, 84, 65,248, 0, 0, 0,232, 65,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+104,128,227, 2,192, 64,227, 2, 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,249, 2, 0, 0,249, 2, 0, 0,131, 1, 0, 0,
+167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 37, 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,
-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, 68, 65, 84, 65,248, 0, 0, 0,
+104,128,227, 2,198, 0, 0, 0, 1, 0, 0, 0,144,129,227, 2,232, 65,227, 2, 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,
+249, 2, 0, 0,239, 5, 0, 0,131, 1, 0, 0,131, 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, 68, 65, 84, 65,248, 0, 0, 0,144,129,227, 2,198, 0, 0, 0, 1, 0, 0, 0,184,130,227, 2,104,128,227, 2,
+ 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,239, 5, 0, 0,239, 5, 0, 0,131, 1, 0, 0,167, 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,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 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,149, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,216,152, 46, 21, 1, 0, 0, 0, 88,148, 46, 21, 1, 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, 68, 65, 84, 65,248, 0, 0, 0,184,130,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,144,129,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, 68, 65, 84, 65, 40, 1, 0, 0,216,152, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,149, 46, 21, 1, 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,249, 2, 0, 0,239, 5, 0, 0,
+131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 37, 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,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, 80,160,227, 2, 68, 65, 84, 65,
+ 68, 3, 0, 0, 80,160,227, 2,156, 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, 74,141,193, 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, 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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 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,224,246, 70,188, 0,160, 32,182,
+252, 5,136,190, 43, 33, 3, 62,235,135, 23, 63, 0, 0, 96, 53,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, 30,132, 27,191,222,160, 81,191,184,158, 81,191,
+117, 90,127, 63,166,235,149, 62, 9, 46,185, 62, 35, 44,185, 62,145,180,109,188,212, 60,173, 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, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 46, 86, 45, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 86, 45, 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,107,227, 29, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 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, 68, 65, 84, 65, 40, 33, 0, 0, 56, 6, 54, 4,
- 1, 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, 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,128, 63, 30, 33, 12, 66, 86,152,137, 66,116, 27,126, 66, 0, 0, 0, 0, 68, 65, 84, 65,240, 0, 0, 0,224,131,227, 2,
+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, 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,144, 12,228, 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, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66,
+ 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, 0, 0, 16, 0, 10, 0, 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, 96, 0, 0, 0,
+ 64, 97,215, 2,197, 0, 0, 0, 1, 0, 0, 0,208, 97,215, 2,176, 96,215, 2,240, 76,227, 2, 48, 79,227, 2,120, 79,227, 2,
+232, 78,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,239, 5, 0, 0, 0, 0, 0, 0,103, 1, 0, 0, 18, 18,240, 5,104, 1, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,163,227, 2,200,163,227, 2, 8,133,227, 2, 48,134,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0, 8,133,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 48,134,227, 2, 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, 0, 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,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, 68, 65, 84, 65,248, 0, 0, 0,
+ 48,134,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 8,133,227, 2, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
+ 0, 0, 51, 67, 0, 0, 0, 0, 0,224,187, 68, 0, 0, 0, 0, 0, 0,167, 67,223, 5, 0, 0,240, 5, 0, 0, 0, 0, 0, 0,
+ 77, 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,
+ 77, 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, 78, 1,223, 5, 78, 1, 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,103, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 5, 78, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 64, 28,204, 2,177, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 88, 17,216, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0, 88, 17,216, 2,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,200,163,227, 2,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, 0, 0, 0, 64, 28,204, 2, 64, 28,204, 2,
+ 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,
@@ -3695,15 +3493,68 @@ char datatoc_startup_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,
+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,
+ 8, 4, 0, 0, 8, 4, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,208, 97,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 96, 98,215, 2,
+ 64, 97,215, 2, 8, 80,227, 2,160, 78,227, 2, 88, 78,227, 2, 80, 80,227, 2, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,
+237, 2, 0, 0,167, 3, 0, 0, 3, 3,142, 1,187, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,168,137,227, 2,
+168,137,227, 2, 88,135,227, 2,128,136,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+248, 0, 0, 0, 88,135,227, 2,198, 0, 0, 0, 1, 0, 0, 0,128,136,227, 2, 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,199, 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,141, 1, 0, 0,
+ 0, 0, 0, 0, 25, 0, 0, 0, 0,128,198, 67, 0, 0,200, 65, 0,128,198, 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,142, 1, 26, 0,142, 1, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0,237, 2, 0, 0, 6, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,142, 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, 68, 65, 84, 65,248, 0, 0, 0,128,136,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 88,135,227, 2, 0, 0, 0, 0, 0,128,141, 67, 0, 0,244,194, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,190, 67, 0, 0, 15,195,
+ 0, 0, 0, 0,125, 1, 0, 0,142, 1, 0, 0, 18, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0,
+ 17, 0, 0, 0, 0, 0, 0, 0,124, 1, 0, 0, 18, 0, 0, 0,160, 0, 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,142, 1,161, 0,125, 1,
+143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 5, 0, 0,126, 7, 0, 0, 7, 3, 0, 0,167, 3, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 1,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, 0, 68, 65, 84, 65,244, 0, 0, 0,168,137,227, 2,
+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, 0, 0, 0,240,237,205, 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, 1, 0, 0, 0, 68, 65, 84, 65,
+ 12, 0, 0, 0,240,237,205, 2,221, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 14, 0, 0, 0, 96,165,227, 2, 68, 65, 84, 65,
+168, 0, 0, 0, 96,165,227, 2,220, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,144, 1,228, 2, 19, 0, 0, 0,
+ 1, 0, 1, 0,144, 1,228, 2, 20, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 21, 0, 1, 0, 1, 0, 0, 0,144, 1,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,240, 10,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,240, 16,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,
+144, 30,221, 2, 0, 0, 0, 0, 1, 0, 1, 0, 32, 26,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 8, 97,223, 2, 0, 0, 0, 0,
+ 1, 0, 1, 0,192, 21,228, 2, 0, 0, 0, 0, 1, 0, 1, 0, 80, 9,228, 2, 0, 0, 0, 0, 1, 0, 1, 0,144, 12,228, 2,
+ 0, 0, 0, 0, 1, 0, 1, 0,184, 8,228, 2, 21, 0, 0, 0, 1, 0, 1, 0,144, 1,228, 2, 68, 65, 84, 65, 96, 0, 0, 0,
+ 96, 98,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208, 97,215, 2, 48, 79,227, 2, 16, 78,227, 2,152, 80,227, 2,
+192, 79,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,247, 2, 0, 0,105, 1, 0, 0,167, 3, 0, 0, 9, 9,248, 2, 63, 2, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,166,227, 2, 56,166,227, 2,208,138,227, 2,248,139,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,208,138,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+248,139,227, 2, 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,192, 61, 68, 0, 0,200, 65,
+ 0,192, 61, 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,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,247, 2, 0, 0,105, 1, 0, 0,
+130, 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, 68, 65, 84, 65,248, 0, 0, 0,
+248,139,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208,138,227, 2, 0, 0, 0, 0, 0,224,189, 68, 0, 0, 0, 0,
+ 0,192, 22, 68,248,150, 23, 68, 8, 41,100, 68, 46,224, 62, 67,233, 15,206, 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,
+ 36, 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, 37, 2,248, 2, 37, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,247, 2, 0, 0,131, 1, 0, 0,167, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+248, 2, 37, 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, 68, 65, 84, 65,136, 2, 0, 0, 56,166,227, 2,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, 0, 0, 12, 0, 7, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0,
+ 1, 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,
@@ -3720,16 +3571,101 @@ char datatoc_startup_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,
+ 83, 78, 0, 0,148, 0, 0, 0, 16,253,213, 2,193, 0, 0, 0, 1, 0, 0, 0,216,253,213, 2, 72,252,213, 2, 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, 8,169,227, 2, 0,171,227, 2, 72,171,227, 2, 24,174,227, 2,240, 98,215, 2, 16,100,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 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, 68, 65, 84, 65, 20, 0, 0, 0, 8,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 80,169,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 80,169,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,152,169,227, 2, 8,169,227, 2, 0, 0, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+152,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0,224,169,227, 2, 80,169,227, 2, 0, 0, 0, 0,126, 7, 5, 4, 0, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0,224,169,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 40,170,227, 2,152,169,227, 2, 0, 0, 0, 0,
+126, 7, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 40,170,227, 2,194, 0, 0, 0, 1, 0, 0, 0,112,170,227, 2,
+224,169,227, 2, 0, 0, 0, 0, 0, 0,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,112,170,227, 2,194, 0, 0, 0,
+ 1, 0, 0, 0,184,170,227, 2, 40,170,227, 2, 0, 0, 0, 0,126, 7,234, 3, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,
+184,170,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0,171,227, 2,112,170,227, 2, 0, 0, 0, 0,200, 3,234, 3, 1, 0, 0, 0,
+ 68, 65, 84, 65, 20, 0, 0, 0, 0,171,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,184,170,227, 2, 0, 0, 0, 0,
+200, 3, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 72,171,227, 2,195, 0, 0, 0, 1, 0, 0, 0,144,171,227, 2,
+ 0, 0, 0, 0, 80,169,227, 2,152,169,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,171,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,216,171,227, 2, 72,171,227, 2, 80,169,227, 2, 40,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,216,171,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 32,172,227, 2,144,171,227, 2,152,169,227, 2,
+112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 32,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+104,172,227, 2,216,171,227, 2, 40,170,227, 2,112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+104,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176,172,227, 2, 32,172,227, 2, 40,170,227, 2,184,170,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176,172,227, 2,195, 0, 0, 0, 1, 0, 0, 0,248,172,227, 2,104,172,227, 2,
+ 8,169,227, 2, 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,248,172,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 64,173,227, 2,176,172,227, 2, 8,169,227, 2, 40,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 64,173,227, 2,195, 0, 0, 0, 1, 0, 0, 0,136,173,227, 2,248,172,227, 2,184,170,227, 2, 0,171,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,136,173,227, 2,195, 0, 0, 0, 1, 0, 0, 0,208,173,227, 2,
+ 64,173,227, 2,112,170,227, 2,184,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,208,173,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0, 24,174,227, 2,136,173,227, 2,224,169,227, 2, 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0, 24,174,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,208,173,227, 2,224,169,227, 2,
+112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,240, 98,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+128, 99,215, 2, 0, 0, 0, 0, 40,170,227, 2, 80,169,227, 2,152,169,227, 2,112,170,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+126, 7, 0, 0,235, 3, 0, 0, 5, 4, 0, 0, 7, 7,127, 7, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0,
+184,234,220, 2,184,234,220, 2, 32,141,227, 2, 72,142,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65,248, 0, 0, 0, 32,141,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 72,142,227, 2, 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,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,126, 7, 0, 0,235, 3, 0, 0, 4, 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, 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, 68, 65, 84, 65,248, 0, 0, 0, 72,142,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 32,141,227, 2, 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, 5, 4, 0, 0,
+ 5, 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, 68, 65, 84, 65, 96, 0, 0, 0,
+128, 99,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 16,100,215, 2,240, 98,215, 2, 8,169,227, 2, 40,170,227, 2,184,170,227, 2,
+ 0,171,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,199, 3, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 6, 6,200, 3,234, 3, 1, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,184,227, 2,240,184,227, 2,112,143,227, 2,192,145,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,112,143,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+152,144,227, 2, 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,114, 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,199, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192,113, 68, 0, 0,200, 65,
+ 0,192,113, 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,200, 3,
+ 26, 0,200, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,199, 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,200, 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, 68, 65, 84, 65,248, 0, 0, 0,
+152,144,227, 2,198, 0, 0, 0, 1, 0, 0, 0,192,145,227, 2,112,143,227, 2, 0, 0, 0, 0, 0, 0, 91, 67, 0,192,115,196,
+ 0, 0, 0, 0, 0, 0, 0, 0,254,255, 74, 67,254,255,115,196, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,
+207, 3, 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,
+207, 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,220, 0,208, 3,203, 0,208, 3, 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,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+220, 0,208, 3, 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, 16,110,227, 2, 16,110,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 64, 1, 0, 0, 16,110,227, 2,196, 0, 0, 0, 1, 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,152,255,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, 0, 68, 65, 84, 65,248, 0, 0, 0,
+192,145,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,152,144,227, 2, 0, 0, 0, 0, 0, 0,128, 67, 0, 0, 0, 0,
+ 0, 0,128, 67, 51, 51, 43,191,154,153,213, 63, 51, 51,131,191,154,153, 1, 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,236, 2, 0, 0, 0, 0, 0, 0,
+208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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,199, 3, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+236, 2,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 32, 0, 0,240,184,227, 2,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, 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,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,
@@ -3808,8 +3744,6 @@ char datatoc_startup_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,
-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,
@@ -3860,6 +3794,7 @@ char datatoc_startup_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,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,
@@ -3939,83 +3874,21 @@ char datatoc_startup_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,
-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, 72,154, 46, 21,
- 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,120,147, 46, 21, 1, 0, 0, 0,136,138, 46, 21,
- 1, 0, 0, 0, 40,138, 46, 21, 1, 0, 0, 0,200,137, 46, 21, 1, 0, 0, 0, 8,137, 46, 21, 1, 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, 56,169, 46, 21, 1, 0, 0, 0, 56,169, 46, 21, 1, 0, 0, 0, 40,155, 46, 21,
- 1, 0, 0, 0, 40,164, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0, 40,155, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,152,156, 46, 21, 1, 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,156, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,168,159, 46, 21, 1, 0, 0, 0, 40,155, 46, 21, 1, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,159, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0,184,162, 46, 21, 1, 0, 0, 0,152,156, 46, 21, 1, 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,162, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0, 40,164, 46, 21, 1, 0, 0, 0,168,159, 46, 21, 1, 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,164, 46, 21, 1, 0, 0, 0,198, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,162, 46, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,165, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65, 96, 3, 0, 0,152,165, 46, 21, 1, 0, 0, 0,156, 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,
@@ -4023,769 +3896,762 @@ char datatoc_startup_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,128, 63, 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,169, 46, 21, 1, 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, 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, 56,182, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 8, 8, 0, 0, 0, 0, 12, 66, 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,
- 0, 0, 16, 0, 10, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 56,171, 46, 21,
- 1, 0, 0, 0,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,200,134, 46, 21, 1, 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, 88,172, 46, 21, 1, 0, 0, 0,120,176, 46, 21,
- 1, 0, 0, 0,216,176, 46, 21, 1, 0, 0, 0, 72,184, 46, 21, 1, 0, 0, 0,184,184, 46, 21, 1, 0, 0, 0, 72,211, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,174, 47, 4, 1, 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, 88,172, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,172, 46, 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, 68, 65, 84, 65,
- 32, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 88,172, 46, 21,
- 1, 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, 24,173, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 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,120,173, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 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,173, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 56,174, 46, 21,
- 1, 0, 0, 0,120,173, 46, 21, 1, 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,174, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,216,173, 46, 21,
- 1, 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,174, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 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,248,174, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 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, 88,175, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,184,175, 46, 21,
- 1, 0, 0, 0,248,174, 46, 21, 1, 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,184,175, 46, 21, 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 88,175, 46, 21,
- 1, 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, 24,176, 46, 21,
- 1, 0, 0, 0,194, 0, 0, 0, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 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,120,176, 46, 21, 1, 0, 0, 0,194, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,176, 46, 21, 1, 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,216,176, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,177, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,177, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,184,177, 46, 21,
- 1, 0, 0, 0,216,176, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,184,177, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 40,178, 46, 21,
- 1, 0, 0, 0, 72,177, 46, 21, 1, 0, 0, 0, 24,173, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 40,178, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,152,178, 46, 21,
- 1, 0, 0, 0,184,177, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,152,178, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 8,179, 46, 21,
- 1, 0, 0, 0, 40,178, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 8,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,120,179, 46, 21,
- 1, 0, 0, 0,152,178, 46, 21, 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,120,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,232,179, 46, 21,
- 1, 0, 0, 0, 8,179, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,232,179, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 88,180, 46, 21,
- 1, 0, 0, 0,120,179, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 88,180, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,200,180, 46, 21,
- 1, 0, 0, 0,232,179, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,200,180, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 56,181, 46, 21,
- 1, 0, 0, 0, 88,180, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 56,181, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,168,181, 46, 21,
- 1, 0, 0, 0,200,180, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,168,181, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 24,182, 46, 21,
- 1, 0, 0, 0, 56,181, 46, 21, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 24,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,136,182, 46, 21,
- 1, 0, 0, 0,168,181, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,136,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,248,182, 46, 21,
- 1, 0, 0, 0, 24,182, 46, 21, 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,120,173, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,248,182, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,104,183, 46, 21,
- 1, 0, 0, 0,136,182, 46, 21, 1, 0, 0, 0, 56,174, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,104,183, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0,216,183, 46, 21,
- 1, 0, 0, 0,248,182, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,183, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 72,184, 46, 21,
- 1, 0, 0, 0,104,183, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,184, 46, 21, 1, 0, 0, 0,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,216,183, 46, 21, 1, 0, 0, 0,152,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 68, 65, 84, 65,160, 0, 0, 0,184,184, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,120,188, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0,184,172, 46, 21, 1, 0, 0, 0, 24,173, 46, 21,
- 1, 0, 0, 0, 56,174, 46, 21, 1, 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, 24,219, 46, 21,
- 1, 0, 0, 0, 24,219, 46, 21, 1, 0, 0, 0,152,185, 46, 21, 1, 0, 0, 0, 8,187, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,152,185, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,187, 46, 21, 1, 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,187, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,152,185, 46, 21,
- 1, 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,188, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 88,193, 46, 21, 1, 0, 0, 0,184,184, 46, 21,
- 1, 0, 0, 0, 88,172, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,120,176, 46, 21, 1, 0, 0, 0,120,173, 46, 21,
- 1, 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, 56,192, 46, 21, 1, 0, 0, 0, 56,192, 46, 21,
- 1, 0, 0, 0, 88,189, 46, 21, 1, 0, 0, 0,200,190, 46, 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, 68, 65, 84, 65, 40, 1, 0, 0, 88,189, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,200,190, 46, 21, 1, 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,200,190, 46, 21,
- 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,189, 46, 21, 1, 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, 56,192, 46, 21,
- 1, 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, 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, 88,193, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0,200,202, 46, 21,
- 1, 0, 0, 0,120,188, 46, 21, 1, 0, 0, 0,248,174, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0,152,174, 46, 21,
- 1, 0, 0, 0,120,176, 46, 21, 1, 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,152,201, 46, 21,
- 1, 0, 0, 0,152,201, 46, 21, 1, 0, 0, 0, 56,194, 46, 21, 1, 0, 0, 0, 40,200, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0, 56,194, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,168,195, 46, 21, 1, 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,168,195, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,184,198, 46, 21, 1, 0, 0, 0, 56,194, 46, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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,198, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 40,200, 46, 21, 1, 0, 0, 0,168,195, 46, 21,
- 1, 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, 40,200, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,184,198, 46, 21,
- 1, 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,152,201, 46, 21, 1, 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, 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,
+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,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, 96, 0, 0, 0, 16,100,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,128, 99,215, 2, 0,171,227, 2,184,170,227, 2,112,170,227, 2,224,169,227, 2, 0, 0, 0, 0,
+201, 3, 0, 0,126, 7, 0, 0, 0, 0, 0, 0,233, 3, 0, 0, 1, 1,182, 3,234, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,176,152,227, 2,176,152,227, 2,232,146,227, 2,136,151,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,248, 0, 0, 0,232,146,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 16,148,227, 2, 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,109, 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,181, 3, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 64,109, 68, 0, 0,200, 65, 0, 64,109, 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,182, 3, 26, 0,182, 3, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,126, 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,182, 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, 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,200,202, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 72,211, 46, 21,
- 1, 0, 0, 0, 88,193, 46, 21, 1, 0, 0, 0,184,175, 46, 21, 1, 0, 0, 0,216,173, 46, 21, 1, 0, 0, 0, 88,175, 46, 21,
- 1, 0, 0, 0, 24,176, 46, 21, 1, 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,104,209, 46, 21,
- 1, 0, 0, 0,104,209, 46, 21, 1, 0, 0, 0,168,203, 46, 21, 1, 0, 0, 0,248,207, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,168,203, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 24,205, 46, 21, 1, 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, 68, 65, 84, 65,248, 0, 0, 0, 16,148,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 56,149,227, 2,232,146,227, 2, 0, 0, 0, 0, 0, 0, 32, 67, 0, 0, 86,196, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 15, 67, 0, 0, 86,196, 0, 0, 0, 0,143, 0, 0, 0,160, 0, 0, 0, 0, 0, 0, 0, 87, 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, 87, 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, 88, 3,143, 0, 88, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,201, 3, 0, 0,104, 4, 0, 0,
+146, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,160, 0, 88, 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,136,111,227, 2,136,111,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0,136,111,227, 2,196, 0, 0, 0, 1, 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,
- 0, 0, 0, 0, 0, 0, 0, 0, 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,205, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,136,206, 46, 21, 1, 0, 0, 0,168,203, 46, 21,
- 1, 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,
+ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 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,206, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,248,207, 46, 21, 1, 0, 0, 0, 24,205, 46, 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, 68, 65, 84, 65,248, 0, 0, 0, 56,149,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 96,150,227, 2, 16,148,227, 2, 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,201, 3, 0, 0,104, 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,113,227, 2, 0,113,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 64, 1, 0, 0, 0,113,227, 2,196, 0, 0, 0, 1, 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, 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,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, 68, 65, 84, 65,248, 0, 0, 0, 96,150,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0,136,151,227, 2, 56,149,227, 2, 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,126, 7, 0, 0,126, 7, 0, 0,
+ 26, 0, 0, 0,233, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 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,136,151,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,150,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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,105, 4, 0, 0,126, 7, 0, 0, 26, 0, 0, 0,233, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 22, 3,208, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,227, 2, 68, 65, 84, 65, 68, 3, 0, 0, 24,218,227, 2,156, 0, 0, 0, 1, 0, 0, 0, 72,246,172, 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,185,214, 13, 63,
+208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,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,121, 92,155, 62,
+151,198, 44, 63,192,214, 32,188, 0, 0, 40,180,195, 15,188,190,132, 75, 53, 62,216,125, 81, 63, 0, 0,192,179,115, 77,100,193,
+ 17,173,201, 64,181,148,248,192,203,247,159,192,233, 74, 87, 65,247, 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,185,214, 13, 63,
+208,249,224,190, 48,180, 81,191,184,158, 81,191,189,188,157, 63,140,225, 88, 62, 26, 63,185, 62, 35, 44,185, 62,241,213,146,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,248,201,250, 62,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,248,201,250, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,248,201,250, 62, 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, 0, 25, 95, 64, 0, 25, 95, 64, 0, 0, 0, 0, 0, 0, 0, 0,114,145,245, 58,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,128, 63, 30, 33, 12, 66, 85,152,137, 66,116, 27,126, 66, 0, 0, 0, 0,
+ 68, 65, 84, 65,240, 0, 0, 0,176,152,227, 2,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, 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,144, 12,228, 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, 1, 0, 0, 0, 3, 0, 0, 0,
+ 1, 0, 3, 0, 8, 8, 0, 0, 0, 0, 12, 66, 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, 0, 0, 16, 0, 10, 0, 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, 83, 78, 0, 0,148, 0, 0, 0,216,253,213, 2,193, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 16,253,213, 2,
+ 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, 96,174,227, 2,120,177,227, 2,192,177,227, 2,136,182,227, 2,160,100,215, 2,
+224,102,215, 2, 0, 0, 0, 0, 0, 0, 0, 0,144, 1,228, 2, 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,148,238, 92, 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, 96,174,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+168,174,227, 2, 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,174,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0,240,174,227, 2, 96,174,227, 2, 0, 0, 0, 0, 0, 0,222, 2, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0,240,174,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 56,175,227, 2,168,174,227, 2, 0, 0, 0, 0,240, 4,222, 2,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 56,175,227, 2,194, 0, 0, 0, 1, 0, 0, 0,128,175,227, 2,240,174,227, 2,
+ 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,128,175,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+200,175,227, 2, 56,175,227, 2, 0, 0, 0, 0, 0, 0,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,200,175,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0, 16,176,227, 2,128,175,227, 2, 0, 0, 0, 0,240, 4,195, 2, 1, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0, 16,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 88,176,227, 2,200,175,227, 2, 0, 0, 0, 0,240, 4, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0, 88,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0,160,176,227, 2, 16,176,227, 2,
+ 0, 0, 0, 0, 0, 0, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,160,176,227, 2,194, 0, 0, 0, 1, 0, 0, 0,
+232,176,227, 2, 88,176,227, 2, 0, 0, 0, 0, 48, 2,195, 2, 1, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,232,176,227, 2,
+194, 0, 0, 0, 1, 0, 0, 0, 48,177,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 92, 1, 0, 0, 0, 0, 68, 65, 84, 65,
+ 20, 0, 0, 0, 48,177,227, 2,194, 0, 0, 0, 1, 0, 0, 0,120,177,227, 2,232,176,227, 2, 0, 0, 0, 0, 48, 2, 92, 1,
+ 0, 0, 0, 0, 68, 65, 84, 65, 20, 0, 0, 0,120,177,227, 2,194, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 48,177,227, 2,
+ 0, 0, 0, 0,240, 4, 68, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,192,177,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 8,178,227, 2, 0, 0, 0, 0,168,174,227, 2,240,174,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 8,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 80,178,227, 2,192,177,227, 2,168,174,227, 2,128,175,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 80,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0,152,178,227, 2, 8,178,227, 2,
+240,174,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,152,178,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0,224,178,227, 2, 80,178,227, 2,128,175,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0,224,178,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 40,179,227, 2,152,178,227, 2,200,175,227, 2, 16,176,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 40,179,227, 2,195, 0, 0, 0, 1, 0, 0, 0,112,179,227, 2,
+224,178,227, 2, 96,174,227, 2, 88,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,112,179,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,184,179,227, 2, 40,179,227, 2,128,175,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,184,179,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0,180,227, 2,112,179,227, 2, 88,176,227, 2,
+232,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 0,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+ 72,180,227, 2,184,179,227, 2,232,176,227, 2, 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+ 72,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,144,180,227, 2, 0,180,227, 2,160,176,227, 2, 48,177,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,144,180,227, 2,195, 0, 0, 0, 1, 0, 0, 0,216,180,227, 2, 72,180,227, 2,
+ 16,176,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,216,180,227, 2,195, 0, 0, 0,
+ 1, 0, 0, 0, 32,181,227, 2,144,180,227, 2, 56,175,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
+ 24, 0, 0, 0, 32,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0,104,181,227, 2,216,180,227, 2, 88,176,227, 2,120,177,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,104,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0,176,181,227, 2,
+ 32,181,227, 2, 96,174,227, 2, 56,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,176,181,227, 2,
+195, 0, 0, 0, 1, 0, 0, 0,248,181,227, 2,104,181,227, 2,200,175,227, 2,160,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 68, 65, 84, 65, 24, 0, 0, 0,248,181,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 64,182,227, 2,176,181,227, 2, 16,176,227, 2,
+ 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0, 64,182,227, 2,195, 0, 0, 0, 1, 0, 0, 0,
+136,182,227, 2,248,181,227, 2,128,175,227, 2,232,176,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 24, 0, 0, 0,
+136,182,227, 2,195, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 64,182,227, 2, 16,176,227, 2,232,176,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,160,100,215, 2,197, 0, 0, 0, 1, 0, 0, 0, 48,101,215, 2, 0, 0, 0, 0,
+128,175,227, 2,168,174,227, 2,240,174,227, 2,200,175,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,
+222, 2, 0, 0, 7, 7,241, 4, 27, 0, 1, 0, 0, 0, 0, 0, 7, 0, 0, 0,136,129,206, 2, 24,235,220, 2, 24,235,220, 2,
+216,153,227, 2, 0,155,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,232, 81, 6, 4,136, 81, 6, 4, 68, 65, 84, 65,248, 0, 0, 0,
+216,153,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0,155,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,148, 68, 0, 0, 0, 0,
+ 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0,
+ 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 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,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0,196, 2, 0, 0,221, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+241, 4, 26, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32, 64,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 0,155,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,216,153,227, 2,
+ 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,222, 2, 0, 0,222, 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, 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,144, 63,206, 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, 68, 65, 84, 65, 96, 0, 0, 0, 48,101,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0,192,101,215, 2,160,100,215, 2, 96,174,227, 2, 88,176,227, 2,120,177,227, 2, 56,175,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0,240, 4, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 15, 15,241, 4, 68, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 88,107,206, 2,144,221,227, 2,144,221,227, 2, 40,156,227, 2, 80,157,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 40, 81, 6, 4,
+168, 82, 6, 4, 68, 65, 84, 65,248, 0, 0, 0, 40,156,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 80,157,227, 2, 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, 32,158, 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,240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 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,241, 4, 26, 0,241, 4, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 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,241, 4, 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,224, 52,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 80,157,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 40,156,227, 2, 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,
+240, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 18, 0, 0, 0, 41, 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,241, 4, 42, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0,
+ 26, 0, 0, 0, 67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 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, 80, 52,206, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,248,207, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,136,206, 46, 21,
- 1, 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,
+188, 0, 0, 0,144,221,227, 2,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, 68, 65, 84, 65,
-240, 0, 0, 0,104,209, 46, 21, 1, 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, 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, 31, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,192,101,215, 2,197, 0, 0, 0, 1, 0, 0, 0,
+ 80,102,215, 2, 48,101,215, 2, 88,176,227, 2,232,176,227, 2, 16,176,227, 2,120,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+240, 4, 0, 0, 69, 0, 0, 0, 91, 1, 0, 0, 8, 8,241, 4, 23, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,240,169,206, 2,
+128,254,227, 2,128,254,227, 2,120,158,227, 2,232,224,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 8, 83, 6, 4,136, 84, 6, 4,
+ 68, 65, 84, 65,248, 0, 0, 0,120,158,227, 2,198, 0, 0, 0, 1, 0, 0, 0,152,222,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0,128, 26, 68, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 32,158, 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,
+240, 4, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,158, 68, 0, 0,200, 65, 0, 0,158, 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,241, 4, 26, 0,241, 4, 26, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,240, 4, 0, 0, 69, 0, 0, 0, 94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,241, 4, 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, 64,206,206, 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, 68, 65, 84, 65,248, 0, 0, 0,152,222,227, 2,198, 0, 0, 0, 1, 0, 0, 0,
+192,223,227, 2,120,158,227, 2, 0, 0, 0, 0, 0, 0, 92, 67, 0, 0,125,195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 67,
+ 1, 0,125,195, 0, 0, 0, 0,203, 0, 0, 0,220, 0, 0, 0, 0, 0, 0, 0,252, 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, 0,252, 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,220, 0,
+253, 0,203, 0,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4, 0, 0,240, 4, 0, 0, 95, 0, 0, 0,
+ 91, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 0,253, 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,176,205,206, 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, 68, 65, 84, 65,248, 0, 0, 0,
+192,223,227, 2,198, 0, 0, 0, 1, 0, 0, 0,232,224,227, 2,152,222,227, 2, 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, 20, 4, 0, 0, 91, 1, 0, 0, 91, 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, 7, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 32,205,206, 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, 68, 65, 84, 65,248, 0, 0, 0,232,224,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,223,227, 2,
+ 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,252, 0, 0, 0, 18, 0, 0, 0, 20, 4, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0,
+ 18, 0, 0, 0, 20, 4, 0, 0, 18, 0, 0, 0,252, 0, 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, 21, 4,253, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 4, 0, 0, 95, 0, 0, 0, 91, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 4,253, 0, 0, 0, 0, 0, 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,204,206, 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, 68, 65, 84, 65,216, 0, 0, 0,128,254,227, 2,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, 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, 68, 65, 84, 65,
+ 96, 0, 0, 0, 80,102,215, 2,197, 0, 0, 0, 1, 0, 0, 0,224,102,215, 2,192,101,215, 2,232,176,227, 2,128,175,227, 2,
+160,176,227, 2, 48,177,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 2, 2, 48, 2,
+102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 88,113,206, 2,136,255,227, 2,136,255,227, 2, 16,226,227, 2,136,229,227, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,160, 33,220, 3, 64,120, 10, 4, 68, 65, 84, 65,248, 0, 0, 0, 16,226,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 56,227,227, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 89, 68, 0, 0, 0, 0, 0, 0,208, 65,154,216, 65, 55,
+ 0, 0, 12, 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, 47, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 11, 68,
+ 0, 0,200, 65, 0,192, 11, 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, 48, 2, 26, 0, 48, 2, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47, 2, 0, 0,
+ 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 26, 0, 0, 0, 1, 0,
+ 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,208, 56,206, 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, 68, 65, 84, 65,
+248, 0, 0, 0, 56,227,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 96,228,227, 2, 16,226,227, 2, 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,157,195, 0, 0, 0, 0,200, 0, 0, 0,217, 0, 0, 0,
+ 18, 0, 0, 0, 75, 1, 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, 75, 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,
+ 10, 6, 0, 0, 2, 0, 3, 3, 0, 0, 0, 4, 6, 0,217, 0, 76, 1,200, 0, 58, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,216, 0, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,217, 0, 76, 1, 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, 96, 57,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 96,228,227, 2,198, 0, 0, 0, 1, 0, 0, 0,136,229,227, 2,
+ 56,227,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, 0, 0, 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,210, 46, 21,
- 1, 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,152,210, 46, 21, 1, 0, 0, 0, 19, 1, 0, 0, 1, 0, 0, 0, 56,174, 47, 4,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 2, 0, 0, 47, 2, 0, 0,119, 1, 0, 0,194, 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, 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,240, 57,206, 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, 68, 65, 84, 65,248, 0, 0, 0,136,229,227, 2,
+198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 96,228,227, 2, 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, 75, 1, 0, 0,
+ 18, 0, 0, 0, 86, 1, 0, 0, 0, 0, 0, 0, 17, 0, 0, 0, 18, 0, 0, 0, 86, 1, 0, 0, 18, 0, 0, 0, 75, 1, 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, 87, 1, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,217, 0, 0, 0,
+ 47, 2, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 1, 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, 64, 56,206, 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,
+ 68, 65, 84, 65,208, 0, 0, 0,136,255,227, 2,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, 68, 65, 84, 65,160, 0, 0, 0, 72,211, 46, 21, 1, 0, 0, 0,197, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,200,202, 46, 21, 1, 0, 0, 0, 24,176, 46, 21, 1, 0, 0, 0, 88,175, 46, 21, 1, 0, 0, 0, 56,174, 46, 21,
- 1, 0, 0, 0,152,174, 46, 21, 1, 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,232,217, 46, 21,
- 1, 0, 0, 0,232,217, 46, 21, 1, 0, 0, 0, 40,212, 46, 21, 1, 0, 0, 0,120,216, 46, 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, 68, 65, 84, 65,
- 40, 1, 0, 0, 40,212, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,152,213, 46, 21, 1, 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,152,213, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 8,215, 46, 21, 1, 0, 0, 0, 40,212, 46, 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,184,114, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 88, 0, 0, 0,184,114, 40, 0, 20, 1, 0, 0, 1, 0, 0, 0,144, 1,228, 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,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, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 96, 0, 0, 0,224,102,215, 2,197, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0, 80,102,215, 2, 48,177,227, 2,160,176,227, 2,200,175,227, 2, 16,176,227, 2, 0, 0, 0, 0,
+ 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,194, 2, 0, 0, 8, 8,192, 2,102, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+240,169,206, 2,136, 0,228, 2,136, 0,228, 2,176,230,227, 2, 40,234,227, 2, 0, 0, 0, 0, 0, 0, 0, 0,160,120, 10, 4,
+192,121, 10, 4, 68, 65, 84, 65,248, 0, 0, 0,176,230,227, 2,198, 0, 0, 0, 1, 0, 0, 0,216,231,227, 2, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0,245, 67, 0, 0, 0, 0, 0, 0,208, 65, 0, 0, 0, 0, 0, 0, 48, 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, 2, 0, 0, 0, 0, 0, 0, 25, 0, 0, 0, 0,192, 47, 68, 0, 0,200, 65, 0,192, 47, 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,192, 2, 26, 0,192, 2, 26, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0, 93, 1, 0, 0,118, 1, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 2, 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, 64,206,206, 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, 68, 65, 84, 65,248, 0, 0, 0,216,231,227, 2,198, 0, 0, 0,
+ 1, 0, 0, 0, 0,233,227, 2,176,230,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, 68, 65, 84, 65,
- 40, 1, 0, 0, 8,215, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0,120,216, 46, 21, 1, 0, 0, 0,152,213, 46, 21,
- 1, 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,240, 4, 0, 0,240, 4, 0, 0,
+119, 1, 0, 0,194, 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, 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,176,205,206, 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, 68, 65, 84, 65,
- 40, 1, 0, 0,120,216, 46, 21, 1, 0, 0, 0,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,215, 46, 21,
- 1, 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,
+248, 0, 0, 0, 0,233,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 40,234,227, 2,216,231,227, 2, 0, 0,240,195, 0, 0,240, 67,
+ 0, 0,135,195, 0, 0,135, 67,238, 33,143,196,238, 33,143, 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,191, 2, 0, 0,
+ 0, 0, 0, 0, 75, 1, 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,192, 2, 76, 1,192, 2, 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 49, 2, 0, 0,240, 4, 0, 0,119, 1, 0, 0,194, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0,192, 2, 76, 1, 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, 32,205,206, 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, 68, 65, 84, 65,248, 0, 0, 0, 40,234,227, 2,198, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0,233,227, 2, 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,232,217, 46, 21, 1, 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, 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, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,144,204,206, 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, 68, 65, 84, 65,216, 0, 0, 0,136, 0,228, 2,
+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, 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, 56,174, 47, 4, 1, 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, 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,152,219, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,182, 47, 4, 1, 0, 0, 0,136,233, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,104,222, 46, 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, 1, 0, 0, 0, 1, 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,184,223, 46, 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,
+ 83, 67, 0, 0, 48, 5, 0, 0,144, 1,228, 2,154, 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, 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,192, 0,216, 2, 0, 0, 0, 0,144, 12,228, 2,240, 10,228, 2, 0, 0, 0, 0,144, 28,204, 2, 48, 29,204, 2,
+144, 28,204, 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, 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,240, 6,228, 2, 32,189, 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, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 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, 88,227, 46, 21, 1, 0, 0, 0, 88,227, 46, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 0, 0, 0, 68,172, 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, 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, 24, 0, 17, 0, 0, 0, 90, 0, 1, 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,168, 18,216, 2,
+168, 18,216, 2, 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, 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, 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, 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, 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,192,227, 46, 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,152,208, 40, 21, 1, 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, 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, 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,
+ 96,100,174, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232,202,205, 2, 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,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,152,219, 46, 21, 1, 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, 56,220, 46, 21, 1, 0, 0, 0,200,221, 46, 21, 1, 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, 56,220, 46, 21, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0,200,221, 46, 21,
- 1, 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,220, 46, 21,
- 1, 0, 0, 0,216,220, 46, 21, 1, 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,220, 46, 21, 1, 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,120,221, 46, 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, 10, 0, 0, 0, 10, 0, 0, 0, 68, 65, 84, 65, 12, 0, 0, 0,120,221, 46, 21,
- 1, 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,
-200,221, 46, 21, 1, 0, 0, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56,220, 46, 21, 1, 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,104,222, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0,216,222, 46, 21, 1, 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, 40, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0,216,222, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,104,222, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0,
- 0, 4, 0, 0,160, 3,244, 2, 56, 46, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 40, 0, 0, 0, 72,223, 46, 21, 1, 0, 0, 0,
-130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,216,222, 46, 21, 1, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0,
- 0, 4, 0, 0,158, 0, 21, 2, 56,182, 47, 4, 1, 0, 0, 0, 68, 65, 84, 65,192, 1, 0, 0,184,223, 46, 21, 1, 0, 0, 0,
-150, 0, 0, 0, 1, 0, 0, 0,184,225, 46, 21, 1, 0, 0, 0, 56,226, 46, 21, 1, 0, 0, 0,184,226, 46, 21, 1, 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,200,141, 47, 21, 1, 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,184,225, 46, 21, 1, 0, 0, 0,149, 0, 0, 0, 1, 0, 0, 0,
- 56, 43, 47, 21, 1, 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,
- 56,226, 46, 21, 1, 0, 0, 0,149, 0, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21, 1, 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,184,226, 46, 21, 1, 0, 0, 0,148, 0, 0, 0, 1, 0, 0, 0,
-168,110, 47, 21, 1, 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, 88,227, 46, 21, 1, 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, 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, 72,228, 46, 21, 1, 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, 24,229, 46, 21, 1, 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,
- 56,231, 46, 21, 1, 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,
+180, 0, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 5, 0, 0, 0, 0, 0,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,195,245, 28,193, 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 76, 0, 0, 0,192, 0,216, 2, 8, 0, 0, 0, 1, 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, 68, 65, 84, 65, 28, 0, 0, 0,144, 28,204, 2,130, 0, 0, 0, 1, 0, 0, 0,224, 28,204, 2, 0, 0, 0, 0,
+ 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,194, 1, 42, 1,240, 16,228, 2, 68, 65, 84, 65, 28, 0, 0, 0,224, 28,204, 2,
+130, 0, 0, 0, 1, 0, 0, 0, 48, 29,204, 2,144, 28,204, 2, 1, 0, 0, 0, 2, 0, 0, 0, 0, 4, 0, 0, 69, 2,243, 1,
+192, 21,228, 2, 68, 65, 84, 65, 28, 0, 0, 0, 48, 29,204, 2,130, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,224, 28,204, 2,
+ 1, 0, 0, 0, 3, 0, 0, 0, 0, 4, 0, 0, 99, 0,103, 1,144, 12,228, 2, 68, 65, 84, 65,152, 1, 0, 0,240, 6,228, 2,
+150, 0, 0, 0, 1, 0, 0, 0, 0, 4,204, 2, 88, 4,204, 2, 64,115, 40, 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,212,229, 2,
+ 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,
+ 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,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,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, 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, 36, 0, 0, 0, 0, 4,204, 2,149, 0, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 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, 68, 65, 84, 65, 36, 0, 0, 0,
+ 88, 4,204, 2,149, 0, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 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, 68, 65, 84, 65, 88, 0, 0, 0, 64,115, 40, 0,148, 0, 0, 0,
+ 1, 0, 0, 0,136,194,229, 2, 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,
+ 72, 0, 0, 0,168, 18,216, 2,136, 0, 0, 0, 1, 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,
+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,104, 0, 0, 0,
+184, 8,228, 2, 21, 0, 0, 0, 1, 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, 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, 76, 65, 0, 0,108, 1, 0, 0, 80, 9,228, 2,
+ 33, 0, 0, 0, 1, 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, 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, 0, 28,221, 2, 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,128, 29,204, 2, 68, 65, 84, 65, 16, 1, 0, 0, 0, 28,221, 2,
+ 80, 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,208,182,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, 24,233, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 64, 1, 0, 0, 56,231, 46, 21, 1, 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,232, 46, 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,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,
+208,182,227, 2, 78, 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,128, 29,204, 2, 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, 87, 79, 0, 0,112, 1, 0, 0,
+240, 10,228, 2,129, 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,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,208, 29,204, 2, 68, 65, 84, 65,
+ 32, 0, 0, 0,208, 29,204, 2, 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, 79, 66, 0, 0, 44, 4, 0, 0,144, 12,228, 2,116, 0, 0, 0,
+ 1, 0, 0, 0,240, 16,228, 2, 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,
+ 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,184, 8,228, 2,
+ 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,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, 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,236,214, 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,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,232, 46, 21, 1, 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,233, 46, 21, 1, 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,136,233, 46, 21, 1, 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, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0,236,214, 2,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, 2, 0, 0, 0, 79, 66, 0, 0, 44, 4, 0, 0,240, 16,228, 2,
+116, 0, 0, 0, 1, 0, 0, 0,192, 21,228, 2,144, 12,228, 2, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,195,249, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+144, 30,221, 2, 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, 80, 21,228, 2,136, 21,228, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0,168,235, 46, 21, 1, 0, 0, 0,
- 68, 65, 84, 65, 40, 0, 0, 0,168,235, 46, 21, 1, 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, 32, 5, 0, 0, 56,182, 47, 4, 1, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0,
- 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, 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,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,192,236,214, 2, 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, 32, 47, 1, 4, 64, 53, 1, 4,
+ 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, 68, 65, 84, 65, 4, 0, 0, 0, 80, 21,228, 2,
+ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,136, 21,228, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,192,236,214, 2,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, 0, 0, 0, 0, 0, 0, 0, 0, 72,228, 46, 21, 1, 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, 72, 0, 0, 0, 79, 66, 0, 0, 44, 4, 0, 0,192, 21,228, 2,116, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+240, 16,228, 2, 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, 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, 80, 9,228, 2, 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,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,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, 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, 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,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, 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, 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,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, 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, 24,236, 46, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 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,
- 24,236, 46, 21, 1, 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, 32, 5, 0, 0, 56, 40, 54, 4, 1, 0, 0, 0,116, 0, 0, 0, 1, 0, 0, 0,
- 56, 46, 54, 4, 1, 0, 0, 0, 56,182, 47, 4, 1, 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, 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, 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,128,237,214, 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, 1, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 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,246, 46, 21, 1, 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,
-248,236, 46, 21, 1, 0, 0, 0, 72,237, 46, 21, 1, 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,237, 46, 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, 1, 0,
- 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,236, 46, 21, 1, 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,237, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,
-152, 0, 0, 0,152,237, 46, 21, 1, 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, 32, 5, 0, 0, 56, 46, 54, 4, 1, 0, 0, 0,116, 0, 0, 0,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 40, 54, 4, 1, 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, 24,229, 46, 21, 1, 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,120,238, 46, 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,
- 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,120,238, 46, 21, 1, 0, 0, 0,119, 0, 0, 0, 1, 0, 0, 0, 0,192, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65,144, 0, 0, 0,128,237,214, 2,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, 88,239, 46, 21,
- 1, 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, 0, 0, 2, 0, 0, 0, 77, 65, 0, 0,160, 2, 0, 0, 32, 26,228, 2, 35, 0, 0, 0, 1, 0, 0, 0,
+ 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, 1, 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,128, 63, 0, 0,128, 63, 72, 29,221, 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, 32, 30,204, 2,
+ 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,
+ 68, 65, 84, 65, 16, 1, 0, 0, 72, 29,221, 2, 24, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 8, 97,223, 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, 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, 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,184,242, 46, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 32, 0, 0, 0, 32, 30,204, 2, 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,240, 28,228, 2, 32, 45,228, 2, 68, 65, 84, 65, 0, 16, 0, 0,
+240, 28,228, 2, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24,244, 46, 21,
- 1, 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,184,242, 46, 21, 1, 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,136,244, 46, 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, 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, 24,244, 46, 21, 1, 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, 56, 52, 54, 4, 1, 0, 0, 0, 56, 70, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65,
- 0, 16, 0, 0, 56, 52, 54, 4, 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, 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,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, 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, 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, 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, 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, 32, 45,228, 2, 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, 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, 56, 70, 54, 4,
- 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,
@@ -5937,22 +5803,19 @@ char datatoc_startup_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, 69, 0, 0,112, 1, 0, 0,136,244, 46, 21, 1, 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,
+ 84, 69, 0, 0, 48, 1, 0, 0, 8, 97,223, 2, 31, 0, 0, 0, 1, 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, 56,246, 46, 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, 68, 65, 84, 65, 40, 0, 0, 0, 56,246, 46, 21,
- 1, 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, 56,216, 54, 4, 1, 0, 0, 0, 56,234, 54, 4, 1, 0, 0, 0, 68, 65, 84, 65, 0, 16, 0, 0, 56,216, 54, 4,
- 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,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, 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,112, 30,204, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 68, 65, 84, 65, 32, 0, 0, 0,112, 30,204, 2, 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, 80,189,228, 2,128,205,228, 2, 68, 65, 84, 65, 0, 16, 0, 0,
+ 80,189,228, 2, 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,
@@ -6080,9 +5943,7 @@ char datatoc_startup_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, 0,144, 0, 0, 56,234, 54, 4, 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, 68, 65, 84, 65, 0,144, 0, 0,128,205,228, 2, 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,
@@ -7233,86 +7094,79 @@ char datatoc_startup_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, 77, 69, 0, 0,152, 1, 0, 0,168,246, 46, 21, 1, 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,136,248, 46, 21, 1, 0, 0, 0,152,255, 46, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,136,250, 46, 21, 1, 0, 0, 0, 24,253, 46, 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,216,248, 46, 21, 1, 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,104,251, 46, 21, 1, 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,253, 46, 21, 1, 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,
+ 77, 69, 0, 0, 24, 1, 0, 0,144, 30,221, 2, 46, 0, 0, 0, 1, 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,176, 93,229, 2, 40,210,215, 2,
+ 0, 0, 0, 0, 0, 0, 0, 0,112, 95,229, 2, 64,238,214, 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,232, 93,229, 2, 1, 0, 0, 0, 5, 0, 0, 0, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 64, 96,229, 2, 1, 0, 0, 0, 5, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+200, 97,229, 2, 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, 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,136,248, 46, 21,
- 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 88,239, 46, 21, 1, 0, 0, 0, 68, 65, 84, 65,104, 1, 0, 0,216,248, 46, 21,
- 1, 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,136,250, 46, 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 4, 0, 0, 0,176, 93,229, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+ 32, 26,228, 2, 68, 65, 84, 65, 84, 1, 0, 0,232, 93,229, 2, 85, 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,112, 95,229, 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, 68, 65, 84, 65,160, 0, 0, 0,136,250, 46, 21,
- 1, 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,104,251, 46, 21, 1, 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,253, 46, 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, 68, 65, 84, 65,160, 0, 0, 0,112, 95,229, 2, 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, 84, 1, 0, 0, 64, 96,229, 2, 85, 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, 64,238,214, 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, 68, 65, 84, 65,144, 0, 0, 0, 24,253, 46, 21, 1, 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,232,253, 46, 21,
- 1, 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,152,255, 46, 21, 1, 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, 68, 65, 84, 65,144, 0, 0, 0, 64,238,214, 2, 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, 84, 1, 0, 0,200, 97,229, 2, 85, 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, 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,152,255, 46, 21,
- 1, 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, 88, 0, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,232, 6, 47, 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, 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,248, 4, 47, 21,
- 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,
+ 40,210,215, 2, 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,241,113, 73, 96, 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,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,120, 0, 0, 0, 40,210,215, 2,
+ 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,204, 2, 0, 0, 80, 99,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,102,229, 2, 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, 63, 0, 0, 0, 0, 32, 33,221, 2,
+ 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, 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, 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,128, 63, 0, 0,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,
@@ -7320,11 +7174,11 @@ char datatoc_startup_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, 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,192, 0, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156, 99,229, 2, 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, 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,
@@ -7333,24 +7187,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 4, 47, 21, 1, 0, 0, 0, 79, 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, 6, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 32, 33,221, 2, 80, 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,235,220, 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,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, 6, 47, 21, 1, 0, 0, 0, 77, 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,232, 6, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 24, 12, 47, 21,
- 1, 0, 0, 0, 88, 0, 47, 21, 1, 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, 40, 10, 47, 21,
- 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,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,235,220, 2, 78, 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,204, 2, 0, 0, 80,102,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+ 80,105,229, 2, 80, 99,229, 2, 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, 63, 0, 0, 0, 0,104, 34,221, 2, 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, 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,
@@ -7366,85 +7217,55 @@ char datatoc_startup_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, 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, 80, 7, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156,102,229, 2, 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, 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, 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, 10, 47, 21, 1, 0, 0, 0, 79, 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,168, 11, 47, 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,128, 63, 0, 0,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, 16, 1, 0, 0,104, 34,221, 2, 80, 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,235,220, 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,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, 11, 47, 21, 1, 0, 0, 0, 77, 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, 12, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 72, 17, 47, 21,
- 1, 0, 0, 0,232, 6, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 66,108,
+ 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,235,220, 2,
+ 78, 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,204, 2, 0, 0,
+ 80,105,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,108,229, 2, 80,102,229, 2, 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, 88, 15, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,176, 35,221, 2, 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, 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, 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,128, 12, 47, 21,
- 1, 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, 15, 47, 21, 1, 0, 0, 0, 79, 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,216, 16, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 16, 47, 21, 1, 0, 0, 0, 77, 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, 17, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,120, 22, 47, 21,
- 1, 0, 0, 0, 24, 12, 47, 21, 1, 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,136, 20, 47, 21,
- 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, 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, 16, 1, 0, 0,
+156,105,229, 2, 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, 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,
@@ -7452,55 +7273,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,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,
+ 16, 1, 0, 0,176, 35,221, 2, 80, 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,236,220, 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,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,236,220, 2, 78, 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,204, 2, 0, 0, 80,108,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,143,229, 2, 80,105,229, 2,
+ 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, 63, 0, 0, 0, 0,
+104,111,229, 2, 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, 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, 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,176, 17, 47, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 1, 0, 0,156,108,229, 2, 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, 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,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,136, 20, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+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, 16, 1, 0, 0,104,111,229, 2, 80, 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, 22, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,236,220, 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,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,236,220, 2, 78, 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,204, 2, 0, 0, 80,143,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0, 80,146,229, 2, 80,108,229, 2, 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, 63, 0, 0, 0, 0,176,112,229, 2, 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,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, 22, 47, 21, 1, 0, 0, 0, 77, 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,120, 22, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,168, 27, 47, 21,
- 1, 0, 0, 0, 72, 17, 47, 21, 1, 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,184, 25, 47, 21,
- 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,
+ 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, 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,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,
@@ -7508,45 +7347,43 @@ char datatoc_startup_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, 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,224, 22, 47, 21,
- 1, 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, 0, 0, 0, 0, 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, 16, 1, 0, 0,156,143,229, 2, 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, 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,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, 25, 47, 21, 1, 0, 0, 0, 79, 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, 27, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,176,112,229, 2,
+ 80, 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,248,236,220, 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,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, 27, 47, 21, 1, 0, 0, 0, 77, 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, 27, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,216, 32, 47, 21,
- 1, 0, 0, 0,120, 22, 47, 21, 1, 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,232, 30, 47, 21,
- 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, 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,236,220, 2, 78, 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,
+204, 2, 0, 0, 80,146,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,149,229, 2, 80,143,229, 2, 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, 63, 0, 0, 0, 0,248,113,229, 2, 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, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7554,59 +7391,77 @@ char datatoc_startup_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, 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,
+ 16, 1, 0, 0,156,146,229, 2, 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, 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, 16, 28, 47, 21,
- 1, 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,
+ 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, 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, 30, 47, 21, 1, 0, 0, 0, 79, 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,104, 32, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0,248,113,229, 2, 80, 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, 88,237,220, 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,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,237,220, 2, 78, 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,204, 2, 0, 0, 80,149,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,152,229, 2,
+ 80,146,229, 2, 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, 63,
+ 0, 0, 0, 0, 64,115,229, 2, 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, 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,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, 32, 47, 21, 1, 0, 0, 0, 77, 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,216, 32, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 8, 38, 47, 21,
- 1, 0, 0, 0,168, 27, 47, 21, 1, 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, 24, 36, 47, 21,
- 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 1, 0, 0,156,149,229, 2, 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, 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, 16, 1, 0, 0, 64,115,229, 2, 80, 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,184,237,220, 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, 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, 64, 33, 47, 21,
- 1, 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,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,237,220, 2, 78, 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,204, 2, 0, 0, 80,152,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0, 80,155,229, 2, 80,149,229, 2, 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, 63, 0, 0, 0, 0,136,116,229, 2, 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, 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,
@@ -7615,33 +7470,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 36, 47, 21, 1, 0, 0, 0, 79, 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,152, 37, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 37, 47, 21, 1, 0, 0, 0, 77, 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, 8, 38, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 56, 43, 47, 21,
- 1, 0, 0, 0,216, 32, 47, 21, 1, 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, 72, 41, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -7652,43 +7481,39 @@ char datatoc_startup_blend[]= {
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,112, 38, 47, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,152,229, 2,
+ 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, 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, 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, 41, 47, 21, 1, 0, 0, 0, 79, 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, 42, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0,
+136,116,229, 2, 80, 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,238,220, 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,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, 42, 47, 21, 1, 0, 0, 0, 77, 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, 43, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,104, 48, 47, 21,
- 1, 0, 0, 0, 8, 38, 47, 21, 1, 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,120, 46, 47, 21,
- 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,
+ 48, 0, 0, 0, 24,238,220, 2, 78, 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,204, 2, 0, 0, 80,155,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,158,229, 2, 80,152,229, 2, 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, 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, 63, 0, 0, 0, 0,208,117,229, 2,
+ 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, 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,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,128, 63, 0, 0,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,
@@ -7696,11 +7521,11 @@ char datatoc_startup_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, 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,160, 43, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156,155,229, 2, 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, 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,
@@ -7709,24 +7534,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 46, 47, 21, 1, 0, 0, 0, 79, 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,248, 47, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,208,117,229, 2, 80, 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,120,238,220, 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,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, 47, 47, 21, 1, 0, 0, 0, 77, 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, 48, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,152, 53, 47, 21,
- 1, 0, 0, 0, 56, 43, 47, 21, 1, 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,168, 51, 47, 21,
- 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,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,238,220, 2, 78, 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,204, 2, 0, 0, 80,158,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+ 80,161,229, 2, 80,155,229, 2, 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, 63, 0, 0, 0, 0, 24,119,229, 2, 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, 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,
@@ -7742,85 +7564,55 @@ char datatoc_startup_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, 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,208, 48, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156,158,229, 2, 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, 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, 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, 51, 47, 21, 1, 0, 0, 0, 79, 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, 53, 47, 21, 1, 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, 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, 16, 1, 0, 0, 24,119,229, 2, 80, 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,238,220, 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,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, 53, 47, 21, 1, 0, 0, 0, 77, 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,152, 53, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,200, 58, 47, 21,
- 1, 0, 0, 0,104, 48, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 70,108,
+ 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,238,220, 2,
+ 78, 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,204, 2, 0, 0,
+ 80,161,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,164,229, 2, 80,158,229, 2, 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,216, 56, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 96,120,229, 2, 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, 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, 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, 0, 54, 47, 21,
- 1, 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, 56, 47, 21, 1, 0, 0, 0, 79, 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, 58, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 58, 47, 21, 1, 0, 0, 0, 77, 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, 58, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,248, 63, 47, 21,
- 1, 0, 0, 0,152, 53, 47, 21, 1, 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, 8, 62, 47, 21,
- 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, 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, 16, 1, 0, 0,
+156,161,229, 2, 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, 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,
@@ -7828,8 +7620,30 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,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,
+ 16, 1, 0, 0, 96,120,229, 2, 80, 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,239,220, 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,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,239,220, 2, 78, 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,204, 2, 0, 0, 80,164,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,167,229, 2, 80,161,229, 2,
+ 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, 63, 0, 0, 0, 0,
+168,121,229, 2, 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, 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,
@@ -7837,46 +7651,42 @@ char datatoc_startup_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, 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, 48, 59, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156,164,229, 2, 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, 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, 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,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8, 62, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+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, 16, 1, 0, 0,168,121,229, 2, 80, 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, 63, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,239,220, 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,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,239,220, 2, 78, 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,204, 2, 0, 0, 80,167,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0, 80,170,229, 2, 80,164,229, 2, 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, 63, 0, 0, 0, 0,240,122,229, 2, 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,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, 63, 47, 21, 1, 0, 0, 0, 77, 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,248, 63, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 40, 69, 47, 21,
- 1, 0, 0, 0,200, 58, 47, 21, 1, 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, 56, 67, 47, 21,
- 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,
+ 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, 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,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,
@@ -7884,46 +7694,43 @@ char datatoc_startup_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, 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, 96, 64, 47, 21,
- 1, 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, 0, 0, 0, 0, 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, 16, 1, 0, 0,156,167,229, 2, 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, 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,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, 67, 47, 21, 1, 0, 0, 0, 79, 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, 68, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,240,122,229, 2,
+ 80, 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,248,239,220, 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,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, 68, 47, 21, 1, 0, 0, 0, 77, 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, 69, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 88, 74, 47, 21,
- 1, 0, 0, 0,248, 63, 47, 21, 1, 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,104, 72, 47, 21,
- 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, 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,239,220, 2, 78, 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,
+204, 2, 0, 0, 80,170,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,173,229, 2, 80,167,229, 2, 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, 63, 0, 0, 0, 0, 56,124,229, 2, 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, 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, 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,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,
@@ -7931,58 +7738,77 @@ char datatoc_startup_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, 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,144, 69, 47, 21,
- 1, 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, 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,
+ 16, 1, 0, 0,156,170,229, 2, 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, 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,
+ 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, 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, 72, 47, 21, 1, 0, 0, 0, 79, 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, 73, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0, 56,124,229, 2, 80, 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,240,220, 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,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,240,220, 2, 78, 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,204, 2, 0, 0, 80,173,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 80,176,229, 2,
+ 80,170,229, 2, 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, 63,
+ 0, 0, 0, 0,128,125,229, 2, 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, 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,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, 73, 47, 21, 1, 0, 0, 0, 77, 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, 74, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,136, 79, 47, 21,
- 1, 0, 0, 0, 40, 69, 47, 21, 1, 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,152, 77, 47, 21,
- 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 1, 0, 0,156,173,229, 2, 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, 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, 16, 1, 0, 0,128,125,229, 2, 80, 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,240,220, 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, 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,192, 74, 47, 21,
- 1, 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,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,240,220, 2, 78, 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,204, 2, 0, 0, 80,176,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0, 80,179,229, 2, 80,173,229, 2, 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, 63, 0, 0, 0, 0,200,126,229, 2, 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, 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,
@@ -7991,33 +7817,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 77, 47, 21, 1, 0, 0, 0, 79, 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, 79, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 79, 47, 21, 1, 0, 0, 0, 77, 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,136, 79, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,184, 84, 47, 21,
- 1, 0, 0, 0, 88, 74, 47, 21, 1, 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,200, 82, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8028,43 +7828,39 @@ char datatoc_startup_blend[]= {
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,240, 79, 47, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,156,176,229, 2,
+ 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, 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, 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, 82, 47, 21, 1, 0, 0, 0, 79, 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, 84, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0,
+200,126,229, 2, 80, 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,241,220, 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,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, 84, 47, 21, 1, 0, 0, 0, 77, 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, 84, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,232, 89, 47, 21,
- 1, 0, 0, 0,136, 79, 47, 21, 1, 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,248, 87, 47, 21,
- 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,
+ 48, 0, 0, 0, 24,241,220, 2, 78, 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,204, 2, 0, 0, 80,179,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,104,182,229, 2, 80,176,229, 2, 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, 63, 0, 0, 0, 0, 16,128,229, 2,
+ 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, 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,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,128, 63, 0, 0,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,
@@ -8072,11 +7868,11 @@ char datatoc_startup_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, 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, 32, 85, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,156,179,229, 2, 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, 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,
@@ -8085,24 +7881,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 87, 47, 21, 1, 0, 0, 0, 79, 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, 89, 47, 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,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 16,128,229, 2, 80, 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,241,220, 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,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, 89, 47, 21, 1, 0, 0, 0, 77, 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,232, 89, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 24, 95, 47, 21,
- 1, 0, 0, 0,184, 84, 47, 21, 1, 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, 40, 93, 47, 21,
- 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,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,241,220, 2, 78, 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,204, 2, 0, 0,104,182,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+112,185,229, 2, 80,179,229, 2, 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, 63, 0, 0, 0, 0, 88,129,229, 2, 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, 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,
@@ -8118,85 +7911,55 @@ char datatoc_startup_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, 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, 80, 90, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,180,182,229, 2, 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, 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, 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, 93, 47, 21, 1, 0, 0, 0, 79, 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,168, 94, 47, 21, 1, 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, 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, 16, 1, 0, 0, 88,129,229, 2, 80, 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,241,220, 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,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, 94, 47, 21, 1, 0, 0, 0, 77, 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, 95, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 72,100, 47, 21,
- 1, 0, 0, 0,232, 89, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 80,105,
+ 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,241,220, 2,
+ 78, 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,204, 2, 0, 0,
+112,185,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,120,188,229, 2,104,182,229, 2, 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, 88, 98, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,160,130,229, 2, 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, 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, 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,128, 95, 47, 21,
- 1, 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, 98, 47, 21, 1, 0, 0, 0, 79, 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, 99, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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, 99, 47, 21, 1, 0, 0, 0, 77, 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, 72,100, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,120,105, 47, 21,
- 1, 0, 0, 0, 24, 95, 47, 21, 1, 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,136,103, 47, 21,
- 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, 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, 16, 1, 0, 0,
+188,185,229, 2, 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, 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,
@@ -8204,54 +7967,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,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,
+ 16, 1, 0, 0,160,130,229, 2, 80, 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,242,220, 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,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,242,220, 2, 78, 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,204, 2, 0, 0,120,188,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,128,191,229, 2,112,185,229, 2,
+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,
+ 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, 63, 0, 0, 0, 0,
+232,131,229, 2, 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, 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, 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,176,100, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,196,188,229, 2, 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, 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,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0,136,103, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+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, 16, 1, 0, 0,232,131,229, 2, 80, 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,105, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,242,220, 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,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,242,220, 2, 78, 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,204, 2, 0, 0,128,191,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0,136,194,229, 2,120,188,229, 2, 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, 63, 0, 0, 0, 0, 48,133,229, 2, 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,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,105, 47, 21, 1, 0, 0, 0, 77, 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,120,105, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,168,110, 47, 21,
- 1, 0, 0, 0, 72,100, 47, 21, 1, 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,184,108, 47, 21,
- 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,
+ 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, 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,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,
@@ -8259,47 +8041,43 @@ char datatoc_startup_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, 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,224,105, 47, 21,
- 1, 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, 0, 0, 0, 0, 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, 16, 1, 0, 0,204,191,229, 2, 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, 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,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,108, 47, 21, 1, 0, 0, 0, 79, 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,110, 47, 21, 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, 68, 65, 84, 65, 16, 1, 0, 0, 48,133,229, 2,
+ 80, 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,248,242,220, 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,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,110, 47, 21, 1, 0, 0, 0, 77, 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,110, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,216,115, 47, 21,
- 1, 0, 0, 0,120,105, 47, 21, 1, 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,232,113, 47, 21,
- 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, 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,242,220, 2, 78, 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,
+204, 2, 0, 0,136,194,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,144,197,229, 2,128,191,229, 2, 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, 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, 63, 0, 0, 0, 0,120,134,229, 2, 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, 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, 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,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,
@@ -8307,58 +8085,77 @@ char datatoc_startup_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, 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, 16,111, 47, 21,
- 1, 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, 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,
+ 16, 1, 0, 0,212,194,229, 2, 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, 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,
+ 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, 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,113, 47, 21, 1, 0, 0, 0, 79, 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,104,115, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0,120,134,229, 2, 80, 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, 88,243,220, 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,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,243,220, 2, 78, 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,204, 2, 0, 0,144,197,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,152,200,229, 2,
+136,194,229, 2, 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, 63,
+ 0, 0, 0, 0,192,135,229, 2, 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, 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,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,115, 47, 21, 1, 0, 0, 0, 77, 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,115, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 8,121, 47, 21,
- 1, 0, 0, 0,168,110, 47, 21, 1, 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, 24,119, 47, 21,
- 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, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 1, 0, 0,220,197,229, 2, 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, 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, 16, 1, 0, 0,192,135,229, 2, 80, 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,243,220, 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, 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, 64,116, 47, 21,
- 1, 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,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,243,220, 2, 78, 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,204, 2, 0, 0,152,200,229, 2,
+ 84, 1, 0, 0, 1, 0, 0, 0,160,203,229, 2,144,197,229, 2, 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, 63, 0, 0, 0, 0, 8,137,229, 2, 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, 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,
@@ -8367,33 +8164,7 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,119, 47, 21, 1, 0, 0, 0, 79, 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,152,120, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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,120, 47, 21, 1, 0, 0, 0, 77, 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, 8,121, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 56,126, 47, 21,
- 1, 0, 0, 0,216,115, 47, 21, 1, 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, 72,124, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8404,43 +8175,39 @@ char datatoc_startup_blend[]= {
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,112,121, 47, 21,
- 1, 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, 64, 63, 0, 0, 64, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 16, 1, 0, 0,228,200,229, 2,
+ 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, 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, 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,124, 47, 21, 1, 0, 0, 0, 79, 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,200,125, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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, 16, 1, 0, 0,
+ 8,137,229, 2, 80, 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, 24,244,220, 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,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,125, 47, 21, 1, 0, 0, 0, 77, 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,126, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,104,131, 47, 21,
- 1, 0, 0, 0, 8,121, 47, 21, 1, 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,120,129, 47, 21,
- 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,
+ 48, 0, 0, 0, 24,244,220, 2, 78, 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,204, 2, 0, 0,160,203,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,168,206,229, 2,152,200,229, 2, 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, 63, 0, 0, 0, 0, 80,138,229, 2,
+ 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, 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,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,128, 63, 0, 0,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,
@@ -8448,11 +8215,11 @@ char datatoc_startup_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, 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,160,126, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,236,203,229, 2, 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, 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,
@@ -8461,24 +8228,21 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,129, 47, 21, 1, 0, 0, 0, 79, 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,248,130, 47, 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,128, 63, 68, 65, 84, 65, 16, 1, 0, 0, 80,138,229, 2, 80, 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,120,244,220, 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,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,130, 47, 21, 1, 0, 0, 0, 77, 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,131, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,152,136, 47, 21,
- 1, 0, 0, 0, 56,126, 47, 21, 1, 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,168,134, 47, 21,
- 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,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,244,220, 2, 78, 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,204, 2, 0, 0,168,206,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,
+176,209,229, 2,160,203,229, 2, 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, 63, 0, 0, 0, 0,152,139,229, 2, 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, 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,
@@ -8494,85 +8258,55 @@ char datatoc_startup_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, 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,208,131, 47, 21,
- 1, 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, 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, 16, 1, 0, 0,244,206,229, 2, 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, 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, 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,134, 47, 21, 1, 0, 0, 0, 79, 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, 40,136, 47, 21, 1, 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, 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, 16, 1, 0, 0,152,139,229, 2, 80, 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,216,244,220, 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,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,136, 47, 21, 1, 0, 0, 0, 77, 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,136, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,200,141, 47, 21,
- 1, 0, 0, 0,104,131, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 82, 83,117,
+ 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,244,220, 2,
+ 78, 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,204, 2, 0, 0,
+176,209,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,184,212,229, 2,168,206,229, 2, 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,216,139, 47, 21,
- 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, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,224,140,229, 2, 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, 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, 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, 0,137, 47, 21,
- 1, 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,139, 47, 21, 1, 0, 0, 0, 79, 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, 88,141, 47, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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,141, 47, 21, 1, 0, 0, 0, 77, 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,141, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0,248,146, 47, 21,
- 1, 0, 0, 0,152,136, 47, 21, 1, 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, 8,145, 47, 21,
- 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, 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, 16, 1, 0, 0,
+252,209,229, 2, 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, 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,
@@ -8580,54 +8314,73 @@ char datatoc_startup_blend[]= {
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63,
0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,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,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,
+ 16, 1, 0, 0,224,140,229, 2, 80, 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,245,220, 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,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,245,220, 2, 78, 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,204, 2, 0, 0,184,212,229, 2, 84, 1, 0, 0, 1, 0, 0, 0,192,215,229, 2,176,209,229, 2,
+ 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, 63, 0, 0, 0, 0,
+128, 0,220, 3, 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, 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, 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, 48,142, 47, 21,
- 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 16, 1, 0, 0, 4,213,229, 2, 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, 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,
- 0, 0,128, 63, 68, 65, 84, 65, 64, 1, 0, 0, 8,145, 47, 21, 1, 0, 0, 0, 79, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0,
+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, 16, 1, 0, 0,128, 0,220, 3, 80, 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,146, 47, 21, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 46, 95,255,186,224,255,127,191,114, 97,255,186,152,245,220, 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,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,245,220, 2, 78, 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,204, 2, 0, 0,192,215,229, 2, 84, 1, 0, 0,
+ 1, 0, 0, 0,200,218,229, 2,184,212,229, 2, 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, 63, 0, 0, 0, 0,200, 1,220, 3, 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,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,146, 47, 21, 1, 0, 0, 0, 77, 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,248,146, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 40,152, 47, 21,
- 1, 0, 0, 0,200,141, 47, 21, 1, 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, 56,150, 47, 21,
- 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,
+ 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, 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,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,
@@ -8635,46 +8388,43 @@ char datatoc_startup_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, 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, 96,147, 47, 21,
- 1, 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, 0, 0, 0, 0, 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, 16, 1, 0, 0, 12,216,229, 2, 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, 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,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,150, 47, 21, 1, 0, 0, 0, 79, 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,151, 47, 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,128, 63, 0, 0,128, 63, 0, 0,128, 63, 0, 0,128, 63, 68, 65, 84, 65, 16, 1, 0, 0,200, 1,220, 3,
+ 80, 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,128, 32,220, 3, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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,151, 47, 21, 1, 0, 0, 0, 77, 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,152, 47, 21, 1, 0, 0, 0, 83, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0,248,146, 47, 21, 1, 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,104,155, 47, 21,
- 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, 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,
+128, 32,220, 3, 78, 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,
+204, 2, 0, 0,200,218,229, 2, 84, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,192,215,229, 2, 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, 63, 0, 0, 0, 0, 16, 3,220, 3, 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, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -8682,35 +8432,32 @@ char datatoc_startup_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, 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,
+ 16, 1, 0, 0, 20,219,229, 2, 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, 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,144,152, 47, 21,
- 1, 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,
+ 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, 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,155, 47, 21, 1, 0, 0, 0, 79, 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,156, 47, 21, 1, 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,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, 16, 1, 0, 0, 16, 3,220, 3, 80, 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,224, 32,220, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 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,156, 47, 21, 1, 0, 0, 0, 77, 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,224,228,168, 2, 1, 0, 0, 0,192, 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,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,224, 32,220, 3, 78, 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,144, 13, 0, 0,224,124, 22, 1,192, 0, 0, 0, 1, 0, 0, 0, 1, 8, 17, 1,
+ 63, 6, 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,
@@ -8725,9 +8472,9 @@ char datatoc_startup_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, 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, 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,
@@ -8745,9 +8492,9 @@ char datatoc_startup_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, 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, 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,
@@ -8765,22 +8512,22 @@ char datatoc_startup_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, 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, 56,138, 55, 4, 1, 0, 0, 0, 56,138, 55, 4, 1, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 3, 47, 21, 1, 0, 0, 0,184,160, 47, 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, 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, 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, 1, 0, 2, 0, 0, 8, 0, 0, 2, 0, 0, 0,
+ 68,172, 0, 0, 36, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 72, 0, 0, 0, 0, 0, 64, 0, 5, 0, 2, 0, 40, 62,220, 3,
+ 40, 62,220, 3,112, 25,221, 2,112, 25,221, 2,168, 92,220, 3,168, 92,220, 3, 0, 0, 0, 0, 0, 0, 0, 0, 32, 19,216, 2,
+224, 22,216, 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, 32, 0, 0, 0, 1, 0, 2, 0, 25, 0, 0, 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, 1, 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, 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,
@@ -8789,7 +8536,8 @@ char datatoc_startup_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, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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,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,
@@ -8817,637 +8565,642 @@ char datatoc_startup_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, 88, 30, 0, 0, 56,138, 55, 4, 1, 0, 0, 0,189, 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,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,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,152, 3, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 40, 4, 47, 21, 1, 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, 40, 4, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 88,157, 47, 21,
- 1, 0, 0, 0,152, 3, 47, 21, 1, 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, 88,157, 47, 21, 1, 0, 0, 0,190, 0, 0, 0,
- 1, 0, 0, 0,232,157, 47, 21, 1, 0, 0, 0, 40, 4, 47, 21, 1, 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,232,157, 47, 21,
- 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,120,158, 47, 21, 1, 0, 0, 0, 88,157, 47, 21, 1, 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,120,158, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 8,159, 47, 21, 1, 0, 0, 0,232,157, 47, 21,
- 1, 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, 8,159, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,152,159, 47, 21,
- 1, 0, 0, 0,120,158, 47, 21, 1, 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,152,159, 47, 21, 1, 0, 0, 0,190, 0, 0, 0,
- 1, 0, 0, 0, 40,160, 47, 21, 1, 0, 0, 0, 8,159, 47, 21, 1, 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,160, 47, 21,
- 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0,184,160, 47, 21, 1, 0, 0, 0,152,159, 47, 21, 1, 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, 68, 65, 84, 65, 80, 30, 0, 0, 40, 62,220, 3,189, 0, 0, 0, 1, 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,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, 4, 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, 3, 0, 0, 0, 0, 0, 0, 0, 68, 65, 84, 65, 72, 0, 0, 0, 32, 19,216, 2,190, 0, 0, 0,
+ 1, 0, 0, 0,152, 19,216, 2, 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, 72, 0, 0, 0,152, 19,216, 2,190, 0, 0, 0, 1, 0, 0, 0,
+ 16, 20,216, 2, 32, 19,216, 2,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, 72, 0, 0, 0, 16, 20,216, 2,190, 0, 0, 0, 1, 0, 0, 0,136, 20,216, 2,
+152, 19,216, 2,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, 72, 0, 0, 0,136, 20,216, 2,190, 0, 0, 0, 1, 0, 0, 0, 0, 21,216, 2, 16, 20,216, 2,
+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, 72, 0, 0, 0, 0, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,120, 21,216, 2,136, 20,216, 2,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,184,160, 47, 21, 1, 0, 0, 0,190, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 40,160, 47, 21,
- 1, 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,140,230, 0, 0, 56,188, 47, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65,
- 78, 65, 77, 69, 11, 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,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,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,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, 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,
+ 72, 0, 0, 0,120, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,240, 21,216, 2, 0, 21,216, 2,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, 72, 0, 0, 0,
+240, 21,216, 2,190, 0, 0, 0, 1, 0, 0, 0,104, 22,216, 2,120, 21,216, 2,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, 72, 0, 0, 0,104, 22,216, 2,
+190, 0, 0, 0, 1, 0, 0, 0,224, 22,216, 2,240, 21,216, 2,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, 72, 0, 0, 0,224, 22,216, 2,190, 0, 0, 0,
+ 1, 0, 0, 0, 0, 0, 0, 0,104, 22,216, 2,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,224, 0, 0, 0,168, 92,220, 3,183, 0, 0, 0, 1, 0, 0, 0,
+ 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, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,255,255, 0, 0,
+154,153, 25, 62, 0, 0,128, 63, 0, 0, 12, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,
+ 0, 0,128, 62, 0, 0, 0, 0, 0, 0, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,255,255, 0, 0,
+154,153, 25, 62, 0, 0,128, 63, 0, 0, 11, 0, 1, 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, 0, 0, 0, 0,128, 63, 0, 0, 0, 0, 8, 0, 5, 0, 5, 0, 8, 0, 2, 0, 8, 0, 4, 0, 0, 0,
+ 68, 78, 65, 49, 56,231, 0, 0, 32,143, 19, 4, 0, 0, 0, 0, 1, 0, 0, 0, 83, 68, 78, 65, 78, 65, 77, 69, 17, 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,103,101,110, 95,102,108, 97,103, 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,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, 99,104, 97,110,110,101,108,115, 0, 97,117,100,105,111, 95,112, 97,100, 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,
@@ -9461,21 +9214,20 @@ char datatoc_startup_blend[]= {
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,
+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,
@@ -9547,1394 +9299,1399 @@ char datatoc_startup_blend[]= {
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,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, 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,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, 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, 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, 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,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, 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, 12, 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, 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,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, 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, 35, 0, 12, 0,252, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,253, 1,
- 60, 0, 2, 0, 35, 0,145, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 0,254, 1, 4, 0,255, 1, 4, 0, 0, 2,
- 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2, 4, 0, 4, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 5, 2, 2, 0, 6, 2,
- 7, 0, 5, 0, 7, 0, 6, 0, 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, 21, 0, 7, 0, 15, 2, 7, 0, 16, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0,
- 62, 0,254, 1, 12, 0, 17, 2, 12, 0, 18, 2, 12, 0, 19, 2, 28, 0, 77, 0, 57, 0, 20, 2, 0, 0, 17, 0, 0, 0, 21, 2,
- 2, 0, 22, 2, 2, 0,169, 0, 2, 0, 35, 0, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 7, 0, 23, 2, 7, 0, 24, 2,
- 7, 0, 25, 2, 61, 0, 26, 2, 27, 0, 11, 0, 7, 0, 27, 2, 7, 0, 28, 2, 7, 0, 29, 2, 7, 0,248, 0, 2, 0, 52, 0,
- 0, 0, 30, 2, 0, 0, 31, 2, 0, 0, 32, 2, 0, 0, 33, 2, 0, 0, 34, 2, 0, 0, 35, 2, 26, 0, 7, 0, 7, 0, 36, 2,
- 7, 0, 28, 2, 7, 0, 29, 2, 2, 0, 32, 2, 2, 0, 35, 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, 37, 2, 2, 0, 35, 2, 2, 0, 17, 0, 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, 2, 0, 45, 2, 7, 0, 46, 2, 7, 0, 47, 2, 26, 0, 46, 0,
- 27, 0, 47, 0, 2, 0, 48, 2, 2, 0, 49, 2, 4, 0, 50, 2, 65, 0, 5, 0, 2, 0, 51, 2, 2, 0, 37, 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, 52, 2, 7, 0, 53, 2, 67, 0, 4, 0,
- 12, 0, 54, 2, 68, 0, 55, 2, 4, 0, 56, 2, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,254, 1,
- 12, 0, 57, 2, 12, 0, 18, 2, 67, 0, 58, 2, 24, 0, 59, 2, 24, 0, 60, 2, 24, 0, 61, 2, 28, 0, 77, 0, 70, 0, 62, 2,
- 30, 0, 63, 2, 57, 0, 20, 2, 12, 0, 64, 2, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 87, 0,
- 2, 0, 65, 2, 2, 0, 66, 2, 7, 0, 67, 2, 7, 0, 68, 2, 4, 0, 69, 2, 2, 0, 35, 0, 2, 0, 22, 2, 2, 0, 17, 0,
- 2, 0, 70, 2, 7, 0, 71, 2, 7, 0, 72, 2, 7, 0, 73, 2, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 74, 2, 2, 0, 75, 2,
- 4, 0, 76, 2, 9, 0, 77, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 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, 7, 0, 88, 2,
- 0, 0, 89, 2, 71, 0, 90, 2, 72, 0, 91, 2, 0, 0, 92, 2, 59, 0, 93, 2, 59, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2,
- 4, 0, 97, 2, 7, 0, 98, 2, 4, 0, 99, 2, 4, 0,100, 2, 66, 0,101, 2, 4, 0,102, 2, 4, 0,103, 2, 65, 0,104, 2,
- 65, 0,105, 2, 73, 0, 39, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0,254, 1, 28, 0, 77, 0, 30, 0, 63, 2, 57, 0, 20, 2,
- 74, 0,106, 2, 75, 0,107, 2, 76, 0,108, 2, 77, 0,109, 2, 78, 0,110, 2, 79, 0,111, 2, 80, 0,112, 2, 81, 0,113, 2,
- 73, 0,114, 2, 82, 0,115, 2, 83, 0,116, 2, 84, 0,117, 2, 84, 0,118, 2, 84, 0,119, 2, 4, 0, 51, 0, 4, 0,120, 2,
- 4, 0,121, 2, 4, 0,122, 2, 4, 0,123, 2, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 68, 1, 2, 0,169, 0, 2, 0, 65, 2,
- 2, 0,124, 2, 2, 0, 17, 0, 2, 0,125, 2, 2, 0,126, 2, 0, 0,127, 2, 0, 0,128, 2, 2, 0, 22, 2, 85, 0,129, 2,
- 86, 0,130, 2, 76, 0, 8, 0, 9, 0,131, 2, 7, 0,132, 2, 4, 0,133, 2, 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1,
- 2, 0,135, 2, 2, 0,136, 2, 74, 0, 7, 0, 4, 0,137, 2, 4, 0,138, 2, 4, 0,139, 2, 4, 0,140, 2, 2, 0, 37, 2,
- 0, 0,141, 2, 0, 0, 17, 0, 78, 0, 5, 0, 4, 0,137, 2, 4, 0,138, 2, 0, 0,142, 2, 0, 0,143, 2, 2, 0, 17, 0,
- 87, 0, 2, 0, 4, 0,144, 2, 7, 0, 29, 2, 79, 0, 3, 0, 87, 0,145, 2, 4, 0,146, 2, 4, 0, 17, 0, 77, 0, 4, 0,
- 7, 0,147, 2, 2, 0,148, 2, 0, 0, 17, 0, 0, 0,143, 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,131, 2, 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1, 2, 0,135, 2, 2, 0,136, 2,
- 89, 0, 1, 0, 7, 0,149, 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,150, 2, 82, 0, 2, 0, 4, 0,151, 2, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,132, 2, 39, 0,131, 2,
- 0, 0, 17, 0, 0, 0,134, 2, 2, 0, 72, 1, 2, 0,135, 2, 2, 0,136, 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,132, 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,133, 2,
- 98, 0, 5, 0, 4, 0,157, 2, 4, 0,158, 2, 0, 0, 17, 0, 0, 0, 37, 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,121, 2, 4, 0,120, 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,117, 2,
- 84, 0,119, 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,121, 2, 4, 0,120, 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, 71, 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, 29, 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, 56, 2, 0, 0, 90, 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 38, 2, 2, 0, 39, 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, 63, 2, 79, 0,111, 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, 62, 2, 62, 0,254, 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, 18, 2, 12, 0,117, 3, 12, 0,118, 3, 4, 0, 72, 1, 4, 0,119, 3,
- 57, 0, 20, 2, 0, 0,120, 3, 4, 0, 22, 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, 8, 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, 98, 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,151, 2,
- 2, 0,171, 3, 7, 0,133, 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, 56, 2, 2, 0,185, 3, 7, 0,124, 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,
- 7, 0,197, 3, 0, 0,198, 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,199, 3, 2, 0, 15, 0, 2, 0,200, 3,
- 7, 0,255, 2,166, 0, 12, 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 0,201, 3, 4, 0,151, 2, 4, 0,202, 3,
- 4, 0, 15, 0, 4, 0,203, 3, 7, 0, 69, 1, 7, 0,204, 3, 7, 0,205, 3, 7, 0,149, 2,163, 0, 40, 0, 4, 0, 17, 0,
- 2, 0,206, 3, 2, 0,207, 3, 2, 0,244, 2, 2, 0,208, 3, 2, 0,209, 3, 2, 0,210, 3, 2, 0,211, 3, 2, 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, 7, 0,238, 3, 7, 0,239, 3, 44, 0,160, 0,167, 0,240, 3, 7, 0,241, 3, 4, 0,195, 2,168, 0, 5, 0,
- 58, 0,232, 1, 7, 0,242, 3, 7, 0,243, 3, 2, 0, 17, 0, 2, 0,244, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0,
- 4, 0, 15, 0, 4, 0,245, 3, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,246, 3, 4, 0,247, 3,
- 4, 0,248, 3, 4, 0, 17, 0, 9, 0,249, 3, 9, 0,250, 3, 12, 0,251, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0,
- 4, 0, 17, 0, 4, 0,252, 3, 4, 0,253, 3, 4, 0,254, 3, 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0,247, 3,
- 4, 0,151, 2, 2, 0, 2, 4, 2, 0, 54, 0, 0, 0, 3, 4, 0, 0, 4, 4, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4,
- 12, 0, 8, 4,171, 0, 9, 4, 9, 0, 10, 4,172, 0, 1, 0, 7, 0, 36, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 11, 4,
- 7, 0, 12, 4, 7, 0, 13, 4, 4, 0, 14, 4, 4, 0, 15, 4, 4, 0, 16, 4, 4, 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, 7, 0, 34, 4, 7, 0, 35, 4,
- 4, 0, 36, 4, 4, 0, 37, 4, 7, 0, 38, 4, 7, 0,156, 3,164, 0, 54, 0, 4, 0,247, 3, 4, 0, 39, 4,173, 0, 40, 4,
-174, 0, 41, 4, 0, 0, 35, 0, 0, 0, 42, 4, 2, 0, 43, 4, 7, 0, 44, 4, 0, 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, 7, 0, 53, 4, 7, 0, 54, 4, 2, 0, 55, 4,
- 0, 0, 56, 4, 2, 0, 57, 4, 7, 0, 58, 4, 7, 0, 59, 4, 0, 0, 60, 4, 4, 0,121, 0, 4, 0, 61, 4, 4, 0, 62, 4,
- 2, 0, 63, 4, 2, 0, 64, 4,172, 0, 65, 4, 4, 0, 66, 4, 4, 0, 79, 0, 7, 0, 67, 4, 7, 0, 68, 4, 7, 0, 69, 4,
- 7, 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, 2, 0, 77, 4,
- 2, 0, 78, 4,175, 0, 79, 4, 7, 0, 80, 4, 7, 0, 81, 4,130, 0, 82, 4, 12, 0, 4, 3,168, 0, 83, 4, 7, 0, 84, 4,
- 7, 0, 85, 4, 7, 0, 86, 4, 0, 0, 87, 4,176, 0, 1, 0, 7, 0, 88, 4,146, 0, 52, 0,145, 0, 89, 4, 2, 0, 15, 0,
- 2, 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, 2, 0, 97, 4,
- 2, 0, 98, 4, 7, 0, 99, 4, 7, 0,100, 4, 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 4, 0,104, 4, 4, 0,105, 4,
- 7, 0,106, 4, 4, 0,107, 4, 7, 0,108, 4, 7, 0,109, 4, 7, 0,110, 4, 73, 0,111, 4, 73, 0,112, 4, 0, 0,113, 4,
- 7, 0,114, 4, 7, 0,115, 4, 28, 0, 77, 0, 2, 0,116, 4, 0, 0,117, 4, 0, 0,118, 4, 7, 0,119, 4, 4, 0,120, 4,
- 7, 0,121, 4, 7, 0,122, 4, 4, 0,123, 4, 4, 0, 17, 0, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4,176, 0,127, 4,
- 4, 0, 51, 0, 7, 0,128, 4, 7, 0,129, 4, 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 7, 0,134, 4,
- 4, 0,135, 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,136, 4, 7, 0,137, 4, 7, 0,138, 4, 7, 0,139, 4, 7, 0,140, 4, 7, 0,141, 4, 7, 0,142, 4, 7, 0,153, 1,
- 7, 0,155, 1, 7, 0,154, 1, 7, 0, 67, 0, 4, 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, 7, 0,150, 4, 2, 0,151, 4, 2, 0, 72, 1, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4,
- 2, 0,155, 4, 2, 0,156, 4, 2, 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, 7, 0,169, 4, 2, 0,170, 4,
- 2, 0,171, 4, 2, 0,172, 4, 2, 0,173, 4, 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 2, 0,178, 4,
- 2, 0,179, 4, 2, 0,180, 4, 2, 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, 7, 0,188, 4, 2, 0,189, 4, 2, 0,190, 4, 2, 0,191, 4, 2, 0,192, 4, 2, 0,193, 4, 2, 0, 17, 0,
- 7, 0,194, 4, 7, 0,195, 4, 28, 0, 77, 0, 43, 0,125, 1, 2, 0,126, 1, 2, 0,196, 4, 22, 0,146, 0,178, 0, 8, 0,
-178, 0, 0, 0,178, 0, 1, 0, 4, 0,134, 3, 4, 0,197, 4, 4, 0, 17, 0, 2, 0,198, 4, 2, 0,199, 4, 24, 0,159, 0,
-179, 0, 13, 0, 9, 0,200, 4, 9, 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,210, 4, 4, 0, 35, 0, 0, 0,211, 4,180, 0, 5, 0, 9, 0,212, 4,
- 9, 0,213, 4, 4, 0,214, 4, 4, 0, 67, 0, 0, 0,215, 4,181, 0, 17, 0, 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,
- 4, 0,227, 4, 2, 0,228, 4, 2, 0,229, 4, 4, 0,230, 4, 4, 0,231, 4, 4, 0, 87, 0,182, 0, 15, 0, 4, 0, 15, 0,
- 4, 0,218, 4, 4, 0,232, 4, 4, 0,233, 4, 4, 0,234, 4, 4, 0,235, 4, 7, 0,236, 4, 4, 0,237, 4, 4, 0, 88, 0,
- 4, 0,238, 4, 4, 0,239, 4, 4, 0,240, 4, 4, 0,241, 4, 4, 0,242, 4, 18, 0, 28, 0,183, 0, 7, 0, 4, 0,243, 4,
- 7, 0,244, 4, 7, 0,245, 4, 7, 0,246, 4, 4, 0,247, 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,248, 4, 58, 0,249, 4, 4, 0,134, 3, 4, 0,250, 4, 4, 0,251, 4, 4, 0, 35, 0,
- 4, 0,252, 4, 4, 0,253, 4,185, 0,110, 0,179, 0,254, 4,180, 0,255, 4,181, 0, 0, 5,182, 0, 1, 5, 4, 0, 19, 3,
- 4, 0,121, 0, 4, 0, 61, 4, 7, 0, 2, 5, 4, 0, 3, 5, 4, 0, 4, 5, 4, 0, 5, 5, 4, 0, 6, 5, 2, 0, 17, 0,
- 2, 0, 7, 5, 7, 0, 8, 5, 7, 0, 9, 5, 7, 0, 10, 5, 7, 0, 11, 5, 7, 0, 12, 5, 2, 0, 13, 5, 2, 0, 14, 5,
- 2, 0, 15, 5, 2, 0, 16, 5, 2, 0,243, 0, 2, 0, 17, 5, 4, 0, 18, 5, 2, 0, 19, 5, 2, 0, 20, 5, 2, 0, 94, 1,
- 2, 0,104, 0, 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, 2, 0, 95, 1, 2, 0, 30, 5, 2, 0, 31, 5, 2, 0, 32, 5, 2, 0, 33, 5, 4, 0, 34, 5,
- 4, 0, 72, 1, 4, 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,
- 2, 0, 42, 5, 2, 0, 43, 5, 16, 0, 44, 5, 16, 0, 45, 5, 15, 0, 46, 5, 12, 0, 47, 5, 2, 0, 48, 5, 2, 0, 49, 5,
- 7, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 7, 0, 53, 5, 4, 0, 54, 5, 7, 0, 55, 5, 7, 0, 56, 5, 7, 0, 57, 5,
- 7, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 2, 0, 61, 5, 2, 0, 62, 5, 2, 0, 63, 5, 2, 0, 64, 5, 7, 0, 65, 5,
- 7, 0, 66, 5, 7, 0, 67, 5, 0, 0, 68, 5, 0, 0, 69, 5, 4, 0, 70, 5, 2, 0, 71, 5, 2, 0,229, 1, 0, 0, 72, 5,
- 7, 0, 73, 5, 7, 0, 74, 5, 0, 0, 75, 5, 0, 0, 76, 5, 0, 0, 77, 5, 0, 0, 78, 5, 4, 0, 79, 5, 2, 0, 80, 5,
- 2, 0, 81, 5, 7, 0, 82, 5, 7, 0, 83, 5, 2, 0, 84, 5, 2, 0, 85, 5, 7, 0, 86, 5, 2, 0, 87, 5, 2, 0, 88, 5,
- 4, 0, 89, 5, 2, 0, 90, 5, 2, 0, 91, 5, 2, 0, 92, 5, 2, 0, 93, 5, 7, 0, 94, 5, 7, 0, 67, 0, 34, 0, 95, 5,
- 0, 0, 96, 5,186, 0, 9, 0,186, 0, 0, 0,186, 0, 1, 0, 0, 0, 18, 0, 2, 0, 97, 5, 2, 0, 98, 5, 2, 0, 99, 5,
- 2, 0, 87, 0, 7, 0,100, 5, 7, 0, 67, 0,187, 0, 7, 0, 2, 0,212, 2, 2, 0, 72, 1, 2, 0, 76, 3, 2, 0,101, 5,
- 7, 0,102, 5, 7, 0, 67, 0, 34, 0,103, 5,188, 0, 5, 0, 7, 0,104, 5, 0, 0, 15, 0, 0, 0, 87, 0, 0, 0, 67, 0,
- 0, 0,229, 1,189, 0, 28, 0, 7, 0,149, 4, 7, 0,150, 4, 2, 0, 72, 1, 2, 0, 17, 0, 2, 0,105, 5, 2, 0,196, 4,
- 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4,188, 0,106, 5, 2, 0, 13, 5,
- 2, 0, 14, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0,243, 0, 2, 0, 17, 5, 2, 0,107, 5, 2, 0,108, 5,187, 0,109, 5,
- 2, 0,110, 5, 2, 0, 19, 5, 2, 0, 22, 5, 2, 0, 23, 5, 7, 0,111, 5, 7, 0, 87, 0,190, 0, 6, 0,190, 0, 0, 0,
-190, 0, 1, 0, 4, 0,246, 3, 0, 0, 3, 4, 4, 0, 17, 0, 24, 0,112, 5,191, 0, 4, 0,192, 0,113, 5, 9, 0,114, 5,
- 0, 0,115, 5, 4, 0, 88, 0,193, 0, 8, 0,191, 0,116, 5, 2, 0, 17, 0, 2, 0, 35, 0, 2, 0,117, 5, 2, 0,118, 5,
- 2, 0,119, 5, 4, 0, 87, 0, 9, 0,120, 5,194, 0, 6, 0, 2, 0,104, 0, 2, 0,252, 3, 2, 0,121, 5, 2, 0,206, 2,
- 4, 0, 17, 0, 7, 0,223, 2,195, 0, 14, 0, 2, 0, 17, 0, 2, 0,122, 5, 2, 0,123, 5, 2, 0,124, 5,194, 0,125, 5,
- 9, 0,120, 5, 7, 0,126, 5, 7, 0, 54, 0, 4, 0,127, 5, 4, 0,128, 5, 4, 0,129, 5, 4, 0,130, 5, 38, 0,117, 0,
- 24, 0,159, 0,196, 0, 4, 0,196, 0, 0, 0,196, 0, 1, 0, 0, 0,131, 5, 7, 0,132, 5,197, 0, 14, 0,191, 0,116, 5,
- 4, 0, 88, 0, 4, 0,133, 5, 7, 0,134, 5, 7, 0,135, 5, 7, 0,136, 5, 4, 0,137, 5, 4, 0,138, 5, 7, 0,139, 5,
- 7, 0,140, 5, 4, 0,141, 5, 7, 0,142, 5, 7, 0,143, 5, 4, 0, 35, 0,198, 0, 7, 0,191, 0,116, 5, 2, 0, 17, 0,
- 2, 0, 35, 0, 4, 0, 34, 0, 4, 0,144, 5, 79, 0,145, 5, 9, 0,120, 5,199, 0, 82, 0,198, 0,146, 5,198, 0,147, 5,
-197, 0, 99, 3, 7, 0,148, 5, 2, 0,149, 5, 2, 0,150, 5, 7, 0,151, 5, 7, 0,152, 5, 2, 0,252, 3, 2, 0,153, 5,
- 7, 0,154, 5, 7, 0,155, 5, 7, 0,156, 5, 2, 0,157, 5, 2, 0,127, 5, 2, 0,158, 5, 2, 0,159, 5, 2, 0,160, 5,
- 2, 0,161, 5, 7, 0,162, 5, 7, 0,163, 5, 7, 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, 2, 0,171, 5, 2, 0,172, 5,193, 0,173, 5,195, 0,174, 5, 7, 0,175, 5, 7, 0,176, 5,
- 7, 0,177, 5, 2, 0,178, 5, 2, 0,179, 5, 0, 0,180, 5, 0, 0,181, 5, 0, 0,182, 5, 0, 0,183, 5, 0, 0,184, 5,
- 0, 0,185, 5, 2, 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, 7, 0,195, 5, 7, 0,196, 5, 2, 0,197, 5, 0, 0,198, 5, 0, 0,199, 5, 0, 0,200, 5,
- 0, 0,201, 5, 24, 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, 0, 0,211, 5, 0, 0,212, 5, 2, 0,213, 5, 2, 0,214, 5, 2, 0,215, 5, 2, 0,216, 5,
- 0, 0,217, 5, 0, 0,196, 4, 4, 0,218, 5, 2, 0,219, 5, 2, 0, 87, 0, 4, 0,220, 5, 7, 0,221, 5, 7, 0,222, 5,
-200, 0, 8, 0, 4, 0,223, 5, 4, 0,224, 5, 4, 0,225, 5, 4, 0,226, 5, 4, 0,227, 5, 4, 0,228, 5, 4, 0, 51, 0,
- 4, 0,121, 2,201, 0, 4, 0, 7, 0,229, 5, 0, 0,230, 5, 0, 0,231, 5, 2, 0, 17, 0,202, 0, 4, 0, 7, 0,232, 5,
- 4, 0, 17, 0, 4, 0,233, 5, 4, 0, 54, 0, 38, 0, 44, 0, 19, 0, 29, 0, 31, 0, 72, 0, 24, 0,112, 5,177, 0,234, 5,
- 38, 0,235, 5, 12, 0,236, 5,178, 0,237, 5, 24, 0,238, 5, 7, 0,239, 5, 7, 0,240, 5, 7, 0,241, 5, 7, 0,242, 5,
- 4, 0,134, 3, 4, 0,243, 5, 4, 0,244, 5, 4, 0,245, 5, 4, 0,246, 5, 2, 0, 17, 0, 2, 0, 66, 1, 53, 0, 61, 1,
-203, 0,247, 5,199, 0,248, 5,204, 0,249, 5,185, 0,177, 0,183, 0,250, 5, 12, 0, 98, 0, 12, 0,251, 5, 9, 0,252, 5,
- 9, 0,253, 5, 9, 0,254, 5, 9, 0,255, 5,205, 0, 0, 6, 2, 0, 1, 6, 2, 0, 2, 6, 2, 0,244, 0, 2, 0, 3, 6,
- 4, 0, 4, 6, 4, 0, 5, 6, 12, 0, 6, 6,188, 0,106, 5,189, 0, 7, 6,201, 0, 8, 6,159, 0,112, 3,202, 0, 9, 6,
-206, 0, 11, 0,206, 0, 0, 0,206, 0, 1, 0, 39, 0,235, 0, 37, 0, 60, 1, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0,104, 0,
- 7, 0, 10, 6, 2, 0, 11, 6, 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 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, 19, 6, 7, 0, 20, 6, 7, 0, 79, 1, 7, 0, 21, 6,
- 7, 0, 22, 6, 7, 0, 23, 6, 7, 0, 24, 6, 7, 0,166, 0, 2, 0, 25, 6, 2, 0, 26, 6, 0, 0, 27, 6, 0, 0,196, 4,
- 2, 0, 28, 6, 2, 0, 29, 6, 2, 0, 30, 6, 2, 0, 11, 6, 7, 0, 31, 6, 7, 0, 32, 6, 62, 0, 33, 6,159, 0,112, 3,
-207, 0, 34, 6,208, 0, 35, 6,209, 0, 36, 6,210, 0, 37, 6,211, 0, 38, 6, 7, 0, 39, 6, 2, 0, 40, 6, 2, 0, 41, 6,
- 7, 0, 42, 6, 7, 0, 43, 6, 7, 0, 44, 6,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6, 7, 0, 20, 6, 7, 0, 79, 1, 7, 0, 87, 0, 4, 0, 49, 6, 2, 0, 30, 6, 2, 0, 11, 6,
- 24, 0,112, 5, 24, 0, 50, 6, 12, 0, 51, 6,206, 0, 52, 6,212, 0, 34, 6, 0, 0, 53, 6, 4, 0,134, 3, 4, 0,243, 5,
- 2, 0, 54, 6, 2, 0, 55, 6, 2, 0, 56, 6, 2, 0, 57, 6, 2, 0, 17, 0, 2, 0, 21, 2, 7, 0,110, 0, 7, 0, 58, 6,
- 7, 0, 59, 6, 7, 0, 60, 6, 7, 0,166, 0, 7, 0,239, 5, 2, 0, 61, 6, 2, 0, 62, 6, 2, 0, 63, 6, 0, 0, 64, 6,
- 0, 0, 65, 6, 0, 0, 66, 6, 0, 0, 67, 6, 0, 0, 68, 6, 12, 0, 69, 6, 12, 0, 70, 6, 12, 0, 71, 6, 2, 0, 72, 6,
- 2, 0,134, 2, 2, 0, 73, 6, 0, 0, 74, 6, 0, 0, 75, 6, 9, 0, 76, 6,159, 0,112, 3,214, 0, 24, 0, 16, 0, 34, 0,
- 16, 0, 61, 0, 15, 0, 77, 6, 15, 0, 78, 6, 15, 0, 79, 6, 7, 0, 80, 6, 7, 0, 81, 6, 7, 0, 82, 6, 7, 0, 83, 6,
- 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 86, 6, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 17, 0, 2, 0, 89, 6, 2, 0, 90, 6,
- 2, 0, 91, 6, 2, 0, 92, 6, 2, 0, 93, 6, 2, 0, 57, 6, 7, 0, 94, 6, 4, 0, 95, 6, 4, 0, 96, 6,213, 0, 6, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,215, 0, 8, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 0, 0, 97, 6, 0, 0,176, 0,216, 0, 14, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6,217, 0, 99, 6,
- 12, 0,100, 6, 2, 0, 72, 1, 2, 0,101, 6, 4, 0, 17, 0, 7, 0,102, 6, 4, 0, 57, 6,218, 0, 21, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,208, 0, 35, 6,214, 0, 98, 6, 2, 0,103, 6,
- 2, 0,104, 6, 2, 0,105, 6, 2, 0,106, 6, 2, 0, 89, 6, 2, 0,107, 6, 2, 0,108, 6, 0, 0, 17, 0, 0, 0, 35, 0,
- 9, 0, 62, 2, 4, 0,109, 6, 4, 0,110, 6, 19, 0,111, 6,219, 0, 18, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6,
- 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6, 7, 0, 86, 2, 7, 0, 87, 2, 2, 0,103, 6, 2, 0,112, 6,
- 2, 0,113, 6, 2, 0,114, 6, 4, 0, 17, 0, 7, 0,115, 6, 4, 0, 11, 6, 4, 0, 35, 0,159, 0,112, 3,220, 0, 16, 0,
- 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6, 0, 0,119, 6, 0, 0,120, 6, 0, 0,121, 6, 4, 0,122, 6, 4, 0,123, 6,
- 4, 0,124, 6, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,125, 6, 2, 0,126, 6, 2, 0,172, 1, 2, 0,127, 6, 0, 0,128, 6,
-221, 0, 16, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 4, 0,129, 6,220, 0,130, 6,222, 0,131, 6,
- 12, 0,132, 6, 12, 0,133, 6,223, 0,134, 6,211, 0,135, 6,224, 0,136, 6, 2, 0,137, 6, 2, 0,138, 6, 2, 0,139, 6,
- 2, 0, 67, 0,225, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,
-214, 0, 98, 6, 12, 0,140, 6,226, 0,141, 6, 0, 0,142, 6,227, 0,143, 6, 2, 0, 17, 0, 2, 0,144, 6, 2, 0,145, 6,
- 2, 0,146, 6,228, 0, 25, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 4, 0, 17, 0, 39, 0,227, 2,
- 37, 0, 60, 1, 51, 0,147, 6,229, 0,148, 6,230, 0,149, 6,159, 0,112, 3, 7, 0,150, 6, 7, 0, 86, 2, 7, 0, 87, 2,
- 7, 0,115, 6, 7, 0,151, 6, 7, 0,152, 6, 2, 0,153, 6, 2, 0,154, 6, 2, 0,155, 6, 2, 0,156, 6, 0, 0,157, 6,
- 0, 0,158, 6, 0, 0,159, 6, 0, 0, 57, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6, 2, 0,101, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 99, 6,214, 0, 98, 6,232, 0, 31, 0,
-213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 34, 0,160, 6, 4, 0,161, 6,
- 4, 0,162, 6, 2, 0, 88, 0, 2, 0,163, 6, 2, 0,164, 6, 0, 0,165, 6, 0, 0,166, 6, 4, 0,167, 6, 4, 0,168, 6,
- 4, 0,169, 6, 2, 0,170, 6, 2, 0,171, 6, 2, 0,172, 6, 2, 0,173, 6, 7, 0,174, 6, 15, 0,175, 6, 15, 0,176, 6,
- 4, 0,177, 6, 4, 0,178, 6, 0, 0,179, 6, 0, 0,180, 6, 2, 0,181, 6, 0, 0,192, 2, 9, 0,182, 6,233, 0, 10, 0,
- 19, 0, 29, 0, 9, 0,183, 6, 9, 0,184, 6, 9, 0,185, 6, 9, 0,186, 6, 9, 0,187, 6, 4, 0, 88, 0, 4, 0,188, 6,
- 0, 0,189, 6, 0, 0,190, 6,234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,
-233, 0,191, 6, 2, 0, 88, 0, 2, 0,163, 6, 4, 0, 87, 0, 9, 0,192, 6,235, 0, 3, 0,235, 0, 0, 0,235, 0, 1, 0,
- 7, 0,193, 6,236, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,214, 0, 98, 6,
- 12, 0,194, 6, 4, 0,195, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,196, 6,237, 0, 26, 0,213, 0, 0, 0,213, 0, 1, 0,
- 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6, 19, 0,197, 6, 19, 0, 78, 0, 2, 0, 17, 0,
- 2, 0,163, 6, 7, 0,198, 6, 9, 0,199, 6, 7, 0, 86, 2, 7, 0, 87, 2, 7, 0,115, 6, 7, 0, 44, 6, 7, 0,200, 6,
- 7, 0,201, 6, 53, 0, 61, 1, 53, 0,202, 6, 4, 0,203, 6, 2, 0,204, 6, 2, 0,244, 0, 12, 0,205, 6,159, 0,112, 3,
-238, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 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, 45, 6, 4, 0, 46, 6,
- 7, 0, 47, 6, 2, 0, 48, 6,214, 0, 98, 6,222, 0,131, 6, 0, 0,206, 6, 0, 0,117, 6, 0, 0,118, 6, 2, 0, 15, 0,
- 2, 0,207, 6, 2, 0, 17, 0, 2, 0,125, 6, 9, 0,199, 6, 4, 0,122, 6, 4, 0,208, 6, 4, 0,209, 6, 4, 0,210, 6,
- 15, 0,211, 6, 15, 0,212, 6, 7, 0,213, 6, 7, 0,214, 6, 7, 0,215, 6, 7, 0,198, 6, 2, 0,216, 6, 2, 0,234, 0,
- 2, 0,172, 1, 2, 0,217, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,218, 6, 2, 0,219, 6, 9, 0,220, 6, 9, 0,221, 6,
- 9, 0,222, 6, 9, 0,223, 6, 9, 0,224, 6, 2, 0,225, 6, 0, 0,226, 6, 49, 0,227, 6,240, 0, 7, 0,240, 0, 0, 0,
-240, 0, 1, 0, 4, 0,228, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,229, 6, 4, 0, 15, 0,241, 0, 14, 0,213, 0, 0, 0,
-213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6, 2, 0, 48, 6, 4, 0,164, 6, 4, 0, 35, 0, 12, 0,230, 6,
- 12, 0,231, 6, 0, 0,232, 6, 0, 0,233, 6, 4, 0,234, 6, 4, 0,235, 6,242, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0,
- 12, 0, 45, 6, 4, 0, 46, 6, 4, 0, 35, 0, 0, 0,236, 6,243, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6,
- 4, 0, 46, 6, 7, 0, 47, 6,244, 0,237, 6,214, 0, 98, 6,245, 0,238, 6, 2, 0, 72, 1, 2, 0,239, 6, 2, 0, 86, 2,
- 2, 0, 87, 2, 2, 0, 17, 0, 2, 0,155, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,246, 0, 1, 0, 0, 0,240, 6,
- 2, 0,241, 6, 2, 0,242, 6, 2, 0,243, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,242, 6, 2, 0,244, 6, 2, 0,245, 6,
- 0, 0,192, 2, 2, 0,246, 6, 2, 0,247, 6, 2, 0,248, 6, 2, 0,249, 6, 2, 0,250, 6, 2, 0, 89, 6, 7, 0,251, 6,
- 7, 0,252, 6,248, 0, 18, 0,248, 0, 0, 0,248, 0, 1, 0, 0, 0, 3, 4,247, 0,253, 6,247, 0,254, 6,247, 0,255, 6,
-247, 0, 0, 7, 7, 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, 2, 0, 10, 7, 2, 0, 11, 7,249, 0, 10, 0, 0, 0, 12, 7, 0, 0, 13, 7, 0, 0, 14, 7,
- 0, 0, 15, 7, 0, 0, 16, 7, 0, 0, 17, 7, 2, 0, 18, 7, 2, 0, 19, 7, 2, 0, 20, 7, 2, 0, 21, 7,250, 0, 8, 0,
- 0, 0, 22, 7, 0, 0, 23, 7, 0, 0, 24, 7, 0, 0, 25, 7, 0, 0, 26, 7, 0, 0, 27, 7, 7, 0, 10, 6, 7, 0, 35, 0,
-251, 0, 18, 0,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,249, 0, 38, 7,249, 0, 39, 7,249, 0, 40, 7,249, 0, 41, 7,249, 0, 42, 7,
-249, 0, 43, 7,250, 0, 44, 7, 0, 0, 45, 7,252, 0, 97, 0, 0, 0, 46, 7, 0, 0, 47, 7, 0, 0, 16, 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, 0, 0,140, 7, 0, 0,141, 7,253, 0, 5, 0, 0, 0,142, 7, 0, 0, 70, 7,
- 0, 0, 72, 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,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,252, 0,156, 7,252, 0,157, 7,252, 0,158, 7,252, 0,159, 7,
-252, 0,160, 7,252, 0,161, 7,253, 0,162, 7, 4, 0,163, 7, 4, 0, 35, 0,255, 0, 3, 0,255, 0, 0, 0,255, 0, 1, 0,
- 0, 0,164, 7, 0, 1, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,133, 2, 7, 0,165, 7, 7, 0, 36, 2, 1, 1, 90, 0,
- 4, 0, 17, 0, 4, 0,166, 7, 4, 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, 0, 0,176, 7, 0, 0,177, 7, 4, 0,178, 7, 2, 0,179, 7, 2, 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, 2, 0,187, 7, 2, 0,188, 7,
- 4, 0,189, 7, 4, 0,190, 7, 4, 0,191, 7, 4, 0,192, 7, 4, 0,193, 7, 4, 0,230, 6, 4, 0,194, 7, 2, 0,195, 7,
- 2, 0,196, 7, 2, 0,197, 7, 2, 0,198, 7, 12, 0,199, 7, 12, 0,200, 7, 12, 0,201, 7, 12, 0,202, 7, 12, 0,203, 7,
- 0, 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, 2, 0,211, 7,
- 2, 0,212, 7, 0, 1,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,
- 2, 0,220, 7, 2, 0,221, 7, 4, 0,222, 7, 4, 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,239, 7, 2, 0,240, 7, 2, 0,196, 4, 0, 0,241, 7, 0, 0,242, 7,
- 7, 0,243, 7, 2, 0,178, 5, 2, 0,179, 5, 2, 0,244, 7, 2, 0,245, 7, 7, 0,222, 2, 47, 0,246, 7, 7, 0,247, 7,
- 4, 0,229, 1, 0, 0,248, 7, 2, 1, 24, 0, 19, 0, 29, 0, 12, 0,249, 7, 12, 0,250, 7, 12, 0,251, 7, 12, 0, 45, 6,
- 38, 0,117, 0, 38, 0,252, 7, 4, 0,253, 7, 4, 0, 87, 0, 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, 8, 8, 2, 0, 35, 0,
-211, 0, 9, 8, 9, 0, 10, 8, 2, 0, 11, 8, 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 12, 8, 13, 0, 13, 8,
- 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0, 4, 1, 1, 0, 3, 1, 14, 8, 3, 1, 15, 8, 2, 0, 45, 5, 2, 0, 17, 0,
- 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0, 5, 1, 1, 0, 6, 1, 16, 8, 7, 1,136, 6, 0, 0, 17, 8, 0, 0, 18, 8,
- 0, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0, 23, 8, 2, 0, 24, 8, 2, 0, 35, 0, 2, 0, 17, 0,
- 2, 0, 25, 8, 2, 0, 26, 8, 2, 0, 27, 8, 4, 0, 28, 8, 5, 1, 29, 8, 9, 0, 30, 8, 4, 0, 31, 8, 4, 0, 32, 8,
- 4, 0, 33, 8, 4, 0, 34, 8, 0, 0, 35, 8,244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 14, 8, 3, 1, 15, 8,
- 3, 1, 36, 8, 3, 1, 37, 8, 2, 1, 38, 8, 15, 0, 49, 0, 0, 0, 46, 6, 0, 0, 39, 8, 2, 0, 90, 6, 2, 0, 91, 6,
- 2, 0, 40, 8, 2, 0, 35, 0, 2, 0, 2, 8, 2, 0,229, 6, 2, 0, 17, 0, 8, 1, 16, 8, 12, 0, 41, 8, 12, 0, 45, 6,
- 12, 0, 42, 8, 12, 0, 43, 8, 9, 1, 24, 0, 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 98, 6, 15, 0, 44, 8, 15, 0, 45, 8,
- 2, 0, 90, 6, 2, 0, 91, 6, 2, 0, 46, 8, 2, 0, 47, 8, 2, 0, 48, 8, 2, 0, 17, 0, 7, 0, 82, 2, 2, 0, 22, 8,
- 2, 0, 23, 8, 2, 0, 1, 8, 2, 0, 49, 8, 2, 0, 6, 8, 2, 0,196, 4, 10, 1, 16, 8, 12, 0, 50, 8, 12, 0, 51, 8,
- 12, 0, 42, 8, 0, 0, 52, 8, 9, 0, 53, 8, 11, 1, 14, 0, 0, 0, 54, 8, 2, 0, 55, 8, 2, 0, 56, 8, 2, 0, 57, 8,
- 2, 0, 58, 8, 2, 0, 31, 5, 2, 0, 26, 5, 2, 1, 59, 8, 38, 0, 60, 8, 4, 0, 61, 8, 4, 0, 62, 8, 4, 0, 63, 8,
- 4, 0, 35, 0, 0, 0, 64, 8, 12, 1, 3, 0, 0, 0, 65, 8, 4, 0, 66, 8, 4, 0, 67, 8, 13, 1, 4, 0, 4, 0,161, 6,
- 4, 0, 68, 8, 4, 0,167, 6, 4, 0, 69, 8, 14, 1, 2, 0, 4, 0, 70, 8, 4, 0, 71, 8, 15, 1, 5, 0, 7, 0, 72, 8,
- 7, 0, 73, 8, 7, 0, 74, 8, 4, 0, 17, 0, 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 75, 8, 0, 0,118, 6, 41, 0,130, 0,
- 2, 0,104, 0, 2, 0, 30, 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, 76, 8, 4, 0, 77, 8, 4, 0, 78, 8, 12, 1, 79, 8, 0, 0, 75, 8, 16, 1,106, 3, 13, 1, 80, 8,
- 14, 1, 81, 8, 15, 1, 82, 8, 18, 1, 12, 0, 0, 0,253, 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, 83, 8, 9, 0, 84, 8, 9, 0,229, 0, 9, 0,231, 0, 19, 1, 48, 0,
- 19, 1, 0, 0, 19, 1, 1, 0, 9, 0, 85, 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, 86, 8, 4, 0, 87, 8, 4, 0, 77, 8, 4, 0, 78, 8, 4, 0, 88, 8, 4, 0,243, 0, 4, 0, 89, 8,
- 4, 0, 90, 8, 7, 0, 91, 8, 7, 0, 35, 0, 7, 0, 92, 8, 7, 0, 93, 8, 4, 0,121, 0, 4, 0, 94, 8, 17, 1, 95, 8,
- 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 96, 8, 41, 0,130, 0, 7, 0, 97, 8, 7, 0, 98, 8, 18, 1, 62, 1, 19, 1, 99, 8,
- 19, 1,100, 8, 19, 1,101, 8, 12, 0,102, 8,245, 0,238, 6, 9, 0,103, 8, 7, 0, 13, 4, 7, 0,104, 8, 7, 0,105, 8,
- 4, 0,106, 8, 4, 0,107, 8, 7, 0,108, 8, 9, 0,109, 8, 4, 0,110, 8, 4, 0,111, 8, 4, 0,112, 8, 7, 0,113, 8,
- 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0, 12, 0,114, 8, 19, 1,115, 8,203, 0, 11, 0, 12, 0,116, 8, 12, 0,102, 8,
- 12, 0,117, 8, 19, 1,118, 8, 0, 0,119, 8, 0, 0,120, 8, 4, 0,121, 8, 4, 0,122, 8, 4, 0,123, 8, 4, 0, 35, 0,
- 16, 0,124, 8, 21, 1, 4, 0, 7, 0,125, 8, 7, 0, 76, 3, 2, 0,126, 8, 2, 0,127, 8, 22, 1, 6, 0, 7, 0,128, 8,
- 7, 0,129, 8, 7, 0,130, 8, 7, 0,131, 8, 4, 0,132, 8, 4, 0,133, 8, 23, 1, 13, 0, 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, 7, 0,143, 8,
- 4, 0,233, 2, 4, 0,144, 8, 4, 0,145, 8, 24, 1, 2, 0, 7, 0,104, 5, 7, 0, 35, 0, 25, 1, 5, 0, 7, 0,146, 8,
- 7, 0,147, 8, 4, 0, 88, 0, 4, 0,193, 2, 4, 0,148, 8, 26, 1, 6, 0, 26, 1, 0, 0, 26, 1, 1, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,149, 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,149, 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,149, 8, 2, 0,239, 0, 2, 0, 55, 4, 2, 0,150, 8, 7, 0,151, 8, 7, 0, 86, 0, 7, 0,246, 2,
- 4, 0,152, 8, 4, 0, 79, 0, 4, 0,195, 2, 7, 0,153, 8, 7, 0,154, 8, 7, 0,155, 8, 7, 0,156, 8, 7, 0,157, 8,
- 7, 0,158, 8, 7, 0,243, 2, 7, 0, 59, 1, 7, 0,159, 8, 7, 0,160, 8, 7, 0, 35, 0, 7, 0,161, 8, 7, 0,162, 8,
- 7, 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,171, 8, 2, 0, 21, 2, 2, 0,172, 8, 2, 0, 18, 2, 2, 0,173, 8, 0, 0,174, 8, 0, 0,175, 8, 7, 0,237, 0,
- 29, 1,176, 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,149, 8,
- 2, 0,239, 0, 7, 0,238, 2, 7, 0,239, 2, 7, 0,240, 2, 7, 0, 71, 2, 7, 0,241, 2, 7, 0,242, 2, 7, 0,177, 8,
- 7, 0,243, 2, 7, 0,245, 2, 7, 0,246, 2,227, 0, 5, 0, 2, 0, 15, 0, 2, 0,178, 8, 2, 0, 17, 0, 2, 0,179, 8,
- 19, 0,197, 6,226, 0, 3, 0, 4, 0, 66, 0, 4, 0,180, 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,181, 8, 32, 1, 5, 0, 0, 0, 18, 0, 7, 0, 79, 1,
- 7, 0,182, 8, 4, 0,183, 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,184, 8, 7, 0, 79, 1, 7, 0, 35, 0, 35, 1, 6, 0, 2, 0,185, 8, 2, 0,186, 8,
- 2, 0, 15, 0, 2, 0,187, 8, 0, 0,188, 8, 0, 0,189, 8, 36, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0,
- 0, 0,190, 8, 0, 0,191, 8, 37, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 38, 1, 4, 0, 2, 0,192, 8,
- 2, 0,193, 8, 2, 0, 17, 0, 2, 0, 35, 0, 39, 1, 6, 0, 0, 0, 18, 0, 0, 0,194, 8, 2, 0,195, 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,146, 4, 2, 0, 17, 0, 2, 0,207, 2,
- 41, 1, 3, 0, 0, 0, 18, 0, 4, 0,195, 2, 4, 0,192, 8, 42, 1, 7, 0, 0, 0, 18, 0, 7, 0,146, 4, 0, 0,196, 8,
- 0, 0,197, 8, 2, 0, 72, 1, 2, 0, 87, 0, 4, 0,198, 8, 43, 1, 4, 0, 0, 0,199, 8, 0, 0,200, 8, 4, 0, 15, 0,
- 7, 0,211, 2, 44, 1, 3, 0, 24, 0,201, 8, 0, 0,202, 8, 0, 0,203, 8, 45, 1, 18, 0, 45, 1, 0, 0, 45, 1, 1, 0,
- 2, 0, 15, 0, 2, 0,204, 8, 2, 0, 17, 0, 2, 0,205, 8, 2, 0,206, 8, 2, 0,207, 8, 2, 0, 87, 0, 2, 0, 67, 0,
- 0, 0, 18, 0, 9, 0, 2, 0, 46, 1,208, 8, 24, 0, 42, 0, 2, 0,121, 5, 2, 0,104, 8, 2, 0,209, 8, 2, 0, 35, 0,
- 47, 1, 11, 0, 0, 0, 18, 0, 0, 0, 15, 0, 0, 0,210, 8, 2, 0, 17, 0, 2, 0,207, 2, 2, 0,211, 8, 4, 0,212, 8,
- 4, 0,213, 8, 4, 0,214, 8, 4, 0,215, 8, 4, 0,216, 8, 48, 1, 1, 0, 0, 0,217, 8, 49, 1, 4, 0, 34, 0,160, 6,
- 0, 0,164, 7, 4, 0, 72, 1, 4, 0, 17, 0, 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 46, 1,218, 8, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,219, 8, 2, 0,207, 8, 2, 0,204, 8, 2, 0,220, 8, 2, 0, 67, 0, 2, 0,229, 1, 0, 0, 18, 0,
- 9, 0, 2, 0, 50, 1,208, 8, 45, 1,221, 8, 2, 0, 13, 0, 2, 0,222, 8, 4, 0,223, 8, 51, 1, 3, 0, 4, 0,221, 2,
- 4, 0, 35, 0, 24, 0, 42, 0, 52, 1, 12, 0,157, 0,224, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,151, 8, 7, 0, 86, 0,
- 0, 0, 18, 0, 0, 0,225, 8, 2, 0,226, 8, 2, 0,227, 8, 2, 0,228, 8, 2, 0,229, 8, 7, 0,230, 8, 53, 1, 8, 0,
- 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, 7, 0,238, 8,
- 54, 1, 13, 0, 2, 0, 17, 0, 2, 0,239, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,239, 8, 7, 0, 13, 4, 7, 0,240, 8,
-245, 0,238, 6, 53, 1,241, 8, 2, 0, 15, 0, 2, 0, 39, 5, 2, 0, 4, 6, 2, 0,242, 8, 55, 1, 11, 0, 4, 0,221, 2,
- 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,243, 8, 0, 0, 18, 0, 7, 0,244, 8, 7, 0,245, 8, 7, 0,151, 3,
- 2, 0,246, 8, 2, 0,247, 8, 56, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0, 24, 0,112, 5,
- 57, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,190, 8, 24, 0, 42, 0, 58, 1, 13, 0, 2, 0, 17, 0,
- 2, 0, 15, 0, 2, 0,204, 8, 2, 0,152, 3, 7, 0,248, 8, 7, 0,249, 8, 7, 0,196, 4, 7, 0,163, 3, 7, 0,122, 3,
- 7, 0,125, 3, 7, 0,250, 8, 7, 0,251, 8, 24, 0,252, 8, 59, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0, 7, 0,151, 8,
- 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,225, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,229, 1, 2, 0, 39, 5, 60, 1, 8, 0,
- 24, 0, 42, 0, 7, 0,240, 2, 7, 0,253, 8, 7, 0,254, 8, 7, 0, 35, 0, 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,255, 8, 4, 0, 35, 0,
- 7, 0, 0, 9, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0, 3, 9, 0, 0, 4, 9, 62, 1, 9, 0, 2, 0, 17, 0, 2, 0, 15, 0,
- 4, 0,151, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0,196, 4, 2, 0, 61, 0, 2, 0, 5, 9, 2, 0, 6, 9, 63, 1, 7, 0,
- 4, 0,195, 2, 4, 0, 7, 9, 4, 0, 8, 9, 4, 0, 9, 9, 7, 0, 10, 9, 7, 0, 11, 9, 0, 0,196, 8, 64, 1, 7, 0,
- 0, 0, 12, 9, 24, 0, 13, 9, 0, 0,202, 8, 2, 0, 14, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,203, 8, 65, 1, 6, 0,
- 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,151, 8, 4, 0, 86, 0, 0, 0, 15, 9, 0, 0, 16, 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, 17, 9, 7, 0, 18, 9, 34, 0,160, 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, 79, 6, 70, 1, 6, 0,
- 0, 0,199, 8, 0, 0,200, 8, 4, 0, 15, 0, 7, 0, 29, 2, 24, 0, 53, 3, 24, 0, 19, 9, 50, 1, 10, 0, 50, 1, 0, 0,
- 50, 1, 1, 0, 50, 1,218, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,204, 8, 2, 0, 20, 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, 21, 9, 28, 0, 77, 0,
- 7, 0, 13, 4, 7, 0, 22, 9, 7, 0,240, 8, 7, 0,231, 8, 7, 0,232, 8, 7, 0, 23, 9, 4, 0, 88, 0, 4, 0, 35, 0,
- 9, 0, 24, 9, 9, 0, 25, 9, 71, 1, 6, 0, 71, 1, 0, 0, 71, 1, 1, 0, 24, 0, 42, 0, 9, 0, 26, 9, 2, 0,244, 0,
- 0, 0,192, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 27, 9, 4, 0,126, 0, 7, 0, 28, 9, 72, 1, 28, 0, 72, 1, 0, 0,
- 72, 1, 1, 0, 18, 0, 29, 9, 72, 1, 36, 0, 12, 0, 30, 9, 0, 0, 18, 0, 7, 0, 31, 9, 7, 0, 32, 9, 7, 0, 33, 9,
- 7, 0, 34, 9, 4, 0, 17, 0, 7, 0, 35, 9, 7, 0, 36, 9, 7, 0, 37, 9, 7, 0, 38, 9, 7, 0, 79, 1, 7, 0, 29, 2,
- 7, 0, 39, 9, 7, 0,193, 2, 7, 0, 40, 9, 7, 0, 41, 9, 7, 0, 42, 9, 7, 0, 43, 9, 7, 0, 44, 9, 7, 0,167, 0,
- 4, 0,126, 0, 2, 0,158, 5, 2, 0, 11, 7, 73, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 45, 9, 12, 0, 46, 9,
- 12, 0, 47, 9, 72, 1, 48, 9, 9, 0, 49, 9, 9, 0, 50, 9, 4, 0, 17, 0, 4, 0, 54, 6, 2, 0,247, 2, 2, 0,109, 6,
- 4, 0, 51, 9, 4, 0,126, 0, 4, 0, 52, 9, 2, 0, 53, 9, 2, 0, 54, 9, 2, 0, 55, 9, 2, 0, 56, 9, 4, 0, 57, 9,
- 4, 0, 58, 9, 4, 0, 59, 9, 4, 0, 60, 9, 4, 0, 61, 9, 4, 0, 62, 9, 74, 1, 2, 0, 7, 0,147, 2, 4, 0, 17, 0,
-161, 0, 5, 0, 74, 1, 63, 9, 4, 0,193, 2, 4, 0, 64, 9, 4, 0, 65, 9, 4, 0, 17, 0,160, 0, 16, 0, 4, 0, 66, 9,
- 4, 0, 67, 9, 4, 0, 68, 9, 4, 0, 69, 9, 2, 0, 70, 9, 2, 0, 71, 9, 2, 0, 72, 9, 2, 0,244, 0, 2, 0, 73, 9,
- 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 4, 0, 77, 9, 4, 0, 78, 9, 4, 0, 79, 9, 4, 0, 80, 9, 75, 1, 41, 0,
- 75, 1, 0, 0, 75, 1, 1, 0, 18, 0, 29, 9, 12, 0,177, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 81, 9, 2, 0, 82, 9,
- 2, 0, 83, 9, 2, 0,137, 3, 2, 0, 84, 9, 4, 0, 69, 2, 4, 0, 59, 9, 4, 0, 60, 9, 72, 1, 85, 9, 75, 1, 36, 0,
- 75, 1, 86, 9, 12, 0, 87, 9,161, 0,114, 3, 24, 0, 88, 9, 75, 1, 89, 9, 7, 0, 67, 1, 7, 0,167, 0, 7, 0, 90, 9,
- 7, 0, 8, 2, 7, 0,127, 3, 7, 0,129, 3, 2, 0,160, 3, 2, 0, 35, 0, 7, 0, 91, 9, 7, 0, 92, 9, 7, 0,132, 3,
- 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,100, 9,
- 7, 0, 62, 2,158, 0, 16, 0, 12, 0,101, 9, 68, 0,102, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0,103, 9, 4, 0, 87, 0,
- 7, 0, 98, 2, 7, 0,104, 9, 7, 0,105, 9, 12, 0,106, 9, 4, 0,107, 9, 4, 0,108, 9, 9, 0,109, 9, 9, 0,110, 9,
-160, 0,113, 3, 0, 0,111, 9, 76, 1, 1, 0, 4, 0,108, 9, 77, 1, 12, 0, 4, 0,108, 9, 7, 0,216, 8, 2, 0,112, 9,
- 2, 0,113, 9, 7, 0,114, 9, 7, 0,115, 9, 2, 0,116, 9, 2, 0, 17, 0, 7, 0,117, 9, 7, 0,118, 9, 7, 0,119, 9,
- 7, 0,120, 9, 78, 1, 7, 0, 78, 1, 0, 0, 78, 1, 1, 0, 12, 0,121, 9, 4, 0, 17, 0, 4, 0,122, 9, 0, 0, 3, 4,
-253, 0,123, 9,157, 0, 9, 0, 19, 0, 29, 0, 12, 0,124, 9, 12, 0,101, 9, 12, 0,125, 9, 12, 0, 98, 0, 4, 0, 17, 0,
- 4, 0,126, 9, 4, 0,127, 9, 4, 0, 35, 0,217, 0, 6, 0, 19, 0,128, 9, 12, 0,101, 9, 58, 0,129, 9, 0, 0,130, 9,
- 4, 0,131, 9, 4, 0, 17, 0, 79, 1, 13, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 45, 6, 4, 0, 46, 6, 7, 0, 47, 6,
- 2, 0, 48, 6,214, 0, 98, 6,157, 0,109, 3,217, 0,132, 9, 0, 0, 72, 1, 0, 0,101, 6, 2, 0, 17, 0, 7, 0,133, 9,
- 80, 1, 8, 0, 80, 1, 0, 0, 80, 1, 1, 0, 78, 1,134, 9, 28, 0, 77, 0, 12, 0,115, 3, 4, 0, 17, 0, 0, 0, 18, 0,
- 4, 0,255, 7, 81, 1, 5, 0, 81, 1, 0, 0, 81, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,135, 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,136, 9, 0, 0,137, 9, 0, 0,135, 9,
- 7, 0,138, 9, 7, 0,139, 9, 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,140, 9, 7, 0,141, 9, 83, 1, 9, 0, 83, 1, 0, 0,
- 83, 1, 1, 0, 24, 0,142, 9, 0, 0,250, 2, 7, 0,143, 9, 2, 0,144, 9, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,145, 9,
- 84, 1, 7, 0, 34, 0,160, 6, 18, 0, 29, 9, 4, 0, 17, 0, 4, 0,146, 9, 12, 0,147, 9, 24, 0,142, 9, 0, 0,250, 2,
- 85, 1, 15, 0, 24, 0,142, 9, 2, 0,148, 9, 2, 0, 17, 0, 2, 0,149, 9, 2, 0,150, 9, 0, 0,250, 2, 24, 0,151, 9,
- 0, 0,152, 9, 7, 0,153, 9, 7, 0, 29, 2, 7, 0,154, 9, 7, 0,155, 9, 2, 0, 15, 0, 2, 0, 72, 1, 7, 0, 79, 1,
- 86, 1, 6, 0, 24, 0,142, 9, 7, 0, 63, 9, 2, 0,156, 9, 2, 0,157, 9, 2, 0, 17, 0, 2, 0,158, 9, 87, 1, 6, 0,
- 24, 0,142, 9, 4, 0,159, 9, 4, 0,160, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,250, 2, 88, 1, 4, 0, 24, 0,142, 9,
- 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2, 89, 1, 4, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2,
- 90, 1, 4, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0,159, 9, 0, 0,250, 2, 91, 1, 2, 0, 4, 0, 17, 0, 7, 0, 13, 4,
- 92, 1, 2, 0, 24, 0,142, 9, 0, 0,250, 2, 93, 1, 10, 0, 24, 0,142, 9, 4, 0,161, 9, 7, 0,120, 0, 4, 0, 17, 0,
- 2, 0,158, 6, 2, 0,162, 9, 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,163, 9, 0, 0,250, 2, 94, 1, 10, 0, 24, 0,142, 9,
- 2, 0, 15, 0, 2, 0, 63, 4, 4, 0, 85, 0, 4, 0, 86, 0, 7, 0,253, 8, 7, 0,254, 8, 4, 0, 35, 0,157, 0,224, 8,
- 0, 0,250, 2, 95, 1, 4, 0, 24, 0,142, 9, 4, 0,138, 3, 4, 0,164, 9, 0, 0,250, 2, 96, 1, 4, 0, 24, 0,142, 9,
- 4, 0,138, 3, 4, 0, 35, 0, 0, 0,250, 2, 97, 1, 6, 0, 24, 0,142, 9, 7, 0,120, 0, 7, 0, 65, 3, 4, 0,165, 9,
- 2, 0,138, 3, 2, 0,139, 3, 98, 1, 6, 0, 24, 0,142, 9, 4, 0,166, 9, 4, 0,167, 9, 7, 0,168, 9, 7, 0,169, 9,
- 0, 0,250, 2, 99, 1, 16, 0, 24, 0,142, 9, 24, 0, 86, 9, 4, 0, 15, 0, 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, 7, 0,178, 9, 2, 0, 17, 0, 2, 0, 35, 0,
- 2, 0, 87, 0, 2, 0, 67, 0,100, 1, 3, 0, 24, 0,142, 9, 4, 0, 17, 0, 4, 0, 21, 2,101, 1, 5, 0, 24, 0,142, 9,
- 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,179, 9, 0, 0,250, 2,102, 1, 10, 0, 24, 0,142, 9, 0, 0,250, 2, 2, 0,180, 9,
- 2, 0,181, 9, 0, 0,182, 9, 0, 0,183, 9, 7, 0,184, 9, 7, 0,185, 9, 7, 0,186, 9, 7, 0,187, 9,103, 1, 5, 0,
- 24, 0,142, 9, 0, 0,250, 2, 7, 0,201, 2, 2, 0,188, 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,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,105, 1, 8, 0, 7, 0, 7, 0,
- 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,106, 1, 8, 0,
- 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,189, 9, 7, 0,190, 9, 2, 0, 17, 0, 2, 0, 21, 2,
-107, 1, 7, 0, 24, 0,142, 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,191, 9,109, 1, 10, 0,109, 1, 0, 0,
-109, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,192, 9, 7, 0, 22, 1, 7, 0, 23, 1, 2, 0,121, 9, 2, 0,193, 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,194, 9, 2, 0,195, 9,
- 28, 0, 77, 0,157, 0,224, 8, 24, 0,159, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,196, 9, 7, 0,197, 9, 7, 0,198, 9,
- 7, 0,199, 9, 7, 0,236, 2, 7, 0,200, 9, 7, 0,226, 8, 7, 0,201, 9, 0, 0,202, 9, 0, 0,203, 9, 12, 0,118, 3,
-111, 1, 8, 0, 7, 0, 36, 2, 7, 0,253, 8, 7, 0,254, 8, 9, 0, 2, 0, 2, 0,204, 9, 2, 0,205, 9, 2, 0,206, 9,
- 2, 0,207, 9,112, 1, 19, 0,112, 1, 0, 0,112, 1, 1, 0,112, 1,208, 9, 0, 0, 18, 0,111, 1,209, 9, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0,210, 9, 2, 0,211, 9,111, 1,212, 9, 2, 0,213, 9, 2, 0, 87, 0, 7, 0,214, 9, 7, 0,215, 9,
- 4, 0,216, 9,112, 1,217, 9, 4, 0,218, 9, 4, 0, 67, 0,113, 1,219, 9,114, 1, 4, 0, 0, 0,220, 9, 2, 0,221, 9,
- 2, 0,222, 9, 4, 0, 35, 0,115, 1, 34, 0,115, 1, 0, 0,115, 1, 1, 0,115, 1,223, 9, 0, 0, 18, 0, 2, 0, 15, 0,
- 2, 0, 17, 0, 2, 0, 76, 8, 2, 0,104, 8, 2, 0,224, 9, 2, 0,163, 6, 2, 0,213, 9, 2, 0,178, 8, 12, 0,219, 8,
- 12, 0,225, 9, 19, 0,197, 6, 9, 0,226, 9, 7, 0,214, 9, 7, 0,215, 9, 7, 0, 71, 2, 7, 0,227, 9, 0, 0,228, 9,
- 2, 0,229, 9, 2, 0,230, 9, 7, 0,231, 9, 7, 0,232, 9, 2, 0,233, 9, 2, 0,234, 9, 9, 0,235, 9, 16, 0,236, 9,
- 16, 0,237, 9, 16, 0,238, 9,114, 1,146, 0,116, 1,239, 9,117, 1,240, 9,113, 1, 8, 0,113, 1, 0, 0,113, 1, 1, 0,
-115, 1,241, 9,115, 1,242, 9,112, 1,243, 9,112, 1,244, 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,245, 9, 12, 0,246, 9,111, 1,247, 9, 12, 0,248, 9, 4, 0, 15, 0, 4, 0,249, 9,
- 4, 0,250, 9, 4, 0,251, 9, 4, 0, 17, 0, 4, 0, 35, 0, 12, 0,252, 9, 12, 0,219, 8, 12, 0,225, 9, 4, 0, 68, 6,
- 9, 0,253, 9, 9, 0,254, 9, 4, 0,255, 9, 9, 0, 0, 10, 9, 0, 1, 10, 9, 0, 2, 10,118, 1, 6, 0, 4, 0,119, 0,
- 4, 0,121, 0, 4, 0,178, 8, 0, 0, 3, 10, 0, 0, 4, 10, 2, 0, 35, 0,119, 1, 16, 0, 2, 0, 22, 8, 2, 0, 23, 8,
- 2, 0, 5, 10, 2, 0, 6, 10, 2, 0, 7, 10, 2, 0, 65, 0, 2, 0,198, 6, 2, 0, 8, 10, 7, 0,235, 2, 7, 0, 9, 10,
- 7, 0, 10, 10, 2, 0, 94, 1, 0, 0, 11, 10, 0, 0, 12, 10, 4, 0, 13, 10, 4, 0, 14, 10,120, 1, 9, 0, 7, 0, 15, 10,
- 7, 0, 16, 10, 7, 0, 23, 9, 7, 0, 76, 3, 7, 0, 17, 10, 7, 0,115, 6, 2, 0, 74, 3, 0, 0, 18, 10, 0, 0, 35, 0,
-121, 1, 4, 0, 7, 0, 19, 10, 7, 0, 20, 10, 2, 0, 74, 3, 2, 0, 35, 0,122, 1, 3, 0, 7, 0, 21, 10, 7, 0, 91, 8,
- 7, 0, 13, 0,123, 1, 7, 0, 0, 0,253, 1, 2, 0, 28, 5, 2, 0, 29, 5, 2, 0, 30, 5, 2, 0,218, 4, 4, 0,121, 0,
- 4, 0, 61, 4,124, 1, 9, 0, 7, 0, 22, 10, 7, 0, 23, 10, 7, 0, 24, 10, 7, 0, 82, 2, 7, 0, 25, 10, 7, 0, 26, 10,
- 7, 0, 27, 10, 2, 0, 28, 10, 2, 0, 29, 10,125, 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,126, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,127, 1, 2, 0,
- 0, 0,161, 0, 0, 0, 38, 10,128, 1, 1, 0, 0, 0, 18, 0,129, 1, 10, 0, 0, 0, 39, 10, 0, 0, 40, 10, 0, 0,107, 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,200, 9,130, 1, 2, 0,
- 9, 0, 46, 10, 9, 0, 47, 10,131, 1, 11, 0, 0, 0, 30, 5, 0, 0, 15, 0, 0, 0, 74, 3, 0, 0, 76, 3, 0, 0, 48, 10,
- 0, 0,104, 0, 0, 0,159, 2, 7, 0, 49, 10, 7, 0, 50, 10, 7, 0, 51, 10, 7, 0, 52, 10,132, 1, 8, 0, 7, 0,185, 8,
- 7, 0,120, 0, 7, 0, 12, 10, 7, 0,152, 2, 7, 0, 53, 10, 7, 0,233, 0, 7, 0, 54, 10, 4, 0, 15, 0,133, 1, 4, 0,
- 2, 0, 55, 10, 2, 0, 56, 10, 2, 0, 57, 10, 2, 0, 35, 0,134, 1, 8, 0, 7, 0, 58, 10, 7, 0,201, 2, 7, 0, 59, 10,
- 7, 0, 72, 8, 7, 0, 73, 8, 7, 0, 74, 8, 7, 0, 60, 10, 7, 0, 61, 10,135, 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,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, 68, 10,138, 1, 10, 0, 2, 0,247, 3, 2, 0, 17, 0, 7, 0,146, 4, 7, 0, 69, 10,
- 7, 0, 70, 10, 7, 0, 71, 10, 7, 0, 72, 10,137, 1, 73, 10,137, 1, 74, 10,137, 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,138, 1, 80, 10, 7, 0, 81, 10, 7, 0, 82, 10,
- 7, 0, 83, 10, 7, 0, 84, 10,230, 0, 10, 0, 4, 0,121, 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, 72, 1, 4, 0,240, 2,229, 0, 18, 0, 4, 0,124, 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,230, 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,
-139, 1, 4, 0, 39, 0,227, 2, 7, 0,106, 10, 7, 0,161, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,139, 1,107, 10,
- 51, 0, 73, 10, 43, 0,108, 10, 49, 0,109, 10, 22, 0,146, 0, 0, 0,110, 10, 7, 0,111, 10, 2, 0, 10, 6, 2, 0,112, 10,
- 4, 0,104, 0, 4, 0, 17, 0, 7, 0,113, 10, 4, 0, 79, 2, 4, 0,114, 10, 7, 0,115, 10, 7, 0,116, 10, 7, 0,117, 10,
- 7, 0,161, 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,240, 2, 7, 0,127, 10, 4, 0,128, 10, 7, 0,129, 10, 7, 0,130, 10, 7, 0,131, 10,
-140, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0, 4, 0, 17, 0, 4, 0,200, 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,141, 1, 1, 0, 0, 0, 64, 8, 84, 0, 7, 0,140, 1,135, 10, 4, 0,136, 10,
- 4, 0,137, 10, 4, 0,138, 10, 4, 0, 35, 0, 9, 0,139, 10,141, 1,140, 10,142, 1, 5, 0, 7, 0,147, 2, 7, 0,221, 2,
- 7, 0, 29, 2, 2, 0,128, 2, 2, 0, 35, 0,143, 1, 5, 0, 7, 0,147, 2, 7, 0, 88, 4, 7, 0,141, 10, 7, 0,142, 10,
- 7, 0,221, 2,144, 1, 5, 0, 24, 0,143, 10,145, 1, 20, 0, 7, 0,232, 5, 7, 0,144, 10, 7, 0, 54, 0,146, 1, 3, 0,
- 7, 0,145, 10, 4, 0,146, 10, 4, 0,147, 10,147, 1, 7, 0, 4, 0,148, 10, 4, 0,149, 10, 4, 0,150, 10, 7, 0,151, 10,
- 7, 0,152, 10, 7, 0,153, 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,193, 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,154, 10,150, 1, 17, 0,143, 1,192, 3,143, 1,155, 10,142, 1,156, 10,143, 1,176, 8,
-144, 1,157, 10, 4, 0, 79, 0, 7, 0,221, 2, 7, 0,246, 2, 7, 0,158, 10, 4, 0,148, 10, 4, 0,159, 10, 7, 0,152, 10,
- 7, 0,153, 10, 7, 0,104, 0, 4, 0,160, 10, 2, 0, 17, 0, 2, 0,161, 10,151, 1, 15, 0, 7, 0,248, 0, 7, 0,162, 10,
- 7, 0,145, 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, 7, 0,169, 10,
- 7, 0,170, 10, 7, 0,171, 10, 7, 0,172, 10, 4, 0, 17, 0, 4, 0,173, 10,152, 1,121, 0, 19, 0, 29, 0, 31, 0, 72, 0,
-153, 1,174, 10,151, 1,175, 10,168, 0, 83, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0, 2, 0,180, 9, 2, 0,176, 10,
- 2, 0,107, 1, 2, 0,177, 10, 2, 0,160, 3, 2, 0,178, 10, 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,129, 5, 2, 0,187, 10, 2, 0,188, 10, 2, 0,189, 10,
- 2, 0,190, 10, 2, 0,191, 10, 2, 0, 18, 2, 2, 0,169, 8, 2, 0,144, 8, 2, 0,192, 10, 2, 0,193, 10, 2, 0,210, 3,
- 2, 0,211, 3, 2, 0,194, 10, 2, 0,195, 10, 2, 0,196, 10, 2, 0,197, 10, 7, 0,198, 10, 7, 0,199, 10, 7, 0,200, 10,
- 7, 0,201, 10, 2, 0, 79, 5, 2, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,205, 10, 7, 0,151, 8, 7, 0, 86, 0,
- 7, 0,246, 2, 7, 0,157, 8, 7, 0,206, 10, 7, 0,207, 10, 7, 0,208, 10, 7, 0,209, 10, 4, 0,152, 8, 4, 0,150, 8,
- 4, 0,210, 10, 4, 0,211, 10, 7, 0,153, 8, 7, 0,154, 8, 7, 0,155, 8, 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,220, 10, 7, 0,151, 3, 7, 0,104, 0,
- 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10, 7, 0,224, 10, 7, 0,206, 0, 7, 0,225, 10, 4, 0,226, 10, 4, 0,227, 10,
- 7, 0,228, 10, 7, 0,229, 10, 7, 0,230, 10, 7, 0,231, 10, 7, 0,232, 10, 7, 0,205, 0, 7, 0,233, 10, 7, 0,237, 3,
- 7, 0,235, 3, 7, 0,236, 3, 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, 7, 0,251, 10, 4, 0,252, 10, 4, 0,253, 10, 43, 0,125, 1, 58, 0,182, 3,
- 12, 0,254, 10, 58, 0,255, 10, 24, 0, 0, 11, 24, 0, 1, 11, 28, 0, 77, 0,163, 0, 64, 1,163, 0, 2, 11,141, 0, 50, 0,
-141, 0, 0, 0,141, 0, 1, 0,152, 1, 3, 11,150, 1, 4, 11,147, 1, 86, 9,171, 0, 9, 4, 9, 0, 10, 4,154, 1, 5, 11,
-154, 1, 6, 11, 12, 0, 7, 11, 12, 0, 8, 11,126, 0, 9, 11,134, 0, 10, 11,134, 0, 11, 11, 24, 0, 12, 11, 24, 0, 13, 11,
- 24, 0, 36, 0, 12, 0,147, 9, 0, 0, 18, 0, 7, 0,237, 0, 7, 0, 19, 3, 7, 0, 14, 11, 7, 0, 15, 11, 4, 0,195, 2,
- 4, 0, 16, 11, 4, 0, 17, 0, 4, 0,152, 8, 4, 0, 17, 11, 4, 0, 18, 11, 4, 0, 19, 11, 4, 0, 20, 11, 2, 0,244, 0,
- 2, 0, 21, 11, 2, 0, 22, 11, 2, 0, 23, 11, 0, 0, 24, 11, 2, 0, 25, 11, 2, 0, 26, 11, 2, 0, 27, 11, 9, 0, 28, 11,
-130, 0, 82, 4, 12, 0, 4, 3, 12, 0, 29, 11,146, 1, 30, 11, 4, 0, 31, 11, 4, 0, 32, 11,155, 1, 33, 11,132, 0, 16, 3,
-156, 1, 34, 11, 7, 0, 35, 11,128, 0, 37, 0,157, 1, 24, 9, 7, 0, 52, 4, 7, 0, 36, 11, 7, 0, 37, 11, 7, 0,232, 5,
- 7, 0,161, 3, 7, 0,151, 3, 7, 0, 38, 11, 7, 0, 81, 2, 7, 0, 39, 11, 7, 0, 40, 11, 7, 0, 41, 11, 7, 0, 42, 11,
- 7, 0, 43, 11, 7, 0, 44, 11, 7, 0, 53, 4, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 54, 4, 7, 0, 50, 4,
- 7, 0, 51, 4, 7, 0, 48, 11, 7, 0, 49, 11, 4, 0, 50, 11, 4, 0, 88, 0, 4, 0, 51, 11, 4, 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, 59, 11, 2, 0,196, 4,168, 0, 83, 4,
-129, 0, 11, 0,157, 1, 60, 11, 7, 0, 61, 11, 7, 0, 62, 11, 7, 0,233, 1, 7, 0, 63, 11, 7, 0, 64, 11, 7, 0, 65, 11,
- 4, 0, 88, 0, 2, 0, 66, 11, 2, 0, 67, 11, 58, 0,232, 1,158, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 7, 2,
- 7, 0, 68, 11,159, 1, 6, 0,159, 1, 0, 0,159, 1, 1, 0,158, 1, 63, 9, 4, 0,250, 0, 2, 0, 69, 11, 2, 0, 17, 0,
-160, 1, 5, 0,160, 1, 0, 0,160, 1, 1, 0, 12, 0, 70, 11, 4, 0, 71, 11, 4, 0, 17, 0,161, 1, 9, 0,161, 1, 0, 0,
-161, 1, 1, 0, 12, 0,119, 0,160, 1, 72, 11, 4, 0, 17, 0, 2, 0, 69, 11, 2, 0, 73, 11, 7, 0, 89, 0, 0, 0, 74, 11,
-159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 47, 5, 4, 0, 17, 0, 2, 0, 75, 11, 2, 0, 76, 11, 9, 0, 77, 11,162, 1, 6, 0,
- 12, 0, 78, 11, 4, 0, 79, 11, 4, 0, 80, 11, 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 81, 11,163, 1, 17, 0, 19, 0, 29, 0,
-164, 1, 82, 11,164, 1, 83, 11, 12, 0, 84, 11, 4, 0, 85, 11, 2, 0, 86, 11, 2, 0, 87, 11, 12, 0, 88, 11, 12, 0, 89, 11,
-162, 1, 90, 11, 12, 0, 91, 11, 12, 0, 92, 11, 12, 0, 93, 11, 12, 0, 94, 11,165, 1, 95, 11, 12, 0, 96, 11,211, 0, 97, 11,
-164, 1, 32, 0,164, 1, 0, 0,164, 1, 1, 0, 9, 0, 98, 11, 4, 0, 0, 8, 2, 0, 99, 11, 2, 0, 35, 0, 2, 1,100, 11,
- 2, 1,101, 11, 0, 0,102, 11, 2, 0,103, 11, 2, 0,104, 11, 2, 0, 22, 8, 2, 0, 23, 8, 2, 0,105, 11, 2, 0,106, 11,
- 2, 0,200, 3, 2, 0,229, 6, 2, 0,107, 11, 2, 0,108, 11, 2, 0,109, 11, 2, 0, 67, 0,166, 1,110, 11,167, 1,111, 11,
-168, 1,112, 11, 4, 0,113, 11, 4, 0,114, 11, 9, 0,115, 11, 12, 0, 89, 11, 12, 0, 42, 8, 12, 0,116, 11, 12, 0,117, 11,
- 12, 0,118, 11,169, 1, 17, 0,169, 1, 0, 0,169, 1, 1, 0, 0, 0,119, 11, 18, 0, 28, 0, 2, 0,120, 11, 2, 0, 15, 0,
- 2, 0, 13, 0, 2, 0,121, 11, 2, 0,122, 11, 2, 0,123, 11, 2, 0,124, 11, 2, 0,125, 11, 2, 0, 17, 0, 2, 0,126, 11,
- 2, 0, 29, 0, 2, 0, 35, 0,170, 1,127, 11,171, 1, 10, 0,171, 1, 0, 0,171, 1, 1, 0, 12, 0,128, 11, 0, 0,119, 11,
- 2, 0,129, 11, 2, 0,130, 11, 2, 0, 17, 0, 2, 0,131, 11, 4, 0,132, 11, 9, 0,133, 11,165, 1, 7, 0,165, 1, 0, 0,
-165, 1, 1, 0, 0, 0,119, 11, 0, 0,134, 11, 12, 0,202, 7, 4, 0,135, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,
-223, 0, 1, 0, 0, 0,119, 11, 18, 0, 28, 0,172, 1, 16, 8, 9, 0,136, 11, 9, 0,137, 11,170, 1,127, 11,162, 1,138, 11,
- 12, 0,139, 11,223, 0,140, 11, 7, 1,136, 6, 2, 0, 17, 0, 2, 0,196, 4,173, 1, 8, 0,173, 1, 0, 0,173, 1, 1, 0,
- 9, 0, 2, 0, 9, 0,141, 11, 0, 0, 3, 4, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,142, 11,174, 1, 5, 0, 7, 0,143, 11,
- 4, 0,144, 11, 4, 0,145, 11, 4, 0, 72, 1, 4, 0, 17, 0,175, 1, 6, 0, 7, 0,146, 11, 7, 0,147, 11, 7, 0,148, 11,
- 7, 0,149, 11, 4, 0, 15, 0, 4, 0, 17, 0,176, 1, 5, 0, 7, 0,253, 8, 7, 0,254, 8, 7, 0,221, 2, 2, 0, 32, 2,
- 2, 0, 33, 2,177, 1, 5, 0,176, 1, 2, 0, 4, 0, 51, 0, 7, 0,150, 11, 7, 0,253, 8, 7, 0,254, 8,178, 1, 4, 0,
- 2, 0,151, 11, 2, 0,152, 11, 2, 0,153, 11, 2, 0,154, 11,179, 1, 2, 0, 34, 0,191, 6, 18, 0, 29, 9,180, 1, 3, 0,
- 16, 0,155, 11, 4, 0, 17, 0, 4, 0, 35, 0,181, 1, 6, 0, 7, 0,104, 0, 7, 0,223, 2, 7, 0,156, 11, 7, 0, 35, 0,
- 2, 0,243, 0, 2, 0,157, 11,182, 1, 5, 0, 7, 0,158, 11, 7, 0,120, 0, 7, 0, 64, 9, 7, 0, 65, 9, 4, 0, 17, 0,
-183, 1, 6, 0, 19, 0,197, 6, 0, 0,159, 11, 0, 0,160, 11, 2, 0,161, 11, 2, 0, 17, 0, 4, 0,162, 11,184, 1, 7, 0,
-184, 1, 0, 0,184, 1, 1, 0, 0, 0, 3, 4,183, 1,163, 11, 2, 0,164, 11, 2, 0, 15, 0, 7, 0, 58, 0,185, 1, 7, 0,
- 12, 0,165, 11, 0, 0,166, 11, 9, 0,167, 11, 7, 0, 58, 0, 7, 0,142, 11, 4, 0, 15, 0, 4, 0, 17, 0,186, 1, 3, 0,
- 7, 0,168, 11, 4, 0, 17, 0, 4, 0, 35, 0,187, 1, 15, 0,187, 1, 0, 0,187, 1, 1, 0, 78, 1,134, 9,185, 1, 59, 0,
- 12, 0,118, 3, 27, 0, 47, 0,186, 1,169, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 15, 1, 4, 0,170, 11,
- 0, 0,159, 11, 4, 0,171, 11, 7, 0,172, 11,188, 1, 2, 0, 0, 0,173, 11, 0, 0,174, 11,189, 1, 4, 0,189, 1, 0, 0,
-189, 1, 1, 0,157, 0, 53, 3, 12, 0,175, 11,190, 1, 24, 0,190, 1, 0, 0,190, 1, 1, 0, 12, 0,176, 11,157, 0,224, 8,
-189, 1,177, 11, 12, 0,178, 11, 12, 0,118, 3, 0, 0, 3, 4, 7, 0,142, 11, 7, 0,179, 11, 7, 0, 85, 0, 7, 0, 86, 0,
- 7, 0,196, 9, 7, 0,197, 9, 7, 0,236, 2, 7, 0,200, 9, 7, 0,226, 8, 7, 0,201, 9, 2, 0,180, 11, 2, 0,181, 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,176, 11,
- 4, 0, 17, 0, 4, 0,151, 2, 0, 0, 3, 4,192, 1, 11, 0,192, 1, 0, 0,192, 1, 1, 0, 19, 0,197, 6, 0, 0,182, 11,
- 4, 0,162, 11, 2, 0,183, 11, 2, 0, 35, 0, 0, 0,159, 11, 4, 0,170, 11, 2, 0, 17, 0, 2, 0,184, 11,193, 1, 8, 0,
-193, 1, 0, 0,193, 1, 1, 0, 12, 0,185, 11, 0, 0, 3, 4, 0, 0,186, 11, 2, 0, 17, 0, 2, 0,184, 11, 4, 0,187, 11,
-194, 1, 5, 0,194, 1, 0, 0,194, 1, 1, 0, 0, 0,159, 11, 4, 0,170, 11, 7, 0,211, 2, 31, 0, 12, 0,157, 0,109, 3,
-157, 0,188, 11,189, 1,177, 11, 12, 0,189, 11,190, 1,190, 11, 12, 0,191, 11, 12, 0,192, 11, 4, 0, 17, 0, 4, 0,244, 0,
- 2, 0,193, 11, 2, 0,194, 11, 7, 0,195, 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,196, 11, 24, 0, 42, 0, 4, 0,197, 11,
- 7, 0,198, 11, 4, 0,199, 11, 4, 0,121, 9,198, 1, 3, 0,196, 1,196, 11, 4, 0,197, 11, 7, 0,200, 11,199, 1, 8, 0,
-196, 1,196, 11, 24, 0, 42, 0, 7, 0, 67, 1, 7, 0,201, 11, 7, 0, 19, 3, 7, 0, 23, 9, 4, 0,197, 11, 4, 0,202, 11,
-200, 1, 5, 0,196, 1,196, 11, 7, 0,203, 11, 7, 0,104, 8, 7, 0,242, 2, 7, 0, 54, 0,201, 1, 3, 0,196, 1,196, 11,
- 7, 0, 23, 9, 7, 0,204, 11,145, 1, 4, 0, 7, 0,205, 11, 7, 0,222, 10, 2, 0,206, 11, 2, 0, 72, 1,202, 1, 14, 0,
-202, 1, 0, 0,202, 1, 1, 0, 12, 0,207, 11, 12, 0,208, 11, 12, 0,209, 11, 0, 0, 18, 0, 4, 0, 29, 0, 4, 0, 17, 0,
- 4, 0,210, 11, 7, 0,211, 11, 4, 0,199, 11, 4, 0,121, 9, 7, 0, 13, 4, 7, 0,244, 2,153, 1, 23, 0, 4, 0,197, 11,
- 4, 0,212, 11, 7, 0,213, 11, 7, 0,240, 2, 7, 0,214, 11, 7, 0,240, 8, 7, 0,205, 11, 7, 0,215, 11, 7, 0,223, 2,
- 7, 0, 92, 10, 7, 0,146, 4, 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, 7, 0,226, 11, 12, 0,227, 11,114, 0, 40, 0,113, 0,228, 11,
-203, 1,175, 10, 58, 0,229, 11, 58, 0,255, 10, 58, 0,230, 11,204, 1,231, 11, 40, 0,160, 0, 40, 0,232, 11, 40, 0,233, 11,
- 7, 0,234, 11, 7, 0,235, 11, 7, 0,236, 11, 7, 0,237, 11, 7, 0,238, 11, 7, 0,255, 7, 7, 0,239, 11, 7, 0,161, 1,
- 7, 0,240, 11, 4, 0,241, 11, 4, 0,242, 11, 4, 0,243, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,244, 11, 2, 0,245, 11,
- 2, 0,246, 11, 4, 0,247, 11, 7, 0,223, 2, 4, 0,248, 11, 7, 0,249, 11, 4, 0,250, 11, 4, 0,251, 11, 4, 0,252, 11,
-130, 0,253, 11, 12, 0,254, 11,168, 0, 83, 4, 4, 0,255, 11, 7, 0, 0, 12, 7, 0, 1, 12, 4, 0, 67, 0,115, 0, 12, 0,
-113, 0,228, 11,141, 0, 39, 3, 7, 0,128, 1, 7, 0,255, 7, 7, 0, 2, 12, 7, 0, 3, 12, 7, 0, 4, 12, 2, 0, 5, 12,
- 2, 0, 6, 12, 2, 0, 7, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,228, 11,132, 0, 16, 3,134, 0, 18, 3,
- 7, 0, 63, 9, 7, 0, 8, 12, 7, 0, 9, 12, 7, 0, 69, 1, 7, 0, 10, 12, 4, 0,156, 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,
+ 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,116,105,116,108,101,115,116,114,
+ 91, 54, 52, 93, 0,115,117, 98,116,105,116,108,101, 91, 49, 50, 56, 93, 0,102,103, 99,111,108, 91, 51, 93, 0, 98,103, 99,111,
+108, 91, 51, 93, 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,108, 97,121,101,114, 95,119,
+101,105,103,104,116, 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,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, 84, 89, 80, 69,206, 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, 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, 84,105,116,108,101, 67, 97,114,100, 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, 0, 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, 16, 0,
+ 16, 0, 20, 0, 76, 0, 52, 0, 40, 2, 0, 0, 32, 0,140, 0, 44, 4, 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, 0, 48, 5,156, 1, 0, 0, 0, 0, 0, 0, 16, 1, 48, 1, 84, 1, 24, 0, 8, 3,
+168, 0, 0, 0, 84, 0, 16, 1, 32, 1,164, 0,132, 0,108, 1, 88, 0,160, 2, 76, 0, 60, 1, 0, 0,108, 0,104, 0,148, 0,
+ 56, 0, 8, 0, 16, 0, 20, 0, 0, 0, 92, 1, 0, 0, 0, 0, 0, 0, 24, 1, 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, 0, 0, 1, 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, 0,244, 1,112, 0, 0, 0, 88, 0, 0, 0, 0, 0, 76, 0, 8, 0, 8, 0,244, 0, 88, 0,148, 1, 84, 0,108, 0,
+ 72, 0, 72, 0,180, 1,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, 0, 88, 1,208, 0,180, 0, 0, 0, 68, 0, 20, 0, 96, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0,
+ 12, 0,112, 1, 28, 0,176, 0,144, 0, 64, 0, 68, 0, 24, 0, 72, 0,152, 3, 56, 0, 20, 0, 16, 0,100, 0, 84, 0, 16, 0,
+204, 2, 36, 0, 16, 0,156, 0, 80, 0, 88, 0, 36, 0,152, 1, 32, 0, 8, 0, 24, 0, 56, 2, 0, 0, 0, 0, 72, 0, 68, 3,
+ 0, 0, 0, 0, 0, 0, 0, 0,240, 0, 40, 0,140, 0, 48, 0,208, 0, 88, 0,216, 0,216, 0, 96, 2, 60, 0, 0, 0,120, 0,
+ 0, 0,244, 0, 12, 0, 12, 0,248, 32,112, 16, 24, 16,192, 0,136, 2, 80, 2, 40, 0, 12, 0,188, 0,252, 0, 52, 0,140, 2,
+ 28, 0,104, 1, 88, 0,188, 0, 96, 0, 92, 1, 16, 1, 32, 0,224, 0, 32, 0, 32, 0,112, 2,120, 1, 16, 0, 80, 30, 72, 0,
+ 56, 0,144, 13,148, 0, 20, 0, 24, 0, 64, 1, 0, 0, 0, 0, 0, 0,248, 0, 0, 0, 24, 1, 88, 0, 16, 0, 8, 0, 44, 0,
+252, 0,212, 0,168, 1,216, 0, 16, 0, 12, 0, 24, 0, 52, 0, 16, 0,216, 0, 20, 0, 16, 0, 24, 0, 56, 1, 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,100, 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, 0, 16, 1,144, 0, 16, 0,192, 1, 4, 0, 40, 0,104, 0,
+ 24, 1, 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, 0, 16, 1, 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, 0, 64, 2, 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,104, 0, 20, 0,
+ 24, 0, 16, 0, 20, 0, 8, 0, 8, 0, 24, 0, 20, 0, 20, 0, 48, 0,208, 1, 28, 1, 16, 0, 68, 0, 0, 1, 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, 83, 84, 82, 67,
+149, 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, 33, 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, 0, 0,152, 0, 0, 0,153, 0, 7, 0,154, 0, 7, 0,155, 0,
+ 43, 0, 65, 0, 2, 0,156, 0, 2, 0,157, 0, 2, 0,158, 0, 2, 0,159, 0, 24, 0,160, 0, 44, 0,161, 0, 0, 0,162, 0,
+ 0, 0,163, 0, 0, 0,164, 0, 0, 0,165, 0, 0, 0,166, 0, 7, 0,167, 0, 7, 0,168, 0, 7, 0,169, 0, 2, 0,170, 0,
+ 2, 0,171, 0, 2, 0,172, 0, 2, 0,173, 0, 2, 0,174, 0, 2, 0,175, 0, 0, 0,176, 0, 0, 0,177, 0, 7, 0,178, 0,
+ 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 7, 0,182, 0, 7, 0, 54, 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, 7, 0,219, 0, 45, 0, 15, 0, 0, 0,220, 0, 9, 0,221, 0, 0, 0,222, 0, 0, 0,223, 0, 4, 0,224, 0,
+ 4, 0,225, 0, 9, 0,226, 0, 7, 0,227, 0, 7, 0,228, 0, 7, 0,229, 0, 4, 0,230, 0, 9, 0,231, 0, 9, 0,232, 0,
+ 4, 0,233, 0, 4, 0, 35, 0, 46, 0, 6, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,234, 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,235, 0, 46, 0,229, 0, 48, 0, 17, 0,
+ 24, 0,160, 0, 39, 0,236, 0, 49, 0,237, 0, 7, 0,238, 0, 7, 0,239, 0, 2, 0, 15, 0, 2, 0,240, 0, 7, 0,108, 0,
+ 7, 0,109, 0, 7, 0,241, 0, 4, 0,242, 0, 2, 0,243, 0, 2, 0,244, 0, 4, 0,124, 0, 4, 0,136, 0, 2, 0,245, 0,
+ 2, 0,246, 0, 50, 0, 25, 0, 2, 0, 17, 0, 2, 0,247, 0, 7, 0,248, 0, 7, 0,249, 0, 2, 0,135, 0, 2, 0,250, 0,
+ 4, 0,251, 0, 4, 0,252, 0, 24, 0,160, 0, 4, 0,253, 0, 2, 0,254, 0, 2, 0,255, 0, 9, 0, 0, 1, 7, 0, 1, 1,
+ 7, 0, 2, 1, 2, 0, 3, 1, 2, 0, 4, 1, 2, 0, 5, 1, 2, 0, 6, 1, 7, 0, 7, 1, 7, 0, 8, 1, 7, 0, 9, 1,
+ 7, 0, 10, 1, 47, 0, 11, 1, 51, 0, 12, 1, 52, 0, 13, 0, 4, 0, 13, 1, 4, 0, 14, 1, 2, 0, 15, 1, 2, 0, 17, 0,
+ 2, 0, 16, 1, 2, 0, 17, 1, 24, 0,160, 0, 7, 0, 18, 1, 4, 0, 19, 1, 0, 0, 20, 1, 7, 0, 21, 1, 4, 0, 22, 1,
+ 4, 0,124, 0, 44, 0, 63, 0, 19, 0, 29, 0, 31, 0, 72, 0, 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, 31, 1, 7, 0, 67, 0, 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, 7, 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, 50, 1, 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,240, 0, 7, 0, 51, 1, 7, 0, 52, 1, 7, 0, 53, 1, 7, 0, 54, 1,
+ 4, 0, 55, 1, 4, 0, 56, 1, 2, 0, 57, 1, 2, 0, 58, 1, 2, 0, 16, 1, 2, 0,122, 0, 4, 0, 21, 0, 4, 0,119, 0,
+ 4, 0,120, 0, 4, 0,121, 0, 7, 0, 59, 1, 7, 0, 60, 1, 7, 0, 87, 0, 37, 0, 61, 1, 53, 0, 62, 1, 28, 0, 77, 0,
+ 39, 0,236, 0, 45, 0, 63, 1, 47, 0, 11, 1, 48, 0, 64, 1, 22, 0,146, 0, 50, 0, 65, 1, 52, 0, 66, 1, 0, 0, 67, 1,
+ 0, 0,177, 0, 54, 0, 8, 0, 7, 0, 68, 1, 7, 0, 69, 1, 7, 0,168, 0, 4, 0, 17, 0, 7, 0, 70, 1, 7, 0, 71, 1,
+ 7, 0, 72, 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, 73, 1,
+ 2, 0,171, 0, 2, 0, 74, 1, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 7, 0,181, 0, 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,
+ 7, 0, 85, 1, 51, 0, 86, 1, 2, 0,247, 0, 2, 0, 67, 0, 7, 0,108, 0, 7, 0,109, 0, 7, 0, 87, 1, 7, 0, 88, 1,
+ 7, 0, 89, 1, 7, 0, 90, 1, 7, 0, 91, 1, 2, 0, 92, 1, 2, 0, 93, 1, 2, 0, 94, 1, 2, 0, 95, 1, 0, 0, 96, 1,
+ 0, 0, 97, 1, 2, 0, 98, 1, 2, 0, 99, 1, 2, 0,100, 1, 2, 0,101, 1, 2, 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, 87, 0, 2, 0,108, 1, 2, 0,109, 1, 2, 0,110, 1, 2, 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, 7, 0,123, 1, 2, 0,124, 1, 0, 0,125, 1, 28, 0, 77, 0, 43, 0,126, 1,
+ 2, 0,127, 1, 0, 0,128, 1, 22, 0,146, 0, 56, 0, 18, 0, 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, 7, 0,138, 1, 2, 0,139, 1, 2, 0,140, 1,
+ 2, 0,141, 1, 2, 0,142, 1, 7, 0,143, 1, 7, 0,144, 1, 7, 0,145, 1, 7, 0,146, 1, 57, 0,125, 0, 19, 0, 29, 0,
+ 31, 0, 72, 0, 2, 0,147, 1, 2, 0, 17, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 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, 7, 0,167, 1, 56, 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, 7, 0,175, 1, 2, 0,176, 1, 2, 0,177, 1, 2, 0,178, 1, 0, 0,179, 1, 0, 0,180, 1, 7, 0,181, 1,
+ 7, 0,182, 1, 2, 0,183, 1, 2, 0,184, 1, 7, 0,185, 1, 7, 0,186, 1, 7, 0,187, 1, 7, 0,188, 1, 2, 0,189, 1,
+ 2, 0,190, 1, 4, 0, 73, 1, 4, 0,191, 1, 2, 0,192, 1, 2, 0,193, 1, 2, 0,194, 1, 2, 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,
+ 7, 0,205, 1, 0, 0,206, 1, 7, 0,207, 1, 7, 0,208, 1, 7, 0,209, 1, 4, 0,210, 1, 0, 0,211, 1, 0, 0,108, 1,
+ 0, 0,212, 1, 0, 0, 67, 1, 2, 0,213, 1, 2, 0,214, 1, 2, 0,127, 1, 2, 0,215, 1, 2, 0,216, 1, 2, 0,217, 1,
+ 7, 0,218, 1, 7, 0,219, 1, 7, 0,220, 1, 7, 0,221, 1, 7, 0,222, 1, 2, 0,156, 0, 2, 0,157, 0, 47, 0,223, 1,
+ 47, 0,224, 1, 0, 0,225, 1, 0, 0,226, 1, 0, 0,227, 1, 0, 0,228, 1, 2, 0,229, 1, 2, 0,230, 1, 7, 0,231, 1,
+ 7, 0,232, 1, 43, 0,126, 1, 53, 0, 62, 1, 28, 0, 77, 0, 58, 0,233, 1, 22, 0,146, 0, 7, 0,234, 1, 7, 0,235, 1,
+ 7, 0,236, 1, 7, 0,237, 1, 7, 0,238, 1, 2, 0,239, 1, 2, 0, 67, 0, 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, 7, 0,248, 1, 2, 0,249, 1, 2, 0,250, 1,
+ 4, 0,251, 1, 2, 0,252, 1, 2, 0,253, 1, 12, 0,254, 1, 59, 0, 4, 0, 19, 0, 29, 0, 0, 0,255, 1, 60, 0, 2, 0,
+ 35, 0,145, 0, 61, 0, 26, 0, 61, 0, 0, 0, 61, 0, 1, 0, 62, 0, 0, 2, 4, 0, 1, 2, 4, 0, 2, 2, 4, 0, 3, 2,
+ 4, 0, 4, 2, 4, 0, 5, 2, 4, 0, 6, 2, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 7, 2, 2, 0, 8, 2, 7, 0, 5, 0,
+ 7, 0, 6, 0, 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, 7, 0, 21, 0, 7, 0, 17, 2, 7, 0, 18, 2, 63, 0, 20, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2,
+ 12, 0, 19, 2, 12, 0, 20, 2, 12, 0, 21, 2, 28, 0, 77, 0, 57, 0, 22, 2, 0, 0, 17, 0, 0, 0, 23, 2, 2, 0, 24, 2,
+ 2, 0,170, 0, 2, 0, 35, 0, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 7, 0, 25, 2, 7, 0, 26, 2, 7, 0, 27, 2,
+ 61, 0, 28, 2, 27, 0, 11, 0, 7, 0, 29, 2, 7, 0, 30, 2, 7, 0, 31, 2, 7, 0,249, 0, 2, 0, 52, 0, 0, 0, 32, 2,
+ 0, 0, 33, 2, 0, 0, 34, 2, 0, 0, 35, 2, 0, 0, 36, 2, 0, 0, 37, 2, 26, 0, 7, 0, 7, 0, 38, 2, 7, 0, 30, 2,
+ 7, 0, 31, 2, 2, 0, 34, 2, 2, 0, 37, 2, 7, 0,249, 0, 7, 0, 35, 0, 64, 0, 21, 0, 64, 0, 0, 0, 64, 0, 1, 0,
+ 2, 0, 15, 0, 2, 0, 39, 2, 2, 0, 37, 2, 2, 0, 17, 0, 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, 2, 0, 47, 2, 7, 0, 48, 2, 7, 0, 49, 2, 26, 0, 46, 0, 27, 0, 47, 0,
+ 2, 0, 50, 2, 2, 0, 51, 2, 4, 0, 52, 2, 65, 0, 5, 0, 2, 0, 53, 2, 2, 0, 39, 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, 54, 2, 7, 0, 55, 2, 67, 0, 4, 0, 12, 0, 56, 2,
+ 68, 0, 57, 2, 4, 0, 58, 2, 0, 0, 90, 0, 69, 0, 68, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2, 12, 0, 59, 2,
+ 12, 0, 20, 2, 67, 0, 60, 2, 24, 0, 61, 2, 24, 0, 62, 2, 24, 0, 63, 2, 28, 0, 77, 0, 70, 0, 64, 2, 30, 0, 65, 2,
+ 57, 0, 22, 2, 12, 0, 66, 2, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 2, 0,170, 0, 2, 0, 87, 0, 2, 0, 67, 2,
+ 2, 0, 68, 2, 7, 0, 69, 2, 7, 0, 70, 2, 4, 0, 71, 2, 2, 0, 35, 0, 2, 0, 24, 2, 2, 0, 17, 0, 2, 0, 72, 2,
+ 7, 0, 73, 2, 7, 0, 74, 2, 7, 0, 75, 2, 2, 0, 42, 2, 2, 0, 43, 2, 2, 0, 76, 2, 2, 0, 77, 2, 4, 0, 78, 2,
+ 9, 0, 79, 2, 2, 0, 21, 0, 2, 0, 93, 0, 2, 0, 64, 0, 2, 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, 7, 0, 90, 2, 0, 0, 91, 2,
+ 71, 0, 92, 2, 72, 0, 93, 2, 0, 0, 94, 2, 59, 0, 95, 2, 59, 0, 96, 2, 59, 0, 97, 2, 59, 0, 98, 2, 4, 0, 99, 2,
+ 7, 0,100, 2, 4, 0,101, 2, 4, 0,102, 2, 66, 0,103, 2, 4, 0,104, 2, 4, 0,105, 2, 65, 0,106, 2, 65, 0,107, 2,
+ 73, 0, 39, 0, 19, 0, 29, 0, 31, 0, 72, 0, 62, 0, 0, 2, 28, 0, 77, 0, 30, 0, 65, 2, 57, 0, 22, 2, 74, 0,108, 2,
+ 75, 0,109, 2, 76, 0,110, 2, 77, 0,111, 2, 78, 0,112, 2, 79, 0,113, 2, 80, 0,114, 2, 81, 0,115, 2, 73, 0,116, 2,
+ 82, 0,117, 2, 83, 0,118, 2, 84, 0,119, 2, 84, 0,120, 2, 84, 0,121, 2, 4, 0, 51, 0, 4, 0,122, 2, 4, 0,123, 2,
+ 4, 0,124, 2, 4, 0,125, 2, 7, 0, 68, 1, 7, 0,168, 0, 7, 0, 69, 1, 2, 0,170, 0, 2, 0, 67, 2, 2, 0,126, 2,
+ 2, 0, 17, 0, 2, 0,127, 2, 2, 0,128, 2, 0, 0,129, 2, 0, 0,130, 2, 2, 0, 24, 2, 85, 0,131, 2, 86, 0,132, 2,
+ 76, 0, 8, 0, 9, 0,133, 2, 7, 0,134, 2, 4, 0,135, 2, 0, 0, 17, 0, 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2,
+ 2, 0,138, 2, 74, 0, 7, 0, 4, 0,139, 2, 4, 0,140, 2, 4, 0,141, 2, 4, 0,142, 2, 2, 0, 39, 2, 0, 0,143, 2,
+ 0, 0, 17, 0, 78, 0, 5, 0, 4, 0,139, 2, 4, 0,140, 2, 0, 0,144, 2, 0, 0,145, 2, 2, 0, 17, 0, 87, 0, 2, 0,
+ 4, 0,146, 2, 7, 0, 31, 2, 79, 0, 3, 0, 87, 0,147, 2, 4, 0,148, 2, 4, 0, 17, 0, 77, 0, 4, 0, 7, 0,149, 2,
+ 2, 0,150, 2, 0, 0, 17, 0, 0, 0,145, 2, 80, 0, 4, 0, 0, 0,234, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0,
+ 88, 0, 6, 0, 39, 0,133, 2, 0, 0, 17, 0, 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2, 2, 0,138, 2, 89, 0, 1, 0,
+ 7, 0,151, 2, 90, 0, 5, 0, 0, 0,234, 0, 0, 0,178, 0, 0, 0,179, 0, 0, 0,180, 0, 4, 0, 35, 0, 81, 0, 1, 0,
+ 7, 0,152, 2, 82, 0, 2, 0, 4, 0,253, 1, 4, 0, 15, 0, 75, 0, 7, 0, 7, 0,134, 2, 39, 0,133, 2, 0, 0, 17, 0,
+ 0, 0,136, 2, 2, 0, 73, 1, 2, 0,137, 2, 2, 0,138, 2, 91, 0, 1, 0, 7, 0,153, 2, 92, 0, 1, 0, 4, 0,154, 2,
+ 93, 0, 1, 0, 0, 0,155, 2, 94, 0, 1, 0, 7, 0,134, 2, 95, 0, 3, 0, 4, 0,156, 2, 0, 0, 90, 0, 7, 0,157, 2,
+ 96, 0, 4, 0, 7, 0,234, 0, 7, 0,178, 0, 7, 0,179, 0, 7, 0,180, 0, 97, 0, 1, 0, 96, 0,135, 2, 98, 0, 5, 0,
+ 4, 0,158, 2, 4, 0,159, 2, 0, 0, 17, 0, 0, 0, 39, 2, 0, 0,160, 2, 99, 0, 2, 0, 4, 0,161, 2, 4, 0,159, 2,
+100, 0, 10, 0,100, 0, 0, 0,100, 0, 1, 0, 98, 0,162, 2, 97, 0,163, 2, 99, 0,164, 2, 4, 0, 51, 0, 4, 0,123, 2,
+ 4, 0,122, 2, 4, 0, 35, 0, 77, 0,165, 2, 85, 0, 14, 0, 12, 0,166, 2, 77, 0,165, 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,173, 2, 0, 0, 17, 0, 84, 0,119, 2, 84, 0,121, 2,
+ 2, 0,174, 2, 0, 0,175, 2, 86, 0, 8, 0, 4, 0,176, 2, 4, 0,177, 2, 74, 0,178, 2, 78, 0,179, 2, 4, 0,123, 2,
+ 4, 0,122, 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, 73, 1,
+ 4, 0,180, 2, 4, 0, 35, 0, 0, 0, 18, 0, 38, 0,117, 0, 0, 0,181, 2,102, 0, 6, 0,101, 0,182, 2, 44, 0,183, 2,
+ 24, 0,184, 2, 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2,103, 0, 7, 0,101, 0,182, 2, 2, 0,188, 2, 2, 0,166, 2,
+ 2, 0,189, 2, 2, 0, 88, 0, 9, 0,190, 2, 9, 0,191, 2,104, 0, 3, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0, 18, 0,
+105, 0, 5, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0, 18, 0, 2, 0,192, 2, 0, 0,193, 2,106, 0, 5, 0,101, 0,182, 2,
+ 7, 0, 85, 0, 7, 0,194, 2, 4, 0,195, 2, 4, 0,196, 2,107, 0, 5, 0,101, 0,182, 2, 24, 0,197, 2, 0, 0, 69, 0,
+ 4, 0, 73, 1, 4, 0, 17, 0,108, 0, 13, 0,101, 0,182, 2, 24, 0,198, 2, 24, 0,199, 2, 24, 0,200, 2, 24, 0,201, 2,
+ 7, 0,202, 2, 7, 0,203, 2, 7, 0,194, 2, 7, 0,204, 2, 4, 0,205, 2, 4, 0,206, 2, 4, 0, 88, 0, 4, 0,207, 2,
+109, 0, 5, 0,101, 0,182, 2, 2, 0,208, 2, 2, 0, 17, 0, 7, 0,209, 2, 24, 0,210, 2,110, 0, 3, 0,101, 0,182, 2,
+ 7, 0,211, 2, 4, 0, 88, 0,111, 0, 10, 0,101, 0,182, 2, 7, 0,212, 2, 4, 0,213, 2, 4, 0, 35, 0, 2, 0, 88, 0,
+ 2, 0,214, 2, 2, 0,215, 2, 2, 0,216, 2, 7, 0,217, 2, 0, 0,218, 2,112, 0, 3, 0,101, 0,182, 2, 7, 0, 35, 0,
+ 4, 0, 15, 0,113, 0, 6, 0,101, 0,182, 2,114, 0,219, 2,115, 0,220, 2,116, 0,221, 2, 7, 0,222, 2, 4, 0, 15, 0,
+117, 0, 11, 0,101, 0,182, 2, 44, 0,183, 2, 24, 0,184, 2, 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2, 4, 0,223, 2,
+ 7, 0,224, 2, 4, 0,225, 2, 0, 0,218, 2, 7, 0,226, 2,118, 0, 12, 0,101, 0,182, 2, 24, 0,227, 2, 39, 0,228, 2,
+ 4, 0, 88, 0, 4, 0,229, 2, 7, 0,230, 2, 7, 0,231, 2, 7, 0,232, 2, 7, 0,233, 2, 0, 0,185, 2, 4, 0,186, 2,
+ 4, 0, 35, 0,119, 0, 3, 0,101, 0,182, 2, 7, 0,234, 2, 4, 0,235, 2,120, 0, 5, 0,101, 0,182, 2, 7, 0,236, 2,
+ 0, 0,218, 2, 2, 0, 17, 0, 2, 0,237, 2,121, 0, 8, 0,101, 0,182, 2, 24, 0,160, 0, 7, 0,236, 2, 7, 0,249, 0,
+ 7, 0,104, 0, 0, 0,218, 2, 2, 0, 17, 0, 2, 0, 15, 0,122, 0, 21, 0,101, 0,182, 2, 24, 0,238, 2, 0, 0,218, 2,
+ 44, 0,183, 2, 24, 0,184, 2, 2, 0, 17, 0, 2, 0, 35, 0, 7, 0,239, 2, 7, 0,240, 2, 7, 0,241, 2, 7, 0, 73, 2,
+ 7, 0,242, 2, 7, 0,243, 2, 7, 0,244, 2, 7, 0,245, 2, 4, 0,187, 2, 4, 0,186, 2, 0, 0,185, 2, 7, 0,246, 2,
+ 7, 0,247, 2, 7, 0, 87, 0,123, 0, 7, 0,101, 0,182, 2, 2, 0,248, 2, 2, 0,249, 2, 4, 0, 67, 0, 24, 0,160, 0,
+ 7, 0,250, 2, 0, 0,218, 2,124, 0, 10, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0,251, 2, 7, 0,252, 2, 7, 0,253, 2,
+ 7, 0,245, 2, 4, 0,254, 2, 4, 0,255, 2, 7, 0, 0, 3, 0, 0, 18, 0,125, 0, 1, 0,101, 0,182, 2,126, 0, 7, 0,
+101, 0,182, 2, 38, 0,117, 0,127, 0, 1, 3,128, 0, 2, 3,129, 0, 3, 3,130, 0, 4, 3, 12, 0, 5, 3,131, 0, 13, 0,
+101, 0,182, 2, 77, 0, 6, 3, 77, 0, 7, 3, 77, 0, 8, 3, 77, 0, 9, 3, 77, 0, 10, 3, 77, 0, 11, 3, 74, 0, 12, 3,
+ 4, 0, 13, 3, 4, 0, 14, 3, 7, 0, 15, 3, 7, 0, 16, 3,132, 0, 17, 3,133, 0, 7, 0,101, 0,182, 2, 77, 0, 6, 3,
+ 77, 0, 18, 3,134, 0, 19, 3,135, 0, 17, 3, 4, 0, 20, 3, 4, 0, 13, 3,136, 0, 4, 0,101, 0,182, 2, 24, 0,160, 0,
+ 4, 0, 21, 3, 4, 0, 35, 0,137, 0, 2, 0, 4, 0, 22, 3, 7, 0, 31, 2,138, 0, 2, 0, 4, 0,120, 0, 4, 0, 23, 3,
+139, 0, 24, 0,101, 0,182, 2, 24, 0,160, 0, 0, 0,218, 2, 2, 0, 24, 3, 2, 0, 17, 0, 2, 0, 73, 1, 2, 0, 35, 0,
+137, 0, 25, 3, 4, 0, 26, 3, 7, 0, 27, 3, 4, 0, 51, 0, 4, 0, 28, 3,138, 0, 29, 3,137, 0, 30, 3, 4, 0, 31, 3,
+ 4, 0, 32, 3, 4, 0, 33, 3, 4, 0, 23, 3, 7, 0, 34, 3, 7, 0, 35, 3, 7, 0, 36, 3, 7, 0, 37, 3, 7, 0, 38, 3,
+ 9, 0, 39, 3,140, 0, 8, 0,101, 0,182, 2,141, 0, 40, 3,134, 0, 19, 3, 4, 0, 41, 3, 4, 0, 42, 3, 4, 0, 43, 3,
+ 2, 0, 17, 0, 2, 0, 54, 0,142, 0, 8, 0,101, 0,182, 2, 24, 0, 42, 0, 2, 0,253, 0, 2, 0, 17, 0, 2, 0,208, 2,
+ 2, 0, 54, 0, 7, 0, 44, 3, 7, 0, 45, 3,143, 0, 6, 0,101, 0,182, 2, 4, 0, 46, 3, 2, 0, 17, 0, 2, 0, 47, 3,
+ 7, 0, 48, 3, 0, 0,162, 0,144, 0, 8, 0,101, 0,182, 2, 0, 0, 49, 3, 0, 0, 50, 3, 0, 0,172, 2, 0, 0, 51, 3,
+ 0, 0, 52, 3, 0, 0, 88, 0, 0, 0,160, 2,145, 0, 3, 0,101, 0,182, 2,146, 0, 53, 3,130, 0, 4, 3,147, 0, 10, 0,
+101, 0,182, 2, 24, 0, 54, 3, 24, 0, 55, 3, 0, 0, 56, 3, 7, 0, 57, 3, 2, 0, 58, 3, 2, 0, 59, 3, 0, 0, 60, 3,
+ 0, 0, 61, 3, 0, 0,193, 2,148, 0, 9, 0,101, 0,182, 2, 24, 0, 62, 3, 0, 0, 56, 3, 7, 0, 63, 3, 7, 0, 64, 3,
+ 0, 0, 73, 1, 0, 0,208, 2, 0, 0, 65, 3, 0, 0, 35, 0,149, 0, 1, 0,101, 0,182, 2,150, 0, 11, 0,101, 0,182, 2,
+ 0, 0,218, 2, 7, 0,120, 0, 7, 0, 66, 3, 7, 0, 67, 3, 7, 0, 68, 3, 7, 0, 69, 3, 4, 0, 17, 0, 2, 0, 70, 3,
+ 2, 0, 71, 3, 4, 0, 35, 0,151, 0, 9, 0,101, 0,182, 2, 24, 0, 72, 3, 4, 0, 73, 3, 4, 0, 74, 3, 4, 0, 75, 3,
+ 7, 0, 76, 3, 7, 0, 77, 3, 2, 0,208, 2, 2, 0, 17, 0,152, 0, 16, 0,101, 0,182, 2, 44, 0,183, 2, 24, 0,184, 2,
+ 0, 0,185, 2, 4, 0,186, 2, 4, 0,187, 2, 4, 0,223, 2, 7, 0,224, 2, 24, 0, 78, 3, 24, 0, 79, 3, 51, 0, 86, 1,
+ 0, 0,218, 2, 7, 0, 80, 3, 0, 0, 17, 0, 0, 0,247, 0, 0, 0,160, 2,153, 0, 3, 0,154, 0, 81, 3, 4, 0, 58, 2,
+ 0, 0, 90, 0,154, 0, 29, 0, 19, 0, 29, 0, 31, 0, 72, 0, 2, 0, 40, 2, 2, 0, 41, 2, 2, 0, 82, 3, 2, 0, 17, 0,
+ 2, 0, 83, 3, 2, 0, 84, 3, 2, 0, 85, 3, 2, 0, 67, 0, 0, 0, 86, 3, 0, 0, 87, 3, 0, 0, 88, 3, 0, 0,230, 1,
+ 4, 0, 35, 0, 7, 0, 89, 3, 7, 0, 90, 3, 7, 0, 91, 3, 7, 0, 92, 3, 7, 0, 93, 3, 7, 0, 94, 3, 26, 0, 95, 3,
+ 28, 0, 77, 0, 30, 0, 65, 2, 79, 0,113, 2, 0, 0, 69, 0, 7, 0, 96, 3, 7, 0, 97, 3,153, 0, 98, 3,155, 0, 3, 0,
+155, 0, 0, 0,155, 0, 1, 0, 0, 0, 18, 0, 62, 0, 3, 0, 7, 0, 99, 3, 4, 0, 17, 0, 4, 0, 35, 0, 24, 0,129, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,156, 0,100, 3, 2, 0, 15, 0, 2, 0,101, 3, 4, 0,102, 3, 4, 0,103, 3, 4, 0,104, 3,
+ 0, 0,105, 3, 24, 0, 36, 0, 24, 0,106, 3, 24, 0,107, 3, 24, 0,108, 3, 24, 0,109, 3, 28, 0, 77, 0, 70, 0, 64, 2,
+ 62, 0, 0, 2,157, 0,110, 3,157, 0,111, 3,158, 0,112, 3, 9, 0, 2, 0,159, 0,113, 3,160, 0,114, 3,161, 0,115, 3,
+ 12, 0,116, 3, 12, 0,117, 3, 12, 0, 20, 2, 12, 0,118, 3, 12, 0,119, 3, 4, 0, 73, 1, 4, 0,120, 3, 57, 0, 22, 2,
+ 0, 0,121, 3, 4, 0, 24, 2, 4, 0,122, 3, 7, 0, 68, 1, 7, 0,123, 3, 7, 0,124, 3, 7, 0,168, 0, 7, 0,125, 3,
+ 7, 0, 69, 1, 7, 0,126, 3, 7, 0, 10, 2, 7, 0,127, 3, 7, 0,128, 3, 7, 0,129, 3, 7, 0,130, 3, 7, 0,131, 3,
+ 7, 0,132, 3, 7, 0,252, 2, 7, 0,133, 3, 7, 0,238, 0, 7, 0,134, 3, 4, 0,135, 3, 2, 0, 17, 0, 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, 2, 0,146, 3, 4, 0,147, 3, 4, 0,148, 3, 4, 0,149, 3, 4, 0,150, 3, 7, 0,151, 3, 7, 0,100, 2,
+ 7, 0,152, 3, 7, 0,153, 3, 7, 0,154, 3, 7, 0,155, 3, 7, 0,156, 3, 7, 0,213, 0, 7, 0,157, 3, 7, 0,158, 3,
+ 7, 0,159, 3, 7, 0,160, 3, 2, 0,161, 3, 0, 0,162, 3, 0, 0,106, 0, 0, 0,163, 3, 0, 0,164, 3, 7, 0,165, 3,
+ 7, 0,166, 3, 12, 0,167, 3, 12, 0,168, 3, 12, 0,169, 3, 12, 0,170, 3, 7, 0,171, 3, 2, 0,253, 1, 2, 0,172, 3,
+ 7, 0,135, 2, 4, 0,173, 3, 4, 0,174, 3,162, 0,175, 3, 2, 0,176, 3, 2, 0,245, 0, 7, 0,177, 3, 12, 0,178, 3,
+ 12, 0,179, 3, 12, 0,180, 3, 12, 0,181, 3,163, 0, 65, 1,164, 0,182, 3, 58, 0,183, 3, 2, 0,184, 3, 2, 0,185, 3,
+ 2, 0, 58, 2, 2, 0,186, 3, 7, 0,126, 2, 2, 0,187, 3, 2, 0,188, 3,146, 0,189, 3,134, 0,190, 3,134, 0,191, 3,
+ 4, 0,192, 3, 4, 0,193, 3, 4, 0,194, 3, 4, 0,195, 3, 12, 0,196, 3, 12, 0,197, 3, 12, 0,198, 3, 7, 0,199, 3,
+ 0, 0,200, 3,165, 0, 14, 0,165, 0, 0, 0,165, 0, 1, 0, 24, 0, 36, 0, 7, 0,252, 2, 7, 0, 70, 1, 7, 0,253, 2,
+ 7, 0,245, 2, 0, 0, 18, 0, 4, 0,254, 2, 4, 0,255, 2, 4, 0,201, 3, 2, 0, 15, 0, 2, 0,202, 3, 7, 0, 0, 3,
+166, 0, 12, 0,166, 0, 0, 0,166, 0, 1, 0, 24, 0, 42, 0, 4, 0,203, 3, 4, 0,253, 1, 4, 0,204, 3, 4, 0, 15, 0,
+ 4, 0,205, 3, 7, 0, 70, 1, 7, 0,206, 3, 7, 0,207, 3, 7, 0,151, 2,163, 0, 40, 0, 4, 0, 17, 0, 2, 0,208, 3,
+ 2, 0,209, 3, 2, 0,245, 2, 2, 0,210, 3, 2, 0,211, 3, 2, 0,212, 3, 2, 0,213, 3, 2, 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, 7, 0,241, 3, 44, 0,161, 0,167, 0,242, 3, 7, 0,243, 3, 4, 0,196, 2,168, 0, 5, 0, 58, 0,233, 1,
+ 7, 0,244, 3, 7, 0,245, 3, 2, 0, 17, 0, 2, 0,246, 3,169, 0, 5, 0,169, 0, 0, 0,169, 0, 1, 0, 4, 0, 15, 0,
+ 4, 0,247, 3, 9, 0, 2, 0,170, 0, 9, 0,170, 0, 0, 0,170, 0, 1, 0, 4, 0,248, 3, 4, 0,249, 3, 4, 0,250, 3,
+ 4, 0, 17, 0, 9, 0,251, 3, 9, 0,252, 3, 12, 0,253, 3,130, 0, 21, 0,130, 0, 0, 0,130, 0, 1, 0, 4, 0, 17, 0,
+ 4, 0,254, 3, 4, 0,255, 3, 4, 0, 0, 4, 4, 0, 1, 4, 4, 0, 2, 4, 4, 0, 3, 4, 4, 0,249, 3, 4, 0,253, 1,
+ 2, 0, 4, 4, 2, 0, 54, 0, 0, 0, 5, 4, 0, 0, 6, 4, 0, 0, 7, 4, 0, 0, 8, 4, 0, 0, 9, 4, 12, 0, 10, 4,
+171, 0, 11, 4, 9, 0, 12, 4,172, 0, 1, 0, 7, 0, 38, 2,162, 0, 30, 0, 4, 0, 17, 0, 7, 0, 13, 4, 7, 0, 14, 4,
+ 7, 0, 15, 4, 4, 0, 16, 4, 4, 0, 17, 4, 4, 0, 18, 4, 4, 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, 7, 0, 37, 4, 4, 0, 38, 4,
+ 4, 0, 39, 4, 7, 0, 40, 4, 7, 0,157, 3,164, 0, 54, 0, 4, 0,249, 3, 4, 0, 41, 4,173, 0, 42, 4,174, 0, 43, 4,
+ 0, 0, 35, 0, 0, 0, 44, 4, 2, 0, 45, 4, 7, 0, 46, 4, 0, 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, 7, 0, 56, 4, 2, 0, 57, 4, 0, 0, 58, 4,
+ 2, 0, 59, 4, 7, 0, 60, 4, 7, 0, 61, 4, 0, 0, 62, 4, 4, 0,121, 0, 4, 0, 63, 4, 4, 0, 64, 4, 2, 0, 65, 4,
+ 2, 0, 66, 4,172, 0, 67, 4, 4, 0, 68, 4, 4, 0, 79, 0, 7, 0, 69, 4, 7, 0, 70, 4, 7, 0, 71, 4, 7, 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, 2, 0, 80, 4,
+175, 0, 81, 4, 7, 0, 82, 4, 7, 0, 83, 4,130, 0, 84, 4, 12, 0, 5, 3,168, 0, 85, 4, 7, 0, 86, 4, 7, 0, 87, 4,
+ 7, 0, 88, 4, 0, 0, 89, 4,176, 0, 1, 0, 7, 0, 90, 4,146, 0, 50, 0,145, 0, 91, 4, 2, 0, 15, 0, 2, 0, 92, 4,
+ 2, 0, 93, 4, 2, 0, 94, 4, 7, 0, 95, 4, 2, 0, 96, 4, 2, 0, 97, 4, 7, 0, 98, 4, 2, 0, 99, 4, 2, 0,100, 4,
+ 7, 0,101, 4, 7, 0,102, 4, 7, 0,103, 4, 4, 0,104, 4, 4, 0,105, 4, 7, 0,106, 4, 4, 0,107, 4, 7, 0,108, 4,
+ 7, 0,109, 4, 7, 0,110, 4, 73, 0,111, 4, 73, 0,112, 4, 0, 0,113, 4, 7, 0,114, 4, 7, 0,115, 4, 28, 0, 77, 0,
+ 2, 0,116, 4, 0, 0,117, 4, 0, 0,118, 4, 7, 0,119, 4, 4, 0,120, 4, 7, 0,121, 4, 7, 0,122, 4, 4, 0,123, 4,
+ 4, 0, 17, 0, 7, 0,124, 4, 7, 0,125, 4, 7, 0,126, 4,176, 0,127, 4, 4, 0, 51, 0, 7, 0,128, 4, 7, 0,129, 4,
+ 7, 0,130, 4, 7, 0,131, 4, 7, 0,132, 4, 7, 0,133, 4, 7, 0,134, 4, 4, 0,135, 4, 4, 0, 35, 0,177, 0, 76, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0, 2, 0,171, 0, 2, 0, 74, 1, 2, 0,108, 1, 2, 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,142, 4, 7, 0,154, 1, 7, 0,156, 1, 7, 0,155, 1, 7, 0, 67, 0,
+ 4, 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, 7, 0,150, 4,
+ 2, 0,151, 4, 2, 0, 73, 1, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 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, 7, 0,169, 4, 2, 0,170, 4, 2, 0,171, 4, 2, 0,172, 4, 2, 0,173, 4,
+ 7, 0,174, 4, 7, 0,175, 4, 7, 0,176, 4, 7, 0,177, 4, 2, 0,178, 4, 2, 0,179, 4, 2, 0,180, 4, 2, 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, 7, 0,188, 4, 2, 0,189, 4,
+ 2, 0,190, 4, 2, 0,191, 4, 2, 0,192, 4, 2, 0,193, 4, 2, 0, 17, 0, 7, 0,194, 4, 7, 0,195, 4, 28, 0, 77, 0,
+ 43, 0,126, 1, 2, 0,127, 1, 2, 0,196, 4, 22, 0,146, 0,178, 0, 8, 0,178, 0, 0, 0,178, 0, 1, 0, 4, 0,135, 3,
+ 4, 0,197, 4, 4, 0, 17, 0, 2, 0,198, 4, 2, 0,199, 4, 24, 0,160, 0,179, 0, 13, 0, 9, 0,200, 4, 9, 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,210, 4, 4, 0, 35, 0, 0, 0,211, 4,180, 0, 5, 0, 9, 0,212, 4, 9, 0,213, 4, 4, 0,214, 4, 4, 0, 67, 0,
+ 0, 0,215, 4,181, 0, 17, 0, 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, 4, 0,227, 4, 2, 0,228, 4, 2, 0,229, 4,
+ 4, 0,230, 4, 4, 0,231, 4, 4, 0, 87, 0,182, 0, 17, 0, 4, 0, 15, 0, 4, 0,218, 4, 4, 0,232, 4, 4, 0,233, 4,
+ 4, 0,234, 4, 4, 0,235, 4, 4, 0,236, 4, 4, 0,237, 4, 7, 0,238, 4, 4, 0,239, 4, 4, 0, 88, 0, 4, 0,240, 4,
+ 4, 0,241, 4, 4, 0,242, 4, 4, 0,243, 4, 4, 0,244, 4, 18, 0, 28, 0,183, 0, 7, 0, 4, 0,245, 4, 7, 0,246, 4,
+ 7, 0,247, 4, 7, 0,248, 4, 4, 0,249, 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,250, 4, 58, 0,251, 4, 4, 0,135, 3, 4, 0,252, 4, 4, 0,253, 4, 4, 0, 35, 0, 4, 0,254, 4,
+ 4, 0,255, 4,185, 0,105, 0,179, 0, 0, 5,180, 0, 1, 5,181, 0, 2, 5,182, 0, 3, 5, 4, 0, 20, 3, 4, 0,121, 0,
+ 4, 0, 63, 4, 7, 0, 4, 5, 4, 0, 5, 5, 4, 0, 6, 5, 4, 0, 7, 5, 4, 0, 8, 5, 2, 0, 17, 0, 2, 0, 9, 5,
+ 7, 0, 10, 5, 7, 0, 11, 5, 7, 0, 12, 5, 7, 0, 13, 5, 7, 0, 14, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0, 17, 5,
+ 2, 0, 18, 5, 2, 0,244, 0, 2, 0, 19, 5, 4, 0, 20, 5, 2, 0, 21, 5, 2, 0, 22, 5, 2, 0, 95, 1, 2, 0,104, 0,
+ 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, 2, 0, 30, 5,
+ 2, 0, 31, 5, 2, 0, 32, 5, 4, 0, 33, 5, 4, 0, 73, 1, 4, 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, 2, 0, 42, 5, 16, 0, 43, 5, 16, 0, 44, 5, 15, 0, 45, 5,
+ 12, 0, 46, 5, 2, 0, 47, 5, 2, 0, 48, 5, 7, 0, 49, 5, 7, 0, 50, 5, 7, 0, 51, 5, 7, 0, 52, 5, 4, 0, 53, 5,
+ 7, 0, 54, 5, 7, 0, 55, 5, 7, 0, 56, 5, 7, 0, 57, 5, 2, 0, 58, 5, 2, 0, 59, 5, 2, 0, 60, 5, 2, 0, 61, 5,
+ 2, 0, 62, 5, 2, 0, 63, 5, 7, 0, 64, 5, 7, 0, 65, 5, 7, 0, 66, 5, 0, 0, 67, 5, 4, 0, 68, 5, 2, 0, 69, 5,
+ 2, 0,230, 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,186, 0, 9, 0,186, 0, 0, 0,186, 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,187, 0, 7, 0, 2, 0,213, 2, 2, 0, 73, 1,
+ 2, 0, 77, 3, 2, 0, 99, 5, 7, 0,100, 5, 7, 0, 67, 0, 34, 0,101, 5,188, 0, 5, 0, 7, 0,102, 5, 0, 0, 15, 0,
+ 0, 0, 87, 0, 0, 0, 67, 0, 0, 0,230, 1,189, 0, 28, 0, 7, 0,149, 4, 7, 0,150, 4, 2, 0, 73, 1, 2, 0, 17, 0,
+ 2, 0,103, 5, 2, 0,196, 4, 2, 0,152, 4, 2, 0,153, 4, 2, 0,154, 4, 2, 0,155, 4, 2, 0,156, 4, 2, 0,157, 4,
+188, 0,104, 5, 2, 0, 15, 5, 2, 0, 16, 5, 2, 0, 17, 5, 2, 0, 18, 5, 2, 0,244, 0, 2, 0, 19, 5, 2, 0,105, 5,
+ 2, 0,106, 5,187, 0,107, 5, 2, 0,108, 5, 2, 0, 21, 5, 2, 0, 67, 0, 2, 0,230, 1, 7, 0,109, 5, 7, 0, 87, 0,
+190, 0, 6, 0,190, 0, 0, 0,190, 0, 1, 0, 4, 0,248, 3, 0, 0, 5, 4, 4, 0, 17, 0, 24, 0,110, 5,191, 0, 4, 0,
+192, 0,111, 5, 9, 0,112, 5, 0, 0,113, 5, 4, 0, 88, 0,193, 0, 8, 0,191, 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,194, 0, 6, 0, 2, 0,104, 0, 2, 0,254, 3,
+ 2, 0,119, 5, 2, 0,207, 2, 4, 0, 17, 0, 7, 0,224, 2,195, 0, 14, 0, 2, 0, 17, 0, 2, 0,120, 5, 2, 0,121, 5,
+ 2, 0,122, 5,194, 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,117, 0, 24, 0,160, 0,196, 0, 4, 0,196, 0, 0, 0,196, 0, 1, 0, 0, 0,129, 5, 7, 0,130, 5,
+197, 0, 14, 0,191, 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,198, 0, 7, 0,
+191, 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,199, 0, 82, 0,
+198, 0,144, 5,198, 0,145, 5,197, 0,100, 3, 7, 0,146, 5, 2, 0,147, 5, 2, 0,148, 5, 7, 0,149, 5, 7, 0,150, 5,
+ 2, 0,254, 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,193, 0,171, 5,195, 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,196, 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,200, 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,123, 2,201, 0, 4, 0, 7, 0,227, 5, 0, 0,228, 5, 0, 0,229, 5, 2, 0, 17, 0,
+202, 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,177, 0,232, 5, 38, 0,233, 5, 12, 0,234, 5,178, 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,135, 3, 4, 0,241, 5, 4, 0,242, 5, 4, 0,193, 3, 4, 0,243, 5, 2, 0, 17, 0,
+ 2, 0, 67, 1, 53, 0, 62, 1,203, 0,244, 5,199, 0,245, 5,204, 0,246, 5,185, 0,178, 0,183, 0,247, 5, 12, 0, 98, 0,
+ 12, 0,248, 5, 9, 0,249, 5, 9, 0,250, 5, 9, 0,251, 5, 9, 0,252, 5,205, 0,253, 5, 2, 0,254, 5, 2, 0,255, 5,
+ 2, 0,245, 0, 2, 0, 0, 6, 4, 0, 1, 6, 4, 0, 2, 6, 12, 0, 3, 6,188, 0,104, 5,189, 0, 4, 6,201, 0, 5, 6,
+159, 0,113, 3,202, 0, 6, 6,206, 0, 11, 0,206, 0, 0, 0,206, 0, 1, 0, 39, 0,236, 0, 37, 0, 61, 1, 7, 0, 88, 2,
+ 7, 0, 89, 2, 7, 0,104, 0, 7, 0, 7, 6, 2, 0, 8, 6, 2, 0, 17, 0, 7, 0, 67, 0,207, 0, 38, 0, 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, 15, 6, 7, 0, 16, 6, 7, 0, 17, 6,
+ 7, 0, 80, 1, 7, 0, 18, 6, 7, 0, 19, 6, 7, 0, 20, 6, 7, 0, 21, 6, 7, 0,167, 0, 2, 0, 22, 6, 2, 0, 23, 6,
+ 0, 0, 24, 6, 0, 0,196, 4, 2, 0, 25, 6, 2, 0, 26, 6, 2, 0, 27, 6, 2, 0, 8, 6, 7, 0, 28, 6, 7, 0, 29, 6,
+ 62, 0, 30, 6,159, 0,113, 3,207, 0, 31, 6,208, 0, 32, 6,209, 0, 33, 6,210, 0, 34, 6,211, 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,212, 0, 50, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 7, 0, 17, 6, 7, 0, 80, 1, 7, 0, 87, 0, 4, 0, 46, 6,
+ 2, 0, 27, 6, 2, 0, 8, 6, 24, 0,110, 5, 24, 0, 47, 6, 12, 0, 48, 6,206, 0, 49, 6,212, 0, 31, 6, 0, 0, 50, 6,
+ 4, 0,135, 3, 4, 0,241, 5, 2, 0, 51, 6, 2, 0, 52, 6, 2, 0, 53, 6, 2, 0, 54, 6, 2, 0, 17, 0, 2, 0, 23, 2,
+ 7, 0,110, 0, 7, 0, 55, 6, 7, 0, 56, 6, 7, 0, 57, 6, 7, 0,167, 0, 7, 0,237, 5, 2, 0, 58, 6, 2, 0, 59, 6,
+ 2, 0, 60, 6, 0, 0, 61, 6, 0, 0, 62, 6, 0, 0, 63, 6, 0, 0, 64, 6, 0, 0, 65, 6, 12, 0, 66, 6, 12, 0, 67, 6,
+ 12, 0, 68, 6, 2, 0, 69, 6, 2, 0,136, 2, 2, 0, 70, 6, 0, 0, 71, 6, 0, 0, 72, 6, 9, 0, 73, 6,159, 0,113, 3,
+214, 0, 24, 0, 16, 0, 34, 0, 16, 0, 61, 0, 15, 0, 74, 6, 15, 0, 75, 6, 15, 0, 76, 6, 7, 0, 77, 6, 7, 0, 78, 6,
+ 7, 0, 79, 6, 7, 0, 80, 6, 2, 0, 81, 6, 2, 0, 82, 6, 2, 0, 83, 6, 2, 0, 84, 6, 2, 0, 85, 6, 2, 0, 17, 0,
+ 2, 0, 86, 6, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 89, 6, 2, 0, 90, 6, 2, 0, 54, 6, 7, 0, 91, 6, 4, 0, 92, 6,
+ 4, 0, 93, 6,213, 0, 6, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+215, 0, 8, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 0, 0, 94, 6,
+ 0, 0,177, 0,216, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+214, 0, 95, 6,217, 0, 96, 6, 12, 0, 97, 6, 2, 0, 73, 1, 2, 0, 98, 6, 4, 0, 17, 0, 7, 0, 99, 6, 4, 0, 54, 6,
+218, 0, 21, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,208, 0, 32, 6,
+214, 0, 95, 6, 2, 0,100, 6, 2, 0,101, 6, 2, 0,102, 6, 2, 0,103, 6, 2, 0, 86, 6, 2, 0,104, 6, 2, 0,105, 6,
+ 0, 0, 17, 0, 0, 0, 35, 0, 9, 0, 64, 2, 4, 0,106, 6, 4, 0,107, 6, 19, 0,108, 6,219, 0, 18, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 7, 0, 88, 2, 7, 0, 89, 2,
+ 2, 0,100, 6, 2, 0,109, 6, 2, 0,110, 6, 2, 0,111, 6, 4, 0, 17, 0, 7, 0,112, 6, 4, 0, 8, 6, 4, 0, 35, 0,
+159, 0,113, 3,220, 0, 16, 0, 0, 0,113, 6, 0, 0,114, 6, 0, 0,115, 6, 0, 0,116, 6, 0, 0,117, 6, 0, 0,118, 6,
+ 4, 0,119, 6, 4, 0,120, 6, 4, 0,121, 6, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,122, 6, 2, 0,123, 6, 2, 0,173, 1,
+ 2, 0,124, 6, 0, 0,125, 6,221, 0, 16, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0,126, 6,
+220, 0,127, 6,222, 0,128, 6, 12, 0,129, 6, 12, 0,130, 6,223, 0,131, 6,211, 0,132, 6,224, 0,133, 6, 2, 0,134, 6,
+ 2, 0,135, 6, 2, 0,136, 6, 2, 0, 67, 0,225, 0, 15, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 12, 0,137, 6,226, 0,138, 6, 0, 0,139, 6,227, 0,140, 6, 2, 0, 17, 0,
+ 2, 0,141, 6, 2, 0,142, 6, 2, 0,143, 6,228, 0, 25, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 4, 0, 17, 0, 39, 0,228, 2, 37, 0, 61, 1, 51, 0,144, 6,229, 0,145, 6,230, 0,146, 6,159, 0,113, 3, 7, 0,147, 6,
+ 7, 0, 88, 2, 7, 0, 89, 2, 7, 0,112, 6, 7, 0,148, 6, 7, 0,149, 6, 2, 0,150, 6, 2, 0,151, 6, 2, 0,152, 6,
+ 2, 0,153, 6, 0, 0,154, 6, 0, 0,155, 6, 0, 0,156, 6, 0, 0, 54, 6,231, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 2, 0, 98, 6, 2, 0, 17, 0, 4, 0, 35, 0,217, 0, 96, 6,
+214, 0, 95, 6,232, 0, 31, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,
+ 34, 0,157, 6, 4, 0,158, 6, 4, 0,159, 6, 2, 0, 88, 0, 2, 0,160, 6, 2, 0,161, 6, 0, 0,162, 6, 0, 0,163, 6,
+ 4, 0,164, 6, 4, 0,165, 6, 4, 0,166, 6, 2, 0,167, 6, 2, 0,168, 6, 2, 0,169, 6, 2, 0,170, 6, 7, 0,171, 6,
+ 15, 0,172, 6, 15, 0,173, 6, 4, 0,174, 6, 4, 0,175, 6, 0, 0,176, 6, 0, 0,177, 6, 2, 0,178, 6, 0, 0,193, 2,
+ 9, 0,179, 6,233, 0, 10, 0, 19, 0, 29, 0, 9, 0,180, 6, 9, 0,181, 6, 9, 0,182, 6, 9, 0,183, 6, 9, 0,184, 6,
+ 4, 0, 88, 0, 4, 0,185, 6, 0, 0,186, 6, 0, 0,187, 6,234, 0, 10, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6,
+ 4, 0, 43, 6, 7, 0, 44, 6,233, 0,188, 6, 2, 0, 88, 0, 2, 0,160, 6, 4, 0, 87, 0, 9, 0,189, 6,235, 0, 3, 0,
+235, 0, 0, 0,235, 0, 1, 0, 7, 0,190, 6,236, 0, 11, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6,214, 0, 95, 6, 12, 0,191, 6, 4, 0,192, 6, 4, 0, 35, 0, 4, 0, 17, 0, 4, 0,193, 6,237, 0, 26, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6, 19, 0,194, 6,
+ 19, 0, 78, 0, 2, 0, 17, 0, 2, 0,160, 6, 7, 0,195, 6, 9, 0,196, 6, 7, 0, 88, 2, 7, 0, 89, 2, 7, 0,112, 6,
+ 7, 0, 41, 6, 7, 0,197, 6, 7, 0,198, 6, 53, 0, 62, 1, 53, 0,199, 6, 4, 0,200, 6, 2, 0,201, 6, 2, 0,245, 0,
+ 12, 0,202, 6,159, 0,113, 3,238, 0, 10, 0,213, 0, 0, 0,213, 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,144, 3, 4, 0, 35, 0,159, 0,113, 3,239, 0, 42, 0,213, 0, 0, 0,213, 0, 1, 0,
+ 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6,222, 0,128, 6, 0, 0,203, 6, 0, 0,114, 6,
+ 0, 0,115, 6, 2, 0, 15, 0, 2, 0,204, 6, 2, 0, 17, 0, 2, 0,122, 6, 9, 0,196, 6, 4, 0,119, 6, 4, 0,205, 6,
+ 4, 0,206, 6, 4, 0,207, 6, 15, 0,208, 6, 15, 0,209, 6, 7, 0,210, 6, 7, 0,211, 6, 7, 0,212, 6, 7, 0,195, 6,
+ 2, 0,213, 6, 2, 0,235, 0, 2, 0,173, 1, 2, 0,214, 6, 2, 0, 35, 0, 2, 0, 87, 0, 2, 0,215, 6, 2, 0,216, 6,
+ 9, 0,217, 6, 9, 0,218, 6, 9, 0,219, 6, 9, 0,220, 6, 9, 0,221, 6, 2, 0,222, 6, 0, 0,223, 6, 49, 0,224, 6,
+240, 0, 7, 0,240, 0, 0, 0,240, 0, 1, 0, 4, 0,225, 6, 4, 0, 21, 0, 0, 0, 81, 0, 4, 0,226, 6, 4, 0, 15, 0,
+241, 0, 14, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6, 2, 0, 45, 6, 4, 0,161, 6,
+ 4, 0, 35, 0, 12, 0,227, 6, 12, 0,228, 6, 0, 0,229, 6, 0, 0,230, 6, 4, 0,231, 6, 4, 0,232, 6,242, 0, 6, 0,
+213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 4, 0, 35, 0, 0, 0,233, 6,243, 0, 15, 0,213, 0, 0, 0,
+213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6, 7, 0, 44, 6,244, 0,234, 6,214, 0, 95, 6,245, 0,235, 6, 2, 0, 73, 1,
+ 2, 0,236, 6, 2, 0, 88, 2, 2, 0, 89, 2, 2, 0, 17, 0, 2, 0,152, 6, 4, 0, 67, 0,246, 0, 7, 0,246, 0, 0, 0,
+246, 0, 1, 0, 0, 0,237, 6, 2, 0,238, 6, 2, 0,239, 6, 2, 0,240, 6, 2, 0, 35, 0,247, 0, 12, 0, 2, 0,239, 6,
+ 2, 0,241, 6, 2, 0,242, 6, 0, 0,193, 2, 2, 0,243, 6, 2, 0,244, 6, 2, 0,245, 6, 2, 0,246, 6, 2, 0,247, 6,
+ 2, 0, 86, 6, 7, 0,248, 6, 7, 0,249, 6,248, 0, 18, 0,248, 0, 0, 0,248, 0, 1, 0, 0, 0, 5, 4,247, 0,250, 6,
+247, 0,251, 6,247, 0,252, 6,247, 0,253, 6, 7, 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, 2, 0, 6, 7, 2, 0, 7, 7, 2, 0, 8, 7,249, 0, 10, 0, 0, 0, 9, 7,
+ 0, 0, 10, 7, 0, 0, 11, 7, 0, 0, 12, 7, 0, 0, 13, 7, 0, 0, 14, 7, 2, 0, 15, 7, 2, 0, 16, 7, 2, 0, 17, 7,
+ 2, 0, 18, 7,250, 0, 8, 0, 0, 0, 19, 7, 0, 0, 20, 7, 0, 0, 21, 7, 0, 0, 22, 7, 0, 0, 23, 7, 0, 0, 24, 7,
+ 7, 0, 7, 6, 7, 0, 35, 0,251, 0, 18, 0,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,
+249, 0, 38, 7,249, 0, 39, 7,249, 0, 40, 7,250, 0, 41, 7, 0, 0, 42, 7,252, 0, 97, 0, 0, 0, 43, 7, 0, 0, 44, 7,
+ 0, 0, 13, 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, 0, 0,136, 7, 0, 0,137, 7, 0, 0,138, 7,253, 0, 5, 0,
+ 0, 0,139, 7, 0, 0, 67, 7, 0, 0, 69, 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,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,252, 0,156, 7,252, 0,157, 7,252, 0,158, 7,253, 0,159, 7, 4, 0,160, 7, 4, 0, 35, 0,255, 0, 3, 0,
+255, 0, 0, 0,255, 0, 1, 0, 0, 0,161, 7, 0, 1, 5, 0, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,135, 2, 7, 0,162, 7,
+ 7, 0, 38, 2, 1, 1, 89, 0, 4, 0, 17, 0, 4, 0,163, 7, 4, 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, 0, 0,172, 7, 0, 0,173, 7, 0, 0,174, 7, 4, 0,175, 7,
+ 2, 0,176, 7, 2, 0,177, 7, 2, 0,178, 7, 2, 0,179, 7, 4, 0,180, 7, 4, 0,181, 7, 4, 0,182, 7, 4, 0,183, 7,
+ 2, 0,184, 7, 2, 0,185, 7, 4, 0,186, 7, 4, 0,187, 7, 4, 0,188, 7, 4, 0,189, 7, 4, 0,190, 7, 4, 0,227, 6,
+ 4, 0,191, 7, 2, 0,192, 7, 2, 0,193, 7, 2, 0,194, 7, 2, 0,195, 7, 12, 0,196, 7, 12, 0,197, 7, 12, 0,198, 7,
+ 12, 0,199, 7, 12, 0,200, 7, 0, 0,201, 7, 2, 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, 0, 1,210, 7, 2, 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, 4, 0,219, 7, 4, 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, 2, 0,236, 7, 2, 0,237, 7, 2, 0,238, 7,
+ 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, 47, 0,244, 7,
+ 7, 0,245, 7, 4, 0,230, 1, 0, 0,246, 7, 2, 1, 24, 0, 19, 0, 29, 0, 12, 0,247, 7, 12, 0,248, 7, 12, 0,249, 7,
+ 12, 0, 42, 6, 38, 0,117, 0, 38, 0,250, 7, 4, 0,251, 7, 4, 0, 87, 0, 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, 4, 8, 2, 0, 5, 8, 2, 0, 6, 8,
+ 2, 0, 35, 0,211, 0, 7, 8, 9, 0, 8, 8, 2, 0, 9, 8, 3, 1, 5, 0, 3, 1, 0, 0, 3, 1, 1, 0, 3, 1, 10, 8,
+ 13, 0, 11, 8, 4, 0, 17, 0, 4, 1, 7, 0, 4, 1, 0, 0, 4, 1, 1, 0, 3, 1, 12, 8, 3, 1, 13, 8, 2, 0, 44, 5,
+ 2, 0, 17, 0, 4, 0, 35, 0, 5, 1, 25, 0, 5, 1, 0, 0, 5, 1, 1, 0, 6, 1, 14, 8, 7, 1,133, 6, 0, 0, 15, 8,
+ 0, 0, 16, 8, 0, 0, 17, 8, 2, 0, 18, 8, 2, 0, 19, 8, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0, 22, 8, 2, 0, 35, 0,
+ 2, 0, 17, 0, 2, 0, 23, 8, 2, 0, 24, 8, 2, 0, 25, 8, 4, 0, 26, 8, 5, 1, 27, 8, 9, 0, 28, 8, 4, 0, 29, 8,
+ 4, 0, 30, 8, 4, 0, 31, 8, 4, 0, 32, 8, 0, 0, 33, 8,244, 0, 22, 0,244, 0, 0, 0,244, 0, 1, 0, 3, 1, 12, 8,
+ 3, 1, 13, 8, 3, 1, 34, 8, 3, 1, 35, 8, 2, 1, 36, 8, 15, 0, 49, 0, 0, 0, 43, 6, 0, 0, 37, 8, 2, 0, 87, 6,
+ 2, 0, 88, 6, 2, 0, 38, 8, 2, 0, 35, 0, 2, 0, 0, 8, 2, 0,226, 6, 2, 0, 17, 0, 8, 1, 14, 8, 12, 0, 39, 8,
+ 12, 0, 42, 6, 12, 0, 40, 8, 12, 0, 41, 8, 9, 1, 24, 0, 9, 1, 0, 0, 9, 1, 1, 0,214, 0, 95, 6, 15, 0, 42, 8,
+ 15, 0, 43, 8, 2, 0, 87, 6, 2, 0, 88, 6, 2, 0, 44, 8, 2, 0, 45, 8, 2, 0, 46, 8, 2, 0, 17, 0, 7, 0, 84, 2,
+ 2, 0, 20, 8, 2, 0, 21, 8, 2, 0,255, 7, 2, 0, 47, 8, 2, 0, 4, 8, 2, 0,196, 4, 10, 1, 14, 8, 12, 0, 48, 8,
+ 12, 0, 49, 8, 12, 0, 40, 8, 0, 0, 50, 8, 9, 0, 51, 8, 11, 1, 14, 0, 0, 0, 52, 8, 2, 0, 53, 8, 2, 0, 54, 8,
+ 2, 0, 55, 8, 2, 0, 56, 8, 2, 0, 32, 5, 2, 0, 57, 8, 2, 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, 12, 1, 3, 0, 0, 0, 64, 8, 4, 0, 65, 8, 4, 0, 66, 8, 13, 1, 4, 0,
+ 4, 0,158, 6, 4, 0, 67, 8, 4, 0,164, 6, 4, 0, 68, 8, 14, 1, 2, 0, 4, 0, 69, 8, 4, 0, 70, 8, 15, 1, 5, 0,
+ 7, 0, 71, 8, 7, 0, 72, 8, 7, 0, 73, 8, 4, 0, 17, 0, 4, 0, 35, 0, 16, 1, 6, 0, 0, 0, 74, 8, 0, 0,115, 6,
+ 41, 0,130, 0, 2, 0,104, 0, 2, 0, 31, 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, 75, 8, 4, 0, 76, 8, 4, 0, 77, 8, 12, 1, 78, 8, 0, 0, 74, 8, 16, 1,107, 3,
+ 13, 1, 79, 8, 14, 1, 80, 8, 15, 1, 81, 8, 18, 1, 12, 0, 0, 0,255, 1, 9, 0,221, 0, 0, 0,222, 0, 4, 0,225, 0,
+ 4, 0,233, 0, 9, 0,226, 0, 7, 0,228, 0, 7, 0,229, 0, 9, 0, 82, 8, 9, 0, 83, 8, 9, 0,230, 0, 9, 0,232, 0,
+ 19, 1, 48, 0, 19, 1, 0, 0, 19, 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,244, 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,121, 0, 4, 0, 93, 8,
+ 17, 1, 94, 8, 28, 0, 77, 0, 38, 0,117, 0, 24, 0, 95, 8, 41, 0,130, 0, 7, 0, 96, 8, 7, 0, 97, 8, 18, 1, 63, 1,
+ 19, 1, 98, 8, 19, 1, 99, 8, 19, 1,100, 8, 12, 0,101, 8,245, 0,235, 6, 9, 0,102, 8, 7, 0, 15, 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, 20, 1, 4, 0, 20, 1, 0, 0, 20, 1, 1, 0, 12, 0,113, 8, 19, 1,114, 8,203, 0, 11, 0, 12, 0,115, 8,
+ 12, 0,101, 8, 12, 0,116, 8, 19, 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, 21, 1, 4, 0, 7, 0,124, 8, 7, 0, 77, 3, 2, 0,125, 8, 2, 0,126, 8, 22, 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, 23, 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,234, 2, 4, 0,143, 8, 4, 0,144, 8, 24, 1, 2, 0, 7, 0,102, 5, 7, 0, 35, 0, 25, 1, 4, 0,
+ 0, 0,145, 8, 0, 0,146, 8, 7, 0,147, 8, 7, 0,148, 8, 26, 1, 5, 0, 7, 0,149, 8, 7, 0,150, 8, 4, 0, 88, 0,
+ 4, 0,194, 2, 4, 0,151, 8, 27, 1, 6, 0, 27, 1, 0, 0, 27, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8,
+ 2, 0, 54, 0, 28, 1, 8, 0, 28, 1, 0, 0, 28, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8, 2, 0, 54, 0,
+ 7, 0, 21, 0, 7, 0,121, 0, 29, 1, 45, 0, 29, 1, 0, 0, 29, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8,
+ 2, 0,240, 0, 2, 0, 57, 4, 2, 0,153, 8, 7, 0,154, 8, 7, 0, 86, 0, 7, 0,247, 2, 4, 0,155, 8, 4, 0, 79, 0,
+ 4, 0,196, 2, 7, 0,156, 8, 7, 0,157, 8, 7, 0,158, 8, 7, 0,159, 8, 7, 0,160, 8, 7, 0,161, 8, 7, 0,244, 2,
+ 7, 0, 60, 1, 7, 0,162, 8, 7, 0,163, 8, 7, 0, 35, 0, 7, 0,164, 8, 7, 0,165, 8, 7, 0,166, 8, 2, 0,167, 8,
+ 2, 0,168, 8, 2, 0,169, 8, 2, 0,170, 8, 2, 0,171, 8, 2, 0,172, 8, 2, 0,173, 8, 2, 0,174, 8, 2, 0, 23, 2,
+ 2, 0,175, 8, 2, 0, 20, 2, 2, 0,176, 8, 0, 0,177, 8, 0, 0,178, 8, 7, 0,238, 0, 30, 1,179, 8, 58, 0,233, 1,
+ 31, 1, 16, 0, 31, 1, 0, 0, 31, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,152, 8, 2, 0,240, 0, 7, 0,239, 2,
+ 7, 0,240, 2, 7, 0,241, 2, 7, 0, 73, 2, 7, 0,242, 2, 7, 0,243, 2, 7, 0,180, 8, 7, 0,244, 2, 7, 0,246, 2,
+ 7, 0,247, 2,227, 0, 5, 0, 2, 0, 15, 0, 2, 0,181, 8, 2, 0, 17, 0, 2, 0,182, 8, 19, 0,194, 6,226, 0, 3, 0,
+ 4, 0, 66, 0, 4, 0,183, 8,227, 0, 2, 0, 32, 1, 7, 0, 32, 1, 0, 0, 32, 1, 1, 0, 0, 0, 18, 0, 2, 0, 15, 0,
+ 2, 0, 17, 0, 4, 0, 20, 0, 9, 0,184, 8, 33, 1, 5, 0, 0, 0, 18, 0, 7, 0, 80, 1, 7, 0,185, 8, 4, 0,186, 8,
+ 4, 0, 35, 0, 34, 1, 4, 0, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 87, 0, 2, 0, 67, 0, 35, 1, 4, 0, 0, 0, 18, 0,
+ 57, 0,187, 8, 7, 0, 80, 1, 7, 0, 35, 0, 36, 1, 6, 0, 2, 0,188, 8, 2, 0,189, 8, 2, 0, 15, 0, 2, 0,190, 8,
+ 0, 0,191, 8, 0, 0,192, 8, 37, 1, 5, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 0, 0,193, 8, 0, 0,194, 8,
+ 38, 1, 3, 0, 4, 0, 15, 0, 4, 0, 35, 0, 0, 0, 18, 0, 39, 1, 4, 0, 2, 0,195, 8, 2, 0,196, 8, 2, 0, 17, 0,
+ 2, 0, 35, 0, 40, 1, 6, 0, 0, 0, 18, 0, 0, 0,197, 8, 2, 0,198, 8, 2, 0,244, 2, 2, 0, 73, 1, 2, 0, 67, 0,
+ 41, 1, 5, 0, 0, 0, 18, 0, 7, 0, 77, 3, 7, 0,146, 4, 2, 0, 17, 0, 2, 0,208, 2, 42, 1, 3, 0, 0, 0, 18, 0,
+ 4, 0,196, 2, 4, 0,195, 8, 43, 1, 7, 0, 0, 0, 18, 0, 7, 0,146, 4, 0, 0,199, 8, 0, 0,200, 8, 2, 0, 73, 1,
+ 2, 0, 87, 0, 4, 0,201, 8, 44, 1, 4, 0, 0, 0,202, 8, 0, 0,203, 8, 4, 0, 15, 0, 7, 0,212, 2, 45, 1, 3, 0,
+ 24, 0,204, 8, 0, 0,205, 8, 0, 0,206, 8, 46, 1, 18, 0, 46, 1, 0, 0, 46, 1, 1, 0, 2, 0, 15, 0, 2, 0,207, 8,
+ 2, 0, 17, 0, 2, 0,208, 8, 2, 0,209, 8, 2, 0,210, 8, 2, 0, 87, 0, 2, 0, 67, 0, 0, 0, 18, 0, 9, 0, 2, 0,
+ 47, 1,211, 8, 24, 0, 42, 0, 2, 0,119, 5, 2, 0,103, 8, 2, 0,212, 8, 2, 0, 35, 0, 48, 1, 11, 0, 0, 0, 18, 0,
+ 0, 0, 15, 0, 0, 0,213, 8, 2, 0, 17, 0, 2, 0,208, 2, 2, 0,214, 8, 4, 0,215, 8, 4, 0,216, 8, 4, 0,217, 8,
+ 4, 0,218, 8, 4, 0,219, 8, 49, 1, 1, 0, 0, 0,220, 8, 50, 1, 4, 0, 34, 0,157, 6, 0, 0,161, 7, 4, 0, 73, 1,
+ 4, 0, 17, 0, 47, 1, 18, 0, 47, 1, 0, 0, 47, 1, 1, 0, 47, 1,221, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,222, 8,
+ 2, 0,210, 8, 2, 0,207, 8, 2, 0,223, 8, 2, 0, 67, 0, 2, 0,230, 1, 0, 0, 18, 0, 9, 0, 2, 0, 51, 1,211, 8,
+ 46, 1,224, 8, 2, 0, 13, 0, 2, 0,225, 8, 4, 0,226, 8, 52, 1, 3, 0, 4, 0,222, 2, 4, 0, 35, 0, 24, 0, 42, 0,
+ 53, 1, 15, 0,157, 0,227, 8, 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,154, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,228, 8,
+ 2, 0,229, 8, 2, 0,230, 8, 2, 0,126, 0, 2, 0,231, 8, 2, 0,232, 8, 2, 0, 35, 0, 7, 0,233, 8, 7, 0,234, 8,
+ 54, 1, 8, 0, 7, 0,235, 8, 7, 0,236, 8, 7, 0,237, 8, 7, 0,238, 8, 7, 0,239, 8, 7, 0,240, 8, 7, 0,241, 8,
+ 7, 0,242, 8, 55, 1, 13, 0, 2, 0, 17, 0, 2, 0,236, 6, 4, 0, 87, 0, 4, 0, 67, 0, 2, 0,243, 8, 7, 0, 15, 4,
+ 7, 0,244, 8,245, 0,235, 6, 54, 1,245, 8, 2, 0, 15, 0, 2, 0, 38, 5, 2, 0, 1, 6, 2, 0,246, 8, 56, 1, 11, 0,
+ 4, 0,222, 2, 2, 0, 15, 0, 2, 0, 17, 0, 24, 0, 42, 0, 73, 0,247, 8, 0, 0, 18, 0, 7, 0,248, 8, 7, 0,249, 8,
+ 7, 0,152, 3, 2, 0,250, 8, 2, 0,251, 8, 57, 1, 5, 0, 2, 0, 15, 0, 2, 0, 87, 0, 4, 0, 35, 0, 38, 0,117, 0,
+ 24, 0,110, 5, 58, 1, 5, 0, 4, 0, 35, 0, 4, 0, 15, 0, 0, 0, 18, 0, 0, 0,193, 8, 24, 0, 42, 0, 59, 1, 13, 0,
+ 2, 0, 17, 0, 2, 0, 15, 0, 2, 0,207, 8, 2, 0,153, 3, 7, 0,252, 8, 7, 0,253, 8, 7, 0,196, 4, 7, 0,164, 3,
+ 7, 0,123, 3, 7, 0,126, 3, 7, 0,254, 8, 7, 0,255, 8, 24, 0, 0, 9, 60, 1, 10, 0, 2, 0, 17, 0, 2, 0, 15, 0,
+ 7, 0,154, 8, 7, 0, 86, 0, 0, 0, 18, 0, 0, 0,228, 8, 2, 0, 87, 0, 2, 0, 67, 0, 2, 0,230, 1, 2, 0, 38, 5,
+ 61, 1, 8, 0, 24, 0, 42, 0, 7, 0,241, 2, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0,153, 3, 2, 0, 87, 0, 2, 0,208, 2,
+ 7, 0, 67, 0, 62, 1, 12, 0, 2, 0, 15, 0, 2, 0, 73, 1, 2, 0, 17, 0, 2, 0,244, 2, 2, 0,222, 2, 2, 0, 3, 9,
+ 4, 0, 35, 0, 7, 0, 4, 9, 7, 0, 5, 9, 7, 0, 6, 9, 7, 0, 7, 9, 0, 0, 8, 9, 63, 1, 9, 0, 2, 0, 17, 0,
+ 2, 0, 15, 0, 4, 0,154, 8, 4, 0, 86, 0, 0, 0, 18, 0, 2, 0,196, 4, 2, 0, 61, 0, 2, 0, 9, 9, 2, 0, 10, 9,
+ 64, 1, 7, 0, 4, 0,196, 2, 4, 0, 11, 9, 4, 0, 12, 9, 4, 0, 13, 9, 7, 0, 14, 9, 7, 0, 15, 9, 0, 0,199, 8,
+ 65, 1, 7, 0, 0, 0, 16, 9, 24, 0, 17, 9, 0, 0,205, 8, 2, 0, 18, 9, 2, 0, 87, 0, 4, 0, 67, 0, 0, 0,206, 8,
+ 66, 1, 6, 0, 2, 0, 17, 0, 2, 0, 15, 0, 4, 0,154, 8, 4, 0, 86, 0, 0, 0, 19, 9, 0, 0, 20, 9, 67, 1, 1, 0,
+ 4, 0, 17, 0, 68, 1, 6, 0, 0, 0, 90, 0, 2, 0, 15, 0, 2, 0, 17, 0, 4, 0, 21, 9, 7, 0, 22, 9, 34, 0,157, 6,
+ 69, 1, 4, 0, 0, 0,160, 2, 2, 0, 17, 0, 4, 0, 15, 0, 24, 0, 42, 0, 70, 1, 2, 0, 4, 0, 15, 0, 4, 0, 76, 6,
+ 71, 1, 6, 0, 0, 0,202, 8, 0, 0,203, 8, 4, 0, 15, 0, 7, 0, 31, 2, 24, 0, 54, 3, 24, 0, 23, 9, 51, 1, 10, 0,
+ 51, 1, 0, 0, 51, 1, 1, 0, 51, 1,221, 8, 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,207, 8, 2, 0, 24, 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,221, 0, 35, 0, 25, 9,
+ 28, 0, 77, 0, 7, 0, 15, 4, 7, 0, 26, 9, 7, 0,244, 8, 7, 0,235, 8, 7, 0,236, 8, 7, 0, 27, 9, 4, 0, 88, 0,
+ 4, 0, 35, 0, 9, 0, 28, 9, 9, 0, 29, 9, 72, 1, 6, 0, 72, 1, 0, 0, 72, 1, 1, 0, 24, 0, 42, 0, 9, 0, 30, 9,
+ 2, 0,245, 0, 0, 0,193, 2, 58, 0, 4, 0, 19, 0, 29, 0, 12, 0, 31, 9, 4, 0,126, 0, 7, 0, 32, 9, 73, 1, 28, 0,
+ 73, 1, 0, 0, 73, 1, 1, 0, 18, 0, 33, 9, 73, 1, 36, 0, 12, 0, 34, 9, 0, 0, 18, 0, 7, 0, 35, 9, 7, 0, 36, 9,
+ 7, 0, 37, 9, 7, 0, 38, 9, 4, 0, 17, 0, 7, 0, 39, 9, 7, 0, 40, 9, 7, 0, 41, 9, 7, 0, 42, 9, 7, 0, 80, 1,
+ 7, 0, 31, 2, 7, 0, 43, 9, 7, 0,194, 2, 7, 0, 44, 9, 7, 0, 45, 9, 7, 0, 46, 9, 7, 0, 47, 9, 7, 0, 48, 9,
+ 7, 0,168, 0, 4, 0,126, 0, 2, 0,156, 5, 2, 0, 8, 7, 74, 1, 25, 0, 19, 0, 29, 0, 31, 0, 72, 0, 12, 0, 49, 9,
+ 12, 0, 50, 9, 12, 0, 51, 9, 73, 1, 52, 9, 9, 0, 53, 9, 9, 0, 54, 9, 4, 0, 17, 0, 4, 0, 51, 6, 2, 0,248, 2,
+ 2, 0,106, 6, 4, 0, 55, 9, 4, 0,126, 0, 4, 0, 56, 9, 2, 0, 57, 9, 2, 0, 58, 9, 2, 0, 59, 9, 2, 0, 60, 9,
+ 4, 0, 61, 9, 4, 0, 62, 9, 4, 0, 63, 9, 4, 0, 64, 9, 4, 0, 65, 9, 4, 0, 66, 9, 75, 1, 2, 0, 7, 0,149, 2,
+ 4, 0, 17, 0,161, 0, 5, 0, 75, 1, 67, 9, 4, 0,194, 2, 4, 0, 68, 9, 4, 0, 69, 9, 4, 0, 17, 0,160, 0, 16, 0,
+ 4, 0, 70, 9, 4, 0, 71, 9, 4, 0, 72, 9, 4, 0, 73, 9, 2, 0, 74, 9, 2, 0, 75, 9, 2, 0, 76, 9, 2, 0,245, 0,
+ 2, 0, 77, 9, 2, 0, 78, 9, 2, 0, 79, 9, 2, 0, 80, 9, 4, 0, 81, 9, 4, 0, 82, 9, 4, 0, 83, 9, 4, 0, 84, 9,
+ 76, 1, 41, 0, 76, 1, 0, 0, 76, 1, 1, 0, 18, 0, 33, 9, 12, 0,178, 3, 0, 0, 18, 0, 2, 0, 17, 0, 2, 0, 85, 9,
+ 2, 0, 86, 9, 2, 0, 87, 9, 2, 0,138, 3, 2, 0, 88, 9, 4, 0, 71, 2, 4, 0, 63, 9, 4, 0, 64, 9, 73, 1, 89, 9,
+ 76, 1, 36, 0, 76, 1, 90, 9, 12, 0, 91, 9,161, 0,115, 3, 24, 0, 92, 9, 76, 1, 93, 9, 7, 0, 68, 1, 7, 0,168, 0,
+ 7, 0, 94, 9, 7, 0, 10, 2, 7, 0,128, 3, 7, 0,130, 3, 2, 0,161, 3, 2, 0, 35, 0, 7, 0, 95, 9, 7, 0, 96, 9,
+ 7, 0,133, 3, 7, 0, 97, 9, 7, 0, 98, 9, 7, 0, 99, 9, 7, 0,100, 9, 7, 0,101, 9, 7, 0,102, 9, 7, 0,103, 9,
+ 7, 0,104, 9, 7, 0, 64, 2,158, 0, 16, 0, 12, 0,105, 9, 68, 0,106, 9, 2, 0, 17, 0, 2, 0, 35, 0, 4, 0,107, 9,
+ 4, 0, 87, 0, 7, 0,100, 2, 7, 0,108, 9, 7, 0,109, 9, 12, 0,110, 9, 4, 0,111, 9, 4, 0,112, 9, 9, 0,113, 9,
+ 9, 0,114, 9,160, 0,114, 3, 0, 0,115, 9, 77, 1, 1, 0, 4, 0,112, 9, 78, 1, 12, 0, 4, 0,112, 9, 7, 0,219, 8,
+ 2, 0,116, 9, 2, 0,117, 9, 7, 0,118, 9, 7, 0,119, 9, 2, 0,120, 9, 2, 0, 17, 0, 7, 0,121, 9, 7, 0,122, 9,
+ 7, 0,123, 9, 7, 0,124, 9, 79, 1, 7, 0, 79, 1, 0, 0, 79, 1, 1, 0, 12, 0,125, 9, 4, 0, 17, 0, 4, 0,126, 9,
+ 0, 0, 5, 4,253, 0,127, 9,157, 0, 9, 0, 19, 0, 29, 0, 12, 0,128, 9, 12, 0,105, 9, 12, 0,129, 9, 12, 0, 98, 0,
+ 4, 0, 17, 0, 4, 0,130, 9, 4, 0,131, 9, 4, 0, 35, 0,217, 0, 6, 0, 19, 0,132, 9, 12, 0,105, 9, 58, 0,133, 9,
+ 0, 0,134, 9, 4, 0,135, 9, 4, 0, 17, 0, 80, 1, 13, 0,213, 0, 0, 0,213, 0, 1, 0, 12, 0, 42, 6, 4, 0, 43, 6,
+ 7, 0, 44, 6, 2, 0, 45, 6,214, 0, 95, 6,157, 0,110, 3,217, 0,136, 9, 0, 0, 73, 1, 0, 0, 98, 6, 2, 0, 17, 0,
+ 7, 0,137, 9, 81, 1, 8, 0, 81, 1, 0, 0, 81, 1, 1, 0, 79, 1,138, 9, 28, 0, 77, 0, 12, 0,116, 3, 4, 0, 17, 0,
+ 0, 0, 18, 0, 4, 0,253, 7, 82, 1, 5, 0, 82, 1, 0, 0, 82, 1, 1, 0, 28, 0, 77, 0, 2, 0, 17, 0, 0, 0,139, 9,
+ 83, 1, 14, 0, 83, 1, 0, 0, 83, 1, 1, 0, 9, 0, 2, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,140, 9, 0, 0,141, 9,
+ 0, 0,139, 9, 7, 0,142, 9, 7, 0,143, 9, 4, 0, 35, 0, 28, 0, 77, 0, 7, 0,144, 9, 7, 0,145, 9, 84, 1, 9, 0,
+ 84, 1, 0, 0, 84, 1, 1, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0,147, 9, 2, 0,148, 9, 2, 0, 17, 0, 2, 0, 15, 0,
+ 2, 0,149, 9, 85, 1, 7, 0, 34, 0,157, 6, 18, 0, 33, 9, 4, 0, 17, 0, 4, 0,150, 9, 12, 0,151, 9, 24, 0,146, 9,
+ 0, 0,251, 2, 86, 1, 15, 0, 24, 0,146, 9, 2, 0,152, 9, 2, 0, 17, 0, 2, 0,153, 9, 2, 0,154, 9, 0, 0,251, 2,
+ 24, 0,155, 9, 0, 0,156, 9, 7, 0,157, 9, 7, 0, 31, 2, 7, 0,158, 9, 7, 0,159, 9, 2, 0, 15, 0, 2, 0, 73, 1,
+ 7, 0, 80, 1, 87, 1, 6, 0, 24, 0,146, 9, 7, 0, 67, 9, 2, 0,160, 9, 2, 0,161, 9, 2, 0, 17, 0, 2, 0,162, 9,
+ 88, 1, 6, 0, 24, 0,146, 9, 4, 0,163, 9, 4, 0,164, 9, 4, 0, 88, 0, 4, 0, 35, 0, 0, 0,251, 2, 89, 1, 4, 0,
+ 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9, 0, 0,251, 2, 90, 1, 4, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9,
+ 0, 0,251, 2, 91, 1, 4, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0,163, 9, 0, 0,251, 2, 92, 1, 2, 0, 4, 0, 17, 0,
+ 7, 0, 15, 4, 93, 1, 2, 0, 24, 0,146, 9, 0, 0,251, 2, 94, 1, 10, 0, 24, 0,146, 9, 4, 0,165, 9, 7, 0,120, 0,
+ 4, 0, 17, 0, 2, 0,155, 6, 2, 0,166, 9, 2, 0, 87, 0, 2, 0, 67, 0, 7, 0,167, 9, 0, 0,251, 2, 95, 1, 10, 0,
+ 24, 0,146, 9, 2, 0, 15, 0, 2, 0, 65, 4, 4, 0, 85, 0, 4, 0, 86, 0, 7, 0, 1, 9, 7, 0, 2, 9, 4, 0, 35, 0,
+157, 0,227, 8, 0, 0,251, 2, 96, 1, 4, 0, 24, 0,146, 9, 4, 0,139, 3, 4, 0,168, 9, 0, 0,251, 2, 97, 1, 4, 0,
+ 24, 0,146, 9, 4, 0,139, 3, 4, 0, 35, 0, 0, 0,251, 2, 98, 1, 6, 0, 24, 0,146, 9, 7, 0,120, 0, 7, 0, 66, 3,
+ 4, 0,169, 9, 2, 0,139, 3, 2, 0,140, 3, 99, 1, 6, 0, 24, 0,146, 9, 4, 0,170, 9, 4, 0,171, 9, 7, 0,172, 9,
+ 7, 0,173, 9, 0, 0,251, 2,100, 1, 16, 0, 24, 0,146, 9, 24, 0, 90, 9, 4, 0, 15, 0, 7, 0,174, 9, 7, 0,175, 9,
+ 7, 0,176, 9, 7, 0,177, 9, 7, 0,178, 9, 7, 0,179, 9, 7, 0,180, 9, 7, 0,181, 9, 7, 0,182, 9, 2, 0, 17, 0,
+ 2, 0, 35, 0, 2, 0, 87, 0, 2, 0, 67, 0,101, 1, 3, 0, 24, 0,146, 9, 4, 0, 17, 0, 4, 0, 23, 2,102, 1, 5, 0,
+ 24, 0,146, 9, 4, 0, 17, 0, 4, 0, 35, 0, 7, 0,183, 9, 0, 0,251, 2,103, 1, 10, 0, 24, 0,146, 9, 0, 0,251, 2,
+ 2, 0,184, 9, 2, 0,185, 9, 0, 0,186, 9, 0, 0,187, 9, 7, 0,188, 9, 7, 0,189, 9, 7, 0,190, 9, 7, 0,191, 9,
+104, 1, 5, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0,202, 2, 2, 0,192, 9, 2, 0, 17, 0,105, 1, 8, 0, 7, 0, 7, 0,
+ 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0, 2, 0, 23, 2,106, 1, 8, 0,
+ 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0, 2, 0, 23, 2,
+107, 1, 8, 0, 7, 0, 7, 0, 7, 0, 8, 0, 7, 0, 9, 0, 7, 0, 10, 0, 7, 0,193, 9, 7, 0,194, 9, 2, 0, 17, 0,
+ 2, 0, 23, 2,108, 1, 7, 0, 24, 0,146, 9, 0, 0,251, 2, 7, 0, 80, 1, 7, 0, 89, 1, 2, 0, 17, 0, 2, 0, 73, 1,
+ 4, 0, 35, 0,109, 1, 5, 0, 24, 0, 54, 3, 7, 0, 80, 1, 2, 0, 58, 3, 0, 0, 60, 3, 0, 0,195, 9,110, 1, 10, 0,
+110, 1, 0, 0,110, 1, 1, 0, 2, 0, 15, 0, 2, 0, 17, 0, 0, 0,196, 9, 7, 0, 23, 1, 7, 0, 24, 1, 2, 0,125, 9,
+ 2, 0,197, 9, 24, 0, 42, 0,111, 1, 22, 0,111, 1, 0, 0,111, 1, 1, 0, 2, 0, 17, 0, 2, 0, 73, 1, 2, 0,198, 9,
+ 2, 0,199, 9, 28, 0, 77, 0,157, 0,227, 8, 24, 0,160, 0, 7, 0, 85, 0, 7, 0, 86, 0, 7, 0,200, 9, 7, 0,201, 9,
+ 7, 0,202, 9, 7, 0,203, 9, 7, 0,237, 2, 7, 0,204, 9, 7, 0,229, 8, 7, 0,205, 9, 0, 0,206, 9, 0, 0,207, 9,
+ 12, 0,119, 3,112, 1, 8, 0, 7, 0, 38, 2, 7, 0, 1, 9, 7, 0, 2, 9, 9, 0, 2, 0, 2, 0,208, 9, 2, 0,209, 9,
+ 2, 0,210, 9, 2, 0,211, 9,113, 1, 19, 0,113, 1, 0, 0,113, 1, 1, 0,113, 1,212, 9, 0, 0, 18, 0,112, 1,213, 9,
+ 2, 0, 15, 0, 2, 0, 17, 0, 2, 0,214, 9, 2, 0,215, 9,112, 1,216, 9, 2, 0,217, 9, 2, 0, 87, 0, 7, 0,218, 9,
+ 7, 0,219, 9, 4, 0,220, 9,113, 1,221, 9, 4, 0,222, 9, 4, 0, 67, 0,114, 1,223, 9,115, 1, 4, 0, 0, 0,224, 9,
+ 2, 0,225, 9, 2, 0,226, 9, 4, 0, 35, 0,116, 1, 34, 0,116, 1, 0, 0,116, 1, 1, 0,116, 1,227, 9, 0, 0, 18, 0,
+ 2, 0, 15, 0, 2, 0, 17, 0, 2, 0, 75, 8, 2, 0,103, 8, 2, 0,228, 9, 2, 0,160, 6, 2, 0,217, 9, 2, 0,181, 8,
+ 12, 0,222, 8, 12, 0,229, 9, 19, 0,194, 6, 9, 0,230, 9, 7, 0,218, 9, 7, 0,219, 9, 7, 0, 73, 2, 7, 0,231, 9,
+ 0, 0,232, 9, 2, 0,233, 9, 2, 0,234, 9, 7, 0,235, 9, 7, 0,236, 9, 2, 0,237, 9, 2, 0,238, 9, 9, 0,239, 9,
+ 16, 0,240, 9, 16, 0,241, 9, 16, 0,242, 9,115, 1,146, 0,117, 1,243, 9,118, 1,244, 9,114, 1, 8, 0,114, 1, 0, 0,
+114, 1, 1, 0,116, 1,245, 9,116, 1,246, 9,113, 1,247, 9,113, 1,248, 9, 4, 0, 17, 0, 4, 0, 35, 0, 53, 0, 23, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,159, 0,113, 3, 12, 0,249, 9, 12, 0,250, 9,112, 1,251, 9, 12, 0,252, 9, 4, 0, 15, 0,
+ 4, 0,253, 9, 4, 0,254, 9, 4, 0,255, 9, 4, 0, 17, 0, 4, 0, 35, 0, 12, 0, 0, 10, 12, 0,222, 8, 12, 0,229, 9,
+ 4, 0, 65, 6, 9, 0, 1, 10, 9, 0, 2, 10, 4, 0, 3, 10, 9, 0, 4, 10, 9, 0, 5, 10, 9, 0, 6, 10,119, 1, 6, 0,
+ 4, 0,119, 0, 4, 0,121, 0, 4, 0,181, 8, 0, 0, 7, 10, 0, 0, 8, 10, 2, 0, 35, 0,120, 1, 16, 0, 2, 0, 20, 8,
+ 2, 0, 21, 8, 2, 0, 9, 10, 2, 0, 10, 10, 2, 0, 11, 10, 2, 0, 65, 0, 2, 0,195, 6, 2, 0, 12, 10, 7, 0,236, 2,
+ 7, 0, 13, 10, 7, 0, 14, 10, 2, 0, 95, 1, 0, 0, 15, 10, 0, 0, 16, 10, 4, 0, 17, 10, 4, 0, 18, 10,121, 1, 9, 0,
+ 7, 0, 19, 10, 7, 0, 20, 10, 7, 0, 27, 9, 7, 0, 77, 3, 7, 0, 21, 10, 7, 0,112, 6, 2, 0, 75, 3, 0, 0, 22, 10,
+ 0, 0, 35, 0,122, 1, 4, 0, 7, 0, 23, 10, 7, 0, 24, 10, 2, 0, 75, 3, 2, 0, 35, 0,123, 1, 3, 0, 7, 0, 25, 10,
+ 7, 0, 90, 8, 7, 0, 13, 0,124, 1, 7, 0, 0, 0,255, 1, 2, 0, 29, 5, 2, 0, 30, 5, 2, 0, 31, 5, 2, 0,218, 4,
+ 4, 0,121, 0, 4, 0, 63, 4,125, 1, 9, 0, 7, 0, 26, 10, 7, 0, 27, 10, 7, 0, 28, 10, 7, 0, 84, 2, 7, 0, 29, 10,
+ 7, 0, 30, 10, 7, 0, 31, 10, 2, 0, 32, 10, 2, 0, 33, 10,126, 1, 8, 0, 2, 0, 34, 10, 2, 0, 35, 10, 2, 0, 36, 10,
+ 2, 0, 37, 10, 7, 0, 38, 10, 7, 0, 39, 10, 7, 0, 40, 10, 7, 0, 41, 10,127, 1, 2, 0, 7, 0, 5, 0, 7, 0, 6, 0,
+128, 1, 2, 0, 0, 0,162, 0, 0, 0, 42, 10,129, 1, 1, 0, 0, 0, 18, 0,130, 1, 10, 0, 0, 0, 43, 10, 0, 0, 44, 10,
+ 0, 0,104, 6, 0, 0, 45, 10, 2, 0, 9, 10, 2, 0, 46, 10, 7, 0, 47, 10, 7, 0, 48, 10, 7, 0, 49, 10, 7, 0,204, 9,
+131, 1, 2, 0, 9, 0, 50, 10, 9, 0, 51, 10,132, 1, 11, 0, 0, 0, 31, 5, 0, 0, 15, 0, 0, 0, 75, 3, 0, 0, 77, 3,
+ 0, 0, 52, 10, 0, 0,104, 0, 0, 0,160, 2, 7, 0, 53, 10, 7, 0, 54, 10, 7, 0, 55, 10, 7, 0, 56, 10,133, 1, 8, 0,
+ 7, 0,188, 8, 7, 0,120, 0, 7, 0, 16, 10, 7, 0,153, 2, 7, 0, 57, 10, 7, 0,234, 0, 7, 0, 58, 10, 4, 0, 15, 0,
+134, 1, 4, 0, 2, 0, 59, 10, 2, 0, 60, 10, 2, 0, 61, 10, 2, 0, 35, 0,135, 1, 8, 0, 7, 0, 62, 10, 7, 0,202, 2,
+ 7, 0, 63, 10, 7, 0, 71, 8, 7, 0, 72, 8, 7, 0, 73, 8, 7, 0, 64, 10, 7, 0, 65, 10,136, 1, 6, 0, 2, 0, 66, 10,
+ 2, 0, 67, 10, 7, 0, 68, 10, 7, 0, 69, 10, 7, 0, 70, 10, 7, 0, 71, 10,137, 1, 1, 0, 0, 0, 18, 0,138, 1, 4, 0,
+ 7, 0, 5, 0, 7, 0, 6, 0, 2, 0, 17, 0, 2, 0, 72, 10,139, 1, 10, 0, 2, 0,249, 3, 2, 0, 17, 0, 7, 0,146, 4,
+ 7, 0, 73, 10, 7, 0, 74, 10, 7, 0, 75, 10, 7, 0, 76, 10,138, 1, 77, 10,138, 1, 78, 10,138, 1, 79, 10, 51, 0, 11, 0,
+ 4, 0, 17, 0, 4, 0, 61, 0, 4, 0, 80, 10, 4, 0, 81, 10, 16, 0, 82, 10, 16, 0, 83, 10,139, 1, 84, 10, 7, 0, 85, 10,
+ 7, 0, 86, 10, 7, 0, 87, 10, 7, 0, 88, 10,230, 0, 10, 0, 4, 0,125, 9, 4, 0, 89, 10, 7, 0, 90, 10, 7, 0, 91, 10,
+ 7, 0, 92, 10, 7, 0, 93, 10, 7, 0, 8, 0, 7, 0, 10, 0, 4, 0, 73, 1, 4, 0,241, 2,229, 0, 18, 0, 4, 0,124, 0,
+ 4, 0, 94, 10, 4, 0, 95, 10, 7, 0, 96, 10, 4, 0, 97, 10, 7, 0, 98, 10, 7, 0, 99, 10, 4, 0,100, 10, 7, 0,101, 10,
+ 4, 0,102, 10, 7, 0,103, 10,230, 0,104, 10, 7, 0,105, 10, 7, 0,106, 10, 7, 0,107, 10, 7, 0,108, 10, 4, 0,109, 10,
+ 4, 0, 35, 0,140, 1, 4, 0, 39, 0,228, 2, 7, 0,110, 10, 7, 0,162, 1, 7, 0, 35, 0,192, 0, 34, 0, 19, 0, 29, 0,
+140, 1,111, 10, 51, 0, 77, 10, 43, 0,112, 10, 49, 0,113, 10, 22, 0,146, 0, 0, 0,114, 10, 7, 0,115, 10, 2, 0, 7, 6,
+ 2, 0,116, 10, 4, 0,104, 0, 4, 0, 17, 0, 7, 0,117, 10, 4, 0, 81, 2, 4, 0,118, 10, 7, 0,119, 10, 7, 0,120, 10,
+ 7, 0,121, 10, 7, 0,162, 1, 4, 0,122, 10, 7, 0,123, 10, 0, 0,124, 10, 0, 0,125, 10, 0, 0,126, 10, 0, 0,127, 10,
+ 7, 0,128, 10, 7, 0,129, 10, 7, 0,130, 10, 7, 0,241, 2, 7, 0,131, 10, 4, 0,132, 10, 7, 0,133, 10, 7, 0,134, 10,
+ 7, 0,135, 10,141, 1, 10, 0, 4, 0, 15, 0, 4, 0,120, 0, 4, 0, 17, 0, 4, 0,202, 3, 4, 0,136, 10, 4, 0,137, 10,
+ 4, 0,138, 10, 0, 0, 90, 0, 0, 0, 18, 0, 9, 0, 2, 0,142, 1, 1, 0, 0, 0, 63, 8, 84, 0, 7, 0,141, 1,139, 10,
+ 4, 0,140, 10, 4, 0,141, 10, 4, 0,142, 10, 4, 0, 35, 0, 9, 0,143, 10,142, 1,144, 10,143, 1, 5, 0, 7, 0,149, 2,
+ 7, 0,222, 2, 7, 0, 31, 2, 2, 0,130, 2, 2, 0, 35, 0,144, 1, 5, 0, 7, 0,149, 2, 7, 0, 90, 4, 7, 0,145, 10,
+ 7, 0,146, 10, 7, 0,222, 2,145, 1, 5, 0, 24, 0,147, 10,146, 1, 20, 0, 7, 0,230, 5, 7, 0,148, 10, 7, 0, 54, 0,
+147, 1, 3, 0, 7, 0,149, 10, 4, 0,150, 10, 4, 0,151, 10,148, 1, 7, 0, 4, 0,152, 10, 4, 0,153, 10, 4, 0,154, 10,
+ 7, 0,155, 10, 7, 0,156, 10, 7, 0,157, 10, 7, 0, 54, 0,149, 1, 8, 0,149, 1, 0, 0,149, 1, 1, 0, 24, 0, 42, 0,
+ 4, 0,253, 0, 2, 0, 17, 0, 2, 0, 73, 1, 7, 0,222, 2, 7, 0,196, 8,150, 1, 7, 0,150, 1, 0, 0,150, 1, 1, 0,
+ 24, 0, 42, 0, 2, 0,207, 2, 2, 0, 17, 0, 2, 0,253, 1, 2, 0, 54, 0,151, 1, 17, 0,144, 1,194, 3,144, 1,158, 10,
+143, 1,159, 10,144, 1,179, 8,145, 1,160, 10, 4, 0, 79, 0, 7, 0,222, 2, 7, 0,247, 2, 7, 0,161, 10, 4, 0,152, 10,
+ 4, 0,162, 10, 7, 0,156, 10, 7, 0,157, 10, 7, 0,104, 0, 4, 0,163, 10, 2, 0, 17, 0, 2, 0,164, 10,152, 1, 15, 0,
+ 7, 0,249, 0, 7, 0,165, 10, 7, 0,149, 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, 7, 0,174, 10, 7, 0,175, 10, 4, 0, 17, 0, 4, 0,176, 10,153, 1,124, 0,
+ 19, 0, 29, 0, 31, 0, 72, 0,154, 1,177, 10,152, 1,178, 10,168, 0, 85, 4, 4, 0, 17, 0, 4, 0, 54, 0, 2, 0, 15, 0,
+ 2, 0,184, 9, 2, 0,179, 10, 2, 0,108, 1, 2, 0,180, 10, 2, 0,161, 3, 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,188, 10, 2, 0,189, 10, 2, 0,127, 5, 2, 0,190, 10,
+ 2, 0,191, 10, 2, 0,192, 10, 2, 0,193, 10, 2, 0,194, 10, 2, 0, 20, 2, 2, 0,172, 8, 2, 0,143, 8, 2, 0,195, 10,
+ 2, 0,196, 10, 2, 0,212, 3, 2, 0,213, 3, 2, 0,197, 10, 2, 0,198, 10, 2, 0,199, 10, 2, 0,200, 10, 7, 0,201, 10,
+ 7, 0,202, 10, 7, 0,203, 10, 7, 0,204, 10, 7, 0,205, 10, 7, 0,206, 10, 7, 0,207, 10, 2, 0, 77, 5, 2, 0,208, 10,
+ 7, 0,209, 10, 7, 0,210, 10, 7, 0,211, 10, 7, 0,154, 8, 7, 0, 86, 0, 7, 0,247, 2, 7, 0,160, 8, 7, 0,212, 10,
+ 7, 0,213, 10, 7, 0,214, 10, 7, 0,215, 10, 4, 0,155, 8, 4, 0,153, 8, 4, 0,216, 10, 4, 0,217, 10, 7, 0,156, 8,
+ 7, 0,157, 8, 7, 0,158, 8, 7, 0,218, 10, 7, 0,219, 10, 7, 0,220, 10, 7, 0,221, 10, 7, 0,222, 10, 7, 0,223, 10,
+ 7, 0,224, 10, 7, 0,225, 10, 7, 0,226, 10, 7, 0,152, 3, 7, 0,104, 0, 7, 0,227, 10, 7, 0,228, 10, 7, 0,229, 10,
+ 7, 0,230, 10, 7, 0,207, 0, 7, 0,231, 10, 4, 0,232, 10, 4, 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,206, 0, 7, 0,239, 10, 7, 0,239, 3, 7, 0,237, 3, 7, 0,238, 3, 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, 7, 0,253, 10, 7, 0,254, 10, 7, 0,255, 10, 7, 0, 0, 11,
+ 7, 0, 1, 11, 4, 0, 2, 11, 4, 0, 3, 11, 43, 0,126, 1, 58, 0,183, 3, 12, 0, 4, 11, 58, 0, 5, 11, 24, 0, 6, 11,
+ 24, 0, 7, 11, 28, 0, 77, 0,163, 0, 65, 1,163, 0, 8, 11,141, 0, 50, 0,141, 0, 0, 0,141, 0, 1, 0,153, 1, 9, 11,
+151, 1, 10, 11,148, 1, 90, 9,171, 0, 11, 4, 9, 0, 12, 4,155, 1, 11, 11,155, 1, 12, 11, 12, 0, 13, 11, 12, 0, 14, 11,
+126, 0, 15, 11,134, 0, 16, 11,134, 0, 17, 11, 24, 0, 18, 11, 24, 0, 19, 11, 24, 0, 36, 0, 12, 0,151, 9, 0, 0, 18, 0,
+ 7, 0,238, 0, 7, 0, 20, 3, 7, 0, 20, 11, 7, 0, 21, 11, 4, 0,196, 2, 4, 0, 22, 11, 4, 0, 17, 0, 4, 0,155, 8,
+ 4, 0, 23, 11, 4, 0, 24, 11, 4, 0, 25, 11, 4, 0, 26, 11, 2, 0,245, 0, 2, 0, 27, 11, 2, 0, 28, 11, 2, 0, 29, 11,
+ 0, 0, 30, 11, 2, 0, 31, 11, 2, 0, 32, 11, 2, 0, 33, 11, 9, 0, 34, 11,130, 0, 84, 4, 12, 0, 5, 3, 12, 0, 35, 11,
+147, 1, 36, 11, 4, 0, 37, 11, 4, 0, 38, 11,156, 1, 39, 11,132, 0, 17, 3,157, 1, 40, 11, 7, 0, 41, 11,128, 0, 37, 0,
+158, 1, 28, 9, 7, 0, 54, 4, 7, 0, 42, 11, 7, 0, 43, 11, 7, 0,230, 5, 7, 0,162, 3, 7, 0,152, 3, 7, 0, 44, 11,
+ 7, 0, 83, 2, 7, 0, 45, 11, 7, 0, 46, 11, 7, 0, 47, 11, 7, 0, 48, 11, 7, 0, 49, 11, 7, 0, 50, 11, 7, 0, 55, 4,
+ 7, 0, 51, 11, 7, 0, 52, 11, 7, 0, 53, 11, 7, 0, 56, 4, 7, 0, 52, 4, 7, 0, 53, 4, 7, 0, 54, 11, 7, 0, 55, 11,
+ 4, 0, 56, 11, 4, 0, 88, 0, 4, 0, 57, 11, 4, 0, 58, 11, 2, 0, 59, 11, 2, 0, 60, 11, 2, 0, 61, 11, 2, 0, 62, 11,
+ 2, 0, 63, 11, 2, 0, 64, 11, 2, 0, 65, 11, 2, 0,196, 4,168, 0, 85, 4,129, 0, 11, 0,158, 1, 66, 11, 7, 0, 67, 11,
+ 7, 0, 68, 11, 7, 0,234, 1, 7, 0, 69, 11, 7, 0, 70, 11, 7, 0, 71, 11, 4, 0, 88, 0, 2, 0, 72, 11, 2, 0, 73, 11,
+ 58, 0,233, 1,159, 1, 4, 0, 7, 0, 5, 0, 7, 0, 6, 0, 7, 0, 9, 2, 7, 0, 74, 11,160, 1, 6, 0,160, 1, 0, 0,
+160, 1, 1, 0,159, 1, 67, 9, 4, 0,251, 0, 2, 0, 75, 11, 2, 0, 17, 0,161, 1, 5, 0,161, 1, 0, 0,161, 1, 1, 0,
+ 12, 0, 76, 11, 4, 0, 77, 11, 4, 0, 17, 0,162, 1, 9, 0,162, 1, 0, 0,162, 1, 1, 0, 12, 0,119, 0,161, 1, 78, 11,
+ 4, 0, 17, 0, 2, 0, 75, 11, 2, 0, 79, 11, 7, 0, 89, 0, 0, 0, 80, 11,159, 0, 6, 0, 19, 0, 29, 0, 12, 0, 46, 5,
+ 4, 0, 17, 0, 2, 0, 81, 11, 2, 0, 82, 11, 9, 0, 83, 11,163, 1, 6, 0, 12, 0, 84, 11, 4, 0, 85, 11, 4, 0, 86, 11,
+ 4, 0, 17, 0, 4, 0, 35, 0,211, 0, 87, 11,164, 1, 17, 0, 19, 0, 29, 0,165, 1, 88, 11,165, 1, 89, 11, 12, 0, 90, 11,
+ 4, 0, 91, 11, 2, 0, 92, 11, 2, 0, 93, 11, 12, 0, 94, 11, 12, 0, 95, 11,163, 1, 96, 11, 12, 0, 97, 11, 12, 0, 98, 11,
+ 12, 0, 99, 11, 12, 0,100, 11,166, 1,101, 11, 12, 0,102, 11,211, 0,103, 11,165, 1, 32, 0,165, 1, 0, 0,165, 1, 1, 0,
+ 9, 0,104, 11, 4, 0,254, 7, 2, 0,105, 11, 2, 0, 35, 0, 2, 1,106, 11, 2, 1,107, 11, 0, 0,108, 11, 2, 0,109, 11,
+ 2, 0,110, 11, 2, 0, 20, 8, 2, 0, 21, 8, 2, 0,111, 11, 2, 0,112, 11, 2, 0,202, 3, 2, 0,226, 6, 2, 0,113, 11,
+ 2, 0,114, 11, 2, 0,115, 11, 2, 0, 67, 0,167, 1,116, 11,168, 1,117, 11,169, 1,118, 11, 4, 0,119, 11, 4, 0,120, 11,
+ 9, 0,121, 11, 12, 0, 95, 11, 12, 0, 40, 8, 12, 0,122, 11, 12, 0,123, 11, 12, 0,124, 11,170, 1, 17, 0,170, 1, 0, 0,
+170, 1, 1, 0, 0, 0,125, 11, 18, 0, 28, 0, 2, 0,126, 11, 2, 0, 15, 0, 2, 0, 13, 0, 2, 0,127, 11, 2, 0,128, 11,
+ 2, 0,129, 11, 2, 0,130, 11, 2, 0,131, 11, 2, 0, 17, 0, 2, 0,132, 11, 2, 0, 29, 0, 2, 0, 35, 0,171, 1,133, 11,
+172, 1, 10, 0,172, 1, 0, 0,172, 1, 1, 0, 12, 0,134, 11, 0, 0,125, 11, 2, 0,135, 11, 2, 0,136, 11, 2, 0, 17, 0,
+ 2, 0,137, 11, 4, 0,138, 11, 9, 0,139, 11,166, 1, 7, 0,166, 1, 0, 0,166, 1, 1, 0, 0, 0,125, 11, 0, 0,140, 11,
+ 12, 0,199, 7, 4, 0,141, 11, 4, 0, 17, 0,223, 0, 14, 0,223, 0, 0, 0,223, 0, 1, 0, 0, 0,125, 11, 18, 0, 28, 0,
+173, 1, 14, 8, 9, 0,142, 11, 9, 0,143, 11,171, 1,133, 11,163, 1,144, 11, 12, 0,145, 11,223, 0,146, 11, 7, 1,133, 6,
+ 2, 0, 17, 0, 2, 0,196, 4,174, 1, 12, 0,174, 1, 0, 0,174, 1, 1, 0, 9, 0, 2, 0, 9, 0,147, 11, 0, 0, 5, 4,
+ 2, 0, 15, 0, 2, 0, 17, 0, 7, 0,148, 11, 7, 0,121, 0, 7, 0, 63, 4, 7, 0,229, 8, 7, 0,205, 9,175, 1, 5, 0,
+ 7, 0,149, 11, 4, 0,150, 11, 4, 0,151, 11, 4, 0, 73, 1, 4, 0, 17, 0,176, 1, 6, 0, 7, 0,152, 11, 7, 0,153, 11,
+ 7, 0,154, 11, 7, 0,155, 11, 4, 0, 15, 0, 4, 0, 17, 0,177, 1, 5, 0, 7, 0, 1, 9, 7, 0, 2, 9, 7, 0,222, 2,
+ 2, 0, 34, 2, 2, 0, 35, 2,178, 1, 5, 0,177, 1, 2, 0, 4, 0, 51, 0, 7, 0,156, 11, 7, 0, 1, 9, 7, 0, 2, 9,
+179, 1, 4, 0, 2, 0,157, 11, 2, 0,158, 11, 2, 0,159, 11, 2, 0,160, 11,180, 1, 2, 0, 34, 0,188, 6, 18, 0, 33, 9,
+181, 1, 3, 0, 16, 0,161, 11, 4, 0, 17, 0, 4, 0, 35, 0,182, 1, 6, 0, 7, 0,104, 0, 7, 0,224, 2, 7, 0,162, 11,
+ 7, 0, 35, 0, 2, 0,244, 0, 2, 0,163, 11,183, 1, 5, 0, 7, 0,164, 11, 7, 0,120, 0, 7, 0, 68, 9, 7, 0, 69, 9,
+ 4, 0, 17, 0,184, 1, 6, 0, 19, 0,194, 6, 0, 0,165, 11, 0, 0,166, 11, 2, 0,167, 11, 2, 0, 17, 0, 4, 0,168, 11,
+185, 1, 7, 0,185, 1, 0, 0,185, 1, 1, 0, 0, 0, 5, 4,184, 1,169, 11, 2, 0,170, 11, 2, 0, 15, 0, 7, 0, 58, 0,
+186, 1, 7, 0, 12, 0,171, 11, 0, 0,172, 11, 9, 0,173, 11, 7, 0, 58, 0, 7, 0,148, 11, 4, 0, 15, 0, 4, 0, 17, 0,
+187, 1, 3, 0, 7, 0,174, 11, 4, 0, 17, 0, 4, 0, 35, 0,188, 1, 15, 0,188, 1, 0, 0,188, 1, 1, 0, 79, 1,138, 9,
+186, 1, 59, 0, 12, 0,119, 3, 27, 0, 47, 0,187, 1,175, 11, 4, 0, 51, 0, 7, 0, 58, 0, 2, 0, 17, 0, 2, 0, 16, 1,
+ 4, 0,176, 11, 0, 0,165, 11, 4, 0,177, 11, 7, 0,178, 11,189, 1, 2, 0, 0, 0,179, 11, 0, 0,180, 11,190, 1, 4, 0,
+190, 1, 0, 0,190, 1, 1, 0,157, 0, 54, 3, 12, 0,181, 11,191, 1, 24, 0,191, 1, 0, 0,191, 1, 1, 0, 12, 0,182, 11,
+157, 0,227, 8,190, 1,183, 11, 12, 0,184, 11, 12, 0,119, 3, 0, 0, 5, 4, 7, 0,148, 11, 7, 0,185, 11, 7, 0, 85, 0,
+ 7, 0, 86, 0, 7, 0,200, 9, 7, 0,201, 9, 7, 0,237, 2, 7, 0,204, 9, 7, 0,229, 8, 7, 0,205, 9, 2, 0,186, 11,
+ 2, 0,187, 11, 2, 0, 87, 0, 2, 0, 15, 0, 4, 0, 17, 0, 4, 0, 67, 0,192, 1, 6, 0,192, 1, 0, 0,192, 1, 1, 0,
+ 12, 0,182, 11, 4, 0, 17, 0, 4, 0,253, 1, 0, 0, 5, 4,193, 1, 11, 0,193, 1, 0, 0,193, 1, 1, 0, 19, 0,194, 6,
+ 0, 0,188, 11, 4, 0,168, 11, 2, 0,189, 11, 2, 0, 35, 0, 0, 0,165, 11, 4, 0,176, 11, 2, 0, 17, 0, 2, 0,190, 11,
+194, 1, 8, 0,194, 1, 0, 0,194, 1, 1, 0, 12, 0,191, 11, 0, 0, 5, 4, 0, 0,192, 11, 2, 0, 17, 0, 2, 0,190, 11,
+ 4, 0,193, 11,195, 1, 5, 0,195, 1, 0, 0,195, 1, 1, 0, 0, 0,165, 11, 4, 0,176, 11, 7, 0,212, 2, 31, 0, 12, 0,
+157, 0,110, 3,157, 0,194, 11,190, 1,183, 11, 12, 0,195, 11,191, 1,196, 11, 12, 0,197, 11, 12, 0,198, 11, 4, 0, 17, 0,
+ 4, 0,245, 0, 2, 0,199, 11, 2, 0,200, 11, 7, 0,201, 11,196, 1, 2, 0, 19, 0, 29, 0, 31, 0, 72, 0,197, 1, 5, 0,
+197, 1, 0, 0,197, 1, 1, 0, 4, 0, 15, 0, 4, 0, 17, 0, 0, 0, 18, 0,198, 1, 6, 0,197, 1,202, 11, 24, 0, 42, 0,
+ 4, 0,203, 11, 7, 0,204, 11, 4, 0,205, 11, 4, 0,125, 9,199, 1, 3, 0,197, 1,202, 11, 4, 0,203, 11, 7, 0,206, 11,
+200, 1, 8, 0,197, 1,202, 11, 24, 0, 42, 0, 7, 0, 68, 1, 7, 0,207, 11, 7, 0, 20, 3, 7, 0, 27, 9, 4, 0,203, 11,
+ 4, 0,208, 11,201, 1, 5, 0,197, 1,202, 11, 7, 0,209, 11, 7, 0,103, 8, 7, 0,243, 2, 7, 0, 54, 0,202, 1, 3, 0,
+197, 1,202, 11, 7, 0, 27, 9, 7, 0,210, 11,146, 1, 4, 0, 7, 0,211, 11, 7, 0,228, 10, 2, 0,212, 11, 2, 0, 73, 1,
+203, 1, 14, 0,203, 1, 0, 0,203, 1, 1, 0, 12, 0,213, 11, 12, 0,214, 11, 12, 0,215, 11, 0, 0, 18, 0, 4, 0, 29, 0,
+ 4, 0, 17, 0, 4, 0,216, 11, 7, 0,217, 11, 4, 0,205, 11, 4, 0,125, 9, 7, 0, 15, 4, 7, 0,245, 2,154, 1, 23, 0,
+ 4, 0,203, 11, 4, 0,218, 11, 7, 0,219, 11, 7, 0,241, 2, 7, 0,220, 11, 7, 0,244, 8, 7, 0,211, 11, 7, 0,221, 11,
+ 7, 0,224, 2, 7, 0, 96, 10, 7, 0,146, 4, 7, 0,222, 11, 7, 0,223, 11, 7, 0,224, 11, 7, 0,225, 11, 7, 0,226, 11,
+ 7, 0,227, 11, 7, 0,228, 11, 7, 0,229, 11, 7, 0,230, 11, 7, 0,231, 11, 7, 0,232, 11, 12, 0,233, 11,114, 0, 40, 0,
+113, 0,234, 11,204, 1,178, 10, 58, 0,235, 11, 58, 0, 5, 11, 58, 0,236, 11,205, 1,237, 11, 40, 0,161, 0, 40, 0,238, 11,
+ 40, 0,239, 11, 7, 0,240, 11, 7, 0,241, 11, 7, 0,242, 11, 7, 0,243, 11, 7, 0,244, 11, 7, 0,253, 7, 7, 0,245, 11,
+ 7, 0,162, 1, 7, 0,246, 11, 4, 0,247, 11, 4, 0,248, 11, 4, 0,249, 11, 4, 0, 88, 0, 4, 0, 35, 0, 4, 0,250, 11,
+ 2, 0,251, 11, 2, 0,252, 11, 4, 0,253, 11, 7, 0,224, 2, 4, 0,254, 11, 7, 0,255, 11, 4, 0, 0, 12, 4, 0, 1, 12,
+ 4, 0, 2, 12,130, 0, 3, 12, 12, 0, 4, 12,168, 0, 85, 4, 4, 0, 5, 12, 7, 0, 6, 12, 7, 0, 7, 12, 4, 0, 67, 0,
+115, 0, 12, 0,113, 0,234, 11,141, 0, 40, 3, 7, 0,129, 1, 7, 0,253, 7, 7, 0, 8, 12, 7, 0, 9, 12, 7, 0, 10, 12,
+ 2, 0, 11, 12, 2, 0, 12, 12, 2, 0, 13, 12, 2, 0, 15, 0, 4, 0, 88, 0,116, 0, 13, 0,113, 0,234, 11,132, 0, 17, 3,
+134, 0, 19, 3, 7, 0, 67, 9, 7, 0, 14, 12, 7, 0, 15, 12, 7, 0, 70, 1, 7, 0, 16, 12, 4, 0,160, 9, 4, 0, 13, 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};
diff --git a/source/blender/editors/gpencil/CMakeLists.txt b/source/blender/editors/gpencil/CMakeLists.txt
index 352960d285a..b312f397939 100644
--- a/source/blender/editors/gpencil/CMakeLists.txt
+++ b/source/blender/editors/gpencil/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
@@ -42,6 +42,7 @@ set(SRC
gpencil_edit.c
gpencil_ops.c
gpencil_paint.c
+ gpencil_undo.c
gpencil_intern.h
)
diff --git a/source/blender/editors/gpencil/drawgpencil.c b/source/blender/editors/gpencil/drawgpencil.c
index a275a5f908a..cfa9585868e 100644
--- a/source/blender/editors/gpencil/drawgpencil.c
+++ b/source/blender/editors/gpencil/drawgpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -646,7 +644,7 @@ static void gp_draw_data (bGPdata *gpd, int offsx, int offsy, int winx, int winy
/* Check if may need to draw the active stroke cache, only if this layer is the active layer
* that is being edited. (Stroke buffer is currently stored in gp-data)
*/
- if ((G.f & G_GREASEPENCIL) && (gpl->flag & GP_LAYER_ACTIVE) &&
+ if (ED_gpencil_session_active() && (gpl->flag & GP_LAYER_ACTIVE) &&
(gpf->flag & GP_FRAME_PAINT))
{
/* Buffer stroke needs to be drawn with a different linestyle to help differentiate them from normal strokes. */
diff --git a/source/blender/editors/gpencil/editaction_gpencil.c b/source/blender/editors/gpencil/editaction_gpencil.c
index 34cddfbc463..937d24eed04 100644
--- a/source/blender/editors/gpencil/editaction_gpencil.c
+++ b/source/blender/editors/gpencil/editaction_gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -209,96 +207,9 @@ void borderselect_gplayer_frames (bGPDlayer *gpl, float min, float max, short se
}
}
-#if 0 // XXX disabled until grease pencil code stabilises again
-
-/* De-selects or inverts the selection of Layers for a grease-pencil block
- * mode: 0 = default behaviour (select all), 1 = test if (de)select all, 2 = invert all
- */
-void deselect_gpencil_layers (void *data, short mode)
-{
- ListBase act_data = {NULL, NULL};
- bActListElem *ale;
- int filter, sel=1;
-
- /* filter data */
- filter= ACTFILTER_VISIBLE;
- actdata_filter(&act_data, filter, data, ACTCONT_GPENCIL);
-
- /* See if we should be selecting or deselecting */
- if (mode == 1) {
- for (ale= act_data.first; ale; ale= ale->next) {
- if (sel == 0)
- break;
-
- if (ale->flag & GP_LAYER_SELECT)
- sel= 0;
- }
- }
- else
- sel= 0;
-
- /* Now set the flags */
- for (ale= act_data.first; ale; ale= ale->next) {
- bGPDlayer *gpl= (bGPDlayer *)ale->data;
-
- if (mode == 2)
- gpl->flag ^= GP_LAYER_SELECT;
- else if (sel)
- gpl->flag |= GP_LAYER_SELECT;
- else
- gpl->flag &= ~GP_LAYER_SELECT;
-
- gpl->flag &= ~GP_LAYER_ACTIVE;
- }
-
- /* Cleanup */
- BLI_freelistN(&act_data);
-}
-
-#endif // XXX disabled until Grease Pencil code stabilises again...
-
/* ***************************************** */
/* Frame Editing Tools */
-#if 0 // XXX disabled until grease pencil code stabilises again
-/* Delete selected grease-pencil layers */
-void delete_gpencil_layers (void)
-{
- ListBase act_data = {NULL, NULL};
- bActListElem *ale, *next;
- void *data;
- short datatype;
- int filter;
-
- /* determine what type of data we are operating on */
- data = get_action_context(&datatype);
- if (data == NULL) return;
- if (datatype != ACTCONT_GPENCIL) return;
-
- /* filter data */
- filter= (ACTFILTER_VISIBLE | ACTFILTER_FOREDIT | ACTFILTER_CHANNELS | ACTFILTER_SEL);
- actdata_filter(&act_data, filter, data, datatype);
-
- /* clean up grease-pencil layers */
- for (ale= act_data.first; ale; ale= next) {
- bGPdata *gpd= (bGPdata *)ale->owner;
- bGPDlayer *gpl= (bGPDlayer *)ale->data;
- next= ale->next;
-
- /* free layer and its data */
- if (SEL_GPL(gpl)) {
- free_gpencil_frames(gpl);
- BLI_freelinkN(&gpd->layers, gpl);
- }
-
- /* free temp memory */
- BLI_freelinkN(&act_data, ale);
- }
-
- BIF_undo_push("Delete GPencil Layers");
-}
-#endif // XXX disabled until Grease Pencil code stabilises again...
-
/* Delete selected frames */
void delete_gplayer_frames (bGPDlayer *gpl)
{
diff --git a/source/blender/editors/gpencil/gpencil_buttons.c b/source/blender/editors/gpencil/gpencil_buttons.c
index d95f64c31e1..192f5c10d07 100644
--- a/source/blender/editors/gpencil/gpencil_buttons.c
+++ b/source/blender/editors/gpencil/gpencil_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/gpencil/gpencil_edit.c b/source/blender/editors/gpencil/gpencil_edit.c
index 2860d467cef..1cd8b1f05db 100644
--- a/source/blender/editors/gpencil/gpencil_edit.c
+++ b/source/blender/editors/gpencil/gpencil_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -513,8 +511,8 @@ static void gp_stroke_to_bezier (bContext *C, bGPDlayer *gpl, bGPDstroke *gps, C
copy_v3_v3(p3d_prev, p3d_cur);
copy_v3_v3(p3d_cur, p3d_next);
- if (i + 1 < tot) {
- gp_strokepoint_convertcoords(C, gps, pt+1, p3d_next, subrect);
+ if (i + 2 < tot) {
+ gp_strokepoint_convertcoords(C, gps, pt + 2, p3d_next, subrect);
}
}
diff --git a/source/blender/editors/gpencil/gpencil_intern.h b/source/blender/editors/gpencil/gpencil_intern.h
index 6ecdc2b054b..8000af54f53 100644
--- a/source/blender/editors/gpencil/gpencil_intern.h
+++ b/source/blender/editors/gpencil/gpencil_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -39,6 +37,7 @@
/* ***************************************************** */
/* Operator Defines */
+struct bGPdata;
struct wmOperatorType;
/* drawing ---------- */
@@ -50,6 +49,7 @@ typedef enum eGPencil_PaintModes {
GP_PAINTMODE_DRAW = 0,
GP_PAINTMODE_ERASER,
GP_PAINTMODE_DRAW_STRAIGHT,
+ GP_PAINTMODE_DRAW_POLY
} eGPencil_PaintModes;
/* buttons editing --- */
@@ -63,6 +63,11 @@ void GPENCIL_OT_active_frame_delete(struct wmOperatorType *ot);
void GPENCIL_OT_convert(struct wmOperatorType *ot);
+/* undo stack ---------- */
+
+void gpencil_undo_init(struct bGPdata *gpd);
+void gpencil_undo_push(struct bGPdata *gpd);
+void gpencil_undo_finish(void);
/******************************************************* */
/* FILTERED ACTION DATA - TYPES ---> XXX DEPRECEATED OLD ANIM SYSTEM CODE! */
diff --git a/source/blender/editors/gpencil/gpencil_ops.c b/source/blender/editors/gpencil/gpencil_ops.c
index f2efada8406..150e0ba90e4 100644
--- a/source/blender/editors/gpencil/gpencil_ops.c
+++ b/source/blender/editors/gpencil/gpencil_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -61,6 +59,9 @@ void ED_keymap_gpencil(wmKeyConfig *keyconf)
/* draw - straight lines */
kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", LEFTMOUSE, KM_PRESS, KM_CTRL, DKEY);
RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_DRAW_STRAIGHT);
+ /* draw - poly lines */
+ kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", RIGHTMOUSE, KM_PRESS, KM_CTRL, DKEY);
+ RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_DRAW_POLY);
/* erase */
kmi=WM_keymap_add_item(keymap, "GPENCIL_OT_draw", RIGHTMOUSE, KM_PRESS, 0, DKEY);
RNA_enum_set(kmi->ptr, "mode", GP_PAINTMODE_ERASER);
diff --git a/source/blender/editors/gpencil/gpencil_paint.c b/source/blender/editors/gpencil/gpencil_paint.c
index f4da734473d..a23f2064a9e 100644
--- a/source/blender/editors/gpencil/gpencil_paint.c
+++ b/source/blender/editors/gpencil/gpencil_paint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -126,6 +124,7 @@ enum {
/* Runtime flags */
enum {
GP_PAINTFLAG_FIRSTRUN = (1<<0), /* operator just started */
+ GP_PAINTFLAG_STROKEADDED = (1<<1) /* stroke was already added during draw session */
};
/* ------ */
@@ -154,7 +153,7 @@ static int gpencil_draw_poll (bContext *C)
/* check if current context can support GPencil data */
if (gpencil_data_get_pointers(C, NULL) != NULL) {
/* check if Grease Pencil isn't already running */
- if ((G.f & G_GREASEPENCIL) == 0)
+ if (ED_gpencil_session_active() == 0)
return 1;
else
CTX_wm_operator_poll_msg_set(C, "Grease Pencil operator is already active");
@@ -377,6 +376,52 @@ static short gp_stroke_addpoint (tGPsdata *p, const int mval[2], float pressure)
else
return GP_STROKEADD_NORMAL;
}
+ else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ /* get pointer to destination point */
+ pt= (tGPspoint *)(gpd->sbuffer);
+
+ /* store settings */
+ pt->x= mval[0];
+ pt->y= mval[1];
+ pt->pressure= pressure;
+
+ /* if there's stroke fir this poly line session add (or replace last) point
+ to stroke. This allows to draw lines more interactively (see new segment
+ during mouse slide, i.e.) */
+ if (p->flags & GP_PAINTFLAG_STROKEADDED) {
+ bGPDstroke *gps= p->gpf->strokes.last;
+ bGPDspoint *pts;
+
+ /* first time point is adding to temporary buffer -- need to allocate new point in stroke */
+ if (gpd->sbuffer_size == 0) {
+ gps->points = MEM_reallocN(gps->points, sizeof(bGPDspoint)*(gps->totpoints+1));
+ gps->totpoints++;
+ }
+
+ pts = &gps->points[gps->totpoints-1];
+
+ /* special case for poly lines: normally, depth is needed only when creating new stroke from buffer,
+ but poly lines are converting to stroke instantly, so initialize depth buffer before converting coordinates */
+ if (gpencil_project_check(p)) {
+ View3D *v3d= p->sa->spacedata.first;
+
+ view3d_region_operator_needs_opengl(p->win, p->ar);
+ ED_view3d_autodist_init(p->scene, p->ar, v3d, (p->gpd->flag & GP_DATA_DEPTH_STROKE) ? 1:0);
+ }
+
+ /* convert screen-coordinates to appropriate coordinates (and store them) */
+ gp_stroke_convertcoords(p, &pt->x, &pts->x, NULL);
+
+ /* copy pressure */
+ pts->pressure= pt->pressure;
+ }
+
+ /* increment counters */
+ if (gpd->sbuffer_size == 0)
+ gpd->sbuffer_size++;
+
+ return GP_STROKEADD_NORMAL;
+ }
/* return invalid state for now... */
return GP_STROKEADD_INVALID;
@@ -397,7 +442,7 @@ static void gp_stroke_smooth (tGPsdata *p)
int i=0, cmx=gpd->sbuffer_size;
/* only smooth if smoothing is enabled, and we're not doing a straight line */
- if (!(U.gp_settings & GP_PAINT_DOSMOOTH) || (p->paintmode == GP_PAINTMODE_DRAW_STRAIGHT))
+ if (!(U.gp_settings & GP_PAINT_DOSMOOTH) || ELEM(p->paintmode, GP_PAINTMODE_DRAW_STRAIGHT, GP_PAINTMODE_DRAW_POLY))
return;
/* don't try if less than 2 points in buffer */
@@ -529,17 +574,28 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
return;
}
+ /* special case for poly line -- for already added stroke during session
+ coordinates are getting added to stroke immediatelly to allow more
+ interactive behavior */
+ if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ if (p->flags & GP_PAINTFLAG_STROKEADDED)
+ return;
+ }
+
/* allocate memory for a new stroke */
gps= MEM_callocN(sizeof(bGPDstroke), "gp_stroke");
- /* allocate enough memory for a continuous array for storage points */
- pt= gps->points= MEM_callocN(sizeof(bGPDspoint)*totelem, "gp_stroke_points");
-
/* copy appropriate settings for stroke */
gps->totpoints= totelem;
gps->thickness= p->gpl->thickness;
gps->flag= gpd->sbuffer_sflag;
+ /* allocate enough memory for a continuous array for storage points */
+ gps->points= MEM_callocN(sizeof(bGPDspoint)*gps->totpoints, "gp_stroke_points");
+
+ /* set pointer to first non-initialized point */
+ pt= gps->points + (gps->totpoints - totelem);
+
/* copy points from the buffer to the stroke */
if (p->paintmode == GP_PAINTMODE_DRAW_STRAIGHT) {
/* straight lines only -> only endpoints */
@@ -567,6 +623,16 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
pt->pressure= ptc->pressure;
}
}
+ else if (p->paintmode == GP_PAINTMODE_DRAW_POLY) {
+ /* first point */
+ ptc= gpd->sbuffer;
+
+ /* convert screen-coordinates to appropriate coordinates (and store them) */
+ gp_stroke_convertcoords(p, &ptc->x, &pt->x, NULL);
+
+ /* copy pressure */
+ pt->pressure= ptc->pressure;
+ }
else {
float *depth_arr= NULL;
@@ -645,6 +711,8 @@ static void gp_stroke_newfrombuffer (tGPsdata *p)
MEM_freeN(depth_arr);
}
+ p->flags |= GP_PAINTFLAG_STROKEADDED;
+
/* add stroke to frame */
BLI_addtail(&p->gpf->strokes, gps);
}
@@ -893,10 +961,14 @@ static void gp_session_validatebuffer (tGPsdata *p)
bGPdata *gpd= p->gpd;
/* clear memory of buffer (or allocate it if starting a new session) */
- if (gpd->sbuffer)
+ if (gpd->sbuffer) {
+ //printf("\t\tGP - reset sbuffer\n");
memset(gpd->sbuffer, 0, sizeof(tGPspoint)*GP_STROKE_BUFFER_MAX);
- else
+ }
+ else {
+ //printf("\t\tGP - allocate sbuffer\n");
gpd->sbuffer= MEM_callocN(sizeof(tGPspoint)*GP_STROKE_BUFFER_MAX, "gp_session_strokebuffer");
+ }
/* reset indices */
gpd->sbuffer_size = 0;
@@ -905,24 +977,21 @@ static void gp_session_validatebuffer (tGPsdata *p)
gpd->sbuffer_sflag= 0;
}
-/* init new painting session */
-static tGPsdata *gp_session_initpaint (bContext *C)
+/* (re)init new painting data */
+static int gp_session_initdata (bContext *C, tGPsdata *p)
{
- tGPsdata *p = NULL;
bGPdata **gpd_ptr = NULL;
ScrArea *curarea= CTX_wm_area(C);
ARegion *ar= CTX_wm_region(C);
/* make sure the active view (at the starting time) is a 3d-view */
if (curarea == NULL) {
+ p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: No active view for painting \n");
- return NULL;
+ return 0;
}
- /* create new context data */
- p= MEM_callocN(sizeof(tGPsdata), "GPencil Drawing Data");
-
/* pass on current scene and window */
p->scene= CTX_data_scene(C);
p->win= CTX_wm_window(C);
@@ -944,7 +1013,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: 3D-View active region doesn't have any region data, so cannot be drawable \n");
- return p;
+ return 0;
}
#if 0 // XXX will this sort of antiquated stuff be restored?
@@ -953,7 +1022,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return p;
+ return 0;
}
#endif
}
@@ -974,7 +1043,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return;
+ return 0;
}
#endif
}
@@ -994,13 +1063,13 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view (sequencer), active mode doesn't support Grease Pencil \n");
- return;
+ return 0;
}
if ((sseq->flag & SEQ_DRAW_GPENCIL)==0) {
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return;
+ return 0;
}
}
break;
@@ -1021,7 +1090,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: In active view, Grease Pencil not shown \n");
- return p;
+ return 0;
}
#endif
}
@@ -1033,7 +1102,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: Active view not appropriate for Grease Pencil drawing \n");
- return p;
+ return 0;
}
break;
}
@@ -1044,7 +1113,7 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->status= GP_STATUS_ERROR;
if (G.f & G_DEBUG)
printf("Error: Current context doesn't allow for any Grease Pencil data \n");
- return p;
+ return 0;
}
else {
/* if no existing GPencil block exists, add one */
@@ -1053,8 +1122,11 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->gpd= *gpd_ptr;
}
- /* set edit flags - so that buffer will get drawn */
- G.f |= G_GREASEPENCIL;
+ if(ED_gpencil_session_active()==0) {
+ /* initialize undo stack,
+ also, existing undo stack would make buffer drawn */
+ gpencil_undo_init(p->gpd);
+ }
/* clear out buffer (stored in gp-data), in case something contaminated it */
gp_session_validatebuffer(p);
@@ -1064,6 +1136,19 @@ static tGPsdata *gp_session_initpaint (bContext *C)
p->im2d_settings.sizex= 1;
p->im2d_settings.sizey= 1;
#endif
+
+ return 1;
+}
+
+/* init new painting session */
+static tGPsdata *gp_session_initpaint (bContext *C)
+{
+ tGPsdata *p = NULL;
+
+ /* create new context data */
+ p= MEM_callocN(sizeof(tGPsdata), "GPencil Drawing Data");
+
+ gp_session_initdata(C, p);
/* return context data for running paint operator */
return p;
@@ -1080,6 +1165,7 @@ static void gp_session_cleanup (tGPsdata *p)
/* free stroke buffer */
if (gpd->sbuffer) {
+ //printf("\t\tGP - free sbuffer\n");
MEM_freeN(gpd->sbuffer);
gpd->sbuffer= NULL;
}
@@ -1249,7 +1335,8 @@ static void gp_paint_strokeend (tGPsdata *p)
static void gp_paint_cleanup (tGPsdata *p)
{
/* finish off a stroke */
- gp_paint_strokeend(p);
+ if(p->gpd)
+ gp_paint_strokeend(p);
/* "unlock" frame */
if (p->gpf)
@@ -1262,8 +1349,8 @@ static void gpencil_draw_exit (bContext *C, wmOperator *op)
{
tGPsdata *p= op->customdata;
- /* clear edit flags */
- G.f &= ~G_GREASEPENCIL;
+ /* clear undo stack */
+ gpencil_undo_finish();
/* restore cursor to indicate end of drawing */
WM_cursor_restore(CTX_wm_window(C));
@@ -1594,6 +1681,7 @@ static int gpencil_draw_invoke (bContext *C, wmOperator *op, wmEvent *event)
//printf("\tGP - hotkey invoked... waiting for click-drag\n");
}
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL, NULL);
/* add a modal handler for this operator, so that we can then draw continuous strokes */
WM_event_add_modal_handler(C, op);
return OPERATOR_RUNNING_MODAL;
@@ -1611,12 +1699,70 @@ static int gpencil_area_exists(bContext *C, ScrArea *satest)
return 0;
}
+static tGPsdata *gpencil_stroke_begin(bContext *C, wmOperator *op)
+{
+ tGPsdata *p= op->customdata;
+
+ /* we must check that we're still within the area that we're set up to work from
+ * otherwise we could crash (see bug #20586)
+ */
+ if (CTX_wm_area(C) != p->sa) {
+ printf("\t\t\tGP - wrong area execution abort! \n");
+ p->status= GP_STATUS_ERROR;
+ }
+
+ //printf("\t\tGP - start stroke \n");
+
+ /* we may need to set up paint env again if we're resuming */
+ // XXX: watch it with the paintmode! in future, it'd be nice to allow changing paint-mode when in sketching-sessions
+ // XXX: with tablet events, we may event want to check for eraser here, for nicer tablet support
+
+ if (gp_session_initdata(C, p))
+ gp_paint_initstroke(p, p->paintmode);
+
+ p= op->customdata;
+
+ if(p->status != GP_STATUS_ERROR)
+ p->status= GP_STATUS_PAINTING;
+
+ return op->customdata;
+}
+
+static void gpencil_stroke_end(wmOperator *op)
+{
+ tGPsdata *p= op->customdata;
+
+ gp_paint_cleanup(p);
+
+ gpencil_undo_push(p->gpd);
+
+ gp_session_cleanup(p);
+
+ p->status= GP_STATUS_IDLING;
+
+ p->gpd= NULL;
+ p->gpl= NULL;
+ p->gpf= NULL;
+}
+
/* events handling during interactive drawing part of operator */
static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
{
tGPsdata *p= op->customdata;
int estate = OPERATOR_PASS_THROUGH; /* default exit state - not handled, so let others have a share of the pie */
+ // if (event->type == NDOF_MOTION)
+ // return OPERATOR_PASS_THROUGH;
+ // -------------------------------
+ // [mce] Not quite what I was looking
+ // for, but a good start! GP continues to
+ // draw on the screen while the 3D mouse
+ // moves the viewpoint. Problem is that
+ // the stroke is converted to 3D only after
+ // it is finished. This approach should work
+ // better in tools that immediately apply
+ // in 3D space.
+
//printf("\tGP - handle modal event...\n");
/* exit painting mode (and/or end current stroke) */
@@ -1631,17 +1777,24 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
if (ELEM(event->type, LEFTMOUSE, RIGHTMOUSE)) {
/* if painting, end stroke */
if (p->status == GP_STATUS_PAINTING) {
+ int sketch= 0;
/* basically, this should be mouse-button up = end stroke
* BUT what happens next depends on whether we 'painting sessions' is enabled
*/
- if (GPENCIL_SKETCH_SESSIONS_ON(p->scene)) {
+ sketch|= GPENCIL_SKETCH_SESSIONS_ON(p->scene);
+ /* polyline drawig is also 'sketching' -- all knots should be added during one session */
+ sketch|= p->paintmode == GP_PAINTMODE_DRAW_POLY;
+
+ if (sketch) {
/* end stroke only, and then wait to resume painting soon */
//printf("\t\tGP - end stroke only\n");
- gp_paint_cleanup(p);
- p->status= GP_STATUS_IDLING;
+ gpencil_stroke_end(op);
/* we've just entered idling state, so this event was processed (but no others yet) */
estate = OPERATOR_RUNNING_MODAL;
+
+ /* stroke could be smoothed, send notifier to refresh screen */
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL|NA_EDITED, NULL);
}
else {
//printf("\t\tGP - end of stroke + op\n");
@@ -1649,35 +1802,19 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
estate = OPERATOR_FINISHED;
}
}
- else {
+ else if (event->val == KM_PRESS) {
/* not painting, so start stroke (this should be mouse-button down) */
- /* we must check that we're still within the area that we're set up to work from
- * otherwise we could crash (see bug #20586)
- */
- if (CTX_wm_area(C) != p->sa) {
- //printf("\t\t\tGP - wrong area execution abort! \n");
- p->status= GP_STATUS_ERROR;
+ p= gpencil_stroke_begin(C, op);
+
+ if (p->status == GP_STATUS_ERROR) {
estate = OPERATOR_CANCELLED;
}
- else {
- //printf("\t\tGP - start stroke \n");
- p->status= GP_STATUS_PAINTING;
-
- /* we may need to set up paint env again if we're resuming */
- // XXX: watch it with the paintmode! in future, it'd be nice to allow changing paint-mode when in sketching-sessions
- // XXX: with tablet events, we may event want to check for eraser here, for nicer tablet support
- gp_paint_initstroke(p, p->paintmode);
-
- if (p->status == GP_STATUS_ERROR) {
- estate = OPERATOR_CANCELLED;
- }
- }
+ } else {
+ p->status = GP_STATUS_IDLING;
}
}
-
-
/* handle mode-specific events */
if (p->status == GP_STATUS_PAINTING) {
/* handle painting mouse-movements? */
@@ -1689,7 +1826,7 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
/* finish painting operation if anything went wrong just now */
if (p->status == GP_STATUS_ERROR) {
- //printf("\t\t\t\tGP - add error done! \n");
+ printf("\t\t\t\tGP - add error done! \n");
estate = OPERATOR_CANCELLED;
}
else {
@@ -1706,23 +1843,6 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
estate = OPERATOR_RUNNING_MODAL;
}
}
- else if (p->status == GP_STATUS_IDLING) {
- /* standard undo/redo shouldn't be allowed to execute or else it causes crashes, so catch it here */
- // FIXME: this is a hardcoded hotkey that can't be changed
- // TODO: catch redo as well, but how?
- if (event->type == ZKEY) {
- /* oskey = cmd key on macs as they seem to use cmd-z for undo as well? */
- if ((event->ctrl) || (event->oskey)) {
- /* just delete last stroke, which will look like undo to the end user */
- //printf("caught attempted undo event... deleting last stroke \n");
- gpencil_frame_delete_laststroke(p->gpl, p->gpf);
-
- /* event handled, so force refresh */
- ED_region_tag_redraw(p->ar); /* just active area for now, since doing whole screen is too slow */
- estate = OPERATOR_RUNNING_MODAL;
- }
- }
- }
/* gpencil modal operator stores area, which can be removed while using it (like fullscreen) */
if(0==gpencil_area_exists(C, p->sa))
@@ -1758,6 +1878,7 @@ static int gpencil_draw_modal (bContext *C, wmOperator *op, wmEvent *event)
static EnumPropertyItem prop_gpencil_drawmodes[] = {
{GP_PAINTMODE_DRAW, "DRAW", 0, "Draw Freehand", ""},
{GP_PAINTMODE_DRAW_STRAIGHT, "DRAW_STRAIGHT", 0, "Draw Straight Lines", ""},
+ {GP_PAINTMODE_DRAW_POLY, "DRAW_POLY", 0, "Dtaw Poly Line", ""},
{GP_PAINTMODE_ERASER, "ERASER", 0, "Eraser", ""},
{0, NULL, 0, NULL, NULL}
};
diff --git a/source/blender/editors/gpencil/gpencil_undo.c b/source/blender/editors/gpencil/gpencil_undo.c
new file mode 100644
index 00000000000..1154975e3cc
--- /dev/null
+++ b/source/blender/editors/gpencil/gpencil_undo.c
@@ -0,0 +1,168 @@
+/*
+ * $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) 2011 Blender Foundation.
+ * All rights reserved.
+ *
+ *
+ * Contributor(s): Blender Foundation,
+ * Sergey Sharybin
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#include <stdlib.h>
+#include <string.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_gpencil_types.h"
+#include "DNA_listBase.h"
+#include "DNA_windowmanager_types.h"
+
+#include "BKE_context.h"
+#include "BKE_gpencil.h"
+
+#include "BLI_listbase.h"
+
+#include "ED_gpencil.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "gpencil_intern.h"
+
+#define MAXUNDONAME 64
+
+typedef struct bGPundonode {
+ struct bGPundonode *next, *prev;
+
+ char name[MAXUNDONAME];
+ struct bGPdata *gpd;
+} bGPundonode;
+
+static ListBase undo_nodes = {NULL, NULL};
+static bGPundonode *cur_node = NULL;
+
+int ED_gpencil_session_active(void)
+{
+ return undo_nodes.first != NULL;
+}
+
+int ED_undo_gpencil_step(bContext *C, int step, const char *name)
+{
+ bGPdata **gpd_ptr= NULL, *new_gpd= NULL;
+
+ gpd_ptr= gpencil_data_get_pointers(C, NULL);
+
+ if(step==1) { /* undo */
+ //printf("\t\tGP - undo step\n");
+ if(cur_node->prev) {
+ if(!name || strcmp(cur_node->name, name) == 0) {
+ cur_node= cur_node->prev;
+ new_gpd= cur_node->gpd;
+ }
+ }
+ }
+ else if (step==-1) {
+ //printf("\t\tGP - redo step\n");
+ if(cur_node->next) {
+ if(!name || strcmp(cur_node->name, name) == 0) {
+ cur_node= cur_node->next;
+ new_gpd= cur_node->gpd;
+ }
+ }
+ }
+
+ if(new_gpd) {
+ if(gpd_ptr) {
+ if(*gpd_ptr) {
+ bGPdata *gpd= *gpd_ptr;
+ bGPDlayer *gpl, *gpld;
+
+ free_gpencil_layers(&gpd->layers);
+
+ /* copy layers */
+ gpd->layers.first= gpd->layers.last= NULL;
+
+ for (gpl= new_gpd->layers.first; gpl; gpl= gpl->next) {
+ /* make a copy of source layer and its data */
+ gpld= gpencil_layer_duplicate(gpl);
+ BLI_addtail(&gpd->layers, gpld);
+ }
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCREEN|ND_GPENCIL|NA_EDITED, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void gpencil_undo_init(bGPdata *gpd)
+{
+ gpencil_undo_push(gpd);
+}
+
+void gpencil_undo_push(bGPdata *gpd)
+{
+ bGPundonode *undo_node;
+
+ //printf("\t\tGP - undo push\n");
+
+ if(cur_node) {
+ /* remove all un-done nodes from stack */
+ undo_node= cur_node->next;
+
+ while(undo_node) {
+ bGPundonode *next_node= undo_node->next;
+
+ free_gpencil_data(undo_node->gpd);
+ MEM_freeN(undo_node->gpd);
+
+ BLI_freelinkN(&undo_nodes, undo_node);
+
+ undo_node= next_node;
+ }
+ }
+
+ /* create new undo node */
+ undo_node= MEM_callocN(sizeof(bGPundonode), "gpencil undo node");
+ undo_node->gpd= gpencil_data_duplicate(gpd);
+
+ cur_node= undo_node;
+
+ BLI_addtail(&undo_nodes, undo_node);
+}
+
+void gpencil_undo_finish(void)
+{
+ bGPundonode *undo_node= undo_nodes.first;
+
+ while(undo_node) {
+ free_gpencil_data(undo_node->gpd);
+ MEM_freeN(undo_node->gpd);
+
+ undo_node= undo_node->next;
+ }
+
+ BLI_freelistN(&undo_nodes);
+
+ cur_node= NULL;
+}
diff --git a/source/blender/editors/include/BIF_glutil.h b/source/blender/editors/include/BIF_glutil.h
index c9615204607..27bd31c20ff 100644
--- a/source/blender/editors/include/BIF_glutil.h
+++ b/source/blender/editors/include/BIF_glutil.h
@@ -52,6 +52,8 @@ void fdrawXORcirc(float xofs, float yofs, float rad);
/* glStipple defines */
extern unsigned char stipple_halftone[128];
extern unsigned char stipple_quarttone[128];
+extern unsigned char stipple_diag_stripes_pos[128];
+extern unsigned char stipple_diag_stripes_neg[128];
/**
* Draw a lined (non-looping) arc with the given
diff --git a/source/blender/editors/include/ED_anim_api.h b/source/blender/editors/include/ED_anim_api.h
index 5ecbaeb1c87..b730913a368 100644
--- a/source/blender/editors/include/ED_anim_api.h
+++ b/source/blender/editors/include/ED_anim_api.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,6 +39,7 @@ struct bContext;
struct wmKeyConfig;
struct ReportList;
struct ScrArea;
+struct SpaceLink;
struct ARegion;
struct View2D;
@@ -56,6 +55,9 @@ struct FModifier;
struct uiBlock;
struct uiLayout;
+struct PointerRNA;
+struct PropertyRNA;
+
/* ************************************************ */
/* ANIMATION CHANNEL FILTERING */
/* anim_filter.c */
@@ -72,9 +74,12 @@ typedef struct bAnimContext {
short mode; /* editor->mode */
short spacetype; /* sa->spacetype */
short regiontype; /* active region -> type (channels or main) */
- struct ScrArea *sa; /* editor */
+ struct ScrArea *sa; /* editor host */
+ struct SpaceLink *sl; /* editor data */
struct ARegion *ar; /* region within editor */
+ struct bDopeSheet *ads; /* dopesheet data for editor (or which is being used) */
+
struct Scene *scene; /* active scene */
struct Object *obact; /* active object */
ListBase *markers; /* active set of markers */
@@ -83,7 +88,6 @@ typedef struct bAnimContext {
} bAnimContext;
/* Main Data container types */
-// XXX was ACTCONT_*
typedef enum eAnimCont_Types {
ANIMCONT_NONE = 0, /* invalid or no data */
ANIMCONT_ACTION, /* action (bAction) */
@@ -92,7 +96,8 @@ typedef enum eAnimCont_Types {
ANIMCONT_DOPESHEET, /* dopesheet (bDopesheet) */
ANIMCONT_FCURVES, /* animation F-Curves (bDopesheet) */
ANIMCONT_DRIVERS, /* drivers (bDopesheet) */
- ANIMCONT_NLA /* nla (bDopesheet) */
+ ANIMCONT_NLA, /* nla (bDopesheet) */
+ ANIMCONT_CHANNEL /* animation channel (bAnimListElem) */
} eAnimCont_Types;
/* --------------- Channels -------------------- */
@@ -108,17 +113,12 @@ typedef struct bAnimListElem {
int flag; /* copy of elem's flags for quick access */
int index; /* for un-named data, the index of the data in it's collection */
- short elemFlag; /* flags for the list elem instance (not the data it represents) */
-
short datatype; /* type of motion data to expect */
void *key_data; /* motion data - mostly F-Curves, but can be other types too */
struct ID *id; /* ID block that channel is attached to */
struct AnimData *adt; /* source of the animation data attached to ID block (for convenience) */
-
- void *owner; /* group or channel which acts as this channel's owner */
- short ownertype; /* type of owner */
} bAnimListElem;
@@ -126,7 +126,6 @@ typedef struct bAnimListElem {
* NOTE: need to keep the order of these synchronised with the channels define code
* which is used for drawing and handling channel lists for
*/
-// XXX was ACTTYPE_*
typedef enum eAnim_ChannelType {
ANIMTYPE_NONE= 0,
ANIMTYPE_ANIMDATA,
@@ -141,9 +140,6 @@ typedef enum eAnim_ChannelType {
ANIMTYPE_FILLACTD,
ANIMTYPE_FILLDRIVERS,
- ANIMTYPE_FILLMATD,
- ANIMTYPE_FILLPARTD,
- ANIMTYPE_FILLTEXD,
ANIMTYPE_DSMAT,
ANIMTYPE_DSLAM,
@@ -158,6 +154,7 @@ typedef enum eAnim_ChannelType {
ANIMTYPE_DSMESH,
ANIMTYPE_DSTEX,
ANIMTYPE_DSLAT,
+ ANIMTYPE_DSSPK,
ANIMTYPE_SHAPEKEY,
@@ -187,28 +184,44 @@ typedef enum eAnim_KeyType {
/* ----------------- Filtering -------------------- */
-/* filtering flags - under what circumstances should a channel be added */
-// XXX was ACTFILTER_*
+/* filtering flags - under what circumstances should a channel be returned */
typedef enum eAnimFilter_Flags {
- ANIMFILTER_VISIBLE = (1<<0), /* should channels be visible (in terms of hierarchy only) */
- ANIMFILTER_SEL = (1<<1), /* should channels be selected */
- ANIMFILTER_UNSEL = (1<<2), /* should channels be NOT selected */
- ANIMFILTER_FOREDIT = (1<<3), /* does editable status matter */
- ANIMFILTER_CURVESONLY = (1<<4), /* don't include summary-channels, etc. */
- ANIMFILTER_CHANNELS = (1<<5), /* make list for interface drawing */
- ANIMFILTER_ACTGROUPED = (1<<6), /* belongs to the active actiongroup */
- ANIMFILTER_CURVEVISIBLE = (1<<7), /* F-Curve is visible for editing/viewing in Graph Editor */
- ANIMFILTER_ACTIVE = (1<<8), /* channel should be 'active' */
- ANIMFILTER_ANIMDATA = (1<<9), /* only return the underlying AnimData blocks (not the tracks, etc.) data comes from */
- ANIMFILTER_NLATRACKS = (1<<10), /* only include NLA-tracks */
- ANIMFILTER_SELEDIT = (1<<11), /* link editability with selected status */
- ANIMFILTER_NODUPLIS = (1<<12), /* duplicate entries for animation data attached to multi-user blocks must not occur */
+ /* data which channel represents is fits the dopesheet filters (i.e. scene visibility criteria) */
+ // XXX: it's hard to think of any examples where this *ISN'T* the case... perhaps becomes implicit?
+ ANIMFILTER_DATA_VISIBLE = (1<<0),
+ /* channel is visible within the channel-list hierarchy (i.e. F-Curves within Groups in ActEdit) */
+ ANIMFILTER_LIST_VISIBLE = (1<<1),
+ /* channel has specifically been tagged as visible in Graph Editor (* Graph Editor Only) */
+ ANIMFILTER_CURVE_VISIBLE = (1<<2),
+
+ /* include summary channels and "expanders" (for drawing/mouse-selection in channel list) */
+ ANIMFILTER_LIST_CHANNELS = (1<<3),
+
+ /* for its type, channel should be "active" one */
+ ANIMFILTER_ACTIVE = (1<<4),
+ /* channel is a child of the active group (* Actions speciality) */
+ ANIMFILTER_ACTGROUPED = (1<<5),
+
+ /* channel must be selected/not-selected, but both must not be set together */
+ ANIMFILTER_SEL = (1<<6),
+ ANIMFILTER_UNSEL = (1<<7),
- /* all filters - the power inside the bracket must be the last power for left-shifts + 1 */
- ANIMFILTER_ALLFILTERS = ((1<<12) - 1)
+ /* editability status - must be editable to be included */
+ ANIMFILTER_FOREDIT = (1<<8),
+ /* only selected animchannels should be considerable as editable - mainly for Graph Editor's option for keys on select curves only */
+ ANIMFILTER_SELEDIT = (1<<9),
+
+ /* flags used to enforce certain data types */
+ // NOTE: the ones for curves and NLA tracks were redundant and have been removed for now...
+ ANIMFILTER_ANIMDATA = (1<<10),
+
+ /* duplicate entries for animation data attached to multi-user blocks must not occur */
+ ANIMFILTER_NODUPLIS = (1<<11),
+
+ /* for checking if we should keep some collapsed channel around (internal use only!) */
+ ANIMFILTER_TMP_PEEK = (1<<30)
} eAnimFilter_Flags;
-
/* ---------- Flag Checking Macros ------------ */
// xxx check on all of these flags again...
@@ -218,13 +231,9 @@ typedef enum eAnimFilter_Flags {
#define EXPANDED_SCEC(sce) ((sce->flag & SCE_DS_COLLAPSED)==0)
/* 'Sub-Scene' channels (flags stored in Data block) */
#define FILTER_WOR_SCED(wo) ((wo->flag & WO_DS_EXPAND))
-#define FILTER_NTREE_SCED(ntree) ((ntree->flag & NTREE_DS_EXPAND))
/* 'Object' channels */
#define SEL_OBJC(base) ((base->flag & SELECT))
#define EXPANDED_OBJC(ob) ((ob->nlaflag & OB_ADS_COLLAPSED)==0)
- /* 'Sub-object' channels (flags stored in Object block) */
-#define FILTER_MAT_OBJC(ob) ((ob->nlaflag & OB_ADS_SHOWMATS))
-#define FILTER_PART_OBJC(ob) ((ob->nlaflag & OB_ADS_SHOWPARTS))
/* 'Sub-object' channels (flags stored in Data block) */
#define FILTER_SKE_OBJD(key) ((key->flag & KEY_DS_EXPAND))
#define FILTER_MAT_OBJD(ma) ((ma->flag & MA_DS_EXPAND))
@@ -236,28 +245,28 @@ typedef enum eAnimFilter_Flags {
#define FILTER_ARM_OBJD(arm) ((arm->flag & ARM_DS_EXPAND))
#define FILTER_MESH_OBJD(me) ((me->flag & ME_DS_EXPAND))
#define FILTER_LATTICE_OBJD(lt) ((lt->flag & LT_DS_EXPAND))
+#define FILTER_SPK_OBJD(spk) ((spk->flag & SPK_DS_EXPAND))
+ /* Variable use expanders */
+#define FILTER_NTREE_DATA(ntree) ((ntree->flag & NTREE_DS_EXPAND))
+#define FILTER_TEX_DATA(tex) ((tex->flag & TEX_DS_EXPAND))
/* 'Sub-object/Action' channels (flags stored in Action) */
#define SEL_ACTC(actc) ((actc->flag & ACT_SELECTED))
#define EXPANDED_ACTC(actc) ((actc->flag & ACT_COLLAPSED)==0)
/* 'Sub-AnimData' channels */
#define EXPANDED_DRVD(adt) ((adt->flag & ADT_DRIVERS_COLLAPSED)==0)
- /* Texture expanders */
-#define FILTER_TEX_MATC(ma) ((ma->flag & MA_DS_SHOW_TEXS))
-#define FILTER_TEX_LAMC(la) ((la->flag & LA_DS_SHOW_TEXS))
-#define FILTER_TEX_WORC(wa) ((wo->flag & WO_DS_SHOW_TEXS))
-#define FILTER_TEX_DATA(tex) ((tex->flag & TEX_DS_EXPAND))
+
/* Actions (also used for Dopesheet) */
/* Action Channel Group */
#define EDITABLE_AGRP(agrp) ((agrp->flag & AGRP_PROTECTED)==0)
#define EXPANDED_AGRP(ac, agrp) \
- ( ( ((ac)->spacetype == SPACE_IPO) && (agrp->flag & AGRP_EXPANDED_G) ) || \
- ( ((ac)->spacetype != SPACE_IPO) && (agrp->flag & AGRP_EXPANDED) ) )
+ ( ((!(ac) || ((ac)->spacetype != SPACE_IPO)) && (agrp->flag & AGRP_EXPANDED)) || \
+ (( (ac) && ((ac)->spacetype == SPACE_IPO)) && (agrp->flag & AGRP_EXPANDED_G)) )
#define SEL_AGRP(agrp) ((agrp->flag & AGRP_SELECTED) || (agrp->flag & AGRP_ACTIVE))
/* F-Curve Channels */
#define EDITABLE_FCU(fcu) ((fcu->flag & FCURVE_PROTECTED)==0)
-#define SEL_FCU(fcu) (fcu->flag & (FCURVE_ACTIVE|FCURVE_SELECTED))
+#define SEL_FCU(fcu) (fcu->flag & FCURVE_SELECTED)
/* ShapeKey mode only */
#define EDITABLE_SHAPEKEY(kb) ((kb->flag & KEYBLOCK_LOCKED)==0)
@@ -268,7 +277,7 @@ typedef enum eAnimFilter_Flags {
#define EXPANDED_GPD(gpd) (gpd->flag & GP_DATA_EXPAND)
/* Grease Pencil Layer settings */
#define EDITABLE_GPL(gpl) ((gpl->flag & GP_LAYER_LOCKED)==0)
-#define SEL_GPL(gpl) ((gpl->flag & GP_LAYER_ACTIVE) || (gpl->flag & GP_LAYER_SELECT))
+#define SEL_GPL(gpl) (gpl->flag & GP_LAYER_SELECT)
/* NLA only */
#define SEL_NLT(nlt) (nlt->flag & NLATRACK_SELECTED)
@@ -293,11 +302,12 @@ typedef enum eAnimFilter_Flags {
/* -------------- NLA Channel Defines -------------- */
/* NLA channel heights */
-#define NLACHANNEL_FIRST -16
-#define NLACHANNEL_HEIGHT 24
-#define NLACHANNEL_HEIGHT_HALF 12
-#define NLACHANNEL_SKIP 2
-#define NLACHANNEL_STEP (NLACHANNEL_HEIGHT + NLACHANNEL_SKIP)
+// XXX: NLACHANNEL_FIRST isn't used?
+#define NLACHANNEL_FIRST -16
+#define NLACHANNEL_HEIGHT(snla) ((snla && (snla->flag & SNLA_NOSTRIPCURVES)) ? 16 : 24)
+#define NLACHANNEL_HEIGHT_HALF(snla) ((snla && (snla->flag & SNLA_NOSTRIPCURVES)) ? 8 : 12)
+#define NLACHANNEL_SKIP 2
+#define NLACHANNEL_STEP(snla) (NLACHANNEL_HEIGHT(snla) + NLACHANNEL_SKIP)
/* channel widths */
#define NLACHANNEL_NAMEWIDTH 200
@@ -310,7 +320,7 @@ typedef enum eAnimFilter_Flags {
/* Obtain list of filtered Animation channels to operate on.
* Returns the number of channels in the list
*/
-int ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype);
+size_t ANIM_animdata_filter(bAnimContext *ac, ListBase *anim_data, int filter_mode, void *data, short datatype);
/* Obtain current anim-data context from Blender Context info.
* Returns whether the operation was successful.
@@ -366,6 +376,8 @@ typedef struct bAnimChannelType {
/* get name (for channel lists) */
void (*name)(bAnimListElem *ale, char *name);
+ /* get RNA property+pointer for editing the name */
+ short (*name_prop)(bAnimListElem *ale, struct PointerRNA *ptr, struct PropertyRNA **prop);
/* get icon (for channel lists) */
int (*icon)(bAnimListElem *ale);
@@ -392,7 +404,7 @@ void ANIM_channel_debug_print_info(bAnimListElem *ale, short indent_level);
/* Draw the given channel */
void ANIM_channel_draw(bAnimContext *ac, bAnimListElem *ale, float yminc, float ymaxc);
/* Draw the widgets for the given channel */
-void ANIM_channel_draw_widgets(bAnimContext *ac, bAnimListElem *ale, struct uiBlock *block, float yminc, float ymaxc);
+void ANIM_channel_draw_widgets(struct bContext *C, bAnimContext *ac, bAnimListElem *ale, struct uiBlock *block, float yminc, float ymaxc, size_t channel_index);
/* ------------------------ Editing API -------------------------- */
@@ -451,7 +463,9 @@ enum {
/* time indication in seconds or frames */
DRAWCFRA_UNIT_SECONDS = (1<<1),
/* show time-offset line */
- DRAWCFRA_SHOW_TIMEOFS = (1<<2)
+ DRAWCFRA_SHOW_TIMEOFS = (1<<2),
+ /* draw indicator extra wide (for timeline) */
+ DRAWCFRA_WIDE = (1<<3)
} eAnimEditDraw_CurrentFrame;
/* main call to draw current-frame indicator in an Animation Editor */
diff --git a/source/blender/editors/include/ED_curve.h b/source/blender/editors/include/ED_curve.h
index 6a92ee2e056..d78d2846572 100644
--- a/source/blender/editors/include/ED_curve.h
+++ b/source/blender/editors/include/ED_curve.h
@@ -71,6 +71,7 @@ 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 e5715316a31..bfd16487ae5 100644
--- a/source/blender/editors/include/ED_gpencil.h
+++ b/source/blender/editors/include/ED_gpencil.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -108,4 +106,8 @@ void paste_gpdata(void);
void snap_gplayer_frames(struct bGPDlayer *gpl, short mode);
void mirror_gplayer_frames(struct bGPDlayer *gpl, short mode);
+/* ------------ Grease-Pencil Undo System ------------------ */
+int ED_gpencil_session_active(void);
+int ED_undo_gpencil_step(struct bContext *C, int step, const char *name);
+
#endif /* ED_GPENCIL_H */
diff --git a/source/blender/editors/include/ED_keyframes_draw.h b/source/blender/editors/include/ED_keyframes_draw.h
index 3c1bb814c82..91723a1a33f 100644
--- a/source/blender/editors/include/ED_keyframes_draw.h
+++ b/source/blender/editors/include/ED_keyframes_draw.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/include/ED_keyframes_edit.h b/source/blender/editors/include/ED_keyframes_edit.h
index e6fe7efbaba..5881e8c4bfe 100644
--- a/source/blender/editors/include/ED_keyframes_edit.h
+++ b/source/blender/editors/include/ED_keyframes_edit.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -35,6 +33,7 @@
struct bAnimContext;
struct bAnimListElem;
+struct bDopeSheet;
struct FCurve;
struct BezTriple;
struct Scene;
@@ -187,11 +186,11 @@ short ANIM_fcurve_keyframes_loop(KeyframeEditData *ked, struct FCurve *fcu, Keyf
/* function for working with any type (i.e. one of the known types) of animation channel
* - filterflag is bDopeSheet->flag (DOPESHEET_FILTERFLAG)
*/
-short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, struct bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag);
+short ANIM_animchannel_keyframes_loop(KeyframeEditData *ked, struct bDopeSheet *ads, struct bAnimListElem *ale, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb);
/* same as above, except bAnimListElem wrapper is not needed...
* - keytype is eAnim_KeyType
*/
-short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb, int filterflag);
+short ANIM_animchanneldata_keyframes_loop(KeyframeEditData *ked, struct bDopeSheet *ads, void *data, int keytype, KeyframeEditFunc key_ok, KeyframeEditFunc key_cb, FcuEditFunc fcu_cb);
/* functions for making sure all keyframes are in good order */
void ANIM_editkeyframes_refresh(struct bAnimContext *ac);
diff --git a/source/blender/editors/include/ED_keyframing.h b/source/blender/editors/include/ED_keyframing.h
index 294b9b8475a..cda3c4f3e71 100644
--- a/source/blender/editors/include/ED_keyframing.h
+++ b/source/blender/editors/include/ED_keyframing.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -178,6 +176,9 @@ typedef enum eModifyKey_Returns {
MODIFYKEY_MISSING_TYPEINFO = -2,
} eModifyKey_Returns;
+/* poll the current KeyingSet, updating it's set of paths (if "builtin"/"relative") for context changes */
+short ANIM_validate_keyingset(struct bContext *C, ListBase *dsources, struct KeyingSet *ks);
+
/* use the specified KeyingSet to add/remove various Keyframes on the specified frame */
int ANIM_apply_keyingset(struct bContext *C, ListBase *dsources, struct bAction *act, struct KeyingSet *ks, short mode, float cfra);
@@ -225,6 +226,13 @@ typedef enum eCreateDriverFlags {
/* -------- */
+/* Low-level call to add a new driver F-Curve. This shouldn't be used directly for most tools,
+ * although there are special cases where this approach is preferable.
+ */
+struct FCurve *verify_driver_fcurve(struct ID *id, const char rna_path[], const int array_index, short add);
+
+/* -------- */
+
/* Returns whether there is a driver in the copy/paste buffer to paste */
short ANIM_driver_can_paste(void);
diff --git a/source/blender/editors/include/ED_markers.h b/source/blender/editors/include/ED_markers.h
index f804e052301..30a0d47eda2 100644
--- a/source/blender/editors/include/ED_markers.h
+++ b/source/blender/editors/include/ED_markers.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -34,6 +32,7 @@
#define ED_MARKERS_H
struct wmKeyConfig;
+struct wmKeyMap;
struct bContext;
struct bAnimContext;
struct Scene;
@@ -72,6 +71,9 @@ void ED_operatortypes_marker(void);
/* called in screen_ops.c:ED_keymap_screen() */
void ED_marker_keymap(struct wmKeyConfig *keyconf);
+/* called in animation editors - keymap defines */
+void ED_marker_keymap_animedit_conflictfree(struct wmKeyMap *keymap);
+
/* debugging only */
void debug_markers_print_list(struct ListBase *markers);
diff --git a/source/blender/editors/include/ED_node.h b/source/blender/editors/include/ED_node.h
index 829ad3217a9..1cbf45960d3 100644
--- a/source/blender/editors/include/ED_node.h
+++ b/source/blender/editors/include/ED_node.h
@@ -33,17 +33,22 @@
#ifndef ED_NODE_H
#define ED_NODE_H
+struct ID;
+struct Main;
struct Material;
struct Scene;
struct Tex;
struct bContext;
+struct bNodeTree;
struct bNode;
-struct ID;
+struct bNodeTree;
+struct ScrArea;
/* drawnode.c */
void ED_init_node_butfuncs(void);
/* node_draw.c */
+void ED_node_tree_update(struct SpaceNode *snode, struct Scene *scene);
void ED_node_changed_update(struct ID *id, struct bNode *node);
void ED_node_generic_update(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
@@ -51,7 +56,12 @@ 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);
+
+void ED_node_update_hierarchy(struct bContext *C, struct bNodeTree *ntree);
+void ED_node_set_active(struct Main *bmain, struct bNodeTree *ntree, struct bNode *node);
/* 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 28d0a9520b2..c646ec55506 100644
--- a/source/blender/editors/include/ED_object.h
+++ b/source/blender/editors/include/ED_object.h
@@ -108,7 +108,7 @@ int ED_object_add_generic_get_opts(struct bContext *C, struct wmOperator *op, fl
struct Object *ED_object_add_type(struct bContext *C, int type, float *loc, float *rot, int enter_editmode, unsigned int layer);
void ED_object_single_users(struct Main *bmain, struct Scene *scene, int full);
-
+void ED_object_single_user(struct Scene *scene, struct Object *ob);
/* object motion paths */
void ED_objects_clear_paths(struct bContext *C);
diff --git a/source/blender/editors/include/ED_sequencer.h b/source/blender/editors/include/ED_sequencer.h
index cd22a5c6ca4..5be1403c97b 100644
--- a/source/blender/editors/include/ED_sequencer.h
+++ b/source/blender/editors/include/ED_sequencer.h
@@ -31,8 +31,4 @@
#define SEQ_ZOOM_FAC(szoom) ((szoom) > 0.0f)? (szoom) : ((szoom) == 0.0f)? (1.0f) : (-1.0f/(szoom))
-
-/* in space_sequencer.c, for rna update function */
-void ED_sequencer_update_view(bContext *C, int view);
-
#endif /* ED_SEQUENCER_H */
diff --git a/source/blender/editors/include/ED_transform.h b/source/blender/editors/include/ED_transform.h
index d4d7f971b74..00ae7dda2e3 100644
--- a/source/blender/editors/include/ED_transform.h
+++ b/source/blender/editors/include/ED_transform.h
@@ -148,6 +148,7 @@ void BIF_selectOrientation(void);
#define P_ALIGN_SNAP (P_GEO_SNAP|(1 << 5))
#define P_CONSTRAINT (1 << 6)
#define P_OPTIONS (1 << 7)
+#define P_CORRECT_UV (1 << 8)
void Transform_Properties(struct wmOperatorType *ot, int flags);
diff --git a/source/blender/editors/include/ED_view3d.h b/source/blender/editors/include/ED_view3d.h
index 0adf6633b05..f8682d3935b 100644
--- a/source/blender/editors/include/ED_view3d.h
+++ b/source/blender/editors/include/ED_view3d.h
@@ -265,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);
@@ -287,7 +288,7 @@ unsigned int ED_viewedit_datamask(struct bScreen *screen);
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);
+/* copy the view to the camera, return TRUE if */
+int ED_view3d_camera_lock_sync(struct View3D *v3d, struct RegionView3D *rv3d);
#endif /* ED_VIEW3D_H */
diff --git a/source/blender/editors/include/UI_icons.h b/source/blender/editors/include/UI_icons.h
index 25e20909f34..b4263935407 100644
--- a/source/blender/editors/include/UI_icons.h
+++ b/source/blender/editors/include/UI_icons.h
@@ -322,8 +322,8 @@ DEF_ICON(OUTLINER_OB_CAMERA)
DEF_ICON(OUTLINER_OB_ARMATURE)
DEF_ICON(OUTLINER_OB_FONT)
DEF_ICON(OUTLINER_OB_SURFACE)
+DEF_ICON(OUTLINER_OB_SPEAKER)
#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK119)
DEF_ICON(BLANK120)
DEF_ICON(BLANK121)
DEF_ICON(BLANK122)
@@ -354,9 +354,9 @@ DEF_ICON(OUTLINER_DATA_CAMERA)
DEF_ICON(OUTLINER_DATA_ARMATURE)
DEF_ICON(OUTLINER_DATA_FONT)
DEF_ICON(OUTLINER_DATA_SURFACE)
+DEF_ICON(OUTLINER_DATA_SPEAKER)
DEF_ICON(OUTLINER_DATA_POSE)
#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK129)
DEF_ICON(BLANK130)
DEF_ICON(BLANK131)
DEF_ICON(BLANK132)
@@ -632,21 +632,20 @@ DEF_ICON(MARKER_HLT)
DEF_ICON(MARKER)
DEF_ICON(SPACE2) // XXX
DEF_ICON(SPACE3) // XXX
-#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK181)
-#endif
+DEF_ICON(KEYINGSET)
DEF_ICON(KEY_DEHLT)
DEF_ICON(KEY_HLT)
DEF_ICON(MUTE_IPO_OFF)
DEF_ICON(MUTE_IPO_ON)
-#ifndef DEF_ICON_BLANK_SKIP
- DEF_ICON(BLANK182)
- DEF_ICON(BLANK183)
- DEF_ICON(BLANK183b)
+DEF_ICON(VISIBLE_IPO_OFF)
+DEF_ICON(VISIBLE_IPO_ON)
+DEF_ICON(DRIVER)
+ /* ANIMATION */
+DEF_ICON(SOLO_OFF)
+DEF_ICON(SOLO_ON)
+#ifndef DEF_ICON_BLANK_SKIP
/* available */
- DEF_ICON(BLANK184)
- DEF_ICON(BLANK185)
DEF_ICON(BLANK186)
DEF_ICON(BLANK187)
DEF_ICON(BLANK188)
diff --git a/source/blender/editors/include/UI_interface.h b/source/blender/editors/include/UI_interface.h
index 1a26079800c..3fe012ea73e 100644
--- a/source/blender/editors/include/UI_interface.h
+++ b/source/blender/editors/include/UI_interface.h
@@ -164,6 +164,9 @@ typedef struct uiLayout uiLayout;
/* scale fixed button widths by this to account for DPI
* 8.4852 == sqrtf(72.0f)) */
#define UI_DPI_FAC (sqrtf((float)U.dpi) / 8.48528137423857f)
+#define UI_DPI_ICON_FAC (((float)U.dpi) / 72.0f)
+/* 16 to copy ICON_DEFAULT_HEIGHT */
+#define UI_DPI_ICON_SIZE ((float)16 * UI_DPI_ICON_FAC)
/* Button types, bits stored in 1 value... and a short even!
- bits 0-4: bitnr (0-31)
@@ -298,10 +301,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);
@@ -405,6 +410,7 @@ uiBut *uiDefButBitS(uiBlock *block, int type, int bit, int retval, const char *s
uiBut *uiDefButC(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip);
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip);
@@ -424,6 +430,7 @@ uiBut *uiDefIconButBitS(uiBlock *block, int type, int bit, int retval, int icon,
uiBut *uiDefIconButC(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip);
uiBut *uiDefIconTextBut(uiBlock *block,
@@ -442,6 +449,7 @@ uiBut *uiDefIconTextButBitS(uiBlock *block, int type, int bit, int retval, int i
uiBut *uiDefIconTextButC(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, char *poin, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip);
+uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip);
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip);
/* for passing inputs to ButO buttons */
diff --git a/source/blender/editors/include/UI_resources.h b/source/blender/editors/include/UI_resources.h
index 2311aafbb17..d383bc0ab78 100644
--- a/source/blender/editors/include/UI_resources.h
+++ b/source/blender/editors/include/UI_resources.h
@@ -183,10 +183,12 @@ enum {
TH_HANDLE_AUTO,
TH_HANDLE_VECT,
TH_HANDLE_ALIGN,
+ TH_HANDLE_AUTOCLAMP,
TH_HANDLE_SEL_FREE,
TH_HANDLE_SEL_AUTO,
TH_HANDLE_SEL_VECT,
TH_HANDLE_SEL_ALIGN,
+ TH_HANDLE_SEL_AUTOCLAMP,
TH_ACTIVE_SPLINE,
TH_LASTSEL_POINT,
@@ -204,6 +206,8 @@ enum {
TH_STRIP_SELECT,
TH_LAMP,
+
+ TH_SPEAKER,
TH_NODE,
TH_NODE_IN_OUT,
@@ -242,7 +246,9 @@ enum {
TH_DRAWEXTRA_EDGELEN,
TH_DRAWEXTRA_FACEAREA,
- TH_DRAWEXTRA_FACEANG
+ TH_DRAWEXTRA_FACEANG,
+
+ TH_NODE_CURVING
};
/* XXX WARNING: previous is saved in file, so do not change order! */
diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 6dd7af70e33..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
diff --git a/source/blender/editors/interface/interface.c b/source/blender/editors/interface/interface.c
index a21122698d9..0dee7a3813a 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
*
@@ -463,27 +470,39 @@ static int ui_but_float_precision(uiBut *but, double value)
* _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) {
- double prec_d= -(log10(value));
- double prec_d_floor = floor(prec_d + FLT_EPSILON);
- int test_prec= (int)prec_d_floor;
-
- /* this check is so 0.00016 from isnt rounded to 0.0001 */
- if(prec_d - prec_d_floor > FLT_EPSILON) { /* not ending with a .0~001 */
- /* check if a second decimal place is needed 0.00015 for eg. */
- if(double_round(value, test_prec + 1) - double_round(value, test_prec + 2) != 0.0) {
- test_prec += 2;
+ 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--;
}
- else {
- test_prec += 1;
+
+ /* 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 && test_prec <= 7) {
- prec= test_prec;
+ if(test_prec > prec) {
+ prec= test_prec;
+ }
}
}
- CLAMP(prec, 1, 7);
+ CLAMP(prec, 1, PRECISION_FLOAT_MAX);
return prec;
}
@@ -691,6 +710,27 @@ int uiButActiveOnly(const bContext *C, uiBlock *block, uiBut *but)
return 1;
}
+/* use to check if we need to disable undo, but dont make any changes
+ * returns FALSE if undo needs to be disabled. */
+static int ui_but_is_rna_undo(uiBut *but)
+{
+ if(but->rnapoin.id.data) {
+ /* avoid undo push for buttons who's ID are screen or wm level
+ * we could disable undo for buttons with no ID too but may have
+ * unforseen conciquences, so best check for ID's we _know_ are not
+ * handled by undo - campbell */
+ ID *id= but->rnapoin.id.data;
+ if(ELEM(GS(id->name), ID_SCR, ID_WM)) {
+ return FALSE;
+ }
+ else {
+ return TRUE;
+ }
+ }
+
+ return TRUE;
+}
+
/* assigns automatic keybindings to menu items for fast access
* (underline key in menu) */
static void ui_menu_block_set_keyaccels(uiBlock *block)
@@ -952,17 +992,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;
}
@@ -982,24 +1021,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:
@@ -1227,14 +1266,14 @@ int ui_is_but_float(uiBut *but)
int ui_is_but_unit(uiBut *but)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
- int unit_type= uiButGetUnitType(but);
+ UnitSettings *unit= but->block->unit;
+ const int unit_type= uiButGetUnitType(but);
if(unit_type == PROP_UNIT_NONE)
return 0;
#if 1 // removed so angle buttons get correct snapping
- if (scene->unit.system_rotation == USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
+ if (unit->system_rotation == USER_UNIT_ROT_RADIANS && unit_type == PROP_UNIT_ROTATION)
return 0;
#endif
@@ -1242,7 +1281,7 @@ int ui_is_but_unit(uiBut *but)
if (unit_type == PROP_UNIT_TIME)
return 0;
- if (scene->unit.system == USER_UNIT_NONE) {
+ if (unit->system == USER_UNIT_NONE) {
if (unit_type != PROP_UNIT_ROTATION) {
return 0;
}
@@ -1275,19 +1314,19 @@ double ui_get_but_val(uiBut *but)
switch(RNA_property_type(prop)) {
case PROP_BOOLEAN:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_boolean_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_boolean_get(&but->rnapoin, prop);
break;
case PROP_INT:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_int_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_int_get(&but->rnapoin, prop);
break;
case PROP_FLOAT:
- if(RNA_property_array_length(&but->rnapoin, prop))
+ if(RNA_property_array_check(prop))
value= RNA_property_float_get_index(&but->rnapoin, prop, but->rnaindex);
else
value= RNA_property_float_get(&but->rnapoin, prop);
@@ -1370,6 +1409,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 ) {
@@ -1410,19 +1453,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)
@@ -1437,19 +1480,20 @@ int ui_get_but_string_max_length(uiBut *but)
static double ui_get_but_scale_unit(uiBut *but, double value)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but);
if(unit_type == PROP_UNIT_LENGTH) {
- return value * (double)scene->unit.scale_length;
+ return value * (double)unit->scale_length;
}
else if(unit_type == PROP_UNIT_AREA) {
- return value * pow(scene->unit.scale_length, 2);
+ return value * pow(unit->scale_length, 2);
}
else if(unit_type == PROP_UNIT_VOLUME) {
- return value * pow(scene->unit.scale_length, 3);
+ return value * pow(unit->scale_length, 3);
}
else if(unit_type == PROP_UNIT_TIME) { /* WARNING - using evil_C :| */
+ Scene *scene= CTX_data_scene(but->block->evil_C);
return FRA2TIME(value);
}
else {
@@ -1461,14 +1505,14 @@ static double ui_get_but_scale_unit(uiBut *but, double value)
void ui_convert_to_unit_alt_name(uiBut *but, char *str, int maxlen)
{
if(ui_is_but_unit(but)) {
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but);
char *orig_str;
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
orig_str= MEM_callocN(sizeof(char)*maxlen + 1, "textedit sub str");
memcpy(orig_str, str, maxlen);
- bUnit_ToUnitAltName(str, maxlen, orig_str, scene->unit.system, unit_type>>16);
+ bUnit_ToUnitAltName(str, maxlen, orig_str, unit->system, unit_type>>16);
MEM_freeN(orig_str);
}
@@ -1476,27 +1520,26 @@ void ui_convert_to_unit_alt_name(uiBut *but, char *str, int maxlen)
static void ui_get_but_string_unit(uiBut *but, char *str, int len_max, double value, int pad)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
- int do_split= scene->unit.flag & USER_UNIT_OPT_SPLIT;
+ UnitSettings *unit= but->block->unit;
+ int do_split= unit->flag & USER_UNIT_OPT_SPLIT;
int unit_type= uiButGetUnitType(but);
int precision= but->a2;
- if(scene->unit.scale_length<0.0001f) scene->unit.scale_length= 1.0f; // XXX do_versions
+ if(unit->scale_length<0.0001f) 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);
+ bUnit_AsString(str, len_max, ui_get_but_scale_unit(but, value), precision, unit->system, unit_type>>16, do_split, pad);
}
static float ui_get_but_step_unit(uiBut *but, float step_default)
{
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
int unit_type= uiButGetUnitType(but)>>16;
float step;
- step = bUnit_ClosestScalar(ui_get_but_scale_unit(but, step_default), scene->unit.system, unit_type);
+ step = bUnit_ClosestScalar(ui_get_but_scale_unit(but, step_default), but->block->unit->system, unit_type);
if(step > 0.0f) { /* -1 is an error value */
return (float)((double)step/ui_get_but_scale_unit(but, 1.0))*100.0f;
@@ -1584,12 +1627,11 @@ static int ui_set_but_string_eval_num_unit(bContext *C, uiBut *but, const char *
{
char str_unit_convert[256];
const int unit_type= uiButGetUnitType(but);
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
BLI_strncpy(str_unit_convert, str, sizeof(str_unit_convert));
/* ugly, use the draw string to get the value, this could cause problems if it includes some text which resolves to a unit */
- bUnit_ReplaceString(str_unit_convert, sizeof(str_unit_convert), but->drawstr, ui_get_but_scale_unit(but, 1.0), scene->unit.system, unit_type>>16);
+ bUnit_ReplaceString(str_unit_convert, sizeof(str_unit_convert), but->drawstr, ui_get_but_scale_unit(but, 1.0), but->block->unit->system, unit_type>>16);
return (BPY_button_exec(C, str_unit_convert, value, TRUE) != -1);
}
@@ -1679,6 +1721,10 @@ int ui_set_but_string(bContext *C, uiBut *but, const char *str)
/* driver expression */
return 1;
}
+ else if(str[0]=='#') {
+ /* shortcut to create new driver expression (versus immediate Py-execution) */
+ return ui_but_anim_expression_create(but, str+1);
+ }
else {
/* number editing */
double value;
@@ -1718,7 +1764,7 @@ void ui_set_but_default(bContext *C, short all)
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;
@@ -1731,7 +1777,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;
@@ -1743,50 +1789,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;
@@ -1916,7 +1982,10 @@ uiBlock *uiBeginBlock(const bContext *C, ARegion *region, const char *name, shor
block->active= 1;
block->dt= dt;
block->evil_C= (void*)C; // XXX
- if (scn) block->color_profile= (scn->r.color_mgt_flag & R_COLOR_MANAGEMENT);
+ if (scn) {
+ block->color_profile= (scn->r.color_mgt_flag & R_COLOR_MANAGEMENT);
+ block->unit= &scn->unit;
+ }
BLI_strncpy(block->name, name, sizeof(block->name));
if(region)
@@ -1959,17 +2028,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 ) {
@@ -1978,17 +2049,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)) {
@@ -1999,14 +2073,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;
@@ -2023,7 +2097,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;
@@ -2033,7 +2107,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);
@@ -2064,7 +2138,7 @@ void ui_check_but(uiBut *but)
case LABEL:
if(ui_is_but_float(but)) {
int prec;
- value= ui_get_but_val(but);
+ 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);
}
@@ -2090,8 +2164,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;
@@ -2441,138 +2517,139 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
return but;
}
-static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
+/* ui_def_but_rna_propname and ui_def_but_rna
+ * both take the same args except for propname vs prop, this is done so we can
+ * avoid an extra lookup on 'prop' when its already available.
+ *
+ * When this kind of change won't disrupt branches, best look into making more
+ * of our UI functions take prop rather then propname.
+ */
+
+#define UI_DEF_BUT_RNA_DISABLE(but) \
+ but->flag |= UI_BUT_DISABLED; \
+ but->lock = 1; \
+ but->lockstr = ""
+
+
+static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
{
+ const PropertyType proptype= RNA_property_type(prop);
uiBut *but;
- PropertyRNA *prop;
- PropertyType proptype;
int freestr= 0, icon= 0;
- prop= RNA_struct_find_property(ptr, propname);
-
- if(prop) {
- proptype= RNA_property_type(prop);
-
- /* use rna values if parameters are not specified */
- if(!str) {
- if(type == MENU && proptype == PROP_ENUM) {
- EnumPropertyItem *item;
- DynStr *dynstr;
- int i, totitem, value, free;
-
- RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
- value= RNA_property_enum_get(ptr, prop);
-
- dynstr= BLI_dynstr_new();
- BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop));
- for(i=0; i<totitem; i++) {
- if(!item[i].identifier[0]) {
- if(item[i].name)
- BLI_dynstr_appendf(dynstr, "|%s%%l", item[i].name);
- else
- BLI_dynstr_append(dynstr, "|%l");
- }
- else if(item[i].icon)
- BLI_dynstr_appendf(dynstr, "|%s %%i%d %%x%d", item[i].name, item[i].icon, item[i].value);
+ /* use rna values if parameters are not specified */
+ if(!str) {
+ if(type == MENU && proptype == PROP_ENUM) {
+ EnumPropertyItem *item;
+ DynStr *dynstr;
+ int i, totitem, value, free;
+
+ RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
+ value= RNA_property_enum_get(ptr, prop);
+
+ dynstr= BLI_dynstr_new();
+ BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop));
+ for(i=0; i<totitem; i++) {
+ if(!item[i].identifier[0]) {
+ if(item[i].name)
+ BLI_dynstr_appendf(dynstr, "|%s%%l", item[i].name);
else
- BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
+ BLI_dynstr_append(dynstr, "|%l");
+ }
+ else if(item[i].icon)
+ BLI_dynstr_appendf(dynstr, "|%s %%i%d %%x%d", item[i].name, item[i].icon, item[i].value);
+ else
+ BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
- if(value == item[i].value) {
- icon= item[i].icon;
- if(!tip)
- tip= item[i].description;
- }
+ if(value == item[i].value) {
+ icon= item[i].icon;
+ if(!tip)
+ tip= item[i].description;
}
- str= BLI_dynstr_get_cstring(dynstr);
- BLI_dynstr_free(dynstr);
+ }
+ str= BLI_dynstr_get_cstring(dynstr);
+ BLI_dynstr_free(dynstr);
- if(free)
- MEM_freeN(item);
+ if(free)
+ MEM_freeN(item);
- freestr= 1;
- }
- else if(ELEM(type, ROW, LISTROW) && 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) {
- str= item[i].name;
- icon= item[i].icon;
- }
- }
+ freestr= 1;
+ }
+ else if(ELEM(type, ROW, LISTROW) && proptype == PROP_ENUM) {
+ EnumPropertyItem *item;
+ int i, totitem, free;
- if(!str)
- str= RNA_property_ui_name(prop);
- if(free)
- MEM_freeN(item);
+ 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) {
+ str= item[i].name;
+ icon= item[i].icon;
+ }
}
- else {
+
+ if(!str)
str= RNA_property_ui_name(prop);
- icon= RNA_property_ui_icon(prop);
- }
+ if(free)
+ MEM_freeN(item);
}
-
- if(!tip && proptype != PROP_ENUM)
- tip= RNA_property_ui_description(prop);
+ else {
+ str= RNA_property_ui_name(prop);
+ icon= RNA_property_ui_icon(prop);
+ }
+ }
- if(min == max || a1 == -1 || a2 == -1) {
- if(proptype == PROP_INT) {
- int hardmin, hardmax, softmin, softmax, step;
+ if(!tip && proptype != PROP_ENUM)
+ tip= RNA_property_ui_description(prop);
- RNA_property_int_range(ptr, prop, &hardmin, &hardmax);
- RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step);
+ if(min == max || a1 == -1 || a2 == -1) {
+ if(proptype == PROP_INT) {
+ int hardmin, hardmax, softmin, softmax, step;
- if(!ELEM(type, ROW, LISTROW) && min == max) {
- min= hardmin;
- max= hardmax;
- }
- if(a1 == -1)
- a1= step;
- if(a2 == -1)
- a2= 0;
+ RNA_property_int_range(ptr, prop, &hardmin, &hardmax);
+ RNA_property_int_ui_range(ptr, prop, &softmin, &softmax, &step);
+
+ if(!ELEM(type, ROW, LISTROW) && min == max) {
+ min= hardmin;
+ max= hardmax;
}
- else if(proptype == PROP_FLOAT) {
- float hardmin, hardmax, softmin, softmax, step, precision;
+ if(a1 == -1)
+ a1= step;
+ if(a2 == -1)
+ a2= 0;
+ }
+ else if(proptype == PROP_FLOAT) {
+ float hardmin, hardmax, softmin, softmax, step, precision;
- RNA_property_float_range(ptr, prop, &hardmin, &hardmax);
- RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
+ RNA_property_float_range(ptr, prop, &hardmin, &hardmax);
+ RNA_property_float_ui_range(ptr, prop, &softmin, &softmax, &step, &precision);
- if(!ELEM(type, ROW, LISTROW) && min == max) {
- min= hardmin;
- max= hardmax;
- }
- if(a1 == -1)
- a1= step;
- if(a2 == -1)
- a2= precision;
- }
- else if(proptype == PROP_STRING) {
- min= 0;
- max= RNA_property_string_maxlength(prop);
- if(max == 0) /* interface code should ideally support unlimited length */
- max= UI_MAX_DRAW_STR;
+ if(!ELEM(type, ROW, LISTROW) && min == max) {
+ min= hardmin;
+ max= hardmax;
}
+ if(a1 == -1)
+ a1= step;
+ if(a2 == -1)
+ a2= precision;
+ }
+ else if(proptype == PROP_STRING) {
+ min= 0;
+ max= RNA_property_string_maxlength(prop);
+ if(max == 0) /* interface code should ideally support unlimited length */
+ max= UI_MAX_DRAW_STR;
}
- }
- else {
- RNA_warning("ui_def_but_rna: property not found: %s.%s\n", RNA_struct_identifier(ptr->type), propname);
- str= propname;
}
/* now create button */
but= ui_def_but(block, type, retval, str, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
- if(prop) {
- but->rnapoin= *ptr;
- but->rnaprop= prop;
+ but->rnapoin= *ptr;
+ but->rnaprop= prop;
- if(RNA_property_array_length(&but->rnapoin, but->rnaprop))
- but->rnaindex= index;
- else
- but->rnaindex= 0;
- }
+ if(RNA_property_array_length(&but->rnapoin, but->rnaprop))
+ but->rnaindex= index;
+ else
+ but->rnaindex= 0;
if(icon) {
but->icon= (BIFIconID)icon;
@@ -2580,15 +2657,18 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
but->flag|= UI_ICON_LEFT;
}
- if (!prop || !RNA_property_editable(&but->rnapoin, prop)) {
- but->flag |= UI_BUT_DISABLED;
- but->lock = 1;
- but->lockstr = "";
+ if (!RNA_property_editable(&but->rnapoin, prop)) {
+ UI_DEF_BUT_RNA_DISABLE(but);
+ }
+
+ if (but->flag & UI_BUT_UNDO && (ui_but_is_rna_undo(but) == FALSE)) {
+ but->flag &= ~UI_BUT_UNDO;
}
/* If this button uses units, calculate the step from this */
- if(ui_is_but_unit(but))
+ if((proptype == PROP_FLOAT) && ui_is_but_unit(but)) {
but->a1= ui_get_but_step_unit(but, but->a1);
+ }
if(freestr)
MEM_freeN((void *)str);
@@ -2596,6 +2676,23 @@ static uiBut *ui_def_but_rna(uiBlock *block, int type, int retval, const char *s
return but;
}
+static uiBut *ui_def_but_rna_propname(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ PropertyRNA *prop= RNA_struct_find_property(ptr, propname);
+ uiBut *but;
+
+ if(prop) {
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ }
+ else {
+ but= ui_def_but(block, type, retval, propname, x1, y1, x2, y2, NULL, min, max, a1, a2, tip);
+
+ UI_DEF_BUT_RNA_DISABLE(but);
+ }
+
+ return but;
+}
+
static uiBut *ui_def_but_operator(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
@@ -2615,6 +2712,7 @@ static uiBut *ui_def_but_operator(uiBlock *block, int type, const char *opname,
but= ui_def_but(block, type, -1, str, x1, y1, x2, y2, NULL, 0, 0, 0, 0, tip);
but->optype= ot;
but->opcontext= opcontext;
+ but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
if(!ot) {
but->flag |= UI_BUT_DISABLED;
@@ -2644,6 +2742,7 @@ static uiBut *ui_def_but_operator_text(uiBlock *block, int type, const char *opn
but= ui_def_but(block, type, -1, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
but->optype= ot;
but->opcontext= opcontext;
+ but->flag &= ~UI_BUT_UNDO; /* no need for ui_but_is_undo(), we never need undo here */
if(!ot) {
but->flag |= UI_BUT_DISABLED;
@@ -2763,6 +2862,16 @@ static void autocomplete_id(bContext *C, char *str, void *arg_v)
}
}
+static void ui_check_but_and_iconize(uiBut *but, int icon)
+{
+ if(icon) {
+ but->icon= (BIFIconID) icon;
+ but->flag|= UI_HAS_ICON;
+ }
+
+ ui_check_but(but);
+}
+
static uiBut *uiDefButBit(uiBlock *block, int type, int bit, int retval, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
int bitIdx= findBitIndex(bit);
@@ -2807,31 +2916,29 @@ uiBut *uiDefButBitC(uiBlock *block, int type, int bit, int retval, const char *s
uiBut *uiDefButR(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but)
- ui_check_but(but);
-
+ but= ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but(but);
+ return but;
+}
+uiBut *uiDefButR_prop(uiBlock *block, int type, int retval, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but(but);
return but;
}
uiBut *uiDefButO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, str, x1, y1, x2, y2, tip);
- if(but)
- ui_check_but(but);
-
+ ui_check_but(but);
return but;
}
uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but_operator_text(block, type, opname, opcontext, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- if(but)
- ui_check_but(but);
-
+ ui_check_but(but);
return but;
}
@@ -2839,12 +2946,7 @@ uiBut *uiDefButTextO(uiBlock *block, int type, const char *opname, int opcontext
uiBut *uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but(block, type, retval, "", x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
-
- ui_check_but(but);
-
+ ui_check_but_and_iconize(but, icon);
return but;
}
static uiBut *uiDefIconButBit(uiBlock *block, int type, int bit, int retval, int icon, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
@@ -2892,29 +2994,22 @@ uiBut *uiDefIconButBitC(uiBlock *block, int type, int bit, int retval, int icon,
uiBut *uiDefIconButR(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, "", x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but) {
- if(icon) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- }
- ui_check_but(but);
- }
-
+ but= ui_def_but_rna_propname(block, type, retval, "", x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ return but;
+}
+uiBut *uiDefIconButR_prop(uiBlock *block, int type, int retval, int icon, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, "", x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
return but;
}
uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, "", x1, y1, x2, y2, tip);
- if(but) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- ui_check_but(but);
- }
-
+ ui_check_but_and_iconize(but, icon);
return but;
}
@@ -2922,14 +3017,8 @@ uiBut *uiDefIconButO(uiBlock *block, int type, const char *opname, int opcontext
uiBut *uiDefIconTextBut(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but= ui_def_but(block, type, retval, str, x1, y1, x2, y2, poin, min, max, a1, a2, tip);
-
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
-
+ ui_check_but_and_iconize(but, icon);
but->flag|= UI_ICON_LEFT;
-
- ui_check_but(but);
-
return but;
}
static uiBut *uiDefIconTextButBit(uiBlock *block, int type, int bit, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, void *poin, float min, float max, float a1, float a2, const char *tip)
@@ -2977,31 +3066,25 @@ uiBut *uiDefIconTextButBitC(uiBlock *block, int type, int bit, int retval, int i
uiBut *uiDefIconTextButR(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
{
uiBut *but;
-
- but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
- if(but) {
- if(icon) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- }
- but->flag|= UI_ICON_LEFT;
- ui_check_but(but);
- }
-
+ but= ui_def_but_rna_propname(block, type, retval, str, x1, y1, x2, y2, ptr, propname, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
+ return but;
+}
+uiBut *uiDefIconTextButR_prop(uiBlock *block, int type, int retval, int icon, const char *str, int x1, int y1, short x2, short y2, PointerRNA *ptr, PropertyRNA *prop, int index, float min, float max, float a1, float a2, const char *tip)
+{
+ uiBut *but;
+ but= ui_def_but_rna(block, type, retval, str, x1, y1, x2, y2, ptr, prop, index, min, max, a1, a2, tip);
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
return but;
}
uiBut *uiDefIconTextButO(uiBlock *block, int type, const char *opname, int opcontext, int icon, const char *str, int x1, int y1, short x2, short y2, const char *tip)
{
uiBut *but;
-
but= ui_def_but_operator(block, type, opname, opcontext, str, x1, y1, x2, y2, tip);
- if(but) {
- but->icon= (BIFIconID) icon;
- but->flag|= UI_HAS_ICON;
- but->flag|= UI_ICON_LEFT;
- ui_check_but(but);
- }
-
+ ui_check_but_and_iconize(but, icon);
+ but->flag|= UI_ICON_LEFT;
return but;
}
@@ -3163,11 +3246,17 @@ void uiButSetUnitType(uiBut *but, const int unit_type)
int uiButGetUnitType(uiBut *but)
{
- if(but->rnaprop) {
- return RNA_SUBTYPE_UNIT(RNA_property_subtype(but->rnaprop));
+ int ownUnit = (int)but->unit_type;
+
+ /* own unit define always takes precidence over RNA provided, allowing for overriding
+ * default value provided in RNA in a few special cases (i.e. Active Keyframe in Graph Edit)
+ */
+ // XXX: this doesn't allow clearing unit completely, though the same could be said for icons
+ if ((ownUnit != 0) || (but->rnaprop == NULL)) {
+ return ownUnit << 16;
}
else {
- return ((int)but->unit_type)<<16;
+ return RNA_SUBTYPE_UNIT(RNA_property_subtype(but->rnaprop));
}
}
diff --git a/source/blender/editors/interface/interface_anim.c b/source/blender/editors/interface/interface_anim.c
index 75e7ee701a2..1113f90a652 100644
--- a/source/blender/editors/interface/interface_anim.c
+++ b/source/blender/editors/interface/interface_anim.c
@@ -1,3 +1,27 @@
+/*
+ * $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):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
/** \file blender/editors/interface/interface_anim.c
* \ingroup edinterface
*/
@@ -6,6 +30,7 @@
#include <stdlib.h>
#include <string.h>
+#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
@@ -13,15 +38,19 @@
#include "BLI_listbase.h"
#include "BLI_string.h"
+#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_animsys.h"
#include "BKE_fcurve.h"
-
+#include "BKE_global.h"
#include "ED_keyframing.h"
#include "UI_interface.h"
+#include "RNA_access.h"
+
#include "WM_api.h"
#include "WM_types.h"
@@ -84,7 +113,7 @@ int ui_but_anim_expression_set(uiBut *but, const char *str)
if(fcu && driven) {
driver= fcu->driver;
-
+
if(driver && driver->type == DRIVER_TYPE_PYTHON) {
BLI_strncpy(driver->expression, str, sizeof(driver->expression));
driver->flag |= DRIVER_FLAG_RECOMPILE;
@@ -96,6 +125,74 @@ int ui_but_anim_expression_set(uiBut *but, const char *str)
return 0;
}
+/* create new expression for button (i.e. a "scripted driver"), if it can be created... */
+int ui_but_anim_expression_create(uiBut *but, const char *str)
+{
+ bContext *C = but->block->evil_C;
+ ID *id;
+ FCurve *fcu;
+ char *path;
+ short ok=0;
+
+ /* button must have RNA-pointer to a numeric-capable property */
+ if (ELEM(NULL, but->rnapoin.data, but->rnaprop)) {
+ if (G.f & G_DEBUG)
+ printf("ERROR: create expression failed - button has no RNA info attached\n");
+ return 0;
+ }
+
+ /* make sure we have animdata for this */
+ // FIXME: until materials can be handled by depsgraph, don't allow drivers to be created for them
+ id = (ID *)but->rnapoin.id.data;
+ if ((id == NULL) || (GS(id->name)==ID_MA) || (GS(id->name)==ID_TE)) {
+ if (G.f & G_DEBUG)
+ printf("ERROR: create expression failed - invalid id-datablock for adding drivers (%p)\n", id);
+ return 0;
+ }
+
+ /* get path */
+ path = RNA_path_from_ID_to_property(&but->rnapoin, but->rnaprop);
+
+ /* create driver */
+ fcu = verify_driver_fcurve(id, path, but->rnaindex, 1);
+ if (fcu) {
+ ChannelDriver *driver= fcu->driver;
+
+ if (driver) {
+ /* set type of driver */
+ driver->type = DRIVER_TYPE_PYTHON;
+
+ /* set the expression */
+ // TODO: need some way of identifying variables used
+ BLI_strncpy(driver->expression, str, sizeof(driver->expression));
+
+ /* FIXME: for now, assume that
+ * - for expressions, users are likely to be using "frame" -> current frame" as a variable
+ * - driver_add_new_variable() adds a single-prop variable by default
+ */
+ {
+ DriverVar *dvar;
+ DriverTarget *dtar;
+
+ dvar = driver_add_new_variable(driver);
+ BLI_strncpy(dvar->name, "frame", sizeof(dvar->name));
+
+ dtar = &dvar->targets[0];
+ dtar->id = (ID *)CTX_data_scene(C); // XXX: should we check that C is valid first?
+ dtar->rna_path = BLI_sprintfN("frame_current");
+ }
+
+ /* updates */
+ driver->flag |= DRIVER_FLAG_RECOMPILE;
+ WM_event_add_notifier(C, NC_ANIMATION|ND_KEYFRAME, NULL);
+ }
+ }
+
+ MEM_freeN(path);
+
+ return ok;
+}
+
void ui_but_anim_autokey(bContext *C, uiBut *but, Scene *scene, float cfra)
{
ID *id;
diff --git a/source/blender/editors/interface/interface_draw.c b/source/blender/editors/interface/interface_draw.c
index c7f11116834..2267f04aab4 100644
--- a/source/blender/editors/interface/interface_draw.c
+++ b/source/blender/editors/interface/interface_draw.c
@@ -140,25 +140,24 @@ void uiDrawBox(int mode, float minx, float miny, float maxx, float maxy, float r
glEnd();
}
-static void round_box_shade_col(float *col1, float *col2, float fac)
+static void round_box_shade_col(const float col1[3], float const col2[3], const float fac)
{
float col[3];
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);
}
-
/* linear horizontal shade within button or in outline */
/* view2d scrollers use it */
void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, float rad, float shadetop, float shadedown)
{
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;
+ const float div= maxy - miny;
+ const float idiv= 1.0f / div;
float coltop[3], coldown[3], color[4];
int a;
@@ -187,11 +186,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
glVertex2f(maxx-rad, miny);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, vec[a][1]/div);
+ round_box_shade_col(coltop, coldown, vec[a][1]*idiv);
glVertex2f(maxx-rad+vec[a][0], miny+vec[a][1]);
}
- round_box_shade_col(coltop, coldown, rad/div);
+ round_box_shade_col(coltop, coldown, rad*idiv);
glVertex2f(maxx, miny+rad);
}
else {
@@ -202,11 +201,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
/* corner right-top */
if(roundboxtype & 2) {
- round_box_shade_col(coltop, coldown, (div-rad)/div);
+ round_box_shade_col(coltop, coldown, (div-rad)*idiv);
glVertex2f(maxx, maxy-rad);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (div-rad+vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (div-rad+vec[a][1])*idiv);
glVertex2f(maxx-vec[a][1], maxy-rad+vec[a][0]);
}
round_box_shade_col(coltop, coldown, 1.0);
@@ -224,11 +223,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
glVertex2f(minx+rad, maxy);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (div-vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (div-vec[a][1])*idiv);
glVertex2f(minx+rad-vec[a][0], maxy-vec[a][1]);
}
- round_box_shade_col(coltop, coldown, (div-rad)/div);
+ round_box_shade_col(coltop, coldown, (div-rad)*idiv);
glVertex2f(minx, maxy-rad);
}
else {
@@ -239,11 +238,11 @@ void uiDrawBoxShade(int mode, float minx, float miny, float maxx, float maxy, fl
/* corner left-bottom */
if(roundboxtype & 8) {
- round_box_shade_col(coltop, coldown, rad/div);
+ round_box_shade_col(coltop, coldown, rad*idiv);
glVertex2f(minx, miny+rad);
for(a=0; a<7; a++) {
- round_box_shade_col(coltop, coldown, (rad-vec[a][1])/div);
+ round_box_shade_col(coltop, coldown, (rad-vec[a][1])*idiv);
glVertex2f(minx+vec[a][1], miny+rad-vec[a][0]);
}
@@ -265,7 +264,8 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
{
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= maxx-minx;
+ const float div= maxx - minx;
+ const float idiv= 1.0f / div;
float colLeft[3], colRight[3], color[4];
int a;
@@ -293,11 +293,11 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
glVertex2f(maxx-rad, miny);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, vec[a][0]/div);
+ round_box_shade_col(colLeft, colRight, vec[a][0]*idiv);
glVertex2f(maxx-rad+vec[a][0], miny+vec[a][1]);
}
- round_box_shade_col(colLeft, colRight, rad/div);
+ round_box_shade_col(colLeft, colRight, rad*idiv);
glVertex2f(maxx, miny+rad);
}
else {
@@ -312,10 +312,10 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (div-rad-vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (div-rad-vec[a][0])*idiv);
glVertex2f(maxx-vec[a][1], maxy-rad+vec[a][0]);
}
- round_box_shade_col(colLeft, colRight, (div-rad)/div);
+ round_box_shade_col(colLeft, colRight, (div-rad)*idiv);
glVertex2f(maxx-rad, maxy);
}
else {
@@ -325,11 +325,11 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
/* corner left-top */
if(roundboxtype & 1) {
- round_box_shade_col(colLeft, colRight, (div-rad)/div);
+ round_box_shade_col(colLeft, colRight, (div-rad)*idiv);
glVertex2f(minx+rad, maxy);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (div-rad+vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (div-rad+vec[a][0])*idiv);
glVertex2f(minx+rad-vec[a][0], maxy-vec[a][1]);
}
@@ -347,7 +347,7 @@ void uiDrawBoxVerticalShade(int mode, float minx, float miny, float maxx, float
glVertex2f(minx, miny+rad);
for(a=0; a<7; a++) {
- round_box_shade_col(colLeft, colRight, (vec[a][0])/div);
+ round_box_shade_col(colLeft, colRight, (vec[a][0])*idiv);
glVertex2f(minx+vec[a][1], miny+rad-vec[a][0]);
}
@@ -530,14 +530,11 @@ static void ui_draw_but_CHARTAB(uiBut *but)
int charmax = G.charmax;
/* FO_BUILTIN_NAME font in use. There are TTF FO_BUILTIN_NAME and non-TTF FO_BUILTIN_NAME fonts */
- if(!strcmp(G.selfont->name, FO_BUILTIN_NAME))
- {
- if(G.ui_international == TRUE)
- {
+ if(!strcmp(G.selfont->name, FO_BUILTIN_NAME)) {
+ if(G.ui_international == TRUE) {
charmax = 0xff;
}
- else
- {
+ else {
charmax = 0xff;
}
}
@@ -562,16 +559,13 @@ static void ui_draw_but_CHARTAB(uiBut *but)
cs = G.charstart;
/* Set the font, in case it is not FO_BUILTIN_NAME font */
- if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME))
- {
+ if(G.selfont && strcmp(G.selfont->name, FO_BUILTIN_NAME)) {
// Is the font file packed, if so then use the packed file
- if(G.selfont->packedfile)
- {
+ if(G.selfont->packedfile) {
pf = G.selfont->packedfile;
FTF_SetFont(pf->data, pf->size, 14.0);
}
- else
- {
+ else {
char tmpStr[256];
int err;
@@ -580,10 +574,8 @@ static void ui_draw_but_CHARTAB(uiBut *but)
err = FTF_SetFont((unsigned char *)tmpStr, 0, 14.0);
}
}
- else
- {
- if(G.ui_international == TRUE)
- {
+ else {
+ if(G.ui_international == TRUE) {
FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, 14.0);
}
}
@@ -595,8 +587,7 @@ static void ui_draw_but_CHARTAB(uiBut *but)
glRectf((rect->xmin), (rect->ymin), (rect->xmax), (rect->ymax));
glColor3ub(0, 0, 0);
- for(y = 0; y < 6; y++)
- {
+ for(y = 0; y < 6; y++) {
// Do not draw more than the category allows
if(cs > charmax) break;
@@ -676,23 +667,19 @@ static void ui_draw_but_CHARTAB(uiBut *but)
glShadeModel(GL_FLAT);
/* Return Font Settings to original */
- if(U.fontsize && U.fontname[0])
- {
+ if(U.fontsize && U.fontname[0]) {
result = FTF_SetFont((unsigned char *)U.fontname, 0, U.fontsize);
}
- else if (U.fontsize)
- {
+ else if (U.fontsize) {
result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, U.fontsize);
}
- if (result == 0)
- {
+ if (result == 0) {
result = FTF_SetFont((unsigned char *) datatoc_bfont_ttf, datatoc_bfont_ttf_size, 11);
}
/* resets the font size */
- if(G.ui_international == TRUE)
- {
+ if(G.ui_international == TRUE) {
// uiSetCurFont(but->block, UI_HELV);
}
}
@@ -783,7 +770,11 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
glColor4f(0.f, 0.f, 0.f, 0.3f);
uiSetRoundBox(15);
uiDrawBox(GL_POLYGON, rect.xmin-1, rect.ymin-1, rect.xmax+1, rect.ymax+1, 3.0f);
-
+
+ /* need scissor test, histogram can draw outside of boundary */
+ glGetIntegerv(GL_VIEWPORT, scissor);
+ glScissor(ar->winrct.xmin + (rect.xmin-1), ar->winrct.ymin+(rect.ymin-1), (rect.xmax+1)-(rect.xmin-1), (rect.ymax+1)-(rect.ymin-1));
+
glColor4f(1.f, 1.f, 1.f, 0.08f);
/* draw grid lines here */
for (i=1; i<4; i++) {
@@ -791,10 +782,6 @@ void ui_draw_but_HISTOGRAM(ARegion *ar, uiBut *but, uiWidgetColors *UNUSED(wcol)
fdrawline(rect.xmin+(i/4.f)*w, rect.ymin, rect.xmin+(i/4.f)*w, rect.ymax);
}
- /* need scissor test, histogram can draw outside of boundary */
- glGetIntegerv(GL_VIEWPORT, scissor);
- glScissor(ar->winrct.xmin + (rect.xmin-1), ar->winrct.ymin+(rect.ymin-1), (rect.xmax+1)-(rect.xmin-1), (rect.ymax+1)-(rect.ymin-1));
-
if (hist->mode == HISTO_MODE_LUMA)
histogram_draw_one(1.0, 1.0, 1.0, 0.75, rect.xmin, rect.ymin, w, h, hist->data_luma, res);
else {
@@ -1604,7 +1591,6 @@ void ui_dropshadow(rctf *rct, float radius, float aspect, int UNUSED(select))
#endif
{
a= i*aspect;
-
}
for(; i--; a-=aspect) {
diff --git a/source/blender/editors/interface/interface_handlers.c b/source/blender/editors/interface/interface_handlers.c
index 99a31e039c8..7661fa5994b 100644
--- a/source/blender/editors/interface/interface_handlers.c
+++ b/source/blender/editors/interface/interface_handlers.c
@@ -800,8 +800,7 @@ static void ui_add_smart_controller(bContext *C, uiBut *from, uiBut *to)
if(!act_iter) return;
/* (3) add a new controller */
- if (WM_operator_name_call(C, "LOGIC_OT_controller_add", WM_OP_EXEC_DEFAULT, NULL) & OPERATOR_FINISHED)
- {
+ if (WM_operator_name_call(C, "LOGIC_OT_controller_add", WM_OP_EXEC_DEFAULT, NULL) & OPERATOR_FINISHED) {
cont = (bController *)ob->controllers.last;
/* (4) link the sensor->controller->actuator */
@@ -1236,7 +1235,7 @@ static short test_special_char(char ch)
case ':':
case ';':
case '\'':
- case '\"':
+ case '\"': // " - an extra closing one for Aligorith's text editor
case '<':
case '>':
case ',':
@@ -1290,7 +1289,7 @@ static void ui_textedit_set_cursor_pos(uiBut *but, uiHandleButtonData *data, sho
else if(ELEM(but->type, TEX, SEARCH_MENU)) {
startx += 5;
if (but->flag & UI_HAS_ICON)
- startx += 16;
+ startx += UI_DPI_ICON_SIZE;
}
/* mouse dragged outside the widget to the left */
@@ -1879,7 +1878,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) {
@@ -1895,7 +1893,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;
}
@@ -2303,13 +2309,13 @@ static float ui_numedit_apply_snapf(uiBut *but, float tempf, float softmin, floa
float fac= 1.0f;
if(ui_is_but_unit(but)) {
- Scene *scene= CTX_data_scene((bContext *)but->block->evil_C);
+ UnitSettings *unit= but->block->unit;
int unit_type= uiButGetUnitType(but)>>16;
- if(bUnit_IsValid(scene->unit.system, unit_type)) {
- fac= (float)bUnit_BaseScalar(scene->unit.system, unit_type);
+ if(bUnit_IsValid(unit->system, unit_type)) {
+ fac= (float)bUnit_BaseScalar(unit->system, unit_type);
if(ELEM3(unit_type, B_UNIT_LENGTH, B_UNIT_AREA, B_UNIT_VOLUME)) {
- fac /= scene->unit.scale_length;
+ fac /= unit->scale_length;
}
}
}
@@ -2317,8 +2323,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;
}
@@ -2849,7 +2855,7 @@ static int ui_do_but_SLI(bContext *C, uiBlock *block, uiBut *but, uiHandleButton
static int ui_do_but_SCROLL(bContext *C, uiBlock *block, uiBut *but, uiHandleButtonData *data, wmEvent *event)
{
- int mx, my, click= 0;
+ int mx, my /*, click= 0 */;
int retval= WM_UI_HANDLER_CONTINUE;
int horizontal= (but->x2 - but->x1 > but->y2 - but->y1);
@@ -2871,8 +2877,10 @@ static int ui_do_but_SCROLL(bContext *C, uiBlock *block, uiBut *but, uiHandleBut
button_activate_state(C, but, BUTTON_STATE_NUM_EDITING);
retval= WM_UI_HANDLER_BREAK;
}
- else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
+ /* UNUSED - otherwise code is ok, add back if needed */
+ /* else if(ELEM(event->type, PADENTER, RETKEY) && event->val==KM_PRESS)
click= 1;
+ */
}
}
else if(data->state == BUTTON_STATE_NUM_EDITING) {
@@ -3461,13 +3469,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];
@@ -3670,6 +3678,9 @@ static int ui_do_but_CURVE(bContext *C, uiBlock *block, uiBut *but, uiHandleButt
return WM_UI_HANDLER_BREAK;
}
+ /* UNUSED but keep for now */
+ (void)changed;
+
return WM_UI_HANDLER_CONTINUE;
}
@@ -3684,12 +3695,12 @@ static int ui_numedit_but_HISTOGRAM(uiBut *but, uiHandleButtonData *data, int mx
Histogram *hist = (Histogram *)but->poin;
/* rcti rect; */
int changed= 1;
- float dx, dy, yfac=1.f;
+ float /* dx, */ dy, yfac=1.f; /* UNUSED */
/* rect.xmin= but->x1; rect.xmax= but->x2; */
/* rect.ymin= but->y1; rect.ymax= but->y2; */
- dx = mx - data->draglastx;
+ /* dx = mx - data->draglastx; */ /* UNUSED */
dy = my - data->draglasty;
@@ -3767,12 +3778,12 @@ static int ui_numedit_but_WAVEFORM(uiBut *but, uiHandleButtonData *data, int mx,
Scopes *scopes = (Scopes *)but->poin;
/* rcti rect; */
int changed= 1;
- float dx, dy, yfac=1.f;
+ float /* dx, */ dy /* , yfac=1.f */; /* UNUSED */
/* rect.xmin= but->x1; rect.xmax= but->x2; */
/* rect.ymin= but->y1; rect.ymax= but->y2; */
- dx = mx - data->draglastx;
+ /* dx = mx - data->draglastx; */ /* UNUSED */
dy = my - data->draglasty;
@@ -3781,7 +3792,7 @@ static int ui_numedit_but_WAVEFORM(uiBut *but, uiHandleButtonData *data, int mx,
scopes->wavefrm_height = (but->y2 - but->y1) + (data->dragstarty - my);
} else {
/* scale waveform values */
- yfac = scopes->wavefrm_yfac;
+ /* yfac = scopes->wavefrm_yfac; */ /* UNUSED */
scopes->wavefrm_yfac += dy/200.0f;
CLAMP(scopes->wavefrm_yfac, 0.5f, 2.f);
@@ -4060,7 +4071,6 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
/* complex code to change name of button */
if(WM_key_event_operator_string(C, but->optype->idname, but->opcontext, prop, buf, sizeof(buf))) {
- wmKeyMap *km= NULL;
char *butstr_orig;
// XXX but->str changed... should not, remove the hotkey from it
@@ -4073,10 +4083,6 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
but->str= but->strdata;
ui_check_but(but);
-
- /* set the keymap editable else the key wont save */
- WM_key_event_operator_id(C, but->optype->idname, but->opcontext, prop, 1, &km);
- WM_keymap_copy_to_user(km);
}
else {
/* shortcut was removed */
@@ -4088,6 +4094,7 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
{
+ wmWindowManager *wm= CTX_wm_manager(C);
uiBlock *block;
uiBut *but = (uiBut *)arg;
wmKeyMap *km;
@@ -4100,7 +4107,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
kmi = WM_keymap_item_find_id(km, kmi_id);
- RNA_pointer_create(NULL, &RNA_KeyMapItem, kmi, &ptr);
+ RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetHandleFunc(block, but_shortcut_name_func, but);
@@ -4119,6 +4126,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *ar, void *arg)
static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
{
+ wmWindowManager *wm= CTX_wm_manager(C);
uiBlock *block;
uiBut *but = (uiBut *)arg;
wmKeyMap *km;
@@ -4127,19 +4135,25 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *ar, void *arg)
uiLayout *layout;
uiStyle *style= U.uistyles.first;
IDProperty *prop= (but->opptr)? but->opptr->data: NULL;
+ int kmi_id;
/* XXX this guess_opname can potentially return a different keymap than being found on adding later... */
km = WM_keymap_guess_opname(C, but->optype->idname);
kmi = WM_keymap_add_item(km, but->optype->idname, AKEY, KM_PRESS, 0, 0);
+ kmi_id = kmi->id;
- if (prop) {
+ /* copy properties, prop can be NULL for reset */
+ if(prop)
prop= IDP_CopyProperty(prop);
- }
-
- /* prop can be NULL */
WM_keymap_properties_reset(kmi, prop);
- RNA_pointer_create(NULL, &RNA_KeyMapItem, kmi, &ptr);
+ /* update and get pointers again */
+ WM_keyconfig_update(wm);
+
+ km = WM_keymap_guess_opname(C, but->optype->idname);
+ kmi = WM_keymap_item_find_id(km, kmi_id);
+
+ RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetHandleFunc(block, but_shortcut_name_func, but);
@@ -4220,6 +4234,7 @@ static int ui_but_menu(bContext *C, uiBut *but)
/* Keyframes */
if(but->flag & UI_BUT_ANIMATED_KEY) {
+ /* replace/delete keyfraemes */
if(length) {
uiItemBooleanO(layout, "Replace Keyframes", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 1);
uiItemBooleanO(layout, "Replace Single Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0);
@@ -4230,6 +4245,11 @@ static int ui_but_menu(bContext *C, uiBut *but)
uiItemBooleanO(layout, "Replace Keyframe", ICON_NONE, "ANIM_OT_keyframe_insert_button", "all", 0);
uiItemBooleanO(layout, "Delete Keyframe", ICON_NONE, "ANIM_OT_keyframe_delete_button", "all", 0);
}
+
+ /* keyframe settings */
+ uiItemS(layout);
+
+
}
else if(but->flag & UI_BUT_DRIVEN);
else if(is_anim) {
@@ -4272,6 +4292,7 @@ static int ui_but_menu(bContext *C, uiBut *but)
}
/* Keying Sets */
+ // TODO: check on modifyability of Keying Set when doing this
if(is_anim) {
uiItemS(layout);
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 3bf2a9ddd02..c3a0f438fbe 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -742,6 +742,7 @@ static DrawInfo *icon_create_drawinfo(void)
return di;
}
+/* note!, returns unscaled by DPI, may need to multiply result by UI_DPI_ICON_FAC */
int UI_icon_get_width(int icon_id)
{
Icon *icon = NULL;
@@ -952,7 +953,7 @@ static void icon_draw_size(float x, float y, int icon_id, float aspect, float al
Icon *icon = NULL;
DrawInfo *di = NULL;
IconImage *iimg;
- float fdraw_size= UI_DPI_FAC*draw_size;
+ float fdraw_size= UI_DPI_ICON_FAC*draw_size;
int w, h;
icon = BKE_icon_get(icon_id);
@@ -1102,8 +1103,7 @@ int ui_id_icon_get(bContext *C, ID *id, int big)
int iconid= 0;
/* icon */
- switch(GS(id->name))
- {
+ switch(GS(id->name)) {
case ID_BR:
iconid= ui_id_brush_get_icon(C, id);
break;
diff --git a/source/blender/editors/interface/interface_intern.h b/source/blender/editors/interface/interface_intern.h
index 8475090b468..ebc8725ad5d 100644
--- a/source/blender/editors/interface/interface_intern.h
+++ b/source/blender/editors/interface/interface_intern.h
@@ -213,7 +213,7 @@ struct uiBut {
BIFIconID icon;
char lock;
- char dt;
+ char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied from the block */
char changed; /* could be made into a single flag */
unsigned char unit_type; /* so buttons can support unit systems which are not RNA */
short modifier_key;
@@ -306,7 +306,8 @@ struct uiBlock {
void *drawextra_arg2;
int flag;
- char direction, dt;
+ char direction;
+ char dt; /* drawtype: UI_EMBOSS, UI_EMBOSSN ... etc, copied to buttons */
short auto_open;
double auto_open_last;
@@ -331,7 +332,9 @@ struct uiBlock {
void *evil_C; // XXX hack for dynamic operator enums
float _hsv[3]; // XXX, only access via ui_block_hsv_get()
- char color_profile; // color profile for correcting linear colors for display
+ char color_profile; // color profile for correcting linear colors for display
+ struct UnitSettings *unit; // unit system, used a lot for numeric buttons so include here rather then fetching through the scene every time.
+
};
typedef struct uiSafetyRct {
@@ -520,6 +523,7 @@ void ui_but_anim_add_keyingset(struct bContext *C);
void ui_but_anim_remove_keyingset(struct bContext *C);
int ui_but_anim_expression_get(uiBut *but, char *str, int maxlen);
int ui_but_anim_expression_set(uiBut *but, const char *str);
+int ui_but_anim_expression_create(uiBut *but, const char *str);
void ui_but_anim_autokey(struct bContext *C, uiBut *but, struct Scene *scene, float cfra);
#endif
diff --git a/source/blender/editors/interface/interface_layout.c b/source/blender/editors/interface/interface_layout.c
index 55c1488291b..803da55cea6 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;
@@ -367,7 +367,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
unit= UI_UNIT_X*0.75;
butw= unit;
buth= unit;
-
+
if(ptr->type == &RNA_Armature) {
bArmature *arm= (bArmature *)ptr->data;
layer_used= arm->layer_used;
@@ -379,7 +379,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
for(a=0; a<colbuts; a++) {
if(layer_used & (1<<(a+b*colbuts))) icon= ICON_LAYER_USED;
else icon= ICON_BLANK1;
-
+
but= uiDefAutoButR(block, ptr, prop, a+b*colbuts, "", icon, x + butw*a, y+buth, butw, buth);
if(subtype == PROP_LAYER_MEMBER)
uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+b*colbuts));
@@ -387,7 +387,7 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
for(a=0; a<colbuts; a++) {
if(layer_used & (1<<(a+len/2+b*colbuts))) icon= ICON_LAYER_USED;
else icon= ICON_BLANK1;
-
+
but= uiDefAutoButR(block, ptr, prop, a+len/2+b*colbuts, "", icon, x + butw*a, y, butw, buth);
if(subtype == PROP_LAYER_MEMBER)
uiButSetFunc(but, ui_layer_but_cb, but, SET_INT_IN_POINTER(a+len/2+b*colbuts));
@@ -419,38 +419,49 @@ static void ui_item_array(uiLayout *layout, uiBlock *block, const char *name, in
}
}
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);
+ uiDefButR_prop(block, BUT_NORMAL, 0, name, x, y, UI_UNIT_X*3, UI_UNIT_Y*3, ptr, prop, 0, 0, 0, -1, -1, NULL);
}
else {
- if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand)
+ /* note, this block of code is a bit arbitrary and has just been made
+ * to work with common cases, but may need to be re-worked */
+
+ /* special case, boolean array in a menu, this could be used in a more generic way too */
+ if(ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) && !expand) {
uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, 0, 0, w, UI_UNIT_Y);
+ }
+ else {
+ int *boolarr= NULL;
- if(!ELEM(subtype, PROP_COLOR, PROP_COLOR_GAMMA) || expand) {
- /* layout for known array subtypes */
- char str[3];
+ /* even if 'expand' is fale, expanding anyway */
- for(a=0; a<len; a++) {
- str[0]= RNA_property_array_item_char(prop, a);
+ /* layout for known array subtypes */
+ char str[3]= {'\0'};
- if(str[0]) {
- if (icon_only) {
- str[0] = '\0';
- }
- else if(type == PROP_BOOLEAN) {
- str[1]= '\0';
- }
- else {
- str[1]= ':';
- str[2]= '\0';
- }
+ if(!icon_only) {
+ if(type != PROP_BOOLEAN) {
+ str[1]= ':';
}
+ }
+
+ /* show checkboxes for rna on a non-emboss block (menu for eg) */
+ if(type == PROP_BOOLEAN && ELEM(layout->root->block->dt, UI_EMBOSSN, UI_EMBOSSP)) {
+ boolarr= MEM_callocN(sizeof(int)*len, "ui_item_array");
+ RNA_property_boolean_get_array(ptr, prop, boolarr);
+ }
+ for(a=0; a<len; a++) {
+ if(!icon_only) str[0]= RNA_property_array_item_char(prop, a);
+ if(boolarr) icon= boolarr[a] ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
but= uiDefAutoButR(block, ptr, prop, a, str, icon, 0, 0, w, UI_UNIT_Y);
if(slider && but->type==NUM)
but->type= NUMSLI;
if(toggle && but->type==OPTION)
but->type= TOG;
}
+
+ if(boolarr) {
+ MEM_freeN(boolarr);
+ }
}
}
@@ -461,11 +472,9 @@ static void ui_item_enum_expand(uiLayout *layout, uiBlock *block, PointerRNA *pt
{
uiBut *but;
EnumPropertyItem *item;
- const char *identifier;
const char *name;
int a, totitem, itemw, icon, value, free;
- identifier= RNA_property_identifier(prop);
RNA_property_enum_items(block->evil_C, ptr, prop, &item, &totitem, &free);
uiBlockSetCurLayout(block, ui_item_local_sublayout(layout, layout, 1));
@@ -479,11 +488,11 @@ static void ui_item_enum_expand(uiLayout *layout, uiBlock *block, PointerRNA *pt
itemw= ui_text_icon_width(block->curlayout, name, icon, 0);
if(icon && name[0] && !icon_only)
- but= uiDefIconTextButR(block, ROW, 0, icon, name, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, ROW, 0, icon, name, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else if(icon)
- but= uiDefIconButR(block, ROW, 0, icon, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, ROW, 0, icon, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else
- but= uiDefButR(block, ROW, 0, name, 0, 0, itemw, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ but= uiDefButR_prop(block, ROW, 0, name, 0, 0, itemw, h, ptr, prop, -1, 0, value, -1, -1, NULL);
if(ui_layout_local_dir(layout) != UI_LAYOUT_HORIZONTAL)
but->flag |= UI_TEXT_LEFT;
@@ -534,10 +543,13 @@ 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);
+ 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);
+ uiDefButR_prop(block, KEYEVT, 0, name, x, y, w, h, ptr, prop, index, 0, 0, -1, -1, NULL);
}
else if(flag & UI_ITEM_R_FULL_EVENT) {
if(RNA_struct_is_a(ptr->type, &RNA_KeyMapItem)) {
@@ -545,7 +557,7 @@ static uiBut *ui_item_with_label(uiLayout *layout, uiBlock *block, const char *n
WM_keymap_item_to_string(ptr->data, buf, sizeof(buf));
- but= uiDefButR(block, HOTKEYEVT, 0, buf, x, y, w, h, ptr, RNA_property_identifier(prop), 0, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, HOTKEYEVT, 0, buf, x, y, w, h, ptr, prop, 0, 0, 0, -1, -1, NULL);
uiButSetFunc(but, ui_keymap_but_cb, but, NULL);
if (flag & UI_ITEM_R_IMMEDIATE)
uiButSetFlag(but, UI_BUT_IMMEDIATE);
@@ -950,13 +962,14 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
uiBut *but;
PropertyType type;
char namestr[UI_MAX_NAME_STR];
- int len, w, h, slider, toggle, expand, icon_only, no_bg;
+ int len, is_array, w, h, slider, toggle, expand, icon_only, no_bg;
uiBlockSetCurLayout(block, layout);
/* retrieve info */
type= RNA_property_type(prop);
- len= RNA_property_array_length(ptr, prop);
+ is_array= RNA_property_array_check(prop);
+ len= (is_array) ? RNA_property_array_length(ptr, prop) : 0;
/* set name and icon */
if(!name)
@@ -966,14 +979,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
if(ELEM4(type, PROP_INT, PROP_FLOAT, PROP_STRING, PROP_POINTER))
name= ui_item_name_add_colon(name, namestr);
- else if(type == PROP_BOOLEAN && len && index == RNA_NO_INDEX)
+ else if(type == PROP_BOOLEAN && is_array && index == RNA_NO_INDEX)
name= ui_item_name_add_colon(name, namestr);
else if(type == PROP_ENUM && index != RNA_ENUM_VALUE)
name= ui_item_name_add_colon(name, namestr);
if(layout->root->type == UI_LAYOUT_MENU) {
- if(type == PROP_BOOLEAN)
- icon= (RNA_property_boolean_get(ptr, prop))? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ if(type == PROP_BOOLEAN && ((is_array == FALSE) || (index != RNA_NO_INDEX))) {
+ if(is_array) icon= (RNA_property_boolean_get_index(ptr, prop, index)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ else icon= (RNA_property_boolean_get(ptr, prop)) ? ICON_CHECKBOX_HLT: ICON_CHECKBOX_DEHLT;
+ }
else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
int enum_value= RNA_property_enum_get(ptr, prop);
if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
@@ -998,18 +1013,16 @@ void uiItemFullR(uiLayout *layout, PointerRNA *ptr, PropertyRNA *prop, int index
uiBlockSetEmboss(block, UI_EMBOSSN);
/* array property */
- if(index == RNA_NO_INDEX && len > 0)
+ if(index == RNA_NO_INDEX && is_array)
ui_item_array(layout, block, name, icon, ptr, prop, len, 0, 0, w, h, expand, slider, toggle, icon_only);
/* enum item */
else if(type == PROP_ENUM && index == RNA_ENUM_VALUE) {
- const char *identifier= RNA_property_identifier(prop);
-
if(icon && name[0] && !icon_only)
- uiDefIconTextButR(block, ROW, 0, icon, name, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefIconTextButR_prop(block, ROW, 0, icon, name, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else if(icon)
- uiDefIconButR(block, ROW, 0, icon, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefIconButR_prop(block, ROW, 0, icon, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
else
- uiDefButR(block, ROW, 0, name, 0, 0, w, h, ptr, identifier, -1, 0, value, -1, -1, NULL);
+ uiDefButR_prop(block, ROW, 0, name, 0, 0, w, h, ptr, prop, -1, 0, value, -1, -1, NULL);
}
/* expanded enum */
else if(type == PROP_ENUM && (expand || RNA_property_flag(prop) & PROP_ENUM_FLAG))
@@ -1348,7 +1361,7 @@ void uiItemPointerR(uiLayout *layout, struct PointerRNA *ptr, const char *propna
static void ui_item_menutype_func(bContext *C, uiLayout *layout, void *arg_mt)
{
MenuType *mt= (MenuType*)arg_mt;
- Menu menu = {0};
+ Menu menu = {NULL};
menu.type= mt;
menu.layout= layout;
@@ -1391,7 +1404,7 @@ static void ui_item_menu(uiLayout *layout, const char *name, int icon, uiMenuCre
if(layout->root->type == UI_LAYOUT_HEADER)
uiBlockSetEmboss(block, UI_EMBOSS);
- else if(layout->root->type == UI_LAYOUT_PANEL) {
+ else if(ELEM(layout->root->type, UI_LAYOUT_PANEL, UI_LAYOUT_TOOLBAR)) {
but->type= MENU;
but->flag |= UI_TEXT_LEFT;
}
@@ -1513,7 +1526,7 @@ static void menu_item_enum_opname_menu(bContext *UNUSED(C), uiLayout *layout, vo
{
MenuItemLevel *lvl= (MenuItemLevel*)(((uiBut*)arg)->func_argN);
- uiLayoutSetOperatorContext(layout, WM_OP_EXEC_REGION_WIN);
+ uiLayoutSetOperatorContext(layout, lvl->opcontext);
uiItemsEnumO(layout, lvl->opname, lvl->propname);
}
@@ -1612,7 +1625,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;
@@ -2017,7 +2030,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);
@@ -2239,9 +2252,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;
@@ -2744,6 +2757,25 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
uiItemL(layout, "* Redo Unsupported *", ICON_NONE); // XXX, could give some nicer feedback or not show redo panel at all?
}
+ /* menu */
+ if(op->type->flag & OPTYPE_PRESET) {
+ /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
+ PointerRNA op_ptr;
+ uiLayout *row;
+
+ row= uiLayoutRow(layout, TRUE);
+ uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
+
+ WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+ RNA_string_set(&op_ptr, "operator", op->type->idname);
+ op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+
+ WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
+ RNA_string_set(&op_ptr, "operator", op->type->idname);
+ RNA_boolean_set(&op_ptr, "remove_active", 1);
+ op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
+ }
+
if(op->type->ui) {
op->layout= layout;
op->type->ui((bContext*)C, op);
@@ -2758,25 +2790,6 @@ void uiLayoutOperatorButs(const bContext *C, uiLayout *layout, wmOperator *op,in
RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
- /* menu */
- if(op->type->flag & OPTYPE_PRESET) {
- /* XXX, no simple way to get WM_MT_operator_presets.bl_label from python! Label remains the same always! */
- PointerRNA op_ptr;
- uiLayout *row;
-
- row= uiLayoutRow(layout, TRUE);
- uiItemM(row, (bContext *)C, "WM_MT_operator_presets", NULL, ICON_NONE);
-
- WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
- RNA_string_set(&op_ptr, "operator", op->type->idname);
- op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMIN, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
-
- WM_operator_properties_create(&op_ptr, "WM_OT_operator_preset_add");
- RNA_string_set(&op_ptr, "operator", op->type->idname);
- RNA_boolean_set(&op_ptr, "remove_active", 1);
- op_ptr= uiItemFullO(row, "WM_OT_operator_preset_add", "", ICON_ZOOMOUT, op_ptr.data, WM_OP_INVOKE_DEFAULT, 0);
- }
-
/* main draw call */
empty= uiDefAutoButsRNA(layout, &ptr, check_prop, label_align) == 0;
diff --git a/source/blender/editors/interface/interface_panel.c b/source/blender/editors/interface/interface_panel.c
index 9ed3cabb4cb..3b20533dcd4 100644
--- a/source/blender/editors/interface/interface_panel.c
+++ b/source/blender/editors/interface/interface_panel.c
@@ -575,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 623651083d2..a55ee01202c 100644
--- a/source/blender/editors/interface/interface_regions.c
+++ b/source/blender/editors/interface/interface_regions.c
@@ -424,7 +424,8 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
if (unit_type == PROP_UNIT_ROTATION) {
if (RNA_property_type(but->rnaprop) == PROP_FLOAT) {
- BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Radians: %f", RNA_property_float_get_index(&but->rnapoin, but->rnaprop, but->rnaindex));
+ float value= RNA_property_array_check(but->rnaprop) ? RNA_property_float_get_index(&but->rnapoin, but->rnaprop, but->rnaindex) : RNA_property_float_get(&but->rnapoin, but->rnaprop);
+ BLI_snprintf(data->lines[data->totline], sizeof(data->lines[0]), "Radians: %f", value);
data->color[data->totline]= 0x888888;
data->totline++;
}
@@ -484,6 +485,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);
@@ -1177,7 +1189,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
uiBut *bt;
uiSafetyRct *saferct;
rctf butrct;
- float aspect;
+ /*float aspect;*/ /*UNUSED*/
int xsize, ysize, xof=0, yof=0, center;
short dir1= 0, dir2=0;
@@ -1212,7 +1224,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
}
}
- aspect= (float)(block->maxx - block->minx + 4);
+ /*aspect= (float)(block->maxx - block->minx + 4);*/ /*UNUSED*/
ui_block_to_window_fl(butregion, but->block, &block->minx, &block->miny);
ui_block_to_window_fl(butregion, but->block, &block->maxx, &block->maxy);
@@ -1221,7 +1233,7 @@ static void ui_block_position(wmWindow *window, ARegion *butregion, uiBut *but,
xsize= block->maxx - block->minx+4; // 4 for shadow
ysize= block->maxy - block->miny+4;
- aspect/= (float)xsize;
+ /*aspect/= (float)xsize;*/ /*UNUSED*/
if(but) {
int left=0, right=0, top=0, down=0;
@@ -1923,31 +1935,31 @@ static void do_picker_new_mode_cb(bContext *UNUSED(C), void *bt1, void *UNUSED(a
#define PICKER_TOTAL_W (PICKER_W+PICKER_SPACE+PICKER_BAR)
-static void circle_picker(uiBlock *block, PointerRNA *ptr, const char *propname)
+static void circle_picker(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop)
{
uiBut *bt;
/* HS circle */
- bt= uiDefButR(block, HSVCIRCLE, 0, "", 0, 0, PICKER_H, PICKER_W, ptr, propname, 0, 0.0, 0.0, 0, 0, "Color");
+ bt= uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, PICKER_H, PICKER_W, ptr, prop, 0, 0.0, 0.0, 0, 0, "Color");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
/* value */
- bt= uiDefButR(block, HSVCUBE, 0, "", PICKER_W+PICKER_SPACE,0,PICKER_BAR,PICKER_H, ptr, propname, 0, 0.0, 0.0, UI_GRAD_V_ALT, 0, "Value");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", PICKER_W+PICKER_SPACE,0,PICKER_BAR,PICKER_H, ptr, prop, 0, 0.0, 0.0, UI_GRAD_V_ALT, 0, "Value");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
-static void square_picker(uiBlock *block, PointerRNA *ptr, const char *propname, int type)
+static void square_picker(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int type)
{
uiBut *bt;
int bartype = type + 3;
/* HS square */
- bt= uiDefButR(block, HSVCUBE, 0, "", 0, PICKER_BAR+PICKER_SPACE, PICKER_TOTAL_W, PICKER_H, ptr, propname, 0, 0.0, 0.0, type, 0, "Color");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", 0, PICKER_BAR+PICKER_SPACE, PICKER_TOTAL_W, PICKER_H, ptr, prop, 0, 0.0, 0.0, type, 0, "Color");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
/* value */
- bt= uiDefButR(block, HSVCUBE, 0, "", 0, 0, PICKER_TOTAL_W, PICKER_BAR, ptr, propname, 0, 0.0, 0.0, bartype, 0, "Value");
+ bt= uiDefButR_prop(block, HSVCUBE, 0, "", 0, 0, PICKER_TOTAL_W, PICKER_BAR, ptr, prop, 0, 0.0, 0.0, bartype, 0, "Value");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
@@ -1962,7 +1974,6 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
static char hexcol[128];
float rgb_gamma[3];
float min, max, step, precision;
- const char *propname = RNA_property_identifier(prop);
float *hsv= ui_block_hsv_get(block);
ui_block_hsv_get(block);
@@ -1988,16 +1999,16 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
switch (U.color_picker_type) {
case USER_CP_CIRCLE:
- circle_picker(block, ptr, propname);
+ circle_picker(block, ptr, prop);
break;
case USER_CP_SQUARE_SV:
- square_picker(block, ptr, propname, UI_GRAD_SV);
+ square_picker(block, ptr, prop, UI_GRAD_SV);
break;
case USER_CP_SQUARE_HS:
- square_picker(block, ptr, propname, UI_GRAD_HS);
+ square_picker(block, ptr, prop, UI_GRAD_HS);
break;
case USER_CP_SQUARE_HV:
- square_picker(block, ptr, propname, UI_GRAD_HV);
+ square_picker(block, ptr, prop, UI_GRAD_HV);
break;
}
@@ -2016,11 +2027,11 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
/* RGB values */
uiBlockBeginAlign(block);
- bt= uiDefButR(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, propname, 0, 0.0, 0.0, 0, 3, "Red");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "R ", 0, -60, butwidth, UI_UNIT_Y, ptr, prop, 0, 0.0, 0.0, 0, 3, "Red");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
- bt= uiDefButR(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, propname, 1, 0.0, 0.0, 0, 3, "Green");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "G ", 0, -80, butwidth, UI_UNIT_Y, ptr, prop, 1, 0.0, 0.0, 0, 3, "Green");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
- bt= uiDefButR(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, propname, 2, 0.0, 0.0, 0, 3, "Blue");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "B ", 0, -100, butwidth, UI_UNIT_Y, ptr, prop, 2, 0.0, 0.0, 0, 3, "Blue");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
// could use uiItemFullR(col, ptr, prop, -1, 0, UI_ITEM_R_EXPAND|UI_ITEM_R_SLIDER, "", ICON_NONE);
@@ -2037,7 +2048,7 @@ static void uiBlockPicker(uiBlock *block, float *rgb, PointerRNA *ptr, PropertyR
uiBlockEndAlign(block);
if(rgb[3] != FLT_MAX) {
- bt= uiDefButR(block, NUMSLI, 0, "A ", 0, -120, butwidth, UI_UNIT_Y, ptr, propname, 3, 0.0, 0.0, 0, 0, "Alpha");
+ bt= uiDefButR_prop(block, NUMSLI, 0, "A ", 0, -120, butwidth, UI_UNIT_Y, ptr, prop, 3, 0.0, 0.0, 0, 0, "Alpha");
uiButSetFunc(bt, do_picker_rna_cb, bt, NULL);
}
else {
@@ -2582,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);
@@ -2599,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..8d4b4209120 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;
@@ -149,9 +149,9 @@ void uiStyleFontDrawExt(uiFontStyle *fs, rcti *rect, const char *str,
int xofs=0, yofs;
uiStyleFontSet(fs);
-
- height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
- yofs= floor( 0.5f*(rect->ymax - rect->ymin - height));
+
+ height= BLF_ascender(fs->uifont_id);
+ yofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
if(fs->align==UI_STYLE_TEXT_CENTER) {
xofs= floor( 0.5f*(rect->xmax - rect->xmin - BLF_width(fs->uifont_id, str)));
@@ -206,9 +206,9 @@ void uiStyleFontDrawRotated(uiFontStyle *fs, rcti *rect, const char *str)
uiStyleFontSet(fs);
- height= BLF_height(fs->uifont_id, "2"); /* correct offset is on baseline, the j is below that */
+ height= BLF_ascender(fs->uifont_id);
/* becomes x-offset when rotated */
- xofs= floor( 0.5f*(rect->ymax - rect->ymin - height)) + 1;
+ xofs= ceil( 0.5f*(rect->ymax - rect->ymin - height));
/* ignore UI_STYLE, always aligned to top */
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index bbd1bd8773b..d2cee11c755 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -33,11 +33,14 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
+#include "DNA_key_types.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BKE_animsys.h"
#include "BKE_colortools.h"
@@ -52,9 +55,11 @@
#include "BKE_displist.h"
#include "ED_screen.h"
+#include "ED_object.h"
#include "ED_render.h"
#include "RNA_access.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
@@ -234,7 +239,7 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
{
TemplateID *template= (TemplateID*)arg_litem;
PointerRNA idptr= RNA_property_pointer_get(&template->ptr, template->prop);
- ID *id= idptr.data, *newid;
+ ID *id= idptr.data;
int event= GET_INT_FROM_POINTER(arg_event);
switch(event) {
@@ -274,18 +279,19 @@ static void template_id_cb(bContext *C, void *arg_litem, void *arg_event)
break;
case UI_ID_ALONE:
if(id) {
+ const int do_scene_obj= (GS(id->name) == ID_OB) &&
+ (template->ptr.type == &RNA_SceneObjects);
+
/* make copy */
- if(id_copy(id, &newid, 0) && newid) {
- /* copy animation actions too */
- BKE_copy_animdata_id_action(id);
- /* us is 1 by convention, but RNA_property_pointer_set
- will also incremement it, so set it to zero */
- newid->us= 0;
-
- /* assign copy */
- RNA_id_pointer_create(newid, &idptr);
- RNA_property_pointer_set(&template->ptr, template->prop, idptr);
- RNA_property_update(C, &template->ptr, template->prop);
+ if(do_scene_obj) {
+ Scene *scene= CTX_data_scene(C);
+ ED_object_single_user(scene, (struct Object *)id);
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+ }
+ else {
+ if(id) {
+ id_single_user(C, id, &template->ptr, template->prop);
+ }
}
}
break;
@@ -308,11 +314,13 @@ static const char *template_id_browse_tip(StructRNA *type)
case ID_MA: return "Browse Material to be linked";
case ID_TE: return "Browse Texture to be linked";
case ID_IM: return "Browse Image to be linked";
- case ID_LA: return "Browse Lattice Data to be linked";
+ case ID_LT: return "Browse Lattice Data to be linked";
+ case ID_LA: return "Browse Lamp Data to be linked";
case ID_CA: return "Browse Camera Data to be linked";
case ID_WO: return "Browse World Settings to be linked";
case ID_SCR: return "Choose Screen lay-out";
case ID_TXT: return "Browse Text to be linked";
+ case ID_SPK: return "Browse Speaker Data to be linked";
case ID_SO: return "Browse Sound to be linked";
case ID_AR: return "Browse Armature data to be linked";
case ID_AC: return "Browse Action to be linked";
@@ -403,10 +411,7 @@ static void template_ID(bContext *C, uiLayout *layout, TemplateID *template, Str
sprintf(str, "%d", id->us);
- if(id->us<10)
- but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
- else
- but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X+10,UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
+ but= uiDefBut(block, BUT, 0, str, 0,0,UI_UNIT_X + ((id->us < 10) ? 0:10), UI_UNIT_Y, NULL, 0, 0, 0, 0, "Displays number of users of this data. Click to make a single-user copy.");
uiButSetNFunc(but, template_id_cb, MEM_dupallocN(template), SET_INT_IN_POINTER(UI_ID_ALONE));
if(!id_copy(id, NULL, 1 /* test only */) || (idfrom && idfrom->lib) || !editable)
@@ -850,7 +855,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;
}
@@ -858,7 +863,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;
}
@@ -975,9 +980,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);
@@ -1082,7 +1084,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;
}
@@ -1090,7 +1092,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;
}
@@ -1136,7 +1138,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;
}
@@ -1586,21 +1588,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 +1647,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 +1669,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 +1731,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 +1749,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 +1771,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 +1794,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);
@@ -1885,7 +1888,7 @@ void uiTemplateColorWheel(uiLayout *layout, PointerRNA *ptr, const char *propnam
col = uiLayoutColumn(layout, 0);
row= uiLayoutRow(col, 1);
- but= uiDefButR(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, propname, -1, 0.0, 0.0, 0, 0, "");
+ but= uiDefButR_prop(block, HSVCIRCLE, 0, "", 0, 0, WHEEL_SIZE, WHEEL_SIZE, ptr, prop, -1, 0.0, 0.0, 0, 0, "");
if(lock) {
but->flag |= UI_BUT_COLOR_LOCK;
@@ -1904,7 +1907,7 @@ void uiTemplateColorWheel(uiLayout *layout, PointerRNA *ptr, const char *propnam
uiItemS(row);
if (value_slider)
- uiDefButR(block, HSVCUBE, 0, "", WHEEL_SIZE+6, 0, 14, WHEEL_SIZE, ptr, propname, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
+ uiDefButR_prop(block, HSVCUBE, 0, "", WHEEL_SIZE+6, 0, 14, WHEEL_SIZE, ptr, prop, -1, softmin, softmax, UI_GRAD_V_ALT, 0, "");
}
/********************* Layer Buttons Template ************************/
@@ -2035,7 +2038,7 @@ static int list_item_icon_get(bContext *C, PointerRNA *itemptr, int rnaicon, int
return rnaicon;
}
-static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *itemptr, int i, int rnaicon, PointerRNA *activeptr, const char *activepropname)
+static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, PointerRNA *itemptr, int i, int rnaicon, PointerRNA *activeptr, PropertyRNA *activeprop)
{
uiBlock *block= uiLayoutGetBlock(layout);
uiBut *but;
@@ -2049,7 +2052,7 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
/* list item behind label & other buttons */
sub= uiLayoutRow(overlap, 0);
- but= uiDefButR(block, LISTROW, 0, "", 0,0, UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, "");
+ but= uiDefButR_prop(block, LISTROW, 0, "", 0,0, UI_UNIT_X*10,UI_UNIT_Y, activeptr, activeprop, 0, 0, i, 0, 0, "");
uiButSetFlag(but, UI_BUT_NO_TOOLTIP);
sub= uiLayoutRow(overlap, 0);
@@ -2103,6 +2106,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->id.data;
split= uiLayoutSplit(sub, 0.75f, 0);
@@ -2110,7 +2114,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))
@@ -2118,6 +2122,15 @@ static void list_item_row(bContext *C, uiLayout *layout, PointerRNA *ptr, Pointe
//uiItemR(row, itemptr, "mute", 0, "", ICON_MUTE_IPO_OFF);
uiBlockSetEmboss(block, UI_EMBOSS);
}
+ else if(itemptr->type == &RNA_KeyingSetPath) {
+ KS_Path *ksp = (KS_Path*)itemptr->data;
+
+ /* icon needs to be the type of ID which is currently active */
+ RNA_enum_icon_from_value(id_type_items, ksp->idtype, &icon);
+
+ /* nothing else special to do... */
+ uiItemL(sub, name, icon); /* fails, backdrop LISTROW... */
+ }
else
uiItemL(sub, name, icon); /* fails, backdrop LISTROW... */
@@ -2168,14 +2181,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,11 +2210,11 @@ 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);
- but= uiDefIconButR(block, LISTROW, 0, icon, 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activepropname, 0, 0, i, 0, 0, "");
+ but= uiDefIconButR_prop(block, LISTROW, 0, icon, 0,0,UI_UNIT_X*10,UI_UNIT_Y, activeptr, activeprop, 0, 0, i, 0, 0, "");
uiButSetFlag(but, UI_BUT_NO_TOOLTIP);
@@ -2212,7 +2225,6 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
}
else if(listtype == 'c') {
/* compact layout */
- found= 0;
row= uiLayoutRow(layout, 1);
@@ -2242,7 +2254,7 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* next/prev button */
sprintf(str, "%d :", i);
- but= uiDefIconTextButR(block, NUM, 0, 0, str, 0,0,UI_UNIT_X*5,UI_UNIT_Y, activeptr, activepropname, 0, 0, 0, 0, 0, "");
+ but= uiDefIconTextButR_prop(block, NUM, 0, 0, str, 0,0,UI_UNIT_X*5,UI_UNIT_Y, activeptr, activeprop, 0, 0, 0, 0, 0, "");
if(i == 0)
uiButSetFlag(but, UI_BUT_DISABLED);
}
@@ -2281,7 +2293,7 @@ void uiTemplateList(uiLayout *layout, bContext *C, PointerRNA *ptr, const char *
/* create list items */
RNA_PROP_BEGIN(ptr, itemptr, prop) {
if(i >= pa->list_scroll && i<pa->list_scroll+items)
- list_item_row(C, col, ptr, &itemptr, i, rnaicon, activeptr, activepropname);
+ list_item_row(C, col, ptr, &itemptr, i, rnaicon, activeptr, activeprop);
i++;
}
@@ -2315,10 +2327,11 @@ static void operator_call_cb(bContext *C, void *UNUSED(arg1), void *arg2)
static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
if(BLI_strcasestr(ot->name, str)) {
if(WM_operator_poll((bContext*)C, ot)) {
char name[256];
@@ -2338,6 +2351,7 @@ static void operator_search_cb(const bContext *C, void *UNUSED(arg), const char
}
}
}
+ BLI_ghashIterator_free(iter);
}
void uiTemplateOperatorSearch(uiLayout *layout)
@@ -2359,6 +2373,7 @@ void uiTemplateOperatorSearch(uiLayout *layout)
#define B_STOPCAST 2
#define B_STOPANIM 3
#define B_STOPCOMPO 4
+#define B_STOPSEQ 5
static void do_running_jobs(bContext *C, void *UNUSED(arg), int event)
{
@@ -2375,6 +2390,9 @@ static void do_running_jobs(bContext *C, void *UNUSED(arg), int event)
case B_STOPCOMPO:
WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL);
break;
+ case B_STOPSEQ:
+ WM_jobs_stop(CTX_wm_manager(C), CTX_wm_area(C), NULL);
+ break;
}
}
@@ -2396,8 +2414,11 @@ void uiTemplateRunningJobs(uiLayout *layout, bContext *C)
if(WM_jobs_test(wm, sa))
owner = sa;
handle_event= B_STOPCOMPO;
- }
- else {
+ } else if (sa->spacetype==SPACE_SEQ) {
+ if(WM_jobs_test(wm, sa))
+ owner = sa;
+ handle_event = B_STOPSEQ;
+ } else {
Scene *scene;
/* another scene can be rendering too, for example via compositor */
for(scene= CTX_data_main(C)->scene.first; scene; scene= scene->id.next)
diff --git a/source/blender/editors/interface/interface_utils.c b/source/blender/editors/interface/interface_utils.c
index 1ec125c2f26..a3f56192cb5 100644
--- a/source/blender/editors/interface/interface_utils.c
+++ b/source/blender/editors/interface/interface_utils.c
@@ -51,56 +51,53 @@
uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2)
{
uiBut *but=NULL;
- const char *propname= RNA_property_identifier(prop);
- char prop_item[MAX_IDPROP_NAME+4]; /* size of the ID prop name + room for [""] */
- int arraylen= RNA_property_array_length(ptr, prop);
-
- /* support for custom props */
- if(RNA_property_is_idprop(prop)) {
- sprintf(prop_item, "[\"%s\"]", propname);
- propname= prop_item;
- }
switch(RNA_property_type(prop)) {
- case PROP_BOOLEAN: {
+ case PROP_BOOLEAN:
+ {
+ int arraylen= RNA_property_array_length(ptr, prop);
if(arraylen && index == -1)
return NULL;
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, ICONTOG, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, ICONTOG, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, ICONTOG, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, ICONTOG, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, OPTION, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, OPTION, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
}
case PROP_INT:
case PROP_FLOAT:
+ {
+ int arraylen= RNA_property_array_length(ptr, prop);
+
if(arraylen && index == -1) {
if(ELEM(RNA_property_subtype(prop), PROP_COLOR, PROP_COLOR_GAMMA))
- but= uiDefButR(block, COL, 0, name, x1, y1, x2, y2, ptr, propname, 0, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, COL, 0, name, x1, y1, x2, y2, ptr, prop, 0, 0, 0, -1, -1, NULL);
}
else if(RNA_property_subtype(prop) == PROP_PERCENTAGE || RNA_property_subtype(prop) == PROP_FACTOR)
- but= uiDefButR(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, NUMSLI, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, NUM, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, NUM, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
+ }
case PROP_ENUM:
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, MENU, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, MENU, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, MENU, 0, icon, NULL, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, MENU, 0, icon, NULL, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, MENU, 0, NULL, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, MENU, 0, NULL, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
case PROP_STRING:
if(icon && name && name[0] == '\0')
- but= uiDefIconButR(block, TEX, 0, icon, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconButR_prop(block, TEX, 0, icon, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else if(icon)
- but= uiDefIconTextButR(block, TEX, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, TEX, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
else
- but= uiDefButR(block, TEX, 0, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefButR_prop(block, TEX, 0, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
case PROP_POINTER: {
PointerRNA pptr;
@@ -112,7 +109,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
if(icon == ICON_DOT)
icon= 0;
- but= uiDefIconTextButR(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, propname, index, 0, 0, -1, -1, NULL);
+ but= uiDefIconTextButR_prop(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
break;
}
case PROP_COLLECTION: {
@@ -146,7 +143,7 @@ int uiDefAutoButsRNA(uiLayout *layout, PointerRNA *ptr, int (*check_prop)(Proper
if(label_align != '\0') {
PropertyType type = RNA_property_type(prop);
- int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(ptr, prop));
+ int is_boolean = (type == PROP_BOOLEAN && !RNA_property_array_check(prop));
name= RNA_property_ui_name(prop);
diff --git a/source/blender/editors/interface/interface_widgets.c b/source/blender/editors/interface/interface_widgets.c
index 41bb12e4433..5da875356ea 100644
--- a/source/blender/editors/interface/interface_widgets.c
+++ b/source/blender/editors/interface/interface_widgets.c
@@ -180,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.125f;
glColor4fv(color);
/* for each AA step */
@@ -771,7 +771,6 @@ 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 UI_DPI_FAC*16.0f
static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, rcti *rect)
{
@@ -791,15 +790,15 @@ static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, rcti *rect
if(aspect != but->aspect) {
/* prevent scaling up icon in pupmenu */
if (aspect < 1.0f) {
- height= ICON_HEIGHT;
+ height= UI_DPI_ICON_SIZE;
aspect = 1.0f;
}
else
- height= ICON_HEIGHT/aspect;
+ height= UI_DPI_ICON_SIZE/aspect;
}
else
- height= ICON_HEIGHT;
+ height= UI_DPI_ICON_SIZE;
/* calculate blend color */
if ELEM4(but->type, TOG, ROW, TOGN, LISTROW) {
@@ -866,7 +865,7 @@ static void ui_text_leftclip(uiFontStyle *fstyle, uiBut *but, rcti *rect)
int border= (but->flag & UI_BUT_ALIGN_RIGHT)? 8: 10;
int okwidth= rect->xmax-rect->xmin - border;
- if (but->flag & UI_HAS_ICON) okwidth -= 16;
+ if (but->flag & UI_HAS_ICON) okwidth -= UI_DPI_ICON_SIZE;
/* need to set this first */
uiStyleFontSet(fstyle);
@@ -1149,7 +1148,7 @@ static void widget_draw_text_icon(uiFontStyle *fstyle, uiWidgetColors *wcol, uiB
if (but->flag & UI_HAS_ICON) {
widget_draw_icon(but, but->icon+but->iconadd, 1.0f, rect);
- rect->xmin += UI_icon_get_width(but->icon+but->iconadd);
+ rect->xmin += (int)((float)UI_icon_get_width(but->icon+but->iconadd) * UI_DPI_ICON_FAC);
if(but->editstr || (but->flag & UI_TEXT_LEFT))
rect->xmin += 5;
@@ -2326,39 +2325,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 +2600,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 +2876,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) {
@@ -3128,7 +3132,7 @@ void ui_draw_menu_item(uiFontStyle *fstyle, rcti *rect, const char *name, int ic
/* text location offset */
rect->xmin+=5;
- if(iconid) rect->xmin+= ICON_HEIGHT;
+ if(iconid) rect->xmin+= UI_DPI_ICON_SIZE;
/* cut string in 2 parts? */
cpoin= strchr(name, '|');
@@ -3153,7 +3157,7 @@ void ui_draw_menu_item(uiFontStyle *fstyle, rcti *rect, const char *name, int ic
if(iconid) {
int xs= rect->xmin+4;
- int ys= 1 + (rect->ymin+rect->ymax- ICON_HEIGHT)/2;
+ int ys= 1 + (rect->ymin+rect->ymax- UI_DPI_ICON_SIZE)/2;
glEnable(GL_BLEND);
UI_icon_draw_aspect(xs, ys, iconid, 1.2f, 0.5f); /* XXX scale weak get from fstyle? */
glDisable(GL_BLEND);
diff --git a/source/blender/editors/interface/resources.c b/source/blender/editors/interface/resources.c
index 6527e0140b8..692c8940a21 100644
--- a/source/blender/editors/interface/resources.c
+++ b/source/blender/editors/interface/resources.c
@@ -1,6 +1,3 @@
-/** \file blender/editors/interface/resources.c
- * \ingroup edinterface
- */
/*
* $Id$
*
@@ -33,6 +30,10 @@
* ***** END GPL/BL DUAL LICENSE BLOCK *****
*/
+/** \file blender/editors/interface/resources.c
+ * \ingroup edinterface
+ */
+
#include <math.h>
#include <stdlib.h>
#include <string.h>
@@ -249,6 +250,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->wire; break;
case TH_LAMP:
cp= ts->lamp; break;
+ case TH_SPEAKER:
+ cp= ts->speaker; break;
case TH_SELECT:
cp= ts->select; break;
case TH_ACTIVE:
@@ -325,6 +328,8 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->handle_free; break;
case TH_HANDLE_AUTO:
cp= ts->handle_auto; break;
+ case TH_HANDLE_AUTOCLAMP:
+ cp= ts->handle_auto_clamped; break;
case TH_HANDLE_VECT:
cp= ts->handle_vect; break;
case TH_HANDLE_ALIGN:
@@ -333,11 +338,13 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->handle_sel_free; break;
case TH_HANDLE_SEL_AUTO:
cp= ts->handle_sel_auto; break;
+ case TH_HANDLE_SEL_AUTOCLAMP:
+ cp= ts->handle_sel_auto_clamped; break;
case TH_HANDLE_SEL_VECT:
cp= ts->handle_sel_vect; break;
case TH_HANDLE_SEL_ALIGN:
cp= ts->handle_sel_align; break;
-
+
case TH_SYNTAX_B:
cp= ts->syntaxb; break;
case TH_SYNTAX_V:
@@ -359,7 +366,9 @@ const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colo
cp= ts->syntaxv; break;
case TH_NODE_GROUP:
cp= ts->syntaxc; break;
-
+ case TH_NODE_CURVING:
+ cp= &ts->noodle_curving; break;
+
case TH_SEQ_MOVIE:
cp= ts->movie; break;
case TH_SEQ_IMAGE:
@@ -584,6 +593,7 @@ void ui_theme_init_default(void)
SETCOLF(btheme->tv3d.grid, 0.251, 0.251, 0.251, 1.0);
SETCOL(btheme->tv3d.wire, 0x0, 0x0, 0x0, 255);
SETCOL(btheme->tv3d.lamp, 0, 0, 0, 40);
+ SETCOL(btheme->tv3d.speaker, 0, 0, 0, 255);
SETCOL(btheme->tv3d.select, 241, 88, 0, 255);
SETCOL(btheme->tv3d.active, 255, 170, 64, 255);
SETCOL(btheme->tv3d.group, 8, 48, 8, 255);
@@ -663,7 +673,9 @@ void ui_theme_init_default(void)
SETCOL(btheme->tipo.handle_vertex, 0, 0, 0, 255);
SETCOL(btheme->tipo.handle_vertex_select, 255, 133, 0, 255);
- btheme->tipo.handle_vertex_size= 3;
+ SETCOL(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
+ SETCOL(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
+ btheme->tipo.handle_vertex_size= 4;
SETCOL(btheme->tipo.ds_channel, 82, 96, 110, 255);
SETCOL(btheme->tipo.ds_subchannel, 124, 137, 150, 255);
@@ -786,6 +798,7 @@ void ui_theme_init_default(void)
SETCOL(btheme->tnode.syntaxb, 108, 105, 111, 255); /* operator */
SETCOL(btheme->tnode.syntaxv, 104, 106, 117, 255); /* generator */
SETCOL(btheme->tnode.syntaxc, 105, 117, 110, 255); /* group */
+ btheme->tnode.noodle_curving = 5;
/* space logic */
btheme->tlogic= btheme->tv3d;
@@ -1115,10 +1128,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, "/");
@@ -1420,7 +1434,7 @@ void init_userdef_do_versions(void)
if (bmain->versionfile < 250 || (bmain->versionfile == 250 && bmain->subversionfile < 8)) {
wmKeyMap *km;
- for(km=U.keymaps.first; km; km=km->next) {
+ for(km=U.user_keymaps.first; km; km=km->next) {
if (strcmp(km->idname, "Armature_Sketch")==0)
strcpy(km->idname, "Armature Sketch");
else if (strcmp(km->idname, "View3D")==0)
@@ -1551,7 +1565,37 @@ void init_userdef_do_versions(void)
/* clear "AUTOKEY_FLAG_ONLYKEYINGSET" flag from userprefs, so that it doesn't linger around from old configs like a ghost */
U.autokey_flag &= ~AUTOKEY_FLAG_ONLYKEYINGSET;
}
+
+ if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 2)) {
+ bTheme *btheme;
+ for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+ btheme->tnode.noodle_curving = 5;
+ }
+ }
+
+ if (bmain->versionfile < 258 || (bmain->versionfile == 258 && bmain->subversionfile < 1)) {
+ bTheme *btheme;
+
+ /* if new keyframes handle default is stuff "auto", make it "auto-clamped" instead */
+ if (U.keyhandles_new == HD_AUTO)
+ U.keyhandles_new = HD_AUTO_ANIM;
+
+ /* theme color additions */
+ for (btheme= U.themes.first; btheme; btheme= btheme->next) {
+ /* auto-clamped handles -> based on auto */
+ SETCOL(btheme->tipo.handle_auto_clamped, 0x99, 0x40, 0x30, 255);
+ SETCOL(btheme->tipo.handle_sel_auto_clamped, 0xf0, 0xaf, 0x90, 255);
+ }
+ }
+ if (bmain->versionfile < 259 || (bmain->versionfile == 259 && bmain->subversionfile < 1)) {
+ bTheme *btheme;
+
+ for(btheme= U.themes.first; btheme; btheme= btheme->next) {
+ btheme->tv3d.speaker[3] = 255;
+ }
+ }
+
/* GL Texture Garbage Collection (variable abused above!) */
if (U.textimeout == 0) {
U.texcollectrate = 60;
@@ -1580,6 +1624,14 @@ void init_userdef_do_versions(void)
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;
+
+ if (U.ndof_sensitivity == 0.0f) {
+ U.ndof_sensitivity = 1.0f;
+ U.ndof_flag = NDOF_LOCK_HORIZON |
+ NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM | NDOF_SHOULD_ROTATE;
+ }
/* 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 eb522a1d2b8..43bf2f59e04 100644
--- a/source/blender/editors/interface/view2d.c
+++ b/source/blender/editors/interface/view2d.c
@@ -1542,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 */
diff --git a/source/blender/editors/mesh/CMakeLists.txt b/source/blender/editors/mesh/CMakeLists.txt
index bd8789b9eef..02a25a2a122 100644
--- a/source/blender/editors/mesh/CMakeLists.txt
+++ b/source/blender/editors/mesh/CMakeLists.txt
@@ -22,13 +22,13 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/mesh/SConscript b/source/blender/editors/mesh/SConscript
index 34936c025bc..b992ae5f04c 100644
--- a/source/blender/editors/mesh/SConscript
+++ b/source/blender/editors/mesh/SConscript
@@ -8,7 +8,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../gpu ../../blenloader'
incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/mesh/editmesh.c b/source/blender/editors/mesh/editmesh.c
index ec08bfccda3..e371c346f36 100644
--- a/source/blender/editors/mesh/editmesh.c
+++ b/source/blender/editors/mesh/editmesh.c
@@ -1099,7 +1099,7 @@ void load_editMesh(Scene *scene, Object *obedit)
int j;
for (ob=G.main->object.first; ob; ob=ob->id.next) {
- if (ob->parent==ob && ELEM(ob->partype, PARVERT1,PARVERT3)) {
+ if (ob->parent==obedit && ELEM(ob->partype, PARVERT1,PARVERT3)) {
/* duplicate code from below, make it function later...? */
if (!vertMap) {
@@ -1449,9 +1449,8 @@ static int mesh_separate_material(wmOperator *op, Main *bmain, Scene *scene, Bas
/* select the material */
EM_select_by_material(em, curr_mat);
/* and now separate */
- if(0==mesh_separate_selected(op, bmain, scene, editbase)) {
- BKE_mesh_end_editmesh(me, em);
- return 0;
+ if(em->totfacesel > 0) {
+ mesh_separate_selected(op, bmain, scene, editbase);
}
}
diff --git a/source/blender/editors/mesh/editmesh_lib.c b/source/blender/editors/mesh/editmesh_lib.c
index b7ed6ec14ca..0afa2d01702 100644
--- a/source/blender/editors/mesh/editmesh_lib.c
+++ b/source/blender/editors/mesh/editmesh_lib.c
@@ -1141,6 +1141,9 @@ short extrudeflag_face_indiv(EditMesh *em, short UNUSED(flag), float *UNUSED(nor
EM_select_flush(em);
+ /* step 5; update normals after extrude */
+ recalc_editnormals(em);
+
return 'n';
}
@@ -1206,6 +1209,9 @@ short extrudeflag_edges_indiv(EditMesh *em, short flag, float *nor)
if(eed->v1->f & eed->v2->f & flag) eed->f |= flag;
}
+ /* update normals after extrude */
+ recalc_editnormals(em);
+
if(is_zero_v3(nor)) return 'g'; // g is grab
return 'n'; // n is for normal constraint
}
@@ -1485,6 +1491,9 @@ static short extrudeflag_edge(Object *obedit, EditMesh *em, short UNUSED(flag),
EM_select_flush(em);
+ /* step 8; update normals after extrude */
+ recalc_editnormals(em);
+
if(is_zero_v3(nor)) return 'g'; // grab
return 'n'; // normal constraint
}
diff --git a/source/blender/editors/mesh/editmesh_loop.c b/source/blender/editors/mesh/editmesh_loop.c
index 32971ca77ed..acbe5ef2144 100644
--- a/source/blender/editors/mesh/editmesh_loop.c
+++ b/source/blender/editors/mesh/editmesh_loop.c
@@ -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;
diff --git a/source/blender/editors/mesh/editmesh_mods.c b/source/blender/editors/mesh/editmesh_mods.c
index b5da36756b5..eb6854d2548 100644
--- a/source/blender/editors/mesh/editmesh_mods.c
+++ b/source/blender/editors/mesh/editmesh_mods.c
@@ -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 */
@@ -1697,7 +1697,7 @@ void EM_mesh_copy_face_layer(EditMesh *em, wmOperator *op, short type)
/* ctrl+c in mesh editmode */
-static void mesh_copy_menu(EditMesh *em, wmOperator *op)
+static void UNUSED_FUNCTION(mesh_copy_menu)(EditMesh *em, wmOperator *op)
{
EditSelection *ese;
int ret;
@@ -2339,7 +2339,7 @@ int mouse_mesh(bContext *C, const int 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 424d3dd5a38..9ff2923f733 100644
--- a/source/blender/editors/mesh/editmesh_tools.c
+++ b/source/blender/editors/mesh/editmesh_tools.c
@@ -3895,7 +3895,7 @@ void MESH_OT_edge_rotate(wmOperatorType *ot)
/* XXX old bevel not ported yet */
-static void bevel_menu(EditMesh *em)
+static void UNUSED_FUNCTION(bevel_menu)(EditMesh *em)
{
BME_Mesh *bm;
BME_TransData_Head *td;
@@ -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;
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 690a8ec2fcb..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
diff --git a/source/blender/editors/object/CMakeLists.txt b/source/blender/editors/object/CMakeLists.txt
index 3e9025be127..de74a0321c7 100644
--- a/source/blender/editors/object/CMakeLists.txt
+++ b/source/blender/editors/object/CMakeLists.txt
@@ -22,16 +22,16 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../ikplugin
../../imbuf
../../makesdna
../../makesrna
../../python
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../extern/recastnavigation/Recast/Include
)
diff --git a/source/blender/editors/object/SConscript b/source/blender/editors/object/SConscript
index 5460e3fa7fb..900c96044a5 100644
--- a/source/blender/editors/object/SConscript
+++ b/source/blender/editors/object/SConscript
@@ -11,7 +11,7 @@ incs += ' #extern/recastnavigation/Recast/Include'
defs = []
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/object/object_add.c b/source/blender/editors/object/object_add.c
index c5236a38970..fa529374bf7 100644
--- a/source/blender/editors/object/object_add.c
+++ b/source/blender/editors/object/object_add.c
@@ -35,15 +35,18 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
#include "DNA_curve_types.h"
#include "DNA_group_types.h"
#include "DNA_lamp_types.h"
+#include "DNA_key_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_object_fluidsim.h"
#include "DNA_object_force.h"
#include "DNA_scene_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_vfont_types.h"
#include "BLI_math.h"
@@ -63,15 +66,18 @@
#include "BKE_group.h"
#include "BKE_lattice.h"
#include "BKE_library.h"
+#include "BKE_key.h"
#include "BKE_main.h"
#include "BKE_material.h"
#include "BKE_mball.h"
#include "BKE_mesh.h"
#include "BKE_modifier.h"
+#include "BKE_nla.h"
#include "BKE_object.h"
#include "BKE_particle.h"
#include "BKE_report.h"
#include "BKE_sca.h"
+#include "BKE_speaker.h"
#include "BKE_texture.h"
#include "RNA_access.h"
@@ -182,7 +188,7 @@ void ED_object_add_generic_props(wmOperatorType *ot, int do_editmode)
}
RNA_def_float_vector_xyz(ot->srna, "location", 3, NULL, -FLT_MAX, FLT_MAX, "Location", "Location for the newly added object", -FLT_MAX, FLT_MAX);
- RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", -FLT_MAX, FLT_MAX);
+ RNA_def_float_rotation(ot->srna, "rotation", 3, NULL, -FLT_MAX, FLT_MAX, "Rotation", "Rotation for the newly added object", (float)-M_PI * 2.0f, (float)M_PI * 2.0f);
prop = RNA_def_boolean_layer_member(ot->srna, "layers", 20, NULL, "Layer", "");
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -270,8 +276,10 @@ int ED_object_add_generic_get_opts(bContext *C, wmOperator *op, float *loc, floa
RNA_boolean_set(op->ptr, "view_align", view_align);
}
- if (view_align)
+ if (view_align) {
ED_object_rotation_from_view(C, rot);
+ RNA_float_set_array(op->ptr, "rotation", rot);
+ }
else
RNA_float_get_array(op->ptr, "rotation", rot);
@@ -764,6 +772,61 @@ static int group_instance_add_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
}
+static int object_speaker_add_exec(bContext *C, wmOperator *op)
+{
+ Object *ob;
+ int enter_editmode;
+ unsigned int layer;
+ float loc[3], rot[3];
+ Scene *scene = CTX_data_scene(C);
+
+ object_add_generic_invoke_options(C, op);
+ if(!ED_object_add_generic_get_opts(C, op, loc, rot, &enter_editmode, &layer))
+ return OPERATOR_CANCELLED;
+
+ ob= ED_object_add_type(C, OB_SPEAKER, loc, rot, FALSE, layer);
+
+ /* to make it easier to start using this immediately in NLA, a default sound clip is created
+ * ready to be moved around to retime the sound and/or make new sound clips
+ */
+ {
+ /* create new data for NLA hierarchy */
+ AnimData *adt = BKE_id_add_animdata(&ob->id);
+ NlaTrack *nlt = add_nlatrack(adt, NULL);
+ NlaStrip *strip = add_nla_soundstrip(CTX_data_scene(C), ob->data);
+ strip->start = CFRA;
+ strip->end += strip->start;
+
+ /* hook them up */
+ BKE_nlatrack_add_strip(nlt, strip);
+
+ /* auto-name the strip, and give the track an interesting name */
+ strcpy(nlt->name, "SoundTrack");
+ BKE_nlastrip_validate_name(adt, strip);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_EDITED, NULL);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void OBJECT_OT_speaker_add(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Add Speaker";
+ ot->description = "Add a speaker object to the scene";
+ ot->idname= "OBJECT_OT_speaker_add";
+
+ /* api callbacks */
+ ot->exec= object_speaker_add_exec;
+ ot->poll= ED_operator_objectmode;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ED_object_add_generic_props(ot, TRUE);
+}
+
/* only used as menu */
void OBJECT_OT_group_instance_add(wmOperatorType *ot)
{
@@ -806,14 +869,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 +886,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);
@@ -1439,28 +1500,6 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, Base *base
}
/* duplicates using userflags */
-#if 0 // XXX old animation system
- if(dupflag & USER_DUP_IPO) {
- bConstraintChannel *chan;
- id= (ID *)obn->ipo;
-
- if(id) {
- ID_NEW_US( obn->ipo)
- else obn->ipo= copy_ipo(obn->ipo);
- id->us--;
- }
- /* Handle constraint ipos */
- for (chan=obn->constraintChannels.first; chan; chan=chan->next){
- id= (ID *)chan->ipo;
- if(id) {
- ID_NEW_US( chan->ipo)
- else chan->ipo= copy_ipo(chan->ipo);
- id->us--;
- }
- }
- }
-#endif // XXX old animation system
-
if(dupflag & USER_DUP_ACT) {
BKE_copy_animdata_id_action(&obn->id);
}
@@ -1602,12 +1641,26 @@ static Base *object_add_duplicate_internal(Main *bmain, Scene *scene, Base *base
id->us--;
}
break;
+ case OB_SPEAKER:
+ if(dupflag!=0) {
+ ID_NEW_US2(obn->data )
+ else {
+ obn->data= copy_speaker(obn->data);
+ didit= 1;
+ }
+ id->us--;
+ }
+ break;
+
}
/* check if obdata is copied */
if(didit) {
+ Key *key = ob_get_key(obn);
+
if(dupflag & USER_DUP_ACT) {
BKE_copy_animdata_id_action((ID *)obn->data);
+ if(key) BKE_copy_animdata_id_action((ID*)key);
}
if(dupflag & USER_DUP_MAT) {
diff --git a/source/blender/editors/object/object_bake.c b/source/blender/editors/object/object_bake.c
index 565c5810cff..07c006a7995 100644
--- a/source/blender/editors/object/object_bake.c
+++ b/source/blender/editors/object/object_bake.c
@@ -159,7 +159,7 @@ typedef struct {
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};
+ data->mface[face_num].v3, data->mface[face_num].v4};
const int smoothnormal= (data->mface[face_num].flag & ME_SMOOTH);
if(!smoothnormal) { /* flat */
@@ -636,14 +636,14 @@ static void apply_heights_data(void *bake_data)
if(ibuf->rect_float) {
float *rrgbf= ibuf->rect_float + i*4;
- if(max-min > 1e-5) height= (heights[i]-min)/(max-min);
+ if(max-min > 1e-5f) 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);
+ if(max-min > 1e-5f) height= (heights[i]-min)/(max-min);
else height= 0;
rrgb[0]=rrgb[1]=rrgb[2]= FTOCHAR(height);
@@ -852,37 +852,18 @@ static void finish_images(MultiresBakeRender *bkr)
for(link= bkr->image.first; link; link= link->next) {
Image *ima= (Image*)link->data;
- int i;
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
if(ibuf->x<=0 || ibuf->y<=0)
continue;
- /* Margin */
- if(bkr->bake_filter) {
- char *temprect;
+ RE_bake_ibuf_filter(ibuf, (char *)ibuf->userdata, bkr->bake_filter);
- /* extend the mask +2 pixels from the image,
- * this is so colors dont blend in from outside */
-
- for(i=0; i<bkr->bake_filter; i++)
- IMB_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 */
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
-
- /* clear all pixels in the margin */
- IMB_mask_clear(ibuf, temprect, FILTER_MASK_MARGIN);
- MEM_freeN(temprect);
+ ibuf->userflags|= IB_BITMAPDIRTY;
- for(i= 0; i<bkr->bake_filter; i++)
- IMB_filter_extend(ibuf, (char *)ibuf->userdata);
- }
+ if(ibuf->rect_float)
+ ibuf->userflags|= IB_RECT_INVALID;
- ibuf->userflags|= IB_BITMAPDIRTY;
if(ibuf->mipmap[0]) {
ibuf->userflags|= IB_MIPMAP_INVALID;
imb_freemipmapImBuf(ibuf);
@@ -989,9 +970,10 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
MultiresModifierData *mmd= get_multires_modifier(scene, ob, 0);
Mesh *me= (Mesh*)ob->data;
- *lvl= mmd->lvl;
+ if(ob->mode==OB_MODE_SCULPT) *lvl= mmd->sculptlvl;
+ else *lvl= mmd->lvl;
- if(mmd->lvl==0) {
+ if(*lvl==0) {
DerivedMesh *tmp_dm= CDDM_from_mesh(me, ob);
dm= CDDM_copy(tmp_dm);
tmp_dm->release(tmp_dm);
@@ -999,7 +981,7 @@ static DerivedMesh *multiresbake_create_loresdm(Scene *scene, Object *ob, int *l
MultiresModifierData tmp_mmd= *mmd;
DerivedMesh *cddm= CDDM_from_mesh(me, ob);
- tmp_mmd.lvl= mmd->lvl;
+ tmp_mmd.lvl= *lvl;
dm= multires_dm_create_from_derived(&tmp_mmd, 1, cddm, ob, 0, 0);
cddm->release(cddm);
}
@@ -1028,7 +1010,8 @@ static DerivedMesh *multiresbake_create_hiresdm(Scene *scene, Object *ob, int *l
static void clear_images(MTFace *mtface, int totface)
{
int a;
- 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};
for(a= 0; a<totface; a++)
mtface[a].tpage->id.flag&= ~LIB_DOIT;
@@ -1039,7 +1022,7 @@ static void clear_images(MTFace *mtface, int totface)
if((ima->id.flag&LIB_DOIT)==0) {
ImBuf *ibuf= BKE_image_get_ibuf(ima, NULL);
- IMB_rectfill(ibuf, vec);
+ IMB_rectfill(ibuf, (ibuf->depth == 32) ? vec_alpha : vec_solid);
ima->id.flag|= LIB_DOIT;
}
}
@@ -1332,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;
}
diff --git a/source/blender/editors/object/object_constraint.c b/source/blender/editors/object/object_constraint.c
index 450bd70a568..2055c906b41 100644
--- a/source/blender/editors/object/object_constraint.c
+++ b/source/blender/editors/object/object_constraint.c
@@ -567,7 +567,8 @@ static bConstraint *edit_constraint_property_get(wmOperator *op, Object *ob, int
}
con = constraints_findByName(list, constraint_name);
- printf("constraint found = %p, %s\n", (void *)con, (con)?con->name:"<Not found>");
+ //if (G.f & G_DEBUG)
+ //printf("constraint found = %p, %s\n", (void *)con, (con)?con->name:"<Not found>");
if (con && (type != 0) && (con->type != type))
con = NULL;
@@ -1114,14 +1115,19 @@ static int object_constraint_copy_exec(bContext *C, wmOperator *UNUSED(op))
CTX_DATA_BEGIN(C, Object*, ob, selected_editable_objects)
{
/* if we're not handling the object we're copying from, copy all constraints over */
- if (obact != ob)
+ if (obact != ob) {
copy_constraints(&ob->constraints, &obact->constraints, TRUE);
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ }
}
CTX_DATA_END;
/* force depsgraph to get recalculated since new relationships added */
DAG_scene_sort(bmain, scene); /* sort order of objects */
-
+
+ /* notifiers for updates */
+ WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT|NA_ADDED, NULL);
+
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/object/object_edit.c b/source/blender/editors/object/object_edit.c
index 527b97a6082..79cbfb6574b 100644
--- a/source/blender/editors/object/object_edit.c
+++ b/source/blender/editors/object/object_edit.c
@@ -721,7 +721,7 @@ static void spot_interactive(Object *ob, int mode)
}
#endif
-static void special_editmenu(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(special_editmenu)(Scene *scene, View3D *v3d)
{
// XXX static short numcuts= 2;
Object *ob= OBACT;
@@ -1049,109 +1049,6 @@ static void copymenu_logicbricks(Scene *scene, View3D *v3d, Object *ob)
}
}
-static void copymenu_modifiers(Main *bmain, Scene *scene, View3D *v3d, Object *ob)
-{
- Base *base;
- int i, event;
- char str[512];
- const char *errorstr= NULL;
-
- strcpy(str, "Copy Modifiers %t");
-
- sprintf(str+strlen(str), "|All%%x%d|%%l", NUM_MODIFIER_TYPES);
-
- for (i=eModifierType_None+1; i<NUM_MODIFIER_TYPES; i++) {
- ModifierTypeInfo *mti = modifierType_getInfo(i);
-
- if(ELEM3(i, eModifierType_Hook, eModifierType_Softbody, eModifierType_ParticleInstance)) continue;
-
- if(i == eModifierType_Collision)
- continue;
-
- if ( (mti->flags&eModifierTypeFlag_AcceptsCVs) ||
- (ob->type==OB_MESH && (mti->flags&eModifierTypeFlag_AcceptsMesh))) {
- sprintf(str+strlen(str), "|%s%%x%d", mti->name, i);
- }
- }
-
- event = pupmenu(str);
- if(event<=0) return;
-
- for (base= FIRSTBASE; base; base= base->next) {
- if(base->object != ob) {
- if(TESTBASELIB(v3d, base)) {
-
- base->object->recalc |= OB_RECALC_OB|OB_RECALC_DATA;
-
- if (base->object->type==ob->type) {
- /* copy all */
- if (event==NUM_MODIFIER_TYPES) {
- ModifierData *md;
- object_free_modifiers(base->object);
-
- for (md=ob->modifiers.first; md; md=md->next) {
- ModifierData *nmd = NULL;
-
- if(ELEM3(md->type, eModifierType_Hook, eModifierType_Softbody, eModifierType_ParticleInstance)) continue;
-
- if(md->type == eModifierType_Collision)
- continue;
-
- nmd = modifier_new(md->type);
- modifier_copyData(md, nmd);
- BLI_addtail(&base->object->modifiers, nmd);
- modifier_unique_name(&base->object->modifiers, nmd);
- }
-
- copy_object_particlesystems(base->object, ob);
- copy_object_softbody(base->object, ob);
- } else {
- /* copy specific types */
- ModifierData *md, *mdn;
-
- /* remove all with type 'event' */
- for (md=base->object->modifiers.first; md; md=mdn) {
- mdn= md->next;
- if(md->type==event) {
- BLI_remlink(&base->object->modifiers, md);
- modifier_free(md);
- }
- }
-
- /* copy all with type 'event' */
- for (md=ob->modifiers.first; md; md=md->next) {
- if (md->type==event) {
-
- mdn = modifier_new(event);
- BLI_addtail(&base->object->modifiers, mdn);
- modifier_unique_name(&base->object->modifiers, mdn);
-
- modifier_copyData(md, mdn);
- }
- }
-
- if(event == eModifierType_ParticleSystem) {
- object_free_particlesystems(base->object);
- copy_object_particlesystems(base->object, ob);
- }
- else if(event == eModifierType_Softbody) {
- object_free_softbody(base->object);
- copy_object_softbody(base->object, ob);
- }
- }
- }
- else
- errorstr= "Did not copy modifiers to other Object types";
- }
- }
- }
-
-// if(errorstr) notice(errorstr);
-
- DAG_scene_sort(bmain, scene);
-
-}
-
/* both pointers should exist */
static void copy_texture_space(Object *to, Object *ob)
{
@@ -1196,6 +1093,7 @@ static void copy_texture_space(Object *to, Object *ob)
}
+/* UNUSED, keep incase we want to copy functionality for use elsewhere */
static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
{
Object *ob;
@@ -1221,7 +1119,8 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
return;
}
else if(event==24) {
- copymenu_modifiers(bmain, scene, v3d, ob);
+ /* moved to object_link_modifiers */
+ /* copymenu_modifiers(bmain, scene, v3d, ob); */
return;
}
@@ -1444,7 +1343,7 @@ static void copy_attr(Main *bmain, Scene *scene, View3D *v3d, short event)
DAG_ids_flush_update(bmain, 0);
}
-static void copy_attr_menu(Main *bmain, Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(copy_attr_menu)(Main *bmain, Scene *scene, View3D *v3d)
{
Object *ob;
short event;
@@ -1512,6 +1411,8 @@ static int forcefield_toggle_exec(bContext *C, wmOperator *UNUSED(op))
else
ob->pd->forcefield = 0;
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, NULL);
+
return OPERATOR_FINISHED;
}
@@ -1689,7 +1590,7 @@ void OBJECT_OT_shade_flat(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Flat";
- ot->description= "Display faces 'smooth' (using vertext normals)";
+ ot->description= "Display faces 'flat'";
ot->idname= "OBJECT_OT_shade_flat";
/* api callbacks */
@@ -1704,7 +1605,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
{
/* identifiers */
ot->name= "Shade Smooth";
- ot->description= "Display faces 'flat'";
+ ot->description= "Display faces 'smooth' (using vertex normals)";
ot->idname= "OBJECT_OT_shade_smooth";
/* api callbacks */
@@ -1717,7 +1618,7 @@ void OBJECT_OT_shade_smooth(wmOperatorType *ot)
/* ********************** */
-static void image_aspect(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(image_aspect)(Scene *scene, View3D *v3d)
{
/* all selected objects with an image map: scale in image aspect */
Base *base;
@@ -1792,7 +1693,7 @@ static int vergbaseco(const void *a1, const void *a2)
}
-static void auto_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(auto_timeoffs)(Scene *scene, View3D *v3d)
{
Base *base, **basesort, **bs;
float start, delta;
@@ -1833,7 +1734,7 @@ static void auto_timeoffs(Scene *scene, View3D *v3d)
}
-static void ofs_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(ofs_timeoffs)(Scene *scene, View3D *v3d)
{
float offset=0.0f;
@@ -1852,7 +1753,7 @@ static void ofs_timeoffs(Scene *scene, View3D *v3d)
}
-static void rand_timeoffs(Scene *scene, View3D *v3d)
+static void UNUSED_FUNCTION(rand_timeoffs)(Scene *scene, View3D *v3d)
{
Base *base;
float rand_ofs=0.0f;
@@ -2162,16 +2063,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 2d547da41f6..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;
}
diff --git a/source/blender/editors/object/object_intern.h b/source/blender/editors/object/object_intern.h
index 2ff1b2d399c..3da0723ec18 100644
--- a/source/blender/editors/object/object_intern.h
+++ b/source/blender/editors/object/object_intern.h
@@ -116,6 +116,7 @@ void OBJECT_OT_armature_add(struct wmOperatorType *ot);
void OBJECT_OT_lamp_add(struct wmOperatorType *ot);
void OBJECT_OT_effector_add(struct wmOperatorType *ot);
void OBJECT_OT_camera_add(struct wmOperatorType *ot);
+void OBJECT_OT_speaker_add(struct wmOperatorType *ot);
void OBJECT_OT_group_instance_add(struct wmOperatorType *ot);
void OBJECT_OT_duplicates_make_real(struct wmOperatorType *ot);
diff --git a/source/blender/editors/object/object_modifier.c b/source/blender/editors/object/object_modifier.c
index 5996037cd2d..8813b0027cd 100644
--- a/source/blender/editors/object/object_modifier.c
+++ b/source/blender/editors/object/object_modifier.c
@@ -399,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;
@@ -442,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;
}
@@ -484,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;
@@ -530,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;
@@ -541,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);
@@ -1045,7 +1066,12 @@ static int multires_reshape_exec(bContext *C, wmOperator *op)
if (!mmd)
return OPERATOR_CANCELLED;
-
+
+ if(mmd->lvl==0) {
+ BKE_report(op->reports, RPT_ERROR, "Reshape can work only with higher levels of subdivisions.");
+ return OPERATOR_CANCELLED;
+ }
+
CTX_DATA_BEGIN(C, Object*, selob, selected_editable_objects) {
if(selob->type == OB_MESH && selob != ob) {
secondob= selob;
@@ -1259,16 +1285,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);
+ 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_ops.c b/source/blender/editors/object/object_ops.c
index b7989ba5dd8..29d536c1dab 100644
--- a/source/blender/editors/object/object_ops.c
+++ b/source/blender/editors/object/object_ops.c
@@ -117,6 +117,7 @@ void ED_operatortypes_object(void)
WM_operatortype_append(OBJECT_OT_armature_add);
WM_operatortype_append(OBJECT_OT_lamp_add);
WM_operatortype_append(OBJECT_OT_camera_add);
+ WM_operatortype_append(OBJECT_OT_speaker_add);
WM_operatortype_append(OBJECT_OT_add);
WM_operatortype_append(OBJECT_OT_add_named);
WM_operatortype_append(OBJECT_OT_effector_add);
diff --git a/source/blender/editors/object/object_relations.c b/source/blender/editors/object/object_relations.c
index f7158e4b4ec..e9418ca9f9f 100644
--- a/source/blender/editors/object/object_relations.c
+++ b/source/blender/editors/object/object_relations.c
@@ -45,6 +45,7 @@
#include "DNA_meta_types.h"
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_object_types.h"
@@ -75,6 +76,7 @@
#include "BKE_report.h"
#include "BKE_sca.h"
#include "BKE_scene.h"
+#include "BKE_speaker.h"
#include "BKE_texture.h"
#include "WM_api.h"
@@ -446,6 +448,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;
}
@@ -970,8 +973,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA)
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER)
data->trackflag = TRACK_nZ;
}
}
@@ -989,8 +992,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA) {
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER) {
data->reserved1 = TRACK_nZ;
data->reserved2 = UP_Y;
}
@@ -1010,8 +1013,8 @@ static int track_set_exec(bContext *C, wmOperator *op)
data->tar = obact;
ob->recalc |= OB_RECALC_OB|OB_RECALC_DATA|OB_RECALC_TIME;
- /* Lamp and Camera track differently by default */
- if (ob->type == OB_LAMP || ob->type == OB_CAMERA) {
+ /* Lamp, Camera and Speaker track differently by default */
+ if (ob->type == OB_LAMP || ob->type == OB_CAMERA || ob->type == OB_SPEAKER) {
data->trackflag = TRACK_nZ;
data->lockflag = LOCK_Y;
}
@@ -1095,7 +1098,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
Scene *scene= CTX_data_scene(C);
View3D *v3d= CTX_wm_view3d(C);
unsigned int lay, local;
- int islamp= 0;
+ /* int islamp= 0; */ /* UNUSED */
lay= move_to_layer_init(C, op);
lay &= 0xFFFFFF;
@@ -1111,7 +1114,7 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
base->object->lay= lay;
base->object->flag &= ~SELECT;
base->flag &= ~SELECT;
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
}
CTX_DATA_END;
}
@@ -1123,12 +1126,10 @@ static int move_to_layer_exec(bContext *C, wmOperator *op)
local= base->lay & 0xFF000000;
base->lay= lay + local;
base->object->lay= lay;
- if(base->object->type==OB_LAMP) islamp= 1;
+ /* if(base->object->type==OB_LAMP) islamp= 1; */
}
CTX_DATA_END;
}
-
- if(islamp) reshadeall_displist(scene); /* only frees */
/* warning, active object may be hidden now */
@@ -1320,7 +1321,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 */
@@ -1403,6 +1404,20 @@ static void single_object_users(Scene *scene, View3D *v3d, int flag)
set_sca_new_poins();
}
+/* not an especially efficient function, only added so the single user
+ * button can be functional.*/
+void ED_object_single_user(Scene *scene, Object *ob)
+{
+ Base *base;
+
+ for(base= FIRSTBASE; base; base= base->next) {
+ if(base->object == ob) base->flag |= OB_DONE;
+ else base->flag &= ~OB_DONE;
+ }
+
+ single_object_users(scene, NULL, OB_DONE);
+}
+
static void new_id_matar(Material **matar, int totcol)
{
ID *id;
@@ -1482,6 +1497,9 @@ static void single_obdata_users(Main *bmain, Scene *scene, int flag)
ob->data= copy_armature(ob->data);
armature_rebuild_pose(ob, ob->data);
break;
+ case OB_SPEAKER:
+ ob->data= copy_speaker(ob->data);
+ break;
default:
if (G.f & G_DEBUG)
printf("ERROR single_obdata_users: can't copy %s\n", id->name);
@@ -1661,6 +1679,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);
}
diff --git a/source/blender/editors/object/object_select.c b/source/blender/editors/object/object_select.c
index a3bd399a60c..cb1fc7541d0 100644
--- a/source/blender/editors/object/object_select.c
+++ b/source/blender/editors/object/object_select.c
@@ -37,6 +37,7 @@
#include "MEM_guardedalloc.h"
+#include "DNA_anim_types.h"
#include "DNA_group_types.h"
#include "DNA_material_types.h"
#include "DNA_modifier_types.h"
@@ -65,6 +66,7 @@
#include "ED_object.h"
#include "ED_screen.h"
+#include "ED_keyframing.h"
#include "UI_interface.h"
#include "UI_resources.h"
@@ -363,6 +365,7 @@ static EnumPropertyItem prop_select_grouped_types[] = {
{9, "PASS", 0, "Pass", "Render pass Index"},
{10, "COLOR", 0, "Color", "Object Color"},
{11, "PROPERTIES", 0, "Properties", "Game Properties"},
+ {12, "KEYINGSET", 0, "Keying Set", "Objects included in active Keying Set"},
{0, NULL, 0, NULL, NULL}
};
@@ -574,6 +577,42 @@ static short select_grouped_gameprops(bContext *C, Object *ob)
return changed;
}
+static short select_grouped_keyingset(bContext *C, Object *UNUSED(ob))
+{
+ KeyingSet *ks = ANIM_scene_get_active_keyingset(CTX_data_scene(C));
+ short changed = 0;
+
+ /* firstly, validate KeyingSet */
+ if ((ks == NULL) || (ANIM_validate_keyingset(C, NULL, ks) != 0))
+ return 0;
+
+ /* select each object that Keying Set refers to */
+ // TODO: perhaps to be more in line with the rest of these, we should only take objects
+ // if the passed in object is included in this too
+ CTX_DATA_BEGIN(C, Base*, base, selectable_bases)
+ {
+ /* only check for this object if it isn't selected already, to limit time wasted */
+ if ((base->flag & SELECT) == 0) {
+ KS_Path *ksp;
+
+ /* this is the slow way... we could end up with > 500 items here,
+ * with none matching, but end up doing this on 1000 objects...
+ */
+ for (ksp = ks->paths.first; ksp; ksp = ksp->next) {
+ /* if id matches, select then stop looping (match found) */
+ if (ksp->id == (ID *)base->object) {
+ ED_base_object_select(base, BA_SELECT);
+ changed = 1;
+ break;
+ }
+ }
+ }
+ }
+ CTX_DATA_END;
+
+ return changed;
+}
+
static int object_select_grouped_exec(bContext *C, wmOperator *op)
{
Scene *scene= CTX_data_scene(C);
@@ -608,6 +647,7 @@ static int object_select_grouped_exec(bContext *C, wmOperator *op)
else if(nr==9) changed |= select_grouped_index_object(C, ob);
else if(nr==10) changed |= select_grouped_color(C, ob);
else if(nr==11) changed |= select_grouped_gameprops(C, ob);
+ else if(nr==12) changed |= select_grouped_keyingset(C, ob);
if (changed) {
WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, CTX_data_scene(C));
diff --git a/source/blender/editors/object/object_transform.c b/source/blender/editors/object/object_transform.c
index f7c6ff99bde..78f3537bea9 100644
--- a/source/blender/editors/object/object_transform.c
+++ b/source/blender/editors/object/object_transform.c
@@ -246,7 +246,7 @@ static int object_clear_transform_generic_exec(bContext *C, wmOperator *op,
}
/* tag for updates */
- ob->recalc |= OB_RECALC_OB;
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
}
CTX_DATA_END;
@@ -341,7 +341,8 @@ static int object_origin_clear_exec(bContext *C, wmOperator *UNUSED(op))
negate_v3_v3(v3, v1);
mul_m3_v3(mat, v3);
}
- ob->recalc |= OB_RECALC_OB;
+
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
CTX_DATA_END;
@@ -871,7 +872,7 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
(ob->dup_group==ob_other->dup_group && (ob->transflag|ob_other->transflag) & OB_DUPLIGROUP) )
) {
ob_other->flag |= OB_DONE;
- ob_other->recalc= OB_RECALC_OB|OB_RECALC_DATA;
+ DAG_id_tag_update(&ob_other->id, OB_RECALC_OB|OB_RECALC_DATA);
copy_v3_v3(centn, cent);
mul_mat3_m4_v3(ob_other->obmat, centn); /* ommit translation part */
@@ -890,11 +891,9 @@ static int object_origin_set_exec(bContext *C, wmOperator *op)
}
CTX_DATA_END;
- for (tob= bmain->object.first; tob; tob= tob->id.next) {
- if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT)) {
- tob->recalc= OB_RECALC_OB|OB_RECALC_DATA;
- }
- }
+ for (tob= bmain->object.first; tob; tob= tob->id.next)
+ if(tob->data && (((ID *)tob->data)->flag & LIB_DOIT))
+ DAG_id_tag_update(&tob->id, OB_RECALC_OB|OB_RECALC_DATA);
if (tot_change) {
DAG_ids_flush_update(bmain, 0);
diff --git a/source/blender/editors/physics/CMakeLists.txt b/source/blender/editors/physics/CMakeLists.txt
index 1badccffe3b..f32b23cd3ee 100644
--- a/source/blender/editors/physics/CMakeLists.txt
+++ b/source/blender/editors/physics/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/physics/SConscript b/source/blender/editors/physics/SConscript
index 274819c918c..188416eb04c 100644
--- a/source/blender/editors/physics/SConscript
+++ b/source/blender/editors/physics/SConscript
@@ -10,7 +10,7 @@ incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
defs = ''
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index 6155929243b..4b0c1cb1222 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -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)
@@ -3461,7 +3463,8 @@ static void brush_edit_apply(bContext *C, wmOperator *op, PointerRNA *itemptr)
ARegion *ar= CTX_wm_region(C);
float vec[3], mousef[2];
int mval[2];
- int flip, mouse[2], dx, dy, removed= 0, added=0, selected= 0;
+ 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))
@@ -3496,152 +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:
- {
- float mval_f[2];
- data.mval= mval;
- data.rad= (float)brush->size;
-
- 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;
+ dmax = MAX2(fabs(dx), fabs(dy));
+ tot_steps = dmax/(0.2f * brush->size) + 1;
- invert_m4_m4(ob->imat, ob->obmat);
+ dx /= (float)tot_steps;
+ dy /= (float)tot_steps;
- mval_f[0]= dx;
- mval_f[1]= dy;
- ED_view3d_win_to_delta(ar, mval_f, vec);
- data.dvec= vec;
+ for(step = 1; step<=tot_steps; step++) {
+ mval[0] = bedit->lastmouse[0] + step*dx;
+ mval[1] = bedit->lastmouse[1] + step*dy;
- 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);
+ data.combfac= 1.0f - data.combfac;
- removed= remove_tagged_particles(ob, edit->psys, pe_x_mirror(ob));
- if(pset->flag & PE_KEEP_LENGTHS)
- recalc_lengths(edit);
- }
- else
- removed= 0;
+ invert_m4_m4(ob->imat, ob->obmat);
- break;
- }
- case PE_BRUSH_LENGTH:
- {
- data.mval= mval;
-
- data.rad= (float)brush->size;
- data.growfac= brush->strength / 50.0f;
+ mval_f[0]= dx;
+ mval_f[1]= dy;
+ ED_view3d_win_to_delta(ar, mval_f, vec);
+ data.dvec= vec;
- if(brush->invert ^ flip)
- data.growfac= 1.0f - data.growfac;
- else
- data.growfac= 1.0f + data.growfac;
-
- 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);
@@ -3974,7 +3988,7 @@ static void PTCacheUndo_clear(PTCacheEdit *edit)
{
PTCacheUndo *undo;
- if(edit==0) return;
+ if(edit==NULL) return;
undo= edit->undo.first;
while(undo) {
diff --git a/source/blender/editors/physics/physics_fluid.c b/source/blender/editors/physics/physics_fluid.c
index 4aa9b942cf3..bd53de20871 100644
--- a/source/blender/editors/physics/physics_fluid.c
+++ b/source/blender/editors/physics/physics_fluid.c
@@ -41,12 +41,6 @@
#include <string.h>
#include <sys/stat.h>
-#ifdef WIN32 /* Windos */
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
#include "MEM_guardedalloc.h"
/* types */
@@ -56,6 +50,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 +120,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);
}
}
@@ -154,8 +149,8 @@ static int fluid_is_animated_mesh(FluidsimSettings *fss)
#if 0
/* helper function */
void fluidsimGetGeometryObjFilename(Object *ob, char *dst) { //, char *srcname) {
- //snprintf(dst,FILE_MAXFILE, "%s_cfgdata_%s.bobj.gz", srcname, ob->id.name);
- snprintf(dst,FILE_MAXFILE, "fluidcfgdata_%s.bobj.gz", ob->id.name);
+ //BLI_snprintf(dst,FILE_MAXFILE, "%s_cfgdata_%s.bobj.gz", srcname, ob->id.name);
+ BLI_snprintf(dst,FILE_MAXFILE, "fluidcfgdata_%s.bobj.gz", ob->id.name);
}
#endif
@@ -443,7 +438,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 +716,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 +737,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 +745,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 +760,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 +806,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);
@@ -847,7 +882,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
if(getenv(strEnvName)) {
int dlevel = atoi(getenv(strEnvName));
elbeemSetDebugLevel(dlevel);
- snprintf(debugStrBuffer,256,"fluidsimBake::msg: Debug messages activated due to envvar '%s'\n",strEnvName);
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::msg: Debug messages activated due to envvar '%s'\n",strEnvName);
elbeemDebugOut(debugStrBuffer);
}
@@ -878,10 +913,13 @@ 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) {
- snprintf(debugStrBuffer,256,"fluidsimBake::warning - Preview (%d) >= Resolution (%d)... setting equal.\n", domainSettings->previewresxyz , domainSettings->resolutionxyz);
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::warning - Preview (%d) >= Resolution (%d)... setting equal.\n", domainSettings->previewresxyz , domainSettings->resolutionxyz);
elbeemDebugOut(debugStrBuffer);
domainSettings->previewresxyz = domainSettings->resolutionxyz;
}
@@ -901,7 +939,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
} else {
gridlevels = domainSettings->maxRefine;
}
- snprintf(debugStrBuffer,256,"fluidsimBake::msg: Baking %s, refine: %d\n", fsDomain->id.name , gridlevels );
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::msg: Baking %s, refine: %d\n", fsDomain->id.name , gridlevels );
elbeemDebugOut(debugStrBuffer);
@@ -953,7 +991,7 @@ static int fluidsimBake(bContext *C, ReportList *reports, Object *fsDomain)
/* ******** init domain object's matrix ******** */
copy_m4_m4(domainMat, fsDomain->obmat);
if(!invert_m4_m4(invDomMat, domainMat)) {
- snprintf(debugStrBuffer,256,"fluidsimBake::error - Invalid obj matrix?\n");
+ BLI_snprintf(debugStrBuffer,256,"fluidsimBake::error - Invalid obj matrix?\n");
elbeemDebugOut(debugStrBuffer);
BKE_report(reports, RPT_ERROR, "Invalid object matrix.");
@@ -1018,6 +1056,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_pointcache.c b/source/blender/editors/physics/physics_pointcache.c
index 797ead3cd90..34f4a1e472b 100644
--- a/source/blender/editors/physics/physics_pointcache.c
+++ b/source/blender/editors/physics/physics_pointcache.c
@@ -172,7 +172,6 @@ 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 */
diff --git a/source/blender/editors/render/CMakeLists.txt b/source/blender/editors/render/CMakeLists.txt
index c3bb6f457a2..cf6c4290ee0 100644
--- a/source/blender/editors/render/CMakeLists.txt
+++ b/source/blender/editors/render/CMakeLists.txt
@@ -51,8 +51,12 @@ set(SRC
)
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../../quicktime)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
@@ -60,4 +64,8 @@ if(WITH_OPENMP)
add_definitions(-DPARALLEL=1)
endif()
+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/SConscript b/source/blender/editors/render/SConscript
index 2b9737557cd..53418500ea6 100644
--- a/source/blender/editors/render/SConscript
+++ b/source/blender/editors/render/SConscript
@@ -9,7 +9,7 @@ incs += ' ../../gpu'
incs += ' ../../makesrna ../../render/extern/include #/intern/elbeem/extern'
incs += ' ../../blenloader'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/render/render_internal.c b/source/blender/editors/render/render_internal.c
index 6191ec9c035..42a163d3da5 100644
--- a/source/blender/editors/render/render_internal.c
+++ b/source/blender/editors/render/render_internal.c
@@ -189,11 +189,6 @@ void image_buffer_rect_update(Scene *scene, RenderResult *rr, ImBuf *ibuf, volat
/* set callbacks, exported to sequence render too.
Only call in foreground (UI) renders. */
-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)
{
@@ -214,7 +209,6 @@ static int screen_render_exec(bContext *C, wmOperator *op)
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);
@@ -226,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);
@@ -302,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);
@@ -371,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)
@@ -467,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;
}
@@ -575,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);
@@ -593,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)
{
diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index 98463ce955f..3256112426b 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -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);
diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 2404805c17b..b937f9a4104 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -64,6 +64,7 @@
#include "DNA_brush_types.h"
#include "DNA_screen_types.h"
+#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_depsgraph.h"
#include "BKE_global.h"
@@ -171,6 +172,7 @@ 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[];
@@ -184,6 +186,7 @@ void ED_preview_init_dbase(void)
MEM_freeN(bfd);
}
G.fileflags= fileflags;
+#endif
}
void ED_preview_free_dbase(void)
diff --git a/source/blender/editors/render/render_shading.c b/source/blender/editors/render/render_shading.c
index fdd53d27b02..1b24d660411 100644
--- a/source/blender/editors/render/render_shading.c
+++ b/source/blender/editors/render/render_shading.c
@@ -85,6 +85,8 @@
#include "UI_interface.h"
+#include "RE_pipeline.h"
+
#include "render_intern.h" // own include
/********************** material slot operators *********************/
@@ -108,7 +110,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;
@@ -661,60 +663,21 @@ void TEXTURE_OT_slot_move(wmOperatorType *ot)
/********************** environment map operators *********************/
-static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *str, int imtype)
+static int save_envmap(wmOperator *op, Scene *scene, EnvMap *env, char *path, int imtype)
{
- ImBuf *ibuf=NULL;
- int dx;
- int retval;
- int relative= (RNA_struct_find_property(op->ptr, "relative_path") && RNA_boolean_get(op->ptr, "relative_path"));
-
- if(env->cube[1]==NULL) {
- BKE_report(op->reports, RPT_ERROR, "There is no generated environment map available to save");
- return OPERATOR_CANCELLED;
- }
-
- dx= env->cube[1]->x;
-
- if (env->type == ENV_CUBE) {
- ibuf = IMB_allocImBuf(3*dx, 2*dx, 24, IB_rectfloat);
-
- IMB_rectcpy(ibuf, env->cube[0], 0, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[1], dx, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[2], 2*dx, 0, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[3], 0, dx, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[4], dx, dx, 0, 0, dx, dx);
- IMB_rectcpy(ibuf, env->cube[5], 2*dx, dx, 0, 0, dx, dx);
- }
- else if (env->type == ENV_PLANE) {
- ibuf = IMB_allocImBuf(dx, dx, 24, IB_rectfloat);
- IMB_rectcpy(ibuf, env->cube[1], 0, 0, 0, 0, dx, dx);
+ float layout[12];
+ if ( RNA_struct_find_property(op->ptr, "layout") )
+ RNA_float_get_array(op->ptr, "layout",layout);
+ else
+ memcpy(layout, default_envmap_layout, sizeof(layout));
+
+ if (RE_WriteEnvmapResult(op->reports, scene, env, path, imtype, layout)) {
+ return OPERATOR_FINISHED;
}
else {
- BKE_report(op->reports, RPT_ERROR, "Invalid environment map type");
return OPERATOR_CANCELLED;
}
-
- if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
- ibuf->profile = IB_PROFILE_LINEAR_RGB;
-
- /* to save, we first get absolute path */
- BLI_path_abs(str, G.main->name);
-
- if (BKE_write_ibuf(ibuf, str, imtype, scene->r.subimtype, scene->r.quality)) {
- retval = OPERATOR_FINISHED;
- }
- else {
- BKE_reportf(op->reports, RPT_ERROR, "Error saving environment map to %s.", str);
- retval = OPERATOR_CANCELLED;
- }
- /* in case we were saving with relative paths, change back again */
- if(relative)
- BLI_path_rel(str, G.main->name);
-
- IMB_freeImBuf(ibuf);
- ibuf = NULL;
-
- return retval;
+
}
static int envmap_save_exec(bContext *C, wmOperator *op)
@@ -753,7 +716,6 @@ static int envmap_save_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event
return envmap_save_exec(C, op);
//RNA_enum_set(op->ptr, "file_type", scene->r.imtype);
-
RNA_string_set(op->ptr, "filepath", G.main->name);
WM_event_add_fileselect(C, op);
@@ -776,6 +738,7 @@ static int envmap_save_poll(bContext *C)
void TEXTURE_OT_envmap_save(wmOperatorType *ot)
{
+ PropertyRNA *prop;
/* identifiers */
ot->name= "Save Environment Map";
ot->idname= "TEXTURE_OT_envmap_save";
@@ -787,11 +750,13 @@ void TEXTURE_OT_envmap_save(wmOperatorType *ot)
ot->poll= envmap_save_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo since this doesnt modify the env-map */
/* properties */
- //RNA_def_enum(ot->srna, "file_type", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
- WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
+ prop= RNA_def_float_array(ot->srna, "layout", 12, default_envmap_layout, 0.0f, 0.0f, "File layout", "Flat array describing the X,Y position of each cube face in the output image, where 1 is the size of a face. Order is [+Z -Z +Y -X -Y +X]. Use -1 to skip a face.", 0.0f, 0.0f);
+ RNA_def_property_flag(prop, PROP_HIDDEN);
+
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH);
}
static int envmap_clear_exec(bContext *C, wmOperator *UNUSED(op))
@@ -875,8 +840,6 @@ static int copy_material_exec(bContext *C, wmOperator *UNUSED(op))
copy_matcopybuf(ma);
- WM_event_add_notifier(C, NC_MATERIAL, ma);
-
return OPERATOR_FINISHED;
}
@@ -891,7 +854,7 @@ void MATERIAL_OT_copy(wmOperatorType *ot)
ot->exec= copy_material_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo needed since no changes are made to the material */
}
static int paste_material_exec(bContext *C, wmOperator *UNUSED(op))
@@ -1015,8 +978,6 @@ static int copy_mtex_exec(bContext *C, wmOperator *UNUSED(op))
copy_mtex_copybuf(id);
- WM_event_add_notifier(C, NC_TEXTURE, NULL);
-
return OPERATOR_FINISHED;
}
@@ -1039,7 +1000,7 @@ void TEXTURE_OT_slot_copy(wmOperatorType *ot)
ot->poll= copy_mtex_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo needed since no changes are made to the mtex */
}
static int paste_mtex_exec(bContext *C, wmOperator *UNUSED(op))
diff --git a/source/blender/editors/render/render_update.c b/source/blender/editors/render/render_update.c
index 98f42fe97c1..85e1eb016d7 100644
--- a/source/blender/editors/render/render_update.c
+++ b/source/blender/editors/render/render_update.c
@@ -24,7 +24,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/editors/render/render_shading.c
+/** \file blender/editors/render/render_update.c
* \ingroup edrend
*/
@@ -58,6 +58,7 @@
#include "GPU_material.h"
+#include "ED_node.h"
#include "ED_render.h"
#include "render_intern.h" // own include
@@ -115,6 +116,8 @@ static void texture_changed(Main *bmain, Tex *tex)
Material *ma;
Lamp *la;
World *wo;
+ Scene *scene;
+ bNode *node;
/* icons */
BKE_icon_changed(BKE_icon_getid(&tex->id));
@@ -146,6 +149,16 @@ static void texture_changed(Main *bmain, Tex *tex)
BKE_icon_changed(BKE_icon_getid(&wo->id));
}
+
+ /* find compositing nodes */
+ for(scene=bmain->scene.first; scene; scene=scene->id.next) {
+ if(scene->use_nodes && scene->nodetree) {
+ for(node=scene->nodetree->nodes.first; node; node=node->next) {
+ if(node->id == &tex->id)
+ ED_node_changed_update(&scene->id, node);
+ }
+ }
+ }
}
static void lamp_changed(Main *bmain, Lamp *la)
diff --git a/source/blender/editors/screen/CMakeLists.txt b/source/blender/editors/screen/CMakeLists.txt
index 54341257692..4282110901b 100644
--- a/source/blender/editors/screen/CMakeLists.txt
+++ b/source/blender/editors/screen/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
diff --git a/source/blender/editors/screen/SConscript b/source/blender/editors/screen/SConscript
index 61f3429521d..1381c820224 100644
--- a/source/blender/editors/screen/SConscript
+++ b/source/blender/editors/screen/SConscript
@@ -10,7 +10,7 @@ incs += ' #/intern/guardedalloc #/extern/glew/include'
defs = ''
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/screen/area.c b/source/blender/editors/screen/area.c
index 4d531e78ec0..bc97cd9d3ff 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);
}
@@ -790,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;
@@ -814,12 +980,22 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
else /* prevent winrct to be valid */
ar->winrct.xmax= ar->winrct.xmin;
}
+
+ /* 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, uou can drag down the file selectors header and hide it
+ * 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' */
@@ -833,7 +1009,7 @@ static void region_rect_recursive(ScrArea *sa, ARegion *ar, rcti *remainder, int
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;
@@ -1230,6 +1406,7 @@ int ED_area_header_switchbutton(const bContext *C, uiBlock *block, int yco)
"Displays current editor type. "
"Click for menu of available types");
uiButSetFunc(but, spacefunc, NULL, NULL);
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
return xco + UI_UNIT_X + 14;
}
@@ -1238,6 +1415,7 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
{
ScrArea *sa= CTX_wm_area(C);
int xco= 8;
+ uiBut *but;
if (!sa->full)
xco= ED_area_header_switchbutton(C, block, yco);
@@ -1245,20 +1423,22 @@ int ED_area_header_standardbuttons(const bContext *C, uiBlock *block, int yco)
uiBlockSetEmboss(block, UI_EMBOSSN);
if (sa->flag & HEADER_NO_PULLDOWN) {
- uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
+ but= uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_RIGHT,
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,
+ but= uiDefIconButBitS(block, TOG, HEADER_NO_PULLDOWN, 0,
ICON_DISCLOSURE_TRI_DOWN,
xco,yco,UI_UNIT_X,UI_UNIT_Y-2,
&(sa->flag), 0, 0, 0, 0,
"Hide pulldown menus");
}
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+
uiBlockSetEmboss(block, UI_EMBOSS);
return xco + UI_UNIT_X;
diff --git a/source/blender/editors/screen/glutil.c b/source/blender/editors/screen/glutil.c
index 2918c98c84a..f56ae17d366 100644
--- a/source/blender/editors/screen/glutil.c
+++ b/source/blender/editors/screen/glutil.c
@@ -92,6 +92,44 @@ GLubyte stipple_quarttone[128] = {
136,136,136,136,0,0,0,0,34,34,34,34,0,0,0,0};
+GLubyte stipple_diag_stripes_pos[128] = {
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f};
+
+
+GLubyte stipple_diag_stripes_neg[128] = {
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80,
+ 0xff, 0x00, 0xff, 0x00, 0xfe, 0x01, 0xfe, 0x01,
+ 0xfc, 0x03, 0xfc, 0x03, 0xf8, 0x07, 0xf8, 0x07,
+ 0xf0, 0x0f, 0xf0, 0x0f, 0xe0, 0x1f, 0xe0, 0x1f,
+ 0xc0, 0x3f, 0xc0, 0x3f, 0x80, 0x7f, 0x80, 0x7f,
+ 0x00, 0xff, 0x00, 0xff, 0x01, 0xfe, 0x01, 0xfe,
+ 0x03, 0xfc, 0x03, 0xfc, 0x07, 0xf8, 0x07, 0xf8,
+ 0x0f, 0xf0, 0x0f, 0xf0, 0x1f, 0xe0, 0x1f, 0xe0,
+ 0x3f, 0xc0, 0x3f, 0xc0, 0x7f, 0x80, 0x7f, 0x80};
+
+
void fdrawbezier(float vec[4][3])
{
float dist;
diff --git a/source/blender/editors/screen/screen_edit.c b/source/blender/editors/screen/screen_edit.c
index 721ce823351..5e875e40f14 100644
--- a/source/blender/editors/screen/screen_edit.c
+++ b/source/blender/editors/screen/screen_edit.c
@@ -533,8 +533,7 @@ int screen_area_join(bContext *C, bScreen* scr, ScrArea *sa1, ScrArea *sa2)
dir = area_getorientation(sa1, sa2);
/*printf("dir is : %i \n", dir);*/
- if (dir < 0)
- {
+ if (dir < 0) {
if (sa1 ) sa1->flag &= ~AREA_FLAG_DRAWJOINFROM;
if (sa2 ) sa2->flag &= ~AREA_FLAG_DRAWJOINTO;
return 0;
@@ -910,7 +909,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);
diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
index f016fb6822a..b199f54cde1 100644
--- a/source/blender/editors/screen/screen_ops.c
+++ b/source/blender/editors/screen/screen_ops.c
@@ -301,7 +301,7 @@ int ED_operator_object_active_editable(bContext *C)
int ED_operator_object_active_editable_mesh(bContext *C)
{
Object *ob = ED_object_active_context(C);
- return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH);
+ return ((ob != NULL) && !(ob->id.lib) && !(ob->restrictflag & OB_RESTRICT_VIEW) && ob->type == OB_MESH && !(((ID *)ob->data)->lib));
}
int ED_operator_object_active_editable_font(bContext *C)
@@ -1544,8 +1544,7 @@ static int area_max_regionsize(ScrArea *sa, ARegion *scalear, AZEdge edge)
/* subtractwidth of regions on opposite side
* prevents dragging regions into other opposite regions */
- for (ar=sa->regionbase.first; ar; ar=ar->next)
- {
+ for (ar=sa->regionbase.first; ar; ar=ar->next) {
if (ar == scalear)
continue;
@@ -1703,7 +1702,7 @@ static int region_scale_modal(bContext *C, wmOperator *op, wmEvent *event)
return OPERATOR_RUNNING_MODAL;
}
-int region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
+static int region_scale_cancel(bContext *UNUSED(C), wmOperator *op)
{
MEM_freeN(op->customdata);
op->customdata = NULL;
@@ -1733,14 +1732,16 @@ static void SCREEN_OT_region_scale(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int frame_offset_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
int delta;
delta = RNA_int_get(op->ptr, "delta");
- CTX_data_scene(C)->r.cfra += delta;
- CTX_data_scene(C)->r.subframe = 0.f;
+ scene->r.cfra += delta;
+ scene->r.subframe = 0.f;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, CTX_data_scene(C));
@@ -1765,6 +1766,7 @@ static void SCREEN_OT_frame_offset(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int frame_jump_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
wmTimer *animtimer= CTX_wm_screen(C)->animtimer;
@@ -1788,7 +1790,7 @@ static int frame_jump_exec(bContext *C, wmOperator *op)
else
CFRA= PSFRA;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
}
@@ -1817,6 +1819,7 @@ static void SCREEN_OT_frame_jump(wmOperatorType *ot)
/* function to be called outside UI context, or for redo */
static int keyframe_jump_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
Object *ob= CTX_data_active_object(C);
bDopeSheet ads= {NULL};
@@ -1871,7 +1874,7 @@ static int keyframe_jump_exec(bContext *C, wmOperator *op)
/* free temp stuff */
BLI_dlrbTree_free(&keys);
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
WM_event_add_notifier(C, NC_SCENE|ND_FRAME, scene);
@@ -2021,12 +2024,12 @@ static void SCREEN_OT_screen_full_area(wmOperatorType *ot)
*/
typedef struct sAreaJoinData
- {
- ScrArea *sa1; /* first area to be considered */
- ScrArea *sa2; /* second area to be considered */
- ScrArea *scr; /* designed for removal */
-
- } sAreaJoinData;
+{
+ ScrArea *sa1; /* first area to be considered */
+ ScrArea *sa2; /* second area to be considered */
+ ScrArea *scr; /* designed for removal */
+
+} sAreaJoinData;
/* validate selection inside screen, set variables OK */
@@ -2461,13 +2464,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);
@@ -2803,6 +2800,7 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e
bScreen *screen= CTX_wm_screen(C);
if(screen->animtimer && screen->animtimer==event->customdata) {
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
wmTimer *wt= screen->animtimer;
ScreenAnimData *sad= wt->customdata;
@@ -2879,7 +2877,7 @@ static int screen_animation_step(bContext *C, wmOperator *UNUSED(op), wmEvent *e
}
if (sad->flag & ANIMPLAY_FLAG_JUMPED)
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
/* since we follow drawflags, we can't send notifier but tag regions ourselves */
ED_update_for_newframe(CTX_data_main(C), scene, screen, 1);
@@ -3477,21 +3475,21 @@ void ED_keymap_screen(wmKeyConfig *keyconf)
keymap= WM_keymap_find(keyconf, "Frames", 0, 0);
/* frame offsets */
- RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", UPARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", 10);
- RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", DOWNARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", -10);
+ RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", UPARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", 10);
+ RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", DOWNARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "delta", -10);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", LEFTARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", -1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", RIGHTARROWKEY, KM_PRESS, 0, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", WHEELDOWNMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "delta", 1);
RNA_int_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_offset", WHEELUPMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "delta", -1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", UPARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", DOWNARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", RIGHTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 1);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", LEFTARROWKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "end", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", UPARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", DOWNARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", RIGHTARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_frame_jump", LEFTARROWKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0)->ptr, "end", 0);
- WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEUPKEY, KM_PRESS, KM_CTRL, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", PAGEDOWNKEY, KM_PRESS, KM_CTRL, 0)->ptr, "next", 0);
+ WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", UPARROWKEY, KM_PRESS, 0, 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", DOWNARROWKEY, KM_PRESS, 0, 0)->ptr, "next", 0);
WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIALAST, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "SCREEN_OT_keyframe_jump", MEDIAFIRST, KM_PRESS, 0, 0)->ptr, "next", 0);
diff --git a/source/blender/editors/sculpt_paint/CMakeLists.txt b/source/blender/editors/sculpt_paint/CMakeLists.txt
index 6ecbc9c5eec..94e08a020f6 100644
--- a/source/blender/editors/sculpt_paint/CMakeLists.txt
+++ b/source/blender/editors/sculpt_paint/CMakeLists.txt
@@ -22,14 +22,14 @@
set(INC
../include
../../blenkernel
+ ../../blenlib
../../blenloader
- ../../imbuf
../../gpu
- ../../blenlib
+ ../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/sculpt_paint/SConscript b/source/blender/editors/sculpt_paint/SConscript
index 90b56ded2cd..b3927fcee68 100644
--- a/source/blender/editors/sculpt_paint/SConscript
+++ b/source/blender/editors/sculpt_paint/SConscript
@@ -10,7 +10,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../render/extern/include'
incs += ' ../../gpu ../../makesrna ../../blenloader'
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/sculpt_paint/paint_image.c b/source/blender/editors/sculpt_paint/paint_image.c
index cae5c14aa97..79a3251cdf1 100644
--- a/source/blender/editors/sculpt_paint/paint_image.c
+++ b/source/blender/editors/sculpt_paint/paint_image.c
@@ -60,6 +60,7 @@
#include "DNA_brush_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meshdata_types.h"
+#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
@@ -512,7 +513,7 @@ static float VecZDepthOrtho(float pt[2], float v1[3], float v2[3], float v3[3],
return (v1[2]*w[0]) + (v2[2]*w[1]) + (v3[2]*w[2]);
}
-static float VecZDepthPersp(float pt[2], float v1[3], float v2[3], float v3[3], float w[3])
+static float VecZDepthPersp(float pt[2], float v1[4], float v2[4], float v3[4], float w[3])
{
float wtot_inv, wtot;
float w_tmp[3];
@@ -1174,25 +1175,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
*
@@ -1212,7 +1194,7 @@ static void screen_px_from_ortho(
* the perspective W coord for each vert */
static void screen_px_from_persp(
float uv[2],
- float v1co[3], float v2co[3], float v3co[3], /* screenspace coords */
+ float v1co[4], float v2co[4], float v3co[4], /* screenspace coords */
float uv1co[2], float uv2co[2], float uv3co[2],
float pixelScreenCo[4],
float w[3])
@@ -2206,7 +2188,7 @@ static int IsectPoly2Df_twoside(const float pt[2], float uv[][2], const int tot)
/* One of the most important function for projectiopn painting, since it selects the pixels to be added into each bucket.
* initialize pixels from this face where it intersects with the bucket_index, optionally initialize pixels for removing seams */
-static void project_paint_face_init(const ProjPaintState *ps, const int thread_index, const int bucket_index, const int face_index, const int image_index, rctf *bucket_bounds, const ImBuf *ibuf)
+static void project_paint_face_init(const ProjPaintState *ps, const int thread_index, const int bucket_index, const int face_index, const int image_index, rctf *bucket_bounds, const ImBuf *ibuf, const short clamp_u, const short clamp_v)
{
/* Projection vars, to get the 3D locations into screen space */
MemArena *arena = ps->arena_mt[thread_index];
@@ -2323,14 +2305,24 @@ static void project_paint_face_init(const ProjPaintState *ps, const int thread_i
if (pixel_bounds_array(uv_clip, &bounds_px, ibuf->x, ibuf->y, uv_clip_tot)) {
-
+
+ if(clamp_u) {
+ CLAMP(bounds_px.xmin, 0, ibuf->x);
+ CLAMP(bounds_px.xmax, 0, ibuf->x);
+ }
+
+ if(clamp_v) {
+ CLAMP(bounds_px.ymin, 0, ibuf->y);
+ CLAMP(bounds_px.ymax, 0, ibuf->y);
+ }
+
/* clip face and */
has_isect = 0;
for (y = bounds_px.ymin; y < bounds_px.ymax; y++) {
//uv[1] = (((float)y) + 0.5f) / (float)ibuf->y;
uv[1] = (float)y / ibuf_yf; /* use pixel offset UV coords instead */
-
+
has_x_isect = 0;
for (x = bounds_px.xmin; x < bounds_px.xmax; x++) {
//uv[0] = (((float)x) + 0.5f) / ibuf->x;
@@ -2518,9 +2510,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); }
@@ -2649,6 +2641,7 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
LinkNode *node;
int face_index, image_index=0;
ImBuf *ibuf = NULL;
+ Image *ima = NULL;
MTFace *tf;
Image *tpage_last = NULL;
@@ -2657,9 +2650,10 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
if (ps->image_tot==1) {
/* Simple loop, no context switching */
ibuf = ps->projImages[0].ibuf;
-
+ ima = ps->projImages[0].ima;
+
for (node = ps->bucketFaces[bucket_index]; node; node= node->next) {
- project_paint_face_init(ps, thread_index, bucket_index, GET_INT_FROM_POINTER(node->link), 0, bucket_bounds, ibuf);
+ project_paint_face_init(ps, thread_index, bucket_index, GET_INT_FROM_POINTER(node->link), 0, bucket_bounds, ibuf, ima->tpageflag & IMA_CLAMP_U, ima->tpageflag & IMA_CLAMP_V);
}
}
else {
@@ -2678,14 +2672,14 @@ static void project_bucket_init(const ProjPaintState *ps, const int thread_index
for (image_index=0; image_index < ps->image_tot; image_index++) {
if (ps->projImages[image_index].ima == tpage_last) {
ibuf = ps->projImages[image_index].ibuf;
+ ima = ps->projImages[image_index].ima;
break;
}
}
}
/* context switching done */
- project_paint_face_init(ps, thread_index, bucket_index, face_index, image_index, bucket_bounds, ibuf);
-
+ project_paint_face_init(ps, thread_index, bucket_index, face_index, image_index, bucket_bounds, ibuf, ima->tpageflag & IMA_CLAMP_U, ima->tpageflag & IMA_CLAMP_V);
}
}
@@ -4670,7 +4664,7 @@ static void paint_brush_init_tex(Brush *brush)
if(brush) {
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeBeginExecTree(mtex->tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(mtex->tex->nodetree, 1); /* has internal flag to detect it only does it once */
}
}
@@ -4812,7 +4806,7 @@ static void paint_brush_exit_tex(Brush *brush)
if(brush) {
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeEndExecTree(mtex->tex->nodetree);
+ ntreeTexEndExecTree(mtex->tex->nodetree->execdata, 1);
}
}
diff --git a/source/blender/editors/sculpt_paint/paint_stroke.c b/source/blender/editors/sculpt_paint/paint_stroke.c
index 7ddf5dff000..09873566d4a 100644
--- a/source/blender/editors/sculpt_paint/paint_stroke.c
+++ b/source/blender/editors/sculpt_paint/paint_stroke.c
@@ -832,6 +832,13 @@ int paint_stroke_modal(bContext *C, wmOperator *op, wmEvent *event)
float mouse[2];
int first= 0;
+ // let NDOF motion pass through to the 3D view so we can paint and rotate simultaneously!
+ // this isn't perfect... even when an extra MOUSEMOVE is spoofed, the stroke discards it
+ // since the 2D deltas are zero -- code in this file needs to be updated to use the
+ // post-NDOF_MOTION MOUSEMOVE
+ if (event->type == NDOF_MOTION)
+ return OPERATOR_PASS_THROUGH;
+
if(!stroke->stroke_started) {
stroke->last_mouse_position[0] = event->x;
stroke->last_mouse_position[1] = event->y;
diff --git a/source/blender/editors/sculpt_paint/sculpt.c b/source/blender/editors/sculpt_paint/sculpt.c
index cab8c522a89..ced3dd00a9c 100644
--- a/source/blender/editors/sculpt_paint/sculpt.c
+++ b/source/blender/editors/sculpt_paint/sculpt.c
@@ -48,6 +48,7 @@
#include "BLI_rand.h"
#include "DNA_meshdata_types.h"
+#include "DNA_node_types.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_brush_types.h"
@@ -2979,7 +2980,7 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
SCULPT_TOOL_GRAB, SCULPT_TOOL_NUDGE,
SCULPT_TOOL_CLAY_TUBES, SCULPT_TOOL_SNAKE_HOOK,
SCULPT_TOOL_THUMB)) {
- float grab_location[3], imat[4][4], delta[3];
+ float grab_location[3], imat[4][4], delta[3], loc[3];
if(cache->first_time) {
copy_v3_v3(cache->orig_grab_location,
@@ -2989,10 +2990,8 @@ static void sculpt_update_brush_delta(Sculpt *sd, Object *ob, Brush *brush)
add_v3_v3(cache->true_location, cache->grab_delta);
/* compute 3d coordinate at same z from original location + mouse */
- initgrabz(cache->vc->rv3d,
- cache->orig_grab_location[0],
- cache->orig_grab_location[1],
- cache->orig_grab_location[2]);
+ mul_v3_m4v3(loc, ob->obmat, cache->orig_grab_location);
+ initgrabz(cache->vc->rv3d, loc[0], loc[1], loc[2]);
ED_view3d_win_to_delta(cache->vc->ar, cache->mouse, grab_location);
@@ -3088,9 +3087,6 @@ static void sculpt_update_cache_variants(bContext *C, Sculpt *sd, Object *ob, st
else {
cache->initial_radius= brush_unprojected_radius(brush);
}
-
- if (ELEM(brush->sculpt_tool, SCULPT_TOOL_GRAB, SCULPT_TOOL_SNAKE_HOOK))
- cache->initial_radius *= 2.0f;
}
if(brush_use_size_pressure(brush)) {
@@ -3278,7 +3274,7 @@ static void sculpt_brush_init_tex(Sculpt *sd, SculptSession *ss)
/* init mtex nodes */
if(mtex->tex && mtex->tex->nodetree)
- ntreeBeginExecTree(mtex->tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(mtex->tex->nodetree, 1); /* has internal flag to detect it only does it once */
/* TODO: Shouldn't really have to do this at the start of every
stroke, but sculpt would need some sort of notification when
@@ -3459,7 +3455,7 @@ static void sculpt_brush_exit_tex(Sculpt *sd)
MTex *mtex= &brush->mtex;
if(mtex->tex && mtex->tex->nodetree)
- ntreeEndExecTree(mtex->tex->nodetree);
+ ntreeTexEndExecTree(mtex->tex->nodetree->execdata, 1);
}
static void sculpt_stroke_done(bContext *C, struct PaintStroke *UNUSED(stroke))
@@ -3559,7 +3555,7 @@ static int sculpt_brush_stroke_exec(bContext *C, wmOperator *op)
return OPERATOR_FINISHED;
}
-static int sculpt_brush_stroke_cacel(bContext *C, wmOperator *op)
+static int sculpt_brush_stroke_cancel(bContext *C, wmOperator *op)
{
Object *ob= CTX_data_active_object(C);
SculptSession *ss = ob->sculpt;
@@ -3595,7 +3591,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_cacel;
+ ot->cancel= sculpt_brush_stroke_cancel;
/* flags (sculpt does own undo? (ton) */
ot->flag= OPTYPE_BLOCKING;
diff --git a/source/blender/editors/sound/CMakeLists.txt b/source/blender/editors/sound/CMakeLists.txt
index 6a99971a5af..11da4165ec8 100644
--- a/source/blender/editors/sound/CMakeLists.txt
+++ b/source/blender/editors/sound/CMakeLists.txt
@@ -22,13 +22,12 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -41,4 +40,19 @@ set(SRC
sound_intern.h
)
+if(WITH_AUDASPACE)
+ list(APPEND INC
+ ../../../../intern/audaspace/intern
+ )
+ add_definitions(-DWITH_AUDASPACE)
+endif()
+
+if(WITH_CODEC_FFMPEG)
+ add_definitions(-DWITH_FFMPEG)
+endif()
+
+if(WITH_CODEC_SNDFILE)
+ add_definitions(-DWITH_SNDFILE)
+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..72dbbd9da9a 100644
--- a/source/blender/editors/sound/sound_ops.c
+++ b/source/blender/editors/sound/sound_ops.c
@@ -41,6 +41,7 @@
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
+#include "DNA_anim_types.h"
#include "DNA_packedFile_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
@@ -49,11 +50,14 @@
#include "DNA_userdef_types.h"
#include "BKE_context.h"
+#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_packedFile.h"
+#include "BKE_scene.h"
#include "BKE_sound.h"
+#include "BKE_sequencer.h"
#include "RNA_access.h"
#include "RNA_define.h"
@@ -64,7 +68,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"
@@ -73,14 +79,22 @@
/******************** open sound operator ********************/
+static int open_cancel(bContext *UNUSED(C), wmOperator *op)
+{
+ MEM_freeN(op->customdata);
+ op->customdata= NULL;
+ return OPERATOR_CANCELLED;
+}
+
static void open_init(bContext *C, wmOperator *op)
{
PropertyPointerRNA *pprop;
-
+
op->customdata= pprop= MEM_callocN(sizeof(PropertyPointerRNA), "OpenPropertyPointerRNA");
uiIDContextProperty(C, &pprop->ptr, &pprop->prop);
}
+#ifdef WITH_AUDASPACE
static int open_exec(bContext *C, wmOperator *op)
{
char path[FILE_MAX];
@@ -88,13 +102,14 @@ static int open_exec(bContext *C, wmOperator *op)
PropertyPointerRNA *pprop;
PointerRNA idptr;
AUD_SoundInfo info;
+ Main *bmain = CTX_data_main(C);
RNA_string_get(op->ptr, "filepath", path);
- sound = sound_new_file(CTX_data_main(C), path);
+ sound = sound_new_file(bmain, path);
if(!op->customdata)
open_init(C, op);
-
+
if (sound==NULL || sound->playback_handle == NULL) {
if(op->customdata) MEM_freeN(op->customdata);
BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
@@ -104,24 +119,29 @@ static int open_exec(bContext *C, wmOperator *op)
info = AUD_getInfo(sound->playback_handle);
if (info.specs.channels == AUD_CHANNELS_INVALID) {
- sound_delete(C, sound);
+ sound_delete(bmain, sound);
if(op->customdata) MEM_freeN(op->customdata);
BKE_report(op->reports, RPT_ERROR, "Unsupported audio format");
return OPERATOR_CANCELLED;
}
+ if(RNA_boolean_get(op->ptr, "mono")) {
+ sound->flags |= SOUND_FLAGS_MONO;
+ sound_load(bmain, sound);
+ }
+
if (RNA_boolean_get(op->ptr, "cache")) {
- sound_cache(sound, 0);
+ sound_cache(sound);
}
-
+
/* hook into UI */
pprop= op->customdata;
-
+
if(pprop->prop) {
/* when creating new ID blocks, use is already 1, but RNA
* pointer se also increases user, so this compensates it */
sound->id.us--;
-
+
RNA_id_pointer_create(&sound->id, &idptr);
RNA_property_pointer_set(&pprop->ptr, pprop->prop, idptr);
RNA_property_update(C, &pprop->ptr, pprop->prop);
@@ -131,16 +151,27 @@ 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"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
-
+
if(RNA_property_is_set(op->ptr, "filepath"))
return open_exec(C, op);
-
+
open_init(C, op);
-
+
return WM_operator_filesel(C, op, event);
}
@@ -154,6 +185,28 @@ void SOUND_OT_open(wmOperatorType *ot)
/* api callbacks */
ot->exec= open_exec;
ot->invoke= open_invoke;
+ ot->cancel= open_cancel;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH);
+ RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
+ RNA_def_boolean(ot->srna, "mono", FALSE, "Mono", "Mixdown the sound to mono.");
+}
+
+void SOUND_OT_open_mono(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Open Sound Mono";
+ ot->description= "Load a sound file as mono";
+ ot->idname= "SOUND_OT_open_mono";
+
+ /* api callbacks */
+ ot->exec= open_exec;
+ ot->invoke= open_invoke;
+ ot->cancel= open_cancel;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -161,6 +214,294 @@ void SOUND_OT_open(wmOperatorType *ot)
/* properties */
WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH | WM_FILESEL_RELPATH);
RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
+ RNA_def_boolean(ot->srna, "mono", TRUE, "Mono", "Mixdown the sound to mono.");
+}
+
+/******************** mixdown operator ********************/
+
+static int mixdown_exec(bContext *C, wmOperator *op)
+{
+#ifdef WITH_AUDASPACE
+ char path[FILE_MAX];
+ char filename[FILE_MAX];
+ Scene *scene;
+ Main *bmain;
+
+ int bitrate, accuracy;
+ AUD_DeviceSpecs specs;
+ AUD_Container container;
+ AUD_Codec codec;
+ const char* result;
+
+ RNA_string_get(op->ptr, "filepath", path);
+ bitrate = RNA_int_get(op->ptr, "bitrate") * 1000;
+ accuracy = RNA_int_get(op->ptr, "accuracy");
+ specs.format = RNA_enum_get(op->ptr, "format");
+ container = RNA_enum_get(op->ptr, "container");
+ codec = RNA_enum_get(op->ptr, "codec");
+ scene = CTX_data_scene(C);
+ bmain = CTX_data_main(C);
+ specs.channels = scene->r.ffcodecdata.audio_channels;
+ specs.rate = scene->r.ffcodecdata.audio_mixrate;
+
+ BLI_strncpy(filename, path, sizeof(filename));
+ BLI_path_abs(filename, bmain->name);
+
+ result = AUD_mixdown(scene->sound_scene, SFRA * specs.rate / FPS, (EFRA - SFRA) * specs.rate / FPS,
+ accuracy, filename, specs, container, codec, bitrate);
+
+ if(result)
+ {
+ BKE_report(op->reports, RPT_ERROR, result);
+ return OPERATOR_CANCELLED;
+ }
+#else // WITH_AUDASPACE
+ (void)C;
+ (void)op;
+#endif // WITH_AUDASPACE
+ return OPERATOR_FINISHED;
+}
+
+static int mixdown_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+ if(!RNA_property_is_set(op->ptr, "relative_path"))
+ RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
+
+ if(RNA_property_is_set(op->ptr, "filepath"))
+ return mixdown_exec(C, op);
+
+ return WM_operator_filesel(C, op, event);
+}
+
+static int mixdown_draw_check_prop(PropertyRNA *prop)
+{
+ const char *prop_id= RNA_property_identifier(prop);
+ return !( strcmp(prop_id, "filepath") == 0 ||
+ strcmp(prop_id, "directory") == 0 ||
+ strcmp(prop_id, "filename") == 0
+ );
+}
+
+#ifdef WITH_AUDASPACE
+static void mixdown_draw(bContext *C, wmOperator *op)
+{
+ static EnumPropertyItem pcm_format_items[] = {
+ {AUD_FORMAT_U8, "U8", 0, "U8", "8 bit unsigned"},
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+#ifdef WITH_SNDFILE
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+#endif
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem mp3_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem ac3_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+#ifdef WITH_SNDFILE
+ static EnumPropertyItem flac_format_items[] = {
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+ {0, NULL, 0, NULL, NULL}};
+#endif
+
+ static EnumPropertyItem all_codec_items[] = {
+ {AUD_CODEC_AAC, "AAC", 0, "AAC", "Advanced Audio Coding"},
+ {AUD_CODEC_AC3, "AC3", 0, "AC3", "Dolby Digital ATRAC 3"},
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+ {AUD_CODEC_MP2, "MP2", 0, "MP2", "MPEG-1 Audio Layer II"},
+ {AUD_CODEC_MP3, "MP3", 0, "MP3", "MPEG-2 Audio Layer III"},
+ {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem ogg_codec_items[] = {
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+ uiLayout *layout = op->layout;
+ wmWindowManager *wm= CTX_wm_manager(C);
+ PointerRNA ptr;
+ PropertyRNA *prop_format;
+ PropertyRNA *prop_codec;
+ PropertyRNA *prop_bitrate;
+
+ AUD_Container container = RNA_enum_get(op->ptr, "container");
+ AUD_Codec codec = RNA_enum_get(op->ptr, "codec");
+
+ prop_format = RNA_struct_find_property(op->ptr, "format");
+ prop_codec = RNA_struct_find_property(op->ptr, "codec");
+ prop_bitrate = RNA_struct_find_property(op->ptr, "bitrate");
+
+ RNA_def_property_clear_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_flag(prop_format, PROP_HIDDEN);
+
+ switch(container)
+ {
+ case AUD_CONTAINER_AC3:
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, ac3_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_AC3);
+ break;
+ case AUD_CONTAINER_FLAC:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_FLAC);
+#ifdef WITH_SNDFILE
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, flac_format_items);
+#else
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+#endif
+ break;
+ case AUD_CONTAINER_MATROSKA:
+ RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+
+ switch(codec)
+ {
+ case AUD_CODEC_AAC:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_AC3:
+ RNA_def_property_enum_items(prop_format, ac3_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_FLAC:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_MP2:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CODEC_MP3:
+ RNA_def_property_enum_items(prop_format, mp3_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_PCM:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, pcm_format_items);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ break;
+ case AUD_CODEC_VORBIS:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ default:
+ break;
+ }
+
+ break;
+ case AUD_CONTAINER_MP2:
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP2);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ break;
+ case AUD_CONTAINER_MP3:
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, mp3_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_MP3);
+ break;
+ case AUD_CONTAINER_OGG:
+ RNA_def_property_clear_flag(prop_codec, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_codec, ogg_codec_items);
+ RNA_enum_set(op->ptr, "format", AUD_FORMAT_S16);
+ break;
+ case AUD_CONTAINER_WAV:
+ RNA_def_property_flag(prop_bitrate, PROP_HIDDEN);
+ RNA_def_property_clear_flag(prop_format, PROP_HIDDEN);
+ RNA_def_property_enum_items(prop_format, pcm_format_items);
+ RNA_def_property_enum_items(prop_codec, all_codec_items);
+ RNA_enum_set(op->ptr, "codec", AUD_CODEC_PCM);
+ break;
+ default:
+ break;
+ }
+
+ RNA_pointer_create(&wm->id, op->type->srna, op->properties, &ptr);
+
+ /* main draw call */
+ uiDefAutoButsRNA(layout, &ptr, mixdown_draw_check_prop, '\0');
+}
+#endif // WITH_AUDASPACE
+
+void SOUND_OT_mixdown(wmOperatorType *ot)
+{
+#ifdef WITH_AUDASPACE
+ static EnumPropertyItem format_items[] = {
+ {AUD_FORMAT_U8, "U8", 0, "U8", "8 bit unsigned"},
+ {AUD_FORMAT_S16, "S16", 0, "S16", "16 bit signed"},
+ {AUD_FORMAT_S24, "S24", 0, "S24", "24 bit signed"},
+ {AUD_FORMAT_S32, "S32", 0, "S32", "32 bit signed"},
+ {AUD_FORMAT_FLOAT32, "F32", 0, "F32", "32 bit floating point"},
+ {AUD_FORMAT_FLOAT64, "F64", 0, "F64", "64 bit floating point"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem container_items[] = {
+#ifdef WITH_FFMPEG
+ {AUD_CONTAINER_AC3, "AC3", 0, "ac3", "Dolby Digital ATRAC 3"},
+#endif
+ {AUD_CONTAINER_FLAC, "FLAC", 0, "flac", "Free Lossless Audio Codec"},
+#ifdef WITH_FFMPEG
+ {AUD_CONTAINER_MATROSKA, "MATROSKA", 0, "mkv", "Matroska"},
+ {AUD_CONTAINER_MP2, "MP2", 0, "mp2", "MPEG-1 Audio Layer II"},
+ {AUD_CONTAINER_MP3, "MP3", 0, "mp3", "MPEG-2 Audio Layer III"},
+#endif
+ {AUD_CONTAINER_OGG, "OGG", 0, "ogg", "Xiph.Org Ogg Container"},
+ {AUD_CONTAINER_WAV, "WAV", 0, "wav", "Waveform Audio File Format"},
+ {0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem codec_items[] = {
+#ifdef WITH_FFMPEG
+ {AUD_CODEC_AAC, "AAC", 0, "AAC", "Advanced Audio Coding"},
+ {AUD_CODEC_AC3, "AC3", 0, "AC3", "Dolby Digital ATRAC 3"},
+#endif
+ {AUD_CODEC_FLAC, "FLAC", 0, "FLAC", "Free Lossless Audio Codec"},
+#ifdef WITH_FFMPEG
+ {AUD_CODEC_MP2, "MP2", 0, "MP2", "MPEG-1 Audio Layer II"},
+ {AUD_CODEC_MP3, "MP3", 0, "MP3", "MPEG-2 Audio Layer III"},
+#endif
+ {AUD_CODEC_PCM, "PCM", 0, "PCM", "Pulse Code Modulation (RAW)"},
+ {AUD_CODEC_VORBIS, "VORBIS", 0, "Vorbis", "Xiph.Org Vorbis Codec"},
+ {0, NULL, 0, NULL, NULL}};
+
+#endif // WITH_AUDASPACE
+
+ /* identifiers */
+ ot->name= "Mixdown";
+ ot->description= "Mixes the scene's audio to a sound file";
+ ot->idname= "SOUND_OT_mixdown";
+
+ /* api callbacks */
+ ot->exec= mixdown_exec;
+ ot->invoke= mixdown_invoke;
+
+#ifdef WITH_AUDASPACE
+ ot->ui= mixdown_draw;
+#endif
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+
+ /* properties */
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH);
+#ifdef WITH_AUDASPACE
+ RNA_def_int(ot->srna, "accuracy", 1024, 1, 16777216, "Accuracy", "Sample accuracy. Important for animation data. The lower the value, the more accurate.", 1, 16777216);
+ RNA_def_enum(ot->srna, "container", container_items, AUD_CONTAINER_FLAC, "Container", "File format");
+ RNA_def_enum(ot->srna, "codec", codec_items, AUD_CODEC_FLAC, "Codec", "Audio Codec");
+ RNA_def_enum(ot->srna, "format", format_items, AUD_FORMAT_S16, "Format", "Sample format");
+ RNA_def_int(ot->srna, "bitrate", 192, 32, 512, "Bitrate", "Bitrate in kbit/s", 32, 512);
+#endif // WITH_AUDASPACE
}
/* ******************************************************* */
@@ -281,9 +622,111 @@ static void SOUND_OT_unpack(wmOperatorType *ot)
/* ******************************************************* */
+static int update_animation_flags_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Sequence* seq;
+ Scene* scene = CTX_data_scene(C);
+ struct FCurve* fcu;
+ char driven;
+
+ SEQ_BEGIN(scene->ed, seq) {
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "volume", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_VOLUME_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_VOLUME_ANIMATED;
+
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "pitch", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_PITCH_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_PITCH_ANIMATED;
+
+ fcu = id_data_find_fcurve(&scene->id, seq, &RNA_Sequence, "pan", 0, &driven);
+ if(fcu || driven)
+ seq->flag |= SEQ_AUDIO_PAN_ANIMATED;
+ else
+ seq->flag &= ~SEQ_AUDIO_PAN_ANIMATED;
+ }
+ SEQ_END
+
+ fcu = id_data_find_fcurve(&scene->id, scene, &RNA_Scene, "audio_volume", 0, &driven);
+ if(fcu || driven)
+ scene->audio.flag |= AUDIO_VOLUME_ANIMATED;
+ else
+ scene->audio.flag &= ~AUDIO_VOLUME_ANIMATED;
+
+ return OPERATOR_FINISHED;
+}
+
+void SOUND_OT_update_animation_flags(wmOperatorType *ot)
+{
+ /*
+ This operator is needed to set a correct state of the sound animation
+ System. Unfortunately there's no really correct place to call the exec
+ function, that's why I made it an operator that's only visible in the
+ search menu. Apart from that the bake animation operator calls it too.
+ */
+
+ /* identifiers */
+ ot->name= "Update animation";
+ ot->description= "Update animation flags";
+ ot->idname= "SOUND_OT_update_animation_flags";
+
+ /* api callbacks */
+ ot->exec= update_animation_flags_exec;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+/* ******************************************************* */
+
+static int bake_animation_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Main* bmain = CTX_data_main(C);
+ Scene* scene = CTX_data_scene(C);
+ int oldfra = scene->r.cfra;
+ int cfra;
+
+ update_animation_flags_exec(C, NULL);
+
+ for(cfra = scene->r.sfra; cfra <= scene->r.efra; cfra++)
+ {
+ scene->r.cfra = cfra;
+ scene_update_for_newframe(bmain, scene, scene->lay);
+ }
+
+ scene->r.cfra = oldfra;
+ scene_update_for_newframe(bmain, scene, scene->lay);
+
+ return OPERATOR_FINISHED;
+}
+
+void SOUND_OT_bake_animation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Update animation cache";
+ ot->description= "Updates the audio animation cache so that it's up to date";
+ ot->idname= "SOUND_OT_bake_animation";
+
+ /* api callbacks */
+ ot->exec= bake_animation_exec;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+
+/* ******************************************************* */
+
void ED_operatortypes_sound(void)
{
WM_operatortype_append(SOUND_OT_open);
+ WM_operatortype_append(SOUND_OT_open_mono);
+ WM_operatortype_append(SOUND_OT_mixdown);
WM_operatortype_append(SOUND_OT_pack);
WM_operatortype_append(SOUND_OT_unpack);
+ WM_operatortype_append(SOUND_OT_update_animation_flags);
+ WM_operatortype_append(SOUND_OT_bake_animation);
}
diff --git a/source/blender/editors/space_action/CMakeLists.txt b/source/blender/editors/space_action/CMakeLists.txt
index 6789556aa2b..edebaa8273a 100644
--- a/source/blender/editors/space_action/CMakeLists.txt
+++ b/source/blender/editors/space_action/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c
index f0f34645ebf..f541423e69d 100644
--- a/source/blender/editors/space_action/action_draw.c
+++ b/source/blender/editors/space_action/action_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -77,10 +75,11 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -121,6 +120,7 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
}
{ /* second pass: widgets */
uiBlock *block= uiBeginBlock(C, ar, "dopesheet channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
y= (float)ACHANNEL_FIRST;
@@ -133,11 +133,12 @@ void draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
y -= ACHANNEL_STEP;
+ channel_index++;
}
uiEndBlock(C, block);
@@ -166,7 +167,8 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
AnimData *adt= NULL;
float act_start, act_end, y;
- int height, items;
+ size_t items;
+ int height;
unsigned char col1[3], col2[3];
unsigned char col1a[3], col2a[3];
@@ -194,7 +196,7 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
}
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -248,8 +250,6 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
break;
case ANIMTYPE_FILLACTD:
- case ANIMTYPE_FILLMATD:
- case ANIMTYPE_FILLPARTD:
case ANIMTYPE_DSSKEY:
case ANIMTYPE_DSWOR:
{
diff --git a/source/blender/editors/space_action/action_edit.c b/source/blender/editors/space_action/action_edit.c
index b30db6680e5..b5dfdcdc668 100644
--- a/source/blender/editors/space_action/action_edit.c
+++ b/source/blender/editors/space_action/action_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -234,7 +232,8 @@ static void get_keyframe_extents (bAnimContext *ac, float *min, float *max, cons
int filter;
/* get data to filter, from Action or Dopesheet */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ // XXX: what is sel doing here?!
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* set large values to try to override */
@@ -414,7 +413,7 @@ static short copy_action_keys (bAnimContext *ac)
free_anim_copybuf();
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* copy keyframes */
@@ -434,7 +433,7 @@ static short paste_action_keys (bAnimContext *ac,
int filter, ok=0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
@@ -561,7 +560,7 @@ static void insert_action_keys(bAnimContext *ac, short mode)
short flag = 0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
if (mode == 2) filter |= ANIMFILTER_SEL;
else if (mode == 3) filter |= ANIMFILTER_ACTGROUPED;
@@ -575,7 +574,7 @@ static void insert_action_keys(bAnimContext *ac, short mode)
AnimData *adt= ANIM_nla_mapping_get(ac, ale);
FCurve *fcu= (FCurve *)ale->key_data;
float cfra;
-
+
/* adjust current frame for NLA-scaling */
if (adt)
cfra= BKE_nla_tweakedit_remap(adt, (float)CFRA, NLATIME_CONVERT_UNMAP);
@@ -649,9 +648,9 @@ static void duplicate_action_keys (bAnimContext *ac)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -724,9 +723,9 @@ static void delete_action_keys (bAnimContext *ac)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -797,7 +796,7 @@ static void clean_action_keys (bAnimContext *ac, float thresh)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and clean curves */
@@ -865,7 +864,7 @@ static void sample_action_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -920,10 +919,17 @@ void ACTION_OT_sample (wmOperatorType *ot)
/* ******************** Set Extrapolation-Type Operator *********************** */
+/* defines for make/clear cyclic extrapolation tools */
+#define MAKE_CYCLIC_EXPO -1
+#define CLEAR_CYCLIC_EXPO -2
+
/* defines for set extrapolation-type for selected keyframes tool */
static EnumPropertyItem prop_actkeys_expo_types[] = {
{FCURVE_EXTRAPOLATE_CONSTANT, "CONSTANT", 0, "Constant Extrapolation", ""},
{FCURVE_EXTRAPOLATE_LINEAR, "LINEAR", 0, "Linear Extrapolation", ""},
+
+ {MAKE_CYCLIC_EXPO, "MAKE_CYCLIC", 0, "Make Cyclic (F-Modifier)", "Add Cycles F-Modifier if one doesn't exist already"},
+ {CLEAR_CYCLIC_EXPO, "CLEAR_CYCLIC", 0, "Clear Cyclic (F-Modifier)", "Remove Cycles F-Modifier if not needed anymore"},
{0, NULL, 0, NULL, NULL}
};
@@ -935,13 +941,40 @@ static void setexpo_action_keys(bAnimContext *ac, short mode)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting mode per F-Curve */
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu= (FCurve *)ale->data;
- fcu->extend= mode;
+
+ if (mode >= 0) {
+ /* just set mode setting */
+ fcu->extend= mode;
+ }
+ else {
+ /* shortcuts for managing Cycles F-Modifiers to make it easier to toggle cyclic animation
+ * without having to go through FModifier UI in Graph Editor to do so
+ */
+ if (mode == MAKE_CYCLIC_EXPO) {
+ /* only add if one doesn't exist */
+ if (list_has_suitable_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES, -1) == 0) {
+ // TODO: add some more preset versions which set different extrapolation options?
+ add_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES);
+ }
+ }
+ else if (mode == CLEAR_CYCLIC_EXPO) {
+ /* remove all the modifiers fitting this description */
+ FModifier *fcm, *fcn=NULL;
+
+ for (fcm = fcu->modifiers.first; fcm; fcm = fcn) {
+ fcn = fcm->next;
+
+ if (fcm->type == FMODIFIER_TYPE_CYCLES)
+ remove_fmodifier(&fcu->modifiers, fcm);
+ }
+ }
+ }
}
/* cleanup */
@@ -1006,7 +1039,7 @@ static void setipo_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_ipo(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1068,17 +1101,6 @@ void ACTION_OT_interpolation_type (wmOperatorType *ot)
/* ******************** Set Handle-Type Operator *********************** */
-static EnumPropertyItem actkeys_handle_type_items[] = {
- {HD_FREE, "FREE", 0, "Free", ""},
- {HD_VECT, "VECTOR", 0, "Vector", ""},
- {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
- {0, "", 0, "", ""},
- {HD_AUTO, "AUTO", 0, "Auto", "Handles that are automatically adjusted upon moving the keyframe"},
- {HD_AUTO_ANIM, "ANIM_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot"},
- {0, NULL, 0, NULL, NULL}};
-
-/* ------------------- */
-
/* this function is responsible for setting handle-type of selected keyframes */
static void sethandles_action_keys(bAnimContext *ac, short mode)
{
@@ -1090,7 +1112,7 @@ static void sethandles_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc sel_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting flags for handles
@@ -1101,12 +1123,6 @@ static void sethandles_action_keys(bAnimContext *ac, short mode)
/* any selected keyframes for editing? */
if (ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, sel_cb, NULL)) {
- /* for auto/auto-clamped, toggle the auto-handles flag on the F-Curve */
- if (mode == HD_AUTO_ANIM)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else if (mode == HD_AUTO)
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
-
/* change type of selected handles */
ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, edit_cb, calchandles_fcurve);
}
@@ -1160,7 +1176,7 @@ void ACTION_OT_handle_type (wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* id-props */
- ot->prop= RNA_def_enum(ot->srna, "type", actkeys_handle_type_items, 0, "Type", "");
+ ot->prop= RNA_def_enum(ot->srna, "type", keyframe_handle_type_items, 0, "Type", "");
}
/* ******************** Set Keyframe-Type Operator *********************** */
@@ -1174,7 +1190,7 @@ static void setkeytype_action_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_keytype(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1254,7 +1270,7 @@ static int actkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
/* init edit data */
/* loop over action data, averaging values */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1321,9 +1337,9 @@ static void snap_action_keys(bAnimContext *ac, short mode)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing callbacks */
@@ -1440,9 +1456,9 @@ static void mirror_action_keys(bAnimContext *ac, short mode)
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* mirror keyframes */
diff --git a/source/blender/editors/space_action/action_intern.h b/source/blender/editors/space_action/action_intern.h
index 512b6e329dd..2a23f105737 100644
--- a/source/blender/editors/space_action/action_intern.h
+++ b/source/blender/editors/space_action/action_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_action/action_ops.c b/source/blender/editors/space_action/action_ops.c
index 6c3f80cda41..491d436741e 100644
--- a/source/blender/editors/space_action/action_ops.c
+++ b/source/blender/editors/space_action/action_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -40,6 +38,7 @@
#include "BLI_blenlib.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_transform.h"
#include "action_intern.h"
@@ -162,7 +161,7 @@ static void action_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* menu + set setting */
WM_keymap_add_item(keymap, "ACTION_OT_handle_type", VKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "ACTION_OT_interpolation_type", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "ACTION_OT_interpolation_type", TKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "ACTION_OT_extrapolation_type", EKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "ACTION_OT_keyframe_type", RKEY, KM_PRESS, 0, 0);
@@ -193,6 +192,9 @@ static void action_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_ACTION);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_action/action_select.c b/source/blender/editors/space_action/action_select.c
index 4d0043913ab..aa29e54f436 100644
--- a/source/blender/editors/space_action/action_select.c
+++ b/source/blender/editors/space_action/action_select.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -95,9 +93,9 @@ static void deselect_action_keys (bAnimContext *ac, short test, short sel)
/* determine type-based settings */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -198,7 +196,7 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- int filter, filterflag;
+ int filter;
KeyframeEditData ked;
KeyframeEditFunc ok_cb, select_cb;
@@ -211,17 +209,9 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
- /* get filtering flag for dopesheet data (if applicable) */
- if (ac->datatype == ANIMCONT_DOPESHEET) {
- bDopeSheet *ads= (bDopeSheet *)ac->data;
- filterflag= ads->filterflag;
- }
- else
- filterflag= 0;
-
/* get beztriple editing/validation funcs */
select_cb= ANIM_editkeyframes_select(selectmode);
@@ -261,7 +251,7 @@ static void borderselect_action (bAnimContext *ac, rcti rect, short mode, short
if (ale->type == ANIMTYPE_GPLAYER)
borderselect_gplayer_frames(ale->data, rectf.xmin, rectf.xmax, selectmode);
else
- ANIM_animchannel_keyframes_loop(&ked, ale, ok_cb, select_cb, NULL, filterflag);
+ ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
/* set minimum extent to be the maximum of the next channel */
@@ -388,7 +378,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
ked.f2= max;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys in-between */
@@ -431,14 +421,14 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
switch (mode) {
case ACTKEYS_COLUMNSEL_KEYS: /* list of selected keys */
if (ac->datatype == ANIMCONT_GPENCIL) {
- filter= (ANIMFILTER_VISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
gplayer_make_cfra_list(ale->data, &ked.list, 1);
}
else {
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
@@ -471,9 +461,9 @@ static void columnselect_action_keys (bAnimContext *ac, short mode)
* based on the keys found to be selected above
*/
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -563,7 +553,7 @@ static int actkeys_select_linked_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -617,7 +607,7 @@ static void select_moreless_action_keys (bAnimContext *ac, short mode)
build_cb= ANIM_editkeyframes_buildselmap(mode);
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -758,9 +748,9 @@ static void actkeys_select_leftright (bAnimContext *ac, short leftright, short s
/* filter data */
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY*/ | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys */
@@ -780,7 +770,7 @@ static void actkeys_select_leftright (bAnimContext *ac, short leftright, short s
/* Sync marker support */
if (select_mode==SELECT_ADD) {
- SpaceAction *saction= ac->sa->spacedata.first;
+ SpaceAction *saction= (SpaceAction *)ac->sl;
if ((saction) && (saction->flag & SACTION_MARKERS_MOVE)) {
ListBase *markers = ED_animcontext_get_markers(ac);
@@ -900,9 +890,6 @@ void ACTION_OT_select_leftright (wmOperatorType *ot)
/* option 1) select keyframe directly under mouse */
static void actkeys_mselect_single (bAnimContext *ac, bAnimListElem *ale, short select_mode, float selx)
{
- bDopeSheet *ads= (ac->datatype == ANIMCONT_DOPESHEET) ? ac->data : NULL;
- int ds_filter = ((ads) ? (ads->filterflag) : (0));
-
KeyframeEditData ked= {{NULL}};
KeyframeEditFunc select_cb, ok_cb;
@@ -915,7 +902,7 @@ static void actkeys_mselect_single (bAnimContext *ac, bAnimListElem *ale, short
if (ale->type == ANIMTYPE_GPLAYER)
select_gpencil_frame(ale->data, selx, select_mode);
else
- ANIM_animchannel_keyframes_loop(&ked, ale, ok_cb, select_cb, NULL, ds_filter);
+ ANIM_animchannel_keyframes_loop(&ked, ac->ads, ale, ok_cb, select_cb, NULL);
}
/* Option 2) Selects all the keyframes on either side of the current frame (depends on which side the mouse is on) */
@@ -941,9 +928,9 @@ static void actkeys_mselect_column(bAnimContext *ac, short select_mode, float se
* based on the keys found to be selected above
*/
if (ac->datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE /*| ANIMFILTER_CURVESONLY */ | ANIMFILTER_NODUPLIS);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -997,7 +984,7 @@ static void mouse_action_keys (bAnimContext *ac, const int mval[2], short select
UI_view2d_region_to_view(v2d, mval[0]+7, mval[1], &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* try to get channel */
diff --git a/source/blender/editors/space_action/space_action.c b/source/blender/editors/space_action/space_action.c
index 7a824e6bf9d..4baaa469127 100644
--- a/source/blender/editors/space_action/space_action.c
+++ b/source/blender/editors/space_action/space_action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -78,6 +76,8 @@ static SpaceLink *action_new(const bContext *C)
saction->autosnap = SACTSNAP_FRAME;
saction->mode= SACTCONT_DOPESHEET;
+ saction->ads.filterflag |= ADS_FILTER_SUMMARY;
+
/* header */
ar= MEM_callocN(sizeof(ARegion), "header for action");
@@ -405,6 +405,13 @@ static void action_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_NODE:
+ if (wmn->action == NA_SELECTED) {
+ /* selection changed, so force refresh to flush (needs flag set to do syncing) */
+ saction->flag |= SACTION_TEMP_NEEDCHANSYNC;
+ ED_area_tag_refresh(sa);
+ }
+ break;
case NC_SPACE:
switch (wmn->data) {
case ND_SPACE_DOPESHEET:
diff --git a/source/blender/editors/space_api/CMakeLists.txt b/source/blender/editors/space_api/CMakeLists.txt
index c2dc2582c82..4cbb290be76 100644
--- a/source/blender/editors/space_api/CMakeLists.txt
+++ b/source/blender/editors/space_api/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_buttons/CMakeLists.txt b/source/blender/editors/space_buttons/CMakeLists.txt
index 0a4f251e46f..631e2adea34 100644
--- a/source/blender/editors/space_buttons/CMakeLists.txt
+++ b/source/blender/editors/space_buttons/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_buttons/buttons_context.c b/source/blender/editors/space_buttons/buttons_context.c
index f91e830d52e..9d2ac3fd8e2 100644
--- a/source/blender/editors/space_buttons/buttons_context.c
+++ b/source/blender/editors/space_buttons/buttons_context.c
@@ -44,6 +44,7 @@
#include "DNA_node_types.h"
#include "DNA_scene_types.h"
#include "DNA_world_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_brush_types.h"
#include "BKE_context.h"
@@ -188,6 +189,7 @@ static int buttons_context_path_data(ButsContextPath *path, int type)
else if(RNA_struct_is_a(ptr->type, &RNA_Lattice) && (type == -1 || type == OB_LATTICE)) return 1;
else if(RNA_struct_is_a(ptr->type, &RNA_Camera) && (type == -1 || type == OB_CAMERA)) return 1;
else if(RNA_struct_is_a(ptr->type, &RNA_Lamp) && (type == -1 || type == OB_LAMP)) return 1;
+ else if(RNA_struct_is_a(ptr->type, &RNA_Speaker) && (type == -1 || type == OB_SPEAKER)) return 1;
/* try to get an object in the path, no pinning supported here */
else if(buttons_context_path_object(path)) {
ob= path->ptr[path->len-1].data;
@@ -218,7 +220,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 +238,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 +437,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 +529,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);
@@ -645,7 +650,7 @@ void buttons_context_compute(const bContext *C, SpaceButs *sbuts)
const char *buttons_context_dir[] = {
"world", "object", "mesh", "armature", "lattice", "curve",
- "meta_ball", "lamp", "camera", "material", "material_slot",
+ "meta_ball", "lamp", "speaker", "camera", "material", "material_slot",
"texture", "texture_slot", "bone", "edit_bone", "pose_bone", "particle_system", "particle_system_editable",
"cloth", "soft_body", "fluid", "smoke", "collision", "brush", NULL};
@@ -698,6 +703,10 @@ int buttons_context(const bContext *C, const char *member, bContextDataResult *r
set_pointer_type(path, result, &RNA_Camera);
return 1;
}
+ else if(CTX_data_equals(member, "speaker")) {
+ set_pointer_type(path, result, &RNA_Speaker);
+ return 1;
+ }
else if(CTX_data_equals(member, "material")) {
set_pointer_type(path, result, &RNA_Material);
return 1;
@@ -901,6 +910,7 @@ void buttons_context_draw(const bContext *C, uiLayout *layout)
block= uiLayoutGetBlock(row);
uiBlockSetEmboss(block, UI_EMBOSSN);
but= uiDefIconButBitC(block, ICONTOG, SB_PIN_CONTEXT, 0, ICON_UNPINNED, 0, 0, UI_UNIT_X, UI_UNIT_Y, &sbuts->flag, 0, 0, 0, 0, "Follow context or keep fixed datablock displayed");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
uiButSetFunc(but, pin_cb, NULL, NULL);
for(a=0; a<path->len; a++) {
diff --git a/source/blender/editors/space_buttons/buttons_header.c b/source/blender/editors/space_buttons/buttons_header.c
index 19c600be937..e631718b0cb 100644
--- a/source/blender/editors/space_buttons/buttons_header.c
+++ b/source/blender/editors/space_buttons/buttons_header.c
@@ -104,6 +104,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
{
SpaceButs *sbuts= CTX_wm_space_buts(C);
uiBlock *block;
+ uiBut *but;
int xco, yco= 2;
buttons_context_compute(C, sbuts);
@@ -118,33 +119,32 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
xco -= UI_UNIT_X;
// Default panels
+
uiBlockBeginAlign(block);
- if(sbuts->pathflag & (1<<BCONTEXT_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+=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+=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+=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+=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+=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+=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+=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+=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+=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+=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+=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+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
+
+#define BUTTON_HEADER_CTX(_ctx, _icon, _tip) \
+ if(sbuts->pathflag & (1<<_ctx)) { \
+ but= uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, _icon, xco+=BUT_UNIT_X, yco, BUT_UNIT_X, UI_UNIT_Y, &(sbuts->mainb), 0.0, (float)_ctx, 0, 0, _tip); \
+ uiButClearFlag(but, UI_BUT_UNDO); \
+ } \
+
+
+ BUTTON_HEADER_CTX(BCONTEXT_RENDER, ICON_SCENE, "Render")
+ BUTTON_HEADER_CTX(BCONTEXT_SCENE, ICON_SCENE_DATA, "Scene");
+ BUTTON_HEADER_CTX(BCONTEXT_WORLD, ICON_WORLD, "World");
+ BUTTON_HEADER_CTX(BCONTEXT_OBJECT, ICON_OBJECT_DATA, "Object");
+ BUTTON_HEADER_CTX(BCONTEXT_CONSTRAINT, ICON_CONSTRAINT, "Object Constraints");
+ BUTTON_HEADER_CTX(BCONTEXT_MODIFIER, ICON_MODIFIER, "Object Modifiers");
+ BUTTON_HEADER_CTX(BCONTEXT_DATA, sbuts->dataicon, "Object Data");
+ BUTTON_HEADER_CTX(BCONTEXT_BONE, ICON_BONE_DATA, "Bone");
+ BUTTON_HEADER_CTX(BCONTEXT_BONE_CONSTRAINT, ICON_CONSTRAINT_BONE, "Bone Constraints");
+ BUTTON_HEADER_CTX(BCONTEXT_MATERIAL, ICON_MATERIAL, "Material");
+ BUTTON_HEADER_CTX(BCONTEXT_TEXTURE, ICON_TEXTURE, "Textures");
+ BUTTON_HEADER_CTX(BCONTEXT_PARTICLE, ICON_PARTICLES, "Particles");
+ BUTTON_HEADER_CTX(BCONTEXT_PHYSICS, ICON_PHYSICS, "Physics");
+
+#undef BUTTON_HEADER_CTX
+
xco+= BUT_UNIT_X;
uiBlockEndAlign(block);
diff --git a/source/blender/editors/space_buttons/buttons_intern.h b/source/blender/editors/space_buttons/buttons_intern.h
index 925223b43ea..d25bd7940ab 100644
--- a/source/blender/editors/space_buttons/buttons_intern.h
+++ b/source/blender/editors/space_buttons/buttons_intern.h
@@ -71,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 9b914df1b3c..99e5c6d693e 100644
--- a/source/blender/editors/space_buttons/buttons_ops.c
+++ b/source/blender/editors/space_buttons/buttons_ops.c
@@ -104,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) {
@@ -191,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")) {
@@ -227,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 16c4df59420..ef927fd69fc 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)
@@ -268,6 +269,7 @@ static void buttons_area_listener(ScrArea *sa, wmNotifier *wmn)
buttons_area_redraw(sa, BCONTEXT_DATA); /* autotexpace flag */
break;
case ND_POSE:
+ buttons_area_redraw(sa, BCONTEXT_DATA);
case ND_BONE_ACTIVE:
case ND_BONE_SELECT:
buttons_area_redraw(sa, BCONTEXT_BONE);
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..4707baa279b 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);
@@ -675,7 +675,12 @@ static int scrollback_append_exec(bContext *C, wmOperator *op)
console_scrollback_limit(sc);
- console_textview_update_rect(sc, ar);
+ /* 'ar' can be null depending on the operator that runs
+ * rendering with invoke default for eg causes this */
+ if(ar) {
+ console_textview_update_rect(sc, ar);
+ }
+
ED_area_tag_redraw(CTX_wm_area(C));
return OPERATOR_FINISHED;
diff --git a/source/blender/editors/space_console/space_console.c b/source/blender/editors/space_console/space_console.c
index 890a6cf545a..c8fa049f5eb 100644
--- a/source/blender/editors/space_console/space_console.c
+++ b/source/blender/editors/space_console/space_console.c
@@ -165,8 +165,11 @@ static void id_drop_copy(wmDrag *drag, wmDropBox *drop)
{
char text[64];
ID *id= drag->poin;
+ char id_esc[(sizeof(id->name) - 2) * 2];
- snprintf(text, sizeof(text), "bpy.data.%s['%s']", BKE_idcode_to_name_plural(GS(id->name)), id->name+2);
+ BLI_strescape(id_esc, id->name+2, sizeof(id_esc));
+
+ BLI_snprintf(text, sizeof(text), "bpy.data.%s[\"%s\"]", BKE_idcode_to_name_plural(GS(id->name)), id_esc);
/* copy drag path to properties */
RNA_string_set(drop->ptr, "text", text);
@@ -183,7 +186,7 @@ static int path_drop_poll(bContext *UNUSED(C), wmDrag *drag, wmEvent *UNUSED(eve
static void path_drop_copy(wmDrag *drag, wmDropBox *drop)
{
char pathname[FILE_MAXDIR+FILE_MAXFILE+2];
- snprintf(pathname, sizeof(pathname), "\"%s\"", drag->path);
+ BLI_snprintf(pathname, sizeof(pathname), "\"%s\"", drag->path);
RNA_string_set(drop->ptr, "text", pathname);
}
diff --git a/source/blender/editors/space_file/CMakeLists.txt b/source/blender/editors/space_file/CMakeLists.txt
index afa746ea359..4aa6cdbcf2f 100644
--- a/source/blender/editors/space_file/CMakeLists.txt
+++ b/source/blender/editors/space_file/CMakeLists.txt
@@ -28,8 +28,8 @@ set(INC
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_file/SConscript b/source/blender/editors/space_file/SConscript
index 7c55b40e816..ad96840f7b9 100644
--- a/source/blender/editors/space_file/SConscript
+++ b/source/blender/editors/space_file/SConscript
@@ -19,7 +19,7 @@ if env['WITH_BF_OPENEXR']:
if env['WITH_BF_TIFF']:
defs.append('WITH_TIFF')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/space_file/file_draw.c b/source/blender/editors/space_file/file_draw.c
index a6fee359197..9fecfda7764 100644
--- a/source/blender/editors/space_file/file_draw.c
+++ b/source/blender/editors/space_file/file_draw.c
@@ -185,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 */
@@ -202,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,
diff --git a/source/blender/editors/space_file/file_ops.c b/source/blender/editors/space_file/file_ops.c
index a5d516a1417..1b0893e50e0 100644
--- a/source/blender/editors/space_file/file_ops.c
+++ b/source/blender/editors/space_file/file_ops.c
@@ -64,6 +64,7 @@
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
+#include <ctype.h>
/* for events */
#define NOTACTIVEFILE 0
@@ -205,9 +206,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 +218,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);
}
}
@@ -378,8 +380,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;
@@ -617,25 +621,31 @@ void file_sfile_to_operator(wmOperator *op, SpaceFile *sfile, char *filepath)
}
/* some ops have multiple files to select */
+ /* this is called on operators check() so clear collections first since
+ * they may be already set. */
{
PointerRNA itemptr;
+ PropertyRNA *prop_files= RNA_struct_find_property(op->ptr, "files");
+ PropertyRNA *prop_dirs= RNA_struct_find_property(op->ptr, "dirs");
int i, numfiles = filelist_numfiles(sfile->files);
- if(RNA_struct_find_property(op->ptr, "files")) {
+ if(prop_files) {
+ RNA_property_collection_clear(op->ptr, prop_files);
for (i=0; i<numfiles; i++) {
if (filelist_is_selected(sfile->files, i, CHECK_FILES)) {
struct direntry *file= filelist_file(sfile->files, i);
- RNA_collection_add(op->ptr, "files", &itemptr);
+ RNA_property_collection_add(op->ptr, prop_files, &itemptr);
RNA_string_set(&itemptr, "name", file->relname);
}
}
}
-
- if(RNA_struct_find_property(op->ptr, "dirs")) {
+
+ if(prop_dirs) {
+ RNA_property_collection_clear(op->ptr, prop_dirs);
for (i=0; i<numfiles; i++) {
if (filelist_is_selected(sfile->files, i, CHECK_DIRS)) {
struct direntry *file= filelist_file(sfile->files, i);
- RNA_collection_add(op->ptr, "dirs", &itemptr);
+ RNA_property_collection_add(op->ptr, prop_dirs, &itemptr);
RNA_string_set(&itemptr, "name", file->relname);
}
}
@@ -647,25 +657,27 @@ void file_sfile_to_operator(wmOperator *op, SpaceFile *sfile, char *filepath)
void file_operator_to_sfile(SpaceFile *sfile, wmOperator *op)
{
- int change= FALSE;
- if(RNA_struct_find_property(op->ptr, "filename")) {
- RNA_string_get(op->ptr, "filename", sfile->params->file);
- change= TRUE;
- }
- if(RNA_struct_find_property(op->ptr, "directory")) {
- RNA_string_get(op->ptr, "directory", sfile->params->dir);
- change= TRUE;
- }
-
+ PropertyRNA *prop;
+
/* If neither of the above are set, split the filepath back */
- if(RNA_struct_find_property(op->ptr, "filepath")) {
- if(change==FALSE) {
- char filepath[FILE_MAX];
- RNA_string_get(op->ptr, "filepath", filepath);
- BLI_split_dirfile(filepath, sfile->params->dir, sfile->params->file);
+ if((prop= RNA_struct_find_property(op->ptr, "filepath"))) {
+ char filepath[FILE_MAX];
+ RNA_property_string_get(op->ptr, prop, filepath);
+ BLI_split_dirfile(filepath, sfile->params->dir, sfile->params->file);
+ }
+ else {
+ if((prop= RNA_struct_find_property(op->ptr, "filename"))) {
+ RNA_property_string_get(op->ptr, prop, sfile->params->file);
+ }
+ if((prop= RNA_struct_find_property(op->ptr, "directory"))) {
+ RNA_property_string_get(op->ptr, prop, sfile->params->dir);
}
}
+ /* we could check for relative_path property which is used when converting
+ * in the other direction but doesnt hurt to do this every time */
+ BLI_path_abs(sfile->params->dir, G.main->name);
+
/* XXX, files and dirs updates missing, not really so important though */
}
@@ -1076,8 +1088,18 @@ static void file_expand_directory(bContext *C)
}
#ifdef WIN32
- if (sfile->params->dir[0] == '\0')
+ if (sfile->params->dir[0] == '\0') {
get_default_root(sfile->params->dir);
+ }
+ /* change "C:" --> "C:\", [#28102] */
+ else if ( (isalpha(sfile->params->dir[0]) &&
+ (sfile->params->dir[1] == ':')) &&
+ (sfile->params->dir[2] == '\0')
+
+ ) {
+ sfile->params->dir[2]= '\\';
+ sfile->params->dir[3]= '\0';
+ }
#endif
}
}
@@ -1145,6 +1167,13 @@ int file_filename_exec(bContext *C, wmOperator *UNUSED(unused))
return OPERATOR_FINISHED;
}
+/* TODO, directory operator is non-functional while a library is loaded
+ * until this is properly supported just disable it. */
+static int file_directory_poll(bContext *C)
+{
+ return ED_operator_file_active(C) && filelist_lib(CTX_wm_space_file(C)->files) == NULL;
+}
+
void FILE_OT_directory(struct wmOperatorType *ot)
{
/* identifiers */
@@ -1155,7 +1184,7 @@ void FILE_OT_directory(struct wmOperatorType *ot)
/* api callbacks */
ot->invoke= file_directory_invoke;
ot->exec= file_directory_exec;
- ot->poll= ED_operator_file_active; /* <- important, handler is on window level */
+ ot->poll= file_directory_poll; /* <- important, handler is on window level */
}
void FILE_OT_refresh(struct wmOperatorType *ot)
@@ -1276,7 +1305,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 32b725e0b1f..7382188d62a 100644
--- a/source/blender/editors/space_file/filelist.c
+++ b/source/blender/editors/space_file/filelist.c
@@ -602,28 +602,6 @@ short filelist_changed(struct FileList* filelist)
return filelist->changed;
}
-static struct ImBuf * filelist_loadimage(struct FileList* filelist, int index)
-{
- ImBuf *imb = NULL;
- int fidx = 0;
-
- if ( (index < 0) || (index >= filelist->numfiltered) ) {
- return NULL;
- }
- fidx = filelist->fidx[index];
- imb = filelist->filelist[fidx].image;
- if (!imb)
- {
- if ( (filelist->filelist[fidx].flags & IMAGEFILE) || (filelist->filelist[fidx].flags & MOVIEFILE) ) {
- imb = IMB_thumb_read(filelist->filelist[fidx].path, THB_NORMAL);
- }
- if (imb) {
- filelist->filelist[fidx].image = imb;
- }
- }
- return imb;
-}
-
struct ImBuf * filelist_getimage(struct FileList* filelist, int index)
{
ImBuf* ibuf = NULL;
@@ -915,6 +893,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;
@@ -1125,7 +1105,7 @@ void filelist_from_main(struct FileList *filelist)
if( filelist->dir[0]==0) {
/* make directories */
- filelist->numfiles= 23;
+ filelist->numfiles= 24;
filelist->filelist= (struct direntry *)malloc(filelist->numfiles * sizeof(struct direntry));
for(a=0; a<filelist->numfiles; a++) {
@@ -1155,6 +1135,7 @@ void filelist_from_main(struct FileList *filelist)
filelist->filelist[20].relname= BLI_strdup("Armature");
filelist->filelist[21].relname= BLI_strdup("Action");
filelist->filelist[22].relname= BLI_strdup("NodeTree");
+ filelist->filelist[23].relname= BLI_strdup("Speaker");
filelist_sort(filelist, FILE_SORT_ALPHA);
}
else {
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 45193a38ef5..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';
diff --git a/source/blender/editors/space_file/fsmenu.c b/source/blender/editors/space_file/fsmenu.c
index a6e84b0c41d..aa2ea124fe0 100644
--- a/source/blender/editors/space_file/fsmenu.c
+++ b/source/blender/editors/space_file/fsmenu.c
@@ -300,7 +300,7 @@ void fsmenu_read_system(struct FSMenu* fsmenu)
tmp= GetLogicalDrives();
- for (i=2; i < 26; i++) {
+ for (i=0; i < 26; i++) {
if ((tmp>>i) & 1) {
tmps[0]='A'+i;
tmps[1]=':';
diff --git a/source/blender/editors/space_graph/CMakeLists.txt b/source/blender/editors/space_graph/CMakeLists.txt
index f5548097db2..80205ad5564 100644
--- a/source/blender/editors/space_graph/CMakeLists.txt
+++ b/source/blender/editors/space_graph/CMakeLists.txt
@@ -22,13 +22,12 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -47,4 +46,11 @@ set(SRC
graph_intern.h
)
+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_buttons.c b/source/blender/editors/space_graph/graph_buttons.c
index fb1144b4fa8..f3a70c496ef 100644
--- a/source/blender/editors/space_graph/graph_buttons.c
+++ b/source/blender/editors/space_graph/graph_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -53,6 +51,7 @@
#include "BKE_fcurve.h"
#include "BKE_main.h"
#include "BKE_screen.h"
+#include "BKE_unit.h"
#include "WM_api.h"
@@ -77,8 +76,7 @@
/* ******************* graph editor space & buttons ************** */
-#define B_NOP 1
-#define B_REDR 2
+#define B_REDR 1
/* -------------- */
@@ -244,6 +242,34 @@ static short get_active_fcurve_keyframe_edit(FCurve *fcu, BezTriple **bezt, BezT
return 0;
}
+/* update callback for active keyframe properties - base updates stuff */
+static void graphedit_activekey_update_cb(bContext *UNUSED(C), void *fcu_ptr, void *UNUSED(bezt_ptr))
+{
+ FCurve *fcu = (FCurve *)fcu_ptr;
+
+ /* make sure F-Curve and its handles are still valid after this editing */
+ sort_time_fcurve(fcu);
+ testhandles_fcurve(fcu);
+}
+
+/* update callback for active keyframe properties - handle-editing wrapper */
+static void graphedit_activekey_handles_cb(bContext *C, void *fcu_ptr, void *bezt_ptr)
+{
+ BezTriple *bezt = (BezTriple *)bezt_ptr;
+
+ /* since editing the handles, make sure they're set to types which are receptive to editing
+ * see transform_conversions.c :: createTransGraphEditData(), last step in second loop
+ */
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM) && ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM)) {
+ /* by changing to aligned handles, these can now be moved... */
+ bezt->h1= HD_ALIGN;
+ bezt->h2= HD_ALIGN;
+ }
+
+ /* now call standard updates */
+ graphedit_activekey_update_cb(C, fcu_ptr, bezt_ptr);
+}
+
static void graph_panel_key_properties(const bContext *C, Panel *pa)
{
bAnimListElem *ale;
@@ -262,27 +288,66 @@ static void graph_panel_key_properties(const bContext *C, Panel *pa)
/* only show this info if there are keyframes to edit */
if (get_active_fcurve_keyframe_edit(fcu, &bezt, &prevbezt)) {
- PointerRNA bezt_ptr;
+ PointerRNA bezt_ptr, id_ptr, fcu_prop_ptr;
+ PropertyRNA *fcu_prop = NULL;
+ uiBut *but;
+ int unit = B_UNIT_NONE;
/* RNA pointer to keyframe, to allow editing */
RNA_pointer_create(ale->id, &RNA_Keyframe, bezt, &bezt_ptr);
+ /* get property that F-Curve affects, for some unit-conversion magic */
+ RNA_id_pointer_create(ale->id, &id_ptr);
+ if (RNA_path_resolve(&id_ptr, fcu->rna_path, &fcu_prop_ptr, &fcu_prop) && fcu_prop) {
+ /* determine the unit for this property */
+ unit = RNA_SUBTYPE_UNIT(RNA_property_subtype(fcu_prop));
+ }
+
/* interpolation */
col= uiLayoutColumn(layout, 0);
uiItemR(col, &bezt_ptr, "interpolation", 0, NULL, ICON_NONE);
- /* numerical coordinate editing */
+ /* numerical coordinate editing
+ * - we use the button-versions of the calls so that we can attach special update handlers
+ * and unit conversion magic that cannot be achieved using a purely RNA-approach
+ */
+ // XXX:
col= uiLayoutColumn(layout, 1);
/* keyframe itself */
- uiItemR(col, &bezt_ptr, "co", 0, "Key", ICON_NONE);
+ {
+ uiItemL(col, "Key:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "Frame", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "co", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_update_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Value", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "co", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_update_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
/* previous handle - only if previous was Bezier interpolation */
- if ((prevbezt) && (prevbezt->ipo == BEZT_IPO_BEZ))
- uiItemR(col, &bezt_ptr, "handle_left", 0, NULL, ICON_NONE);
+ if ((prevbezt) && (prevbezt->ipo == BEZT_IPO_BEZ)) {
+ uiItemL(col, "Left Handle:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "X", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_left", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Y", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_left", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
/* next handle - only if current is Bezier interpolation */
- if (bezt->ipo == BEZT_IPO_BEZ)
- uiItemR(col, &bezt_ptr, "handle_right", 0, NULL, ICON_NONE);
+ if (bezt->ipo == BEZT_IPO_BEZ) {
+ uiItemL(col, "Right Handle:", ICON_NONE);
+
+ but = uiDefButR(block, NUM, B_REDR, "X", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_right", 0, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+
+ but = uiDefButR(block, NUM, B_REDR, "Y", 0, 0, UI_UNIT_X, UI_UNIT_Y, &bezt_ptr, "handle_right", 1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(but, graphedit_activekey_handles_cb, fcu, bezt);
+ uiButSetUnitType(but, unit);
+ }
}
else {
if ((fcu->bezt == NULL) && (fcu->modifiers.first)) {
@@ -472,7 +537,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *
uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- uiItemR(col, &dtar_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ uiItemR(col, &dtar_ptr, "transform_space", 0, NULL, ICON_NONE);
col= uiLayoutColumn(layout, 1);
uiTemplateAnyID(col, &dtar2_ptr, "id", "id_type", "Ob/Bone 2:");
@@ -484,7 +549,7 @@ static void graph_panel_driverVar__locDiff(uiLayout *layout, ID *id, DriverVar *
uiItemPointerR(col, &dtar2_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- uiItemR(col, &dtar2_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ uiItemR(col, &dtar2_ptr, "transform_space", 0, NULL, ICON_NONE);
}
/* settings for 'transform channel' driver variable type */
@@ -493,7 +558,7 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
DriverTarget *dtar= &dvar->targets[0];
Object *ob = (Object *)dtar->id;
PointerRNA dtar_ptr;
- uiLayout *col, *row;
+ uiLayout *col, *subcol;
/* initialise RNA pointer to the target */
RNA_pointer_create(id, &RNA_DriverTarget, dtar, &dtar_ptr);
@@ -509,9 +574,9 @@ static void graph_panel_driverVar__transChan(uiLayout *layout, ID *id, DriverVar
uiItemPointerR(col, &dtar_ptr, "bone_target", &tar_ptr, "bones", "", ICON_BONE_DATA);
}
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &dtar_ptr, "transform_type", 0, "", ICON_NONE);
- uiItemR(row, &dtar_ptr, "use_local_space_transform", 0, NULL, ICON_NONE);
+ subcol= uiLayoutColumn(layout, 1);
+ uiItemR(subcol, &dtar_ptr, "transform_type", 0, NULL, ICON_NONE);
+ uiItemR(subcol, &dtar_ptr, "transform_space", 0, "Space", ICON_NONE);
}
/* driver settings for active F-Curve (only for 'Drivers' mode) */
@@ -659,7 +724,6 @@ static void graph_panel_drivers(const bContext *C, Panel *pa)
static void do_graph_region_modifier_buttons(bContext *C, void *UNUSED(arg), int event)
{
switch (event) {
- case B_REDR:
case B_FMODIFIER_REDRAW: // XXX this should send depsgraph updates too
WM_event_add_notifier(C, NC_ANIMATION, NULL); // XXX need a notifier specially for F-Modifiers
break;
diff --git a/source/blender/editors/space_graph/graph_draw.c b/source/blender/editors/space_graph/graph_draw.c
index 382bb71a592..dc5e71f0406 100644
--- a/source/blender/editors/space_graph/graph_draw.c
+++ b/source/blender/editors/space_graph/graph_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -356,10 +354,6 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
float *fp;
unsigned char col[4];
- /* if only selected keyframes have handles shown, skip the first round */
- if ((sel == 0) && (sipo->flag & SIPO_SELVHANDLESONLY))
- continue;
-
for (b= 0; b < fcu->totvert; b++, prevbezt=bezt, bezt++) {
/* if only selected keyframes can get their handles shown,
* check that keyframe is selected
@@ -372,7 +366,7 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
/* draw handle with appropriate set of colors if selection is ok */
if ((bezt->f2 & SELECT)==sel) {
fp= bezt->vec[0];
-
+
/* only draw first handle if previous segment had handles */
if ( (!prevbezt && (bezt->ipo==BEZT_IPO_BEZ)) || (prevbezt && (prevbezt->ipo==BEZT_IPO_BEZ)) )
{
@@ -382,14 +376,14 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
glVertex2fv(fp); glVertex2fv(fp+3);
}
-
+
/* only draw second handle if this segment is bezier */
if (bezt->ipo == BEZT_IPO_BEZ)
{
UI_GetThemeColor3ubv(basecol + bezt->h2, col);
col[3]= drawFCurveFade(fcu) * 255;
glColor4ubv((GLubyte *)col);
-
+
glVertex2fv(fp+3); glVertex2fv(fp+6);
}
}
@@ -402,7 +396,7 @@ static void draw_fcurve_handles (SpaceIpo *sipo, FCurve *fcu)
UI_GetThemeColor3ubv(basecol + bezt->h1, col);
col[3]= drawFCurveFade(fcu) * 255;
glColor4ubv((GLubyte *)col);
-
+
glVertex2fv(fp); glVertex2fv(fp+3);
}
@@ -684,6 +678,7 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
}
/* draw curve between first and last keyframe (if there are enough to do so) */
+ // TODO: optimise this to not have to calc stuff out of view too?
while (b--) {
if (prevbezt->ipo==BEZT_IPO_CONST) {
/* Constant-Interpolation: draw segment between previous keyframe and next, but holding same value */
@@ -706,12 +701,12 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
* - resol determines number of points to sample in between keyframes
*/
- /* resol not depending on horizontal resolution anymore, drivers for example... */
- // TODO: would be nice to make this depend on the scale of the graph too...
+ /* resol depends on distance between points (not just horizontal) OR is a fixed high res */
+ // TODO: view scale should factor into this someday too...
if (fcu->driver)
resol= 32;
else
- resol= (int)(3.0*sqrt(bezt->vec[1][0] - prevbezt->vec[1][0]));
+ resol= (int)(5.0f*len_v2v2(bezt->vec[1], prevbezt->vec[1]));
if (resol < 2) {
/* only draw one */
@@ -721,6 +716,7 @@ static void draw_fcurve_curve_bezts (bAnimContext *ac, ID *id, FCurve *fcu, View
}
else {
/* clamp resolution to max of 32 */
+ // NOTE: higher values will crash
if (resol > 32) resol= 32;
v1[0]= prevbezt->vec[1][0];
@@ -834,7 +830,7 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
int filter;
/* build list of curves to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CURVESONLY|ANIMFILTER_CURVEVISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_CURVE_VISIBLE);
filter |= ((sel) ? (ANIMFILTER_SEL) : (ANIMFILTER_UNSEL));
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -877,6 +873,11 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
glColor4f(fcu->color[0], fcu->color[1], fcu->color[2], drawFCurveFade(fcu));
}
+ /* draw active F-Curve thicker than the rest to make it stand out */
+ if (fcu->flag & FCURVE_ACTIVE) {
+ glLineWidth(2.0);
+ }
+
/* anti-aliased lines for less jagged appearance */
if ((sipo->flag & SIPO_BEAUTYDRAW_OFF)==0) glEnable(GL_LINE_SMOOTH);
glEnable(GL_BLEND);
@@ -898,6 +899,7 @@ void graph_draw_curves (bAnimContext *ac, SpaceIpo *sipo, ARegion *ar, View2DGri
/* restore settings */
setlinestyle(0);
+ glLineWidth(1.0);
if ((sipo->flag & SIPO_BEAUTYDRAW_OFF)==0) glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
@@ -964,10 +966,11 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f, height;
- int items, i=0;
+ size_t items;
+ int i=0;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -1001,6 +1004,7 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
}
{ /* second pass: widgets */
uiBlock *block= uiBeginBlock(C, ar, "graph channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
y= (float)ACHANNEL_FIRST;
@@ -1017,11 +1021,12 @@ void graph_draw_channel_names(bContext *C, bAnimContext *ac, ARegion *ar)
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
y -= ACHANNEL_STEP;
+ channel_index++;
}
uiEndBlock(C, block);
diff --git a/source/blender/editors/space_graph/graph_edit.c b/source/blender/editors/space_graph/graph_edit.c
index 962cadba1f3..900aa6f6197 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"
@@ -88,7 +90,7 @@ void get_graph_keyframe_extents (bAnimContext *ac, float *xmin, float *xmax, flo
int filter;
/* get data to filter, from Dopesheet */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* set large values to try to override */
@@ -279,7 +281,7 @@ void GRAPH_OT_view_selected (wmOperatorType *ot)
/* Bake each F-Curve into a set of samples, and store as a ghost curve */
static void create_ghost_curves (bAnimContext *ac, int start, int end)
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
@@ -294,7 +296,7 @@ static void create_ghost_curves (bAnimContext *ac, int start, int end)
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -399,7 +401,7 @@ static int graphkeys_clear_ghostcurves_exec(bContext *C, wmOperator *UNUSED(op))
/* get editor data */
if (ANIM_animdata_get_context(C, &ac) == 0)
return OPERATOR_CANCELLED;
- sipo= (SpaceIpo *)ac.sa->spacedata.first;
+ sipo= (SpaceIpo *)ac.sl;
/* if no ghost curves, don't do anything */
if (sipo->ghostCurves.first == NULL)
@@ -453,7 +455,7 @@ static void insert_graph_keys(bAnimContext *ac, short mode)
short flag = 0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
if (mode == 2) filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -648,7 +650,7 @@ static short copy_graph_keys (bAnimContext *ac)
free_anim_copybuf();
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* copy keyframes */
@@ -667,7 +669,7 @@ static short paste_graph_keys (bAnimContext *ac,
int filter, ok=0;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* paste keyframes */
@@ -773,7 +775,7 @@ static void duplicate_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -842,7 +844,7 @@ static void delete_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and delete selected keys */
@@ -909,7 +911,7 @@ static void clean_graph_keys (bAnimContext *ac, float thresh)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_SEL | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and clean curves */
@@ -976,7 +978,7 @@ static void bake_graph_curves (bAnimContext *ac, int start, int end)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -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;
@@ -1123,7 +1126,7 @@ static int graphkeys_sound_bake_exec(bContext *C, wmOperator *op)
end = CFRA + sbi.length - 1;
/* filter anim channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through all selected F-Curves, replacing its data with the sound samples */
@@ -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;
@@ -1201,7 +1215,7 @@ static void sample_graph_keys (bAnimContext *ac)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through filtered data and add keys between selected keyframes on every frame */
@@ -1255,10 +1269,17 @@ void GRAPH_OT_sample (wmOperatorType *ot)
/* ******************** Set Extrapolation-Type Operator *********************** */
+/* defines for make/clear cyclic extrapolation tools */
+#define MAKE_CYCLIC_EXPO -1
+#define CLEAR_CYCLIC_EXPO -2
+
/* defines for set extrapolation-type for selected keyframes tool */
static EnumPropertyItem prop_graphkeys_expo_types[] = {
{FCURVE_EXTRAPOLATE_CONSTANT, "CONSTANT", 0, "Constant Extrapolation", ""},
{FCURVE_EXTRAPOLATE_LINEAR, "LINEAR", 0, "Linear Extrapolation", ""},
+
+ {MAKE_CYCLIC_EXPO, "MAKE_CYCLIC", 0, "Make Cyclic (F-Modifier)", "Add Cycles F-Modifier if one doesn't exist already"},
+ {CLEAR_CYCLIC_EXPO, "CLEAR_CYCLIC", 0, "Clear Cyclic (F-Modifier)", "Remove Cycles F-Modifier if not needed anymore"},
{0, NULL, 0, NULL, NULL}
};
@@ -1270,13 +1291,40 @@ static void setexpo_graph_keys(bAnimContext *ac, short mode)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting mode per F-Curve */
for (ale= anim_data.first; ale; ale= ale->next) {
FCurve *fcu= (FCurve *)ale->data;
- fcu->extend= mode;
+
+ if (mode >= 0) {
+ /* just set mode setting */
+ fcu->extend= mode;
+ }
+ else {
+ /* shortcuts for managing Cycles F-Modifiers to make it easier to toggle cyclic animation
+ * without having to go through FModifier UI in Graph Editor to do so
+ */
+ if (mode == MAKE_CYCLIC_EXPO) {
+ /* only add if one doesn't exist */
+ if (list_has_suitable_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES, -1) == 0) {
+ // TODO: add some more preset versions which set different extrapolation options?
+ add_fmodifier(&fcu->modifiers, FMODIFIER_TYPE_CYCLES);
+ }
+ }
+ else if (mode == CLEAR_CYCLIC_EXPO) {
+ /* remove all the modifiers fitting this description */
+ FModifier *fcm, *fcn=NULL;
+
+ for (fcm = fcu->modifiers.first; fcm; fcm = fcn) {
+ fcn = fcm->next;
+
+ if (fcm->type == FMODIFIER_TYPE_CYCLES)
+ remove_fmodifier(&fcu->modifiers, fcm);
+ }
+ }
+ }
}
/* cleanup */
@@ -1339,7 +1387,7 @@ static void setipo_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc set_cb= ANIM_editkeyframes_ipo(mode);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting BezTriple interpolation
@@ -1399,8 +1447,6 @@ void GRAPH_OT_interpolation_type (wmOperatorType *ot)
/* ******************** Set Handle-Type Operator *********************** */
-/* ------------------- */
-
/* this function is responsible for setting handle-type of selected keyframes */
static void sethandles_graph_keys(bAnimContext *ac, short mode)
{
@@ -1412,7 +1458,7 @@ static void sethandles_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc sel_cb= ANIM_editkeyframes_ok(BEZT_OK_SELECTED);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* loop through setting flags for handles
@@ -1423,12 +1469,6 @@ static void sethandles_graph_keys(bAnimContext *ac, short mode)
/* any selected keyframes for editing? */
if (ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, sel_cb, NULL)) {
- /* for auto/auto-clamped, toggle the auto-handles flag on the F-Curve */
- if (mode == HD_AUTO_ANIM)
- fcu->flag |= FCURVE_AUTO_HANDLES;
- else if (mode == HD_AUTO)
- fcu->flag &= ~FCURVE_AUTO_HANDLES;
-
/* change type of selected handles */
ANIM_fcurve_keyframes_loop(NULL, fcu, NULL, edit_cb, calchandles_fcurve);
}
@@ -1465,15 +1505,6 @@ static int graphkeys_handletype_exec(bContext *C, wmOperator *op)
void GRAPH_OT_handle_type (wmOperatorType *ot)
{
- /* sync with editcurve_handle_type_items */
- static EnumPropertyItem graphkeys_handle_type_items[] = {
- {HD_AUTO, "AUTO", 0, "Automatic", "Handles that are automatically adjusted upon moving the keyframe. Whole curve"},
- {HD_VECT, "VECTOR", 0, "Vector", ""},
- {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
- {HD_FREE, "FREE_ALIGN", 0, "Free", ""},
- {HD_AUTO_ANIM, "ANIM_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot. Whole curve"},
- {0, NULL, 0, NULL, NULL}};
-
/* identifiers */
ot->name= "Set Keyframe Handle Type";
ot->idname= "GRAPH_OT_handle_type";
@@ -1488,7 +1519,7 @@ static int graphkeys_handletype_exec(bContext *C, wmOperator *op)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* id-props */
- ot->prop= RNA_def_enum(ot->srna, "type", graphkeys_handle_type_items, 0, "Type", "");
+ ot->prop= RNA_def_enum(ot->srna, "type", keyframe_handle_type_items, 0, "Type", "");
}
/* ************************************************************************** */
@@ -1534,7 +1565,7 @@ static int graphkeys_euler_filter_exec (bContext *C, wmOperator *op)
*/
/* step 1: extract only the rotation f-curves */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1700,7 +1731,7 @@ static int graphkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
memset(&ked, 0, sizeof(KeyframeEditData));
/* loop over action data, averaging values */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -1725,7 +1756,7 @@ static int graphkeys_framejump_exec(bContext *C, wmOperator *UNUSED(op))
/* set the new current frame and cursor values, based on the average time and value */
if (ked.i1) {
- SpaceIpo *sipo= ac.sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac.sl;
Scene *scene= ac.scene;
/* take the average values, rounding to the nearest int for the current frame */
@@ -1779,7 +1810,7 @@ static void snap_graph_keys(bAnimContext *ac, short mode)
KeyframeEditFunc edit_cb;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing callbacks */
@@ -1792,7 +1823,7 @@ static void snap_graph_keys(bAnimContext *ac, short mode)
ked.list.last= (ac->markers) ? ac->markers->last : NULL;
}
else if (mode == GRAPHKEYS_SNAP_VALUE) {
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ked.f1= (sipo) ? sipo->cursorVal : 0.0f;
}
@@ -1906,12 +1937,12 @@ static void mirror_graph_keys(bAnimContext *ac, short mode)
return;
}
else if (mode == GRAPHKEYS_MIRROR_VALUE) {
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
ked.f1= (sipo) ? sipo->cursorVal : 0.0f;
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* mirror keyframes */
@@ -1995,7 +2026,7 @@ static int graphkeys_smooth_exec(bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE| ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* smooth keyframes */
@@ -2086,11 +2117,11 @@ static int graph_fmodifier_add_exec(bContext *C, wmOperator *op)
type= RNA_enum_get(op->ptr, "type");
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NODUPLIS);
if (RNA_boolean_get(op->ptr, "only_active"))
filter |= ANIMFILTER_ACTIVE; // FIXME: enforce in this case only a single channel to get handled?
else
- filter |= (ANIMFILTER_SEL|ANIMFILTER_CURVEVISIBLE);
+ filter |= (ANIMFILTER_SEL|ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* add f-modifier to each curve */
@@ -2209,7 +2240,7 @@ static int graph_fmodifier_paste_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* paste modifiers */
@@ -2248,7 +2279,7 @@ void GRAPH_OT_fmodifier_paste (wmOperatorType *ot)
/* api callbacks */
ot->exec= graph_fmodifier_paste_exec;
- ot->poll= graphop_editable_keyframes_poll;
+ ot->poll= graphop_active_fcurve_poll;
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
diff --git a/source/blender/editors/space_graph/graph_ops.c b/source/blender/editors/space_graph/graph_ops.c
index 03cc8bb9e80..46918407447 100644
--- a/source/blender/editors/space_graph/graph_ops.c
+++ b/source/blender/editors/space_graph/graph_ops.c
@@ -41,11 +41,13 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_main.h"
#include "BKE_sound.h"
#include "UI_view2d.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -69,6 +71,7 @@
/* Set the new frame number */
static void graphview_cursor_apply(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
SpaceIpo *sipo= CTX_wm_space_graph(C);
@@ -77,7 +80,7 @@ static void graphview_cursor_apply(bContext *C, wmOperator *op)
*/
CFRA= RNA_int_get(op->ptr, "frame");
SUBFRA=0.f;
- sound_seek_scene(C);
+ sound_seek_scene(bmain, scene);
/* set the cursor value */
sipo->cursorVal= RNA_float_get(op->ptr, "value");
@@ -361,7 +364,7 @@ static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
WM_keymap_add_item(keymap, "GRAPH_OT_handle_type", VKEY, KM_PRESS, 0, 0);
- WM_keymap_add_item(keymap, "GRAPH_OT_interpolation_type", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "GRAPH_OT_interpolation_type", TKEY, KM_PRESS, 0, 0);
/* destructive */
WM_keymap_add_item(keymap, "GRAPH_OT_clean", OKEY, KM_PRESS, 0, 0);
@@ -399,6 +402,9 @@ static void graphedit_keymap_keyframes (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_IPO);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_graph/graph_select.c b/source/blender/editors/space_graph/graph_select.c
index cb799b85d3a..b8c5d79df18 100644
--- a/source/blender/editors/space_graph/graph_select.c
+++ b/source/blender/editors/space_graph/graph_select.c
@@ -90,12 +90,12 @@ static void deselect_graph_keys (bAnimContext *ac, short test, short sel)
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditData ked= {{NULL}};
KeyframeEditFunc test_cb, sel_cb;
/* determine type-based settings */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -201,7 +201,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditData ked;
KeyframeEditFunc ok_cb, select_cb;
View2D *v2d= &ac->ar->v2d;
@@ -212,7 +212,7 @@ static void borderselect_graphkeys (bAnimContext *ac, rcti rect, short mode, sho
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get beztriple editing/validation funcs */
@@ -402,7 +402,7 @@ static void markers_selectkeys_between (bAnimContext *ac)
ked.f2= max;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys in-between */
@@ -442,7 +442,7 @@ static void columnselect_graph_keys (bAnimContext *ac, short mode)
/* build list of columns */
switch (mode) {
case GRAPHKEYS_COLUMNSEL_KEYS: /* list of selected keys */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next)
@@ -474,7 +474,7 @@ static void columnselect_graph_keys (bAnimContext *ac, short mode)
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -558,7 +558,7 @@ static int graphkeys_select_linked_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -613,7 +613,7 @@ static void select_moreless_graph_keys (bAnimContext *ac, short mode)
memset(&ked, 0, sizeof(KeyframeEditData));
/* loop through all of the keys and select additional keyframes based on these */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -753,7 +753,7 @@ static void graphkeys_select_leftright (bAnimContext *ac, short leftright, short
}
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select keys */
@@ -958,14 +958,14 @@ static void get_nearest_fcurve_verts_list (bAnimContext *ac, const int mval[2],
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
View2D *v2d= &ac->ar->v2d;
/* get curves to search through
* - if the option to only show keyframes that belong to selected F-Curves is enabled,
* include the 'only selected' flag...
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
if (sipo->flag & SIPO_SELCUVERTSONLY) // FIXME: this should really be check for by the filtering code...
filter |= ANIMFILTER_SEL;
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -1091,7 +1091,7 @@ static tNearestVertInfo *find_nearest_fcurve_vert (bAnimContext *ac, const int m
/* option 1) select keyframe directly under mouse */
static void mouse_graph_keys (bAnimContext *ac, const int mval[2], short select_mode, short curves_only)
{
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
tNearestVertInfo *nvi;
BezTriple *bezt= NULL;
@@ -1200,7 +1200,7 @@ static void mouse_graph_keys (bAnimContext *ac, const int mval[2], short select_
/* set active F-Curve (NOTE: sync the filter flags with findnearest_fcurve_vert) */
/* needs to be called with (sipo->flag & SIPO_SELCUVERTSONLY) otherwise the active flag won't be set [#26452] */
if (nvi->fcu->flag & FCURVE_SELECTED) {
- int filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ int filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_set_active_channel(ac, ac->data, ac->datatype, filter, nvi->fcu, ANIMTYPE_FCURVE);
}
@@ -1218,7 +1218,7 @@ static void graphkeys_mselect_column (bAnimContext *ac, const int mval[2], short
bAnimListElem *ale;
int filter;
- SpaceIpo *sipo= (SpaceIpo *)ac->sa->spacedata.first;
+ SpaceIpo *sipo= (SpaceIpo *)ac->sl;
KeyframeEditFunc select_cb, ok_cb;
KeyframeEditData ked;
tNearestVertInfo *nvi;
@@ -1264,7 +1264,7 @@ static void graphkeys_mselect_column (bAnimContext *ac, const int mval[2], short
/* loop through all of the keys and select additional keyframes
* based on the keys found to be selected above
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVEVISIBLE | ANIMFILTER_CURVESONLY | ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE | ANIMFILTER_NODUPLIS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
diff --git a/source/blender/editors/space_graph/graph_utils.c b/source/blender/editors/space_graph/graph_utils.c
index e4509a29a91..3f2993fd793 100644
--- a/source/blender/editors/space_graph/graph_utils.c
+++ b/source/blender/editors/space_graph/graph_utils.c
@@ -65,12 +65,14 @@
/* Find 'active' F-Curve. It must be editable, since that's the purpose of these buttons (subject to change).
* We return the 'wrapper' since it contains valuable context info (about hierarchy), which will need to be freed
* when the caller is done with it.
+ *
+ * NOTE: curve-visible flag isn't included, otherwise selecting a curve via list to edit is too cumbersome
*/
bAnimListElem *get_active_fcurve_channel (bAnimContext *ac)
{
ListBase anim_data = {NULL, NULL};
- int filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_ACTIVE | ANIMFILTER_CURVESONLY);
- int items = ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ int filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_ACTIVE);
+ size_t items = ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* We take the first F-Curve only, since some other ones may have had 'active' flag set
* if they were from linked data.
@@ -99,7 +101,8 @@ int graphop_visible_keyframes_poll (bContext *C)
bAnimListElem *ale;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
short found = 0;
/* firstly, check if in Graph Editor */
@@ -114,7 +117,7 @@ int graphop_visible_keyframes_poll (bContext *C)
/* loop over the visible (selection doesn't matter) F-Curves, and see if they're suitable
* stopping on the first successful match
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_CURVE_VISIBLE);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
@@ -147,7 +150,8 @@ int graphop_editable_keyframes_poll (bContext *C)
bAnimListElem *ale;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
short found = 0;
/* firstly, check if in Graph Editor */
@@ -162,7 +166,7 @@ int graphop_editable_keyframes_poll (bContext *C)
/* loop over the editable F-Curves, and see if they're suitable
* stopping on the first successful match
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
@@ -213,7 +217,7 @@ int graphop_active_fcurve_poll (bContext *C)
/* free temp data... */
has_fcurve= ((ale->data) && (ale->type == ANIMTYPE_FCURVE));
- if(has_fcurve) {
+ if (has_fcurve) {
FCurve *fcu= (FCurve *)ale->data;
has_fcurve= (fcu->flag & FCURVE_VISIBLE)!=0;
}
@@ -230,7 +234,8 @@ int graphop_selected_fcurve_poll (bContext *C)
bAnimContext ac;
ListBase anim_data = {NULL, NULL};
ScrArea *sa= CTX_wm_area(C);
- int filter, items;
+ size_t items;
+ int filter;
/* firstly, check if in Graph Editor */
// TODO: also check for region?
@@ -241,8 +246,10 @@ int graphop_selected_fcurve_poll (bContext *C)
if (ANIM_animdata_get_context(C, &ac) == 0)
return 0;
- /* get the editable + selected F-Curves, and as long as we got some, we can return */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ /* get the editable + selected F-Curves, and as long as we got some, we can return
+ * NOTE: curve-visible flag isn't included, otherwise selecting a curve via list to edit is too cumbersome
+ */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
items = ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0)
return 0;
diff --git a/source/blender/editors/space_graph/space_graph.c b/source/blender/editors/space_graph/space_graph.c
index 883b476f372..3cc83b12124 100644
--- a/source/blender/editors/space_graph/space_graph.c
+++ b/source/blender/editors/space_graph/space_graph.c
@@ -110,6 +110,10 @@ static SpaceLink *graph_new(const bContext *C)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)scene;
+ /* settings for making it easier by default to just see what you're interested in tweaking */
+ sipo->ads->filterflag |= ADS_FILTER_ONLYSEL;
+ sipo->flag |= SIPO_SELVHANDLESONLY;
+
/* header */
ar= MEM_callocN(sizeof(ARegion), "header for graphedit");
@@ -186,7 +190,7 @@ static void graph_init(struct wmWindowManager *UNUSED(wm), ScrArea *sa)
sipo->ads= MEM_callocN(sizeof(bDopeSheet), "GraphEdit DopeSheet");
sipo->ads->source= (ID *)(G.main->scene.first); // FIXME: this is a really nasty hack here for now...
}
-
+
ED_area_tag_refresh(sa);
}
@@ -464,6 +468,13 @@ static void graph_listener(ScrArea *sa, wmNotifier *wmn)
break;
}
break;
+ case NC_NODE:
+ if (wmn->action == NA_SELECTED) {
+ /* selection changed, so force refresh to flush (needs flag set to do syncing) */
+ sipo->flag |= SIPO_TEMP_NEEDCHANSYNC;
+ ED_area_tag_refresh(sa);
+ }
+ break;
case NC_SPACE:
if(wmn->data == ND_SPACE_GRAPH)
ED_area_tag_redraw(sa);
@@ -513,14 +524,15 @@ static void graph_refresh(const bContext *C, ScrArea *sa)
if (ANIM_animdata_get_context(C, &ac)) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
+ size_t items;
int filter;
- int items, i;
+ int i;
/* build list of F-Curves which will be visible as channels in channel-region
* - we don't include ANIMFILTER_CURVEVISIBLE filter, as that will result in a
* mismatch between channel-colors and the drawn curves
*/
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CURVESONLY|ANIMFILTER_NODUPLIS);
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_NODUPLIS);
items= ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop over F-Curves, assigning colors */
diff --git a/source/blender/editors/space_image/CMakeLists.txt b/source/blender/editors/space_image/CMakeLists.txt
index 7c2d7ffb47b..0d4408faf49 100644
--- a/source/blender/editors/space_image/CMakeLists.txt
+++ b/source/blender/editors/space_image/CMakeLists.txt
@@ -23,13 +23,13 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_image/image_buttons.c b/source/blender/editors/space_image/image_buttons.c
index adce540cee4..4011f038be8 100644
--- a/source/blender/editors/space_image/image_buttons.c
+++ b/source/blender/editors/space_image/image_buttons.c
@@ -113,7 +113,7 @@ static void image_info(Scene *scene, ImageUser *iuser, Image *ima, ImBuf *ibuf,
if(ima->source==IMA_SRC_MOVIE) {
ofs+= sprintf(str, "Movie");
if(ima->anim)
- ofs+= sprintf(str+ofs, "%d frs", IMB_anim_get_duration(ima->anim));
+ ofs+= sprintf(str+ofs, "%d frs", IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN));
}
else
ofs+= sprintf(str, "Image");
@@ -428,7 +428,7 @@ static void set_frames_cb(bContext *C, void *ima_v, void *iuser_v)
ImageUser *iuser= iuser_v;
if(ima->anim) {
- iuser->frames = IMB_anim_get_duration(ima->anim);
+ iuser->frames = IMB_anim_get_duration(ima->anim, IMB_TC_RECORD_RUN);
BKE_image_user_calc_frame(iuser, scene->r.cfra, 0);
}
}
@@ -662,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;
@@ -719,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");
}
@@ -771,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);
}
}
@@ -787,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);
}
@@ -799,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);
}
@@ -809,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_intern.h b/source/blender/editors/space_image/image_intern.h
index e9e77ddf430..399157da85c 100644
--- a/source/blender/editors/space_image/image_intern.h
+++ b/source/blender/editors/space_image/image_intern.h
@@ -73,6 +73,7 @@ void IMAGE_OT_view_zoom(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_in(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_out(struct wmOperatorType *ot);
void IMAGE_OT_view_zoom_ratio(struct wmOperatorType *ot);
+void IMAGE_OT_view_ndof(struct wmOperatorType *ot);
void IMAGE_OT_new(struct wmOperatorType *ot);
void IMAGE_OT_open(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_image/image_ops.c b/source/blender/editors/space_image/image_ops.c
index 10b8cb238aa..68f9e4d033e 100644
--- a/source/blender/editors/space_image/image_ops.c
+++ b/source/blender/editors/space_image/image_ops.c
@@ -437,6 +437,63 @@ void IMAGE_OT_view_zoom(wmOperatorType *ot)
"Factor", "Zoom factor, values higher than 1.0 zoom in, lower values zoom out.", -FLT_MAX, FLT_MAX);
}
+/********************** NDOF operator *********************/
+
+/* Combined pan/zoom from a 3D mouse device.
+ * Z zooms, XY pans
+ * "view" (not "paper") control -- user moves the viewpoint, not the image being viewed
+ * that explains the negative signs in the code below
+ */
+
+static int view_ndof_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION)
+ return OPERATOR_CANCELLED;
+ else {
+ SpaceImage *sima= CTX_wm_space_image(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ float dt = ndof->dt;
+ /* tune these until it feels right */
+ const float zoom_sensitivity = 0.5f; // 50% per second (I think)
+ const float pan_sensitivity = 300.f; // screen pixels per second
+
+ float pan_x = pan_sensitivity * dt * ndof->tvec[0] / sima->zoom;
+ float pan_y = pan_sensitivity * dt * ndof->tvec[1] / sima->zoom;
+
+ /* "mouse zoom" factor = 1 + (dx + dy) / 300
+ * what about "ndof zoom" factor? should behave like this:
+ * at rest -> factor = 1
+ * move forward -> factor > 1
+ * move backward -> factor < 1
+ */
+ float zoom_factor = 1.f + zoom_sensitivity * dt * -ndof->tvec[2];
+
+ if (U.ndof_flag & NDOF_ZOOM_INVERT)
+ zoom_factor = -zoom_factor;
+
+ sima_zoom_set_factor(sima, ar, zoom_factor);
+ sima->xof += pan_x;
+ sima->yof += pan_y;
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void IMAGE_OT_view_ndof(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "NDOF Pan/Zoom";
+ ot->idname= "IMAGE_OT_view_ndof";
+
+ /* api callbacks */
+ ot->invoke= view_ndof_invoke;
+}
+
/********************** view all operator *********************/
/* Updates the fields of the View2D member of the SpaceImage struct.
@@ -500,7 +557,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 +568,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))
@@ -877,9 +938,100 @@ void IMAGE_OT_replace(wmOperatorType *ot)
/******************** save image as operator ********************/
+typedef struct {
+ /* matching scene->r settings */
+ short planes, imtype, subimtype, quality;
+ char filepath[FILE_MAX]; /* keep absolute */
+} SaveImageOptions;
+
+static void save_image_options_defaults(SaveImageOptions *simopts)
+{
+ simopts->planes= R_PLANES24;
+ simopts->imtype= R_PNG;
+ simopts->subimtype= 0;
+ simopts->quality= 90;
+ simopts->filepath[0]= '\0';
+}
+
+static int save_image_options_init(SaveImageOptions *simopts, SpaceImage *sima, Scene *scene, const short guess_path)
+{
+ void *lock;
+ ImBuf *ibuf= ED_space_image_acquire_buffer(sima, &lock);
+
+ if(ibuf) {
+ Image *ima= sima->image;
+
+ simopts->planes= ibuf->depth;
+
+ if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE)) {
+ simopts->imtype= scene->r.imtype;
+ simopts->planes= scene->r.planes;
+ }
+ else if (ima->source == IMA_SRC_GENERATED) {
+ simopts->imtype= R_PNG;
+ }
+ else {
+ simopts->imtype= BKE_ftype_to_imtype(ibuf->ftype);
+ }
+ simopts->subimtype= scene->r.subimtype; /* XXX - this is lame, we need to make these available too! */
+ simopts->quality= ibuf->ftype & 0xff;
+
+ BLI_strncpy(simopts->filepath, ibuf->name, sizeof(simopts->filepath));
+
+ /* sanitize all settings */
+
+ /* unlikely but just incase */
+ if (ELEM3(simopts->planes, R_PLANESBW, R_PLANES24, R_PLANES32) == 0) {
+ simopts->planes= R_PLANES32;
+ }
+
+ /* some formats dont use quality so fallback to scenes quality */
+ if (simopts->quality == 0) {
+ simopts->quality= scene->r.quality;
+ }
+
+ /* check for empty path */
+ if(guess_path && simopts->filepath[0]==0) {
+ if ( (G.ima[0] == '/') && (G.ima[1] == '/') && (G.ima[2] == '\0') ) {
+ BLI_strncpy(simopts->filepath, "//untitled", FILE_MAX);
+ } else {
+ BLI_strncpy(simopts->filepath, G.ima, FILE_MAX);
+ }
+ BLI_path_abs(simopts->filepath, G.main->name);
+ }
+ }
+
+ ED_space_image_release_buffer(sima, lock);
+
+ return (ibuf != NULL);
+}
+
+static void save_image_options_from_op(SaveImageOptions *simopts, wmOperator *op)
+{
+ if (RNA_property_is_set(op->ptr, "color_mode")) simopts->planes= RNA_enum_get(op->ptr, "color_mode");
+ if (RNA_property_is_set(op->ptr, "file_format")) simopts->imtype= RNA_enum_get(op->ptr, "file_format");
+ // if (RNA_property_is_set(op->ptr, "subimtype")) simopts->subimtype= RNA_enum_get(op->ptr, "subimtype"); // XXX
+ if (RNA_property_is_set(op->ptr, "file_quality")) simopts->quality= RNA_int_get(op->ptr, "file_quality");
+
+ if (RNA_property_is_set(op->ptr, "filepath")) {
+ RNA_string_get(op->ptr, "filepath", simopts->filepath);
+ BLI_path_abs(simopts->filepath, G.main->name);
+ }
+}
+
+static void save_image_options_to_op(SaveImageOptions *simopts, wmOperator *op)
+{
+ RNA_enum_set(op->ptr, "color_mode", simopts->planes);
+ RNA_enum_set(op->ptr, "file_format", simopts->imtype);
+ // RNA_enum_set(op->ptr, "subimtype", simopts->subimtype);
+ RNA_int_set(op->ptr, "file_quality", simopts->quality);
+
+ RNA_string_set(op->ptr, "filepath", simopts->filepath);
+}
+
/* assumes name is FILE_MAX */
/* ima->name and ibuf->name should end up the same */
-static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOperator *op, char *path, int do_newpath)
+static void save_image_doit(bContext *C, SpaceImage *sima, wmOperator *op, SaveImageOptions *simopts, int do_newpath)
{
Image *ima= ED_space_image(sima);
void *lock;
@@ -891,18 +1043,17 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
const short save_copy= (RNA_struct_find_property(op->ptr, "copy") && RNA_boolean_get(op->ptr, "copy"));
short ok= FALSE;
- BLI_path_abs(path, bmain->name);
/* old global to ensure a 2nd save goes to same dir */
- BLI_strncpy(G.ima, path, sizeof(G.ima));
+ BLI_strncpy(G.ima, simopts->filepath, sizeof(G.ima));
WM_cursor_wait(1);
if(ima->type == IMA_TYPE_R_RESULT) {
/* enforce user setting for RGB or RGBA, but skip BW */
- if(scene->r.planes==32) {
+ if(simopts->planes==R_PLANES32) {
ibuf->depth= 32;
}
- else if(scene->r.planes==24) {
+ else if(simopts->planes==R_PLANES24) {
ibuf->depth= 24;
}
}
@@ -913,15 +1064,12 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
ibuf->depth= BKE_alphatest_ibuf(ibuf) ? 32 : 24;
}
}
-
- if(scene->r.scemode & R_EXTENSION) {
- BKE_add_image_extension(path, sima->imtypenr);
- }
- if(sima->imtypenr==R_MULTILAYER) {
+ if(simopts->imtype==R_MULTILAYER) {
+ Scene *scene= CTX_data_scene(C);
RenderResult *rr= BKE_image_acquire_renderresult(scene, ima);
if(rr) {
- RE_WriteRenderResult(rr, path, scene->r.quality);
+ RE_WriteRenderResult(op->reports, rr, simopts->filepath, simopts->quality);
ok= TRUE;
}
else {
@@ -929,23 +1077,23 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
}
BKE_image_release_renderresult(scene, ima);
}
- else if (BKE_write_ibuf(ibuf, path, sima->imtypenr, scene->r.subimtype, scene->r.quality)) {
+ else if (BKE_write_ibuf(ibuf, simopts->filepath, simopts->imtype, simopts->subimtype, simopts->quality)) {
ok= TRUE;
}
if(ok) {
if(relative)
- BLI_path_rel(path, bmain->name); /* only after saving */
+ BLI_path_rel(simopts->filepath, bmain->name); /* only after saving */
if(ibuf->name[0]==0) {
- BLI_strncpy(ibuf->name, path, sizeof(ibuf->name));
- BLI_strncpy(ima->name, path, sizeof(ima->name));
+ BLI_strncpy(ibuf->name, simopts->filepath, sizeof(ibuf->name));
+ BLI_strncpy(ima->name, simopts->filepath, sizeof(ima->name));
}
if(!save_copy) {
if(do_newpath) {
- BLI_strncpy(ima->name, path, sizeof(ima->name));
- BLI_strncpy(ibuf->name, path, sizeof(ibuf->name));
+ BLI_strncpy(ima->name, simopts->filepath, sizeof(ima->name));
+ BLI_strncpy(ibuf->name, simopts->filepath, sizeof(ibuf->name));
}
ibuf->userflags &= ~IB_BITMAPDIRTY;
@@ -973,7 +1121,7 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
}
}
else {
- BKE_reportf(op->reports, RPT_ERROR, "Couldn't write image: %s", path);
+ BKE_reportf(op->reports, RPT_ERROR, "Couldn't write image: %s", simopts->filepath);
}
@@ -988,17 +1136,14 @@ static void save_image_doit(bContext *C, SpaceImage *sima, Scene *scene, wmOpera
static int save_as_exec(bContext *C, wmOperator *op)
{
SpaceImage *sima= CTX_wm_space_image(C);
- Scene *scene= CTX_data_scene(C);
- Image *ima = ED_space_image(sima);
- char str[FILE_MAX];
-
- if(!ima)
- return OPERATOR_CANCELLED;
+ SaveImageOptions simopts;
- sima->imtypenr= RNA_enum_get(op->ptr, "file_type");
- RNA_string_get(op->ptr, "filepath", str);
+ /* just incase to initialize values,
+ * these should be set on invoke or by the caller. */
+ save_image_options_defaults(&simopts);
+ save_image_options_from_op(&simopts, op);
- save_image_doit(C, sima, scene, op, str, TRUE);
+ save_image_doit(C, sima, op, &simopts, TRUE);
return OPERATOR_FINISHED;
}
@@ -1008,7 +1153,7 @@ static int save_as_check(bContext *UNUSED(C), wmOperator *op)
{
char filepath[FILE_MAX];
RNA_string_get(op->ptr, "filepath", filepath);
- if(BKE_add_image_extension(filepath, RNA_enum_get(op->ptr, "file_type"))) {
+ if(BKE_add_image_extension(filepath, RNA_enum_get(op->ptr, "file_format"))) {
RNA_string_set(op->ptr, "filepath", filepath);
return TRUE;
}
@@ -1020,65 +1165,33 @@ static int save_as_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
SpaceImage *sima= CTX_wm_space_image(C);
Image *ima = ED_space_image(sima);
Scene *scene= CTX_data_scene(C);
- ImBuf *ibuf;
- char filename[FILE_MAX];
-
- void *lock;
+ SaveImageOptions simopts;
if(!RNA_property_is_set(op->ptr, "relative_path"))
RNA_boolean_set(op->ptr, "relative_path", U.flag & USER_RELPATHS);
if(RNA_property_is_set(op->ptr, "filepath"))
return save_as_exec(C, op);
-
- if(!ima)
- return OPERATOR_CANCELLED;
-
- /* always opens fileselect */
- ibuf= ED_space_image_acquire_buffer(sima, &lock);
-
- if(ibuf) {
- /* cant save multilayer sequence, ima->rr isn't valid for a specific frame */
- if(ima->rr && !(ima->source==IMA_SRC_SEQUENCE && ima->type==IMA_TYPE_MULTILAYER))
- sima->imtypenr= R_MULTILAYER;
- else if(ima->type==IMA_TYPE_R_RESULT)
- sima->imtypenr= scene->r.imtype;
- else if (ima->source == IMA_SRC_GENERATED)
- sima->imtypenr= R_PNG;
- else
- sima->imtypenr= BKE_ftype_to_imtype(ibuf->ftype);
-
- RNA_enum_set(op->ptr, "file_type", sima->imtypenr);
-
- if(ibuf->name[0]==0)
- if ( (G.ima[0] == '/') && (G.ima[1] == '/') && (G.ima[2] == '\0') ) {
- BLI_strncpy(filename, "//untitled", FILE_MAX);
- } else {
- BLI_strncpy(filename, G.ima, FILE_MAX);
- }
- else
- BLI_strncpy(filename, ibuf->name, FILE_MAX);
-
- /* enable save_copy by default for render results */
- if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) && !RNA_property_is_set(op->ptr, "copy")) {
- RNA_boolean_set(op->ptr, "copy", TRUE);
- }
- // XXX note: we can give default menu enums to operator for this
- image_filesel(C, op, filename);
+ if (save_image_options_init(&simopts, sima, scene, TRUE) == 0)
+ return OPERATOR_CANCELLED;
+ save_image_options_to_op(&simopts, op);
- ED_space_image_release_buffer(sima, lock);
-
- return OPERATOR_RUNNING_MODAL;
+ /* enable save_copy by default for render results */
+ if(ELEM(ima->type, IMA_TYPE_R_RESULT, IMA_TYPE_COMPOSITE) && !RNA_property_is_set(op->ptr, "copy")) {
+ RNA_boolean_set(op->ptr, "copy", TRUE);
}
- ED_space_image_release_buffer(sima, lock);
+ // XXX note: we can give default menu enums to operator for this
+ image_filesel(C, op, simopts.filepath);
- return OPERATOR_CANCELLED;
+ return OPERATOR_RUNNING_MODAL;
}
void IMAGE_OT_save_as(wmOperatorType *ot)
{
+ PropertyRNA *prop;
+
/* identifiers */
ot->name= "Save As Image";
ot->idname= "IMAGE_OT_save_as";
@@ -1093,7 +1206,13 @@ void IMAGE_OT_save_as(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- RNA_def_enum(ot->srna, "file_type", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
+
+ /* format options */
+ RNA_def_enum(ot->srna, "file_format", image_file_type_items, R_PNG, "File Type", "File type to save image as.");
+ RNA_def_enum(ot->srna, "color_mode", image_color_mode_items, R_PLANES24, "Channels", "Image channels to save");
+ prop= RNA_def_int(ot->srna, "file_quality", 90, 0, 100, "Quality", "", 0, 100);
+ RNA_def_property_subtype(prop, PROP_PERCENTAGE);
+
WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_SAVE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
RNA_def_boolean(ot->srna, "copy", 0, "Copy", "Create a new image file without modifying the current image in blender");
@@ -1103,45 +1222,19 @@ void IMAGE_OT_save_as(wmOperatorType *ot)
static int save_exec(bContext *C, wmOperator *op)
{
- Main *bmain= CTX_data_main(C);
SpaceImage *sima= CTX_wm_space_image(C);
- Image *ima = ED_space_image(sima);
- void *lock;
- ImBuf *ibuf= ED_space_image_acquire_buffer(sima, &lock);
Scene *scene= CTX_data_scene(C);
- RenderResult *rr;
- char name[FILE_MAX];
+ SaveImageOptions simopts;
- if(!ima || !ibuf) {
- ED_space_image_release_buffer(sima, lock);
+ if (save_image_options_init(&simopts, sima, scene, FALSE) == 0)
return OPERATOR_CANCELLED;
- }
-
- /* if exists, saves over without fileselect */
-
- BLI_strncpy(name, ima->name, FILE_MAX);
- if(name[0]==0)
- BLI_strncpy(name, G.ima, FILE_MAX);
- else
- BLI_path_abs(name, bmain->name);
-
- if(BLI_exists(name) && BLI_is_writable(name)) {
- rr= BKE_image_acquire_renderresult(scene, ima);
+ save_image_options_from_op(&simopts, op);
- if(rr)
- sima->imtypenr= R_MULTILAYER;
- else
- sima->imtypenr= BKE_ftype_to_imtype(ibuf->ftype);
-
- BKE_image_release_renderresult(scene, ima);
- ED_space_image_release_buffer(sima, lock);
-
- save_image_doit(C, sima, scene, op, name, FALSE);
+ if (BLI_exists(simopts.filepath) && BLI_is_writable(simopts.filepath)) {
+ save_image_doit(C, sima, op, &simopts, FALSE);
}
else {
- ED_space_image_release_buffer(sima, lock);
-
- BKE_report(op->reports, RPT_ERROR, "Can not save image.");
+ BKE_reportf(op->reports, RPT_ERROR, "Can not save image, path '%s' is not writable.", simopts.filepath);
return OPERATOR_CANCELLED;
}
@@ -1270,7 +1363,7 @@ void IMAGE_OT_reload(wmOperatorType *ot)
ot->exec= reload_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo, image buffer is not handled by undo */
}
/********************** new image operator *********************/
@@ -1928,7 +2021,7 @@ void IMAGE_OT_sample_line(wmOperatorType *ot)
ot->cancel= WM_gesture_straightline_cancel;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= 0; /* no undo/register since this operates on the space */
WM_operator_properties_gesture_straightline(ot, CURSOR_EDIT);
}
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c
index 2e9544f5d20..afab4ede229 100644
--- a/source/blender/editors/space_image/space_image.c
+++ b/source/blender/editors/space_image/space_image.c
@@ -469,6 +469,7 @@ static void image_operatortypes(void)
WM_operatortype_append(IMAGE_OT_view_zoom_in);
WM_operatortype_append(IMAGE_OT_view_zoom_out);
WM_operatortype_append(IMAGE_OT_view_zoom_ratio);
+ WM_operatortype_append(IMAGE_OT_view_ndof);
WM_operatortype_append(IMAGE_OT_new);
WM_operatortype_append(IMAGE_OT_open);
@@ -518,6 +519,9 @@ static void image_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "IMAGE_OT_view_pan", MIDDLEMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_pan", MOUSEPAN, 0, 0, 0);
+ WM_keymap_add_item(keymap, "IMAGE_OT_view_all", NDOF_BUTTON_FIT, KM_PRESS, 0, 0); // or view selected?
+ WM_keymap_add_item(keymap, "IMAGE_OT_view_ndof", NDOF_MOTION, 0, 0, 0);
+
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_in", WHEELINMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_out", WHEELOUTMOUSE, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_in", PADPLUSKEY, KM_PRESS, 0, 0);
diff --git a/source/blender/editors/space_info/CMakeLists.txt b/source/blender/editors/space_info/CMakeLists.txt
index c6ed1b7bac7..22347df93a3 100644
--- a/source/blender/editors/space_info/CMakeLists.txt
+++ b/source/blender/editors/space_info/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
diff --git a/source/blender/editors/space_info/info_ops.c b/source/blender/editors/space_info/info_ops.c
index d58fb7b11f0..e09565d38e9 100644
--- a/source/blender/editors/space_info/info_ops.c
+++ b/source/blender/editors/space_info/info_ops.c
@@ -273,7 +273,7 @@ void FILE_OT_report_missing_files(wmOperatorType *ot)
ot->exec= report_missing_files_exec;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= 0; /* only reports so no need to undo/register */
}
/********************* find missing files operator *********************/
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 cd24cb5e5d0..44471902040 100644
--- a/source/blender/editors/space_logic/CMakeLists.txt
+++ b/source/blender/editors/space_logic/CMakeLists.txt
@@ -21,13 +21,13 @@
set(INC
../include
+ ../interface
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
- ../../editors/interface
../../../../intern/guardedalloc
)
diff --git a/source/blender/editors/space_logic/logic_ops.c b/source/blender/editors/space_logic/logic_ops.c
index 638bfe57608..60e9595b77a 100644
--- a/source/blender/editors/space_logic/logic_ops.c
+++ b/source/blender/editors/space_logic/logic_ops.c
@@ -322,7 +322,7 @@ static void LOGIC_OT_sensor_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, SENS_ALWAYS, "Type", "Type of sensor to add");
+ ot->prop= prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, SENS_ALWAYS, "Type", "Type of sensor to add");
RNA_def_enum_funcs(prop, rna_Sensor_type_itemf);
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Sensor to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Sensor to");
@@ -437,7 +437,7 @@ static void LOGIC_OT_controller_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- RNA_def_enum(ot->srna, "type", controller_type_items, CONT_LOGIC_AND, "Type", "Type of controller to add");
+ ot->prop= RNA_def_enum(ot->srna, "type", controller_type_items, CONT_LOGIC_AND, "Type", "Type of controller to add");
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Controller to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Controller to");
}
@@ -539,7 +539,7 @@ static void LOGIC_OT_actuator_add(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
/* properties */
- prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, CONT_LOGIC_AND, "Type", "Type of actuator to add");
+ ot->prop= prop= RNA_def_enum(ot->srna, "type", DummyRNA_NULL_items, CONT_LOGIC_AND, "Type", "Type of actuator to add");
RNA_def_enum_funcs(prop, rna_Actuator_type_itemf);
RNA_def_string(ot->srna, "name", "", 32, "Name", "Name of the Actuator to add");
RNA_def_string(ot->srna, "object", "", 32, "Object", "Name of the Object to add the Actuator to");
diff --git a/source/blender/editors/space_logic/logic_window.c b/source/blender/editors/space_logic/logic_window.c
index e09f9cff031..43a8747e942 100644
--- a/source/blender/editors/space_logic/logic_window.c
+++ b/source/blender/editors/space_logic/logic_window.c
@@ -3679,16 +3679,22 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
{
Object *ob = (Object *)ptr->id.data;
PointerRNA settings_ptr;
- uiLayout *row;
+ uiLayout *row, *subrow, *col;
- if(ob->type != OB_ARMATURE){
- uiItemL(layout, "Actuator only available for armatures", ICON_NONE);
- return;
- }
RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "play_mode", 0, "", ICON_NONE);
+
+ subrow= uiLayoutRow(row, 1);
+ uiItemR(subrow, ptr, "use_force", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+ uiItemR(subrow, ptr, "use_additive", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+
+ col = uiLayoutColumn(subrow, 0);
+ uiLayoutSetActive(col, (RNA_boolean_get(ptr, "use_additive") || RNA_boolean_get(ptr, "use_force")));
+ uiItemR(col, ptr, "use_local", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
+
+ row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "action", 0, "", ICON_NONE);
uiItemR(row, ptr, "use_continue_last_frame", 0, NULL, ICON_NONE);
@@ -3701,11 +3707,17 @@ static void draw_actuator_action(uiLayout *layout, PointerRNA *ptr)
uiItemR(row, ptr, "frame_end", 0, NULL, ICON_NONE);
}
+ uiItemR(row, ptr, "apply_to_children", 0, NULL, ICON_NONE);
+
row= uiLayoutRow(layout, 0);
uiItemR(row, ptr, "frame_blend_in", 0, NULL, ICON_NONE);
uiItemR(row, ptr, "priority", 0, NULL, ICON_NONE);
row= uiLayoutRow(layout, 0);
+ uiItemR(row, ptr, "layer", 0, NULL, ICON_NONE);
+ uiItemR(row, ptr, "layer_weight", 0, NULL, ICON_NONE);
+
+ row= uiLayoutRow(layout, 0);
uiItemPointerR(layout, ptr, "frame_property", &settings_ptr, "properties", NULL, ICON_NONE);
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
@@ -3788,6 +3800,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)
@@ -3977,39 +3991,6 @@ static void draw_actuator_game(uiLayout *layout, PointerRNA *ptr)
uiItemR(layout, ptr, "filename", 0, NULL, ICON_NONE);
}
-static void draw_actuator_ipo(uiLayout *layout, PointerRNA *ptr)
-{
- Object *ob;
- PointerRNA settings_ptr;
- uiLayout *row, *subrow, *col;
-
- ob = (Object *)ptr->id.data;
- RNA_pointer_create((ID *)ob, &RNA_GameObjectSettings, ob, &settings_ptr);
-
- row= uiLayoutRow(layout, 0);
- uiItemR(row, ptr, "play_type", 0, "", ICON_NONE);
- subrow= uiLayoutRow(row, 1);
- uiItemR(subrow, ptr, "use_force", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
- uiItemR(subrow, ptr, "use_additive", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
-
- col = uiLayoutColumn(subrow, 0);
- uiLayoutSetActive(col, (RNA_boolean_get(ptr, "use_additive") || RNA_boolean_get(ptr, "use_force")));
- uiItemR(col, ptr, "use_local", UI_ITEM_R_TOGGLE, NULL, ICON_NONE);
-
- row= uiLayoutRow(layout, 0);
- if((RNA_enum_get(ptr, "play_type") == ACT_IPO_FROM_PROP))
- uiItemPointerR(row, ptr, "property", &settings_ptr, "properties", NULL, ICON_NONE);
-
- else {
- uiItemR(row, ptr, "frame_start", 0, NULL, ICON_NONE);
- uiItemR(row, ptr, "frame_end", 0, NULL, ICON_NONE);
- }
- uiItemR(row, ptr, "apply_to_children", 0, NULL, ICON_NONE);
-
- row= uiLayoutRow(layout, 0);
- uiItemPointerR(row, ptr, "frame_property", &settings_ptr, "properties", NULL, ICON_NONE);
-}
-
static void draw_actuator_message(uiLayout *layout, PointerRNA *ptr, bContext *C)
{
Object *ob;
@@ -4439,9 +4420,6 @@ static void draw_brick_actuator(uiLayout *layout, PointerRNA *ptr, bContext *C)
case ACT_GAME:
draw_actuator_game(box, ptr);
break;
- case ACT_IPO:
- draw_actuator_ipo(box, ptr);
- break;
case ACT_MESSAGE:
draw_actuator_message(box, ptr, C);
break;
diff --git a/source/blender/editors/space_nla/CMakeLists.txt b/source/blender/editors/space_nla/CMakeLists.txt
index 1bf04f4dc37..b05d157365d 100644
--- a/source/blender/editors/space_nla/CMakeLists.txt
+++ b/source/blender/editors/space_nla/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_nla/nla_buttons.c b/source/blender/editors/space_nla/nla_buttons.c
index 94232699c30..4392e49e5d7 100644
--- a/source/blender/editors/space_nla/nla_buttons.c
+++ b/source/blender/editors/space_nla/nla_buttons.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -103,7 +101,8 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA
/* extract list of active channel(s), of which we should only take the first one
* - we need the channels flag to get the active AnimData block when there are no NLA Tracks
*/
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_ACTIVE|ANIMFILTER_CHANNELS);
+ // XXX: double-check active!
+ filter= (ANIMFILTER_DATA_VISIBLE|ANIMFILTER_LIST_VISIBLE|ANIMFILTER_ACTIVE|ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
for (ale= anim_data.first; ale; ale= ale->next) {
@@ -145,6 +144,7 @@ static int nla_panel_context(const bContext *C, PointerRNA *adt_ptr, PointerRNA
case ANIMTYPE_DSPART:
case ANIMTYPE_DSMBALL:
case ANIMTYPE_DSARM:
+ case ANIMTYPE_DSSPK:
{
/* for these channels, we only do AnimData */
if (ale->id && ale->adt) {
@@ -211,6 +211,24 @@ static int nla_strip_actclip_panel_poll(const bContext *C, PanelType *UNUSED(pt)
return (strip->type == NLASTRIP_TYPE_CLIP);
}
+static int nla_strip_eval_panel_poll(const bContext *C, PanelType *UNUSED(pt))
+{
+ PointerRNA ptr;
+ NlaStrip *strip;
+
+ if (!nla_panel_context(C, NULL, NULL, &ptr))
+ return 0;
+ if (ptr.data == NULL)
+ return 0;
+
+ strip= ptr.data;
+
+ if (strip->type == NLASTRIP_TYPE_SOUND)
+ return 0;
+
+ return 1;
+}
+
/* -------------- */
/* active AnimData */
@@ -276,6 +294,7 @@ static void nla_panel_properties(const bContext *C, Panel *pa)
uiLayout *layout= pa->layout;
uiLayout *column, *row, *subcol;
uiBlock *block;
+ short showEvalProps = 1;
if (!nla_panel_context(C, NULL, NULL, &strip_ptr))
return;
@@ -295,32 +314,41 @@ static void nla_panel_properties(const bContext *C, Panel *pa)
uiItemR(column, &strip_ptr, "frame_start", 0, NULL, ICON_NONE);
uiItemR(column, &strip_ptr, "frame_end", 0, NULL, ICON_NONE);
- /* extrapolation */
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &strip_ptr, "extrapolation", 0, NULL, ICON_NONE);
+ /* Evaluation-Related Strip Properties ------------------ */
- /* blending */
- row= uiLayoutRow(layout, 1);
- uiItemR(row, &strip_ptr, "blend_type", 0, NULL, ICON_NONE);
-
- /* blend in/out + autoblending
- * - blend in/out can only be set when autoblending is off
- */
- column= uiLayoutColumn(layout, 1);
- uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence")==0);
- uiItemR(column, &strip_ptr, "use_auto_blend", 0, NULL, ICON_NONE); // XXX as toggle?
-
- subcol= uiLayoutColumn(column, 1);
- uiLayoutSetActive(subcol, RNA_boolean_get(&strip_ptr, "use_auto_blend")==0);
- uiItemR(subcol, &strip_ptr, "blend_in", 0, NULL, ICON_NONE);
- uiItemR(subcol, &strip_ptr, "blend_out", 0, NULL, ICON_NONE);
+ /* sound properties strips don't have these settings */
+ if (RNA_enum_get(&strip_ptr, "type") == NLASTRIP_TYPE_SOUND)
+ showEvalProps = 0;
+
+ /* only show if allowed to... */
+ if (showEvalProps) {
+ /* extrapolation */
+ row= uiLayoutRow(layout, 1);
+ uiItemR(row, &strip_ptr, "extrapolation", 0, NULL, ICON_NONE);
- /* settings */
- column= uiLayoutColumn(layout, 1);
- uiLayoutSetActive(column, !(RNA_boolean_get(&strip_ptr, "use_animated_influence") || RNA_boolean_get(&strip_ptr, "use_animated_time")));
- uiItemL(column, "Playback Settings:", ICON_NONE);
- uiItemR(column, &strip_ptr, "mute", 0, NULL, ICON_NONE);
- uiItemR(column, &strip_ptr, "use_reverse", 0, NULL, ICON_NONE);
+ /* blending */
+ row= uiLayoutRow(layout, 1);
+ uiItemR(row, &strip_ptr, "blend_type", 0, NULL, ICON_NONE);
+
+ /* blend in/out + autoblending
+ * - blend in/out can only be set when autoblending is off
+ */
+ column= uiLayoutColumn(layout, 1);
+ uiLayoutSetActive(column, RNA_boolean_get(&strip_ptr, "use_animated_influence")==0);
+ uiItemR(column, &strip_ptr, "use_auto_blend", 0, NULL, ICON_NONE); // XXX as toggle?
+
+ subcol= uiLayoutColumn(column, 1);
+ uiLayoutSetActive(subcol, RNA_boolean_get(&strip_ptr, "use_auto_blend")==0);
+ uiItemR(subcol, &strip_ptr, "blend_in", 0, NULL, ICON_NONE);
+ uiItemR(subcol, &strip_ptr, "blend_out", 0, NULL, ICON_NONE);
+
+ /* settings */
+ column= uiLayoutColumn(layout, 1);
+ uiLayoutSetActive(column, !(RNA_boolean_get(&strip_ptr, "use_animated_influence") || RNA_boolean_get(&strip_ptr, "use_animated_time")));
+ uiItemL(column, "Playback Settings:", ICON_NONE);
+ uiItemR(column, &strip_ptr, "mute", 0, NULL, ICON_NONE);
+ uiItemR(column, &strip_ptr, "use_reverse", 0, NULL, ICON_NONE);
+ }
}
@@ -474,14 +502,14 @@ void nla_buttons_register(ARegionType *art)
strcpy(pt->idname, "NLA_PT_evaluation");
strcpy(pt->label, "Evaluation");
pt->draw= nla_panel_evaluation;
- pt->poll= nla_strip_panel_poll;
+ pt->poll= nla_strip_eval_panel_poll;
BLI_addtail(&art->paneltypes, pt);
pt= MEM_callocN(sizeof(PanelType), "spacetype nla panel modifiers");
strcpy(pt->idname, "NLA_PT_modifiers");
strcpy(pt->label, "Modifiers");
pt->draw= nla_panel_modifiers;
- pt->poll= nla_strip_panel_poll;
+ pt->poll= nla_strip_eval_panel_poll;
BLI_addtail(&art->paneltypes, pt);
}
diff --git a/source/blender/editors/space_nla/nla_channels.c b/source/blender/editors/space_nla/nla_channels.c
index 38f680fff07..8775d256b80 100644
--- a/source/blender/editors/space_nla/nla_channels.c
+++ b/source/blender/editors/space_nla/nla_channels.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -81,13 +79,14 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
int filter;
+
View2D *v2d= &ac->ar->v2d;
int notifierFlags = 0;
/* get the channel that was clicked on */
/* filter channels */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
- filter= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* get channel from index */
ale= BLI_findlink(&anim_data, channel_index);
@@ -179,6 +178,7 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
case ANIMTYPE_DSMESH:
case ANIMTYPE_DSTEX:
case ANIMTYPE_DSLAT:
+ case ANIMTYPE_DSSPK:
{
/* sanity checking... */
if (ale->adt) {
@@ -301,6 +301,7 @@ static int mouse_nla_channels (bAnimContext *ac, float x, int channel_index, sho
static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
bAnimContext ac;
+ SpaceNla *snla;
ARegion *ar;
View2D *v2d;
int channel_index;
@@ -313,6 +314,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
return OPERATOR_CANCELLED;
/* get useful pointers from animation context data */
+ snla= (SpaceNla *)ac.sl;
ar= ac.ar;
v2d= &ar->v2d;
@@ -328,7 +330,7 @@ static int nlachannels_mouseclick_invoke(bContext *C, wmOperator *op, wmEvent *e
* NLACHANNEL_HEIGHT_HALF.
*/
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);
+ UI_view2d_listview_view_to_cell(v2d, NLACHANNEL_NAMEWIDTH, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
/* handle mouse-click in the relevant channel then */
notifierFlags= mouse_nla_channels(&ac, x, channel_index, selectmode);
@@ -379,12 +381,12 @@ static int nlaedit_add_tracks_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* add tracks... */
for (ale= anim_data.first; ale; ale= ale->next) {
- if(ale->type == ANIMTYPE_NLATRACK) {
+ if (ale->type == ANIMTYPE_NLATRACK) {
NlaTrack *nlt= (NlaTrack *)ale->data;
AnimData *adt= ale->adt;
@@ -447,7 +449,7 @@ static int nlaedit_delete_tracks_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* delete tracks */
diff --git a/source/blender/editors/space_nla/nla_draw.c b/source/blender/editors/space_nla/nla_draw.c
index e830a421a59..0c9c7877ddc 100644
--- a/source/blender/editors/space_nla/nla_draw.c
+++ b/source/blender/editors/space_nla/nla_draw.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -38,6 +36,7 @@
#include <float.h>
#include "DNA_anim_types.h"
+#include "DNA_node_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
@@ -80,7 +79,6 @@
*/
static void nla_action_get_color (AnimData *adt, bAction *act, float color[4])
{
- // TODO: if tweaking some action, use the same color as for the tweaked track (quick hack done for now)
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
// greenish color (same as tweaking strip) - hardcoded for now
color[0]= 0.30f;
@@ -104,6 +102,10 @@ static void nla_action_get_color (AnimData *adt, bAction *act, float color[4])
color[3]= 0.3f;
}
}
+
+ /* when an NLA track is tagged "solo", action doesn't contribute, so shouldn't be as prominent */
+ if (adt && (adt->flag & ADT_NLA_SOLO_TRACK))
+ color[3] *= 0.15f;
}
/* draw the keyframes in the specified Action */
@@ -124,9 +126,12 @@ static void nla_action_draw_keyframes (AnimData *adt, bAction *act, View2D *v2d,
/* draw a darkened region behind the strips
* - get and reset the background color, this time without the alpha to stand out better
+ * (amplified alpha is used instead)
*/
nla_action_get_color(adt, act, color);
- glColor3fv(color);
+ color[3] *= 2.5f;
+
+ glColor4fv(color);
/* - draw a rect from the first to the last frame (no extra overlaps for now)
* that is slightly stumpier than the track background (hardcoded 2-units here)
*/
@@ -191,7 +196,24 @@ static void nla_strip_get_color_inside (AnimData *adt, NlaStrip *strip, float co
color[1]= 0.15f;
color[2]= 0.26f;
}
- }
+ }
+ else if (strip->type == NLASTRIP_TYPE_SOUND) {
+ /* Sound Clip */
+ if (strip->flag & NLASTRIP_FLAG_SELECT) {
+ /* selected - use a bright teal color */
+ // FIXME: hardcoded temp-hack colors
+ color[0]= 0.12f;
+ color[1]= 0.48f;
+ color[2]= 0.48f;
+ }
+ else {
+ /* normal, unselected strip - use (hardly noticable) teal tinge */
+ // FIXME: hardcoded temp-hack colors
+ color[0]= 0.17f;
+ color[1]= 0.24f;
+ color[2]= 0.24f;
+ }
+ }
else {
/* Action Clip (default/normal type of strip) */
if ((strip->flag & NLASTRIP_FLAG_ACTIVE) && (adt && (adt->flag & ADT_NLA_EDIT_ON))) {
@@ -285,15 +307,18 @@ static void nla_draw_strip_curves (NlaStrip *strip, float yminc, float ymaxc)
}
/* main call for drawing a single NLA-strip */
-static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt), NlaStrip *strip, View2D *v2d, float yminc, float ymaxc)
+static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *nlt, NlaStrip *strip, View2D *v2d, float yminc, float ymaxc)
{
+ short nonSolo = ((adt && (adt->flag & ADT_NLA_SOLO_TRACK)) && (nlt->flag & NLATRACK_SOLO)==0);
float color[3];
/* get color of strip */
nla_strip_get_color_inside(adt, strip, color);
- /* draw extrapolation info first (as backdrop) */
- if (strip->extendmode != NLASTRIP_EXTEND_NOTHING) {
+ /* draw extrapolation info first (as backdrop)
+ * - but this should only be drawn if track has some contribution
+ */
+ if ((strip->extendmode != NLASTRIP_EXTEND_NOTHING) && (nonSolo == 0)) {
/* enable transparency... */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
@@ -346,10 +371,23 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
glDisable(GL_BLEND);
}
+
/* draw 'inside' of strip itself */
- glColor3fv(color);
- uiSetRoundBox(15); /* all corners rounded */
- uiDrawBoxShade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1);
+ if (nonSolo == 0) {
+ /* strip is in normal track */
+ glColor3fv(color);
+ uiSetRoundBox(15); /* all corners rounded */
+
+ uiDrawBoxShade(GL_POLYGON, strip->start, yminc, strip->end, ymaxc, 0.0, 0.5, 0.1);
+ }
+ else {
+ /* strip is in disabled track - make less visible */
+ glColor4f(color[0], color[1], color[2], 0.1f);
+
+ glEnable(GL_BLEND);
+ glRectf(strip->start, yminc, strip->end, ymaxc);
+ glDisable(GL_BLEND);
+ }
/* draw strip's control 'curves'
@@ -358,6 +396,7 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
if ((snla->flag & SNLA_NOSTRIPCURVES) == 0)
nla_draw_strip_curves(strip, yminc, ymaxc);
+
/* draw strip outline
* - color used here is to indicate active vs non-active
*/
@@ -419,23 +458,21 @@ static void nla_draw_strip (SpaceNla *snla, AnimData *adt, NlaTrack *UNUSED(nlt)
}
/* add the relevant text to the cache of text-strings to draw in pixelspace */
-static void nla_draw_strip_text (NlaTrack *UNUSED(nlt), NlaStrip *strip, int UNUSED(index), View2D *v2d, float yminc, float ymaxc)
+static void nla_draw_strip_text (AnimData *adt, NlaTrack *nlt, NlaStrip *strip, int index, View2D *v2d, float yminc, float ymaxc)
{
- char str[256], dir[3];
+ short notSolo = ((adt && (adt->flag & ADT_NLA_SOLO_TRACK)) && (nlt->flag & NLATRACK_SOLO)==0);
+ char str[256];
char col[4];
+ float xofs;
rctf rect;
- /* 'dir' - direction that strip is played in */
- if (strip->flag & NLASTRIP_FLAG_REVERSE)
- sprintf(dir, "<-");
- else
- sprintf(dir, "->");
-
/* just print the name and the range */
- if (strip->flag & NLASTRIP_FLAG_TEMP_META)
- sprintf(str, "Temp-Meta | %.2f %s %.2f", strip->start, dir, strip->end);
- else
- sprintf(str, "%s | %.2f %s %.2f", strip->name, strip->start, dir, strip->end);
+ if (strip->flag & NLASTRIP_FLAG_TEMP_META) {
+ BLI_snprintf(str, sizeof(str), "%d) Temp-Meta", index);
+ }
+ else {
+ BLI_strncpy(str, strip->name, sizeof(str));
+ }
/* set text color - if colors (see above) are light, draw black text, otherwise draw white */
if (strip->flag & (NLASTRIP_FLAG_ACTIVE|NLASTRIP_FLAG_SELECT|NLASTRIP_FLAG_TWEAKUSER)) {
@@ -444,22 +481,57 @@ static void nla_draw_strip_text (NlaTrack *UNUSED(nlt), NlaStrip *strip, int UNU
else {
col[0]= col[1]= col[2]= 255;
}
- col[3]= 1.0;
-
+
+ /* text opacity depends on whether if there's a solo'd track, this isn't it */
+ if (notSolo == 0)
+ col[3]= 255;
+ else
+ col[3]= 128;
+
+ /* determine the amount of padding required - cannot be constant otherwise looks weird in some cases */
+ if ((strip->end - strip->start) <= 5.0f)
+ xofs = 0.5f;
+ else
+ xofs = 1.0f;
+
/* set bounding-box for text
* - padding of 2 'units' on either side
*/
// TODO: make this centered?
- rect.xmin= strip->start + 0.5f;
+ rect.xmin= strip->start + xofs;
rect.ymin= yminc;
- rect.xmax= strip->end - 0.5f;
+ rect.xmax= strip->end - xofs;
rect.ymax= ymaxc;
- /* add this string to the cache of texts to draw*/
-
+ /* add this string to the cache of texts to draw */
UI_view2d_text_cache_rectf(v2d, &rect, str, col);
}
+/* add frame extents to cache of text-strings to draw in pixelspace
+ * for now, only used when transforming strips
+ */
+static void nla_draw_strip_frames_text(NlaTrack *UNUSED(nlt), NlaStrip *strip, View2D *v2d, float UNUSED(yminc), float ymaxc)
+{
+ const float ytol = 1.0f; /* small offset to vertical positioning of text, for legibility */
+ const char col[4] = {220, 220, 220, 255}; /* light grey */
+ char str[32] = "";
+
+
+ /* Always draw times above the strip, whereas sequencer drew below + above.
+ * However, we should be fine having everything on top, since these tend to be
+ * quite spaced out.
+ * - 1 dp is compromise between lack of precision (ints only, as per sequencer)
+ * while also preserving some accuracy, since we do use floats
+ */
+ /* start frame */
+ BLI_snprintf(str, sizeof(str), "%.1f", strip->start);
+ UI_view2d_text_cache_add(v2d, strip->start-1.0f, ymaxc+ytol, str, col);
+
+ /* end frame */
+ BLI_snprintf(str, sizeof(str), "%.1f", strip->end);
+ UI_view2d_text_cache_add(v2d, strip->end, ymaxc+ytol, str, col);
+}
+
/* ---------------------- */
void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
@@ -470,10 +542,11 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -482,18 +555,18 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
* - offset of NLACHANNEL_HEIGHT*2 is added to the height of the channels, as first is for
* start of list offset, and the second is as a correction for the scrollers.
*/
- height= ((items*NLACHANNEL_STEP) + (NLACHANNEL_HEIGHT*2));
+ height= ((items*NLACHANNEL_STEP(snla)) + (NLACHANNEL_HEIGHT(snla)*2));
/* don't use totrect set, as the width stays the same
* (NOTE: this is ok here, the configuration is pretty straightforward)
*/
v2d->tot.ymin= (float)(-height);
/* loop through channels, and set up drawing depending on their type */
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
for (ale= anim_data.first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
@@ -515,7 +588,13 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
nla_draw_strip(snla, adt, nlt, strip, v2d, yminc, ymaxc);
/* add the text for this strip to the cache */
- nla_draw_strip_text(nlt, strip, index, v2d, yminc, ymaxc);
+ nla_draw_strip_text(adt, nlt, strip, index, v2d, yminc, ymaxc);
+
+ /* if transforming strips (only real reason for temp-metas currently),
+ * add to the cache the frame numbers of the strip's extents
+ */
+ if (strip->flag & NLASTRIP_FLAG_TEMP_META)
+ nla_draw_strip_frames_text(nlt, strip, v2d, yminc, ymaxc);
}
}
}
@@ -564,7 +643,7 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
}
/* free tempolary channels */
@@ -578,20 +657,23 @@ void draw_nla_main_data (bAnimContext *ac, SpaceNla *snla, ARegion *ar)
// TODO: depreceate this code...
static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, View2D *v2d, float y)
{
+ SpaceNla *snla = (SpaceNla *)ac->sl;
bAnimListElem *ale;
float x = 0.0f;
/* loop through channels, and set up drawing depending on their type */
for (ale= anim_data->first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
const float ydatac= (float)(y - 7);
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
- short indent= 0, offset= 0, sel= 0, group= 0;
+ AnimData *adt = ale->adt;
+
+ short indent= 0, offset= 0, sel= 0, group= 0, nonSolo= 0;
int expand= -1, protect = -1, special= -1, mute = -1;
char name[128];
short doDraw=0;
@@ -602,27 +684,11 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
{
NlaTrack *nlt= (NlaTrack *)ale->data;
- indent= 0;
-
- if (ale->id) {
- /* special exception for materials and particles */
- if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) {
- offset= 21;
- indent= 1;
- }
- else
- offset= 14;
- }
- else
- offset= 0;
-
- /* FIXME: 'solo' as the 'special' button?
- * - need special icons for these
- */
+ /* 'solo' as the 'special' button? */
if (nlt->flag & NLATRACK_SOLO)
- special= ICON_LAYER_ACTIVE;
+ special= ICON_SOLO_ON;
else
- special= ICON_LAYER_USED;
+ special= ICON_SOLO_OFF;
/* if this track is active and we're tweaking it, don't draw these toggles */
// TODO: need a special macro for this...
@@ -638,6 +704,15 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
else
protect = ICON_LOCKED;
}
+
+ /* is track enabled for solo drawing? */
+ if ((adt) && (adt->flag & ADT_NLA_SOLO_TRACK)) {
+ if ((nlt->flag & NLATRACK_SOLO) == 0) {
+ /* tag for special non-solo handling; also hide the mute toggles */
+ nonSolo= 1;
+ mute = 0;
+ }
+ }
sel = SEL_NLT(nlt);
strcpy(name, nlt->name);
@@ -652,24 +727,12 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
group = 5;
- if (ale->id) {
- /* special exception for materials and particles */
- if (ELEM(GS(ale->id->name),ID_MA,ID_PA)) {
- offset= 21;
- indent= 1;
- }
- else
- offset= 14;
- }
- else
- offset= 0;
-
special = ICON_ACTION;
if (act)
- sprintf(name, "ActAction: <%s>", act->id.name+2);
+ BLI_snprintf(name, sizeof(name), "%s", act->id.name+2);
else
- sprintf(name, "<No Action>");
+ BLI_strncpy(name, "<No Action>", sizeof(name));
// draw manually still
doDraw= 1;
@@ -684,6 +747,45 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
/* if special types, draw manually for now... */
if (doDraw) {
+ if (ale->id) {
+ /* special exception for textures */
+ if (GS(ale->id->name) == ID_TE) {
+ offset= 14;
+ indent= 1;
+ }
+ /* special exception for nodetrees */
+ else if (GS(ale->id->name) == ID_NT) {
+ bNodeTree *ntree = (bNodeTree *)ale->id;
+
+ switch (ntree->type) {
+ case NTREE_SHADER:
+ {
+ /* same as for textures */
+ offset= 14;
+ indent= 1;
+ }
+ break;
+
+ case NTREE_TEXTURE:
+ {
+ /* even more */
+ offset= 21;
+ indent= 1;
+ }
+ break;
+
+ default:
+ /* normal will do */
+ offset= 14;
+ break;
+ }
+ }
+ else
+ offset= 14;
+ }
+ else
+ offset= 0;
+
/* now, start drawing based on this information */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
@@ -691,18 +793,19 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
/* draw backing strip behind channel name */
if (group == 5) {
/* Action Line */
- AnimData *adt= ale->adt;
-
// TODO: if tweaking some action, use the same color as for the tweaked track (quick hack done for now)
if (adt && (adt->flag & ADT_NLA_EDIT_ON)) {
// greenish color (same as tweaking strip) - hardcoded for now
glColor3f(0.3f, 0.95f, 0.1f);
}
else {
+ /* if a track is being solo'd, action is ignored, so draw less boldly (alpha lower) */
+ float alpha = (adt && (adt->flag & ADT_NLA_SOLO_TRACK))? 0.3f : 1.0f;
+
if (ale->data)
- glColor3f(0.8f, 0.2f, 0.0f); // reddish color - hardcoded for now
+ glColor4f(0.8f, 0.2f, 0.0f, alpha); // reddish color - hardcoded for now
else
- glColor3f(0.6f, 0.5f, 0.5f); // greyish-red color - hardcoded for now
+ glColor4f(0.6f, 0.5f, 0.5f, alpha); // greyish-red color - hardcoded for now
}
offset += 7 * indent;
@@ -719,10 +822,8 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
group = 0;
}
else {
- /* for normal channels
- * - use 3 shades of color group/standard color for 3 indention level
- */
- UI_ThemeColorShade(TH_HEADER, ((indent==0)?20: (indent==1)?-20: -40));
+ /* NLA tracks - darker color if not solo track when we're showing solo */
+ UI_ThemeColorShade(TH_HEADER, ((nonSolo == 0)? 20 : -20));
indent += group;
offset += 7 * indent;
@@ -816,7 +917,7 @@ static void draw_nla_channel_list_gl (bAnimContext *ac, ListBase *anim_data, Vie
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
}
}
@@ -826,12 +927,14 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ar->v2d;
float y= 0.0f;
- int items, height;
+ size_t items;
+ int height;
/* build list of channels to draw */
- filter= (ANIMFILTER_VISIBLE|ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
items= ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* Update max-extent of channels here (taking into account scrollers):
@@ -840,7 +943,7 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
* - offset of NLACHANNEL_HEIGHT*2 is added to the height of the channels, as first is for
* start of list offset, and the second is as a correction for the scrollers.
*/
- height= ((items*NLACHANNEL_STEP) + (NLACHANNEL_HEIGHT*2));
+ height= ((items*NLACHANNEL_STEP(snla)) + (NLACHANNEL_HEIGHT(snla)*2));
/* don't use totrect set, as the width stays the same
* (NOTE: this is ok here, the configuration is pretty straightforward)
*/
@@ -850,14 +953,15 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
/* draw channels */
{ /* first pass: backdrops + oldstyle drawing */
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
draw_nla_channel_list_gl(ac, &anim_data, v2d, y);
}
{ /* second pass: UI widgets */
uiBlock *block= uiBeginBlock(C, ar, "NLA channel buttons", UI_EMBOSS);
+ size_t channel_index = 0;
- y= (float)(-NLACHANNEL_HEIGHT);
+ y= (float)(-NLACHANNEL_HEIGHT(snla));
/* set blending again, as may not be set in previous step */
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -865,19 +969,20 @@ void draw_nla_channel_list (bContext *C, bAnimContext *ac, ARegion *ar)
/* loop through channels, and set up drawing depending on their type */
for (ale= anim_data.first; ale; ale= ale->next) {
- const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF);
- const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF);
+ const float yminc= (float)(y - NLACHANNEL_HEIGHT_HALF(snla));
+ const float ymaxc= (float)(y + NLACHANNEL_HEIGHT_HALF(snla));
/* check if visible */
if ( IN_RANGE(yminc, v2d->cur.ymin, v2d->cur.ymax) ||
IN_RANGE(ymaxc, v2d->cur.ymin, v2d->cur.ymax) )
{
/* draw all channels using standard channel-drawing API */
- ANIM_channel_draw_widgets(ac, ale, block, yminc, ymaxc);
+ ANIM_channel_draw_widgets(C, ac, ale, block, yminc, ymaxc, channel_index);
}
/* adjust y-position for next one */
- y -= NLACHANNEL_STEP;
+ y -= NLACHANNEL_STEP(snla);
+ channel_index++;
}
uiEndBlock(C, block);
diff --git a/source/blender/editors/space_nla/nla_edit.c b/source/blender/editors/space_nla/nla_edit.c
index 77c91b28a63..08026e8a1d2 100644
--- a/source/blender/editors/space_nla/nla_edit.c
+++ b/source/blender/editors/space_nla/nla_edit.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -36,6 +34,7 @@
#include <math.h>
#include "DNA_anim_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "MEM_guardedalloc.h"
@@ -68,6 +67,7 @@
#include "UI_interface.h"
#include "UI_resources.h"
+#include "UI_view2d.h"
#include "nla_intern.h" // own include
#include "nla_private.h" // FIXME... maybe this shouldn't be included?
@@ -80,7 +80,7 @@ void ED_nla_postop_refresh (bAnimContext *ac)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
/* get blocks to work on */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -116,7 +116,7 @@ static int nlaedit_enable_tweakmode_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* if no blocks, popup error? */
@@ -185,7 +185,7 @@ static int nlaedit_disable_tweakmode_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the AnimData blocks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* if no blocks, popup error? */
@@ -236,6 +236,136 @@ void NLA_OT_tweakmode_exit (wmOperatorType *ot)
}
/* *********************************************** */
+/* NLA Strips Range Stuff */
+
+/* *************************** Calculate Range ************************** */
+
+/* Get the min/max strip extents */
+static void get_nlastrip_extents (bAnimContext *ac, float *min, float *max, const short onlySel)
+{
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ /* get data to filter */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_NODUPLIS);
+ ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
+
+ /* set large values to try to override */
+ *min= 999999999.0f;
+ *max= -999999999.0f;
+
+ /* check if any channels to set range with */
+ if (anim_data.first) {
+ /* go through channels, finding max extents */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ NlaTrack *nlt = (NlaTrack *)ale->data;
+ NlaStrip *strip;
+
+ for (strip = nlt->strips.first; strip; strip = strip->next) {
+ /* only consider selected strips? */
+ if ((onlySel == 0) || (strip->flag & NLASTRIP_FLAG_SELECT)) {
+ /* extend range if appropriate */
+ *min = MIN2(*min, strip->start);
+ *max = MAX2(*max, strip->end);
+ }
+ }
+ }
+
+ /* free memory */
+ BLI_freelistN(&anim_data);
+ }
+ else {
+ /* set default range */
+ if (ac->scene) {
+ *min= (float)ac->scene->r.sfra;
+ *max= (float)ac->scene->r.efra;
+ }
+ else {
+ *min= -5;
+ *max= 100;
+ }
+ }
+}
+
+/* ****************** View-All Operator ****************** */
+
+static int nlaedit_viewall(bContext *C, const short onlySel)
+{
+ bAnimContext ac;
+ View2D *v2d;
+ float extra;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+ v2d= &ac.ar->v2d;
+
+ /* set the horizontal range, with an extra offset so that the extreme keys will be in view */
+ get_nlastrip_extents(&ac, &v2d->cur.xmin, &v2d->cur.xmax, onlySel);
+
+ extra= 0.1f * (v2d->cur.xmax - v2d->cur.xmin);
+ v2d->cur.xmin -= extra;
+ v2d->cur.xmax += extra;
+
+ /* set vertical range */
+ v2d->cur.ymax= 0.0f;
+ v2d->cur.ymin= (float)-(v2d->mask.ymax - v2d->mask.ymin);
+
+ /* do View2D syncing */
+ UI_view2d_sync(CTX_wm_screen(C), CTX_wm_area(C), v2d, V2D_LOCK_COPY);
+
+ /* just redraw this view */
+ ED_area_tag_redraw(CTX_wm_area(C));
+
+ return OPERATOR_FINISHED;
+}
+
+/* ......... */
+
+static int nlaedit_viewall_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ /* whole range */
+ return nlaedit_viewall(C, FALSE);
+}
+
+static int nlaedit_viewsel_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ /* only selected */
+ return nlaedit_viewall(C, TRUE);
+}
+
+void NLA_OT_view_all (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "View All";
+ ot->idname= "NLA_OT_view_all";
+ ot->description= "Reset viewable area to show full strips range";
+
+ /* api callbacks */
+ ot->exec= nlaedit_viewall_exec;
+ ot->poll= ED_operator_nla_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+void NLA_OT_view_selected (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "View Selected";
+ ot->idname= "NLA_OT_view_selected";
+ ot->description= "Reset viewable area to show selected strips range";
+
+ /* api callbacks */
+ ot->exec= nlaedit_viewsel_exec;
+ ot->poll= ED_operator_nla_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* *********************************************** */
/* NLA Editing Operations (Constructive/Destructive) */
/* ******************** Add Action-Clip Operator ***************************** */
@@ -250,7 +380,8 @@ static int nlaedit_add_actionclip_exec (bContext *C, wmOperator *op)
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- int filter, items;
+ size_t items;
+ int filter;
bAction *act;
@@ -281,7 +412,7 @@ static int nlaedit_add_actionclip_exec (bContext *C, wmOperator *op)
/* get a list of the editable tracks being shown in the NLA
* - this is limited to active ones for now, but could be expanded to
*/
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ACTIVE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ACTIVE | ANIMFILTER_FOREDIT);
items= ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
if (items == 0) {
@@ -379,7 +510,7 @@ static int nlaedit_add_transition_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -402,14 +533,17 @@ static int nlaedit_add_transition_exec (bContext *C, wmOperator *op)
if ELEM(0, (s1->flag & NLASTRIP_FLAG_SELECT), (s2->flag & NLASTRIP_FLAG_SELECT))
continue;
/* check if there's space between the two */
- if (IS_EQ(s1->end, s2->start))
+ if (IS_EQF(s1->end, s2->start))
continue;
- /* make neither one is a transition
+ /* make sure neither one is a transition
* - although this is impossible to create with the standard tools,
* the user may have altered the settings
*/
if (ELEM(NLASTRIP_TYPE_TRANSITION, s1->type, s2->type))
continue;
+ /* also make sure neither one is a soundclip */
+ if (ELEM(NLASTRIP_TYPE_SOUND, s1->type, s2->type))
+ continue;
/* allocate new strip */
strip= MEM_callocN(sizeof(NlaStrip), "NlaStrip");
@@ -476,6 +610,91 @@ void NLA_OT_transition_add (wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ******************** Add Sound Clip Operator ***************************** */
+/* Add a new sound clip */
+
+static int nlaedit_add_sound_exec (bContext *C, wmOperator *UNUSED(op))
+{
+ bAnimContext ac;
+
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ Scene *scene;
+ int cfra;
+
+ /* get editor data */
+ if (ANIM_animdata_get_context(C, &ac) == 0)
+ return OPERATOR_CANCELLED;
+
+ scene = ac.scene;
+ cfra = CFRA;
+
+ /* get a list of the editable tracks being shown in the NLA */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* for each track, add sound clips if it belongs to a speaker */
+ // TODO: what happens if there aren't any tracks... well that's a more general problem for later
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ Object *ob = (Object *)ale->id; /* may not be object until we actually check! */
+
+ AnimData *adt = ale->adt;
+ NlaTrack *nlt= (NlaTrack *)ale->data;
+ NlaStrip *strip;
+
+ /* does this belong to speaker - assumed to live on Object level only */
+ if ((GS(ale->id->name) != ID_OB) || (ob->type != OB_SPEAKER))
+ continue;
+
+ /* create a new strip, and offset it to start on the current frame */
+ strip= add_nla_soundstrip(ac.scene, ob->data);
+
+ strip->start += cfra;
+ strip->end += cfra;
+
+ /* firstly try adding strip to our current track, but if that fails, add to a new track */
+ if (BKE_nlatrack_add_strip(nlt, strip) == 0) {
+ /* trying to add to the current failed (no space),
+ * so add a new track to the stack, and add to that...
+ */
+ nlt= add_nlatrack(adt, NULL);
+ BKE_nlatrack_add_strip(nlt, strip);
+ }
+
+ /* auto-name it */
+ BKE_nlastrip_validate_name(adt, strip);
+ }
+
+ /* free temp data */
+ BLI_freelistN(&anim_data);
+
+ /* refresh auto strip properties */
+ ED_nla_postop_refresh(&ac);
+
+ /* set notifier that things have changed */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA|NA_EDITED, NULL);
+
+ /* done */
+ return OPERATOR_FINISHED;
+}
+
+void NLA_OT_soundclip_add (wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Add Sound Clip";
+ ot->idname= "NLA_OT_soundclip_add";
+ ot->description= "Add a strip for controlling when speaker plays its sound clip";
+
+ /* api callbacks */
+ ot->exec= nlaedit_add_sound_exec;
+ ot->poll= nlaop_poll_tweakmode_off;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
/* ******************** Add Meta-Strip Operator ***************************** */
/* Add new meta-strips incorporating the selected strips */
@@ -493,7 +712,7 @@ static int nlaedit_add_meta_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -554,7 +773,7 @@ static int nlaedit_remove_meta_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each track, find pairs of strips to add transitions to */
@@ -610,7 +829,7 @@ static int nlaedit_duplicate_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* duplicate strips in tracks starting from the last one so that we're
@@ -713,7 +932,7 @@ static int nlaedit_delete_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, delete all selected strips */
@@ -794,14 +1013,14 @@ static void nlaedit_split_strip_actclip (AnimData *adt, NlaTrack *nlt, NlaStrip
/* strip extents */
len= strip->end - strip->start;
- if (IS_EQ(len, 0.0f))
+ if (IS_EQF(len, 0.0f))
return;
else
splitframe= strip->start + (len / 2.0f);
/* action range */
len= strip->actend - strip->actstart;
- if (IS_EQ(len, 0.0f))
+ if (IS_EQF(len, 0.0f))
splitaframe= strip->actend;
else
splitaframe= strip->actstart + (len / 2.0f);
@@ -854,7 +1073,7 @@ static int nlaedit_split_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, split all selected strips into two strips */
@@ -930,7 +1149,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_ANIMDATA | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each AnimData block, bake strips to animdata... */
@@ -951,7 +1170,7 @@ static int nlaedit_bake_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_FINISHED;
}
-static void NLA_OT_bake (wmOperatorType *ot)
+void NLA_OT_bake (wmOperatorType *ot)
{
/* identifiers */
ot->name= "Bake Strips";
@@ -985,7 +1204,7 @@ static int nlaedit_toggle_mute_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* go over all selected strips */
@@ -1044,7 +1263,7 @@ static int nlaedit_swap_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* consider each track in turn */
@@ -1202,7 +1421,7 @@ static int nlaedit_move_up_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* since we're potentially moving strips from lower tracks to higher tracks, we should
@@ -1276,7 +1495,7 @@ static int nlaedit_move_down_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* loop through the tracks in normal order, since we're pushing strips down,
@@ -1351,7 +1570,7 @@ static int nlaedit_sync_actlen_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
if (active_only) filter |= ANIMFILTER_ACTIVE;
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -1446,7 +1665,7 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* init the editing data */
@@ -1473,7 +1692,7 @@ static int nlaedit_apply_scale_exec (bContext *C, wmOperator *UNUSED(op))
/* setup iterator, and iterate over all the keyframes in the action, applying this scaling */
ked.data= strip;
- ANIM_animchanneldata_keyframes_loop(&ked, strip->act, ALE_ACT, NULL, bezt_apply_nlamapping, calchandles_fcurve, 0);
+ ANIM_animchanneldata_keyframes_loop(&ked, ac.ads, strip->act, ALE_ACT, NULL, bezt_apply_nlamapping, calchandles_fcurve);
/* clear scale of strip now that it has been applied,
* and recalculate the extents of the action now that it has been scaled
@@ -1526,7 +1745,7 @@ static int nlaedit_clear_scale_exec (bContext *C, wmOperator *UNUSED(op))
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, reset scale of all selected strips */
@@ -1602,7 +1821,7 @@ static int nlaedit_snap_exec (bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* get some necessary vars */
@@ -1639,10 +1858,10 @@ static int nlaedit_snap_exec (bContext *C, wmOperator *op)
strip->start= (float)CFRA;
break;
case NLAEDIT_SNAP_NEAREST_FRAME: /* to nearest frame */
- strip->start= (float)(floor(start+0.5));
+ strip->start= floorf(start+0.5f);
break;
case NLAEDIT_SNAP_NEAREST_SECOND: /* to nearest second */
- strip->start= ((float)floor(start/secf + 0.5f) * secf);
+ strip->start= floorf(start/secf + 0.5f) * secf;
break;
case NLAEDIT_SNAP_NEAREST_MARKER: /* to nearest marker */
strip->start= (float)ED_markers_find_nearest_marker_time(ac.markers, start);
@@ -1770,7 +1989,7 @@ static int nla_fmodifier_add_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
@@ -1791,6 +2010,10 @@ static int nla_fmodifier_add_exec(bContext *C, wmOperator *op)
continue;
}
+ /* sound clips are not affected by FModifiers */
+ if (strip->type == NLASTRIP_TYPE_SOUND)
+ continue;
+
/* add F-Modifier of specified type to selected, and make it the active one */
fcm= add_fmodifier(&strip->modifiers, type);
@@ -1851,7 +2074,7 @@ static int nla_fmodifier_copy_exec(bContext *C, wmOperator *op)
free_fmodifiers_copybuf();
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
@@ -1910,7 +2133,7 @@ static int nla_fmodifier_paste_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
/* get a list of the editable tracks being shown in the NLA */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_SEL | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* for each NLA-Track, add the specified modifier to all selected strips */
diff --git a/source/blender/editors/space_nla/nla_intern.h b/source/blender/editors/space_nla/nla_intern.h
index dba7fca8d0f..ec2e22e65fa 100644
--- a/source/blender/editors/space_nla/nla_intern.h
+++ b/source/blender/editors/space_nla/nla_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -94,8 +92,12 @@ void NLA_OT_tweakmode_exit(wmOperatorType *ot);
/* --- */
+void NLA_OT_view_all(wmOperatorType *ot);
+void NLA_OT_view_selected(wmOperatorType *ot);
+
void NLA_OT_actionclip_add(wmOperatorType *ot);
void NLA_OT_transition_add(wmOperatorType *ot);
+void NLA_OT_soundclip_add(wmOperatorType *ot);
void NLA_OT_meta_add(wmOperatorType *ot);
void NLA_OT_meta_remove(wmOperatorType *ot);
diff --git a/source/blender/editors/space_nla/nla_ops.c b/source/blender/editors/space_nla/nla_ops.c
index 85dcf14adac..821e302c13d 100644
--- a/source/blender/editors/space_nla/nla_ops.c
+++ b/source/blender/editors/space_nla/nla_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -45,6 +43,7 @@
#include "BKE_screen.h"
#include "ED_anim_api.h"
+#include "ED_markers.h"
#include "ED_screen.h"
#include "ED_transform.h"
@@ -129,12 +128,17 @@ void nla_operatortypes(void)
WM_operatortype_append(NLA_OT_select_all_toggle);
WM_operatortype_append(NLA_OT_select_leftright);
+ /* view */
+ WM_operatortype_append(NLA_OT_view_all);
+ WM_operatortype_append(NLA_OT_view_selected);
+
/* edit */
WM_operatortype_append(NLA_OT_tweakmode_enter);
WM_operatortype_append(NLA_OT_tweakmode_exit);
WM_operatortype_append(NLA_OT_actionclip_add);
WM_operatortype_append(NLA_OT_transition_add);
+ WM_operatortype_append(NLA_OT_soundclip_add);
WM_operatortype_append(NLA_OT_meta_add);
WM_operatortype_append(NLA_OT_meta_remove);
@@ -211,6 +215,11 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0)->ptr, "axis_range", 1);
+ /* view*/
+ /* auto-set range */
+ //WM_keymap_add_item(keymap, "NLA_OT_previewrange_set", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_view_all", HOMEKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_view_selected", PADPERIOD, KM_PRESS, 0, 0);
/* editing */
/* tweakmode
@@ -223,6 +232,7 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* add strips */
WM_keymap_add_item(keymap, "NLA_OT_actionclip_add", AKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NLA_OT_transition_add", TKEY, KM_PRESS, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "NLA_OT_soundclip_add", KKEY, KM_PRESS, KM_SHIFT, 0);
/* meta-strips */
WM_keymap_add_item(keymap, "NLA_OT_meta_add", GKEY, KM_PRESS, KM_SHIFT, 0);
@@ -262,6 +272,9 @@ static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
/* transform system */
transform_keymap_for_space(keyconf, keymap, SPACE_NLA);
+
+ /* special markers hotkeys for anim editors: see note in definition of this function */
+ ED_marker_keymap_animedit_conflictfree(keymap);
}
/* --------------- */
diff --git a/source/blender/editors/space_nla/nla_select.c b/source/blender/editors/space_nla/nla_select.c
index 8ef63b9a83d..c33316620eb 100644
--- a/source/blender/editors/space_nla/nla_select.c
+++ b/source/blender/editors/space_nla/nla_select.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -114,7 +112,8 @@ static void deselect_nla_strips (bAnimContext *ac, short test, short sel)
short smode;
/* determine type-based settings */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS);
+ // FIXME: double check whether ANIMFILTER_LIST_VISIBLE is needed!
+ filter= (ANIMFILTER_DATA_VISIBLE);
/* filter data */
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
@@ -224,16 +223,17 @@ static void borderselect_nla_strips (bAnimContext *ac, rcti rect, short mode, sh
bAnimListElem *ale;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
rctf rectf;
- float ymin=(float)(-NLACHANNEL_HEIGHT), ymax=0;
+ float ymin=(float)(-NLACHANNEL_HEIGHT(snla)), ymax=0;
/* convert border-region to view coordinates */
UI_view2d_region_to_view(v2d, rect.xmin, rect.ymin+2, &rectf.xmin, &rectf.ymin);
UI_view2d_region_to_view(v2d, rect.xmax, rect.ymax-2, &rectf.xmax, &rectf.ymax);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* convert selection modes to selection modes */
@@ -241,7 +241,7 @@ static void borderselect_nla_strips (bAnimContext *ac, rcti rect, short mode, sh
/* loop over data, doing border select */
for (ale= anim_data.first; ale; ale= ale->next) {
- ymin= ymax - NLACHANNEL_STEP;
+ ymin= ymax - NLACHANNEL_STEP(snla);
/* perform vertical suitability check (if applicable) */
if ( (mode == NLA_BORDERSEL_FRAMERANGE) ||
@@ -395,7 +395,7 @@ static void nlaedit_select_leftright (bContext *C, bAnimContext *ac, short leftr
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* select strips on the side where most data occurs */
@@ -504,6 +504,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
bAnimListElem *ale = NULL;
int filter;
+ SpaceNla *snla = (SpaceNla *)ac->sl;
View2D *v2d= &ac->ar->v2d;
Scene *scene= ac->scene;
NlaStrip *strip = NULL;
@@ -514,7 +515,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
/* use View2D to determine the index of the channel (i.e a row in the list) where keyframe was */
UI_view2d_region_to_view(v2d, mval[0], mval[1], &x, &y);
- UI_view2d_listview_view_to_cell(v2d, 0, NLACHANNEL_STEP, 0, (float)NLACHANNEL_HEIGHT_HALF, x, y, NULL, &channel_index);
+ UI_view2d_listview_view_to_cell(v2d, 0, NLACHANNEL_STEP(snla), 0, (float)NLACHANNEL_HEIGHT_HALF(snla), x, y, NULL, &channel_index);
/* x-range to check is +/- 7 (in screen/region-space) on either side of mouse click
* (that is the size of keyframe icons, so user should be expecting similar tolerances)
@@ -523,7 +524,7 @@ static void mouse_nla_strips (bContext *C, bAnimContext *ac, const int mval[2],
UI_view2d_region_to_view(v2d, mval[0]+7, mval[1], &xmax, &dummy);
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_CHANNELS);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_LIST_CHANNELS);
ANIM_animdata_filter(ac, &anim_data, filter, ac->data, ac->datatype);
/* try to get channel */
diff --git a/source/blender/editors/space_nla/space_nla.c b/source/blender/editors/space_nla/space_nla.c
index f2e0abe1e60..48859acff6a 100644
--- a/source/blender/editors/space_nla/space_nla.c
+++ b/source/blender/editors/space_nla/space_nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_node/CMakeLists.txt b/source/blender/editors/space_node/CMakeLists.txt
index 9172bc4e9eb..dcd6bcd3403 100644
--- a/source/blender/editors/space_node/CMakeLists.txt
+++ b/source/blender/editors/space_node/CMakeLists.txt
@@ -23,14 +23,14 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../nodes
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/opennl/extern
)
diff --git a/source/blender/editors/space_node/SConscript b/source/blender/editors/space_node/SConscript
index 634d4b777d9..c4309dcfca3 100644
--- a/source/blender/editors/space_node/SConscript
+++ b/source/blender/editors/space_node/SConscript
@@ -15,7 +15,7 @@ if env['CC'] == 'gcc':
#cf.append('-Werror')
pass
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/editors/space_node/drawnode.c b/source/blender/editors/space_node/drawnode.c
index 17cfc7d8f95..0d2ec7c646f 100644
--- a/source/blender/editors/space_node/drawnode.c
+++ b/source/blender/editors/space_node/drawnode.c
@@ -53,9 +53,10 @@
#include "BKE_image.h"
#include "BKE_library.h"
#include "BKE_main.h"
+#include "BKE_node.h"
-#include "CMP_node.h"
-#include "SHD_node.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
@@ -81,6 +82,141 @@
#include "node_intern.h"
+// XXX interface.h
+extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+
+/* ****************** SOCKET BUTTON DRAW FUNCTIONS ***************** */
+
+static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v)
+{
+ SpaceNode *snode= snode_v;
+
+ if(snode->treetype==NTREE_SHADER) {
+ nodeShaderSynchronizeID(node_v, 1);
+ // allqueue(REDRAWBUTSSHADING, 0);
+ }
+}
+
+void node_socket_button_default(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ uiBut *bt;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ bt = uiDefButR(block, NUM, B_NODE_EXEC, name,
+ x, y+1, width, NODE_DY-2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ if (node)
+ uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
+}
+
+typedef struct SocketComponentMenuArgs {
+ PointerRNA ptr;
+ int x, y, width;
+ uiButHandleFunc cb;
+ void *arg1, *arg2;
+} SocketComponentMenuArgs;
+/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
+static uiBlock *socket_component_menu(bContext *C, ARegion *ar, void *args_v)
+{
+ SocketComponentMenuArgs *args= (SocketComponentMenuArgs*)args_v;
+ uiBlock *block;
+ uiLayout *layout;
+
+ 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, NODE_DY, U.uistyles.first), 0);
+
+ uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
+
+ return block;
+}
+void node_socket_button_components(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ SocketComponentMenuArgs *args;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ args= MEM_callocN(sizeof(SocketComponentMenuArgs), "SocketComponentMenuArgs");
+
+ args->ptr = ptr;
+ args->x = x;
+ args->y = y;
+ args->width = width;
+ args->cb = node_sync_cb;
+ args->arg1 = CTX_wm_space_node(C);
+ args->arg2 = node;
+
+ uiDefBlockButN(block, socket_component_menu, args, name, x, y+1, width, NODE_DY-2, "");
+}
+
+void node_socket_button_color(const bContext *C, uiBlock *block,
+ bNodeTree *ntree, bNode *node, bNodeSocket *sock,
+ const char *name, int x, int y, int width)
+{
+ PointerRNA ptr;
+ uiBut *bt;
+ int labelw= width - 40;
+
+ RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
+
+ bt=uiDefButR(block, COL, B_NODE_EXEC, "",
+ x, y+2, (labelw>0 ? 40 : width), NODE_DY-2,
+ &ptr, "default_value", 0, 0, 0, -1, -1, NULL);
+ if (node)
+ uiButSetFunc(bt, node_sync_cb, CTX_wm_space_node(C), node);
+
+ if (name[0]!='\0' && labelw>0)
+ uiDefBut(block, LABEL, 0, name, x + 40, y+2, labelw, NODE_DY-2, NULL, 0, 0, 0, 0, "");
+}
+
+/* ****************** BASE DRAW FUNCTIONS FOR NEW OPERATOR NODES ***************** */
+
+void node_draw_socket_new(bNodeSocket *sock, float size)
+{
+ float x=sock->locx, y=sock->locy;
+
+ /* 16 values of sin function */
+ static float si[16] = {
+ 0.00000000f, 0.39435585f,0.72479278f,0.93775213f,
+ 0.99871650f,0.89780453f,0.65137248f,0.29936312f,
+ -0.10116832f,-0.48530196f,-0.79077573f,-0.96807711f,
+ -0.98846832f,-0.84864425f,-0.57126821f,-0.20129852f
+ };
+ /* 16 values of cos function */
+ static float co[16] ={
+ 1.00000000f,0.91895781f,0.68896691f,0.34730525f,
+ -0.05064916f,-0.44039415f,-0.75875812f,-0.95413925f,
+ -0.99486932f,-0.87434661f,-0.61210598f,-0.25065253f,
+ 0.15142777f,0.52896401f,0.82076344f,0.97952994f,
+ };
+ int a;
+
+ glColor3ub(180, 180, 180);
+
+ glBegin(GL_POLYGON);
+ for(a=0; a<16; a++)
+ glVertex2f(x+size*si[a], y+size*co[a]);
+ glEnd();
+
+ glColor4ub(0, 0, 0, 150);
+ glEnable(GL_BLEND);
+ glEnable( GL_LINE_SMOOTH );
+ glBegin(GL_LINE_LOOP);
+ for(a=0; a<16; a++)
+ glVertex2f(x+size*si[a], y+size*co[a]);
+ glEnd();
+ glDisable( GL_LINE_SMOOTH );
+ glDisable(GL_BLEND);
+}
+
/* ****************** BUTTON CALLBACKS FOR ALL TREES ***************** */
static void node_buts_value(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
@@ -192,11 +328,12 @@ static void node_buts_normal(uiLayout *layout, bContext *UNUSED(C), PointerRNA *
bNode *node= ptr->data;
rctf *butr= &node->butr;
bNodeSocket *sock= node->outputs.first; /* first socket stores normal */
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
uiBut *bt;
bt= uiDefButF(block, BUT_NORMAL, B_NODE_EXEC, "",
(short)butr->xmin, (short)butr->xmin, butr->xmax-butr->xmin, butr->xmax-butr->xmin,
- sock->ns.vec, 0.0f, 1.0f, 0, 0, "");
+ nor, 0.0f, 1.0f, 0, 0, "");
uiButSetFunc(bt, node_normal_cb, ntree, node);
}
#if 0 // not used in 2.5x yet
@@ -287,6 +424,470 @@ static void node_buts_math(uiLayout *layout, bContext *UNUSED(C), PointerRNA *pt
uiItemR(layout, ptr, "operation", 0, "", ICON_NONE);
}
+static int node_resize_area_default(bNode *node, int x, int y)
+{
+ if (node->flag & NODE_HIDDEN) {
+ rctf totr= node->totr;
+ /* right part of node */
+ totr.xmin= node->totr.xmax-20.0f;
+ return BLI_in_rctf(&totr, x, y);
+ }
+ else {
+ /* rect we're interested in is just the bottom right corner */
+ rctf totr= node->totr;
+ /* bottom right corner */
+ totr.xmin= totr.xmax-10.0f;
+ totr.ymax= totr.ymin+10.0f;
+ return BLI_in_rctf(&totr, x, y);
+ }
+}
+
+/* ****************** BUTTON CALLBACKS FOR COMMON NODES ***************** */
+
+/* width of socket columns in group display */
+#define NODE_GROUP_FRAME 120
+
+/* based on settings in node, sets drawing rect info. each redraw! */
+/* note: this assumes only 1 group at a time is drawn (linked data) */
+/* in node->totr the entire boundbox for the group is stored */
+static void node_update_group(const bContext *C, bNodeTree *ntree, bNode *gnode)
+{
+ if (!(gnode->flag & NODE_GROUP_EDIT)) {
+ node_update_default(C, ntree, gnode);
+ }
+ else {
+ bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNode *node;
+ bNodeSocket *sock, *gsock;
+ float locx, locy;
+ rctf *rect= &gnode->totr;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ int counter;
+ int dy;
+
+ /* get "global" coords */
+ nodeSpaceCoords(gnode, &locx, &locy);
+
+ /* center them, is a bit of abuse of locx and locy though */
+ node_update_nodetree(C, ngroup, locx, locy);
+
+ rect->xmin = rect->xmax = locx;
+ rect->ymin = rect->ymax = locy;
+
+ counter= 1;
+ for(node= ngroup->nodes.first; node; node= node->next) {
+ if(counter) {
+ *rect= node->totr;
+ counter= 0;
+ }
+ else
+ BLI_union_rctf(rect, &node->totr);
+ }
+
+ /* add some room for links to group sockets */
+ rect->xmin -= 4*NODE_DY;
+ rect->xmax += 4*NODE_DY;
+ rect->ymin-= NODE_DY;
+ rect->ymax+= NODE_DY;
+
+ /* input sockets */
+ dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->inputs)-1);
+ gsock=ngroup->inputs.first;
+ sock=gnode->inputs.first;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ sock->locx = rect->xmin - node_group_frame;
+ sock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ gsock->locx = rect->xmin;
+ gsock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ gsock = gsock->next;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ gsock->locx = rect->xmin;
+ sock->locx = rect->xmin - node_group_frame;
+ sock->locy = gsock->locy = dy;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ gsock = gsock->next;
+ }
+ }
+
+ /* output sockets */
+ dy = 0.5f*(rect->ymin+rect->ymax) + NODE_DY*(BLI_countlist(&gnode->outputs)-1);
+ gsock=ngroup->outputs.first;
+ sock=gnode->outputs.first;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ sock->locx = rect->xmax + node_group_frame;
+ sock->locy = dy - NODE_DYS;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ gsock->locx = rect->xmax;
+ gsock->locy = dy - NODE_DYS;
+
+ /* prevent long socket lists from growing out of the group box */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ gsock = gsock->next;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ gsock->locx = rect->xmax;
+ 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 */
+ if (dy-3*NODE_DYS < rect->ymin)
+ rect->ymin = dy-3*NODE_DYS;
+ if (dy+3*NODE_DYS > rect->ymax)
+ rect->ymax = dy+3*NODE_DYS;
+ dy -= 2*NODE_DY;
+
+ sock = sock->next;
+ gsock = gsock->next;
+ }
+ }
+ }
+}
+
+static void update_group_input_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
+{
+ bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ngroup);
+}
+
+static void update_group_output_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
+{
+ bNodeTree *ngroup= (bNodeTree*)ngroup_v;
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ngroup);
+}
+
+static void draw_group_socket_name(SpaceNode *snode, bNode *gnode, bNodeSocket *sock, int in_out, float xoffset, float yoffset)
+{
+ bNodeTree *ngroup= (bNodeTree*)gnode->id;
+ uiBut *bt;
+
+ if (sock->flag & SOCK_DYNAMIC) {
+ bt = uiDefBut(gnode->block, TEX, 0, "",
+ sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+ sock->name, 0, 31, 0, 0, "");
+ if (in_out==SOCK_IN)
+ uiButSetFunc(bt, update_group_input_cb, snode, ngroup);
+ else
+ uiButSetFunc(bt, update_group_output_cb, snode, ngroup);
+ }
+ else {
+ uiDefBut(gnode->block, LABEL, 0, sock->name,
+ sock->locx+xoffset, sock->locy+1+yoffset, 72, NODE_DY,
+ NULL, 0, 31, 0, 0, "");
+ }
+}
+
+static void draw_group_socket(const bContext *C, SpaceNode *snode, bNodeTree *ntree, bNode *gnode, bNodeSocket *sock, bNodeSocket *gsock, int index, int in_out)
+{
+ bNodeTree *ngroup= (bNodeTree*)gnode->id;
+ bNodeSocketType *stype= ntreeGetSocketType(gsock ? gsock->type : sock->type);
+ uiBut *bt;
+ float offset;
+ int draw_value;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ float socket_size= NODE_SOCKSIZE*U.dpi/72;
+ float arrowbutw= 0.8f*UI_UNIT_X;
+ /* layout stuff for buttons on group left frame */
+ float colw= 0.6f*node_group_frame;
+ float col1= 6 - node_group_frame;
+ float col2= col1 + colw+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;
+
+ /* node and group socket circles */
+ if (sock)
+ node_socket_circle_draw(ntree, sock, socket_size);
+ if (gsock)
+ node_socket_circle_draw(ngroup, gsock, socket_size);
+
+ /* socket name */
+ offset = (in_out==SOCK_IN ? col1 : cor3);
+ if (!gsock)
+ offset += (in_out==SOCK_IN ? node_group_frame : -node_group_frame);
+
+ /* draw both name and value button if:
+ * 1) input: not internal
+ * 2) output: (node type uses const outputs) and (group output is unlinked)
+ */
+ switch (in_out) {
+ case SOCK_IN:
+ draw_value = !(gsock && (gsock->flag & SOCK_INTERNAL));
+ break;
+ case SOCK_OUT:
+ if (gnode->typeinfo->flag & NODE_CONST_OUTPUT)
+ draw_value = !(gsock && gsock->link);
+ else
+ draw_value = 0;
+ break;
+ }
+ if (draw_value) {
+ /* both name and value buttons */
+ if (gsock) {
+ draw_group_socket_name(snode, gnode, gsock, in_out, offset, 0);
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, gsock, "", gsock->locx+offset, gsock->locy-NODE_DY, colw);
+ }
+ else {
+ draw_group_socket_name(snode, gnode, sock, in_out, offset, 0);
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, gnode->block, ngroup, NULL, sock, "", sock->locx+offset, sock->locy-NODE_DY, colw);
+ }
+ }
+ else {
+ /* only name, no value button */
+ if (gsock)
+ draw_group_socket_name(snode, gnode, gsock, in_out, offset, -NODE_DYS);
+ else
+ draw_group_socket_name(snode, gnode, sock, in_out, offset, -NODE_DYS);
+ }
+
+ if (gsock && (gsock->flag & SOCK_DYNAMIC)) {
+ /* up/down buttons */
+ offset = (in_out==SOCK_IN ? col2 : cor2);
+ uiBlockSetDirection(gnode->block, UI_TOP);
+ uiBlockBeginAlign(gnode->block);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_up", 0, ICON_TRIA_UP,
+ gsock->locx+offset, gsock->locy, arrowbutw, arrowbutw, "");
+ if (!gsock->prev || !(gsock->prev->flag & SOCK_DYNAMIC))
+ uiButSetFlag(bt, UI_BUT_DISABLED);
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_move_down", 0, ICON_TRIA_DOWN,
+ gsock->locx+offset, gsock->locy-arrowbutw, arrowbutw, arrowbutw, "");
+ if (!gsock->next || !(gsock->next->flag & SOCK_DYNAMIC))
+ uiButSetFlag(bt, UI_BUT_DISABLED);
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ uiBlockEndAlign(gnode->block);
+ uiBlockSetDirection(gnode->block, 0);
+
+ /* remove button */
+ offset = (in_out==SOCK_IN ? col3 : col1);
+ uiBlockSetEmboss(gnode->block, UI_EMBOSSN);
+ bt = uiDefIconButO(gnode->block, BUT, "NODE_OT_group_socket_remove", 0, ICON_X,
+ gsock->locx+offset, gsock->locy-0.5f*arrowbutw, arrowbutw, arrowbutw, "");
+ RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
+ RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", in_out);
+ uiBlockSetEmboss(gnode->block, UI_EMBOSS);
+ }
+}
+
+/* groups are, on creation, centered around 0,0 */
+static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
+{
+ if (!(gnode->flag & NODE_GROUP_EDIT)) {
+ node_draw_default(C, ar, snode, ntree, gnode);
+ }
+ else {
+ bNodeTree *ngroup= (bNodeTree *)gnode->id;
+ bNodeSocket *sock, *gsock;
+ uiLayout *layout;
+ PointerRNA ptr;
+ rctf rect= gnode->totr;
+ float node_group_frame= U.dpi*NODE_GROUP_FRAME/72;
+ float group_header= 26*U.dpi/72;
+
+ 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+group_header, BASIS_RAD);
+
+ /* backdrop body */
+ UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
+ uiSetRoundBox(0);
+ uiDrawBox(GL_POLYGON, rect.xmin, rect.ymin, rect.xmax, rect.ymax, BASIS_RAD);
+
+ /* 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);
+
+ /* 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);
+
+ /* input column separator */
+ glColor4ub(200, 200, 200, 140);
+ glBegin(GL_LINES);
+ glVertex2f(rect.xmin, rect.ymin);
+ glVertex2f(rect.xmin, rect.ymax);
+ glEnd();
+
+ /* output column separator */
+ glColor4ub(200, 200, 200, 140);
+ glBegin(GL_LINES);
+ glVertex2f(rect.xmax, rect.ymin);
+ glVertex2f(rect.xmax, rect.ymax);
+ glEnd();
+
+ /* group node outline */
+ 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+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+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);
+
+ /* draw the internal tree nodes and links */
+ node_draw_nodetree(C, ar, snode, ngroup);
+
+ /* group sockets */
+ gsock=ngroup->inputs.first;
+ sock=gnode->inputs.first;
+ index = 0;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_IN);
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_IN);
+ gsock = gsock->next;
+ ++index;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_IN);
+ sock = sock->next;
+ gsock = gsock->next;
+ ++index;
+ }
+ }
+ gsock=ngroup->outputs.first;
+ sock=gnode->outputs.first;
+ index = 0;
+ while (gsock || sock) {
+ while (sock && !sock->groupsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, NULL, index, SOCK_OUT);
+ sock = sock->next;
+ }
+ while (gsock && (!sock || sock->groupsock!=gsock)) {
+ draw_group_socket(C, snode, ntree, gnode, NULL, gsock, index, SOCK_OUT);
+ gsock = gsock->next;
+ ++index;
+ }
+ while (sock && gsock && sock->groupsock==gsock) {
+ draw_group_socket(C, snode, ntree, gnode, sock, gsock, index, SOCK_OUT);
+ sock = sock->next;
+ gsock = gsock->next;
+ ++index;
+ }
+ }
+
+ uiEndBlock(C, gnode->block);
+ uiDrawBlock(C, gnode->block);
+ gnode->block= NULL;
+ }
+}
+
+static void node_common_buts_whileloop(uiLayout *layout, bContext *UNUSED(C), PointerRNA *ptr)
+{
+ uiItemR(layout, ptr, "max_iterations", 0, NULL, 0);
+}
+
+static void node_update_frame(const bContext *UNUSED(C), bNodeTree *UNUSED(ntree), bNode *node)
+{
+ float locx, locy;
+
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+
+ node->prvr.xmin= locx + NODE_DYS;
+ node->prvr.xmax= locx + node->width- NODE_DYS;
+
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + node->width;
+ node->totr.ymax= locy;
+ node->totr.ymin= locy - node->height;
+}
+
+static void node_common_set_butfunc(bNodeType *ntype)
+{
+ switch(ntype->type) {
+ case NODE_GROUP:
+// ntype->uifunc= node_common_buts_group;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_FORLOOP:
+// ntype->uifunc= node_common_buts_group;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_WHILELOOP:
+ ntype->uifunc= node_common_buts_whileloop;
+ ntype->drawfunc= node_draw_group;
+ ntype->drawupdatefunc= node_update_group;
+ break;
+ case NODE_FRAME:
+ ntype->drawupdatefunc= node_update_frame;
+ break;
+ }
+}
+
/* ****************** BUTTON CALLBACKS FOR SHADER NODES ***************** */
static void node_browse_text_cb(bContext *C, void *ntree_v, void *node_v)
@@ -423,6 +1024,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" */
@@ -469,9 +1071,8 @@ static void node_shader_set_butfunc(bNodeType *ntype)
case NODE_DYNAMIC:
ntype->uifunc= node_shader_buts_dynamic;
break;
- default:
- ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
}
/* ****************** BUTTON CALLBACKS FOR COMPOSITE NODES ***************** */
@@ -1036,6 +1637,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 +1677,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 +1812,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;
@@ -1195,9 +1824,9 @@ static void node_composit_set_butfunc(bNodeType *ntype)
case CMP_NODE_SEPYCCA:
ntype->uifunc=node_composit_buts_ycc;
break;
- default:
- ntype->uifunc= NULL;
}
+ if (ntype->uifuncbut == NULL) ntype->uifuncbut = ntype->uifunc;
+
}
/* ****************** BUTTON CALLBACKS FOR TEXTURE NODES ***************** */
@@ -1308,6 +1937,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;
}
@@ -1348,34 +1978,68 @@ static void node_texture_set_butfunc(bNodeType *ntype)
case TEX_NODE_OUTPUT:
ntype->uifunc = node_texture_buts_output;
break;
-
- 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 ************* */
void ED_init_node_butfuncs(void)
{
+ bNodeTreeType *treetype;
bNodeType *ntype;
-
- /* shader nodes */
- ntype= node_all_shaders.first;
- while(ntype) {
- node_shader_set_butfunc(ntype);
- ntype= ntype->next;
- }
- /* composit nodes */
- ntype= node_all_composit.first;
- while(ntype) {
- node_composit_set_butfunc(ntype);
- ntype= ntype->next;
+ bNodeSocketType *stype;
+ int i;
+
+ /* node type ui functions */
+ for (i=0; i < NUM_NTREE_TYPES; ++i) {
+ treetype = ntreeGetType(i);
+ if (treetype) {
+ for (ntype= treetype->node_types.first; ntype; ntype= ntype->next) {
+ /* default ui functions */
+ ntype->drawfunc = node_draw_default;
+ ntype->drawupdatefunc = node_update_default;
+ ntype->uifunc = NULL;
+ ntype->uifuncbut = NULL;
+ ntype->resize_area_func = node_resize_area_default;
+
+ node_common_set_butfunc(ntype);
+
+ switch (i) {
+ case NTREE_COMPOSIT:
+ node_composit_set_butfunc(ntype);
+ break;
+ case NTREE_SHADER:
+ node_shader_set_butfunc(ntype);
+ break;
+ case NTREE_TEXTURE:
+ node_texture_set_butfunc(ntype);
+ break;
+ }
+ }
+ }
}
- ntype = node_all_textures.first;
- while(ntype) {
- node_texture_set_butfunc(ntype);
- ntype= ntype->next;
+
+ /* socket type ui functions */
+ for (i=0; i < NUM_SOCKET_TYPES; ++i) {
+ stype = ntreeGetSocketType(i);
+ if (stype) {
+ switch(stype->type) {
+ case SOCK_FLOAT:
+ case SOCK_INT:
+ case SOCK_BOOLEAN:
+ stype->buttonfunc = node_socket_button_default;
+ break;
+ case SOCK_VECTOR:
+ stype->buttonfunc = node_socket_button_components;
+ break;
+ case SOCK_RGBA:
+ stype->buttonfunc = node_socket_button_color;
+ break;
+ default:
+ stype->buttonfunc = NULL;
+ }
+ }
}
}
@@ -1734,8 +2398,8 @@ int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, floa
vec[3][0]= snode->mx;
vec[3][1]= snode->my;
}
-
- dist= 0.5f*ABS(vec[0][0] - vec[3][0]);
+
+ dist= UI_GetThemeValue(TH_NODE_CURVING)*0.10f*ABS(vec[0][0] - vec[3][0]);
/* check direction later, for top sockets */
vec[1][0]= vec[0][0]+dist;
@@ -1806,6 +2470,69 @@ void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int t
}
}
+static void node_link_straight_points(View2D *UNUSED(v2d), SpaceNode *snode, bNodeLink *link, float coord_array[][2])
+{
+ if(link->fromsock) {
+ coord_array[0][0]= link->fromsock->locx;
+ coord_array[0][1]= link->fromsock->locy;
+ }
+ else {
+ if(snode==NULL) return;
+ coord_array[0][0]= snode->mx;
+ coord_array[0][1]= snode->my;
+ }
+ if(link->tosock) {
+ coord_array[1][0]= link->tosock->locx;
+ coord_array[1][1]= link->tosock->locy;
+ }
+ else {
+ if(snode==NULL) return;
+ coord_array[1][0]= snode->mx;
+ coord_array[1][1]= snode->my;
+ }
+}
+
+void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 )
+{
+ float coord_array[2][2];
+ float linew;
+ int i;
+
+ node_link_straight_points(v2d, snode, link, coord_array);
+
+ /* store current linewidth */
+ glGetFloatv(GL_LINE_WIDTH, &linew);
+
+ glEnable(GL_LINE_SMOOTH);
+
+ if(do_triple) {
+ UI_ThemeColorShadeAlpha(th_col3, -80, -120);
+ glLineWidth(4.0f);
+
+ glBegin(GL_LINES);
+ glVertex2fv(coord_array[0]);
+ glVertex2fv(coord_array[1]);
+ glEnd();
+ }
+
+ UI_ThemeColor(th_col1);
+ glLineWidth(1.5f);
+
+ glBegin(GL_LINE_STRIP);
+ for (i=0; i < LINK_RESOL; ++i) {
+ float t= (float)i/(float)(LINK_RESOL-1);
+ if(do_shaded)
+ UI_ThemeColorBlend(th_col1, th_col2, t);
+ glVertex2f((1.0f-t)*coord_array[0][0]+t*coord_array[1][0], (1.0f-t)*coord_array[0][1]+t*coord_array[1][1]);
+ }
+ glEnd();
+
+ glDisable(GL_LINE_SMOOTH);
+
+ /* restore previuos linewidth */
+ glLineWidth(linew);
+}
+
/* note; this is used for fake links in groups too */
void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
{
@@ -1834,11 +2561,18 @@ 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;
+ if((link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) && (link->flag & NODE_LINK_VALID)) {
+ /* 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;
}
@@ -1849,6 +2583,5 @@ void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link)
}
node_draw_link_bezier(v2d, snode, link, th_col1, do_shaded, th_col2, do_triple, th_col3);
+// node_draw_link_straight(v2d, snode, link, th_col1, do_shaded, th_col2, do_triple, th_col3);
}
-
-
diff --git a/source/blender/editors/space_node/node_buttons.c b/source/blender/editors/space_node/node_buttons.c
index 684961f2606..7b14e35e8fe 100644
--- a/source/blender/editors/space_node/node_buttons.c
+++ b/source/blender/editors/space_node/node_buttons.c
@@ -116,9 +116,11 @@ static void active_node_panel(const bContext *C, Panel *pa)
uiItemS(layout);
uiItemR(layout, &ptr, "name", 0, NULL, ICON_NODE);
uiItemS(layout);
-
+
/* draw this node's settings */
- if (node->typeinfo && node->typeinfo->uifunc)
+ if (node->typeinfo && node->typeinfo->uifuncbut)
+ node->typeinfo->uifuncbut(layout, (bContext *)C, &ptr);
+ else if (node->typeinfo && node->typeinfo->uifunc)
node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
}
diff --git a/source/blender/editors/space_node/node_draw.c b/source/blender/editors/space_node/node_draw.c
index 0c9f12966ef..6be8978cb5b 100644
--- a/source/blender/editors/space_node/node_draw.c
+++ b/source/blender/editors/space_node/node_draw.c
@@ -70,8 +70,8 @@
#include "RNA_access.h"
-#include "CMP_node.h"
-#include "SHD_node.h"
+#include "NOD_composite.h"
+#include "NOD_shader.h"
#include "node_intern.h"
@@ -81,6 +81,15 @@
// XXX interface.h
extern void ui_dropshadow(rctf *rct, float radius, float aspect, int select);
+/* XXX update functions for node editor are a mess, needs a clear concept */
+void ED_node_tree_update(SpaceNode *snode, Scene *scene)
+{
+ snode_set_context(snode, scene);
+
+ if(snode->nodetree && snode->nodetree->id.us==0)
+ snode->nodetree->id.us= 1;
+}
+
void ED_node_changed_update(ID *id, bNode *node)
{
bNodeTree *nodetree, *edittree;
@@ -123,24 +132,25 @@ static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup)
return 0;
}
+typedef struct NodeUpdateCalldata {
+ bNodeTree *ntree;
+ bNode *node;
+} NodeUpdateCalldata;
+static void node_generic_update_cb(void *calldata, ID *owner_id, bNodeTree *ntree)
+{
+ NodeUpdateCalldata *cd= (NodeUpdateCalldata*)calldata;
+ /* check if nodetree uses the group stored in calldata */
+ if (has_nodetree(ntree, cd->ntree))
+ ED_node_changed_update(owner_id, cd->node);
+}
void ED_node_generic_update(Main *bmain, bNodeTree *ntree, bNode *node)
{
- Material *ma;
- Tex *tex;
- Scene *sce;
-
+ bNodeTreeType *tti= ntreeGetType(ntree->type);
+ NodeUpdateCalldata cd;
+ cd.ntree = ntree;
+ cd.node = node;
/* look through all datablocks, to support groups */
- for(ma=bmain->mat.first; ma; ma=ma->id.next)
- if(ma->nodetree && ma->use_nodes && has_nodetree(ma->nodetree, ntree))
- ED_node_changed_update(&ma->id, node);
-
- for(tex=bmain->tex.first; tex; tex=tex->id.next)
- if(tex->nodetree && tex->use_nodes && has_nodetree(tex->nodetree, ntree))
- ED_node_changed_update(&tex->id, node);
-
- for(sce=bmain->scene.first; sce; sce=sce->id.next)
- if(sce->nodetree && sce->use_nodes && has_nodetree(sce->nodetree, ntree))
- ED_node_changed_update(&sce->id, node);
+ tti->foreach_nodetree(bmain, &cd, node_generic_update_cb);
if(ntree->type == NTREE_TEXTURE)
ntreeTexCheckCyclics(ntree);
@@ -204,14 +214,19 @@ static void node_uiblocks_init(const bContext *C, bNodeTree *ntree)
}
/* based on settings in node, sets drawing rect info. each redraw! */
-static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
+static void node_update_basis(const bContext *C, bNodeTree *ntree, bNode *node)
{
uiLayout *layout;
PointerRNA ptr;
bNodeSocket *nsock;
- float dy= node->locy;
+ float locx, locy;
+ float dy= locy;
int buty;
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+ dy= locy;
+
/* header */
dy-= NODE_DY;
@@ -222,14 +237,14 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
/* output sockets */
for(nsock= node->outputs.first; nsock; nsock= nsock->next) {
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- nsock->locx= node->locx + node->width;
+ nsock->locx= locx + node->width;
nsock->locy= dy - NODE_DYS;
dy-= NODE_DY;
}
}
- node->prvr.xmin= node->locx + NODE_DYS;
- node->prvr.xmax= node->locx + node->width- NODE_DYS;
+ node->prvr.xmin= locx + NODE_DYS;
+ node->prvr.xmax= locx + node->width- NODE_DYS;
/* preview rect? */
if(node->flag & NODE_PREVIEW) {
@@ -286,21 +301,22 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
node->butr.ymax= 0;
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);
-
+ locx+NODE_DYS, dy, node->butr.xmax, NODE_DY, U.uistyles.first);
+
node->typeinfo->uifunc(layout, (bContext *)C, &ptr);
+
uiBlockEndAlign(node->block);
uiBlockLayoutResolve(node->block, NULL, &buty);
-
+
dy= buty - NODE_DYS/2;
}
/* input sockets */
for(nsock= node->inputs.first; nsock; nsock= nsock->next) {
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- nsock->locx= node->locx;
+ nsock->locx= locx;
nsock->locy= dy - NODE_DYS;
dy-= NODE_DY;
}
@@ -310,19 +326,23 @@ static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
if(node->inputs.first || (node->flag & (NODE_OPTIONS|NODE_PREVIEW))==0 )
dy-= NODE_DYS/2;
- node->totr.xmin= node->locx;
- node->totr.xmax= node->locx + node->width;
- node->totr.ymax= node->locy;
- node->totr.ymin= MIN2(dy, node->locy-2*NODE_DY);
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + node->width;
+ node->totr.ymax= locy;
+ node->totr.ymin= MIN2(dy, locy-2*NODE_DY);
}
/* based on settings in node, sets drawing rect info. each redraw! */
static void node_update_hidden(bNode *node)
{
bNodeSocket *nsock;
+ float locx, locy;
float rad, drad, hiddenrad= HIDDEN_RAD;
int totin=0, totout=0, tot;
+ /* get "global" coords */
+ nodeSpaceCoords(node, &locx, &locy);
+
/* calculate minimal radius */
for(nsock= node->inputs.first; nsock; nsock= nsock->next)
if(!(nsock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL)))
@@ -336,9 +356,9 @@ static void node_update_hidden(bNode *node)
hiddenrad += 5.0f*(float)(tot-4);
}
- node->totr.xmin= node->locx;
- node->totr.xmax= node->locx + 3*hiddenrad + node->miniwidth;
- node->totr.ymax= node->locy + (hiddenrad - 0.5f*NODE_DY);
+ node->totr.xmin= locx;
+ node->totr.xmax= locx + 3*hiddenrad + node->miniwidth;
+ node->totr.ymax= locy + (hiddenrad - 0.5f*NODE_DY);
node->totr.ymin= node->totr.ymax - 2*hiddenrad;
/* output sockets */
@@ -364,6 +384,14 @@ static void node_update_hidden(bNode *node)
}
}
+void node_update_default(const bContext *C, bNodeTree *ntree, bNode *node)
+{
+ if(node->flag & NODE_HIDDEN)
+ node_update_hidden(node);
+ else
+ node_update_basis(C, ntree, node);
+}
+
static int node_get_colorid(bNode *node)
{
if(node->typeinfo->nclass==NODE_CLASS_INPUT)
@@ -383,136 +411,42 @@ static int node_get_colorid(bNode *node)
return TH_NODE;
}
-/* based on settings in node, sets drawing rect info. each redraw! */
-/* note: this assumes only 1 group at a time is drawn (linked data) */
-/* in node->totr the entire boundbox for the group is stored */
-static void node_update_group(const bContext *C, bNodeTree *UNUSED(ntree), bNode *gnode)
-{
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
- bNode *node;
- bNodeSocket *sock, *gsock;
- rctf *rect= &gnode->totr;
- int counter;
- int dy;
-
- rect->xmin = rect->xmax = gnode->locx;
- rect->ymin = rect->ymax = gnode->locy;
-
- /* center them, is a bit of abuse of locx and locy though */
- for(node= ngroup->nodes.first; node; node= node->next) {
- node->locx+= gnode->locx;
- node->locy+= gnode->locy;
-
- if(node->flag & NODE_HIDDEN)
- node_update_hidden(node);
- else
- node_update(C, ngroup, node);
- node->locx-= gnode->locx;
- node->locy-= gnode->locy;
- }
- counter= 1;
- for(node= ngroup->nodes.first; node; node= node->next) {
- if(counter) {
- *rect= node->totr;
- counter= 0;
- }
- else
- BLI_union_rctf(rect, &node->totr);
- }
-
- /* add some room for links to group sockets */
- rect->xmin -= 4*NODE_DY;
- rect->xmax += 4*NODE_DY;
- rect->ymin-= NODE_DY;
- rect->ymax+= NODE_DY;
-
- /* input sockets */
- 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->locy = gsock->locy = dy;
-
- /* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
-
- dy -= 2*NODE_DY;
- }
-
- /* output sockets */
- 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->locy = gsock->locy = dy - NODE_DYS;
-
- /* prevent long socket lists from growing out of the group box */
- if (dy-3*NODE_DYS < rect->ymin)
- rect->ymin = dy-3*NODE_DYS;
- if (dy+3*NODE_DYS > rect->ymax)
- rect->ymax = dy+3*NODE_DYS;
-
- dy -= 2*NODE_DY;
- }
-}
-
/* 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;
- bNodeSocket *sock;
+ static int types[]= { SOCK_FLOAT, SOCK_VECTOR, SOCK_RGBA };
bNodeLink link= {NULL};
- int a;
+ int i;
- /* connect the first value buffer in with first value out */
- /* connect the first RGBA buffer in with first RGBA out */
+ /* connect the first input of each type with first output of the same type */
- /* test the inputs */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- if(nodeCountSocketLinks(snode->edittree, sock)) {
- if(sock->type==SOCK_VALUE && valsock==NULL) valsock= sock;
- if(sock->type==SOCK_VECTOR && vecsock==NULL) vecsock= sock;
- if(sock->type==SOCK_RGBA && colsock==NULL) colsock= sock;
- }
- }
-
- /* outputs, draw lines */
glEnable(GL_BLEND);
glEnable( GL_LINE_SMOOTH );
- if(valsock || colsock || vecsock) {
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(nodeCountSocketLinks(snode->edittree, sock)) {
- link.tosock= sock;
-
- if(sock->type==SOCK_VALUE && valsock) {
- link.fromsock= valsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- valsock= NULL;
- }
- if(sock->type==SOCK_VECTOR && vecsock) {
- link.fromsock= vecsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- vecsock= NULL;
- }
- if(sock->type==SOCK_RGBA && colsock) {
- link.fromsock= colsock;
- node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
- colsock= NULL;
- }
+ link.fromnode = link.tonode = node;
+ for (i=0; i < 3; ++i) {
+ /* find input socket */
+ for (link.fromsock=node->inputs.first; link.fromsock; link.fromsock=link.fromsock->next)
+ if (link.fromsock->type==types[i] && nodeCountSocketLinks(snode->edittree, link.fromsock))
+ break;
+ if (link.fromsock) {
+ for (link.tosock=node->outputs.first; link.tosock; link.tosock=link.tosock->next)
+ if (link.tosock->type==types[i] && nodeCountSocketLinks(snode->edittree, link.tosock))
+ break;
+
+ if (link.tosock) {
+ node_draw_link_bezier(v2d, snode, &link, TH_REDALERT, 0, TH_WIRE, 0, TH_WIRE);
}
}
}
+
glDisable(GL_BLEND);
glDisable( GL_LINE_SMOOTH );
}
-/* nice AA filled circle */
/* this might have some more generic use */
-static void circle_draw(float x, float y, float size, int col[3])
+static void node_circle_draw(float x, float y, float size, char *col)
{
/* 16 values of sin function */
static float si[16] = {
@@ -548,37 +482,10 @@ static void circle_draw(float x, float y, float size, int col[3])
glDisable(GL_BLEND);
}
-static void socket_circle_draw(bNodeSocket *sock, float size)
-{
- int col[3];
-
- if(sock->type==-1) {
- col[0]= 0; col[1]= 0; col[2]= 0;
- }
- else if(sock->type==SOCK_VALUE) {
- col[0]= 160; col[1]= 160; col[2]= 160;
- }
- else if(sock->type==SOCK_VECTOR) {
- col[0]= 100; col[1]= 100; col[2]= 200;
- }
- else if(sock->type==SOCK_RGBA) {
- col[0]= 200; col[1]= 200; col[2]= 40;
- }
- else {
- col[0]= 100; col[1]= 200; col[2]= 100;
- }
-
- circle_draw(sock->locx, sock->locy, size, col);
-}
-
-static void node_sync_cb(bContext *UNUSED(C), void *snode_v, void *node_v)
+void node_socket_circle_draw(bNodeTree *UNUSED(ntree), bNodeSocket *sock, float size)
{
- SpaceNode *snode= snode_v;
-
- if(snode->treetype==NTREE_SHADER) {
- nodeShaderSynchronizeID(node_v, 1);
- // allqueue(REDRAWBUTSSHADING, 0);
- }
+ bNodeSocketType *stype = ntreeGetSocketType(sock->type);
+ node_circle_draw(sock->locx, sock->locy, size, stype->ui_color);
}
/* ************** Socket callbacks *********** */
@@ -637,88 +544,13 @@ static void node_draw_preview(bNodePreview *preview, rctf *prv)
}
-typedef struct SocketVectorMenuArgs {
- PointerRNA ptr;
- int x, y, width;
- uiButHandleFunc cb;
- void *arg1, *arg2;
-} SocketVectorMenuArgs;
-
-/* NOTE: this is a block-menu, needs 0 events, otherwise the menu closes */
-static uiBlock *socket_vector_menu(bContext *C, ARegion *ar, void *args_v)
-{
- SocketVectorMenuArgs *args= (SocketVectorMenuArgs*)args_v;
- uiBlock *block;
- uiLayout *layout;
-
- 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);
-
- uiItemR(layout, &args->ptr, "default_value", UI_ITEM_R_EXPAND, "", ICON_NONE);
-
- return block;
-}
-
-static void node_draw_socket_button(bNodeTree *ntree, bNodeSocket *sock, const char *name,
- uiBlock *block, int x, int y, int width,
- uiButHandleFunc cb, void *arg1, void *arg2)
-{
- uiBut *bt= NULL;
- PointerRNA ptr;
- int labelw;
- SocketVectorMenuArgs *args;
-
- RNA_pointer_create(&ntree->id, &RNA_NodeSocket, sock, &ptr);
-
- switch (sock->type) {
- case SOCK_VALUE:
- bt=uiDefButR(block, NUM, B_NODE_EXEC, name,
- x, y+1, width, 17,
- &ptr, "default_value", 0, sock->ns.min, sock->ns.max, -1, -1, NULL);
- if (cb)
- uiButSetFunc(bt, cb, arg1, arg2);
- break;
-
- case SOCK_VECTOR:
- args= MEM_callocN(sizeof(SocketVectorMenuArgs), "SocketVectorMenuArgs");
-
- args->ptr = ptr;
- args->x = x;
- args->y = y;
- args->width = width;
- args->cb = cb;
- args->arg1 = arg1;
- args->arg2 = arg2;
-
- uiDefBlockButN(block, socket_vector_menu, args, name,
- x, y+1, width, 17,
- "");
- break;
-
- case SOCK_RGBA:
- labelw= width - 40;
-
- bt=uiDefButR(block, COL, B_NODE_EXEC, "",
- x, y+2, (labelw>0 ? 40 : width), 15,
- &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,
- NULL, 0, 0, 0, 0, "");
- break;
- }
-}
-
static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
{
bNodeSocket *sock;
rctf *rct= &node->totr;
float iconofs;
+ /* float socket_size= NODE_SOCKSIZE*U.dpi/72; */ /* UNUSED */
+ 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 +593,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 */
@@ -804,13 +637,8 @@ static void node_draw_basis(const bContext *C, ARegion *ar, SpaceNode *snode, bN
else
UI_ThemeColor(TH_TEXT); */
- if (node->label[0]!='\0')
- BLI_strncpy(showname, node->label, sizeof(showname));
- else if (node->typeinfo->labelfunc)
- BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname));
- else
- BLI_strncpy(showname, node->typeinfo->name, sizeof(showname));
-
+ BLI_strncpy(showname, nodeLabel(node), sizeof(showname));
+
//if(node->flag & NODE_MUTED)
// sprintf(showname, "[%s]", showname);
@@ -850,37 +678,45 @@ 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);
-
- 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);
- }
- else {
- uiDefBut(node->block, LABEL, 0, sock->name, (short)(sock->locx+7), (short)(sock->locy-9.0f),
- (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
- }
+ bNodeSocketType *stype= ntreeGetSocketType(sock->type);
+
+ if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))
+ continue;
+
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+
+ if (sock->link) {
+ uiDefBut(node->block, LABEL, 0, sock->name, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY, NODE_DY,
+ NULL, 0, 0, 0, 0, "");
+ }
+ else {
+ if (stype->buttonfunc)
+ stype->buttonfunc(C, node->block, ntree, node, sock, sock->name, sock->locx+NODE_DYS, sock->locy-NODE_DYS, node->width-NODE_DY);
}
}
/* socket outputs */
for(sock= node->outputs.first; sock; sock= sock->next) {
- if(!(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))) {
- float slen;
- int ofs= 0;
-
- socket_circle_draw(sock, NODE_SOCKSIZE);
-
- UI_ThemeColor(TH_TEXT);
- slen= snode->aspect*UI_GetStringWidth(sock->name);
- while(slen > node->width) {
- ofs++;
- slen= snode->aspect*UI_GetStringWidth(sock->name+ofs);
- }
-
- uiDefBut(node->block, LABEL, 0, sock->name+ofs, (short)(sock->locx-15.0f-slen), (short)(sock->locy-9.0f),
- (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
+ PointerRNA sockptr;
+ float slen;
+ int ofs;
+
+ RNA_pointer_create((ID*)ntree, &RNA_NodeSocket, sock, &sockptr);
+
+ if(sock->flag & (SOCK_HIDDEN|SOCK_UNAVAIL))
+ continue;
+
+ node_socket_circle_draw(ntree, sock, NODE_SOCKSIZE);
+
+ ofs= 0;
+ UI_ThemeColor(TH_TEXT);
+ slen= snode->aspect*UI_GetStringWidth(sock->name);
+ while(slen > node->width) {
+ ofs++;
+ slen= snode->aspect*UI_GetStringWidth(sock->name+ofs);
}
+ uiDefBut(node->block, LABEL, 0, sock->name+ofs, (short)(sock->locx-15.0f-slen), (short)(sock->locy-9.0f),
+ (short)(node->width-NODE_DY), NODE_DY, NULL, 0, 0, 0, 0, "");
}
/* preview */
@@ -904,6 +740,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 */
@@ -950,12 +787,7 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
UI_ThemeColor(TH_TEXT);
if(node->miniwidth>0.0f) {
- if (node->label[0]!='\0')
- BLI_strncpy(showname, node->label, sizeof(showname));
- else if (node->typeinfo->labelfunc)
- BLI_strncpy(showname, node->typeinfo->labelfunc(node), sizeof(showname));
- else
- BLI_strncpy(showname, node->typeinfo->name, sizeof(showname));
+ BLI_strncpy(showname, nodeLabel(node), sizeof(showname));
//if(node->flag & NODE_MUTED)
// sprintf(showname, "[%s]", showname);
@@ -978,12 +810,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);
+ node_socket_circle_draw(snode->nodetree, 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);
+ node_socket_circle_draw(snode->nodetree, sock, socket_size);
}
uiEndBlock(C, node->block);
@@ -991,7 +823,43 @@ static void node_draw_hidden(const bContext *C, ARegion *ar, SpaceNode *snode, b
node->block= NULL;
}
-static void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree)
+void node_draw_default(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
+{
+ if(node->flag & NODE_HIDDEN)
+ node_draw_hidden(C, ar, snode, node);
+ else
+ node_draw_basis(C, ar, snode, ntree, node);
+}
+
+static void node_update(const bContext *C, bNodeTree *ntree, bNode *node)
+{
+ if (node->typeinfo->drawupdatefunc)
+ node->typeinfo->drawupdatefunc(C, ntree, node);
+}
+
+void node_update_nodetree(const bContext *C, bNodeTree *ntree, float offsetx, float offsety)
+{
+ bNode *node;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* XXX little hack */
+ node->locx += offsetx;
+ node->locy += offsety;
+
+ node_update(C, ntree, node);
+
+ node->locx -= offsetx;
+ node->locy -= offsety;
+ }
+}
+
+static void node_draw(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *node)
+{
+ if (node->typeinfo->drawfunc)
+ node->typeinfo->drawfunc(C, ar, snode, ntree, node);
+}
+
+void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree)
{
bNode *node;
bNodeLink *link;
@@ -1007,195 +875,11 @@ static void node_draw_nodetree(const bContext *C, ARegion *ar, SpaceNode *snode,
glDisable(GL_LINE_SMOOTH);
glDisable(GL_BLEND);
- /* not selected first */
- for(a=0, node= ntree->nodes.first; node; node= node->next, a++) {
+ /* draw nodes, last nodes in front */
+ for(a=0, node= ntree->nodes.first; node; node=node->next, a++) {
node->nr= a; /* index of node in list, used for exec event code */
- if(!(node->flag & SELECT)) {
- if(node->flag & NODE_GROUP_EDIT);
- else if(node->flag & NODE_HIDDEN)
- node_draw_hidden(C, ar, snode, node);
- else
- node_draw_basis(C, ar, snode, ntree, node);
- }
+ node_draw(C, ar, snode, ntree, node);
}
-
- /* selected */
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->flag & SELECT) {
- if(node->flag & NODE_GROUP_EDIT);
- else if(node->flag & NODE_HIDDEN)
- node_draw_hidden(C, ar, snode, node);
- else
- node_draw_basis(C, ar, snode, ntree, node);
- }
- }
-}
-
-static void group_verify_cb(bContext *UNUSED(C), void *UNUSED(snode_v), void *ngroup_v)
-{
- bNodeTree *ngroup= (bNodeTree*)ngroup_v;
-
- nodeGroupVerify(ngroup);
-}
-
-/* groups are, on creation, centered around 0,0 */
-static void node_draw_group(const bContext *C, ARegion *ar, SpaceNode *snode, bNodeTree *ntree, bNode *gnode)
-{
- bNodeTree *ngroup= (bNodeTree *)gnode->id;
- bNodeSocket *sock;
- rctf rect= gnode->totr;
- int index;
- uiLayout *layout;
- PointerRNA ptr;
- uiBut *bt;
-
- /* 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);
-
- /* backdrop body */
- UI_ThemeColorShadeAlpha(TH_BACK, -8, -70);
- uiSetRoundBox(0);
- uiDrawBox(GL_POLYGON, rect.xmin, rect.ymin, rect.xmax, rect.ymax, BASIS_RAD);
-
- /* 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);
-
- /* 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);
-
- /* input column separator */
- glColor4ub(200, 200, 200, 140);
- glBegin(GL_LINES);
- glVertex2f(rect.xmin, rect.ymin);
- glVertex2f(rect.xmin, rect.ymax);
- glEnd();
-
- /* output column separator */
- glColor4ub(200, 200, 200, 140);
- glBegin(GL_LINES);
- glVertex2f(rect.xmax, rect.ymin);
- glVertex2f(rect.xmax, rect.ymax);
- glEnd();
-
- /* group node outline */
- 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);
- 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);
- RNA_pointer_create(&ntree->id, &RNA_Node, gnode, &ptr);
- uiTemplateIDBrowse(layout, (bContext*)C, &ptr, "node_tree", NULL, NULL, NULL);
- uiBlockLayoutResolve(gnode->block, NULL, NULL);
-
- /* draw the internal tree nodes and links */
- node_draw_nodetree(C, ar, snode, ngroup);
-
- /* group sockets */
- for(sock=ngroup->inputs.first, index=0; sock; sock=sock->next, ++index) {
- socket_circle_draw(sock, NODE_SOCKSIZE);
- /* 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;
-
- bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx-114, sock->locy+1, 72, 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,
- 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, "");
- 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, "");
- if (!sock->next)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_IN);
- uiBlockEndAlign(gnode->block);
- uiBlockSetDirection(gnode->block, 0);
-
- 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, "");
- 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);
- /* 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;
-
- 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, "");
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
- uiBlockSetEmboss(gnode->block, UI_EMBOSS);
-
- 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, "");
- 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, "");
- if (!sock->next)
- uiButSetFlag(bt, UI_BUT_DISABLED);
- RNA_int_set(uiButGetOperatorPtrRNA(bt), "index", index);
- RNA_enum_set(uiButGetOperatorPtrRNA(bt), "in_out", SOCK_OUT);
- uiBlockEndAlign(gnode->block);
- uiBlockSetDirection(gnode->block, 0);
-
- if (sock->link) {
- bt = uiDefBut(gnode->block, TEX, 0, "",
- sock->locx+42, sock->locy-NODE_DYS+1, 72, 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,
- 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);
- }
- }
-
- uiEndBlock(C, gnode->block);
- uiDrawBlock(C, gnode->block);
- gnode->block= NULL;
}
void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d)
@@ -1237,27 +921,19 @@ void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d)
if(node->flag & NODE_GROUP_EDIT)
node_uiblocks_init(C, (bNodeTree *)node->id);
}
-
- node_uiblocks_init(C, snode->nodetree);
+ node_uiblocks_init(C, snode->nodetree);
- /* for now, we set drawing coordinates on each redraw */
- for(node= snode->nodetree->nodes.first; node; node= node->next) {
- if(node->flag & NODE_GROUP_EDIT)
- node_update_group(C, snode->nodetree, node);
- else if(node->flag & NODE_HIDDEN)
- node_update_hidden(node);
- else
- node_update(C, snode->nodetree, node);
- }
-
+ node_update_nodetree(C, snode->nodetree, 0.0f, 0.0f);
node_draw_nodetree(C, ar, snode, snode->nodetree);
-
+
+ #if 0
/* active group */
for(node= snode->nodetree->nodes.first; node; node= node->next) {
if(node->flag & NODE_GROUP_EDIT)
node_draw_group(C, ar, snode, snode->nodetree, node);
}
+ #endif
}
/* temporary links */
diff --git a/source/blender/editors/space_node/node_edit.c b/source/blender/editors/space_node/node_edit.c
index 99f2ea99efc..b5633d50997 100644
--- a/source/blender/editors/space_node/node_edit.c
+++ b/source/blender/editors/space_node/node_edit.c
@@ -40,9 +40,11 @@
#include "MEM_guardedalloc.h"
+#include "DNA_ID.h"
#include "DNA_object_types.h"
#include "DNA_material_types.h"
#include "DNA_node_types.h"
+#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "BLI_math.h"
@@ -58,11 +60,17 @@
#include "BKE_main.h"
#include "BKE_node.h"
#include "BKE_material.h"
+#include "BKE_modifier.h"
#include "BKE_paint.h"
#include "BKE_screen.h"
#include "BKE_texture.h"
#include "BKE_report.h"
+
+#include "BLI_math.h"
+#include "BLI_blenlib.h"
+#include "BLI_storage_types.h"
+
#include "RE_pipeline.h"
#include "IMB_imbuf_types.h"
@@ -74,11 +82,13 @@
#include "RNA_access.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_types.h"
#include "UI_interface.h"
+#include "UI_resources.h"
#include "UI_view2d.h"
#include "IMB_imbuf.h"
@@ -88,9 +98,9 @@
#include "node_intern.h"
static EnumPropertyItem socket_in_out_items[] = {
- { SOCK_IN, "IN", 0, "In", "" },
- { SOCK_OUT, "OUT", 0, "Out", "" },
- { 0, NULL, 0, NULL, NULL}
+ { SOCK_IN, "SOCK_IN", 0, "Input", "" },
+ { SOCK_OUT, "SOCK_OUT", 0, "Output", "" },
+ { 0, NULL, 0, NULL, NULL },
};
/* ***************** composite job manager ********************** */
@@ -227,7 +237,7 @@ static bNode *editnode_get_active(bNodeTree *ntree)
/* check for edited group */
for(node= ntree->nodes.first; node; node= node->next)
- if(node->flag & NODE_GROUP_EDIT)
+ if(nodeGroupEditGet(node))
break;
if(node)
return nodeGetActive((bNodeTree *)node->id);
@@ -258,7 +268,7 @@ bNode *node_tree_get_editgroup(bNodeTree *nodetree)
/* get the groupnode */
for(gnode= nodetree->nodes.first; gnode; gnode= gnode->next)
- if(gnode->flag & NODE_GROUP_EDIT)
+ if(nodeGroupEditGet(gnode))
break;
return gnode;
}
@@ -269,6 +279,7 @@ void ED_node_shader_default(Material *ma)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(ma->nodetree) {
@@ -277,12 +288,14 @@ void ED_node_shader_default(Material *ma)
return;
}
- ma->nodetree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, FALSE);
+ ma->nodetree= ntreeAddTree("Shader Nodetree", NTREE_SHADER, 0);
- out= nodeAddNodeType(ma->nodetree, SH_NODE_OUTPUT, NULL, NULL);
+ ntemp.type = SH_NODE_OUTPUT;
+ out= nodeAddNode(ma->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 300.0f;
- in= nodeAddNodeType(ma->nodetree, SH_NODE_MATERIAL, NULL, NULL);
+ ntemp.type = SH_NODE_MATERIAL;
+ in= nodeAddNode(ma->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 300.0f;
nodeSetActive(ma->nodetree, in);
@@ -291,7 +304,7 @@ void ED_node_shader_default(Material *ma)
tosock= out->inputs.first;
nodeAddLink(ma->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(ma->nodetree); /* needed for pointers */
+ ntreeUpdateTree(ma->nodetree);
}
/* assumes nothing being done in ntree yet, sets the default in/out node */
@@ -300,6 +313,7 @@ void ED_node_composit_default(Scene *sce)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(sce->nodetree) {
@@ -308,14 +322,16 @@ void ED_node_composit_default(Scene *sce)
return;
}
- sce->nodetree= ntreeAddTree("Compositing Nodetree", NTREE_COMPOSIT, FALSE);
+ sce->nodetree= ntreeAddTree("Compositing Nodetree", NTREE_COMPOSIT, 0);
- out= nodeAddNodeType(sce->nodetree, CMP_NODE_COMPOSITE, NULL, NULL);
+ ntemp.type = CMP_NODE_COMPOSITE;
+ out= nodeAddNode(sce->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 400.0f;
out->id= &sce->id;
id_us_plus(out->id);
- in= nodeAddNodeType(sce->nodetree, CMP_NODE_R_LAYERS, NULL, NULL);
+ ntemp.type = CMP_NODE_R_LAYERS;
+ in= nodeAddNode(sce->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 400.0f;
in->id= &sce->id;
id_us_plus(in->id);
@@ -326,7 +342,7 @@ void ED_node_composit_default(Scene *sce)
tosock= out->inputs.first;
nodeAddLink(sce->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(sce->nodetree); /* needed for pointers */
+ ntreeUpdateTree(sce->nodetree);
// XXX ntreeCompositForceHidden(sce->nodetree);
}
@@ -337,6 +353,7 @@ void ED_node_texture_default(Tex *tx)
{
bNode *in, *out;
bNodeSocket *fromsock, *tosock;
+ bNodeTemplate ntemp;
/* but lets check it anyway */
if(tx->nodetree) {
@@ -345,12 +362,14 @@ void ED_node_texture_default(Tex *tx)
return;
}
- tx->nodetree= ntreeAddTree("Texture Nodetree", NTREE_TEXTURE, FALSE);
+ tx->nodetree= ntreeAddTree("Texture Nodetree", NTREE_TEXTURE, 0);
- out= nodeAddNodeType(tx->nodetree, TEX_NODE_OUTPUT, NULL, NULL);
+ ntemp.type = TEX_NODE_OUTPUT;
+ out= nodeAddNode(tx->nodetree, &ntemp);
out->locx= 300.0f; out->locy= 300.0f;
- in= nodeAddNodeType(tx->nodetree, TEX_NODE_CHECKER, NULL, NULL);
+ ntemp.type = TEX_NODE_CHECKER;
+ in= nodeAddNode(tx->nodetree, &ntemp);
in->locx= 10.0f; in->locy= 300.0f;
nodeSetActive(tx->nodetree, in);
@@ -358,43 +377,53 @@ void ED_node_texture_default(Tex *tx)
tosock= out->inputs.first;
nodeAddLink(tx->nodetree, in, fromsock, out, tosock);
- ntreeSolveOrder(tx->nodetree); /* needed for pointers */
+ ntreeUpdateTree(tx->nodetree);
}
/* id is supposed to contain a node tree */
void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype)
{
- bNode *node= NULL;
- short idtype= GS(id->name);
-
- if(idtype == ID_MA) {
- *ntree= ((Material*)id)->nodetree;
- if(treetype) *treetype= NTREE_SHADER;
- }
- else if(idtype == ID_SCE) {
- *ntree= ((Scene*)id)->nodetree;
- if(treetype) *treetype= NTREE_COMPOSIT;
- }
- else if(idtype == ID_TE) {
- *ntree= ((Tex*)id)->nodetree;
- if(treetype) *treetype= NTREE_TEXTURE;
+ if (id) {
+ bNode *node= NULL;
+ short idtype= GS(id->name);
+
+ if(idtype == ID_NT) {
+ *ntree= (bNodeTree*)id;
+ if(treetype) *treetype= (*ntree)->type;
+ }
+ else if(idtype == ID_MA) {
+ *ntree= ((Material*)id)->nodetree;
+ if(treetype) *treetype= NTREE_SHADER;
+ }
+ else if(idtype == ID_SCE) {
+ *ntree= ((Scene*)id)->nodetree;
+ if(treetype) *treetype= NTREE_COMPOSIT;
+ }
+ else if(idtype == ID_TE) {
+ *ntree= ((Tex*)id)->nodetree;
+ if(treetype) *treetype= NTREE_TEXTURE;
+ }
+ else {
+ if(treetype) *treetype= 0;
+ return;
+ }
+
+ /* find editable group */
+ if(edittree) {
+ if(*ntree)
+ for(node= (*ntree)->nodes.first; node; node= node->next)
+ if(nodeGroupEditGet(node))
+ break;
+
+ if(node && node->id)
+ *edittree= (bNodeTree *)node->id;
+ else
+ *edittree= *ntree;
+ }
}
else {
+ *ntree= NULL;
if(treetype) *treetype= 0;
- return;
- }
-
- /* find editable group */
- if(edittree) {
- if(*ntree)
- for(node= (*ntree)->nodes.first; node; node= node->next)
- if(node->flag & NODE_GROUP_EDIT)
- break;
-
- if(node && node->id)
- *edittree= (bNodeTree *)node->id;
- else
- *edittree= *ntree;
}
}
@@ -403,8 +432,6 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
{
Object *ob= OBACT;
- snode->nodetree= NULL;
- snode->edittree= NULL;
snode->id= snode->from= NULL;
if(snode->treetype==NTREE_SHADER) {
@@ -418,7 +445,6 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
}
}
else if(snode->treetype==NTREE_COMPOSIT) {
- snode->from= NULL;
snode->id= &scene->id;
/* bit clumsy but reliable way to see if we draw first time */
@@ -461,9 +487,14 @@ void snode_set_context(SpaceNode *snode, Scene *scene)
}
}
}
+ else {
+ if (snode->nodetree && snode->nodetree->type == snode->treetype)
+ snode->id = &snode->nodetree->id;
+ else
+ snode->id = NULL;
+ }
- if(snode->id)
- node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
+ node_tree_from_ID(snode->id, &snode->nodetree, &snode->edittree, NULL);
}
static void snode_tag_changed(SpaceNode *snode, bNode *node)
@@ -479,79 +510,90 @@ static void snode_tag_changed(SpaceNode *snode, bNode *node)
NodeTagIDChanged(snode->nodetree, gnode->id);
}
-void node_set_active(SpaceNode *snode, bNode *node)
+static int has_nodetree(bNodeTree *ntree, bNodeTree *lookup)
+{
+ bNode *node;
+
+ if(ntree == lookup)
+ return 1;
+
+ for(node=ntree->nodes.first; node; node=node->next)
+ if(node->type == NODE_GROUP && node->id)
+ if(has_nodetree((bNodeTree*)node->id, lookup))
+ return 1;
+
+ return 0;
+}
+
+void ED_node_set_active(Main *bmain, bNodeTree *ntree, bNode *node)
{
- nodeSetActive(snode->edittree, node);
+ nodeSetActive(ntree, node);
if(node->type!=NODE_GROUP) {
int was_output= (node->flag & NODE_DO_OUTPUT);
/* tree specific activate calls */
- if(snode->treetype==NTREE_SHADER) {
+ if(ntree->type==NTREE_SHADER) {
/* when we select a material, active texture is cleared, for buttons */
if(node->id && GS(node->id->name)==ID_MA)
- nodeClearActiveID(snode->edittree, ID_TE);
+ nodeClearActiveID(ntree, ID_TE);
if(node->type==SH_NODE_OUTPUT) {
bNode *tnode;
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
if( tnode->type==SH_NODE_OUTPUT)
tnode->flag &= ~NODE_DO_OUTPUT;
node->flag |= NODE_DO_OUTPUT;
if(was_output==0)
- ED_node_changed_update(snode->id, node);
+ ED_node_generic_update(bmain, ntree, 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;
-
+ else if(ntree->type==NTREE_COMPOSIT) {
/* make active viewer, currently only 1 supported... */
if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
bNode *tnode;
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
if( ELEM(tnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
tnode->flag &= ~NODE_DO_OUTPUT;
node->flag |= NODE_DO_OUTPUT;
- if(was_output==0) {
- snode_tag_changed(snode, node);
-
- ED_node_changed_update(snode->id, node);
- }
+ if(was_output==0)
+ ED_node_generic_update(bmain, ntree, node);
/* addnode() doesnt link this yet... */
node->id= (ID *)BKE_image_verify_viewer(IMA_TYPE_COMPOSITE, "Viewer Node");
}
else if(node->type==CMP_NODE_R_LAYERS) {
- if(node->id==NULL || node->id==(ID *)scene) {
- scene->r.actlay= node->custom1;
+ Scene *scene;
+
+ for(scene=bmain->scene.first; scene; scene=scene->id.next) {
+ if(scene->nodetree && scene->use_nodes && has_nodetree(scene->nodetree, ntree)) {
+ if(node->id==NULL || node->id==(ID *)scene) {
+ scene->r.actlay= node->custom1;
+ }
+ }
}
}
else if(node->type==CMP_NODE_COMPOSITE) {
- bNode *tnode;
-
- for(tnode= snode->edittree->nodes.first; tnode; tnode= tnode->next)
- if( tnode->type==CMP_NODE_COMPOSITE)
- tnode->flag &= ~NODE_DO_OUTPUT;
-
- node->flag |= NODE_DO_OUTPUT;
- ED_node_changed_update(snode->id, node);
+ if (was_output==0) {
+ bNode *tnode;
+
+ for(tnode= ntree->nodes.first; tnode; tnode= tnode->next)
+ if( tnode->type==CMP_NODE_COMPOSITE)
+ tnode->flag &= ~NODE_DO_OUTPUT;
+
+ node->flag |= NODE_DO_OUTPUT;
+ ED_node_generic_update(bmain, ntree, node);
+ }
}
}
- else if(snode->treetype==NTREE_TEXTURE) {
+ else if(ntree->type==NTREE_TEXTURE) {
// XXX
#if 0
if(node->id)
@@ -563,17 +605,199 @@ void node_set_active(SpaceNode *snode, bNode *node)
}
}
-/* when links in groups change, inputs/outputs change, nodes added/deleted... */
-void node_tree_verify_groups(bNodeTree *nodetree)
+static int compare_nodes(bNode *a, bNode *b)
{
- bNode *gnode;
+ bNode *parent;
+
+ /* if one is an ancestor of the other */
+ /* XXX there might be a better sorting algorithm for stable topological sort, this is O(n^2) worst case */
+ for (parent = a->parent; parent; parent=parent->parent) {
+ if (parent==b)
+ return 1;
+ }
+ for (parent = b->parent; parent; parent=parent->parent) {
+ if (parent==a)
+ return 0;
+ }
+
+ /* if one of the nodes is in the background and the other not */
+ if ((a->flag & NODE_BACKGROUND) && !(b->typeinfo->flag & NODE_BACKGROUND))
+ return 0;
+ else if (!(a->flag & NODE_BACKGROUND) && (b->typeinfo->flag & NODE_BACKGROUND))
+ return 1;
- gnode= node_tree_get_editgroup(nodetree);
+ /* if one has a higher selection state (active > selected > nothing) */
+ if (!(b->flag & NODE_ACTIVE) && (a->flag & NODE_ACTIVE))
+ return 1;
+ else if (!(b->flag & NODE_SELECT) && ((a->flag & NODE_ACTIVE) || (a->flag & NODE_SELECT)))
+ return 1;
- /* does all materials */
- if(gnode)
- nodeGroupVerify((bNodeTree *)gnode->id);
+ return 0;
+}
+/* Sorts nodes by selection: unselected nodes first, then selected,
+ * then the active node at the very end. Relative order is kept intact!
+ */
+void node_sort(bNodeTree *ntree)
+{
+ /* merge sort is the algorithm of choice here */
+ bNode *first_a, *first_b, *node_a, *node_b, *tmp;
+ int totnodes= BLI_countlist(&ntree->nodes);
+ int k, a, b;
+ k = 1;
+ while (k < totnodes) {
+ first_a = first_b = ntree->nodes.first;
+
+ do {
+ /* setup first_b pointer */
+ for (b=0; b < k && first_b; ++b) {
+ first_b = first_b->next;
+ }
+ /* all batches merged? */
+ if (first_b==NULL)
+ break;
+
+ /* merge batches */
+ node_a = first_a;
+ node_b = first_b;
+ a = b = 0;
+ while (a < k && b < k && node_b) {
+ if (compare_nodes(node_a, node_b)==0) {
+ node_a = node_a->next;
+ ++a;
+ }
+ else {
+ tmp = node_b;
+ node_b = node_b->next;
+ ++b;
+ BLI_remlink(&ntree->nodes, tmp);
+ BLI_insertlinkbefore(&ntree->nodes, node_a, tmp);
+ }
+ }
+
+ /* setup first pointers for next batch */
+ first_b = node_b;
+ for (; b < k; ++b) {
+ /* all nodes sorted? */
+ if (first_b==NULL)
+ break;
+ first_b = first_b->next;
+ }
+ first_a = first_b;
+ } while (first_b);
+
+ k = k << 1;
+ }
+}
+
+static int inside_rctf(rctf *bounds, rctf *rect)
+{
+ return (bounds->xmin <= rect->xmin && bounds->xmax >= rect->xmax
+ && bounds->ymin <= rect->ymin && bounds->ymax >= rect->ymax);
+}
+
+static void node_frame_attach_nodes(bNodeTree *UNUSED(ntree), bNode *frame)
+{
+ bNode *node;
+
+ /* only check nodes on top of the frame for attaching */
+ for (node=frame->next; node; node=node->next) {
+ if (node->parent==frame) {
+ /* detach nodes that went outside the frame */
+ if (!inside_rctf(&frame->totr, &node->totr))
+ nodeDetachNode(node);
+ }
+ else if (node->flag & NODE_SELECT && node->parent==NULL) {
+ /* attach selected, still unparented nodes */
+ if (inside_rctf(&frame->totr, &node->totr))
+ nodeAttachNode(node, frame);
+ }
+ }
+}
+
+void ED_node_update_hierarchy(bContext *UNUSED(C), bNodeTree *ntree)
+{
+ bNode *node;
+
+ /* XXX This does not work due to layout functions relying on node->block,
+ * which only exists during actual drawing. Can we rely on valid totr rects?
+ */
+ /* make sure nodes have correct bounding boxes after transform */
+// node_update_nodetree(C, ntree, 0.0f, 0.0f);
+
+ /* all selected nodes are re-parented */
+ for (node=ntree->nodes.last; node; node=node->prev) {
+ if (node->flag & NODE_SELECT && node->parent)
+ nodeDetachNode(node);
+ }
+
+ /* update higher Z-level nodes first */
+ for (node=ntree->nodes.last; node; node=node->prev) {
+ /* XXX callback? */
+ if (node->type==NODE_FRAME)
+ node_frame_attach_nodes(ntree, node);
+ }
+}
+
+/* ***************** generic operator functions for nodes ***************** */
+
+static int edit_node_poll(bContext *C)
+{
+ return ED_operator_node_active(C);
+}
+
+static void edit_node_properties(wmOperatorType *ot)
+{
+ /* XXX could node be a context pointer? */
+ RNA_def_string(ot->srna, "node", "", 32, "Node", "");
+ RNA_def_int(ot->srna, "socket", 0, 0, MAX_SOCKET, "Socket", "", 0, MAX_SOCKET);
+ RNA_def_enum(ot->srna, "in_out", socket_in_out_items, SOCK_IN, "Socket Side", "");
+}
+
+static int edit_node_invoke_properties(bContext *C, wmOperator *op)
+{
+ if (!RNA_property_is_set(op->ptr, "node")) {
+ bNode *node= CTX_data_pointer_get_type(C, "node", &RNA_Node).data;
+ if (!node)
+ return 0;
+ else
+ RNA_string_set(op->ptr, "node", node->name);
+ }
+
+ if (!RNA_property_is_set(op->ptr, "in_out"))
+ RNA_enum_set(op->ptr, "in_out", SOCK_IN);
+
+ if (!RNA_property_is_set(op->ptr, "socket"))
+ RNA_int_set(op->ptr, "socket", 0);
+
+ return 1;
+}
+
+static void edit_node_properties_get(wmOperator *op, bNodeTree *ntree, bNode **rnode, bNodeSocket **rsock, int *rin_out)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ char nodename[32];
+ int sockindex;
+ int in_out;
+
+ RNA_string_get(op->ptr, "node", nodename);
+ node = nodeFindNodebyName(ntree, nodename);
+
+ in_out = RNA_enum_get(op->ptr, "in_out");
+
+ sockindex = RNA_int_get(op->ptr, "socket");
+ switch (in_out) {
+ case SOCK_IN: sock = BLI_findlink(&node->inputs, sockindex); break;
+ case SOCK_OUT: sock = BLI_findlink(&node->outputs, sockindex); break;
+ }
+
+ if (rnode)
+ *rnode = node;
+ if (rsock)
+ *rsock = sock;
+ if (rin_out)
+ *rin_out = in_out;
}
/* ***************** Edit Group operator ************* */
@@ -583,8 +807,8 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode)
bNode *node;
/* make sure nothing has group editing on */
- for(node= snode->nodetree->nodes.first; node; node= node->next)
- node->flag &= ~NODE_GROUP_EDIT;
+ for(node=snode->nodetree->nodes.first; node; node=node->next)
+ nodeGroupEditClear(node);
if(gnode==NULL) {
/* with NULL argument we do a toggle */
@@ -592,34 +816,30 @@ void snode_make_group_editable(SpaceNode *snode, bNode *gnode)
gnode= nodeGetActive(snode->nodetree);
}
- if(gnode && gnode->type==NODE_GROUP && gnode->id) {
- if(gnode->id->lib)
- ntreeMakeLocal((bNodeTree *)gnode->id);
-
- gnode->flag |= NODE_GROUP_EDIT;
- snode->edittree= (bNodeTree *)gnode->id;
+ if (gnode) {
+ snode->edittree = nodeGroupEditSet(gnode, 1);
/* deselect all other nodes, so we can also do grabbing of entire subtree */
for(node= snode->nodetree->nodes.first; node; node= node->next)
node->flag &= ~SELECT;
gnode->flag |= SELECT;
-
}
else
snode->edittree= snode->nodetree;
-
- ntreeSolveOrder(snode->nodetree);
}
static int node_group_edit_exec(bContext *C, wmOperator *UNUSED(op))
{
SpaceNode *snode = CTX_wm_space_node(C);
- bNode *gnode;
ED_preview_kill_jobs(C);
- gnode= nodeGetActive(snode->edittree);
- snode_make_group_editable(snode, gnode);
+ if (snode->nodetree==snode->edittree) {
+ bNode *gnode= nodeGetActive(snode->nodetree);
+ snode_make_group_editable(snode, gnode);
+ }
+ else
+ snode_make_group_editable(snode, NULL);
WM_event_add_notifier(C, NC_SCENE|ND_NODES, NULL);
@@ -632,7 +852,8 @@ static int node_group_edit_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(e
bNode *gnode;
gnode= nodeGetActive(snode->edittree);
- if(gnode && gnode->type==NODE_GROUP && gnode->id && gnode->id->lib) {
+ /* XXX callback? */
+ if(gnode && gnode->id && GS(gnode->id->name)==ID_NT && gnode->id->lib) {
uiPupMenuOkee(C, op->type->idname, "Make group local?");
return OPERATOR_CANCELLED;
}
@@ -663,7 +884,7 @@ static int node_group_socket_add_exec(bContext *C, wmOperator *op)
SpaceNode *snode = CTX_wm_space_node(C);
int in_out= -1;
char name[32]= "";
- int type= SOCK_VALUE;
+ int type= SOCK_FLOAT;
bNodeTree *ngroup= snode->edittree;
bNodeSocket *sock;
@@ -680,9 +901,10 @@ static int node_group_socket_add_exec(bContext *C, wmOperator *op)
else
return OPERATOR_CANCELLED;
- sock = nodeGroupAddSocket(ngroup, name, type, in_out);
+ /* using placeholder subtype first */
+ sock = node_group_add_socket(ngroup, name, type, in_out);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -705,7 +927,7 @@ void NODE_OT_group_socket_add(wmOperatorType *ot)
RNA_def_enum(ot->srna, "in_out", socket_in_out_items, SOCK_IN, "Socket Type", "Input or Output");
RNA_def_string(ot->srna, "name", "", 32, "Name", "Group socket name");
- RNA_def_enum(ot->srna, "type", node_socket_type_items, SOCK_VALUE, "Type", "Type of the group socket");
+ RNA_def_enum(ot->srna, "type", node_socket_type_items, SOCK_FLOAT, "Type", "Type of the group socket");
}
/* ***************** Remove Group Socket operator ************* */
@@ -732,8 +954,8 @@ static int node_group_socket_remove_exec(bContext *C, wmOperator *op)
sock = (bNodeSocket*)BLI_findlink(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, index);
if (sock) {
- nodeGroupRemoveSocket(ngroup, sock, in_out);
- node_tree_verify_groups(snode->nodetree);
+ node_group_remove_socket(ngroup, sock, in_out);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
}
@@ -790,6 +1012,8 @@ static int node_group_socket_move_up_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->inputs, sock);
BLI_insertlinkbefore(&ngroup->inputs, prev, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
}
else if (in_out==SOCK_OUT) {
sock = (bNodeSocket*)BLI_findlink(&ngroup->outputs, index);
@@ -799,8 +1023,10 @@ static int node_group_socket_move_up_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->outputs, sock);
BLI_insertlinkbefore(&ngroup->outputs, prev, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -856,6 +1082,8 @@ static int node_group_socket_move_down_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->inputs, sock);
BLI_insertlinkafter(&ngroup->inputs, next, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
}
else if (in_out==SOCK_OUT) {
sock = (bNodeSocket*)BLI_findlink(&ngroup->outputs, index);
@@ -865,8 +1093,10 @@ static int node_group_socket_move_down_exec(bContext *C, wmOperator *op)
return OPERATOR_CANCELLED;
BLI_remlink(&ngroup->outputs, sock);
BLI_insertlinkafter(&ngroup->outputs, next, sock);
+
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(ngroup);
snode_notify(C, snode);
@@ -913,7 +1143,7 @@ static int node_group_ungroup_exec(bContext *C, wmOperator *op)
BKE_report(op->reports, RPT_WARNING, "Not a group");
return OPERATOR_CANCELLED;
}
- else if(!nodeGroupUnGroup(snode->edittree, gnode)) {
+ else if(!node_group_ungroup(snode->edittree, gnode)) {
BKE_report(op->reports, RPT_WARNING, "Can't ungroup");
return OPERATOR_CANCELLED;
}
@@ -941,70 +1171,16 @@ void NODE_OT_group_ungroup(wmOperatorType *ot)
/* ************************** Node generic ************** */
-/* allows to walk the list in order of visibility */
-bNode *next_node(bNodeTree *ntree)
-{
- static bNode *current=NULL, *last= NULL;
-
- if(ntree) {
- /* set current to the first selected node */
- for(current= ntree->nodes.last; current; current= current->prev)
- if(current->flag & NODE_SELECT)
- break;
-
- /* set last to the first unselected node */
- for(last= ntree->nodes.last; last; last= last->prev)
- if((last->flag & NODE_SELECT)==0)
- break;
-
- if(current==NULL)
- current= last;
-
- return NULL;
- }
- /* no nodes, or we are ready */
- if(current==NULL)
- return NULL;
-
- /* now we walk the list backwards, but we always return current */
- if(current->flag & NODE_SELECT) {
- bNode *node= current;
-
- /* find previous selected */
- current= current->prev;
- while(current && (current->flag & NODE_SELECT)==0)
- current= current->prev;
-
- /* find first unselected */
- if(current==NULL)
- current= last;
-
- return node;
- }
- else {
- bNode *node= current;
-
- /* find previous unselected */
- current= current->prev;
- while(current && (current->flag & NODE_SELECT))
- current= current->prev;
-
- return node;
- }
-
- return NULL;
-}
-
/* is rct in visible part of node? */
static bNode *visible_node(SpaceNode *snode, rctf *rct)
{
- bNode *tnode;
+ bNode *node;
- for(next_node(snode->edittree); (tnode=next_node(NULL));) {
- if(BLI_isect_rctf(&tnode->totr, rct, NULL))
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(BLI_isect_rctf(&node->totr, rct, NULL))
break;
}
- return tnode;
+ return node;
}
/* **************************** */
@@ -1108,7 +1284,7 @@ void NODE_OT_backimage_move(wmOperatorType *ot)
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)
@@ -1307,8 +1483,9 @@ void NODE_OT_backimage_sample(wmOperatorType *ot)
/* ********************** size widget operator ******************** */
typedef struct NodeSizeWidget {
- float mxstart;
- float oldwidth;
+ float mxstart, mystart;
+ float oldwidth, oldheight;
+ float oldminiwidth;
} NodeSizeWidget;
static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
@@ -1327,13 +1504,16 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
if (node) {
if(node->flag & NODE_HIDDEN) {
- node->miniwidth= nsw->oldwidth + mx - nsw->mxstart;
+ node->miniwidth= nsw->oldminiwidth + mx - nsw->mxstart;
CLAMP(node->miniwidth, 0.0f, 100.0f);
}
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);
}
+ /* height works the other way round ... */
+ node->height= nsw->oldheight - my + nsw->mystart;
+ CLAMP(node->height, node->typeinfo->minheight, node->typeinfo->maxheight);
}
ED_region_tag_redraw(ar);
@@ -1347,6 +1527,8 @@ static int node_resize_modal(bContext *C, wmOperator *op, wmEvent *event)
MEM_freeN(nsw);
op->customdata= NULL;
+ ED_node_update_hierarchy(C, snode->edittree);
+
return OPERATOR_FINISHED;
}
@@ -1360,28 +1542,21 @@ static int node_resize_invoke(bContext *C, wmOperator *op, wmEvent *event)
bNode *node= editnode_get_active(snode->edittree);
if(node) {
- rctf totr;
-
/* convert mouse coordinates to v2d space */
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(BLI_in_rctf(&totr, snode->mx, snode->my)) {
+ if(node->typeinfo->resize_area_func(node, snode->mx, snode->my)) {
NodeSizeWidget *nsw= MEM_callocN(sizeof(NodeSizeWidget), "size widget op data");
op->customdata= nsw;
nsw->mxstart= snode->mx;
+ nsw->mystart= snode->my;
/* store old */
- if(node->flag & NODE_HIDDEN)
- nsw->oldwidth= node->miniwidth;
- else
- nsw->oldwidth= node->width;
+ nsw->oldwidth= node->width;
+ nsw->oldheight= node->height;
+ nsw->oldminiwidth= node->miniwidth;
/* add modal handler */
WM_event_add_modal_handler(C, op);
@@ -1580,7 +1755,7 @@ static void node_link_viewer(SpaceNode *snode, bNode *tonode)
link->fromnode= tonode;
link->fromsock= sock;
}
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->edittree);
snode_tag_changed(snode, node);
}
}
@@ -1625,7 +1800,7 @@ void NODE_OT_link_viewer(wmOperatorType *ot)
/* return 0, nothing done */
-static int node_mouse_groupheader(SpaceNode *snode)
+static int UNUSED_FUNCTION(node_mouse_groupheader)(SpaceNode *snode)
{
bNode *gnode;
float mx=0, my=0;
@@ -1887,6 +2062,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
ListBase *nodelist = MEM_callocN(sizeof(ListBase), "items_list");
bNodeListItem *nli;
bNode *node;
+ bNodeLink *link;
int i, numlinks=0;
for(node= snode->edittree->nodes.first; node; node= node->next) {
@@ -1923,7 +2099,15 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
/* then we can connect */
if (replace)
nodeRemSocketLinks(snode->edittree, sock_to);
- nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to);
+
+ link = nodeAddLink(snode->edittree, node_fr, sock_fr, node_to, sock_to);
+ /* validate the new link */
+ ntreeUpdateTree(snode->edittree);
+ if (!(link->flag & NODE_LINK_VALID)) {
+ nodeRemLink(snode->edittree, link);
+ continue;
+ }
+
snode_tag_changed(snode, node_to);
++numlinks;
break;
@@ -1931,8 +2115,7 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
}
if (numlinks > 0) {
- node_tree_verify_groups(snode->nodetree);
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->edittree);
}
BLI_freelistN(nodelist);
@@ -1940,28 +2123,13 @@ void snode_autoconnect(SpaceNode *snode, int allow_multiple, int replace)
}
/* can be called from menus too, but they should do own undopush and redraws */
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy)
+bNode *node_add_node(SpaceNode *snode, Main *bmain, Scene *scene, bNodeTemplate *ntemp, float locx, float locy)
{
bNode *node= NULL, *gnode;
node_deselectall(snode);
- if(type>=NODE_DYNAMIC_MENU) {
- node= nodeAddNodeType(snode->edittree, type, NULL, NULL);
- }
- else if(type>=NODE_GROUP_MENU) {
- if(snode->edittree!=snode->nodetree) {
- // XXX error("Can not add a Group in a Group");
- return NULL;
- }
- else {
- bNodeTree *ngroup= BLI_findlink(&G.main->nodetree, type-NODE_GROUP_MENU);
- if(ngroup)
- node= nodeAddNodeType(snode->edittree, NODE_GROUP, ngroup, NULL);
- }
- }
- else
- node= nodeAddNodeType(snode->edittree, type, NULL, NULL);
+ node = nodeAddNode(snode->edittree, ntemp);
/* generics */
if(node) {
@@ -1975,8 +2143,8 @@ bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float
node->locy -= gnode->locy;
}
- node_tree_verify_groups(snode->nodetree);
- node_set_active(snode, node);
+ ntreeUpdateTree(snode->edittree);
+ ED_node_set_active(bmain, snode->edittree, node);
if(snode->nodetree->type==NTREE_COMPOSIT) {
if(ELEM4(node->type, CMP_NODE_R_LAYERS, CMP_NODE_COMPOSITE, CMP_NODE_DEFOCUS, CMP_NODE_OUTPUT_FILE))
@@ -2000,23 +2168,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. */
@@ -2027,13 +2193,59 @@ 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;
}
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2053,6 +2265,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 ******************** */
@@ -2071,9 +2285,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;
}
@@ -2120,17 +2334,25 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
if( link->tosock!= tsock && (!tnode || (tnode!=node && link->tonode!=tnode)) ) {
link->tonode= tnode;
link->tosock= tsock;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
- ntreeSolveOrder(snode->edittree); /* for interactive red line warning */
+ }
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
}
}
}
else {
- BLI_remlink(&snode->edittree->links, link);
- link->prev = link->next = NULL;
- link->tonode= NULL;
- link->tosock= NULL;
+ if (link->tonode || link->tosock) {
+ BLI_remlink(&snode->edittree->links, link);
+ link->prev = link->next = NULL;
+ link->tonode= NULL;
+ link->tosock= NULL;
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
+ }
}
}
else {
@@ -2140,18 +2362,25 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
if( link->fromsock!= tsock && (!tnode || (tnode!=node && link->fromnode!=tnode)) ) {
link->fromnode= tnode;
link->fromsock= tsock;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
- ntreeSolveOrder(snode->edittree); /* for interactive red line warning */
+ }
+
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
}
}
}
}
else {
- BLI_remlink(&snode->edittree->links, link);
- link->prev = link->next = NULL;
- link->fromnode= NULL;
- link->fromsock= NULL;
+ if (link->tonode || link->tosock) {
+ BLI_remlink(&snode->edittree->links, link);
+ link->prev = link->next = NULL;
+ link->fromnode= NULL;
+ link->fromsock= NULL;
+ snode->edittree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(snode->edittree);
+ }
}
}
/* hilight target sockets only */
@@ -2169,27 +2398,36 @@ static int node_link_modal(bContext *C, wmOperator *op, wmEvent *event)
/* we might need to remove a link */
if(in_out==SOCK_OUT)
node_remove_extra_links(snode, link->tosock, link);
+
+ /* when linking to group outputs, update the socket type */
+ /* XXX this should all be part of a generic update system */
+ if (!link->tonode) {
+ link->tosock->type = link->fromsock->type;
+ }
}
else if (outside_group_rect(snode) && (link->tonode || link->fromnode)) {
/* automatically add new group socket */
if (link->tonode && link->tosock) {
- link->fromsock = nodeGroupExposeSocket(snode->edittree, link->tosock, SOCK_IN);
+ link->fromsock = node_group_expose_socket(snode->edittree, link->tosock, SOCK_IN);
link->fromnode = NULL;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
+ }
+ snode->edittree->update |= NTREE_UPDATE_GROUP_IN | NTREE_UPDATE_LINKS;
}
else if (link->fromnode && link->fromsock) {
- link->tosock = nodeGroupExposeSocket(snode->edittree, link->fromsock, SOCK_OUT);
+ link->tosock = node_group_expose_socket(snode->edittree, link->fromsock, SOCK_OUT);
link->tonode = NULL;
- if (link->prev==NULL && link->next==NULL)
+ if (link->prev==NULL && link->next==NULL) {
BLI_addtail(&snode->edittree->links, link);
+ }
+ snode->edittree->update |= NTREE_UPDATE_GROUP_OUT | NTREE_UPDATE_LINKS;
}
}
else
nodeRemLink(snode->edittree, link);
- ntreeSolveOrder(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2264,7 +2502,7 @@ static int node_link_invoke(bContext *C, wmOperator *op, wmEvent *event)
ED_preview_kill_jobs(C);
nldrag->in_out= node_link_init(snode, nldrag);
-
+
if(nldrag->in_out) {
op->customdata= nldrag;
@@ -2337,7 +2575,7 @@ static int node_make_link_exec(bContext *C, wmOperator *op)
snode_autoconnect(snode, 1, replace);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2411,8 +2649,7 @@ static int cut_links_exec(bContext *C, wmOperator *op)
}
}
- ntreeSolveOrder(snode->edittree);
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2445,6 +2682,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);
+ ntreeUpdateTree(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...
@@ -2603,14 +2985,14 @@ static int node_group_make_exec(bContext *C, wmOperator *op)
ED_preview_kill_jobs(C);
- gnode= nodeMakeGroupFromSelected(snode->nodetree);
+ gnode= node_group_make_from_selected(snode->nodetree);
if(gnode==NULL) {
BKE_report(op->reports, RPT_WARNING, "Can not make Group");
return OPERATOR_CANCELLED;
}
else {
nodeSetActive(snode->nodetree, gnode);
- ntreeSolveOrder(snode->nodetree);
+ ntreeUpdateTree(snode->nodetree);
}
snode_notify(C, snode);
@@ -2756,7 +3138,7 @@ static int node_socket_toggle_exec(bContext *C, wmOperator *UNUSED(op))
}
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
@@ -2793,10 +3175,10 @@ static int node_mute_exec(bContext *C, wmOperator *UNUSED(op))
for(node= snode->edittree->nodes.first; node; node= node->next) {
if(node->flag & SELECT) {
- if(node->inputs.first && node->outputs.first) {
+ /* Be able to mute in-/output nodes as well. - DingTo
+ if(node->inputs.first && node->outputs.first) { */
node->flag ^= NODE_MUTED;
snode_tag_changed(snode, node);
- }
}
}
@@ -2840,7 +3222,7 @@ static int node_delete_exec(bContext *C, wmOperator *UNUSED(op))
}
}
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
snode_notify(C, snode);
snode_dag_update(C, snode);
@@ -2863,6 +3245,155 @@ void NODE_OT_delete(wmOperatorType *ot)
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
+/* ****************** Delete with reconnect ******************* */
+static int is_connected_to_input_socket(bNode* node, bNodeLink* link) {
+ bNodeSocket *sock;
+ if (link->tonode == node) {
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if (link->tosock == sock) {
+ return sock->type;
+ }
+ }
+ }
+ return -1;
+}
+
+static void node_delete_reconnect(bNodeTree* tree, bNode* node)
+{
+ bNodeLink *link, *next, *first = NULL;
+ bNodeSocket *valsocket= NULL, *colsocket= NULL, *vecsocket= NULL;
+ bNodeSocket *deliveringvalsocket= NULL, *deliveringcolsocket= NULL, *deliveringvecsocket= NULL;
+ bNode *deliveringvalnode= NULL, *deliveringcolnode= NULL, *deliveringvecnode= NULL;
+ bNodeSocket *sock;
+ int type;
+ int numberOfConnectedOutputSockets = 0;
+ int numberOfReconnections = 0;
+ int numberOfConnectedInputSockets = 0;
+
+ /*
+ test the inputs, not really correct when a node has multiple input sockets of the same type
+ the first link evaluated will be used to determine the possible connection.
+ */
+ for(link= tree->links.first; link; link=link->next) {
+ if (link->tonode == node) { numberOfConnectedInputSockets++; }
+ type = is_connected_to_input_socket(node, link);
+ switch (type) {
+ case SOCK_RGBA:
+ if (colsocket == NULL) {
+ colsocket = link->tosock;
+ deliveringcolnode = link->fromnode;
+ deliveringcolsocket = link->fromsock;
+ }
+ break;
+ case SOCK_VECTOR:
+ if (vecsocket == NULL) {
+ vecsocket = link->tosock;
+ deliveringvecnode = link->fromnode;
+ deliveringvecsocket = link->fromsock;
+ }
+ break;
+ case SOCK_FLOAT:
+ if (valsocket == NULL) {
+ valsocket = link->tosock;
+ deliveringvalnode = link->fromnode;
+ deliveringvalsocket = link->fromsock;
+ }
+ break;
+ default:
+ break;
+ }
+ }
+
+ // 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;
+ numberOfConnectedOutputSockets ++;
+ if (!first) first = link;
+ switch(sock->type) {
+ case SOCK_FLOAT:
+ if (deliveringvalsocket) {
+ link->fromnode = deliveringvalnode;
+ link->fromsock = deliveringvalsocket;
+ numberOfReconnections++;
+ }
+ break;
+ case SOCK_VECTOR:
+ if (deliveringvecsocket) {
+ link->fromnode = deliveringvecnode;
+ link->fromsock = deliveringvecsocket;
+ numberOfReconnections++;
+ }
+ break;
+ case SOCK_RGBA:
+ if (deliveringcolsocket) {
+ link->fromnode = deliveringcolnode;
+ link->fromsock = deliveringcolsocket;
+ numberOfReconnections++;
+ }
+ break;
+ }
+ }
+ }
+
+ /* when no connections have been made, and if only one delivering input socket type and one output socket we will connect those two */
+ if (numberOfConnectedOutputSockets == 1 && numberOfReconnections == 0 && numberOfConnectedInputSockets == 1) {
+ if (deliveringcolsocket) {
+ first->fromnode = deliveringcolnode;
+ first->fromsock = deliveringcolsocket;
+ } else if (deliveringvecsocket) {
+ first->fromnode = deliveringvecnode;
+ first->fromsock = deliveringvecsocket;
+ } else if (deliveringvalsocket) {
+ first->fromnode = deliveringvalnode;
+ first->fromsock = deliveringvalsocket;
+ }
+ }
+
+ 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);
+ }
+ }
+
+ ntreeUpdateTree(snode->edittree);
+
+ 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))
@@ -2870,7 +3401,7 @@ static int node_show_cycles_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode= CTX_wm_space_node(C);
/* this is just a wrapper around this call... */
- ntreeSolveOrder(snode->edittree);
+ ntreeUpdateTree(snode->nodetree);
snode_notify(C, snode);
return OPERATOR_FINISHED;
@@ -2895,11 +3426,14 @@ void NODE_OT_show_cyclic_dependencies(wmOperatorType *ot)
static int node_add_file_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
Scene *scene= CTX_data_scene(C);
SpaceNode *snode= CTX_wm_space_node(C);
bNode *node;
Image *ima= NULL;
- int ntype=0;
+ bNodeTemplate ntemp;
+
+ ntemp.type = -1;
/* check input variables */
if (RNA_property_is_set(op->ptr, "filepath"))
@@ -2931,11 +3465,14 @@ static int node_add_file_exec(bContext *C, wmOperator *op)
node_deselectall(snode);
if (snode->nodetree->type==NTREE_COMPOSIT)
- ntype = CMP_NODE_IMAGE;
+ ntemp.type = CMP_NODE_IMAGE;
+ if (ntemp.type < 0)
+ return OPERATOR_CANCELLED;
+
ED_preview_kill_jobs(C);
- node = node_add_node(snode, scene, ntype, snode->mx, snode->my);
+ node = node_add_node(snode, bmain, scene, &ntemp, snode->mx, snode->my);
if (!node) {
BKE_report(op->reports, RPT_WARNING, "Could not add an image node.");
@@ -2984,3 +3521,67 @@ void NODE_OT_add_file(wmOperatorType *ot)
RNA_def_string(ot->srna, "name", "Image", 24, "Name", "Datablock name to assign.");
}
+/********************** New node tree operator *********************/
+
+static int new_node_tree_exec(bContext *C, wmOperator *op)
+{
+ SpaceNode *snode;
+ bNodeTree *ntree;
+ PointerRNA ptr, idptr;
+ PropertyRNA *prop;
+ int treetype;
+ char treename[MAX_ID_NAME-2] = "NodeTree";
+
+ /* retrieve state */
+ snode= CTX_wm_space_node(C);
+
+ if (RNA_property_is_set(op->ptr, "type"))
+ treetype = RNA_enum_get(op->ptr, "type");
+ else
+ treetype = snode->treetype;
+
+ if (RNA_property_is_set(op->ptr, "name"))
+ RNA_string_get(op->ptr, "name", treename);
+
+ ntree = ntreeAddTree(treename, treetype, 0);
+ if(!ntree)
+ return OPERATOR_CANCELLED;
+
+ /* hook into UI */
+ uiIDContextProperty(C, &ptr, &prop);
+
+ if(prop) {
+ RNA_id_pointer_create(&ntree->id, &idptr);
+ RNA_property_pointer_set(&ptr, prop, idptr);
+ /* RNA_property_pointer_set increases the user count,
+ * fixed here as the editor is the initial user.
+ */
+ --ntree->id.us;
+ RNA_property_update(C, &ptr, prop);
+ }
+ else if(snode) {
+ Scene *scene= CTX_data_scene(C);
+ snode->nodetree = ntree;
+
+ ED_node_tree_update(snode, scene);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+void NODE_OT_new_node_tree(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "New node tree";
+ ot->idname= "NODE_OT_new_node_tree";
+
+ /* api callbacks */
+ ot->exec= new_node_tree_exec;
+ ot->poll= ED_operator_node_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ RNA_def_enum(ot->srna, "type", nodetree_type_items, NTREE_COMPOSIT, "Tree Type", "");
+ RNA_def_string(ot->srna, "name", "NodeTree", MAX_ID_NAME-2, "Name", "");
+}
diff --git a/source/blender/editors/space_node/node_header.c b/source/blender/editors/space_node/node_header.c
index a982f4b1994..5c921d40344 100644
--- a/source/blender/editors/space_node/node_header.c
+++ b/source/blender/editors/space_node/node_header.c
@@ -45,25 +45,29 @@
#include "BLI_utildefines.h"
#include "BKE_context.h"
+#include "BKE_global.h"
#include "BKE_screen.h"
#include "BKE_node.h"
#include "BKE_main.h"
+#include "RNA_access.h"
+
#include "WM_api.h"
#include "WM_types.h"
-
#include "UI_interface.h"
-#include "UI_resources.h"
#include "UI_interface_icons.h"
+#include "UI_resources.h"
#include "UI_view2d.h"
#include "node_intern.h"
/* ************************ add menu *********************** */
-static void do_node_add(bContext *C, void *UNUSED(arg), int event)
+static void do_node_add(bContext *C, bNodeTemplate *ntemp)
{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
SpaceNode *snode= CTX_wm_space_node(C);
ScrArea *sa= CTX_wm_area(C);
ARegion *ar;
@@ -87,15 +91,13 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
else node->flag &= ~NODE_TEST;
}
- node= node_add_node(snode, CTX_data_scene(C), event, snode->mx, snode->my);
+ node= node_add_node(snode, bmain, scene, ntemp, snode->mx, snode->my);
/* select previous selection before autoconnect */
for(node= snode->edittree->nodes.first; node; node= node->next) {
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;
@@ -105,69 +107,111 @@ static void do_node_add(bContext *C, void *UNUSED(arg), int event)
snode_dag_update(C, snode);
}
-static void node_auto_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
+static void do_node_add_static(bContext *C, void *UNUSED(arg), int event)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = event;
+ do_node_add(C, &ntemp);
+}
+
+static void do_node_add_group(bContext *C, void *UNUSED(arg), int event)
+{
+ SpaceNode *snode= CTX_wm_space_node(C);
+ bNodeTemplate ntemp;
+
+ if (event>=0) {
+ ntemp.ngroup= BLI_findlink(&G.main->nodetree, event);
+ ntemp.type = ntemp.ngroup->nodetype;
+ }
+ else {
+ ntemp.type = -event;
+ switch (ntemp.type) {
+ case NODE_GROUP:
+ ntemp.ngroup = ntreeAddTree("Group", snode->treetype, ntemp.type);
+ break;
+ case NODE_FORLOOP:
+ ntemp.ngroup = ntreeAddTree("For Loop", snode->treetype, ntemp.type);
+ break;
+ case NODE_WHILELOOP:
+ ntemp.ngroup = ntreeAddTree("While Loop", snode->treetype, ntemp.type);
+ break;
+ default:
+ ntemp.ngroup = NULL;
+ }
+ }
+ if (!ntemp.ngroup)
+ return;
+
+ do_node_add(C, &ntemp);
+}
+
+#if 0 /* disabled */
+static void do_node_add_dynamic(bContext *C, void *UNUSED(arg), int event)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_DYNAMIC;
+ do_node_add(C, &ntemp);
+}
+#endif
+
+static int node_tree_has_type(int treetype, int nodetype)
+{
+ bNodeTreeType *ttype= ntreeGetType(treetype);
+ bNodeType *ntype;
+ for (ntype=ttype->node_types.first; ntype; ntype=ntype->next) {
+ if (ntype->type==nodetype)
+ return 1;
+ }
+ return 0;
+}
+
+static void node_add_menu(bContext *C, uiLayout *layout, void *arg_nodeclass)
{
Main *bmain= CTX_data_main(C);
SpaceNode *snode= CTX_wm_space_node(C);
bNodeTree *ntree;
int nodeclass= GET_INT_FROM_POINTER(arg_nodeclass);
- int tot= 0, a;
+ int event;
ntree = snode->nodetree;
-
+
if(!ntree) {
uiItemS(layout);
return;
}
-
- /* mostly taken from toolbox.c, node_add_sublevel() */
- if(nodeclass==NODE_CLASS_GROUP) {
- bNodeTree *ngroup= bmain->nodetree.first;
- for(; ngroup; ngroup= ngroup->id.next)
- if(ngroup->type==ntree->type)
- tot++;
- }
- else {
- bNodeType *type = ntree->alltypes.first;
- while(type) {
- if(type->nclass == nodeclass)
- tot++;
- type= type->next;
- }
- }
- if(tot==0) {
+ if (nodeclass==NODE_CLASS_GROUP) {
+ bNodeTree *ngroup;
+
+ uiLayoutSetFunc(layout, do_node_add_group, NULL);
+
+ /* XXX hack: negative numbers used for empty group types */
+ if (node_tree_has_type(ntree->type, NODE_GROUP))
+ uiItemV(layout, "New Group", 0, -NODE_GROUP);
+ if (node_tree_has_type(ntree->type, NODE_FORLOOP))
+ uiItemV(layout, "New For Loop", 0, -NODE_FORLOOP);
+ if (node_tree_has_type(ntree->type, NODE_WHILELOOP))
+ uiItemV(layout, "New While Loop", 0, -NODE_WHILELOOP);
uiItemS(layout);
- return;
- }
-
- uiLayoutSetFunc(layout, do_node_add, NULL);
-
- if(nodeclass==NODE_CLASS_GROUP) {
- bNodeTree *ngroup= bmain->nodetree.first;
-
- for(tot=0, a=0; ngroup; ngroup= ngroup->id.next, tot++) {
- if(ngroup->type==ntree->type) {
- uiItemV(layout, ngroup->id.name+2, ICON_NONE, NODE_GROUP_MENU+tot);
- a++;
+
+ for(ngroup=bmain->nodetree.first, event=0; ngroup; ngroup= ngroup->id.next, ++event) {
+ /* only use group trees */
+ if (ngroup->type==ntree->type && ELEM3(ngroup->nodetype, NODE_GROUP, NODE_FORLOOP, NODE_WHILELOOP)) {
+ uiItemV(layout, ngroup->id.name+2, 0, event);
}
}
}
+ else if (nodeclass==NODE_DYNAMIC) {
+ /* disabled */
+ }
else {
- bNodeType *type;
- int script=0;
-
- for(a=0, type= ntree->alltypes.first; type; type=type->next) {
- if(type->nclass == nodeclass && type->name) {
- if(type->type == NODE_DYNAMIC) {
- uiItemV(layout, type->name, ICON_NONE, NODE_DYNAMIC_MENU+script);
- script++;
- }
- else
- uiItemV(layout, type->name, ICON_NONE, type->type);
-
- a++;
- }
+ bNodeType *ntype;
+
+ uiLayoutSetFunc(layout, do_node_add_static, NULL);
+
+ for (ntype=ntreeGetType(ntree->type)->node_types.first; ntype; ntype=ntype->next) {
+ if(ntype->nclass==nodeclass && ntype->name)
+ uiItemV(layout, ntype->name, 0, ntype->type);
}
}
}
@@ -181,34 +225,34 @@ static void node_menu_add(const bContext *C, Menu *menu)
uiLayoutSetActive(layout, 0);
if(snode->treetype==NTREE_SHADER) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
- uiItemMenuF(layout, "Dynamic", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Vector", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Dynamic", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_DYNAMIC));
}
else if(snode->treetype==NTREE_COMPOSIT) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Vector", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
- uiItemMenuF(layout, "Filter", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Matte", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
- uiItemMenuF(layout, "Distort", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Vector", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_VECTOR));
+ uiItemMenuF(layout, "Filter", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_FILTER));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Matte", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_MATTE));
+ uiItemMenuF(layout, "Distort", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
}
else if(snode->treetype==NTREE_TEXTURE) {
- uiItemMenuF(layout, "Input", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
- uiItemMenuF(layout, "Output", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
- uiItemMenuF(layout, "Color", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
- uiItemMenuF(layout, "Patterns", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
- uiItemMenuF(layout, "Textures", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
- uiItemMenuF(layout, "Convertor", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
- uiItemMenuF(layout, "Distort", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
- uiItemMenuF(layout, "Group", 0, node_auto_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
+ uiItemMenuF(layout, "Input", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_INPUT));
+ uiItemMenuF(layout, "Output", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OUTPUT));
+ uiItemMenuF(layout, "Color", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_OP_COLOR));
+ uiItemMenuF(layout, "Patterns", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_PATTERN));
+ uiItemMenuF(layout, "Textures", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_TEXTURE));
+ uiItemMenuF(layout, "Convertor", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_CONVERTOR));
+ uiItemMenuF(layout, "Distort", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_DISTORT));
+ uiItemMenuF(layout, "Group", 0, node_add_menu, SET_INT_IN_POINTER(NODE_CLASS_GROUP));
}
}
diff --git a/source/blender/editors/space_node/node_intern.h b/source/blender/editors/space_node/node_intern.h
index fcf1c182600..3751d8efae8 100644
--- a/source/blender/editors/space_node/node_intern.h
+++ b/source/blender/editors/space_node/node_intern.h
@@ -33,6 +33,8 @@
#ifndef ED_NODE_INTERN_H
#define ED_NODE_INTERN_H
+#include "UI_interface.h"
+
/* internal exports only */
struct ARegion;
@@ -40,9 +42,11 @@ struct ARegionType;
struct View2D;
struct bContext;
struct wmWindowManager;
+struct bNodeTemplate;
struct bNode;
struct bNodeSocket;
struct bNodeLink;
+struct Main;
/* temp data to pass on to modal */
typedef struct bNodeLinkDrag
@@ -63,6 +67,11 @@ void node_header_buttons(const bContext *C, ARegion *ar);
void node_menus_register(void);
/* node_draw.c */
+void node_socket_circle_draw(struct bNodeTree *ntree, struct bNodeSocket *sock, float size);
+void node_draw_default(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree, struct bNode *node);
+void node_update_default(const struct bContext *C, struct bNodeTree *ntree, struct bNode *node);
+void node_update_nodetree(const struct bContext *C, struct bNodeTree *ntree, float offsetx, float offsety);
+void node_draw_nodetree(const struct bContext *C, struct ARegion *ar, struct SpaceNode *snode, struct bNodeTree *ntree);
void drawnodespace(const bContext *C, ARegion *ar, View2D *v2d);
/* node_buttons.c */
@@ -89,6 +98,7 @@ void NODE_OT_select_same_type_prev(wmOperatorType *ot);
void node_draw_link(View2D *v2d, SpaceNode *snode, bNodeLink *link);
void node_draw_link_bezier(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 );
int node_link_bezier_points(View2D *v2d, SpaceNode *snode, bNodeLink *link, float coord_array[][2], int resol);
+void node_draw_link_straight(View2D *v2d, SpaceNode *snode, bNodeLink *link, int th_col1, int do_shaded, int th_col2, int do_triple, int th_col3 );
void draw_nodespace_back_pix(ARegion *ar, SpaceNode *snode, int color_manage);
void draw_nodespace_color_info(struct ARegion *ar, int color_manage, int channels, int x, int y, char *cp, float *fp);
@@ -96,11 +106,10 @@ void draw_nodespace_color_info(struct ARegion *ar, int color_manage, int channel
void node_tree_from_ID(ID *id, bNodeTree **ntree, bNodeTree **edittree, int *treetype);
void snode_notify(bContext *C, SpaceNode *snode);
void snode_dag_update(bContext *C, SpaceNode *snode);
-bNode *next_node(bNodeTree *ntree);
-bNode *node_add_node(SpaceNode *snode, Scene *scene, int type, float locx, float locy);
+bNode *node_add_node(struct SpaceNode *snode, struct Main *bmain, struct Scene *scene, struct bNodeTemplate *ntemp, float locx, float locy);
void snode_set_context(SpaceNode *snode, Scene *scene);
void snode_make_group_editable(SpaceNode *snode, bNode *gnode);
-void node_set_active(SpaceNode *snode, bNode *node);
+void node_sort(struct bNodeTree *ntree);
void node_deselectall(SpaceNode *snode);
int node_select_same_type(SpaceNode *snode);
int node_select_same_type_np(SpaceNode *snode, int dir);
@@ -114,6 +123,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);
@@ -145,6 +155,8 @@ void NODE_OT_backimage_sample(wmOperatorType *ot);
void NODE_OT_add_file(struct wmOperatorType *ot);
+void NODE_OT_new_node_tree(struct wmOperatorType *ot);
+
extern const char *node_context_dir[];
// XXXXXX
@@ -152,8 +164,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..153d703ddf6 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);
@@ -95,21 +96,29 @@ void node_operatortypes(void)
WM_operatortype_append(NODE_OT_backimage_sample);
WM_operatortype_append(NODE_OT_add_file);
+
+ WM_operatortype_append(NODE_OT_new_node_tree);
}
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 +164,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 +178,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);
@@ -183,6 +195,5 @@ void node_keymap(struct wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "NODE_OT_read_fullsamplelayers", RKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "NODE_OT_render_changed", ZKEY, KM_PRESS, 0, 0);
-
transform_keymap_for_space(keyconf, keymap, SPACE_NODE);
}
diff --git a/source/blender/editors/space_node/node_select.c b/source/blender/editors/space_node/node_select.c
index 1abcaccc939..3d8b1676ea5 100644
--- a/source/blender/editors/space_node/node_select.c
+++ b/source/blender/editors/space_node/node_select.c
@@ -37,10 +37,12 @@
#include "DNA_scene_types.h"
#include "BKE_context.h"
+#include "BKE_main.h"
#include "BLI_rect.h"
#include "BLI_utildefines.h"
+#include "ED_node.h"
#include "ED_screen.h"
#include "ED_types.h"
@@ -60,7 +62,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
{
bNode *node;
- for(next_node(ntree); (node=next_node(NULL));) {
+ for(node=ntree->nodes.last; node; node=node->prev) {
/* node body (header and scale are in other operators) */
if (BLI_in_rctf(&node->totr, mx, my))
return node;
@@ -70,7 +72,7 @@ static bNode *node_under_mouse(bNodeTree *ntree, int mx, int my)
/* ****** Click Select ****** */
-static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
+static bNode *node_mouse_select(Main *bmain, SpaceNode *snode, ARegion *ar, const int mval[2], short extend)
{
bNode *node;
float mx, my;
@@ -91,8 +93,10 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
}
else
node->flag ^= SELECT;
-
- node_set_active(snode, node);
+
+ ED_node_set_active(bmain, snode->edittree, node);
+
+ node_sort(snode->edittree);
}
return node;
@@ -100,6 +104,7 @@ static bNode *node_mouse_select(SpaceNode *snode, ARegion *ar, const int mval[2]
static int node_select_exec(bContext *C, wmOperator *op)
{
+ Main *bmain= CTX_data_main(C);
SpaceNode *snode= CTX_wm_space_node(C);
ARegion *ar= CTX_wm_region(C);
int mval[2];
@@ -113,7 +118,7 @@ static int node_select_exec(bContext *C, wmOperator *op)
extend = RNA_boolean_get(op->ptr, "extend");
/* perform the select */
- node= node_mouse_select(snode, ar, mval, extend);
+ node= node_mouse_select(bmain, snode, ar, mval, extend);
/* send notifiers */
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
@@ -179,6 +184,8 @@ static int node_borderselect_exec(bContext *C, wmOperator *op)
}
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
@@ -249,6 +256,8 @@ static int node_select_all_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -289,6 +298,8 @@ static int node_select_linked_to_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -329,6 +340,8 @@ static int node_select_linked_from_exec(bContext *C, wmOperator *UNUSED(op))
node->flag |= NODE_SELECT;
}
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -355,6 +368,9 @@ static int node_select_same_type_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type(snode);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
@@ -381,7 +397,11 @@ static int node_select_same_type_next_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type_np(snode, 0);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
+
return OPERATOR_FINISHED;
}
@@ -405,6 +425,9 @@ static int node_select_same_type_prev_exec(bContext *C, wmOperator *UNUSED(op))
SpaceNode *snode = CTX_wm_space_node(C);
node_select_same_type_np(snode, 1);
+
+ node_sort(snode->edittree);
+
WM_event_add_notifier(C, NC_NODE|NA_SELECTED, NULL);
return OPERATOR_FINISHED;
}
diff --git a/source/blender/editors/space_node/node_state.c b/source/blender/editors/space_node/node_state.c
index 601ffbd313d..c4567bea648 100644
--- a/source/blender/editors/space_node/node_state.c
+++ b/source/blender/editors/space_node/node_state.c
@@ -69,30 +69,14 @@ void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
sock->flag &= ~SOCK_HIDDEN;
}
else {
- bNode *gnode= node_tree_get_editgroup(snode->nodetree);
-
- /* hiding inside group should not break links in other group users */
- if(gnode) {
- nodeGroupSocketUseFlags((bNodeTree *)gnode->id);
- for(sock= node->inputs.first; sock; sock= sock->next)
- if(!(sock->flag & SOCK_IN_USE))
- if(sock->link==NULL)
- sock->flag |= SOCK_HIDDEN;
- for(sock= node->outputs.first; sock; sock= sock->next)
- if(!(sock->flag & SOCK_IN_USE))
- if(nodeCountSocketLinks(snode->edittree, sock)==0)
- sock->flag |= SOCK_HIDDEN;
+ /* hide unused sockets */
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if(sock->link==NULL)
+ sock->flag |= SOCK_HIDDEN;
}
- else {
- /* hide unused sockets */
- for(sock= node->inputs.first; sock; sock= sock->next) {
- if(sock->link==NULL)
- sock->flag |= SOCK_HIDDEN;
- }
- for(sock= node->outputs.first; sock; sock= sock->next) {
- if(nodeCountSocketLinks(snode->edittree, sock)==0)
- sock->flag |= SOCK_HIDDEN;
- }
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(nodeCountSocketLinks(snode->edittree, sock)==0)
+ sock->flag |= SOCK_HIDDEN;
}
}
}
@@ -100,7 +84,7 @@ void node_set_hidden_sockets(SpaceNode *snode, bNode *node, int set)
static void node_hide_unhide_sockets(SpaceNode *snode, bNode *node)
{
node_set_hidden_sockets(snode, node, !node_has_hidden_sockets(node));
- node_tree_verify_groups(snode->nodetree);
+ ntreeUpdateTree(snode->edittree);
}
static int do_header_node(SpaceNode *snode, bNode *node, float mx, float my)
@@ -168,7 +152,7 @@ static int node_toggle_visibility(SpaceNode *snode, ARegion *ar, const int mval[
UI_view2d_region_to_view(&ar->v2d, mval[0], mval[1], &mx, &my);
- for(next_node(snode->edittree); (node=next_node(NULL));) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
if(node->flag & NODE_HIDDEN) {
if(do_header_hidden_node(node, mx, my)) {
ED_region_tag_redraw(ar);
diff --git a/source/blender/editors/space_node/space_node.c b/source/blender/editors/space_node/space_node.c
index 29316c5645a..0990afa4fe6 100644
--- a/source/blender/editors/space_node/space_node.c
+++ b/source/blender/editors/space_node/space_node.c
@@ -200,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 +228,13 @@ static void node_area_listener(ScrArea *sa, wmNotifier *wmn)
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:
if (wmn->action == NA_EDITED) {
@@ -429,14 +439,30 @@ static int node_context(const bContext *C, const char *member, bContextDataResul
else if(CTX_data_equals(member, "selected_nodes")) {
bNode *node;
- for(next_node(snode->edittree); (node=next_node(NULL));) {
- if(node->flag & NODE_SELECT) {
- CTX_data_list_add(result, &snode->edittree->id, &RNA_Node, node);
+ if(snode->edittree) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(node->flag & NODE_SELECT) {
+ CTX_data_list_add(result, &snode->edittree->id, &RNA_Node, node);
+ }
}
}
CTX_data_type_set(result, CTX_DATA_TYPE_COLLECTION);
return 1;
}
+ else if(CTX_data_equals(member, "active_node")) {
+ bNode *node;
+
+ if(snode->edittree) {
+ for(node=snode->edittree->nodes.last; node; node=node->prev) {
+ if(node->flag & NODE_ACTIVE) {
+ CTX_data_pointer_set(result, &snode->edittree->id, &RNA_Node, node);
+ break;
+ }
+ }
+ }
+ CTX_data_type_set(result, CTX_DATA_TYPE_POINTER);
+ return 1;
+ }
return 0;
}
diff --git a/source/blender/editors/space_outliner/CMakeLists.txt b/source/blender/editors/space_outliner/CMakeLists.txt
index c05350c256f..d969a80a678 100644
--- a/source/blender/editors/space_outliner/CMakeLists.txt
+++ b/source/blender/editors/space_outliner/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
@@ -37,8 +37,12 @@ set(INC_SYS
)
set(SRC
- outliner.c
+ outliner_draw.c
+ outliner_edit.c
outliner_ops.c
+ outliner_select.c
+ outliner_tools.c
+ outliner_tree.c
space_outliner.c
outliner_intern.h
diff --git a/source/blender/editors/space_outliner/outliner.c b/source/blender/editors/space_outliner/outliner.c
deleted file mode 100644
index 43e46d485ee..00000000000
--- a/source/blender/editors/space_outliner/outliner.c
+++ /dev/null
@@ -1,5787 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2004 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/space_outliner/outliner.c
- * \ingroup spoutliner
- */
-
-
-#include <math.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stddef.h>
-
-#include "MEM_guardedalloc.h"
-
-#include "DNA_anim_types.h"
-#include "DNA_armature_types.h"
-#include "DNA_constraint_types.h"
-#include "DNA_camera_types.h"
-#include "DNA_group_types.h"
-#include "DNA_key_types.h"
-#include "DNA_lamp_types.h"
-#include "DNA_material_types.h"
-#include "DNA_mesh_types.h"
-#include "DNA_meta_types.h"
-#include "DNA_particle_types.h"
-#include "DNA_scene_types.h"
-#include "DNA_world_types.h"
-#include "DNA_sequence_types.h"
-#include "DNA_object_types.h"
-
-#include "BLI_blenlib.h"
-#include "BLI_utildefines.h"
-
-#if defined WIN32 && !defined _LIBC
-# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
-#else
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE
-# endif
-# include <fnmatch.h>
-#endif
-
-
-#include "BKE_animsys.h"
-#include "BKE_context.h"
-#include "BKE_deform.h"
-#include "BKE_depsgraph.h"
-#include "BKE_fcurve.h"
-#include "BKE_global.h"
-#include "BKE_group.h"
-#include "BKE_library.h"
-#include "BKE_main.h"
-#include "BKE_modifier.h"
-#include "BKE_report.h"
-#include "BKE_scene.h"
-#include "BKE_sequencer.h"
-
-#include "ED_armature.h"
-#include "ED_object.h"
-#include "ED_screen.h"
-#include "ED_util.h"
-
-#include "WM_api.h"
-#include "WM_types.h"
-
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
-
-#include "UI_interface.h"
-#include "UI_interface_icons.h"
-#include "UI_resources.h"
-#include "UI_view2d.h"
-
-#include "RNA_access.h"
-#include "RNA_define.h"
-
-#include "ED_keyframing.h"
-
-#include "outliner_intern.h"
-
-
-#define OL_Y_OFFSET 2
-
-#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3)
-#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2)
-#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X
-
-#define OL_TOGW OL_TOG_RESTRICT_VIEWX
-
-#define OL_RNA_COLX (UI_UNIT_X*15)
-#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5)
-#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5)
-
-#define TS_CHUNK 128
-
-#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
-
-/* ************* XXX **************** */
-
-static void error(const char *UNUSED(arg), ...) {}
-
-/* ********************************** */
-
-
-/* ******************** PROTOTYPES ***************** */
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty);
-static void outliner_do_object_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *));
-
-static int group_select_flag(Group *gr);
-
-/* ******************** PERSISTANT DATA ***************** */
-
-static void outliner_storage_cleanup(SpaceOops *soops)
-{
- TreeStore *ts= soops->treestore;
-
- if(ts) {
- TreeStoreElem *tselem;
- int a, unused= 0;
-
- /* each element used once, for ID blocks with more users to have each a treestore */
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
-
- /* cleanup only after reading file or undo step, and always for
- * RNA datablocks view in order to save memory */
- if(soops->storeflag & SO_TREESTORE_CLEANUP) {
-
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
- if(tselem->id==NULL) unused++;
- }
-
- if(unused) {
- if(ts->usedelem == unused) {
- MEM_freeN(ts->data);
- ts->data= NULL;
- ts->usedelem= ts->totelem= 0;
- }
- else {
- TreeStoreElem *tsnewar, *tsnew;
-
- tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
- for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
- if(tselem->id) {
- *tsnew= *tselem;
- tsnew++;
- }
- }
- MEM_freeN(ts->data);
- ts->data= tsnewar;
- ts->usedelem-= unused;
- ts->totelem= ts->usedelem;
- }
- }
- }
- }
-}
-
-static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
-{
- TreeStore *ts;
- TreeStoreElem *tselem;
- int a;
-
- /* case 1; no TreeStore */
- if(soops->treestore==NULL) {
- soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
- }
- ts= soops->treestore;
-
- /* check if 'te' is in treestore */
- tselem= ts->data;
- for(a=0; a<ts->usedelem; a++, tselem++) {
- if(tselem->id==id && tselem->used==0) {
- if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
- te->store_index= a;
- tselem->used= 1;
- return;
- }
- }
- }
-
- /* add 1 element to treestore */
- if(ts->usedelem==ts->totelem) {
- TreeStoreElem *tsnew;
-
- tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
- if(ts->data) {
- memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
- MEM_freeN(ts->data);
- }
- ts->data= tsnew;
- ts->totelem+= TS_CHUNK;
- }
-
- tselem= ts->data+ts->usedelem;
-
- tselem->type= type;
- if(type) tselem->nr= nr; // we're picky! :)
- else tselem->nr= 0;
- tselem->id= id;
- tselem->used = 0;
- tselem->flag= TSE_CLOSED;
- te->store_index= ts->usedelem;
-
- ts->usedelem++;
-}
-
-/* ******************** TREE MANAGEMENT ****************** */
-
-void outliner_free_tree(ListBase *lb)
-{
-
- while(lb->first) {
- TreeElement *te= lb->first;
-
- outliner_free_tree(&te->subtree);
- BLI_remlink(lb, te);
-
- if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
- MEM_freeN(te);
- }
-}
-
-static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
-{
- TreeElement *te= lb->first;
- while(te) {
- TreeStoreElem *tselem= TREESTORE(te);
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_height(soops, &te->subtree, h);
- (*h) += UI_UNIT_Y;
- te= te->next;
- }
-}
-
-#if 0 // XXX this is currently disabled until te->xend is set correctly
-static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
-{
- TreeElement *te= lb->first;
- while(te) {
-// TreeStoreElem *tselem= TREESTORE(te);
-
- // XXX fixme... te->xend is not set yet
- if(tselem->flag & TSE_CLOSED) {
- if (te->xend > *w)
- *w = te->xend;
- }
- outliner_width(soops, &te->subtree, w);
- te= te->next;
- }
-}
-#endif
-
-static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
-{
- TreeElement *te= lb->first;
- while(te) {
- TreeStoreElem *tselem= TREESTORE(te);
- // XXX fixme... (currently, we're using a fixed length of 100)!
- /*if(te->xend) {
- if(te->xend > *w)
- *w = te->xend;
- }*/
- if(startx+100 > *w)
- *w = startx+100;
-
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
- te= te->next;
- }
-}
-
-static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
-{
- TreeElement *te= lb->first, *tes;
- while(te) {
- if(te->store_index==store_index) return te;
- tes= outliner_find_tree_element(&te->subtree, store_index);
- if(tes) return tes;
- te= te->next;
- }
- return NULL;
-}
-
-
-
-static ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
-{
- TreeStoreElem *tselem;
- te= te->parent;
-
- while(te) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==idcode) return tselem->id;
- te= te->parent;
- }
- return NULL;
-}
-
-struct treesort {
- TreeElement *te;
- ID *id;
- const char *name;
- short idcode;
-};
-
-static int treesort_alpha(const void *v1, const void *v2)
-{
- const struct treesort *x1= v1, *x2= v2;
- int comp;
-
- /* first put objects last (hierarchy) */
- comp= (x1->idcode==ID_OB);
- if(x2->idcode==ID_OB) comp+=2;
-
- if(comp==1) return 1;
- else if(comp==2) return -1;
- else if(comp==3) {
- comp= strcmp(x1->name, x2->name);
-
- if( comp>0 ) return 1;
- else if( comp<0) return -1;
- return 0;
- }
- return 0;
-}
-
-/* this is nice option for later? doesnt look too useful... */
-#if 0
-static int treesort_obtype_alpha(const void *v1, const void *v2)
-{
- const struct treesort *x1= v1, *x2= v2;
-
- /* first put objects last (hierarchy) */
- if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
- else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
- else {
- /* 2nd we check ob type */
- if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
- if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
- else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
- else return 0;
- }
- else {
- int comp= strcmp(x1->name, x2->name);
-
- if( comp>0 ) return 1;
- else if( comp<0) return -1;
- return 0;
- }
- }
-}
-#endif
-
-/* sort happens on each subtree individual */
-static void outliner_sort(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int totelem=0;
-
- te= lb->last;
- if(te==NULL) return;
- tselem= TREESTORE(te);
-
- /* sorting rules; only object lists or deformgroups */
- if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
-
- /* count first */
- for(te= lb->first; te; te= te->next) totelem++;
-
- if(totelem>1) {
- struct treesort *tear= MEM_mallocN(totelem*sizeof(struct treesort), "tree sort array");
- struct treesort *tp=tear;
- int skip= 0;
-
- for(te= lb->first; te; te= te->next, tp++) {
- tselem= TREESTORE(te);
- tp->te= te;
- tp->name= te->name;
- tp->idcode= te->idcode;
- if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this
- tp->id= tselem->id;
- }
- /* keep beginning of list */
- for(tp= tear, skip=0; skip<totelem; skip++, tp++)
- if(tp->idcode) break;
-
- if(skip<totelem)
- qsort(tear+skip, totelem-skip, sizeof(struct treesort), treesort_alpha);
-
- lb->first=lb->last= NULL;
- tp= tear;
- while(totelem--) {
- BLI_addtail(lb, tp->te);
- tp++;
- }
- MEM_freeN(tear);
- }
- }
-
- for(te= lb->first; te; te= te->next) {
- outliner_sort(soops, &te->subtree);
- }
-}
-
-/* Prototype, see functions below */
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
- TreeElement *parent, short type, short index);
-
-#define LOG2I(x) (int)(log(x)/log(2.0))
-
-static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
-{
- TreeStoreElem *tselem = NULL;
- TreeElement *te = NULL;
-
- /* log stuff is to convert bitflags (powers of 2) to small integers,
- * in order to not overflow short tselem->nr */
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
- te->name= "Combined";
- te->directdata= &srl->passflag;
-
- /* save cpu cycles, but we add the first to invoke an open/close triangle */
- tselem = TREESTORE(tenla);
- if(tselem->flag & TSE_CLOSED)
- return;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
- te->name= "Z";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
- te->name= "Vector";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
- te->name= "Normal";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
- te->name= "UV";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
- te->name= "Mist";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
- te->name= "Index Object";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
- te->name= "Color";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
- te->name= "Diffuse";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
- te->name= "Specular";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
- te->name= "Shadow";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
- te->name= "AO";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
- te->name= "Reflection";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
- te->name= "Refraction";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
- te->name= "Indirect";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
- te->name= "Environment";
- te->directdata= &srl->passflag;
-
- te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
- te->name= "Emit";
- te->directdata= &srl->passflag;
-}
-
-#undef LOG2I
-
-/* special handling of hierarchical non-lib data */
-static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone,
- TreeElement *parent, int *a)
-{
- TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
-
- (*a)++;
- te->name= curBone->name;
- te->directdata= curBone;
-
- for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
- outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
- }
-}
-
-static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
-{
- SceneRenderLayer *srl;
- TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
- int a;
-
- tenla->name= "RenderLayers";
- for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
- TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
- tenlay->name= srl->name;
- tenlay->directdata= &srl->passflag;
-
- if(srl->light_override)
- outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
- if(srl->mat_override)
- outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
-
- outliner_add_passes(soops, tenlay, &sce->id, srl);
- }
-
- outliner_add_element(soops, lb, sce->world, te, 0, 0);
-}
-
-static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
- TreeElement *parent, short type, short index)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- ID *id= idv;
- int a = 0;
-
- if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
- id= ((PointerRNA*)idv)->id.data;
- if(!id) id= ((PointerRNA*)idv)->data;
- }
-
- if(id==NULL) return NULL;
-
- te= MEM_callocN(sizeof(TreeElement), "tree elem");
- /* add to the visual tree */
- BLI_addtail(lb, te);
- /* add to the storage */
- check_persistant(soops, te, id, type, index);
- tselem= TREESTORE(te);
-
- te->parent= parent;
- te->index= index; // for data arays
- if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
- else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
- else if(type==TSE_ANIM_DATA);
- else {
- te->name= id->name+2; // default, can be overridden by Library or non-ID data
- te->idcode= GS(id->name);
- }
-
- if(type==0) {
-
- /* tuck pointer back in object, to construct hierarchy */
- if(GS(id->name)==ID_OB) id->newid= (ID *)te;
-
- /* expand specific data always */
- switch(GS(id->name)) {
- case ID_LI:
- te->name= ((Library *)id)->name;
- break;
- case ID_SCE:
- outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
- break;
- case ID_OB:
- {
- Object *ob= (Object *)id;
-
- outliner_add_element(soops, &te->subtree, ob->adt, te, TSE_ANIM_DATA, 0);
- outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
-
- if(ob->proxy && ob->id.lib==NULL)
- outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
-
- outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
-
- if(ob->pose) {
- bArmature *arm= ob->data;
- bPoseChannel *pchan;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
-
- tenla->name= "Pose";
-
- if(arm->edbo==NULL && (ob->mode & OB_MODE_POSE)) { // channels undefined in editmode, but we want the 'tenla' pose icon itself
- int a= 0, const_index= 1000; /* ensure unique id for bone constraints */
-
- for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
- ten->name= pchan->name;
- ten->directdata= pchan;
- pchan->prev= (bPoseChannel *)ten;
-
- if(pchan->constraints.first) {
- //Object *target;
- bConstraint *con;
- TreeElement *ten1;
- TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
- //char *str;
-
- tenla1->name= "Constraints";
- for(con= pchan->constraints.first; con; con= con->next, const_index++) {
- ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
-#if 0 /* disabled as it needs to be reworked for recoded constraints system */
- target= get_constraint_target(con, &str);
- if(str && str[0]) ten1->name= str;
- else if(target) ten1->name= target->id.name+2;
- else ten1->name= con->name;
-#endif
- ten1->name= con->name;
- ten1->directdata= con;
- /* possible add all other types links? */
- }
- }
- }
- /* make hierarchy */
- ten= tenla->subtree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- tselem= TREESTORE(ten);
- if(tselem->type==TSE_POSE_CHANNEL) {
- pchan= (bPoseChannel *)ten->directdata;
- if(pchan->parent) {
- BLI_remlink(&tenla->subtree, ten);
- par= (TreeElement *)pchan->parent->prev;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- }
- ten= nten;
- }
- /* restore prev pointers */
- pchan= ob->pose->chanbase.first;
- if(pchan) pchan->prev= NULL;
- for(; pchan; pchan= pchan->next) {
- if(pchan->next) pchan->next->prev= pchan;
- }
- }
-
- /* Pose Groups */
- if(ob->pose->agroups.first) {
- bActionGroup *agrp;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
- int a= 0;
-
- tenla->name= "Bone Groups";
- for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
- ten->name= agrp->name;
- ten->directdata= agrp;
- }
- }
- }
-
- for(a=0; a<ob->totcol; a++)
- outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
-
- if(ob->constraints.first) {
- //Object *target;
- bConstraint *con;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
- int a= 0;
- //char *str;
-
- tenla->name= "Constraints";
- for(con= ob->constraints.first; con; con= con->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
-#if 0 /* disabled due to constraints system targets recode... code here needs review */
- target= get_constraint_target(con, &str);
- if(str && str[0]) ten->name= str;
- else if(target) ten->name= target->id.name+2;
- else ten->name= con->name;
-#endif
- ten->name= con->name;
- ten->directdata= con;
- /* possible add all other types links? */
- }
- }
-
- if(ob->modifiers.first) {
- ModifierData *md;
- TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
- int index;
-
- temod->name = "Modifiers";
- for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
- TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
- te->name= md->name;
- te->directdata = md;
-
- if (md->type==eModifierType_Lattice) {
- outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Curve) {
- outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Armature) {
- outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_Hook) {
- outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
- } else if (md->type==eModifierType_ParticleSystem) {
- TreeElement *ten;
- ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
-
- ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
- ten->directdata = psys;
- ten->name = psys->part->id.name+2;
- }
- }
- }
- if(ob->defbase.first) {
- bDeformGroup *defgroup;
- TreeElement *ten;
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
- int a= 0;
-
- tenla->name= "Vertex Groups";
- for (defgroup=ob->defbase.first; defgroup; defgroup=defgroup->next, a++) {
- ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
- ten->name= defgroup->name;
- ten->directdata= defgroup;
- }
- }
-
- if(ob->dup_group)
- outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);
-
- }
- break;
- case ID_ME:
- {
- Mesh *me= (Mesh *)id;
-
- //outliner_add_element(soops, &te->subtree, me->adt, te, TSE_ANIM_DATA, 0);
-
- outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
- for(a=0; a<me->totcol; a++)
- outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
- /* could do tfaces with image links, but the images are not grouped nicely.
- would require going over all tfaces, sort images in use. etc... */
- }
- break;
- case ID_CU:
- {
- Curve *cu= (Curve *)id;
-
- outliner_add_element(soops, &te->subtree, cu->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<cu->totcol; a++)
- outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
- }
- break;
- case ID_MB:
- {
- MetaBall *mb= (MetaBall *)id;
- for(a=0; a<mb->totcol; a++)
- outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
- }
- break;
- case ID_MA:
- {
- Material *ma= (Material *)id;
-
- outliner_add_element(soops, &te->subtree, ma->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_TE:
- {
- Tex *tex= (Tex *)id;
-
- outliner_add_element(soops, &te->subtree, tex->adt, te, TSE_ANIM_DATA, 0);
- outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
- }
- break;
- case ID_CA:
- {
- Camera *ca= (Camera *)id;
- outliner_add_element(soops, &te->subtree, ca->adt, te, TSE_ANIM_DATA, 0);
- }
- break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)id;
-
- outliner_add_element(soops, &te->subtree, la->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_WO:
- {
- World *wrld= (World *)id;
-
- outliner_add_element(soops, &te->subtree, wrld->adt, te, TSE_ANIM_DATA, 0);
-
- for(a=0; a<MAX_MTEX; a++) {
- if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
- }
- }
- break;
- case ID_KE:
- {
- Key *key= (Key *)id;
-
- outliner_add_element(soops, &te->subtree, key->adt, te, TSE_ANIM_DATA, 0);
- }
- break;
- case ID_AC:
- {
- // XXX do we want to be exposing the F-Curves here?
- //bAction *act= (bAction *)id;
- }
- break;
- case ID_AR:
- {
- bArmature *arm= (bArmature *)id;
- int a= 0;
-
- if(arm->edbo) {
- EditBone *ebone;
- TreeElement *ten;
-
- for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
- ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
- ten->directdata= ebone;
- ten->name= ebone->name;
- ebone->temp= ten;
- }
- /* make hierarchy */
- ten= te->subtree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- ebone= (EditBone *)ten->directdata;
- if(ebone->parent) {
- BLI_remlink(&te->subtree, ten);
- par= ebone->parent->temp;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- ten= nten;
- }
- }
- else {
- /* do not extend Armature when we have posemode */
- tselem= TREESTORE(te->parent);
- if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
- else {
- Bone *curBone;
- for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
- outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
- }
- }
- }
- }
- break;
- }
- }
- else if(type==TSE_ANIM_DATA) {
- AnimData *adt= (AnimData *)idv;
-
- /* this element's info */
- te->name= "Animation";
-
- /* Action */
- outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
-
- /* Drivers */
- if (adt->drivers.first) {
- TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
- ID *lastadded= NULL;
- FCurve *fcu;
-
- ted->name= "Drivers";
-
- for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
- if (fcu->driver && fcu->driver->variables.first) {
- ChannelDriver *driver= fcu->driver;
- DriverVar *dvar;
-
- for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
- /* loop over all targets used here */
- DRIVER_TARGETS_USED_LOOPER(dvar)
- {
- if (lastadded != dtar->id) {
- // XXX this lastadded check is rather lame, and also fails quite badly...
- outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
- lastadded= dtar->id;
- }
- }
- DRIVER_TARGETS_LOOPER_END
- }
- }
- }
- }
-
- /* NLA Data */
- if (adt->nla_tracks.first) {
- TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
- NlaTrack *nlt;
- int a= 0;
-
- tenla->name= "NLA Tracks";
-
- for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
- TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
- NlaStrip *strip;
- TreeElement *ten;
- int b= 0;
-
- tenlt->name= nlt->name;
-
- for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
- ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
- if(ten) ten->directdata= strip;
- }
- }
- }
- }
- else if(type==TSE_SEQUENCE) {
- Sequence *seq= (Sequence*) idv;
- Sequence *p;
-
- /*
- * The idcode is a little hack, but the outliner
- * only check te->idcode if te->type is equal to zero,
- * so this is "safe".
- */
- te->idcode= seq->type;
- te->directdata= seq;
-
- if(seq->type<7) {
- /*
- * This work like the sequence.
- * If the sequence have a name (not default name)
- * show it, in other case put the filename.
- */
- if(strcmp(seq->name, "SQ"))
- te->name= seq->name;
- else {
- if((seq->strip) && (seq->strip->stripdata))
- te->name= seq->strip->stripdata->name;
- else
- te->name= "SQ None";
- }
-
- if(seq->type==SEQ_META) {
- te->name= "Meta Strip";
- p= seq->seqbase.first;
- while(p) {
- outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
- p= p->next;
- }
- }
- else
- outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
- }
- else
- te->name= "Effect";
- }
- else if(type==TSE_SEQ_STRIP) {
- Strip *strip= (Strip *)idv;
-
- if(strip->dir)
- te->name= strip->dir;
- else
- te->name= "Strip None";
- te->directdata= strip;
- }
- else if(type==TSE_SEQUENCE_DUP) {
- Sequence *seq= (Sequence*)idv;
-
- te->idcode= seq->type;
- te->directdata= seq;
- te->name= seq->strip->stripdata->name;
- }
- else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
- PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
- PropertyRNA *prop, *iterprop;
- PropertyType proptype;
- int a, tot;
-
- /* we do lazy build, for speed and to avoid infinite recusion */
-
- if(ptr->data == NULL) {
- te->name= "(empty)";
- }
- else if(type == TSE_RNA_STRUCT) {
- /* struct */
- te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
-
- if(te->name)
- te->flag |= TE_FREE_NAME;
- else
- te->name= (char*)RNA_struct_ui_name(ptr->type);
-
- iterprop= RNA_struct_iterator_property(ptr->type);
- tot= RNA_property_collection_length(ptr, iterprop);
-
- /* auto open these cases */
- if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
- if(!tselem->used)
- tselem->flag &= ~TSE_CLOSED;
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++)
- outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
-
- te->rnaptr= *ptr;
- }
- else if(type == TSE_RNA_PROPERTY) {
- /* property */
- iterprop= RNA_struct_iterator_property(ptr->type);
- RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
-
- prop= propptr.data;
- proptype= RNA_property_type(prop);
-
- te->name= (char*)RNA_property_ui_name(prop);
- te->directdata= prop;
- te->rnaptr= *ptr;
-
- if(proptype == PROP_POINTER) {
- pptr= RNA_property_pointer_get(ptr, prop);
-
- if(pptr.data) {
- if(!(tselem->flag & TSE_CLOSED))
- outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
- else
- te->flag |= TE_LAZY_CLOSED;
- }
- }
- else if(proptype == PROP_COLLECTION) {
- tot= RNA_property_collection_length(ptr, prop);
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++) {
- RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
- outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
- }
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
- }
- else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
- tot= RNA_property_array_length(ptr, prop);
-
- if(!(tselem->flag & TSE_CLOSED)) {
- for(a=0; a<tot; a++)
- outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
- }
- else if(tot)
- te->flag |= TE_LAZY_CLOSED;
- }
- }
- else if(type == TSE_RNA_ARRAY_ELEM) {
- char c;
-
- prop= parent->directdata;
-
- te->directdata= prop;
- te->rnaptr= *ptr;
- te->index= index;
-
- c= RNA_property_array_item_char(prop, index);
-
- te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
- if(c) sprintf((char *)te->name, " %c", c);
- else sprintf((char *)te->name, " %d", index+1);
- te->flag |= TE_FREE_NAME;
- }
- }
- else if(type == TSE_KEYMAP) {
- wmKeyMap *km= (wmKeyMap *)idv;
- wmKeyMapItem *kmi;
- char opname[OP_MAX_TYPENAME];
-
- te->directdata= idv;
- te->name= km->idname;
-
- if(!(tselem->flag & TSE_CLOSED)) {
- a= 0;
-
- for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
- const char *key= WM_key_event_string(kmi->type);
-
- if(key[0]) {
- wmOperatorType *ot= NULL;
-
- if(kmi->propvalue);
- else ot= WM_operatortype_find(kmi->idname, 0);
-
- if(ot || kmi->propvalue) {
- TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
-
- ten->directdata= kmi;
-
- if(kmi->propvalue) {
- ten->name= "Modal map, not yet";
- }
- else {
- WM_operator_py_idname(opname, ot->idname);
- ten->name= BLI_strdup(opname);
- ten->flag |= TE_FREE_NAME;
- }
- }
- }
- }
- }
- else
- te->flag |= TE_LAZY_CLOSED;
- }
-
- return te;
-}
-
-static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te, *ten, *tep;
- TreeStoreElem *tselem;
-
- /* build hierarchy */
- // XXX also, set extents here...
- te= lb->first;
- while(te) {
- ten= te->next;
- tselem= TREESTORE(te);
-
- if(tselem->type==0 && te->idcode==ID_OB) {
- Object *ob= (Object *)tselem->id;
- if(ob->parent && ob->parent->id.newid) {
- BLI_remlink(lb, te);
- tep= (TreeElement *)ob->parent->id.newid;
- BLI_addtail(&tep->subtree, te);
- // set correct parent pointers
- for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
- }
- }
- te= ten;
- }
-}
-
-/* Helped function to put duplicate sequence in the same tree. */
-static int need_add_seq_dup(Sequence *seq)
-{
- Sequence *p;
-
- if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
- return(1);
-
- /*
- * First check backward, if we found a duplicate
- * sequence before this, don't need it, just return.
- */
- p= seq->prev;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->prev;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- return(2);
- p= p->prev;
- }
-
- p= seq->next;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- return(0);
- p= p->next;
- }
- return(1);
-}
-
-static void add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
-{
- TreeElement *ch;
- Sequence *p;
-
- p= seq;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
- if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
- ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
- p= p->next;
- }
-}
-
-static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
-{
-#if 0
- int found= 0;
-
- /* determine if match */
- if (flags & SO_FIND_CASE_SENSITIVE) {
- if (flags & SO_FIND_COMPLETE)
- found= strcmp(te->name, name) == 0;
- else
- found= strstr(te->name, name) != NULL;
- }
- else {
- if (flags & SO_FIND_COMPLETE)
- found= BLI_strcasecmp(te->name, name) == 0;
- else
- found= BLI_strcasestr(te->name, name) != NULL;
- }
-#else
-
- int fn_flag= 0;
- int found= 0;
-
- if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
- fn_flag |= FNM_CASEFOLD;
-
- if (flags & SO_FIND_COMPLETE) {
- found= fnmatch(name, te->name, fn_flag)==0;
- }
- else {
- char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
- sprintf(fn_name, "*%s*", name);
- found= fnmatch(fn_name, te->name, fn_flag)==0;
- }
- return found;
-#endif
-}
-
-static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te, *ten;
- TreeStoreElem *tselem;
-
- /* although we don't have any search string, we return TRUE
- * since the entire tree is ok then...
- */
- if (soops->search_string[0]==0)
- return 1;
-
- for (te= lb->first; te; te= ten) {
- ten= te->next;
-
- if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
- /* item isn't something we're looking for, but...
- * - if the subtree is expanded, check if there are any matches that can be easily found
- * so that searching for "cu" in the default scene will still match the Cube
- * - otherwise, we can't see within the subtree and the item doesn't match,
- * so these can be safely ignored (i.e. the subtree can get freed)
- */
- tselem= TREESTORE(te);
-
- if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) {
- outliner_free_tree(&te->subtree);
- BLI_remlink(lb, te);
-
- if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
- MEM_freeN(te);
- }
- }
- else {
- /* filter subtree too */
- outliner_filter_tree(soops, &te->subtree);
- }
- }
-
- /* if there are still items in the list, that means that there were still some matches */
- return (lb->first != NULL);
-}
-
-
-static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
-{
- Base *base;
- Object *ob;
- TreeElement *te=NULL, *ten;
- TreeStoreElem *tselem;
- int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
-
- if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
- return;
-
- outliner_free_tree(&soops->tree);
- outliner_storage_cleanup(soops);
-
- /* clear ob id.new flags */
- for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
-
- /* options */
- if(soops->outlinevis == SO_LIBRARIES) {
- Library *lib;
-
- for(lib= mainvar->library.first; lib; lib= lib->id.next) {
- ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
- lib->id.newid= (ID *)ten;
- }
- /* make hierarchy */
- ten= soops->tree.first;
- while(ten) {
- TreeElement *nten= ten->next, *par;
- tselem= TREESTORE(ten);
- lib= (Library *)tselem->id;
- if(lib->parent) {
- BLI_remlink(&soops->tree, ten);
- par= (TreeElement *)lib->parent->id.newid;
- BLI_addtail(&par->subtree, ten);
- ten->parent= par;
- }
- ten= nten;
- }
- /* restore newid pointers */
- for(lib= mainvar->library.first; lib; lib= lib->id.next)
- lib->id.newid= NULL;
-
- }
- else if(soops->outlinevis == SO_ALL_SCENES) {
- Scene *sce;
- for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
- te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
- tselem= TREESTORE(te);
- if(sce==scene && show_opened)
- tselem->flag &= ~TSE_CLOSED;
-
- for(base= sce->base.first; base; base= base->next) {
- ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
- ten->directdata= base;
- }
- outliner_make_hierarchy(soops, &te->subtree);
- /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
- for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
- }
- }
- else if(soops->outlinevis == SO_CUR_SCENE) {
-
- outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
-
- for(base= scene->base.first; base; base= base->next) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis == SO_VISIBLE) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->lay & scene->lay)
- outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis == SO_GROUPS) {
- Group *group;
- GroupObject *go;
-
- for(group= mainvar->group.first; group; group= group->id.next) {
- if(group->gobject.first) {
- te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
-
- for(go= group->gobject.first; go; go= go->next) {
- ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
- ten->directdata= NULL; /* eh, why? */
- }
- outliner_make_hierarchy(soops, &te->subtree);
- /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
- for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
- }
- }
- }
- else if(soops->outlinevis == SO_SAME_TYPE) {
- Object *ob= OBACT;
- if(ob) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->object->type==ob->type) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- }
- else if(soops->outlinevis == SO_SELECTED) {
- for(base= scene->base.first; base; base= base->next) {
- if(base->lay & scene->lay) {
- if(base==BASACT || (base->flag & SELECT)) {
- ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
- ten->directdata= base;
- }
- }
- }
- outliner_make_hierarchy(soops, &soops->tree);
- }
- else if(soops->outlinevis==SO_SEQUENCE) {
- Sequence *seq;
- Editing *ed= seq_give_editing(scene, FALSE);
- int op;
-
- if(ed==NULL)
- return;
-
- seq= ed->seqbasep->first;
- if(!seq)
- return;
-
- while(seq) {
- op= need_add_seq_dup(seq);
- if(op==1)
- ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
- else if(op==0) {
- ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
- add_seq_dup(soops, seq, ten, 0);
- }
- seq= seq->next;
- }
- }
- else if(soops->outlinevis==SO_DATABLOCKS) {
- PointerRNA mainptr;
-
- RNA_main_pointer_create(mainvar, &mainptr);
-
- ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
-
- if(show_opened) {
- tselem= TREESTORE(ten);
- tselem->flag &= ~TSE_CLOSED;
- }
- }
- else if(soops->outlinevis==SO_USERDEF) {
- PointerRNA userdefptr;
-
- RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
-
- ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
-
- if(show_opened) {
- tselem= TREESTORE(ten);
- tselem->flag &= ~TSE_CLOSED;
- }
- }
- else if(soops->outlinevis==SO_KEYMAP) {
- wmWindowManager *wm= mainvar->wm.first;
- wmKeyMap *km;
-
- for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
- ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
- }
- }
- else {
- ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
- if(ten) ten->directdata= BASACT;
- }
-
- outliner_sort(soops, &soops->tree);
- outliner_filter_tree(soops, &soops->tree);
-}
-
-/* **************** INTERACTIVE ************* */
-
-
-static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
-{
- ARegion *ar= CTX_wm_region(C);
- int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
- int up= 0;
-
- if(RNA_boolean_get(op->ptr, "up"))
- up= 1;
-
- if(up == 0) dy= -dy;
- ar->v2d.cur.ymin+= dy;
- ar->v2d.cur.ymax+= dy;
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_scroll_page(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Scroll Page";
- ot->idname= "OUTLINER_OT_scroll_page";
- ot->description= "Scroll page up or down";
-
- /* callbacks */
- ot->exec= outliner_scroll_page_exec;
- ot->poll= ED_operator_outliner_active;
-
- /* properties */
- RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
-}
-
-
-static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
-{
- TreeElement *te;
- int level=curlevel, lev;
-
- for(te= lb->first; te; te= te->next) {
-
- lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
- if(lev>level) level= lev;
- }
- return level;
-}
-
-static int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int level;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & flag) return curlevel;
-
- level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
- if(level) return level;
- }
- return 0;
-}
-
-static void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(set==0) tselem->flag &= ~flag;
- else tselem->flag |= flag;
- outliner_set_flag(soops, &te->subtree, flag, set);
- }
-}
-
-/* --- */
-
-/* same check needed for both object operation and restrict column button func
- * return 0 when in edit mode (cannot restrict view or select)
- * otherwise return 1 */
-static int common_restrict_check(bContext *C, Object *ob)
-{
- /* Don't allow hide an object in edit mode,
- * check the bug #22153 and #21609, #23977
- */
- Object *obedit= CTX_data_edit_object(C);
- if (obedit && obedit == ob) {
- /* found object is hidden, reset */
- if (ob->restrictflag & OB_RESTRICT_VIEW)
- ob->restrictflag &= ~OB_RESTRICT_VIEW;
- /* found object is unselectable, reset */
- if (ob->restrictflag & OB_RESTRICT_SELECT)
- ob->restrictflag &= ~OB_RESTRICT_SELECT;
- return 0;
- }
-
- return 1;
-}
-
-static void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
- Object *ob = (Object *)tselem->id;
-
- /* add check for edit mode */
- if(!common_restrict_check(C, ob)) return;
-
- if(base || (base= object_in_scene(ob, scene))) {
- if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
- ED_base_object_select(base, BA_DESELECT);
- }
- }
-}
-
-static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Visibility";
- ot->idname= "OUTLINER_OT_visibility_toggle";
- ot->description= "Toggle the visibility of selected items";
-
- /* callbacks */
- ot->exec= outliner_toggle_visibility_exec;
- ot->poll= ED_operator_outliner_active_no_editobject;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->object->restrictflag^=OB_RESTRICT_SELECT;
- }
-}
-
-static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Selectability";
- ot->idname= "OUTLINER_OT_selectability_toggle";
- ot->description= "Toggle the selectability";
-
- /* callbacks */
- ot->exec= outliner_toggle_selectability_exec;
- ot->poll= ED_operator_outliner_active_no_editobject;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-static void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->object->restrictflag^=OB_RESTRICT_RENDER;
- }
-}
-
-static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
-
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Renderability";
- ot->idname= "OUTLINER_OT_renderability_toggle";
- ot->description= "Toggle the renderability of selected items";
-
- /* callbacks */
- ot->exec= outliner_toggle_renderability_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
-
- if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
- outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
- else
- outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Expand/Collapse All";
- ot->idname= "OUTLINER_OT_expanded_toggle";
- ot->description= "Expand/Collapse all items";
-
- /* callbacks */
- ot->exec= outliner_toggle_expanded_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
-
- if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
- else
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Toggle Selected";
- ot->idname= "OUTLINER_OT_selected_toggle";
- ot->description= "Toggle the Outliner selection of items";
-
- /* callbacks */
- ot->exec= outliner_toggle_selected_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* --- */
-
-/* helper function for Show/Hide one level operator */
-static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- if(open) {
- if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
- }
- else {
- if(curlevel>=level) tselem->flag |= TSE_CLOSED;
- }
-
- outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
- }
-}
-
-static int outliner_one_level_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- int add= RNA_boolean_get(op->ptr, "open");
- int level;
-
- level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
- if(add==1) {
- if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
- }
- else {
- if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
- if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_one_level(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show/Hide One Level";
- ot->idname= "OUTLINER_OT_show_one_level";
- ot->description= "Expand/collapse all entries by one level";
-
- /* callbacks */
- ot->exec= outliner_one_level_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-
- /* properties */
- RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
-}
-
-/* This is not used anywhere at the moment */
-#if 0
-/* return 1 when levels were opened */
-static int outliner_open_back(SpaceOops *soops, TreeElement *te)
-{
- TreeStoreElem *tselem;
- int retval= 0;
-
- for (te= te->parent; te; te= te->parent) {
- tselem= TREESTORE(te);
- if (tselem->flag & TSE_CLOSED) {
- tselem->flag &= ~TSE_CLOSED;
- retval= 1;
- }
- }
- return retval;
-}
-
-static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= lb->first; te; te= te->next) {
- /* check if this tree-element was the one we're seeking */
- if (te == teFind) {
- *found= 1;
- return;
- }
-
- /* try to see if sub-tree contains it then */
- outliner_open_reveal(soops, &te->subtree, teFind, found);
- if (*found) {
- tselem= TREESTORE(te);
- if (tselem->flag & TSE_CLOSED)
- tselem->flag &= ~TSE_CLOSED;
- return;
- }
- }
-}
-#endif
-
-// XXX just use View2D ops for this?
-static void outliner_page_up_down(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int up)
-{
- int dy= ar->v2d.mask.ymax-ar->v2d.mask.ymin;
-
- if(up == -1) dy= -dy;
- ar->v2d.cur.ymin+= dy;
- ar->v2d.cur.ymax+= dy;
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-}
-
-/* **** do clicks on items ******* */
-
-static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Scene *sce;
-
- /* paranoia check */
- if(te->idcode!=ID_SCE)
- return 0;
- sce= (Scene *)tselem->id;
-
- if(set) {
- sce->r.actlay= tselem->nr;
- WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
- }
- else {
- return sce->r.actlay==tselem->nr;
- }
- return 0;
-}
-
-static void tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeStoreElem *tselem= TREESTORE(te);
- Scene *sce;
- Base *base;
- Object *ob= NULL;
-
- /* if id is not object, we search back */
- if(te->idcode==ID_OB) ob= (Object *)tselem->id;
- else {
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- if(ob==OBACT) return;
- }
- if(ob==NULL) return;
-
- sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
- if(sce && scene != sce) {
- ED_screen_set_scene(C, sce);
- }
-
- /* find associated base in current scene */
- base= object_in_scene(ob, scene);
-
- if(base) {
- if(set==2) {
- /* swap select */
- if(base->flag & SELECT)
- ED_base_object_select(base, BA_DESELECT);
- else
- ED_base_object_select(base, BA_SELECT);
- }
- else {
- /* deleselect all */
- scene_deselect_all(scene);
- ED_base_object_select(base, BA_SELECT);
- }
- if(C) {
- ED_base_object_activate(C, base); /* adds notifier */
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- }
-
- if(ob!=scene->obedit)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-}
-
-static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tes;
- Object *ob;
-
- /* we search for the object parent */
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- // note: ob->matbits can be NULL when a local object points to a library mesh.
- if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia
-
- /* searching in ob mat array? */
- tes= te->parent;
- if(tes->idcode==ID_OB) {
- if(set) {
- ob->actcol= te->index+1;
- ob->matbits[te->index]= 1; // make ob material active too
- ob->colbits |= (1<<te->index);
- }
- else {
- if(ob->actcol == te->index+1)
- if(ob->matbits[te->index]) return 1;
- }
- }
- /* or we search for obdata material */
- else {
- if(set) {
- ob->actcol= te->index+1;
- ob->matbits[te->index]= 0; // make obdata material active too
- ob->colbits &= ~(1<<te->index);
- }
- else {
- if(ob->actcol == te->index+1)
- if(ob->matbits[te->index]==0) return 1;
- }
- }
- if(set) {
- WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
- }
- return 0;
-}
-
-static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tep;
- TreeStoreElem /* *tselem,*/ *tselemp;
- Object *ob=OBACT;
- SpaceButs *sbuts=NULL;
-
- if(ob==NULL) return 0; // no active object
-
- /*tselem= TREESTORE(te);*/ /*UNUSED*/
-
- /* find buttons area (note, this is undefined really still, needs recode in blender) */
- /* XXX removed finding sbuts */
-
- /* where is texture linked to? */
- tep= te->parent;
- tselemp= TREESTORE(tep);
-
- if(tep->idcode==ID_WO) {
- World *wrld= (World *)tselemp->id;
-
- if(set) {
- if(sbuts) {
- // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 1;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- wrld->texact= te->index;
- }
- else if(tselemp->id == (ID *)(scene->world)) {
- if(wrld->texact==te->index) return 1;
- }
- }
- else if(tep->idcode==ID_LA) {
- Lamp *la= (Lamp *)tselemp->id;
- if(set) {
- if(sbuts) {
- // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 2;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- la->texact= te->index;
- }
- else {
- if(tselemp->id == ob->data) {
- if(la->texact==te->index) return 1;
- }
- }
- }
- else if(tep->idcode==ID_MA) {
- Material *ma= (Material *)tselemp->id;
- if(set) {
- if(sbuts) {
- //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
- // XXX sbuts->texfrom= 0;
- }
-// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
- ma->texact= (char)te->index;
-
- /* also set active material */
- ob->actcol= tep->index+1;
- }
- else if(tep->flag & TE_ACTIVE) { // this is active material
- if(ma->texact==te->index) return 1;
- }
- }
-
- if(set)
- WM_event_add_notifier(C, NC_TEXTURE, NULL);
-
- return 0;
-}
-
-
-static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- Object *ob;
-
- /* we search for the object parent */
- ob= (Object *)outliner_search_back(soops, te, ID_OB);
- if(ob==NULL || ob!=OBACT) return 0; // just paranoia
-
- if(set) {
-// XXX extern_set_butspace(F5KEY, 0);
- }
- else return 1;
-
- return 0;
-}
-
-static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
-
- if(set)
- return 0;
-
- return scene->camera == ob;
-}
-
-static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
- TreeElement *tep;
- TreeStoreElem *tselem=NULL;
- Scene *sce=NULL;
-
- tep= te->parent;
- if(tep) {
- tselem= TREESTORE(tep);
- sce= (Scene *)tselem->id;
- }
-
- if(set) { // make new scene active
- if(sce && scene != sce) {
- ED_screen_set_scene(C, sce);
- }
- }
-
- if(tep==NULL || tselem->id == (ID *)scene) {
- if(set) {
-// XXX extern_set_butspace(F8KEY, 0);
- }
- else {
- return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob;
-
- /* id in tselem is object */
- ob= (Object *)tselem->id;
- if(set) {
- ob->actdef= te->index+1;
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
- WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
- }
- else {
- if(ob==OBACT)
- if(ob->actdef== te->index+1) return 1;
- }
- return 0;
-}
-
-static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
-
- if(set) {
- if (ob->pose) {
- ob->pose->active_group= te->index+1;
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
- }
- }
- else {
- if(ob==OBACT && ob->pose) {
- if (ob->pose->active_group== te->index+1) return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
- bArmature *arm= ob->data;
- bPoseChannel *pchan= te->directdata;
-
- if(set) {
- if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
-
- if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag
- else ED_pose_deselectall(ob, 0); // 0 = deselect
-
- if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
- pchan->bone->flag &= ~BONE_SELECTED;
- } else {
- pchan->bone->flag |= BONE_SELECTED;
- arm->act_bone= pchan->bone;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
-
- }
- }
- else {
- if(ob==OBACT && ob->pose) {
- if (pchan->bone->flag & BONE_SELECTED) return 1;
- }
- }
- return 0;
-}
-
-static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- bArmature *arm= (bArmature *)tselem->id;
- Bone *bone= te->directdata;
-
- if(set) {
- if(!(bone->flag & BONE_HIDDEN_P)) {
- if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag
- else ED_pose_deselectall(OBACT, 0);
-
- if(set==2 && (bone->flag & BONE_SELECTED)) {
- bone->flag &= ~BONE_SELECTED;
- } else {
- bone->flag |= BONE_SELECTED;
- arm->act_bone= bone;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
- }
- }
- else {
- Object *ob= OBACT;
-
- if(ob && ob->data==arm) {
- if (bone->flag & BONE_SELECTED) return 1;
- }
- }
- return 0;
-}
-
-
-/* ebones only draw in editmode armature */
-static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
-{
- if(sel) {
- ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
- arm->act_edbone= ebone;
- // flush to parent?
- if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
- }
- else {
- ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
- // flush to parent?
- if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
- }
-
- WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
-}
-static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- bArmature *arm= scene->obedit->data;
- EditBone *ebone= te->directdata;
-
- if(set==1) {
- if(!(ebone->flag & BONE_HIDDEN_A)) {
- ED_armature_deselect_all(scene->obedit, 0); // deselect
- tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
- return 1;
- }
- }
- else if (set==2) {
- if(!(ebone->flag & BONE_HIDDEN_A)) {
- if(!(ebone->flag & BONE_SELECTED)) {
- tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
- return 1;
- }
- else {
- /* entirely selected, so de-select */
- tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
- return 0;
- }
- }
- }
- else if (ebone->flag & BONE_SELECTED) {
- return 1;
- }
- return 0;
-}
-
-static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
-
-// XXX extern_set_butspace(F9KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
-
-// XXX extern_set_butspace(F7KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- if(set) {
- Object *ob= (Object *)tselem->id;
-
- WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
-// XXX extern_set_butspace(F7KEY, 0);
- }
-
- return 0;
-}
-
-static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
-{
- // XXX removed
- return 0;
-}
-
-/* generic call for ID data check or make/check active in UI */
-static int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
-{
-
- switch(te->idcode) {
- case ID_MA:
- return tree_element_active_material(C, scene, soops, te, set);
- case ID_WO:
- return tree_element_active_world(C, scene, soops, te, set);
- case ID_LA:
- return tree_element_active_lamp(C, scene, soops, te, set);
- case ID_TE:
- return tree_element_active_texture(C, scene, soops, te, set);
- case ID_TXT:
- return tree_element_active_text(C, scene, soops, te, set);
- case ID_CA:
- return tree_element_active_camera(C, scene, soops, te, set);
- }
- return 0;
-}
-
-static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
-{
- Object *ob= (Object *)tselem->id;
- Base *base= object_in_scene(ob, scene);
-
- if(set) {
- if(scene->obedit)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-
- if(ob->mode & OB_MODE_POSE)
- ED_armature_exit_posemode(C, base);
- else
- ED_armature_enter_posemode(C, base);
- }
- else {
- if(ob->mode & OB_MODE_POSE) return 1;
- }
- return 0;
-}
-
-static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- Sequence *seq= (Sequence*) te->directdata;
-
- if(set) {
-// XXX select_single_seq(seq, 1);
- }
- else {
- if(seq->flag & SELECT)
- return(1);
- }
- return(0);
-}
-
-static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- Sequence *seq, *p;
- Editing *ed= seq_give_editing(scene, FALSE);
-
- seq= (Sequence*)te->directdata;
- if(set==0) {
- if(seq->flag & SELECT)
- return(1);
- return(0);
- }
-
-// XXX select_single_seq(seq, 1);
- p= ed->seqbasep->first;
- while(p) {
- if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
- p= p->next;
- continue;
- }
-
-// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
-// XXX select_single_seq(p, 0);
- p= p->next;
- }
- return(0);
-}
-
-static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
-{
- wmKeyMapItem *kmi= te->directdata;
-
- if(set==0) {
- if(kmi->flag & KMI_INACTIVE) return 0;
- return 1;
- }
- else {
- kmi->flag ^= KMI_INACTIVE;
- }
- return 0;
-}
-
-
-/* generic call for non-id data to make/check active in UI */
-/* Context can be NULL when set==0 */
-static int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
-{
- switch(tselem->type) {
- case TSE_DEFGROUP:
- return tree_element_active_defgroup(C, scene, te, tselem, set);
- case TSE_BONE:
- return tree_element_active_bone(C, scene, te, tselem, set);
- case TSE_EBONE:
- return tree_element_active_ebone(C, scene, te, tselem, set);
- case TSE_MODIFIER:
- return tree_element_active_modifier(C, te, tselem, set);
- case TSE_LINKED_OB:
- if(set) tree_element_set_active_object(C, scene, soops, te, set);
- else if(tselem->id==(ID *)OBACT) return 1;
- break;
- case TSE_LINKED_PSYS:
- return tree_element_active_psys(C, scene, te, tselem, set);
- case TSE_POSE_BASE:
- return tree_element_active_pose(C, scene, te, tselem, set);
- case TSE_POSE_CHANNEL:
- return tree_element_active_posechannel(C, scene, te, tselem, set);
- case TSE_CONSTRAINT:
- return tree_element_active_constraint(C, te, tselem, set);
- case TSE_R_LAYER:
- return tree_element_active_renderlayer(C, te, tselem, set);
- case TSE_POSEGRP:
- return tree_element_active_posegroup(C, scene, te, tselem, set);
- case TSE_SEQUENCE:
- return tree_element_active_sequence(te, tselem, set);
- case TSE_SEQUENCE_DUP:
- return tree_element_active_sequence_dup(scene, te, tselem, set);
- case TSE_KEYMAP_ITEM:
- return tree_element_active_keymap_item(C, te, tselem, set);
-
- }
- return 0;
-}
-
-static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
- int openclose= 0;
-
- /* open close icon */
- if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close
- if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X)
- openclose= 1;
- }
-
- if(openclose) {
- /* all below close/open? */
- if(extend) {
- tselem->flag &= ~TSE_CLOSED;
- outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
- }
- else {
- if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
-
- }
-
- return 1;
- }
- /* name and first icon */
- else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-
- /* always makes active object */
- if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
- tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
-
- if(tselem->type==0) { // the lib blocks
- /* editmode? */
- if(te->idcode==ID_SCE) {
- if(scene!=(Scene *)tselem->id) {
- ED_screen_set_scene(C, (Scene *)tselem->id);
- }
- }
- else if(te->idcode==ID_GR) {
- Group *gr= (Group *)tselem->id;
- GroupObject *gob;
-
- if(extend) {
- int sel= BA_SELECT;
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if(gob->ob->flag & SELECT) {
- sel= BA_DESELECT;
- break;
- }
- }
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- ED_base_object_select(object_in_scene(gob->ob, scene), sel);
- }
- }
- else {
- scene_deselect_all(scene);
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if((gob->ob->flag & SELECT) == 0)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
- }
- }
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
- WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
- } else { // rest of types
- tree_element_active(C, scene, soops, te, 1);
- }
-
- }
- else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
-
- return 1;
- }
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
- }
- return 0;
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
-{
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
- int extend= RNA_boolean_get(op->ptr, "extend");
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
- return OPERATOR_CANCELLED;
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
- }
-
- if(te) {
- ED_undo_push(C, "Outliner click event");
- }
- else {
- short selecting= -1;
- int row;
-
- /* get row number - 100 here is just a dummy value since we don't need the column */
- UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET,
- fmval[0], fmval[1], NULL, &row);
-
- /* select relevant row */
- outliner_select(soops, &soops->tree, &row, &selecting);
-
- soops->storeflag |= SO_TREESTORE_REDRAW;
-
- ED_undo_push(C, "Outliner selection event");
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_activate(wmOperatorType *ot)
-{
- ot->name= "Activate Item";
- ot->idname= "OUTLINER_OT_item_activate";
- ot->description= "Handle mouse clicks to activate/select items";
-
- ot->invoke= outliner_item_activate;
-
- ot->poll= ED_operator_outliner_active;
-
- RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
-}
-
-/* *********** */
-
-static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* all below close/open? */
- if(all) {
- tselem->flag &= ~TSE_CLOSED;
- outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
- }
- else {
- if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
- }
-
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_openclose(C, soops, te, all, mval))
- return 1;
- }
- return 0;
-
-}
-
-/* event can enterkey, then it opens/closes */
-static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
- int all= RNA_boolean_get(op->ptr, "all");
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_openclose(C, soops, te, all, fmval))
- break;
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_item_openclose(wmOperatorType *ot)
-{
- ot->name= "Open/Close Item";
- ot->idname= "OUTLINER_OT_item_openclose";
- ot->description= "Toggle whether item under cursor is enabled or closed";
-
- ot->invoke= outliner_item_openclose;
-
- ot->poll= ED_operator_outliner_active;
-
- RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
-
-}
-
-
-/* ********************************************** */
-
-static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* name and first icon */
- if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
-
- /* can't rename rna datablocks entries */
- if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
- ;
- else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS))
- error("Cannot edit builtin name");
- else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
- error("Cannot edit sequence name");
- else if(tselem->id->lib) {
- // XXX error_libdata();
- }
- else if(te->idcode == ID_LI && te->parent) {
- error("Cannot edit the path of an indirectly linked library");
- }
- else {
- tselem->flag |= TSE_TEXTBUT;
- ED_region_tag_redraw(ar);
- }
- }
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
- }
- return 0;
-}
-
-static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
- }
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_item_rename(wmOperatorType *ot)
-{
- ot->name= "Rename Item";
- ot->idname= "OUTLINER_OT_item_rename";
- ot->description= "Rename item under cursor";
-
- ot->invoke= outliner_item_rename;
-
- ot->poll= ED_operator_outliner_active;
-}
-
-static TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
-{
- TreeElement *te, *tes;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->type==0) {
- if(tselem->id==id) return te;
- /* only deeper on scene or object */
- if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
- tes= outliner_find_id(soops, &te->subtree, id);
- if(tes) return tes;
- }
- }
- }
- return NULL;
-}
-
-static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *so= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- View2D *v2d= &ar->v2d;
-
- TreeElement *te;
- int xdelta, ytop;
-
- // TODO: make this get this info from context instead...
- if (OBACT == NULL)
- return OPERATOR_CANCELLED;
-
- te= outliner_find_id(so, &so->tree, (ID *)OBACT);
- if (te) {
- /* make te->ys center of view */
- ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
- if (ytop>0) ytop= 0;
-
- v2d->cur.ymax= (float)ytop;
- v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
-
- /* make te->xs ==> te->xend center of view */
- xdelta = (int)(te->xs - v2d->cur.xmin);
- v2d->cur.xmin += xdelta;
- v2d->cur.xmax += xdelta;
-
- so->storeflag |= SO_TREESTORE_REDRAW;
- }
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_active(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show Active";
- ot->idname= "OUTLINER_OT_show_active";
- ot->description= "Adjust the view so that the active Object is shown centered";
-
- /* callbacks */
- ot->exec= outliner_show_active_exec;
- ot->poll= ED_operator_outliner_active;
-}
-
-/* tse is not in the treestore, we use its contents to find a match */
-static TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
-{
- TreeStore *ts= soops->treestore;
- TreeStoreElem *tselem;
- int a;
-
- if(tse->id==NULL) return NULL;
-
- /* check if 'tse' is in treestore */
- tselem= ts->data;
- for(a=0; a<ts->usedelem; a++, tselem++) {
- if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
- if(tselem->id==tse->id) {
- break;
- }
- }
- }
- if(tselem)
- return outliner_find_tree_element(&soops->tree, a);
-
- return NULL;
-}
-
-
-/* Called to find an item based on name.
- */
-#if 0
-
-/* recursive helper for function below */
-static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)(*starty);
- *starty-= UI_UNIT_Y;
-
- if((tselem->flag & TSE_CLOSED)==0) {
- TreeElement *ten;
- for(ten= te->subtree.first; ten; ten= ten->next) {
- outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
- }
- }
-
-}
-
-/* to retrieve coordinates with redrawing the entire tree */
-static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
-{
- TreeElement *te;
- int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
- int startx= 0;
-
- for(te= soops->tree.first; te; te= te->next) {
- outliner_set_coordinates_element(soops, te, startx, &starty);
- }
-}
-
-/* find next element that has this name */
-static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
-{
- TreeElement *te, *tes;
-
- for (te= lb->first; te; te= te->next) {
- int found = outliner_filter_has_name(te, name, flags);
-
- if(found) {
- /* name is right, but is element the previous one? */
- if (prev) {
- if ((te != prev) && (*prevFound))
- return te;
- if (te == prev) {
- *prevFound = 1;
- }
- }
- else
- return te;
- }
-
- tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
- if(tes) return tes;
- }
-
- /* nothing valid found */
- return NULL;
-}
-
-static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags)
-{
- TreeElement *te= NULL;
- TreeElement *last_find;
- TreeStoreElem *tselem;
- int ytop, xdelta, prevFound=0;
- char name[32];
-
- /* get last found tree-element based on stored search_tse */
- last_find= outliner_find_tse(soops, &soops->search_tse);
-
- /* determine which type of search to do */
- if (again && last_find) {
- /* no popup panel - previous + user wanted to search for next after previous */
- BLI_strncpy(name, soops->search_string, sizeof(name));
- flags= soops->search_flags;
-
- /* try to find matching element */
- te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
- if (te==NULL) {
- /* no more matches after previous, start from beginning again */
- prevFound= 1;
- te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
- }
- }
- else {
- /* pop up panel - no previous, or user didn't want search after previous */
- strcpy(name, "");
-// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
-// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
-// }
-// else return; /* XXX RETURN! XXX */
- }
-
- /* do selection and reveal */
- if (te) {
- tselem= TREESTORE(te);
- if (tselem) {
- /* expand branches so that it will be visible, we need to get correct coordinates */
- if( outliner_open_back(soops, te))
- outliner_set_coordinates(ar, soops);
-
- /* deselect all visible, and select found element */
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
- tselem->flag |= TSE_SELECTED;
-
- /* make te->ys center of view */
- ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
- if(ytop>0) ytop= 0;
- ar->v2d.cur.ymax= (float)ytop;
- ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
-
- /* make te->xs ==> te->xend center of view */
- xdelta = (int)(te->xs - ar->v2d.cur.xmin);
- ar->v2d.cur.xmin += xdelta;
- ar->v2d.cur.xmax += xdelta;
-
- /* store selection */
- soops->search_tse= *tselem;
-
- BLI_strncpy(soops->search_string, name, 33);
- soops->search_flags= flags;
-
- /* redraw */
- soops->storeflag |= SO_TREESTORE_REDRAW;
- }
- }
- else {
- /* no tree-element found */
- error("Not found: %s", name);
- }
-}
-#endif
-
-/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
-static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==ID_OB) return 1;
- if( subtree_has_objects(soops, &te->subtree)) return 1;
- }
- return 0;
-}
-
-/* recursive helper function for Show Hierarchy operator */
-static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- /* open all object elems, close others */
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- if(tselem->type==0) {
- if(te->idcode==ID_SCE) {
- if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
- else tselem->flag &= ~TSE_CLOSED;
- }
- else if(te->idcode==ID_OB) {
- if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
- else tselem->flag |= TSE_CLOSED;
- }
- }
- else tselem->flag |= TSE_CLOSED;
-
- if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
- }
-}
-
-/* show entire object level hierarchy */
-static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- ARegion *ar= CTX_wm_region(C);
- Scene *scene= CTX_data_scene(C);
-
- /* recursively open/close levels */
- tree_element_show_hierarchy(scene, soops, &soops->tree);
-
- ED_region_tag_redraw(ar);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Show Hierarchy";
- ot->idname= "OUTLINER_OT_show_hierarchy";
- ot->description= "Open all object entries and close all others";
-
- /* callbacks */
- ot->exec= outliner_show_hierarchy_exec;
- ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views...
-
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-void outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
- tselem= TREESTORE(te);
-
- /* if we've encountered the right item, set its 'Outliner' selection status */
- if (*index == 0) {
- /* this should be the last one, so no need to do anything with index */
- if ((te->flag & TE_ICONROW)==0) {
- /* -1 value means toggle testing for now... */
- if (*selecting == -1) {
- if (tselem->flag & TSE_SELECTED)
- *selecting= 0;
- else
- *selecting= 1;
- }
-
- /* set selection */
- if (*selecting)
- tselem->flag |= TSE_SELECTED;
- else
- tselem->flag &= ~TSE_SELECTED;
- }
- }
- else if ((tselem->flag & TSE_CLOSED)==0) {
- /* Only try selecting sub-elements if we haven't hit the right element yet
- *
- * Hack warning:
- * Index must be reduced before supplying it to the sub-tree to try to do
- * selection, however, we need to increment it again for the next loop to
- * function correctly
- */
- (*index)--;
- outliner_select(soops, &te->subtree, index, selecting);
- (*index)++;
- }
- }
-}
-
-/* ************ SELECTION OPERATIONS ********* */
-
-static void set_operation_types(SpaceOops *soops, ListBase *lb,
- int *scenelevel,
- int *objectlevel,
- int *idlevel,
- int *datalevel)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type) {
- if(*datalevel==0)
- *datalevel= tselem->type;
- else if(*datalevel!=tselem->type)
- *datalevel= -1;
- }
- else {
- int idcode= GS(tselem->id->name);
- switch(idcode) {
- case ID_SCE:
- *scenelevel= 1;
- break;
- case ID_OB:
- *objectlevel= 1;
- break;
-
- case ID_ME: case ID_CU: case ID_MB: case ID_LT:
- case ID_LA: case ID_AR: case ID_CA:
- case ID_MA: case ID_TE: case ID_IP: case ID_IM:
- case ID_SO: case ID_KE: case ID_WO: case ID_AC:
- case ID_NLA: case ID_TXT: case ID_GR:
- if(*idlevel==0) *idlevel= idcode;
- else if(*idlevel!=idcode) *idlevel= -1;
- break;
- }
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- set_operation_types(soops, &te->subtree,
- scenelevel, objectlevel, idlevel, datalevel);
- }
- }
-}
-
-static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
- Material **matar=NULL;
- int a, totcol=0;
-
- if( GS(tsep->id->name)==ID_OB) {
- Object *ob= (Object *)tsep->id;
- totcol= ob->totcol;
- matar= ob->mat;
- }
- else if( GS(tsep->id->name)==ID_ME) {
- Mesh *me= (Mesh *)tsep->id;
- totcol= me->totcol;
- matar= me->mat;
- }
- else if( GS(tsep->id->name)==ID_CU) {
- Curve *cu= (Curve *)tsep->id;
- totcol= cu->totcol;
- matar= cu->mat;
- }
- else if( GS(tsep->id->name)==ID_MB) {
- MetaBall *mb= (MetaBall *)tsep->id;
- totcol= mb->totcol;
- matar= mb->mat;
- }
-
- for(a=0; a<totcol; a++) {
- if(a==te->index && matar[a]) {
- matar[a]->id.us--;
- matar[a]= NULL;
- }
- }
-}
-
-static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
-{
- MTex **mtex= NULL;
- int a;
-
- if( GS(tsep->id->name)==ID_MA) {
- Material *ma= (Material *)tsep->id;
- mtex= ma->mtex;
- }
- else if( GS(tsep->id->name)==ID_LA) {
- Lamp *la= (Lamp *)tsep->id;
- mtex= la->mtex;
- }
- else if( GS(tsep->id->name)==ID_WO) {
- World *wrld= (World *)tsep->id;
- mtex= wrld->mtex;
- }
- else return;
-
- for(a=0; a<MAX_MTEX; a++) {
- if(a==te->index && mtex[a]) {
- if(mtex[a]->tex) {
- mtex[a]->tex->id.us--;
- mtex[a]->tex= NULL;
- }
- }
- }
-}
-
-static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
-{
- Group *group= (Group *)tselem->id;
-
- if(tsep) {
- if( GS(tsep->id->name)==ID_OB) {
- Object *ob= (Object *)tsep->id;
- ob->dup_group= NULL;
- }
- }
- else {
- unlink_group(group);
- }
-}
-
-static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==0) {
- TreeStoreElem *tsep= TREESTORE(te->parent);
- operation_cb(C, scene, te, tsep, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
- }
- }
-}
-
-/* */
-
-static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
- base->flag |= SELECT;
- base->object->flag |= SELECT;
- }
-}
-
-static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- base->flag &= ~SELECT;
- base->object->flag &= ~SELECT;
- }
-}
-
-static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Base *base= (Base *)te->directdata;
-
- if(base==NULL)
- base= object_in_scene((Object *)tselem->id, scene);
- if(base) {
- // check also library later
- if(scene->obedit==base->object)
- ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
-
- ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
- te->directdata= NULL;
- tselem->id= NULL;
- }
-
-}
-
-static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- if(tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
- tselem->id->lib= NULL;
- tselem->id->flag= LIB_LOCAL;
- new_id(NULL, tselem->id, NULL);
- }
-}
-
-static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
-{
- Group *group= (Group *)tselem->id;
- GroupObject *gob;
- Base *base;
-
- for(gob=group->gobject.first; gob; gob=gob->next) {
- base= object_in_scene(gob->ob, scene);
- if (base) {
- base->object->flag |= SELECT;
- base->flag |= SELECT;
- } else {
- /* link to scene */
- base= MEM_callocN( sizeof(Base), "add_base");
- BLI_addhead(&scene->base, base);
- base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
- gob->ob->flag |= SELECT;
- base->flag = gob->ob->flag;
- base->object= gob->ob;
- id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
- }
- }
-}
-
-static void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,
- void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==0 && te->idcode==ID_OB) {
- // when objects selected in other scenes... dunno if that should be allowed
- Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
- if(scene_owner && scene_act != scene_owner) {
- ED_screen_set_scene(C, scene_owner);
- }
- /* important to use 'scene_owner' not scene_act else deleting objects can crash.
- * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
- * outliner isnt showing scenes: Visible Layer draw mode for eg. */
- operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
- }
- }
-}
-
-/* ******************************************** */
-
-static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- bPoseChannel *pchan= (bPoseChannel *)te->directdata;
-
- if(event==1)
- pchan->bone->flag |= BONE_SELECTED;
- else if(event==2)
- pchan->bone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- pchan->bone->flag |= BONE_HIDDEN_P;
- pchan->bone->flag &= ~BONE_SELECTED;
- }
- else if(event==4)
- pchan->bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- Bone *bone= (Bone *)te->directdata;
-
- if(event==1)
- bone->flag |= BONE_SELECTED;
- else if(event==2)
- bone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- bone->flag |= BONE_HIDDEN_P;
- bone->flag &= ~BONE_SELECTED;
- }
- else if(event==4)
- bone->flag &= ~BONE_HIDDEN_P;
-}
-
-static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
-{
- EditBone *ebone= (EditBone *)te->directdata;
-
- if(event==1)
- ebone->flag |= BONE_SELECTED;
- else if(event==2)
- ebone->flag &= ~BONE_SELECTED;
- else if(event==3) {
- ebone->flag |= BONE_HIDDEN_A;
- ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
- }
- else if(event==4)
- ebone->flag &= ~BONE_HIDDEN_A;
-}
-
-static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
-{
-// Sequence *seq= (Sequence*) te->directdata;
- if(event==1) {
-// XXX select_single_seq(seq, 1);
- }
-}
-
-static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
- void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te=lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(tselem->flag & TSE_SELECTED) {
- if(tselem->type==type) {
- operation_cb(event, te, tselem);
- }
- }
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
- }
- }
-}
-
-static void outliner_del(bContext *C, Scene *scene, ARegion *UNUSED(ar), SpaceOops *soops)
-{
-
- if(soops->outlinevis==SO_SEQUENCE)
- ;// del_seq();
- else {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
- DAG_scene_sort(CTX_data_main(C), scene);
- ED_undo_push(C, "Delete Objects");
- WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
- }
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_object_op_types[] = {
- {1, "SELECT", 0, "Select", ""},
- {2, "DESELECT", 0, "Deselect", ""},
- {4, "DELETE", 0, "Delete", ""},
- {6, "TOGVIS", 0, "Toggle Visible", ""},
- {7, "TOGSEL", 0, "Toggle Selectable", ""},
- {8, "TOGREN", 0, "Toggle Renderable", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_object_operation_exec(bContext *C, wmOperator *op)
-{
- Main *bmain= CTX_data_main(C);
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int event;
- const char *str= NULL;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- Scene *sce= scene; // to be able to delete, scenes are set...
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
- if(scene != sce) {
- ED_screen_set_scene(C, sce);
- }
-
- str= "Select Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==2) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
- str= "Deselect Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==4) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
- DAG_scene_sort(bmain, scene);
- str= "Delete Objects";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
- }
- else if(event==5) { /* disabled, see above enum (ton) */
- outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
- str= "Localized Objects";
- }
- else if(event==6) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
- str= "Toggle Visibility";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
- }
- else if(event==7) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
- str= "Toggle Selectability";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
- }
- else if(event==8) {
- outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
- str= "Toggle Renderability";
- WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
- }
-
- ED_undo_push(C, str);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_object_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Object Operation";
- ot->idname= "OUTLINER_OT_object_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_object_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_group_op_types[] = {
- {1, "UNLINK", 0, "Unlink", ""},
- {2, "LOCAL", 0, "Make Local", ""},
- {3, "LINK", 0, "Link Group Objects to Scene", ""},
- {4, "TOGVIS", 0, "Toggle Visible", ""},
- {5, "TOGSEL", 0, "Toggle Selectable", ""},
- {6, "TOGREN", 0, "Toggle Renderable", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_group_operation_exec(bContext *C, wmOperator *op)
-{
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
- ED_undo_push(C, "Unlink group");
- }
- else if(event==2) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
- ED_undo_push(C, "Localized Data");
- }
- else if(event==3) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
- ED_undo_push(C, "Link Group Objects to Scene");
- }
-
-
- WM_event_add_notifier(C, NC_GROUP, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_group_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Group Operation";
- ot->idname= "OUTLINER_OT_group_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_group_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_id_op_types[] = {
- {1, "UNLINK", 0, "Unlink", ""},
- {2, "LOCAL", 0, "Make Local", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_id_operation_exec(bContext *C, wmOperator *op)
-{
- Scene *scene= CTX_data_scene(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- event= RNA_enum_get(op->ptr, "type");
-
- if(event==1) {
- switch(idlevel) {
- case ID_MA:
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
- ED_undo_push(C, "Unlink material");
- break;
- case ID_TE:
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
- ED_undo_push(C, "Unlink texture");
- break;
- default:
- BKE_report(op->reports, RPT_WARNING, "Not Yet");
- }
- }
- else if(event==2) {
- outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
- ED_undo_push(C, "Localized Data");
- }
-
- /* wrong notifier still... */
- WM_event_add_notifier(C, NC_OBJECT, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_id_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner ID data Operation";
- ot->idname= "OUTLINER_OT_id_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_id_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
-}
-
-/* **************************************** */
-
-static EnumPropertyItem prop_data_op_types[] = {
- {1, "SELECT", 0, "Select", ""},
- {2, "DESELECT", 0, "Deselect", ""},
- {3, "HIDE", 0, "Hide", ""},
- {4, "UNHIDE", 0, "Unhide", ""},
- {0, NULL, 0, NULL, NULL}
-};
-
-static int outliner_data_operation_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- int event;
-
- /* check for invalid states */
- if (soops == NULL)
- return OPERATOR_CANCELLED;
-
- event= RNA_enum_get(op->ptr, "type");
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- if(datalevel==TSE_POSE_CHANNEL) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "PoseChannel operation");
- }
- }
- else if(datalevel==TSE_BONE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "Bone operation");
- }
- }
- else if(datalevel==TSE_EBONE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
- ED_undo_push(C, "EditBone operation");
- }
- }
- else if(datalevel==TSE_SEQUENCE) {
- if(event>0) {
- outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
- }
- }
-
- return OPERATOR_FINISHED;
-}
-
-
-void OUTLINER_OT_data_operation(wmOperatorType *ot)
-{
- /* identifiers */
- ot->name= "Outliner Data Operation";
- ot->idname= "OUTLINER_OT_data_operation";
- ot->description= "";
-
- /* callbacks */
- ot->invoke= WM_menu_invoke;
- ot->exec= outliner_data_operation_exec;
- ot->poll= ED_operator_outliner_active;
-
- ot->flag= 0;
-
- ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
-}
-
-
-/* ******************** */
-
-
-static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
-{
-
- if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
- int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
- TreeStoreElem *tselem= TREESTORE(te);
-
- /* select object that's clicked on and popup context menu */
- if (!(tselem->flag & TSE_SELECTED)) {
-
- if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
- outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
-
- tselem->flag |= TSE_SELECTED;
- /* redraw, same as outliner_select function */
- soops->storeflag |= SO_TREESTORE_REDRAW;
- ED_region_tag_redraw(ar);
- }
-
- set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
-
- if(scenelevel) {
- //if(objectlevel || datalevel || idlevel) error("Mixed selection");
- //else pupmenu("Scene Operations%t|Delete");
- }
- else if(objectlevel) {
- WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- else if(idlevel) {
- if(idlevel==-1 || datalevel) error("Mixed selection");
- else {
- if (idlevel==ID_GR)
- WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- else
- WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- }
- else if(datalevel) {
- if(datalevel==-1) error("Mixed selection");
- else {
- WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
- }
- }
-
- return 1;
- }
-
- for(te= te->subtree.first; te; te= te->next) {
- if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval))
- return 1;
- }
- return 0;
-}
-
-
-static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
-{
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- SpaceOops *soops= CTX_wm_space_outliner(C);
- TreeElement *te;
- float fmval[2];
-
- UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
-
- for(te= soops->tree.first; te; te= te->next) {
- if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
- }
-
- return OPERATOR_FINISHED;
-}
-
-/* Menu only! Calls other operators */
-void OUTLINER_OT_operation(wmOperatorType *ot)
-{
- ot->name= "Execute Operation";
- ot->idname= "OUTLINER_OT_operation";
- ot->description= "Context menu for item operations";
-
- ot->invoke= outliner_operation;
-
- ot->poll= ED_operator_outliner_active;
-}
-
-
-
-/* ***************** ANIMATO OPERATIONS ********************************** */
-/* KeyingSet and Driver Creation - Helper functions */
-
-/* specialised poll callback for these operators to work in Datablocks view only */
-static int ed_operator_outliner_datablocks_active(bContext *C)
-{
- ScrArea *sa= CTX_wm_area(C);
- if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
- SpaceOops *so= CTX_wm_space_outliner(C);
- return (so->outlinevis == SO_DATABLOCKS);
- }
- return 0;
-}
-
-
-/* Helper func to extract an RNA path from selected tree element
- * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
- * this function does not do that yet
- */
-static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem,
- ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
-{
- ListBase hierarchy = {NULL, NULL};
- LinkData *ld;
- TreeElement *tem, *temnext, *temsub;
- TreeStoreElem *tse, *tsenext;
- PointerRNA *ptr, *nextptr;
- PropertyRNA *prop;
- char *newpath=NULL;
-
- /* optimise tricks:
- * - Don't do anything if the selected item is a 'struct', but arrays are allowed
- */
- if (tselem->type == TSE_RNA_STRUCT)
- return;
-
- /* Overview of Algorithm:
- * 1. Go up the chain of parents until we find the 'root', taking note of the
- * levels encountered in reverse-order (i.e. items are added to the start of the list
- * for more convenient looping later)
- * 2. Walk down the chain, adding from the first ID encountered
- * (which will become the 'ID' for the KeyingSet Path), and build a
- * path as we step through the chain
- */
-
- /* step 1: flatten out hierarchy of parents into a flat chain */
- for (tem= te->parent; tem; tem= tem->parent) {
- ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
- ld->data= tem;
- BLI_addhead(&hierarchy, ld);
- }
-
- /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
- for (ld= hierarchy.first; ld; ld= ld->next) {
- /* get data */
- tem= (TreeElement *)ld->data;
- tse= TREESTORE(tem);
- ptr= &tem->rnaptr;
- prop= tem->directdata;
-
- /* check if we're looking for first ID, or appending to path */
- if (*id) {
- /* just 'append' property to path
- * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
- */
- if(tse->type == TSE_RNA_PROPERTY) {
- if(RNA_property_type(prop) == PROP_POINTER) {
- /* for pointer we just append property name */
- newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
- }
- else if(RNA_property_type(prop) == PROP_COLLECTION) {
- char buf[128], *name;
-
- temnext= (TreeElement*)(ld->next->data);
- tsenext= TREESTORE(temnext);
-
- nextptr= &temnext->rnaptr;
- name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
-
- if(name) {
- /* if possible, use name as a key in the path */
- newpath= RNA_path_append(*path, NULL, prop, 0, name);
-
- if(name != buf)
- MEM_freeN(name);
- }
- else {
- /* otherwise use index */
- int index= 0;
-
- for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
- if(temsub == temnext)
- break;
-
- newpath= RNA_path_append(*path, NULL, prop, index, NULL);
- }
-
- ld= ld->next;
- }
- }
-
- if(newpath) {
- if (*path) MEM_freeN(*path);
- *path= newpath;
- newpath= NULL;
- }
- }
- else {
- /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
- if (tse->type == TSE_RNA_STRUCT) {
- /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
- if(RNA_struct_is_ID(ptr->type)) {
- *id= (ID *)ptr->data;
-
- /* clear path */
- if(*path) {
- MEM_freeN(*path);
- path= NULL;
- }
- }
- }
- }
- }
-
- /* step 3: if we've got an ID, add the current item to the path */
- if (*id) {
- /* add the active property to the path */
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- /* array checks */
- if (tselem->type == TSE_RNA_ARRAY_ELEM) {
- /* item is part of an array, so must set the array_index */
- *array_index= te->index;
- }
- else if (RNA_property_array_length(ptr, prop)) {
- /* entire array was selected, so keyframe all */
- *flag |= KSP_FLAG_WHOLE_ARRAY;
- }
-
- /* path */
- newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
- if (*path) MEM_freeN(*path);
- *path= newpath;
- }
-
- /* free temp data */
- BLI_freelistN(&hierarchy);
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
- DRIVERS_EDITMODE_ADD = 0,
- DRIVERS_EDITMODE_REMOVE,
-} /*eDrivers_EditModes*/;
-
-/* Utilities ---------------------------------- */
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= tree->first; te; te=te->next) {
- tselem= TREESTORE(te);
-
- /* if item is selected, perform operation */
- if (tselem->flag & TSE_SELECTED) {
- ID *id= NULL;
- char *path= NULL;
- int array_index= 0;
- short flag= 0;
- short groupmode= KSP_GROUP_KSNAME;
-
- /* check if RNA-property described by this selected element is an animateable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
- /* get id + path + index info from the selected element */
- tree_element_to_path(soops, te, tselem,
- &id, &path, &array_index, &flag, &groupmode);
- }
-
- /* only if ID and path were set, should we perform any actions */
- if (id && path) {
- short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
- int arraylen = 1;
-
- /* array checks */
- if (flag & KSP_FLAG_WHOLE_ARRAY) {
- /* entire array was selected, so add drivers for all */
- arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
- }
- else
- arraylen= array_index;
-
- /* we should do at least one step */
- if (arraylen == array_index)
- arraylen++;
-
- /* for each array element we should affect, add driver */
- for (; array_index < arraylen; array_index++) {
- /* action depends on mode */
- switch (mode) {
- case DRIVERS_EDITMODE_ADD:
- {
- /* add a new driver with the information obtained (only if valid) */
- ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
- }
- break;
- case DRIVERS_EDITMODE_REMOVE:
- {
- /* remove driver matching the information obtained (only if valid) */
- ANIM_remove_driver(reports, id, path, array_index, dflags);
- }
- break;
- }
- }
-
- /* free path, since it had to be generated */
- MEM_freeN(path);
- }
-
-
- }
-
- /* go over sub-tree */
- if ((tselem->flag & TSE_CLOSED)==0)
- do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
- }
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
-{
- /* api callbacks */
- ot->idname= "OUTLINER_OT_drivers_add_selected";
- ot->name= "Add Drivers for Selected";
- ot->description= "Add drivers to selected items";
-
- /* api callbacks */
- ot->exec= outliner_drivers_addsel_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
-
- /* send notifiers */
- WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_drivers_delete_selected";
- ot->name= "Delete Drivers for Selected";
- ot->description= "Delete drivers assigned to selected items";
-
- /* api callbacks */
- ot->exec= outliner_drivers_deletesel_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** KEYINGSET OPERATIONS *************** */
-
-/* These operators are only available in databrowser mode for now, as
- * they depend on having RNA paths and/or hierarchies available.
- */
-enum {
- KEYINGSET_EDITMODE_ADD = 0,
- KEYINGSET_EDITMODE_REMOVE,
-} /*eKeyingSet_EditModes*/;
-
-/* Utilities ---------------------------------- */
-
-/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
-// TODO: should this be an API func?
-static KeyingSet *verify_active_keyingset(Scene *scene, short add)
-{
- KeyingSet *ks= NULL;
-
- /* sanity check */
- if (scene == NULL)
- return NULL;
-
- /* try to find one from scene */
- if (scene->active_keyingset > 0)
- ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
-
- /* add if none found */
- // XXX the default settings have yet to evolve
- if ((add) && (ks==NULL)) {
- ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
- scene->active_keyingset= BLI_countlist(&scene->keyingsets);
- }
-
- return ks;
-}
-
-/* Recursively iterate over tree, finding and working on selected items */
-static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for (te= tree->first; te; te=te->next) {
- tselem= TREESTORE(te);
-
- /* if item is selected, perform operation */
- if (tselem->flag & TSE_SELECTED) {
- ID *id= NULL;
- char *path= NULL;
- int array_index= 0;
- short flag= 0;
- short groupmode= KSP_GROUP_KSNAME;
-
- /* check if RNA-property described by this selected element is an animateable prop */
- if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
- /* get id + path + index info from the selected element */
- tree_element_to_path(soops, te, tselem,
- &id, &path, &array_index, &flag, &groupmode);
- }
-
- /* only if ID and path were set, should we perform any actions */
- if (id && path) {
- /* action depends on mode */
- switch (mode) {
- case KEYINGSET_EDITMODE_ADD:
- {
- /* add a new path with the information obtained (only if valid) */
- // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
- BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
- ks->active_path= BLI_countlist(&ks->paths);
- }
- break;
- case KEYINGSET_EDITMODE_REMOVE:
- {
- /* find the relevant path, then remove it from the KeyingSet */
- KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
-
- if (ksp) {
- /* free path's data */
- BKE_keyingset_free_path(ks, ksp);
-
- ks->active_path= 0;
- }
- }
- break;
- }
-
- /* free path, since it had to be generated */
- MEM_freeN(path);
- }
- }
-
- /* go over sub-tree */
- if ((tselem->flag & TSE_CLOSED)==0)
- do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
- }
-}
-
-/* Add Operator ---------------------------------- */
-
-static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- KeyingSet *ks= verify_active_keyingset(scene, 1);
-
- /* check for invalid states */
- if (ks == NULL) {
- BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
- return OPERATOR_CANCELLED;
- }
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_keyingset_add_selected";
- ot->name= "Keying Set Add Selected";
- ot->description= "Add selected items (blue-grey rows) to active Keying Set";
-
- /* api callbacks */
- ot->exec= outliner_keyingset_additems_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-
-/* Remove Operator ---------------------------------- */
-
-static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
-{
- SpaceOops *soutliner= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- KeyingSet *ks= verify_active_keyingset(scene, 1);
-
- /* check for invalid states */
- if (soutliner == NULL)
- return OPERATOR_CANCELLED;
-
- /* recursively go into tree, adding selected items */
- do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
-
- /* send notifiers */
- WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
-
- return OPERATOR_FINISHED;
-}
-
-void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
-{
- /* identifiers */
- ot->idname= "OUTLINER_OT_keyingset_remove_selected";
- ot->name= "Keying Set Remove Selected";
- ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
-
- /* api callbacks */
- ot->exec= outliner_keyingset_removeitems_exec;
- ot->poll= ed_operator_outliner_datablocks_active;
-
- /* flags */
- ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
-}
-
-/* ***************** DRAW *************** */
-
-/* make function calls a bit compacter */
-struct DrawIconArg {
- uiBlock *block;
- ID *id;
- int xmax, x, y;
- float alpha;
-};
-
-static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
-{
- /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
- if(arg->x >= arg->xmax)
- UI_icon_draw(arg->x, arg->y, icon);
- else {
- /* XXX investigate: button placement of icons is way different than UI_icon_draw? */
- float ufac= UI_UNIT_X/20.0f;
- uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
-
- if(arg->id)
- uiButSetDragID(but, arg->id);
- }
-
-}
-
-static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
-{
- struct DrawIconArg arg;
-
- /* make function calls a bit compacter */
- arg.block= block;
- arg.id= tselem->id;
- arg.xmax= xmax;
- arg.x= x;
- arg.y= y;
- arg.alpha= alpha;
-
- if(tselem->type) {
- switch( tselem->type) {
- case TSE_ANIM_DATA:
- UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
- case TSE_NLA:
- UI_icon_draw(x, y, ICON_NLA); break;
- case TSE_NLA_TRACK:
- UI_icon_draw(x, y, ICON_NLA); break; // XXX
- case TSE_NLA_ACTION:
- UI_icon_draw(x, y, ICON_ACTION); break;
- case TSE_DEFGROUP_BASE:
- UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
- case TSE_BONE:
- case TSE_EBONE:
- UI_icon_draw(x, y, ICON_BONE_DATA); break;
- case TSE_CONSTRAINT_BASE:
- UI_icon_draw(x, y, ICON_CONSTRAINT); break;
- case TSE_MODIFIER_BASE:
- UI_icon_draw(x, y, ICON_MODIFIER); break;
- case TSE_LINKED_OB:
- UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
- case TSE_LINKED_PSYS:
- UI_icon_draw(x, y, ICON_PARTICLES); break;
- case TSE_MODIFIER:
- {
- Object *ob= (Object *)tselem->id;
- ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
- switch(md->type) {
- case eModifierType_Subsurf:
- UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
- case eModifierType_Armature:
- UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
- case eModifierType_Lattice:
- UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
- case eModifierType_Curve:
- UI_icon_draw(x, y, ICON_MOD_CURVE); break;
- case eModifierType_Build:
- UI_icon_draw(x, y, ICON_MOD_BUILD); break;
- case eModifierType_Mirror:
- UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
- case eModifierType_Decimate:
- UI_icon_draw(x, y, ICON_MOD_DECIM); break;
- case eModifierType_Wave:
- UI_icon_draw(x, y, ICON_MOD_WAVE); break;
- case eModifierType_Hook:
- UI_icon_draw(x, y, ICON_HOOK); break;
- case eModifierType_Softbody:
- UI_icon_draw(x, y, ICON_MOD_SOFT); break;
- case eModifierType_Boolean:
- UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
- case eModifierType_ParticleSystem:
- UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
- case eModifierType_ParticleInstance:
- UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
- case eModifierType_EdgeSplit:
- UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
- case eModifierType_Array:
- UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
- case eModifierType_UVProject:
- UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
- case eModifierType_Displace:
- UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
- case eModifierType_Shrinkwrap:
- UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
- case eModifierType_Cast:
- UI_icon_draw(x, y, ICON_MOD_CAST); break;
- case eModifierType_MeshDeform:
- UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
- case eModifierType_Bevel:
- UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
- case eModifierType_Smooth:
- UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
- case eModifierType_SimpleDeform:
- UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
- case eModifierType_Mask:
- UI_icon_draw(x, y, ICON_MOD_MASK); break;
- case eModifierType_Cloth:
- UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
- case eModifierType_Explode:
- UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
- case eModifierType_Collision:
- UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
- case eModifierType_Fluidsim:
- UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
- case eModifierType_Multires:
- UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
- case eModifierType_Smoke:
- UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
- case eModifierType_Solidify:
- UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
- case eModifierType_Screw:
- UI_icon_draw(x, y, ICON_MOD_SCREW); break;
- default:
- UI_icon_draw(x, y, ICON_DOT); break;
- }
- break;
- }
- case TSE_SCRIPT_BASE:
- UI_icon_draw(x, y, ICON_TEXT); break;
- case TSE_POSE_BASE:
- UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
- case TSE_POSE_CHANNEL:
- UI_icon_draw(x, y, ICON_BONE_DATA); break;
- case TSE_PROXY:
- UI_icon_draw(x, y, ICON_GHOST); break;
- case TSE_R_LAYER_BASE:
- UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
- case TSE_R_LAYER:
- UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
- case TSE_LINKED_LAMP:
- UI_icon_draw(x, y, ICON_LAMP_DATA); break;
- case TSE_LINKED_MAT:
- UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
- case TSE_POSEGRP_BASE:
- UI_icon_draw(x, y, ICON_VERTEXSEL); break;
- case TSE_SEQUENCE:
- if(te->idcode==SEQ_MOVIE)
- UI_icon_draw(x, y, ICON_SEQUENCE);
- else if(te->idcode==SEQ_META)
- UI_icon_draw(x, y, ICON_DOT);
- else if(te->idcode==SEQ_SCENE)
- UI_icon_draw(x, y, ICON_SCENE);
- else if(te->idcode==SEQ_SOUND)
- UI_icon_draw(x, y, ICON_SOUND);
- else if(te->idcode==SEQ_IMAGE)
- UI_icon_draw(x, y, ICON_IMAGE_COL);
- else
- UI_icon_draw(x, y, ICON_PARTICLES);
- break;
- case TSE_SEQ_STRIP:
- UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
- break;
- case TSE_SEQUENCE_DUP:
- UI_icon_draw(x, y, ICON_OBJECT_DATA);
- break;
- case TSE_RNA_STRUCT:
- if(RNA_struct_is_ID(te->rnaptr.type)) {
- arg.id= (ID *)te->rnaptr.data;
- tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
- }
- else
- UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
- break;
- default:
- UI_icon_draw(x, y, ICON_DOT); break;
- }
- }
- else if (GS(tselem->id->name) == ID_OB) {
- Object *ob= (Object *)tselem->id;
- switch (ob->type) {
- case OB_LAMP:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
- case OB_MESH:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
- case OB_CAMERA:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
- case OB_CURVE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
- case OB_MBALL:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
- case OB_LATTICE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
- case OB_ARMATURE:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
- case OB_FONT:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
- case OB_SURF:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
- case OB_EMPTY:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
-
- }
- }
- else {
- switch( GS(tselem->id->name)) {
- case ID_SCE:
- tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
- case ID_ME:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
- case ID_CU:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
- case ID_MB:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
- case ID_LT:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
- case ID_LA:
- {
- Lamp *la= (Lamp *)tselem->id;
-
- switch(la->type) {
- case LA_LOCAL:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
- case LA_SUN:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
- case LA_SPOT:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
- case LA_HEMI:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
- case LA_AREA:
- tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
- default:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
- }
- break;
- }
- case ID_MA:
- tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
- case ID_TE:
- tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
- case ID_IM:
- tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
- case ID_SO:
- tselem_draw_icon_uibut(&arg, ICON_SPEAKER); break;
- case ID_AR:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
- case ID_CA:
- tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
- case ID_KE:
- tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
- case ID_WO:
- tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
- case ID_AC:
- tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
- case ID_NLA:
- tselem_draw_icon_uibut(&arg, ICON_NLA); break;
- case ID_TXT:
- tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
- case ID_GR:
- tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
- case ID_LI:
- tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
- }
- }
-}
-
-static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int active;
-
- for(te= lb->first; te; te= te->next) {
-
- /* exit drawing early */
- if((*offsx) - UI_UNIT_X > xmax)
- break;
-
- tselem= TREESTORE(te);
-
- /* object hierarchy always, further constrained on level */
- if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
-
- /* active blocks get white circle */
- if(tselem->type==0) {
- if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
- else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context?
- else active= tree_element_active(C, scene, soops, te, 0);
- }
- else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
-
- if(active) {
- float ufac= UI_UNIT_X/20.0f;
-
- uiSetRoundBox(15);
- glColor4ub(255, 255, 255, 100);
- uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
- glEnable(GL_BLEND); /* roundbox disables */
- }
-
- tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
- te->xs= (float)*offsx;
- te->ys= (float)ys;
- te->xend= (short)*offsx+UI_UNIT_X;
- te->flag |= TE_ICONROW; // for click
-
- (*offsx) += UI_UNIT_X;
- }
-
- /* this tree element always has same amount of branches, so dont draw */
- if(tselem->type!=TSE_R_LAYER)
- outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
- }
-
-}
-
-/* closed tree element */
-static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeElement *ten;
-
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)(*starty);
-
- for(ten= te->subtree.first; ten; ten= ten->next) {
- outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
- }
-}
-
-
-static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
-{
- TreeElement *ten;
- TreeStoreElem *tselem;
- float ufac= UI_UNIT_X/20.0f;
- int offsx= 0, active=0; // active=1 active obj, else active data
-
- tselem= TREESTORE(te);
-
- if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
- int xmax= ar->v2d.cur.xmax;
-
- /* icons can be ui buts, we dont want it to overlap with restrict */
- if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
- xmax-= OL_TOGW+UI_UNIT_X;
-
- glEnable(GL_BLEND);
-
- /* colors for active/selected data */
- if(tselem->type==0) {
- if(te->idcode==ID_SCE) {
- if(tselem->id == (ID *)scene) {
- glColor4ub(255, 255, 255, 100);
- active= 2;
- }
- }
- else if(te->idcode==ID_GR) {
- Group *gr = (Group *)tselem->id;
-
- if(group_select_flag(gr)) {
- char col[4];
- UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
- col[3]= 100;
- glColor4ubv((GLubyte *)col);
-
- active= 2;
- }
- }
- else if(te->idcode==ID_OB) {
- Object *ob= (Object *)tselem->id;
-
- if(ob==OBACT || (ob->flag & SELECT)) {
- char col[4]= {0, 0, 0, 0};
-
- /* outliner active ob: always white text, circle color now similar to view3d */
-
- active= 2; /* means it draws a color circle */
- if(ob==OBACT) {
- if(ob->flag & SELECT) {
- UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
- col[3]= 100;
- }
-
- active= 1; /* means it draws white text */
- }
- else if(ob->flag & SELECT) {
- UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
- col[3]= 100;
- }
-
- glColor4ubv((GLubyte *)col);
- }
-
- }
- else if(scene->obedit && scene->obedit->data==tselem->id) {
- glColor4ub(255, 255, 255, 100);
- active= 2;
- }
- else {
- if(tree_element_active(C, scene, soops, te, 0)) {
- glColor4ub(220, 220, 255, 100);
- active= 2;
- }
- }
- }
- else {
- if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
- glColor4ub(220, 220, 255, 100);
- }
-
- /* active circle */
- if(active) {
- uiSetRoundBox(15);
- uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
- glEnable(GL_BLEND); /* roundbox disables it */
-
- te->flag |= TE_ACTIVE; // for lookup in display hierarchies
- }
-
- /* open/close icon, only when sublevels, except for scene */
- if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
- int icon_x;
- if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
- icon_x = startx;
- else
- icon_x = startx+5*ufac;
-
- // icons a bit higher
- if(tselem->flag & TSE_CLOSED)
- UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
- else
- UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
- }
- offsx+= UI_UNIT_X;
-
- /* datatype icon */
-
- if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
- // icons a bit higher
- tselem_draw_icon(block, xmax, (float)startx+offsx, (float)*starty+2*ufac, tselem, te, 1.0f);
-
- offsx+= UI_UNIT_X;
- }
- else
- offsx+= 2*ufac;
-
- if(tselem->type==0 && tselem->id->lib) {
- glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
- if(tselem->id->flag & LIB_INDIRECT)
- UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
- else
- UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
- glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
- offsx+= UI_UNIT_X;
- }
- glDisable(GL_BLEND);
-
- /* name */
- if(active==1) UI_ThemeColor(TH_TEXT_HI);
- else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
- else UI_ThemeColor(TH_TEXT);
-
- UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
-
- offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
-
- /* closed item, we draw the icons, not when it's a scene, or master-server list though */
- if(tselem->flag & TSE_CLOSED) {
- if(te->subtree.first) {
- if(tselem->type==0 && te->idcode==ID_SCE);
- else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
- int tempx= startx+offsx;
-
- // divider
- UI_ThemeColorShade(TH_BACK, -40);
- glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
-
- glEnable(GL_BLEND);
- glPixelTransferf(GL_ALPHA_SCALE, 0.5);
-
- outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
-
- glPixelTransferf(GL_ALPHA_SCALE, 1.0);
- glDisable(GL_BLEND);
- }
- }
- }
- }
- /* store coord and continue, we need coordinates for elements outside view too */
- te->xs= (float)startx;
- te->ys= (float)*starty;
- te->xend= startx+offsx;
-
- if((tselem->flag & TSE_CLOSED)==0) {
- *starty-= UI_UNIT_Y;
-
- for(ten= te->subtree.first; ten; ten= ten->next)
- outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
- }
- else {
- for(ten= te->subtree.first; ten; ten= ten->next)
- outliner_set_coord_tree_element(soops, te, startx, starty);
-
- *starty-= UI_UNIT_Y;
- }
-}
-
-static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- int y1, y2;
-
- if(lb->first==NULL) return;
-
- y1=y2= *starty; /* for vertical lines between objects */
- for(te=lb->first; te; te= te->next) {
- y2= *starty;
- tselem= TREESTORE(te);
-
- /* horizontal line? */
- if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
- glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
-
- *starty-= UI_UNIT_Y;
-
- if((tselem->flag & TSE_CLOSED)==0)
- outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
- }
-
- /* vertical line */
- te= lb->last;
- if(te->parent || lb->first!=lb->last) {
- tselem= TREESTORE(te);
- if(tselem->type==0 && te->idcode==ID_OB) {
-
- glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
- }
- }
-}
-
-static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- /* selection status */
- if((tselem->flag & TSE_CLOSED)==0)
- if(tselem->type == TSE_RNA_STRUCT)
- glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
-
- *starty-= UI_UNIT_Y;
- if((tselem->flag & TSE_CLOSED)==0) {
- outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
- if(tselem->type == TSE_RNA_STRUCT)
- fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
- }
- }
-}
-
-static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
-
- /* selection status */
- if(tselem->flag & TSE_SELECTED) {
- glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
- }
- *starty-= UI_UNIT_Y;
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
- }
-}
-
-
-static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
-{
- TreeElement *te;
- int starty, startx;
- float col[4];
-
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once
-
- if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
- /* struct marks */
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
- //UI_ThemeColorShade(TH_BACK, -20);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
- }
-
- /* always draw selection fill before hierarchy */
- UI_GetThemeColor3fv(TH_BACK, col);
- glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- outliner_draw_selection(ar, soops, &soops->tree, &starty);
-
- // grey hierarchy lines
- UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.2f);
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
- startx= 6;
- outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
-
- // items themselves
- starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
- startx= 0;
- for(te= soops->tree.first; te; te= te->next) {
- outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
- }
-}
-
-
-static void outliner_back(ARegion *ar)
-{
- int ystart;
-
- UI_ThemeColorShade(TH_BACK, 6);
- ystart= (int)ar->v2d.tot.ymax;
- ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-
- while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
- glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
- ystart-= 2*UI_UNIT_Y;
- }
-}
-
-static void outliner_draw_restrictcols(ARegion *ar)
-{
- int ystart;
-
- /* background underneath */
- UI_ThemeColor(TH_BACK);
- glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
-
- UI_ThemeColorShade(TH_BACK, 6);
- ystart= (int)ar->v2d.tot.ymax;
- ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
-
- while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
- glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
- ystart-= 2*UI_UNIT_Y;
- }
-
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
- /* view */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
- /* render */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-
- /* render */
- fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
- ar->v2d.cur.ymax,
- ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
- ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
-}
-
-static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
-{
- Scene *scene = (Scene *)poin;
- Object *ob = (Object *)poin2;
-
- if(!common_restrict_check(C, ob)) return;
-
- /* deselect objects that are invisible */
- if (ob->restrictflag & OB_RESTRICT_VIEW) {
- /* Ouch! There is no backwards pointer from Object to Base,
- * so have to do loop to find it. */
- ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
- }
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
-{
- Scene *scene = (Scene *)poin;
- Object *ob = (Object *)poin2;
-
- if(!common_restrict_check(C, ob)) return;
-
- /* if select restriction has just been turned on */
- if (ob->restrictflag & OB_RESTRICT_SELECT) {
- /* Ouch! There is no backwards pointer from Object to Base,
- * so have to do loop to find it. */
- ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
- }
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
-
-}
-
-static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
- WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
-}
-
-static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
-{
- WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
-}
-
-static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- Object *ob = (Object *)poin2;
-
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
-
- WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
-}
-
-static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- Bone *bone= (Bone *)poin2;
- if(bone && (bone->flag & BONE_HIDDEN_P))
- bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
-{
- EditBone *ebone= (EditBone *)poin2;
- if(ebone && (ebone->flag & BONE_HIDDEN_A))
- ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
-
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
-}
-
-static int group_restrict_flag(Group *gr, int flag)
-{
- GroupObject *gob;
-
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- if((gob->ob->restrictflag & flag) == 0)
- return 0;
- }
-
- return 1;
-}
-
-static int group_select_flag(Group *gr)
-{
- GroupObject *gob;
-
- for(gob= gr->gobject.first; gob; gob= gob->next)
- if((gob->ob->flag & SELECT))
- return 1;
-
- return 0;
-}
-
-static void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
-{
- Scene *scene = (Scene *)poin;
- GroupObject *gob;
- Group *gr = (Group *)poin2;
-
- if(group_restrict_flag(gr, flag)) {
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- gob->ob->restrictflag &= ~flag;
-
- if(flag==OB_RESTRICT_VIEW)
- if(gob->ob->flag & SELECT)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
- }
- }
- else {
- for(gob= gr->gobject.first; gob; gob= gob->next) {
- /* not in editmode */
- if(scene->obedit!=gob->ob) {
- gob->ob->restrictflag |= flag;
-
- if(flag==OB_RESTRICT_VIEW)
- if((gob->ob->flag & SELECT) == 0)
- ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
- }
- }
- }
-}
-
-static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
-{
- restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
- WM_event_add_notifier(C, NC_GROUP, NULL);
-}
-
-
-static void namebutton_cb(bContext *C, void *tsep, char *oldname)
-{
- SpaceOops *soops= CTX_wm_space_outliner(C);
- Scene *scene= CTX_data_scene(C);
- Object *obedit= CTX_data_edit_object(C);
- TreeStore *ts= soops->treestore;
- TreeStoreElem *tselem= tsep;
-
- if(ts && tselem) {
- TreeElement *te= outliner_find_tse(soops, tselem);
-
- if(tselem->type==0) {
- test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort
-
- switch(GS(tselem->id->name)) {
- case ID_MA:
- WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
- case ID_TE:
- WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
- case ID_IM:
- WM_event_add_notifier(C, NC_IMAGE, NULL); break;
- case ID_SCE:
- WM_event_add_notifier(C, NC_SCENE, NULL); break;
- default:
- WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
- }
- /* Check the library target exists */
- if (te->idcode == ID_LI) {
- char expanded[FILE_MAXDIR + FILE_MAXFILE];
- BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
- BLI_path_abs(expanded, G.main->name);
- if (!BLI_exists(expanded)) {
- error("This path does not exist, correct this before saving");
- }
- }
- }
- else {
- switch(tselem->type) {
- case TSE_DEFGROUP:
- defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object
- break;
- case TSE_NLA_ACTION:
- test_idbutton(tselem->id->name+2);
- break;
- case TSE_EBONE:
- {
- bArmature *arm= (bArmature *)tselem->id;
- if(arm->edbo) {
- EditBone *ebone= te->directdata;
- char newname[sizeof(ebone->name)];
-
- /* restore bone name */
- BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
- BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
- ED_armature_bone_rename(obedit->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
- }
- }
- break;
-
- case TSE_BONE:
- {
- Bone *bone= te->directdata;
- Object *ob;
- char newname[sizeof(bone->name)];
-
- // always make current object active
- tree_element_set_active_object(C, scene, soops, te, 1);
- ob= OBACT;
-
- /* restore bone name */
- BLI_strncpy(newname, bone->name, sizeof(bone->name));
- BLI_strncpy(bone->name, oldname, sizeof(bone->name));
- ED_armature_bone_rename(ob->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_POSE_CHANNEL:
- {
- bPoseChannel *pchan= te->directdata;
- Object *ob;
- char newname[sizeof(pchan->name)];
-
- // always make current object active
- tree_element_set_active_object(C, scene, soops, te, 1);
- ob= OBACT;
-
- /* restore bone name */
- BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
- BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
- ED_armature_bone_rename(ob->data, oldname, newname);
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_POSEGRP:
- {
- Object *ob= (Object *)tselem->id; // id = object
- bActionGroup *grp= te->directdata;
-
- BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
- WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
- }
- break;
- case TSE_R_LAYER:
- break;
- }
- }
- tselem->flag &= ~TSE_TEXTBUT;
- }
-}
-
-static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- uiBut *bt;
- TreeElement *te;
- TreeStoreElem *tselem;
- Object *ob = NULL;
- Group *gr = NULL;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- /* objects have toggle-able restriction flags */
- if(tselem->type==0 && te->idcode==ID_OB) {
- PointerRNA ptr;
-
- ob = (Object *)tselem->id;
- RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
-
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
-
- bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
- &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
- uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
-
- }
- if(tselem->type==0 && te->idcode==ID_GR){
- int restrict_bool;
- gr = (Group *)tselem->id;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
-
- restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
- bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
- uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- /* scene render layers and passes have toggle-able flags too! */
- else if(tselem->type==TSE_R_LAYER) {
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
- bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- else if(tselem->type==TSE_R_PASS) {
- int *layflag= te->directdata;
- int passflag= 1<<tselem->nr;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
-
-
- bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- layflag++; /* is lay_xor */
- if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
- bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
- uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
-
- uiBlockSetEmboss(block, UI_EMBOSS);
- }
- else if(tselem->type==TSE_MODIFIER) {
- ModifierData *md= (ModifierData *)te->directdata;
- ob = (Object *)tselem->id;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
-
- bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
- uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
- }
- else if(tselem->type==TSE_POSE_CHANNEL) {
- bPoseChannel *pchan= (bPoseChannel *)te->directdata;
- Bone *bone = pchan->bone;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
-
- bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
- }
- else if(tselem->type==TSE_EBONE) {
- EditBone *ebone= (EditBone *)te->directdata;
-
- uiBlockSetEmboss(block, UI_EMBOSSN);
- bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
- uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
-
- bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
- (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
- uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
- }
-}
-
-static void outliner_draw_rnacols(ARegion *ar, int sizex)
-{
- View2D *v2d= &ar->v2d;
-
- float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
- if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
-
- UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
-
- /* draw column separator lines */
- fdrawline((float)sizex,
- v2d->cur.ymax,
- (float)sizex,
- miny);
-
- fdrawline((float)sizex+OL_RNA_COL_SIZEX,
- v2d->cur.ymax,
- (float)sizex+OL_RNA_COL_SIZEX,
- miny);
-}
-
-static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
- PointerRNA *ptr;
- PropertyRNA *prop;
-
- uiBlockSetEmboss(block, UI_EMBOSST);
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- if(tselem->type == TSE_RNA_PROPERTY) {
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
- uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
- }
- else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
- ptr= &te->rnaptr;
- prop= te->directdata;
-
- uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
- }
-}
-
-static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
-{
- wmOperatorType *ot= arg2;
- wmKeyMapItem *kmi= arg_kmi;
-
- if(ot)
- BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
-}
-
-static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
-{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
- if(BLI_strcasestr(ot->idname, str)) {
- char name[OP_MAX_TYPENAME];
-
- /* display name for menu */
- WM_operator_py_idname(name, ot->idname);
-
- if(0==uiSearchItemAdd(items, name, ot, 0))
- break;
- }
- }
-}
-
-/* operator Search browse menu, open */
-static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
-{
- static char search[OP_MAX_TYPENAME];
- wmEvent event;
- wmWindow *win= CTX_wm_window(C);
- wmKeyMapItem *kmi= arg_kmi;
- wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
- uiBlock *block;
- uiBut *but;
-
- /* clear initial search string, then all items show */
- search[0]= 0;
-
- block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
- uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
-
- /* fake button, it holds space for search items */
- uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
-
- but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
- uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
-
- uiBoundsBlock(block, 6);
- uiBlockSetDirection(block, UI_DOWN);
- uiEndBlock(C, block);
-
- event= *(win->eventstate); /* XXX huh huh? make api call */
- event.type= EVT_BUT_OPEN;
- event.val= KM_PRESS;
- event.customdata= but;
- event.customdatafree= FALSE;
- wm_event_add(win, &event);
-
- return block;
-}
-
-#define OL_KM_KEYBOARD 0
-#define OL_KM_MOUSE 1
-#define OL_KM_TWEAK 2
-#define OL_KM_SPECIALS 3
-
-static short keymap_menu_type(short type)
-{
- if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
- if(ISTWEAK(type)) return OL_KM_TWEAK;
- if(ISMOUSE(type)) return OL_KM_MOUSE;
-// return OL_KM_SPECIALS;
- return 0;
-}
-
-static const char *keymap_type_menu(void)
-{
- static const char string[]=
- "Event Type%t"
- "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
- "|Mouse%x" STRINGIFY(OL_KM_MOUSE)
- "|Tweak%x" STRINGIFY(OL_KM_TWEAK)
-// "|Specials%x" STRINGIFY(OL_KM_SPECIALS)
- ;
-
- return string;
-}
-
-static const char *keymap_mouse_menu(void)
-{
- static const char string[]=
- "Mouse Event%t"
- "|Left Mouse%x" STRINGIFY(LEFTMOUSE)
- "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
- "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
- "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
- "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
- "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
- "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
- "|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
- "|Select Mouse%x" STRINGIFY(SELECTMOUSE)
- "|Mouse Move%x" STRINGIFY(MOUSEMOVE)
- "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
- "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
- "|Wheel In%x" STRINGIFY(WHEELINMOUSE)
- "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
- "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
- "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
- "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
- ;
-
- return string;
-}
-
-static const char *keymap_tweak_menu(void)
-{
- static const char string[]=
- "Tweak Event%t"
- "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
- "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
- "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
- "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
- "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
- ;
-
- return string;
-}
-
-static const char *keymap_tweak_dir_menu(void)
-{
- static const char string[]=
- "Tweak Direction%t"
- "|Any%x" STRINGIFY(KM_ANY)
- "|North%x" STRINGIFY(EVT_GESTURE_N)
- "|North-East%x" STRINGIFY(EVT_GESTURE_NE)
- "|East%x" STRINGIFY(EVT_GESTURE_E)
- "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
- "|South%x" STRINGIFY(EVT_GESTURE_S)
- "|South-West%x" STRINGIFY(EVT_GESTURE_SW)
- "|West%x" STRINGIFY(EVT_GESTURE_W)
- "|North-West%x" STRINGIFY(EVT_GESTURE_NW)
- ;
-
- return string;
-}
-
-
-static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
-{
- wmKeyMapItem *kmi= kmi_v;
- short maptype= keymap_menu_type(kmi->type);
-
- if(maptype!=kmi->maptype) {
- switch(kmi->maptype) {
- case OL_KM_KEYBOARD:
- kmi->type= AKEY;
- kmi->val= KM_PRESS;
- break;
- case OL_KM_MOUSE:
- kmi->type= LEFTMOUSE;
- kmi->val= KM_PRESS;
- break;
- case OL_KM_TWEAK:
- kmi->type= EVT_TWEAK_L;
- kmi->val= KM_ANY;
- break;
- case OL_KM_SPECIALS:
- kmi->type= AKEY;
- kmi->val= KM_PRESS;
- }
- ED_region_tag_redraw(CTX_wm_region(C));
- }
-}
-
-static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- TreeElement *te;
- TreeStoreElem *tselem;
-
- uiBlockSetEmboss(block, UI_EMBOSST);
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
- uiBut *but;
- const char *str;
- int xstart= 240;
- int butw1= UI_UNIT_X; /* operator */
- int butw2= 90; /* event type, menus */
- int butw3= 43; /* modifiers */
-
- if(tselem->type == TSE_KEYMAP_ITEM) {
- wmKeyMapItem *kmi= te->directdata;
-
- /* modal map? */
- if(kmi->propvalue);
- else {
- uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
- }
- xstart+= butw1+10;
-
- /* map type button */
- kmi->maptype= keymap_menu_type(kmi->type);
-
- str= keymap_type_menu();
- but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
- uiButSetFunc(but, keymap_type_cb, kmi, NULL);
- xstart+= butw2+5;
-
- /* edit actual event */
- switch(kmi->maptype) {
- case OL_KM_KEYBOARD:
- uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
- xstart+= butw2+5;
- break;
- case OL_KM_MOUSE:
- str= keymap_mouse_menu();
- uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button");
- xstart+= butw2+5;
- break;
- case OL_KM_TWEAK:
- str= keymap_tweak_menu();
- uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
- xstart+= butw2+5;
- str= keymap_tweak_dir_menu();
- uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
- xstart+= butw2+5;
- break;
- }
-
- /* modifiers */
- uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
- uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
- xstart+= 5;
- uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
- xstart+= butw3+5;
-
- /* rna property */
- if(kmi->ptr && kmi->ptr->data) {
- uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
- }
-
- (void)xstart;
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
- }
-}
-
-
-static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
-{
- uiBut *bt;
- TreeElement *te;
- TreeStoreElem *tselem;
- int spx, dx, len;
-
- for(te= lb->first; te; te= te->next) {
- tselem= TREESTORE(te);
- if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
-
- if(tselem->flag & TSE_TEXTBUT) {
-
- /* If we add support to rename Sequence.
- * need change this.
- */
- if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
-
- if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
- else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
- else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
- else len= MAX_ID_NAME-2;
-
-
- dx= (int)UI_GetStringWidth(te->name);
- if(dx<100) dx= 100;
- spx=te->xs+2*UI_UNIT_X-4;
- if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
-
- bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
- uiButSetRenameFunc(bt, namebutton_cb, tselem);
-
- /* returns false if button got removed */
- if( 0 == uiButActiveOnly(C, block, bt) )
- tselem->flag &= ~TSE_TEXTBUT;
- }
- }
-
- if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
- }
-}
-
-void draw_outliner(const bContext *C)
-{
- Main *mainvar= CTX_data_main(C);
- Scene *scene= CTX_data_scene(C);
- ARegion *ar= CTX_wm_region(C);
- View2D *v2d= &ar->v2d;
- SpaceOops *soops= CTX_wm_space_outliner(C);
- uiBlock *block;
- int sizey= 0, sizex= 0, sizex_rna= 0;
-
- outliner_build_tree(mainvar, scene, soops); // always
-
- /* get extents of data */
- outliner_height(soops, &soops->tree, &sizey);
-
- if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
- /* RNA has two columns:
- * - column 1 is (max_width + OL_RNA_COL_SPACEX) or
- * (OL_RNA_COL_X), whichever is wider...
- * - column 2 is fixed at OL_RNA_COL_SIZEX
- *
- * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
- */
-
- /* get actual width of column 1 */
- outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
- sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
-
- /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
- if (soops->outlinevis == SO_KEYMAP)
- sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
- else
- sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
- }
- else {
- /* width must take into account restriction columns (if visible) so that entries will still be visible */
- //outliner_width(soops, &soops->tree, &sizex);
- outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
-
- /* constant offset for restriction columns */
- // XXX this isn't that great yet...
- if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
- sizex += OL_TOGW*3;
- }
-
- /* tweak to display last line (when list bigger than window) */
- sizey += V2D_SCROLL_HEIGHT;
-
- /* adds vertical offset */
- sizey += OL_Y_OFFSET;
-
- /* update size of tot-rect (extents of data/viewable area) */
- UI_view2d_totRect_set(v2d, sizex, sizey);
-
- /* force display to pixel coords */
- v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
- /* set matrix for 2d-view controls */
- UI_view2d_view_ortho(v2d);
-
- /* draw outliner stuff (background, hierachy lines and names) */
- outliner_back(ar);
- block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
- outliner_draw_tree((bContext *)C, block, scene, ar, soops);
-
- if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
- /* draw rna buttons */
- outliner_draw_rnacols(ar, sizex_rna);
- outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
- }
- else if(soops->outlinevis == SO_KEYMAP) {
- outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
- }
- else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
- /* draw restriction columns */
- outliner_draw_restrictcols(ar);
- outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
- }
-
- /* draw edit buttons if nessecery */
- outliner_buttons(C, block, ar, soops, &soops->tree);
-
- uiEndBlock(C, block);
- uiDrawBlock(C, block);
-
- /* clear flag that allows quick redraws */
- soops->storeflag &= ~SO_TREESTORE_REDRAW;
-}
-
diff --git a/source/blender/editors/space_outliner/outliner_draw.c b/source/blender/editors/space_outliner/outliner_draw.c
new file mode 100644
index 00000000000..95a315272b9
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_draw.c
@@ -0,0 +1,1651 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_draw.c
+ * \ingroup spoutliner
+ */
+
+#include <string.h>
+#include <stdlib.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "BLI_ghash.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Tree Size Functions */
+
+static void outliner_height(SpaceOops *soops, ListBase *lb, int *h)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_height(soops, &te->subtree, h);
+ (*h) += UI_UNIT_Y;
+ te= te->next;
+ }
+}
+
+#if 0 // XXX this is currently disabled until te->xend is set correctly
+static void outliner_width(SpaceOops *soops, ListBase *lb, int *w)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+// TreeStoreElem *tselem= TREESTORE(te);
+
+ // XXX fixme... te->xend is not set yet
+ if(tselem->flag & TSE_CLOSED) {
+ if (te->xend > *w)
+ *w = te->xend;
+ }
+ outliner_width(soops, &te->subtree, w);
+ te= te->next;
+ }
+}
+#endif
+
+static void outliner_rna_width(SpaceOops *soops, ListBase *lb, int *w, int startx)
+{
+ TreeElement *te= lb->first;
+ while(te) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ // XXX fixme... (currently, we're using a fixed length of 100)!
+ /*if(te->xend) {
+ if(te->xend > *w)
+ *w = te->xend;
+ }*/
+ if(startx+100 > *w)
+ *w = startx+100;
+
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_rna_width(soops, &te->subtree, w, startx+UI_UNIT_X);
+ te= te->next;
+ }
+}
+
+/* ****************************************************** */
+
+static void restrictbutton_view_cb(bContext *C, void *poin, void *poin2)
+{
+ Scene *scene = (Scene *)poin;
+ Object *ob = (Object *)poin2;
+
+ if(!common_restrict_check(C, ob)) return;
+
+ /* deselect objects that are invisible */
+ if (ob->restrictflag & OB_RESTRICT_VIEW) {
+ /* Ouch! There is no backwards pointer from Object to Base,
+ * so have to do loop to find it. */
+ ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+ }
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_sel_cb(bContext *C, void *poin, void *poin2)
+{
+ Scene *scene = (Scene *)poin;
+ Object *ob = (Object *)poin2;
+
+ if(!common_restrict_check(C, ob)) return;
+
+ /* if select restriction has just been turned on */
+ if (ob->restrictflag & OB_RESTRICT_SELECT) {
+ /* Ouch! There is no backwards pointer from Object to Base,
+ * so have to do loop to find it. */
+ ED_base_object_select(object_in_scene(ob, scene), BA_DESELECT);
+ }
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+
+}
+
+static void restrictbutton_rend_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, poin);
+}
+
+static void restrictbutton_r_lay_cb(bContext *C, void *poin, void *UNUSED(poin2))
+{
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, poin);
+}
+
+static void restrictbutton_modifier_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ Object *ob = (Object *)poin2;
+
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+}
+
+static void restrictbutton_bone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ Bone *bone= (Bone *)poin2;
+ if(bone && (bone->flag & BONE_HIDDEN_P))
+ bone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static void restrictbutton_ebone_cb(bContext *C, void *UNUSED(poin), void *poin2)
+{
+ EditBone *ebone= (EditBone *)poin2;
+ if(ebone && (ebone->flag & BONE_HIDDEN_A))
+ ebone->flag &= ~(BONE_SELECTED | BONE_TIPSEL | BONE_ROOTSEL);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+}
+
+static int group_restrict_flag(Group *gr, int flag)
+{
+ GroupObject *gob;
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if((gob->ob->restrictflag & flag) == 0)
+ return 0;
+ }
+
+ return 1;
+}
+
+static int group_select_flag(Group *gr)
+{
+ GroupObject *gob;
+
+ for(gob= gr->gobject.first; gob; gob= gob->next)
+ if((gob->ob->flag & SELECT))
+ return 1;
+
+ return 0;
+}
+
+void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag)
+{
+ Scene *scene = (Scene *)poin;
+ GroupObject *gob;
+ Group *gr = (Group *)poin2;
+
+ if(group_restrict_flag(gr, flag)) {
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ gob->ob->restrictflag &= ~flag;
+
+ if(flag==OB_RESTRICT_VIEW)
+ if(gob->ob->flag & SELECT)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_DESELECT);
+ }
+ }
+ else {
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ /* not in editmode */
+ if(scene->obedit!=gob->ob) {
+ gob->ob->restrictflag |= flag;
+
+ if(flag==OB_RESTRICT_VIEW)
+ if((gob->ob->flag & SELECT) == 0)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+ }
+ }
+ }
+}
+
+static void restrictbutton_gr_restrict_view(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_VIEW);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_select(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_SELECT);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+static void restrictbutton_gr_restrict_render(bContext *C, void *poin, void *poin2)
+{
+ restrictbutton_gr_restrict_flag(poin, poin2, OB_RESTRICT_RENDER);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+}
+
+
+static void namebutton_cb(bContext *C, void *tsep, char *oldname)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ Object *obedit= CTX_data_edit_object(C);
+ TreeStore *ts= soops->treestore;
+ TreeStoreElem *tselem= tsep;
+
+ if(ts && tselem) {
+ TreeElement *te= outliner_find_tse(soops, tselem);
+
+ if(tselem->type==0) {
+ test_idbutton(tselem->id->name+2); // library.c, unique name and alpha sort
+
+ switch(GS(tselem->id->name)) {
+ case ID_MA:
+ WM_event_add_notifier(C, NC_MATERIAL, NULL); break;
+ case ID_TE:
+ WM_event_add_notifier(C, NC_TEXTURE, NULL); break;
+ case ID_IM:
+ WM_event_add_notifier(C, NC_IMAGE, NULL); break;
+ case ID_SCE:
+ WM_event_add_notifier(C, NC_SCENE, NULL); break;
+ default:
+ WM_event_add_notifier(C, NC_ID|NA_RENAME, NULL); break;
+ }
+ /* Check the library target exists */
+ if (te->idcode == ID_LI) {
+ char expanded[FILE_MAXDIR + FILE_MAXFILE];
+ BLI_strncpy(expanded, ((Library *)tselem->id)->name, FILE_MAXDIR + FILE_MAXFILE);
+ BLI_path_abs(expanded, G.main->name);
+ if (!BLI_exists(expanded)) {
+ BKE_report(CTX_wm_reports(C), RPT_ERROR, "This path does not exist, correct this before saving");
+ }
+ }
+ }
+ else {
+ switch(tselem->type) {
+ case TSE_DEFGROUP:
+ defgroup_unique_name(te->directdata, (Object *)tselem->id); // id = object
+ break;
+ case TSE_NLA_ACTION:
+ test_idbutton(tselem->id->name+2);
+ break;
+ case TSE_EBONE:
+ {
+ bArmature *arm= (bArmature *)tselem->id;
+ if(arm->edbo) {
+ EditBone *ebone= te->directdata;
+ char newname[sizeof(ebone->name)];
+
+ /* restore bone name */
+ BLI_strncpy(newname, ebone->name, sizeof(ebone->name));
+ BLI_strncpy(ebone->name, oldname, sizeof(ebone->name));
+ ED_armature_bone_rename(obedit->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, OBACT);
+ }
+ }
+ break;
+
+ case TSE_BONE:
+ {
+ Bone *bone= te->directdata;
+ Object *ob;
+ char newname[sizeof(bone->name)];
+
+ // always make current object active
+ tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+ ob= OBACT;
+
+ /* restore bone name */
+ BLI_strncpy(newname, bone->name, sizeof(bone->name));
+ BLI_strncpy(bone->name, oldname, sizeof(bone->name));
+ ED_armature_bone_rename(ob->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_POSE_CHANNEL:
+ {
+ bPoseChannel *pchan= te->directdata;
+ Object *ob;
+ char newname[sizeof(pchan->name)];
+
+ // always make current object active
+ tree_element_active(C, scene, soops, te, 1); // was set_active_object()
+ ob= OBACT;
+
+ /* restore bone name */
+ BLI_strncpy(newname, pchan->name, sizeof(pchan->name));
+ BLI_strncpy(pchan->name, oldname, sizeof(pchan->name));
+ ED_armature_bone_rename(ob->data, oldname, newname);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_POSEGRP:
+ {
+ Object *ob= (Object *)tselem->id; // id = object
+ bActionGroup *grp= te->directdata;
+
+ BLI_uniquename(&ob->pose->agroups, grp, "Group", '.', offsetof(bActionGroup, name), sizeof(grp->name));
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, ob);
+ }
+ break;
+ case TSE_R_LAYER:
+ break;
+ }
+ }
+ tselem->flag &= ~TSE_TEXTBUT;
+ }
+}
+
+static void outliner_draw_restrictbuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ uiBut *bt;
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ Object *ob = NULL;
+ Group *gr = NULL;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ /* objects have toggle-able restriction flags */
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ PointerRNA ptr;
+
+ ob = (Object *)tselem->id;
+ RNA_pointer_create((ID *)ob, &RNA_Object, ob, &ptr);
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_view_cb, scene, ob);
+
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide_select", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_sel_cb, scene, ob);
+
+ bt= uiDefIconButR(block, ICONTOG, 0, ICON_RESTRICT_RENDER_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1,
+ &ptr, "hide_render", -1, 0, 0, -1, -1, NULL);
+ uiButSetFunc(bt, restrictbutton_rend_cb, scene, ob);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+
+ }
+ if(tselem->type==0 && te->idcode==ID_GR){
+ int restrict_bool;
+ gr = (Group *)tselem->id;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_VIEW);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_VIEW_ON : ICON_RESTRICT_VIEW_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_view, scene, gr);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_SELECT);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_SELECT_ON : ICON_RESTRICT_SELECT_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_select, scene, gr);
+
+ restrict_bool= group_restrict_flag(gr, OB_RESTRICT_RENDER);
+ bt = uiDefIconBut(block, BUT, 0, restrict_bool ? ICON_RESTRICT_RENDER_ON : ICON_RESTRICT_RENDER_OFF, (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, NULL, 0, 0, 0, 0, "Restrict/Allow renderability");
+ uiButSetFunc(bt, restrictbutton_gr_restrict_render, scene, gr);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ /* scene render layers and passes have toggle-able flags too! */
+ else if(tselem->type==TSE_R_LAYER) {
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+ bt= uiDefIconButBitI(block, ICONTOGN, SCE_LAY_DISABLE, 0, ICON_CHECKBOX_HLT-1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, te->directdata, 0, 0, 0, 0, "Render this RenderLayer");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ else if(tselem->type==TSE_R_PASS) {
+ int *layflag= te->directdata;
+ int passflag= 1<<tselem->nr;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+
+
+ bt= uiDefIconButBitI(block, ICONTOG, passflag, 0, ICON_CHECKBOX_HLT-1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Render this Pass");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ layflag++; /* is lay_xor */
+ if(ELEM8(passflag, SCE_PASS_SPEC, SCE_PASS_SHADOW, SCE_PASS_AO, SCE_PASS_REFLECT, SCE_PASS_REFRACT, SCE_PASS_INDIRECT, SCE_PASS_EMIT, SCE_PASS_ENVIRONMENT))
+ bt= uiDefIconButBitI(block, TOG, passflag, 0, (*layflag & passflag)?ICON_DOT:ICON_BLANK1,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, layflag, 0, 0, 0, 0, "Exclude this Pass from Combined");
+ uiButSetFunc(bt, restrictbutton_r_lay_cb, tselem->id, NULL);
+
+ uiBlockSetEmboss(block, UI_EMBOSS);
+ }
+ else if(tselem->type==TSE_MODIFIER) {
+ ModifierData *md= (ModifierData *)te->directdata;
+ ob = (Object *)tselem->id;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Realtime, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+
+ bt= uiDefIconButBitI(block, ICONTOGN, eModifierMode_Render, 0, ICON_RESTRICT_RENDER_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(md->mode), 0, 0, 0, 0, "Restrict/Allow renderability");
+ uiButSetFunc(bt, restrictbutton_modifier_cb, scene, ob);
+ }
+ else if(tselem->type==TSE_POSE_CHANNEL) {
+ bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+ Bone *bone = pchan->bone;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_P, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_bone_cb, NULL, bone);
+
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(bone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_bone_cb, NULL, NULL);
+ }
+ else if(tselem->type==TSE_EBONE) {
+ EditBone *ebone= (EditBone *)te->directdata;
+
+ uiBlockSetEmboss(block, UI_EMBOSSN);
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_HIDDEN_A, 0, ICON_RESTRICT_VIEW_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow visibility in the 3D View");
+ uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, ebone);
+
+ bt= uiDefIconButBitI(block, ICONTOG, BONE_UNSELECTABLE, 0, ICON_RESTRICT_SELECT_OFF,
+ (int)ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX, (int)te->ys, UI_UNIT_X-1, UI_UNIT_Y-1, &(ebone->flag), 0, 0, 0, 0, "Restrict/Allow selection in the 3D View");
+ uiButSetFunc(bt, restrictbutton_ebone_cb, NULL, NULL);
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_restrictbuts(block, scene, ar, soops, &te->subtree);
+ }
+}
+
+static void outliner_draw_rnacols(ARegion *ar, int sizex)
+{
+ View2D *v2d= &ar->v2d;
+
+ float miny = v2d->cur.ymin-V2D_SCROLL_HEIGHT;
+ if(miny<v2d->tot.ymin) miny = v2d->tot.ymin;
+
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+ /* draw column separator lines */
+ fdrawline((float)sizex,
+ v2d->cur.ymax,
+ (float)sizex,
+ miny);
+
+ fdrawline((float)sizex+OL_RNA_COL_SIZEX,
+ v2d->cur.ymax,
+ (float)sizex+OL_RNA_COL_SIZEX,
+ miny);
+}
+
+static void outliner_draw_rnabuts(uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ PointerRNA *ptr;
+ PropertyRNA *prop;
+
+ uiBlockSetEmboss(block, UI_EMBOSST);
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ if(tselem->type == TSE_RNA_PROPERTY) {
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ if(!(RNA_property_type(prop) == PROP_POINTER && (tselem->flag & TSE_CLOSED)==0))
+ uiDefAutoButR(block, ptr, prop, -1, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+ }
+ else if(tselem->type == TSE_RNA_ARRAY_ELEM) {
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ uiDefAutoButR(block, ptr, prop, te->index, "", ICON_NONE, sizex, (int)te->ys, OL_RNA_COL_SIZEX, UI_UNIT_Y-1);
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_rnabuts(block, scene, ar, soops, sizex, &te->subtree);
+ }
+}
+
+static void operator_call_cb(struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
+{
+ wmOperatorType *ot= arg2;
+ wmKeyMapItem *kmi= arg_kmi;
+
+ if(ot)
+ BLI_strncpy(kmi->idname, ot->idname, OP_MAX_TYPENAME);
+}
+
+static void operator_search_cb(const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
+{
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
+ if(BLI_strcasestr(ot->idname, str)) {
+ char name[OP_MAX_TYPENAME];
+
+ /* display name for menu */
+ WM_operator_py_idname(name, ot->idname);
+
+ if(0==uiSearchItemAdd(items, name, ot, 0))
+ break;
+ }
+ }
+ BLI_ghashIterator_free(iter);
+}
+
+/* operator Search browse menu, open */
+static uiBlock *operator_search_menu(bContext *C, ARegion *ar, void *arg_kmi)
+{
+ static char search[OP_MAX_TYPENAME];
+ wmEvent event;
+ wmWindow *win= CTX_wm_window(C);
+ wmKeyMapItem *kmi= arg_kmi;
+ wmOperatorType *ot= WM_operatortype_find(kmi->idname, 0);
+ uiBlock *block;
+ uiBut *but;
+
+ /* clear initial search string, then all items show */
+ search[0]= 0;
+
+ block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
+ uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
+
+ /* fake button, it holds space for search items */
+ uiDefBut(block, LABEL, 0, "", 10, 15, 150, uiSearchBoxhHeight(), NULL, 0, 0, 0, 0, NULL);
+
+ but= uiDefSearchBut(block, search, 0, ICON_VIEWZOOM, 256, 10, 0, 150, UI_UNIT_Y, 0, 0, "");
+ uiButSetSearchFunc(but, operator_search_cb, arg_kmi, operator_call_cb, ot);
+
+ uiBoundsBlock(block, 6);
+ uiBlockSetDirection(block, UI_DOWN);
+ uiEndBlock(C, block);
+
+ event= *(win->eventstate); /* XXX huh huh? make api call */
+ event.type= EVT_BUT_OPEN;
+ event.val= KM_PRESS;
+ event.customdata= but;
+ event.customdatafree= FALSE;
+ wm_event_add(win, &event);
+
+ return block;
+}
+
+#define OL_KM_KEYBOARD 0
+#define OL_KM_MOUSE 1
+#define OL_KM_TWEAK 2
+#define OL_KM_SPECIALS 3
+
+static short keymap_menu_type(short type)
+{
+ if(ISKEYBOARD(type)) return OL_KM_KEYBOARD;
+ if(ISTWEAK(type)) return OL_KM_TWEAK;
+ if(ISMOUSE(type)) return OL_KM_MOUSE;
+// return OL_KM_SPECIALS;
+ return 0;
+}
+
+static const char *keymap_type_menu(void)
+{
+ static const char string[]=
+ "Event Type%t"
+ "|Keyboard%x" STRINGIFY(OL_KM_KEYBOARD)
+ "|Mouse%x" STRINGIFY(OL_KM_MOUSE)
+ "|Tweak%x" STRINGIFY(OL_KM_TWEAK)
+// "|Specials%x" STRINGIFY(OL_KM_SPECIALS)
+ ;
+
+ return string;
+}
+
+static const char *keymap_mouse_menu(void)
+{
+ static const char string[]=
+ "Mouse Event%t"
+ "|Left Mouse%x" STRINGIFY(LEFTMOUSE)
+ "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+ "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+ "|Middle Mouse%x" STRINGIFY(MIDDLEMOUSE)
+ "|Right Mouse%x" STRINGIFY(RIGHTMOUSE)
+ "|Button4 Mouse%x" STRINGIFY(BUTTON4MOUSE)
+ "|Button5 Mouse%x" STRINGIFY(BUTTON5MOUSE)
+ "|Action Mouse%x" STRINGIFY(ACTIONMOUSE)
+ "|Select Mouse%x" STRINGIFY(SELECTMOUSE)
+ "|Mouse Move%x" STRINGIFY(MOUSEMOVE)
+ "|Wheel Up%x" STRINGIFY(WHEELUPMOUSE)
+ "|Wheel Down%x" STRINGIFY(WHEELDOWNMOUSE)
+ "|Wheel In%x" STRINGIFY(WHEELINMOUSE)
+ "|Wheel Out%x" STRINGIFY(WHEELOUTMOUSE)
+ "|Mouse/Trackpad Pan%x" STRINGIFY(MOUSEPAN)
+ "|Mouse/Trackpad Zoom%x" STRINGIFY(MOUSEZOOM)
+ "|Mouse/Trackpad Rotate%x" STRINGIFY(MOUSEROTATE)
+ ;
+
+ return string;
+}
+
+static const char *keymap_tweak_menu(void)
+{
+ static const char string[]=
+ "Tweak Event%t"
+ "|Left Mouse%x" STRINGIFY(EVT_TWEAK_L)
+ "|Middle Mouse%x" STRINGIFY(EVT_TWEAK_M)
+ "|Right Mouse%x" STRINGIFY(EVT_TWEAK_R)
+ "|Action Mouse%x" STRINGIFY(EVT_TWEAK_A)
+ "|Select Mouse%x" STRINGIFY(EVT_TWEAK_S)
+ ;
+
+ return string;
+}
+
+static const char *keymap_tweak_dir_menu(void)
+{
+ static const char string[]=
+ "Tweak Direction%t"
+ "|Any%x" STRINGIFY(KM_ANY)
+ "|North%x" STRINGIFY(EVT_GESTURE_N)
+ "|North-East%x" STRINGIFY(EVT_GESTURE_NE)
+ "|East%x" STRINGIFY(EVT_GESTURE_E)
+ "|Sout-East%x" STRINGIFY(EVT_GESTURE_SE)
+ "|South%x" STRINGIFY(EVT_GESTURE_S)
+ "|South-West%x" STRINGIFY(EVT_GESTURE_SW)
+ "|West%x" STRINGIFY(EVT_GESTURE_W)
+ "|North-West%x" STRINGIFY(EVT_GESTURE_NW)
+ ;
+
+ return string;
+}
+
+
+static void keymap_type_cb(bContext *C, void *kmi_v, void *UNUSED(arg_v))
+{
+ wmKeyMapItem *kmi= kmi_v;
+ short maptype= keymap_menu_type(kmi->type);
+
+ if(maptype!=kmi->maptype) {
+ switch(kmi->maptype) {
+ case OL_KM_KEYBOARD:
+ kmi->type= AKEY;
+ kmi->val= KM_PRESS;
+ break;
+ case OL_KM_MOUSE:
+ kmi->type= LEFTMOUSE;
+ kmi->val= KM_PRESS;
+ break;
+ case OL_KM_TWEAK:
+ kmi->type= EVT_TWEAK_L;
+ kmi->val= KM_ANY;
+ break;
+ case OL_KM_SPECIALS:
+ kmi->type= AKEY;
+ kmi->val= KM_PRESS;
+ }
+ ED_region_tag_redraw(CTX_wm_region(C));
+ }
+}
+
+static void outliner_draw_keymapbuts(uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ uiBlockSetEmboss(block, UI_EMBOSST);
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+ uiBut *but;
+ const char *str;
+ int xstart= 240;
+ int butw1= UI_UNIT_X; /* operator */
+ int butw2= 90; /* event type, menus */
+ int butw3= 43; /* modifiers */
+
+ if(tselem->type == TSE_KEYMAP_ITEM) {
+ wmKeyMapItem *kmi= te->directdata;
+
+ /* modal map? */
+ if(kmi->propvalue);
+ else {
+ uiDefBlockBut(block, operator_search_menu, kmi, "", xstart, (int)te->ys+1, butw1, UI_UNIT_Y-1, "Assign new Operator");
+ }
+ xstart+= butw1+10;
+
+ /* map type button */
+ kmi->maptype= keymap_menu_type(kmi->type);
+
+ str= keymap_type_menu();
+ but= uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->maptype, 0, 0, 0, 0, "Event type");
+ uiButSetFunc(but, keymap_type_cb, kmi, NULL);
+ xstart+= butw2+5;
+
+ /* edit actual event */
+ switch(kmi->maptype) {
+ case OL_KM_KEYBOARD:
+ uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, "Key code");
+ xstart+= butw2+5;
+ break;
+ case OL_KM_MOUSE:
+ str= keymap_mouse_menu();
+ uiDefButS(block, MENU, 0, str, xstart,(int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Mouse button");
+ xstart+= butw2+5;
+ break;
+ case OL_KM_TWEAK:
+ str= keymap_tweak_menu();
+ uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->type, 0, 0, 0, 0, "Tweak gesture");
+ xstart+= butw2+5;
+ str= keymap_tweak_dir_menu();
+ uiDefButS(block, MENU, 0, str, xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->val, 0, 0, 0, 0, "Tweak gesture direction");
+ xstart+= butw2+5;
+ break;
+ }
+
+ /* modifiers */
+ uiDefButS(block, OPTION, 0, "Shift", xstart, (int)te->ys+1, butw3+5, UI_UNIT_Y-1, &kmi->shift, 0, 0, 0, 0, "Modifier"); xstart+= butw3+5;
+ uiDefButS(block, OPTION, 0, "Ctrl", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->ctrl, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ uiDefButS(block, OPTION, 0, "Alt", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->alt, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ uiDefButS(block, OPTION, 0, "OS", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, "Modifier"); xstart+= butw3;
+ xstart+= 5;
+ uiDefKeyevtButS(block, 0, "", xstart, (int)te->ys+1, butw3, UI_UNIT_Y-1, &kmi->keymodifier, "Key Modifier code");
+ xstart+= butw3+5;
+
+ /* rna property */
+ if(kmi->ptr && kmi->ptr->data) {
+ uiDefBut(block, LABEL, 0, "(RNA property)", xstart, (int)te->ys+1, butw2, UI_UNIT_Y-1, &kmi->oskey, 0, 0, 0, 0, ""); xstart+= butw2;
+ }
+
+ (void)xstart;
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_keymapbuts(block, ar, soops, &te->subtree);
+ }
+}
+
+
+static void outliner_buttons(const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
+{
+ uiBut *bt;
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int spx, dx, len;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(te->ys+2*UI_UNIT_Y >= ar->v2d.cur.ymin && te->ys <= ar->v2d.cur.ymax) {
+
+ if(tselem->flag & TSE_TEXTBUT) {
+
+ /* If we add support to rename Sequence.
+ * need change this.
+ */
+ if(tselem->type == TSE_POSE_BASE) continue; // prevent crash when trying to rename 'pose' entry of armature
+
+ if(tselem->type==TSE_EBONE) len = sizeof(((EditBone*) 0)->name);
+ else if (tselem->type==TSE_MODIFIER) len = sizeof(((ModifierData*) 0)->name);
+ else if(tselem->id && GS(tselem->id->name)==ID_LI) len = sizeof(((Library*) 0)->name);
+ else len= MAX_ID_NAME-2;
+
+
+ dx= (int)UI_GetStringWidth(te->name);
+ if(dx<100) dx= 100;
+ spx=te->xs+2*UI_UNIT_X-4;
+ if(spx+dx+10>ar->v2d.cur.xmax) dx = ar->v2d.cur.xmax-spx-10;
+
+ bt= uiDefBut(block, TEX, OL_NAMEBUTTON, "", spx, (int)te->ys, dx+10, UI_UNIT_Y-1, (void *)te->name, 1.0, (float)len, 0, 0, "");
+ uiButSetRenameFunc(bt, namebutton_cb, tselem);
+
+ /* returns false if button got removed */
+ if( 0 == uiButActiveOnly(C, block, bt) )
+ tselem->flag &= ~TSE_TEXTBUT;
+ }
+ }
+
+ if((tselem->flag & TSE_CLOSED)==0) outliner_buttons(C, block, ar, soops, &te->subtree);
+ }
+}
+
+/* ****************************************************** */
+/* Normal Drawing... */
+
+/* make function calls a bit compacter */
+struct DrawIconArg {
+ uiBlock *block;
+ ID *id;
+ int xmax, x, y;
+ float alpha;
+};
+
+static void tselem_draw_icon_uibut(struct DrawIconArg *arg, int icon)
+{
+ /* restrict collumn clip... it has been coded by simply overdrawing, doesnt work for buttons */
+ if(arg->x >= arg->xmax)
+ UI_icon_draw(arg->x, arg->y, icon);
+ else {
+ /* XXX investigate: button placement of icons is way different than UI_icon_draw? */
+ float ufac= UI_UNIT_X/20.0f;
+ uiBut *but= uiDefIconBut(arg->block, LABEL, 0, icon, arg->x-3.0f*ufac, arg->y, UI_UNIT_X-4.0f*ufac, UI_UNIT_Y-4.0f*ufac, NULL, 0.0, 0.0, 1.0, arg->alpha, (arg->id && arg->id->lib) ? arg->id->lib->name : "");
+
+ if(arg->id)
+ uiButSetDragID(but, arg->id);
+ }
+
+}
+
+static void tselem_draw_icon(uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
+{
+ struct DrawIconArg arg;
+
+ /* make function calls a bit compacter */
+ arg.block= block;
+ arg.id= tselem->id;
+ arg.xmax= xmax;
+ arg.x= x;
+ arg.y= y;
+ arg.alpha= alpha;
+
+ if(tselem->type) {
+ switch( tselem->type) {
+ case TSE_ANIM_DATA:
+ UI_icon_draw(x, y, ICON_ANIM_DATA); break; // xxx
+ case TSE_NLA:
+ UI_icon_draw(x, y, ICON_NLA); break;
+ case TSE_NLA_TRACK:
+ UI_icon_draw(x, y, ICON_NLA); break; // XXX
+ case TSE_NLA_ACTION:
+ UI_icon_draw(x, y, ICON_ACTION); break;
+ case TSE_DRIVER_BASE:
+ UI_icon_draw(x, y, ICON_DRIVER); break;
+ case TSE_DEFGROUP_BASE:
+ UI_icon_draw(x, y, ICON_GROUP_VERTEX); break;
+ case TSE_BONE:
+ case TSE_EBONE:
+ UI_icon_draw(x, y, ICON_BONE_DATA); break;
+ case TSE_CONSTRAINT_BASE:
+ UI_icon_draw(x, y, ICON_CONSTRAINT); break;
+ case TSE_MODIFIER_BASE:
+ UI_icon_draw(x, y, ICON_MODIFIER); break;
+ case TSE_LINKED_OB:
+ UI_icon_draw(x, y, ICON_OBJECT_DATA); break;
+ case TSE_LINKED_PSYS:
+ UI_icon_draw(x, y, ICON_PARTICLES); break;
+ case TSE_MODIFIER:
+ {
+ Object *ob= (Object *)tselem->id;
+ ModifierData *md= BLI_findlink(&ob->modifiers, tselem->nr);
+ switch(md->type) {
+ case eModifierType_Subsurf:
+ UI_icon_draw(x, y, ICON_MOD_SUBSURF); break;
+ case eModifierType_Armature:
+ UI_icon_draw(x, y, ICON_MOD_ARMATURE); break;
+ case eModifierType_Lattice:
+ UI_icon_draw(x, y, ICON_MOD_LATTICE); break;
+ case eModifierType_Curve:
+ UI_icon_draw(x, y, ICON_MOD_CURVE); break;
+ case eModifierType_Build:
+ UI_icon_draw(x, y, ICON_MOD_BUILD); break;
+ case eModifierType_Mirror:
+ UI_icon_draw(x, y, ICON_MOD_MIRROR); break;
+ case eModifierType_Decimate:
+ UI_icon_draw(x, y, ICON_MOD_DECIM); break;
+ case eModifierType_Wave:
+ UI_icon_draw(x, y, ICON_MOD_WAVE); break;
+ case eModifierType_Hook:
+ UI_icon_draw(x, y, ICON_HOOK); break;
+ case eModifierType_Softbody:
+ UI_icon_draw(x, y, ICON_MOD_SOFT); break;
+ case eModifierType_Boolean:
+ UI_icon_draw(x, y, ICON_MOD_BOOLEAN); break;
+ case eModifierType_ParticleSystem:
+ UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+ case eModifierType_ParticleInstance:
+ UI_icon_draw(x, y, ICON_MOD_PARTICLES); break;
+ case eModifierType_EdgeSplit:
+ UI_icon_draw(x, y, ICON_MOD_EDGESPLIT); break;
+ case eModifierType_Array:
+ UI_icon_draw(x, y, ICON_MOD_ARRAY); break;
+ case eModifierType_UVProject:
+ UI_icon_draw(x, y, ICON_MOD_UVPROJECT); break;
+ case eModifierType_Displace:
+ UI_icon_draw(x, y, ICON_MOD_DISPLACE); break;
+ case eModifierType_Shrinkwrap:
+ UI_icon_draw(x, y, ICON_MOD_SHRINKWRAP); break;
+ case eModifierType_Cast:
+ UI_icon_draw(x, y, ICON_MOD_CAST); break;
+ case eModifierType_MeshDeform:
+ UI_icon_draw(x, y, ICON_MOD_MESHDEFORM); break;
+ case eModifierType_Bevel:
+ UI_icon_draw(x, y, ICON_MOD_BEVEL); break;
+ case eModifierType_Smooth:
+ UI_icon_draw(x, y, ICON_MOD_SMOOTH); break;
+ case eModifierType_SimpleDeform:
+ UI_icon_draw(x, y, ICON_MOD_SIMPLEDEFORM); break;
+ case eModifierType_Mask:
+ UI_icon_draw(x, y, ICON_MOD_MASK); break;
+ case eModifierType_Cloth:
+ UI_icon_draw(x, y, ICON_MOD_CLOTH); break;
+ case eModifierType_Explode:
+ UI_icon_draw(x, y, ICON_MOD_EXPLODE); break;
+ case eModifierType_Collision:
+ UI_icon_draw(x, y, ICON_MOD_PHYSICS); break;
+ case eModifierType_Fluidsim:
+ UI_icon_draw(x, y, ICON_MOD_FLUIDSIM); break;
+ case eModifierType_Multires:
+ UI_icon_draw(x, y, ICON_MOD_MULTIRES); break;
+ case eModifierType_Smoke:
+ UI_icon_draw(x, y, ICON_MOD_SMOKE); break;
+ case eModifierType_Solidify:
+ UI_icon_draw(x, y, ICON_MOD_SOLIDIFY); break;
+ case eModifierType_Screw:
+ UI_icon_draw(x, y, ICON_MOD_SCREW); break;
+ default:
+ UI_icon_draw(x, y, ICON_DOT); break;
+ }
+ break;
+ }
+ case TSE_SCRIPT_BASE:
+ UI_icon_draw(x, y, ICON_TEXT); break;
+ case TSE_POSE_BASE:
+ UI_icon_draw(x, y, ICON_ARMATURE_DATA); break;
+ case TSE_POSE_CHANNEL:
+ UI_icon_draw(x, y, ICON_BONE_DATA); break;
+ case TSE_PROXY:
+ UI_icon_draw(x, y, ICON_GHOST); break;
+ case TSE_R_LAYER_BASE:
+ UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+ case TSE_R_LAYER:
+ UI_icon_draw(x, y, ICON_RENDERLAYERS); break;
+ case TSE_LINKED_LAMP:
+ UI_icon_draw(x, y, ICON_LAMP_DATA); break;
+ case TSE_LINKED_MAT:
+ UI_icon_draw(x, y, ICON_MATERIAL_DATA); break;
+ case TSE_POSEGRP_BASE:
+ UI_icon_draw(x, y, ICON_VERTEXSEL); break;
+ case TSE_SEQUENCE:
+ if(te->idcode==SEQ_MOVIE)
+ UI_icon_draw(x, y, ICON_SEQUENCE);
+ else if(te->idcode==SEQ_META)
+ UI_icon_draw(x, y, ICON_DOT);
+ else if(te->idcode==SEQ_SCENE)
+ UI_icon_draw(x, y, ICON_SCENE);
+ else if(te->idcode==SEQ_SOUND)
+ UI_icon_draw(x, y, ICON_SOUND);
+ else if(te->idcode==SEQ_IMAGE)
+ UI_icon_draw(x, y, ICON_IMAGE_COL);
+ else
+ UI_icon_draw(x, y, ICON_PARTICLES);
+ break;
+ case TSE_SEQ_STRIP:
+ UI_icon_draw(x, y, ICON_LIBRARY_DATA_DIRECT);
+ break;
+ case TSE_SEQUENCE_DUP:
+ UI_icon_draw(x, y, ICON_OBJECT_DATA);
+ break;
+ case TSE_RNA_STRUCT:
+ if(RNA_struct_is_ID(te->rnaptr.type)) {
+ arg.id= (ID *)te->rnaptr.data;
+ tselem_draw_icon_uibut(&arg, RNA_struct_ui_icon(te->rnaptr.type));
+ }
+ else
+ UI_icon_draw(x, y, RNA_struct_ui_icon(te->rnaptr.type));
+ break;
+ default:
+ UI_icon_draw(x, y, ICON_DOT); break;
+ }
+ }
+ else if (GS(tselem->id->name) == ID_OB) {
+ Object *ob= (Object *)tselem->id;
+ switch (ob->type) {
+ case OB_LAMP:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LAMP); break;
+ case OB_MESH:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_MESH); break;
+ case OB_CAMERA:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CAMERA); break;
+ case OB_CURVE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_CURVE); break;
+ case OB_MBALL:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_META); break;
+ case OB_LATTICE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_LATTICE); break;
+ case OB_ARMATURE:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_ARMATURE); break;
+ case OB_FONT:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_FONT); break;
+ case OB_SURF:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SURFACE); break;
+ case OB_SPEAKER:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_SPEAKER); break;
+ case OB_EMPTY:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_OB_EMPTY); break;
+
+ }
+ }
+ else {
+ switch( GS(tselem->id->name)) {
+ case ID_SCE:
+ tselem_draw_icon_uibut(&arg, ICON_SCENE_DATA); break;
+ case ID_ME:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_MESH); break;
+ case ID_CU:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CURVE); break;
+ case ID_MB:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_META); break;
+ case ID_LT:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LATTICE); break;
+ case ID_LA:
+ {
+ Lamp *la= (Lamp *)tselem->id;
+
+ switch(la->type) {
+ case LA_LOCAL:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_POINT); break;
+ case LA_SUN:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_SUN); break;
+ case LA_SPOT:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_SPOT); break;
+ case LA_HEMI:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_HEMI); break;
+ case LA_AREA:
+ tselem_draw_icon_uibut(&arg, ICON_LAMP_AREA); break;
+ default:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_LAMP); break;
+ }
+ break;
+ }
+ case ID_MA:
+ tselem_draw_icon_uibut(&arg, ICON_MATERIAL_DATA); break;
+ case ID_TE:
+ tselem_draw_icon_uibut(&arg, ICON_TEXTURE_DATA); break;
+ case ID_IM:
+ tselem_draw_icon_uibut(&arg, ICON_IMAGE_DATA); break;
+ case ID_SPK:
+ case ID_SO:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_SPEAKER); break;
+ case ID_AR:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_ARMATURE); break;
+ case ID_CA:
+ tselem_draw_icon_uibut(&arg, ICON_OUTLINER_DATA_CAMERA); break;
+ case ID_KE:
+ tselem_draw_icon_uibut(&arg, ICON_SHAPEKEY_DATA); break;
+ case ID_WO:
+ tselem_draw_icon_uibut(&arg, ICON_WORLD_DATA); break;
+ case ID_AC:
+ tselem_draw_icon_uibut(&arg, ICON_ACTION); break;
+ case ID_NLA:
+ tselem_draw_icon_uibut(&arg, ICON_NLA); break;
+ case ID_TXT:
+ tselem_draw_icon_uibut(&arg, ICON_SCRIPT); break;
+ case ID_GR:
+ tselem_draw_icon_uibut(&arg, ICON_GROUP); break;
+ case ID_LI:
+ tselem_draw_icon_uibut(&arg, ICON_LIBRARY_DATA_DIRECT); break;
+ }
+ }
+}
+
+static void outliner_draw_iconrow(bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int active;
+
+ for(te= lb->first; te; te= te->next) {
+
+ /* exit drawing early */
+ if((*offsx) - UI_UNIT_X > xmax)
+ break;
+
+ tselem= TREESTORE(te);
+
+ /* object hierarchy always, further constrained on level */
+ if(level<1 || (tselem->type==0 && te->idcode==ID_OB)) {
+
+ /* active blocks get white circle */
+ if(tselem->type==0) {
+ if(te->idcode==ID_OB) active= (OBACT==(Object *)tselem->id);
+ else if(scene->obedit && scene->obedit->data==tselem->id) active= 1; // XXX use context?
+ else active= tree_element_active(C, scene, soops, te, 0);
+ }
+ else active= tree_element_type_active(NULL, scene, soops, te, tselem, 0);
+
+ if(active) {
+ float ufac= UI_UNIT_X/20.0f;
+
+ uiSetRoundBox(15);
+ glColor4ub(255, 255, 255, 100);
+ uiRoundBox( (float)*offsx-0.5f*ufac, (float)ys-1.0f*ufac, (float)*offsx+UI_UNIT_Y-3.0f*ufac, (float)ys+UI_UNIT_Y-3.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+ glEnable(GL_BLEND); /* roundbox disables */
+ }
+
+ tselem_draw_icon(block, xmax, (float)*offsx, (float)ys, tselem, te, 0.5f);
+ te->xs= (float)*offsx;
+ te->ys= (float)ys;
+ te->xend= (short)*offsx+UI_UNIT_X;
+ te->flag |= TE_ICONROW; // for click
+
+ (*offsx) += UI_UNIT_X;
+ }
+
+ /* this tree element always has same amount of branches, so dont draw */
+ if(tselem->type!=TSE_R_LAYER)
+ outliner_draw_iconrow(C, block, scene, soops, &te->subtree, level+1, xmax, offsx, ys);
+ }
+
+}
+
+/* closed tree element */
+static void outliner_set_coord_tree_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeElement *ten;
+
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)(*starty);
+
+ for(ten= te->subtree.first; ten; ten= ten->next) {
+ outliner_set_coord_tree_element(soops, ten, startx+UI_UNIT_X, starty);
+ }
+}
+
+
+static void outliner_draw_tree_element(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeElement *ten;
+ TreeStoreElem *tselem;
+ float ufac= UI_UNIT_X/20.0f;
+ int offsx= 0, active=0; // active=1 active obj, else active data
+
+ tselem= TREESTORE(te);
+
+ if(*starty+2*UI_UNIT_Y >= ar->v2d.cur.ymin && *starty<= ar->v2d.cur.ymax) {
+ int xmax= ar->v2d.cur.xmax;
+
+ /* icons can be ui buts, we dont want it to overlap with restrict */
+ if((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+ xmax-= OL_TOGW+UI_UNIT_X;
+
+ glEnable(GL_BLEND);
+
+ /* colors for active/selected data */
+ if(tselem->type==0) {
+ if(te->idcode==ID_SCE) {
+ if(tselem->id == (ID *)scene) {
+ glColor4ub(255, 255, 255, 100);
+ active= 2;
+ }
+ }
+ else if(te->idcode==ID_GR) {
+ Group *gr = (Group *)tselem->id;
+
+ if(group_select_flag(gr)) {
+ char col[4];
+ UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+ col[3]= 100;
+ glColor4ubv((GLubyte *)col);
+
+ active= 2;
+ }
+ }
+ else if(te->idcode==ID_OB) {
+ Object *ob= (Object *)tselem->id;
+
+ if(ob==OBACT || (ob->flag & SELECT)) {
+ char col[4]= {0, 0, 0, 0};
+
+ /* outliner active ob: always white text, circle color now similar to view3d */
+
+ active= 2; /* means it draws a color circle */
+ if(ob==OBACT) {
+ if(ob->flag & SELECT) {
+ UI_GetThemeColorType4ubv(TH_ACTIVE, SPACE_VIEW3D, col);
+ col[3]= 100;
+ }
+
+ active= 1; /* means it draws white text */
+ }
+ else if(ob->flag & SELECT) {
+ UI_GetThemeColorType4ubv(TH_SELECT, SPACE_VIEW3D, col);
+ col[3]= 100;
+ }
+
+ glColor4ubv((GLubyte *)col);
+ }
+
+ }
+ else if(scene->obedit && scene->obedit->data==tselem->id) {
+ glColor4ub(255, 255, 255, 100);
+ active= 2;
+ }
+ else {
+ if(tree_element_active(C, scene, soops, te, 0)) {
+ glColor4ub(220, 220, 255, 100);
+ active= 2;
+ }
+ }
+ }
+ else {
+ if( tree_element_type_active(NULL, scene, soops, te, tselem, 0) ) active= 2;
+ glColor4ub(220, 220, 255, 100);
+ }
+
+ /* active circle */
+ if(active) {
+ uiSetRoundBox(15);
+ uiRoundBox( (float)startx+UI_UNIT_Y-1.5f*ufac, (float)*starty+2.0f*ufac, (float)startx+2.0f*UI_UNIT_Y-4.0f*ufac, (float)*starty+UI_UNIT_Y-1.0f*ufac, UI_UNIT_Y/2.0f-2.0f*ufac);
+ glEnable(GL_BLEND); /* roundbox disables it */
+
+ te->flag |= TE_ACTIVE; // for lookup in display hierarchies
+ }
+
+ /* open/close icon, only when sublevels, except for scene */
+ if(te->subtree.first || (tselem->type==0 && te->idcode==ID_SCE) || (te->flag & TE_LAZY_CLOSED)) {
+ int icon_x;
+ if(tselem->type==0 && ELEM(te->idcode, ID_OB, ID_SCE))
+ icon_x = startx;
+ else
+ icon_x = startx+5*ufac;
+
+ // icons a bit higher
+ if(tselem->flag & TSE_CLOSED)
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_RIGHT);
+ else
+ UI_icon_draw((float)icon_x, (float)*starty+2*ufac, ICON_DISCLOSURE_TRI_DOWN);
+ }
+ offsx+= UI_UNIT_X;
+
+ /* datatype icon */
+
+ if(!(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))) {
+ // icons a bit higher
+ tselem_draw_icon(block, xmax, (float)startx+offsx - 0.5f*ufac, (float)*starty+2.0f*ufac, tselem, te, 1.0f);
+
+ offsx+= UI_UNIT_X;
+ }
+ else
+ offsx+= 2*ufac;
+
+ if(tselem->type==0 && tselem->id->lib) {
+ glPixelTransferf(GL_ALPHA_SCALE, 0.5f);
+ if(tselem->id->flag & LIB_INDIRECT)
+ UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_INDIRECT);
+ else
+ UI_icon_draw((float)startx+offsx, (float)*starty+2*ufac, ICON_LIBRARY_DATA_DIRECT);
+ glPixelTransferf(GL_ALPHA_SCALE, 1.0f);
+ offsx+= UI_UNIT_X;
+ }
+ glDisable(GL_BLEND);
+
+ /* name */
+ if(active==1) UI_ThemeColor(TH_TEXT_HI);
+ else if(ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.75f);
+ else UI_ThemeColor(TH_TEXT);
+
+ UI_DrawString(startx+offsx, *starty+5*ufac, te->name);
+
+ offsx+= (int)(UI_UNIT_X + UI_GetStringWidth(te->name));
+
+ /* closed item, we draw the icons, not when it's a scene, or master-server list though */
+ if(tselem->flag & TSE_CLOSED) {
+ if(te->subtree.first) {
+ if(tselem->type==0 && te->idcode==ID_SCE);
+ else if(tselem->type!=TSE_R_LAYER) { /* this tree element always has same amount of branches, so dont draw */
+ int tempx= startx+offsx;
+
+ // divider
+ UI_ThemeColorShade(TH_BACK, -40);
+ glRecti(tempx -10, *starty+4, tempx -8, *starty+UI_UNIT_Y-4);
+
+ glEnable(GL_BLEND);
+ glPixelTransferf(GL_ALPHA_SCALE, 0.5);
+
+ outliner_draw_iconrow(C, block, scene, soops, &te->subtree, 0, xmax, &tempx, *starty+2);
+
+ glPixelTransferf(GL_ALPHA_SCALE, 1.0);
+ glDisable(GL_BLEND);
+ }
+ }
+ }
+ }
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)*starty;
+ te->xend= startx+offsx;
+
+ if((tselem->flag & TSE_CLOSED)==0) {
+ *starty-= UI_UNIT_Y;
+
+ for(ten= te->subtree.first; ten; ten= ten->next)
+ outliner_draw_tree_element(C, block, scene, ar, soops, ten, startx+UI_UNIT_X, starty);
+ }
+ else {
+ for(ten= te->subtree.first; ten; ten= ten->next)
+ outliner_set_coord_tree_element(soops, te, startx, starty);
+
+ *starty-= UI_UNIT_Y;
+ }
+}
+
+static void outliner_draw_hierarchy(SpaceOops *soops, ListBase *lb, int startx, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int y1, y2;
+
+ if(lb->first==NULL) return;
+
+ y1=y2= *starty; /* for vertical lines between objects */
+ for(te=lb->first; te; te= te->next) {
+ y2= *starty;
+ tselem= TREESTORE(te);
+
+ /* horizontal line? */
+ if(tselem->type==0 && (te->idcode==ID_OB || te->idcode==ID_SCE))
+ glRecti(startx, *starty, startx+UI_UNIT_X, *starty-1);
+
+ *starty-= UI_UNIT_Y;
+
+ if((tselem->flag & TSE_CLOSED)==0)
+ outliner_draw_hierarchy(soops, &te->subtree, startx+UI_UNIT_X, starty);
+ }
+
+ /* vertical line */
+ te= lb->last;
+ if(te->parent || lb->first!=lb->last) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==ID_OB) {
+
+ glRecti(startx, y1+UI_UNIT_Y, startx+1, y2);
+ }
+ }
+}
+
+static void outliner_draw_struct_marks(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ /* selection status */
+ if((tselem->flag & TSE_CLOSED)==0)
+ if(tselem->type == TSE_RNA_STRUCT)
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, *starty+UI_UNIT_Y-1);
+
+ *starty-= UI_UNIT_Y;
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_draw_struct_marks(ar, soops, &te->subtree, starty);
+ if(tselem->type == TSE_RNA_STRUCT)
+ fdrawline(0, (float)*starty+UI_UNIT_Y, ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (float)*starty+UI_UNIT_Y);
+ }
+ }
+}
+
+static void outliner_draw_selection(ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ /* selection status */
+ if(tselem->flag & TSE_SELECTED) {
+ glRecti(0, *starty+1, (int)ar->v2d.cur.xmax, *starty+UI_UNIT_Y-1);
+ }
+ *starty-= UI_UNIT_Y;
+ if((tselem->flag & TSE_CLOSED)==0) outliner_draw_selection(ar, soops, &te->subtree, starty);
+ }
+}
+
+
+static void outliner_draw_tree(bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
+{
+ TreeElement *te;
+ int starty, startx;
+ float col[4];
+
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // only once
+
+ if (ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+ /* struct marks */
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+ //UI_ThemeColorShade(TH_BACK, -20);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ outliner_draw_struct_marks(ar, soops, &soops->tree, &starty);
+ }
+
+ /* always draw selection fill before hierarchy */
+ UI_GetThemeColor3fv(TH_BACK, col);
+ glColor3f(col[0]+0.06f, col[1]+0.08f, col[2]+0.10f);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ outliner_draw_selection(ar, soops, &soops->tree, &starty);
+
+ // grey hierarchy lines
+ UI_ThemeColorBlend(TH_BACK, TH_TEXT, 0.4f);
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y/2-OL_Y_OFFSET;
+ startx= 6;
+ outliner_draw_hierarchy(soops, &soops->tree, startx, &starty);
+
+ // items themselves
+ starty= (int)ar->v2d.tot.ymax-UI_UNIT_Y-OL_Y_OFFSET;
+ startx= 0;
+ for(te= soops->tree.first; te; te= te->next) {
+ outliner_draw_tree_element(C, block, scene, ar, soops, te, startx, &starty);
+ }
+}
+
+
+static void outliner_back(ARegion *ar)
+{
+ int ystart;
+
+ UI_ThemeColorShade(TH_BACK, 6);
+ ystart= (int)ar->v2d.tot.ymax;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+
+ while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+ glRecti(0, ystart, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, ystart+UI_UNIT_Y);
+ ystart-= 2*UI_UNIT_Y;
+ }
+}
+
+static void outliner_draw_restrictcols(ARegion *ar)
+{
+ int ystart;
+
+ /* background underneath */
+ UI_ThemeColor(TH_BACK);
+ glRecti((int)ar->v2d.cur.xmax-OL_TOGW, (int)ar->v2d.cur.ymin-V2D_SCROLL_HEIGHT-1, (int)ar->v2d.cur.xmax+V2D_SCROLL_WIDTH, (int)ar->v2d.cur.ymax);
+
+ UI_ThemeColorShade(TH_BACK, 6);
+ ystart= (int)ar->v2d.tot.ymax;
+ ystart= UI_UNIT_Y*(ystart/(UI_UNIT_Y))-OL_Y_OFFSET;
+
+ while(ystart+2*UI_UNIT_Y > ar->v2d.cur.ymin) {
+ glRecti((int)ar->v2d.cur.xmax-OL_TOGW, ystart, (int)ar->v2d.cur.xmax, ystart+UI_UNIT_Y);
+ ystart-= 2*UI_UNIT_Y;
+ }
+
+ UI_ThemeColorShadeAlpha(TH_BACK, -15, -200);
+
+ /* view */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_VIEWX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+ /* render */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_SELECTX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+
+ /* render */
+ fdrawline(ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+ ar->v2d.cur.ymax,
+ ar->v2d.cur.xmax-OL_TOG_RESTRICT_RENDERX,
+ ar->v2d.cur.ymin - V2D_SCROLL_HEIGHT);
+}
+
+/* ****************************************************** */
+/* Main Entrypoint - Draw contents of Outliner editor */
+
+void draw_outliner(const bContext *C)
+{
+ Main *mainvar= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ View2D *v2d= &ar->v2d;
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ uiBlock *block;
+ int sizey= 0, sizex= 0, sizex_rna= 0;
+
+ outliner_build_tree(mainvar, scene, soops); // always
+
+ /* get extents of data */
+ outliner_height(soops, &soops->tree, &sizey);
+
+ if (ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP)) {
+ /* RNA has two columns:
+ * - column 1 is (max_width + OL_RNA_COL_SPACEX) or
+ * (OL_RNA_COL_X), whichever is wider...
+ * - column 2 is fixed at OL_RNA_COL_SIZEX
+ *
+ * (*) XXX max width for now is a fixed factor of UI_UNIT_X*(max_indention+100)
+ */
+
+ /* get actual width of column 1 */
+ outliner_rna_width(soops, &soops->tree, &sizex_rna, 0);
+ sizex_rna= MAX2(OL_RNA_COLX, sizex_rna+OL_RNA_COL_SPACEX);
+
+ /* get width of data (for setting 'tot' rect, this is column 1 + column 2 + a bit extra) */
+ if (soops->outlinevis == SO_KEYMAP)
+ sizex= sizex_rna + OL_RNA_COL_SIZEX*3 + 50; // XXX this is only really a quick hack to make this wide enough...
+ else
+ sizex= sizex_rna + OL_RNA_COL_SIZEX + 50;
+ }
+ else {
+ /* width must take into account restriction columns (if visible) so that entries will still be visible */
+ //outliner_width(soops, &soops->tree, &sizex);
+ outliner_rna_width(soops, &soops->tree, &sizex, 0); // XXX should use outliner_width instead when te->xend will be set correctly...
+
+ /* constant offset for restriction columns */
+ // XXX this isn't that great yet...
+ if ((soops->flag & SO_HIDE_RESTRICTCOLS)==0)
+ sizex += OL_TOGW*3;
+ }
+
+ /* tweak to display last line (when list bigger than window) */
+ sizey += V2D_SCROLL_HEIGHT;
+
+ /* adds vertical offset */
+ sizey += OL_Y_OFFSET;
+
+ /* update size of tot-rect (extents of data/viewable area) */
+ UI_view2d_totRect_set(v2d, sizex, sizey);
+
+ /* force display to pixel coords */
+ v2d->flag |= (V2D_PIXELOFS_X|V2D_PIXELOFS_Y);
+ /* set matrix for 2d-view controls */
+ UI_view2d_view_ortho(v2d);
+
+ /* draw outliner stuff (background, hierachy lines and names) */
+ outliner_back(ar);
+ block= uiBeginBlock(C, ar, "outliner buttons", UI_EMBOSS);
+ outliner_draw_tree((bContext *)C, block, scene, ar, soops);
+
+ if(ELEM(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF)) {
+ /* draw rna buttons */
+ outliner_draw_rnacols(ar, sizex_rna);
+ outliner_draw_rnabuts(block, scene, ar, soops, sizex_rna, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_KEYMAP) {
+ outliner_draw_keymapbuts(block, ar, soops, &soops->tree);
+ }
+ else if (!(soops->flag & SO_HIDE_RESTRICTCOLS)) {
+ /* draw restriction columns */
+ outliner_draw_restrictcols(ar);
+ outliner_draw_restrictbuts(block, scene, ar, soops, &soops->tree);
+ }
+
+ /* draw edit buttons if nessecery */
+ outliner_buttons(C, block, ar, soops, &soops->tree);
+
+ uiEndBlock(C, block);
+ uiDrawBlock(C, block);
+
+ /* clear flag that allows quick redraws */
+ soops->storeflag &= ~SO_TREESTORE_REDRAW;
+}
diff --git a/source/blender/editors/space_outliner/outliner_edit.c b/source/blender/editors/space_outliner/outliner_edit.c
new file mode 100644
index 00000000000..2b451a48748
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_edit.c
@@ -0,0 +1,1426 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_edit.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "ED_keyframing.h"
+
+#include "outliner_intern.h"
+
+/* ************************************************************** */
+/* Unused Utilities */
+// XXX: where to place these?
+
+/* This is not used anywhere at the moment */
+#if 0
+/* return 1 when levels were opened */
+static int outliner_open_back(SpaceOops *soops, TreeElement *te)
+{
+ TreeStoreElem *tselem;
+ int retval= 0;
+
+ for (te= te->parent; te; te= te->parent) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_CLOSED) {
+ tselem->flag &= ~TSE_CLOSED;
+ retval= 1;
+ }
+ }
+ return retval;
+}
+
+static void outliner_open_reveal(SpaceOops *soops, ListBase *lb, TreeElement *teFind, int *found)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= lb->first; te; te= te->next) {
+ /* check if this tree-element was the one we're seeking */
+ if (te == teFind) {
+ *found= 1;
+ return;
+ }
+
+ /* try to see if sub-tree contains it then */
+ outliner_open_reveal(soops, &te->subtree, teFind, found);
+ if (*found) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_CLOSED)
+ tselem->flag &= ~TSE_CLOSED;
+ return;
+ }
+ }
+}
+#endif
+
+/* ************************************************************** */
+/* Click Activated */
+
+/* Toggle Open/Closed ------------------------------------------- */
+
+static int do_outliner_item_openclose(bContext *C, SpaceOops *soops, TreeElement *te, int all, const float mval[2])
+{
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* all below close/open? */
+ if(all) {
+ tselem->flag &= ~TSE_CLOSED;
+ outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+ }
+ else {
+ if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+ }
+
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_openclose(C, soops, te, all, mval))
+ return 1;
+ }
+ return 0;
+
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_openclose(bContext *C, wmOperator *op, wmEvent *event)
+{
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+ int all= RNA_boolean_get(op->ptr, "all");
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_openclose(C, soops, te, all, fmval))
+ break;
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_openclose(wmOperatorType *ot)
+{
+ ot->name= "Open/Close Item";
+ ot->idname= "OUTLINER_OT_item_openclose";
+ ot->description= "Toggle whether item under cursor is enabled or closed";
+
+ ot->invoke= outliner_item_openclose;
+
+ ot->poll= ED_operator_outliner_active;
+
+ RNA_def_boolean(ot->srna, "all", 1, "All", "Close or open all items.");
+}
+
+/* Rename --------------------------------------------------- */
+
+void do_item_rename(ARegion *ar, TreeElement *te, TreeStoreElem *tselem, ReportList *reports)
+{
+ /* can't rename rna datablocks entries */
+ if(ELEM3(tselem->type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM))
+ ;
+ else if(ELEM10(tselem->type, TSE_ANIM_DATA, TSE_NLA, TSE_DEFGROUP_BASE, TSE_CONSTRAINT_BASE, TSE_MODIFIER_BASE, TSE_SCRIPT_BASE, TSE_POSE_BASE, TSE_POSEGRP_BASE, TSE_R_LAYER_BASE, TSE_R_PASS))
+ BKE_report(reports, RPT_WARNING, "Cannot edit builtin name");
+ else if(ELEM3(tselem->type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP))
+ BKE_report(reports, RPT_WARNING, "Cannot edit sequence name");
+ else if(tselem->id->lib) {
+ // XXX error_libdata();
+ }
+ else if(te->idcode == ID_LI && te->parent) {
+ BKE_report(reports, RPT_WARNING, "Cannot edit the path of an indirectly linked library");
+ }
+ else {
+ tselem->flag |= TSE_TEXTBUT;
+ ED_region_tag_redraw(ar);
+ }
+}
+
+void item_rename_cb(bContext *C, Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ARegion *ar= CTX_wm_region(C);
+ ReportList *reports= CTX_wm_reports(C); // XXX
+ do_item_rename(ar, te, tselem, reports) ;
+}
+
+static int do_outliner_item_rename(bContext *C, ARegion *ar, SpaceOops *soops, TreeElement *te, const float mval[2])
+{
+ ReportList *reports= CTX_wm_reports(C); // XXX
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* name and first icon */
+ if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+
+ do_item_rename(ar, te, tselem, reports) ;
+ }
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_rename(C, ar, soops, te, mval)) return 1;
+ }
+ return 0;
+}
+
+static int outliner_item_rename(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_rename(C, ar, soops, te, fmval)) break;
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_item_rename(wmOperatorType *ot)
+{
+ ot->name= "Rename Item";
+ ot->idname= "OUTLINER_OT_item_rename";
+ ot->description= "Rename item under cursor";
+
+ ot->invoke= outliner_item_rename;
+
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* ************************************************************** */
+/* Setting Toggling Operators */
+
+/* =============================================== */
+/* Toggling Utilities (Exported) */
+
+/* Apply Settings ------------------------------- */
+
+static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
+{
+ TreeElement *te;
+ int level=curlevel, lev;
+
+ for(te= lb->first; te; te= te->next) {
+
+ lev= outliner_count_levels(soops, &te->subtree, curlevel+1);
+ if(lev>level) level= lev;
+ }
+ return level;
+}
+
+int outliner_has_one_flag(SpaceOops *soops, ListBase *lb, short flag, short curlevel)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int level;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & flag) return curlevel;
+
+ level= outliner_has_one_flag(soops, &te->subtree, flag, curlevel+1);
+ if(level) return level;
+ }
+ return 0;
+}
+
+void outliner_set_flag(SpaceOops *soops, ListBase *lb, short flag, short set)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(set==0) tselem->flag &= ~flag;
+ else tselem->flag |= flag;
+ outliner_set_flag(soops, &te->subtree, flag, set);
+ }
+}
+
+/* Restriction Columns ------------------------------- */
+
+/* same check needed for both object operation and restrict column button func
+ * return 0 when in edit mode (cannot restrict view or select)
+ * otherwise return 1 */
+int common_restrict_check(bContext *C, Object *ob)
+{
+ /* Don't allow hide an object in edit mode,
+ * check the bug #22153 and #21609, #23977
+ */
+ Object *obedit= CTX_data_edit_object(C);
+ if (obedit && obedit == ob) {
+ /* found object is hidden, reset */
+ if (ob->restrictflag & OB_RESTRICT_VIEW)
+ ob->restrictflag &= ~OB_RESTRICT_VIEW;
+ /* found object is unselectable, reset */
+ if (ob->restrictflag & OB_RESTRICT_SELECT)
+ ob->restrictflag &= ~OB_RESTRICT_SELECT;
+ return 0;
+ }
+
+ return 1;
+}
+
+/* =============================================== */
+/* Restriction toggles */
+
+/* Toggle Visibility ---------------------------------------- */
+
+void object_toggle_visibility_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+ Object *ob = (Object *)tselem->id;
+
+ /* add check for edit mode */
+ if(!common_restrict_check(C, ob)) return;
+
+ if(base || (base= object_in_scene(ob, scene))) {
+ if((base->object->restrictflag ^= OB_RESTRICT_VIEW)) {
+ ED_base_object_select(base, BA_DESELECT);
+ }
+ }
+}
+
+void group_toggle_visibility_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_VIEW);
+}
+
+static int outliner_toggle_visibility_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_visibility_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Visibility";
+ ot->idname= "OUTLINER_OT_visibility_toggle";
+ ot->description= "Toggle the visibility of selected items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_visibility_exec;
+ ot->poll= ED_operator_outliner_active_no_editobject;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Selectability ---------------------------------------- */
+
+void object_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->object->restrictflag^=OB_RESTRICT_SELECT;
+ }
+}
+
+void group_toggle_selectability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_SELECT);
+}
+
+static int outliner_toggle_selectability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selectability_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Selectability";
+ ot->idname= "OUTLINER_OT_selectability_toggle";
+ ot->description= "Toggle the selectability";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_selectability_exec;
+ ot->poll= ED_operator_outliner_active_no_editobject;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Toggle Renderability ---------------------------------------- */
+
+void object_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->object->restrictflag^=OB_RESTRICT_RENDER;
+ }
+}
+
+void group_toggle_renderability_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ restrictbutton_gr_restrict_flag(scene, group, OB_RESTRICT_RENDER);
+}
+
+static int outliner_toggle_renderability_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_renderability_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Renderability";
+ ot->idname= "OUTLINER_OT_renderability_toggle";
+ ot->description= "Toggle the renderability of selected items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_renderability_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Outliner setting toggles */
+
+/* Toggle Expanded (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_expanded_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+
+ if (outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1))
+ outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 0);
+ else
+ outliner_set_flag(soops, &soops->tree, TSE_CLOSED, 1);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_expanded_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Expand/Collapse All";
+ ot->idname= "OUTLINER_OT_expanded_toggle";
+ ot->description= "Expand/Collapse all items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_expanded_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+}
+
+/* Toggle Selected (Outliner) ---------------------------------------- */
+
+static int outliner_toggle_selected_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ Scene *scene= CTX_data_scene(C);
+
+ if (outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1))
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+ else
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 1);
+
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_selected_toggle(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Toggle Selected";
+ ot->idname= "OUTLINER_OT_selected_toggle";
+ ot->description= "Toggle the Outliner selection of items";
+
+ /* callbacks */
+ ot->exec= outliner_toggle_selected_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* Hotkey Only Operators */
+
+/* Show Active --------------------------------------------------- */
+
+static int outliner_show_active_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *so= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ View2D *v2d= &ar->v2d;
+
+ TreeElement *te;
+ int xdelta, ytop;
+
+ // TODO: make this get this info from context instead...
+ if (OBACT == NULL)
+ return OPERATOR_CANCELLED;
+
+ te= outliner_find_id(so, &so->tree, (ID *)OBACT);
+ if (te) {
+ /* make te->ys center of view */
+ ytop= (int)(te->ys + (v2d->mask.ymax - v2d->mask.ymin)/2);
+ if (ytop>0) ytop= 0;
+
+ v2d->cur.ymax= (float)ytop;
+ v2d->cur.ymin= (float)(ytop-(v2d->mask.ymax - v2d->mask.ymin));
+
+ /* make te->xs ==> te->xend center of view */
+ xdelta = (int)(te->xs - v2d->cur.xmin);
+ v2d->cur.xmin += xdelta;
+ v2d->cur.xmax += xdelta;
+
+ so->storeflag |= SO_TREESTORE_REDRAW;
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_active(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show Active";
+ ot->idname= "OUTLINER_OT_show_active";
+ ot->description= "Adjust the view so that the active Object is shown centered";
+
+ /* callbacks */
+ ot->exec= outliner_show_active_exec;
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* View Panning --------------------------------------------------- */
+
+static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
+{
+ ARegion *ar= CTX_wm_region(C);
+ int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
+ int up= 0;
+
+ if(RNA_boolean_get(op->ptr, "up"))
+ up= 1;
+
+ if(up == 0) dy= -dy;
+ ar->v2d.cur.ymin+= dy;
+ ar->v2d.cur.ymax+= dy;
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_scroll_page(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Scroll Page";
+ ot->idname= "OUTLINER_OT_scroll_page";
+ ot->description= "Scroll page up or down";
+
+ /* callbacks */
+ ot->exec= outliner_scroll_page_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* properties */
+ RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
+}
+
+/* Search ------------------------------------------------------- */
+// TODO: probably obsolete now with filtering?
+
+#if 0
+
+/* recursive helper for function below */
+static void outliner_set_coordinates_element(SpaceOops *soops, TreeElement *te, int startx, int *starty)
+{
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* store coord and continue, we need coordinates for elements outside view too */
+ te->xs= (float)startx;
+ te->ys= (float)(*starty);
+ *starty-= UI_UNIT_Y;
+
+ if((tselem->flag & TSE_CLOSED)==0) {
+ TreeElement *ten;
+ for(ten= te->subtree.first; ten; ten= ten->next) {
+ outliner_set_coordinates_element(soops, ten, startx+UI_UNIT_X, starty);
+ }
+ }
+
+}
+
+/* to retrieve coordinates with redrawing the entire tree */
+static void outliner_set_coordinates(ARegion *ar, SpaceOops *soops)
+{
+ TreeElement *te;
+ int starty= (int)(ar->v2d.tot.ymax)-UI_UNIT_Y;
+ int startx= 0;
+
+ for(te= soops->tree.first; te; te= te->next) {
+ outliner_set_coordinates_element(soops, te, startx, &starty);
+ }
+}
+
+/* find next element that has this name */
+static TreeElement *outliner_find_named(SpaceOops *soops, ListBase *lb, char *name, int flags, TreeElement *prev, int *prevFound)
+{
+ TreeElement *te, *tes;
+
+ for (te= lb->first; te; te= te->next) {
+ int found = outliner_filter_has_name(te, name, flags);
+
+ if(found) {
+ /* name is right, but is element the previous one? */
+ if (prev) {
+ if ((te != prev) && (*prevFound))
+ return te;
+ if (te == prev) {
+ *prevFound = 1;
+ }
+ }
+ else
+ return te;
+ }
+
+ tes= outliner_find_named(soops, &te->subtree, name, flags, prev, prevFound);
+ if(tes) return tes;
+ }
+
+ /* nothing valid found */
+ return NULL;
+}
+
+static void outliner_find_panel(Scene *UNUSED(scene), ARegion *ar, SpaceOops *soops, int again, int flags)
+{
+ ReportList *reports = NULL; // CTX_wm_reports(C);
+ TreeElement *te= NULL;
+ TreeElement *last_find;
+ TreeStoreElem *tselem;
+ int ytop, xdelta, prevFound=0;
+ char name[32];
+
+ /* get last found tree-element based on stored search_tse */
+ last_find= outliner_find_tse(soops, &soops->search_tse);
+
+ /* determine which type of search to do */
+ if (again && last_find) {
+ /* no popup panel - previous + user wanted to search for next after previous */
+ BLI_strncpy(name, soops->search_string, sizeof(name));
+ flags= soops->search_flags;
+
+ /* try to find matching element */
+ te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+ if (te==NULL) {
+ /* no more matches after previous, start from beginning again */
+ prevFound= 1;
+ te= outliner_find_named(soops, &soops->tree, name, flags, last_find, &prevFound);
+ }
+ }
+ else {
+ /* pop up panel - no previous, or user didn't want search after previous */
+ strcpy(name, "");
+// XXX if (sbutton(name, 0, sizeof(name)-1, "Find: ") && name[0]) {
+// te= outliner_find_named(soops, &soops->tree, name, flags, NULL, &prevFound);
+// }
+// else return; /* XXX RETURN! XXX */
+ }
+
+ /* do selection and reveal */
+ if (te) {
+ tselem= TREESTORE(te);
+ if (tselem) {
+ /* expand branches so that it will be visible, we need to get correct coordinates */
+ if( outliner_open_back(soops, te))
+ outliner_set_coordinates(ar, soops);
+
+ /* deselect all visible, and select found element */
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+ tselem->flag |= TSE_SELECTED;
+
+ /* make te->ys center of view */
+ ytop= (int)(te->ys + (ar->v2d.mask.ymax-ar->v2d.mask.ymin)/2);
+ if(ytop>0) ytop= 0;
+ ar->v2d.cur.ymax= (float)ytop;
+ ar->v2d.cur.ymin= (float)(ytop-(ar->v2d.mask.ymax-ar->v2d.mask.ymin));
+
+ /* make te->xs ==> te->xend center of view */
+ xdelta = (int)(te->xs - ar->v2d.cur.xmin);
+ ar->v2d.cur.xmin += xdelta;
+ ar->v2d.cur.xmax += xdelta;
+
+ /* store selection */
+ soops->search_tse= *tselem;
+
+ BLI_strncpy(soops->search_string, name, 33);
+ soops->search_flags= flags;
+
+ /* redraw */
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+ }
+ }
+ else {
+ /* no tree-element found */
+ BKE_report(reports, RPT_WARNING, "Not found: %s", name);
+ }
+}
+#endif
+
+/* Show One Level ----------------------------------------------- */
+
+/* helper function for Show/Hide one level operator */
+static void outliner_openclose_level(SpaceOops *soops, ListBase *lb, int curlevel, int level, int open)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ if(open) {
+ if(curlevel<=level) tselem->flag &= ~TSE_CLOSED;
+ }
+ else {
+ if(curlevel>=level) tselem->flag |= TSE_CLOSED;
+ }
+
+ outliner_openclose_level(soops, &te->subtree, curlevel+1, level, open);
+ }
+}
+
+static int outliner_one_level_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ int add= RNA_boolean_get(op->ptr, "open");
+ int level;
+
+ level= outliner_has_one_flag(soops, &soops->tree, TSE_CLOSED, 1);
+ if(add==1) {
+ if(level) outliner_openclose_level(soops, &soops->tree, 1, level, 1);
+ }
+ else {
+ if(level==0) level= outliner_count_levels(soops, &soops->tree, 0);
+ if(level) outliner_openclose_level(soops, &soops->tree, 1, level-1, 0);
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_one_level(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show/Hide One Level";
+ ot->idname= "OUTLINER_OT_show_one_level";
+ ot->description= "Expand/collapse all entries by one level";
+
+ /* callbacks */
+ ot->exec= outliner_one_level_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* no undo or registry, UI option */
+
+ /* properties */
+ RNA_def_boolean(ot->srna, "open", 1, "Open", "Expand all entries one level deep.");
+}
+
+/* Show Hierarchy ----------------------------------------------- */
+
+/* helper function for tree_element_shwo_hierarchy() - recursively checks whether subtrees have any objects*/
+static int subtree_has_objects(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==ID_OB) return 1;
+ if( subtree_has_objects(soops, &te->subtree)) return 1;
+ }
+ return 0;
+}
+
+/* recursive helper function for Show Hierarchy operator */
+static void tree_element_show_hierarchy(Scene *scene, SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ /* open all object elems, close others */
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+
+ if(tselem->type==0) {
+ if(te->idcode==ID_SCE) {
+ if(tselem->id!=(ID *)scene) tselem->flag |= TSE_CLOSED;
+ else tselem->flag &= ~TSE_CLOSED;
+ }
+ else if(te->idcode==ID_OB) {
+ if(subtree_has_objects(soops, &te->subtree)) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+ }
+ }
+ else tselem->flag |= TSE_CLOSED;
+
+ if(tselem->flag & TSE_CLOSED); else tree_element_show_hierarchy(scene, soops, &te->subtree);
+ }
+}
+
+/* show entire object level hierarchy */
+static int outliner_show_hierarchy_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ ARegion *ar= CTX_wm_region(C);
+ Scene *scene= CTX_data_scene(C);
+
+ /* recursively open/close levels */
+ tree_element_show_hierarchy(scene, soops, &soops->tree);
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_show_hierarchy(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Show Hierarchy";
+ ot->idname= "OUTLINER_OT_show_hierarchy";
+ ot->description= "Open all object entries and close all others";
+
+ /* callbacks */
+ ot->exec= outliner_show_hierarchy_exec;
+ ot->poll= ED_operator_outliner_active; // TODO: shouldn't be allowed in RNA views...
+
+ /* no undo or registry, UI option */
+}
+
+/* ************************************************************** */
+/* ANIMATO OPERATIONS */
+/* KeyingSet and Driver Creation - Helper functions */
+
+/* specialised poll callback for these operators to work in Datablocks view only */
+static int ed_operator_outliner_datablocks_active(bContext *C)
+{
+ ScrArea *sa= CTX_wm_area(C);
+ if ((sa) && (sa->spacetype==SPACE_OUTLINER)) {
+ SpaceOops *so= CTX_wm_space_outliner(C);
+ return (so->outlinevis == SO_DATABLOCKS);
+ }
+ return 0;
+}
+
+
+/* Helper func to extract an RNA path from selected tree element
+ * NOTE: the caller must zero-out all values of the pointers that it passes here first, as
+ * this function does not do that yet
+ */
+static void tree_element_to_path(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem,
+ ID **id, char **path, int *array_index, short *flag, short *UNUSED(groupmode))
+{
+ ListBase hierarchy = {NULL, NULL};
+ LinkData *ld;
+ TreeElement *tem, *temnext, *temsub;
+ TreeStoreElem *tse, *tsenext;
+ PointerRNA *ptr, *nextptr;
+ PropertyRNA *prop;
+ char *newpath=NULL;
+
+ /* optimise tricks:
+ * - Don't do anything if the selected item is a 'struct', but arrays are allowed
+ */
+ if (tselem->type == TSE_RNA_STRUCT)
+ return;
+
+ /* Overview of Algorithm:
+ * 1. Go up the chain of parents until we find the 'root', taking note of the
+ * levels encountered in reverse-order (i.e. items are added to the start of the list
+ * for more convenient looping later)
+ * 2. Walk down the chain, adding from the first ID encountered
+ * (which will become the 'ID' for the KeyingSet Path), and build a
+ * path as we step through the chain
+ */
+
+ /* step 1: flatten out hierarchy of parents into a flat chain */
+ for (tem= te->parent; tem; tem= tem->parent) {
+ ld= MEM_callocN(sizeof(LinkData), "LinkData for tree_element_to_path()");
+ ld->data= tem;
+ BLI_addhead(&hierarchy, ld);
+ }
+
+ /* step 2: step down hierarchy building the path (NOTE: addhead in previous loop was needed so that we can loop like this) */
+ for (ld= hierarchy.first; ld; ld= ld->next) {
+ /* get data */
+ tem= (TreeElement *)ld->data;
+ tse= TREESTORE(tem);
+ ptr= &tem->rnaptr;
+ prop= tem->directdata;
+
+ /* check if we're looking for first ID, or appending to path */
+ if (*id) {
+ /* just 'append' property to path
+ * - to prevent memory leaks, we must write to newpath not path, then free old path + swap them
+ */
+ if(tse->type == TSE_RNA_PROPERTY) {
+ if(RNA_property_type(prop) == PROP_POINTER) {
+ /* for pointer we just append property name */
+ newpath= RNA_path_append(*path, ptr, prop, 0, NULL);
+ }
+ else if(RNA_property_type(prop) == PROP_COLLECTION) {
+ char buf[128], *name;
+
+ temnext= (TreeElement*)(ld->next->data);
+ tsenext= TREESTORE(temnext);
+
+ nextptr= &temnext->rnaptr;
+ name= RNA_struct_name_get_alloc(nextptr, buf, sizeof(buf));
+
+ if(name) {
+ /* if possible, use name as a key in the path */
+ newpath= RNA_path_append(*path, NULL, prop, 0, name);
+
+ if(name != buf)
+ MEM_freeN(name);
+ }
+ else {
+ /* otherwise use index */
+ int index= 0;
+
+ for(temsub=tem->subtree.first; temsub; temsub=temsub->next, index++)
+ if(temsub == temnext)
+ break;
+
+ newpath= RNA_path_append(*path, NULL, prop, index, NULL);
+ }
+
+ ld= ld->next;
+ }
+ }
+
+ if(newpath) {
+ if (*path) MEM_freeN(*path);
+ *path= newpath;
+ newpath= NULL;
+ }
+ }
+ else {
+ /* no ID, so check if entry is RNA-struct, and if that RNA-struct is an ID datablock to extract info from */
+ if (tse->type == TSE_RNA_STRUCT) {
+ /* ptr->data not ptr->id.data seems to be the one we want, since ptr->data is sometimes the owner of this ID? */
+ if(RNA_struct_is_ID(ptr->type)) {
+ *id= (ID *)ptr->data;
+
+ /* clear path */
+ if(*path) {
+ MEM_freeN(*path);
+ path= NULL;
+ }
+ }
+ }
+ }
+ }
+
+ /* step 3: if we've got an ID, add the current item to the path */
+ if (*id) {
+ /* add the active property to the path */
+ ptr= &te->rnaptr;
+ prop= te->directdata;
+
+ /* array checks */
+ if (tselem->type == TSE_RNA_ARRAY_ELEM) {
+ /* item is part of an array, so must set the array_index */
+ *array_index= te->index;
+ }
+ else if (RNA_property_array_length(ptr, prop)) {
+ /* entire array was selected, so keyframe all */
+ *flag |= KSP_FLAG_WHOLE_ARRAY;
+ }
+
+ /* path */
+ newpath= RNA_path_append(*path, NULL, prop, 0, NULL);
+ if (*path) MEM_freeN(*path);
+ *path= newpath;
+ }
+
+ /* free temp data */
+ BLI_freelistN(&hierarchy);
+}
+
+/* =============================================== */
+/* Driver Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+ DRIVERS_EDITMODE_ADD = 0,
+ DRIVERS_EDITMODE_REMOVE,
+} /*eDrivers_EditModes*/;
+
+/* Utilities ---------------------------------- */
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_drivers_editop(SpaceOops *soops, ListBase *tree, ReportList *reports, short mode)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= tree->first; te; te=te->next) {
+ tselem= TREESTORE(te);
+
+ /* if item is selected, perform operation */
+ if (tselem->flag & TSE_SELECTED) {
+ ID *id= NULL;
+ char *path= NULL;
+ int array_index= 0;
+ short flag= 0;
+ short groupmode= KSP_GROUP_KSNAME;
+
+ /* check if RNA-property described by this selected element is an animateable prop */
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ /* get id + path + index info from the selected element */
+ tree_element_to_path(soops, te, tselem,
+ &id, &path, &array_index, &flag, &groupmode);
+ }
+
+ /* only if ID and path were set, should we perform any actions */
+ if (id && path) {
+ short dflags = CREATEDRIVER_WITH_DEFAULT_DVAR;
+ int arraylen = 1;
+
+ /* array checks */
+ if (flag & KSP_FLAG_WHOLE_ARRAY) {
+ /* entire array was selected, so add drivers for all */
+ arraylen= RNA_property_array_length(&te->rnaptr, te->directdata);
+ }
+ else
+ arraylen= array_index;
+
+ /* we should do at least one step */
+ if (arraylen == array_index)
+ arraylen++;
+
+ /* for each array element we should affect, add driver */
+ for (; array_index < arraylen; array_index++) {
+ /* action depends on mode */
+ switch (mode) {
+ case DRIVERS_EDITMODE_ADD:
+ {
+ /* add a new driver with the information obtained (only if valid) */
+ ANIM_add_driver(reports, id, path, array_index, dflags, DRIVER_TYPE_PYTHON);
+ }
+ break;
+ case DRIVERS_EDITMODE_REMOVE:
+ {
+ /* remove driver matching the information obtained (only if valid) */
+ ANIM_remove_driver(reports, id, path, array_index, dflags);
+ }
+ break;
+ }
+ }
+
+ /* free path, since it had to be generated */
+ MEM_freeN(path);
+ }
+
+
+ }
+
+ /* go over sub-tree */
+ if ((tselem->flag & TSE_CLOSED)==0)
+ do_outliner_drivers_editop(soops, &te->subtree, reports, mode);
+ }
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_drivers_addsel_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_ADD);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_FCURVES_ORDER, NULL); // XXX
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_add_selected(wmOperatorType *ot)
+{
+ /* api callbacks */
+ ot->idname= "OUTLINER_OT_drivers_add_selected";
+ ot->name= "Add Drivers for Selected";
+ ot->description= "Add drivers to selected items";
+
+ /* api callbacks */
+ ot->exec= outliner_drivers_addsel_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_drivers_deletesel_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_drivers_editop(soutliner, &soutliner->tree, op->reports, DRIVERS_EDITMODE_REMOVE);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, ND_KEYS, NULL); // XXX
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_drivers_delete_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_drivers_delete_selected";
+ ot->name= "Delete Drivers for Selected";
+ ot->description= "Delete drivers assigned to selected items";
+
+ /* api callbacks */
+ ot->exec= outliner_drivers_deletesel_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* =============================================== */
+/* Keying Set Operations */
+
+/* These operators are only available in databrowser mode for now, as
+ * they depend on having RNA paths and/or hierarchies available.
+ */
+enum {
+ KEYINGSET_EDITMODE_ADD = 0,
+ KEYINGSET_EDITMODE_REMOVE,
+} /*eKeyingSet_EditModes*/;
+
+/* Utilities ---------------------------------- */
+
+/* find the 'active' KeyingSet, and add if not found (if adding is allowed) */
+// TODO: should this be an API func?
+static KeyingSet *verify_active_keyingset(Scene *scene, short add)
+{
+ KeyingSet *ks= NULL;
+
+ /* sanity check */
+ if (scene == NULL)
+ return NULL;
+
+ /* try to find one from scene */
+ if (scene->active_keyingset > 0)
+ ks= BLI_findlink(&scene->keyingsets, scene->active_keyingset-1);
+
+ /* add if none found */
+ // XXX the default settings have yet to evolve
+ if ((add) && (ks==NULL)) {
+ ks= BKE_keyingset_add(&scene->keyingsets, NULL, KEYINGSET_ABSOLUTE, 0);
+ scene->active_keyingset= BLI_countlist(&scene->keyingsets);
+ }
+
+ return ks;
+}
+
+/* Recursively iterate over tree, finding and working on selected items */
+static void do_outliner_keyingset_editop(SpaceOops *soops, KeyingSet *ks, ListBase *tree, short mode)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te= tree->first; te; te=te->next) {
+ tselem= TREESTORE(te);
+
+ /* if item is selected, perform operation */
+ if (tselem->flag & TSE_SELECTED) {
+ ID *id= NULL;
+ char *path= NULL;
+ int array_index= 0;
+ short flag= 0;
+ short groupmode= KSP_GROUP_KSNAME;
+
+ /* check if RNA-property described by this selected element is an animateable prop */
+ if (ELEM(tselem->type, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM) && RNA_property_animateable(&te->rnaptr, te->directdata)) {
+ /* get id + path + index info from the selected element */
+ tree_element_to_path(soops, te, tselem,
+ &id, &path, &array_index, &flag, &groupmode);
+ }
+
+ /* only if ID and path were set, should we perform any actions */
+ if (id && path) {
+ /* action depends on mode */
+ switch (mode) {
+ case KEYINGSET_EDITMODE_ADD:
+ {
+ /* add a new path with the information obtained (only if valid) */
+ // TODO: what do we do with group name? for now, we don't supply one, and just let this use the KeyingSet name
+ BKE_keyingset_add_path(ks, id, NULL, path, array_index, flag, groupmode);
+ ks->active_path= BLI_countlist(&ks->paths);
+ }
+ break;
+ case KEYINGSET_EDITMODE_REMOVE:
+ {
+ /* find the relevant path, then remove it from the KeyingSet */
+ KS_Path *ksp= BKE_keyingset_find_path(ks, id, NULL, path, array_index, groupmode);
+
+ if (ksp) {
+ /* free path's data */
+ BKE_keyingset_free_path(ks, ksp);
+
+ ks->active_path= 0;
+ }
+ }
+ break;
+ }
+
+ /* free path, since it had to be generated */
+ MEM_freeN(path);
+ }
+ }
+
+ /* go over sub-tree */
+ if ((tselem->flag & TSE_CLOSED)==0)
+ do_outliner_keyingset_editop(soops, ks, &te->subtree, mode);
+ }
+}
+
+/* Add Operator ---------------------------------- */
+
+static int outliner_keyingset_additems_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ KeyingSet *ks= verify_active_keyingset(scene, 1);
+
+ /* check for invalid states */
+ if (ks == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "Operation requires an Active Keying Set");
+ return OPERATOR_CANCELLED;
+ }
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_ADD);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_add_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_keyingset_add_selected";
+ ot->name= "Keying Set Add Selected";
+ ot->description= "Add selected items (blue-grey rows) to active Keying Set";
+
+ /* api callbacks */
+ ot->exec= outliner_keyingset_additems_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
+/* Remove Operator ---------------------------------- */
+
+static int outliner_keyingset_removeitems_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ SpaceOops *soutliner= CTX_wm_space_outliner(C);
+ Scene *scene= CTX_data_scene(C);
+ KeyingSet *ks= verify_active_keyingset(scene, 1);
+
+ /* check for invalid states */
+ if (soutliner == NULL)
+ return OPERATOR_CANCELLED;
+
+ /* recursively go into tree, adding selected items */
+ do_outliner_keyingset_editop(soutliner, ks, &soutliner->tree, KEYINGSET_EDITMODE_REMOVE);
+
+ /* send notifiers */
+ WM_event_add_notifier(C, NC_SCENE|ND_KEYINGSET, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_keyingset_remove_selected(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->idname= "OUTLINER_OT_keyingset_remove_selected";
+ ot->name= "Keying Set Remove Selected";
+ ot->description = "Remove selected items (blue-grey rows) from active Keying Set";
+
+ /* api callbacks */
+ ot->exec= outliner_keyingset_removeitems_exec;
+ ot->poll= ed_operator_outliner_datablocks_active;
+
+ /* flags */
+ ot->flag = OPTYPE_REGISTER|OPTYPE_UNDO;
+}
diff --git a/source/blender/editors/space_outliner/outliner_intern.h b/source/blender/editors/space_outliner/outliner_intern.h
index cbb26d79c4b..61507d1ffe5 100644
--- a/source/blender/editors/space_outliner/outliner_intern.h
+++ b/source/blender/editors/space_outliner/outliner_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -44,6 +42,8 @@ struct TreeStoreElem;
struct bContext;
struct Scene;
struct ARegion;
+struct ID;
+struct Object;
typedef struct TreeElement {
struct TreeElement *next, *prev, *parent;
@@ -107,27 +107,71 @@ typedef struct TreeElement {
/* button events */
#define OL_NAMEBUTTON 1
+/* get TreeStoreElem associated with a TreeElement
+ * < a: (TreeElement) tree element to find stored element for
+ */
+#define TREESTORE(a) ((a)?soops->treestore->data+(a)->store_index:NULL)
-/* outliner_ops.c */
-void outliner_operatortypes(void);
-void outliner_keymap(struct wmKeyConfig *keyconf);
+/* size constants */
+#define OL_Y_OFFSET 2
-/* outliner_header.c */
-void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+#define OL_TOG_RESTRICT_VIEWX (UI_UNIT_X*3)
+#define OL_TOG_RESTRICT_SELECTX (UI_UNIT_X*2)
+#define OL_TOG_RESTRICT_RENDERX UI_UNIT_X
+
+#define OL_TOGW OL_TOG_RESTRICT_VIEWX
+
+#define OL_RNA_COLX (UI_UNIT_X*15)
+#define OL_RNA_COL_SIZEX (UI_UNIT_X*7.5f)
+#define OL_RNA_COL_SPACEX (UI_UNIT_X*2.5f)
+
+
+/* outliner_tree.c ----------------------------------------------- */
+
+void outliner_free_tree(ListBase *lb);
+void outliner_cleanup_tree(struct SpaceOops *soops);
+
+TreeElement *outliner_find_tse(struct SpaceOops *soops, TreeStoreElem *tse);
+TreeElement *outliner_find_id(struct SpaceOops *soops, ListBase *lb, struct ID *id);
+struct ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode);
+
+void outliner_build_tree(struct Main *mainvar, struct Scene *scene, struct SpaceOops *soops);
+
+/* outliner_draw.c ---------------------------------------------- */
-/* outliner.c */
-void outliner_free_tree(struct ListBase *lb);
-void outliner_select(struct SpaceOops *soops, struct ListBase *lb, int *index, short *selecting);
void draw_outliner(const struct bContext *C);
+void restrictbutton_gr_restrict_flag(void *poin, void *poin2, int flag);
+
+/* outliner_select.c -------------------------------------------- */
+int tree_element_type_active(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set);
+int tree_element_active(struct bContext *C, struct Scene *scene, SpaceOops *soops, TreeElement *te, int set);
+
+/* outliner_edit.c ---------------------------------------------- */
+
+void outliner_do_object_operation(struct bContext *C, struct Scene *scene, struct SpaceOops *soops, struct ListBase *lb,
+ void (*operation_cb)(struct bContext *C, struct Scene *scene, struct TreeElement *, struct TreeStoreElem *, TreeStoreElem *));
+
+int common_restrict_check(struct bContext *C, struct Object *ob);
+
+int outliner_has_one_flag(struct SpaceOops *soops, ListBase *lb, short flag, short curlevel);
+void outliner_set_flag(struct SpaceOops *soops, ListBase *lb, short flag, short set);
+
+void object_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void object_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+
+void group_toggle_visibility_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void group_toggle_selectability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+void group_toggle_renderability_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+void item_rename_cb(struct bContext *C, struct Scene *scene, TreeElement *te, struct TreeStoreElem *tsep, struct TreeStoreElem *tselem);
+
+/* ...................................................... */
void OUTLINER_OT_item_activate(struct wmOperatorType *ot);
void OUTLINER_OT_item_openclose(struct wmOperatorType *ot);
void OUTLINER_OT_item_rename(struct wmOperatorType *ot);
-void OUTLINER_OT_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
-void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
void OUTLINER_OT_show_one_level(struct wmOperatorType *ot);
void OUTLINER_OT_show_active(struct wmOperatorType *ot);
@@ -148,5 +192,23 @@ void OUTLINER_OT_keyingset_remove_selected(struct wmOperatorType *ot);
void OUTLINER_OT_drivers_add_selected(struct wmOperatorType *ot);
void OUTLINER_OT_drivers_delete_selected(struct wmOperatorType *ot);
-#endif /* ED_OUTLINER_INTERN_H */
+/* outliner_tools.c ---------------------------------------------- */
+void OUTLINER_OT_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_object_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_group_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_id_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_data_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_animdata_operation(struct wmOperatorType *ot);
+void OUTLINER_OT_action_set(struct wmOperatorType *ot);
+
+/* ---------------------------------------------------------------- */
+
+/* outliner_ops.c */
+void outliner_operatortypes(void);
+void outliner_keymap(struct wmKeyConfig *keyconf);
+
+/* outliner_header.c */
+void outliner_header_buttons(const struct bContext *C, struct ARegion *ar);
+
+#endif /* ED_OUTLINER_INTERN_H */
diff --git a/source/blender/editors/space_outliner/outliner_ops.c b/source/blender/editors/space_outliner/outliner_ops.c
index 8bd30235931..0d3f2e85414 100644
--- a/source/blender/editors/space_outliner/outliner_ops.c
+++ b/source/blender/editors/space_outliner/outliner_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -57,6 +55,8 @@ void outliner_operatortypes(void)
WM_operatortype_append(OUTLINER_OT_group_operation);
WM_operatortype_append(OUTLINER_OT_id_operation);
WM_operatortype_append(OUTLINER_OT_data_operation);
+ WM_operatortype_append(OUTLINER_OT_animdata_operation);
+ WM_operatortype_append(OUTLINER_OT_action_set);
WM_operatortype_append(OUTLINER_OT_show_one_level);
WM_operatortype_append(OUTLINER_OT_show_active);
@@ -83,8 +83,8 @@ void outliner_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "OUTLINER_OT_item_rename", LEFTMOUSE, KM_DBL_CLICK, 0, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_RELEASE, 0, 0)->ptr, "extend", 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", 1);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_CLICK, 0, 0)->ptr, "extend", 0);
+ RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_activate", LEFTMOUSE, KM_CLICK, KM_SHIFT, 0)->ptr, "extend", 1);
RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_openclose", RETKEY, KM_PRESS, 0, 0)->ptr, "all", 0);
RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_item_openclose", RETKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "all", 1);
diff --git a/source/blender/editors/space_outliner/outliner_select.c b/source/blender/editors/space_outliner/outliner_select.c
new file mode 100644
index 00000000000..2c0a8c34747
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_select.c
@@ -0,0 +1,873 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_select.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+/* Outliner Selection (grey-blue highlight for rows) */
+
+static int outliner_select(SpaceOops *soops, ListBase *lb, int *index, short *selecting)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int change= 0;
+
+ for (te= lb->first; te && *index >= 0; te=te->next, (*index)--) {
+ tselem= TREESTORE(te);
+
+ /* if we've encountered the right item, set its 'Outliner' selection status */
+ if (*index == 0) {
+ /* this should be the last one, so no need to do anything with index */
+ if ((te->flag & TE_ICONROW)==0) {
+ /* -1 value means toggle testing for now... */
+ if (*selecting == -1) {
+ if (tselem->flag & TSE_SELECTED)
+ *selecting= 0;
+ else
+ *selecting= 1;
+ }
+
+ /* set selection */
+ if (*selecting)
+ tselem->flag |= TSE_SELECTED;
+ else
+ tselem->flag &= ~TSE_SELECTED;
+
+ change |= 1;
+ }
+ }
+ else if ((tselem->flag & TSE_CLOSED)==0) {
+ /* Only try selecting sub-elements if we haven't hit the right element yet
+ *
+ * Hack warning:
+ * Index must be reduced before supplying it to the sub-tree to try to do
+ * selection, however, we need to increment it again for the next loop to
+ * function correctly
+ */
+ (*index)--;
+ change |= outliner_select(soops, &te->subtree, index, selecting);
+ (*index)++;
+ }
+ }
+
+ return change;
+}
+
+/* ****************************************************** */
+/* Outliner Element Selection/Activation on Click */
+
+static int tree_element_active_renderlayer(bContext *C, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Scene *sce;
+
+ /* paranoia check */
+ if(te->idcode!=ID_SCE)
+ return 0;
+ sce= (Scene *)tselem->id;
+
+ if(set) {
+ sce->r.actlay= tselem->nr;
+ WM_event_add_notifier(C, NC_SCENE|ND_RENDER_OPTIONS, sce);
+ }
+ else {
+ return sce->r.actlay==tselem->nr;
+ }
+ return 0;
+}
+
+static int tree_element_set_active_object(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeStoreElem *tselem= TREESTORE(te);
+ Scene *sce;
+ Base *base;
+ Object *ob= NULL;
+
+ /* if id is not object, we search back */
+ if(te->idcode==ID_OB) ob= (Object *)tselem->id;
+ else {
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ if(ob==OBACT) return 0;
+ }
+ if(ob==NULL) return 0;
+
+ sce= (Scene *)outliner_search_back(soops, te, ID_SCE);
+ if(sce && scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+
+ /* find associated base in current scene */
+ base= object_in_scene(ob, scene);
+
+ if(base) {
+ if(set==2) {
+ /* swap select */
+ if(base->flag & SELECT)
+ ED_base_object_select(base, BA_DESELECT);
+ else
+ ED_base_object_select(base, BA_SELECT);
+ }
+ else {
+ /* deleselect all */
+ scene_deselect_all(scene);
+ ED_base_object_select(base, BA_SELECT);
+ }
+ if(C) {
+ ED_base_object_activate(C, base); /* adds notifier */
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ }
+
+ if(ob!=scene->obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ return 1;
+}
+
+static int tree_element_active_material(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tes;
+ Object *ob;
+
+ /* we search for the object parent */
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ // note: ob->matbits can be NULL when a local object points to a library mesh.
+ if(ob==NULL || ob!=OBACT || ob->matbits==NULL) return 0; // just paranoia
+
+ /* searching in ob mat array? */
+ tes= te->parent;
+ if(tes->idcode==ID_OB) {
+ if(set) {
+ ob->actcol= te->index+1;
+ ob->matbits[te->index]= 1; // make ob material active too
+ ob->colbits |= (1<<te->index);
+ }
+ else {
+ if(ob->actcol == te->index+1)
+ if(ob->matbits[te->index]) return 1;
+ }
+ }
+ /* or we search for obdata material */
+ else {
+ if(set) {
+ ob->actcol= te->index+1;
+ ob->matbits[te->index]= 0; // make obdata material active too
+ ob->colbits &= ~(1<<te->index);
+ }
+ else {
+ if(ob->actcol == te->index+1)
+ if(ob->matbits[te->index]==0) return 1;
+ }
+ }
+ if(set) {
+ WM_event_add_notifier(C, NC_MATERIAL|ND_SHADING, NULL);
+ }
+ return 0;
+}
+
+static int tree_element_active_texture(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tep;
+ TreeStoreElem /* *tselem,*/ *tselemp;
+ Object *ob=OBACT;
+ SpaceButs *sbuts=NULL;
+
+ if(ob==NULL) return 0; // no active object
+
+ /*tselem= TREESTORE(te);*/ /*UNUSED*/
+
+ /* find buttons area (note, this is undefined really still, needs recode in blender) */
+ /* XXX removed finding sbuts */
+
+ /* where is texture linked to? */
+ tep= te->parent;
+ tselemp= TREESTORE(tep);
+
+ if(tep->idcode==ID_WO) {
+ World *wrld= (World *)tselemp->id;
+
+ if(set) {
+ if(sbuts) {
+ // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 1;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ wrld->texact= te->index;
+ }
+ else if(tselemp->id == (ID *)(scene->world)) {
+ if(wrld->texact==te->index) return 1;
+ }
+ }
+ else if(tep->idcode==ID_LA) {
+ Lamp *la= (Lamp *)tselemp->id;
+ if(set) {
+ if(sbuts) {
+ // XXX sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 2;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ la->texact= te->index;
+ }
+ else {
+ if(tselemp->id == ob->data) {
+ if(la->texact==te->index) return 1;
+ }
+ }
+ }
+ else if(tep->idcode==ID_MA) {
+ Material *ma= (Material *)tselemp->id;
+ if(set) {
+ if(sbuts) {
+ //sbuts->tabo= TAB_SHADING_TEX; // hack from header_buttonswin.c
+ // XXX sbuts->texfrom= 0;
+ }
+// XXX extern_set_butspace(F6KEY, 0); // force shading buttons texture
+ ma->texact= (char)te->index;
+
+ /* also set active material */
+ ob->actcol= tep->index+1;
+ }
+ else if(tep->flag & TE_ACTIVE) { // this is active material
+ if(ma->texact==te->index) return 1;
+ }
+ }
+
+ if(set)
+ WM_event_add_notifier(C, NC_TEXTURE, NULL);
+
+ return 0;
+}
+
+
+static int tree_element_active_lamp(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ Object *ob;
+
+ /* we search for the object parent */
+ ob= (Object *)outliner_search_back(soops, te, ID_OB);
+ if(ob==NULL || ob!=OBACT) return 0; // just paranoia
+
+ if(set) {
+// XXX extern_set_butspace(F5KEY, 0);
+ }
+ else return 1;
+
+ return 0;
+}
+
+static int tree_element_active_camera(bContext *UNUSED(C), Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ Object *ob= (Object *)outliner_search_back(soops, te, ID_OB);
+
+ if(set)
+ return 0;
+
+ return scene->camera == ob;
+}
+
+static int tree_element_active_world(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+ TreeElement *tep;
+ TreeStoreElem *tselem=NULL;
+ Scene *sce=NULL;
+
+ tep= te->parent;
+ if(tep) {
+ tselem= TREESTORE(tep);
+ sce= (Scene *)tselem->id;
+ }
+
+ if(set) { // make new scene active
+ if(sce && scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+ }
+
+ if(tep==NULL || tselem->id == (ID *)scene) {
+ if(set) {
+// XXX extern_set_butspace(F8KEY, 0);
+ }
+ else {
+ return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_defgroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob;
+
+ /* id in tselem is object */
+ ob= (Object *)tselem->id;
+ if(set) {
+ ob->actdef= te->index+1;
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA);
+ WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, ob);
+ }
+ else {
+ if(ob==OBACT)
+ if(ob->actdef== te->index+1) return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_posegroup(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+
+ if(set) {
+ if (ob->pose) {
+ ob->pose->active_group= te->index+1;
+ WM_event_add_notifier(C, NC_OBJECT|ND_DRAW, ob);
+ }
+ }
+ else {
+ if(ob==OBACT && ob->pose) {
+ if (ob->pose->active_group== te->index+1) return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_posechannel(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+ bArmature *arm= ob->data;
+ bPoseChannel *pchan= te->directdata;
+
+ if(set) {
+ if(!(pchan->bone->flag & BONE_HIDDEN_P)) {
+
+ if(set==2) ED_pose_deselectall(ob, 2); // 2 = clear active tag
+ else ED_pose_deselectall(ob, 0); // 0 = deselect
+
+ if(set==2 && (pchan->bone->flag & BONE_SELECTED)) {
+ pchan->bone->flag &= ~BONE_SELECTED;
+ } else {
+ pchan->bone->flag |= BONE_SELECTED;
+ arm->act_bone= pchan->bone;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, ob);
+
+ }
+ }
+ else {
+ if(ob==OBACT && ob->pose) {
+ if (pchan->bone->flag & BONE_SELECTED) return 1;
+ }
+ }
+ return 0;
+}
+
+static int tree_element_active_bone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ bArmature *arm= (bArmature *)tselem->id;
+ Bone *bone= te->directdata;
+
+ if(set) {
+ if(!(bone->flag & BONE_HIDDEN_P)) {
+ if(set==2) ED_pose_deselectall(OBACT, 2); // 2 is clear active tag
+ else ED_pose_deselectall(OBACT, 0);
+
+ if(set==2 && (bone->flag & BONE_SELECTED)) {
+ bone->flag &= ~BONE_SELECTED;
+ } else {
+ bone->flag |= BONE_SELECTED;
+ arm->act_bone= bone;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, OBACT);
+ }
+ }
+ else {
+ Object *ob= OBACT;
+
+ if(ob && ob->data==arm) {
+ if (bone->flag & BONE_SELECTED) return 1;
+ }
+ }
+ return 0;
+}
+
+
+/* ebones only draw in editmode armature */
+static void tree_element_active_ebone__sel(bContext *C, Scene *scene, bArmature *arm, EditBone *ebone, short sel)
+{
+ if(sel) {
+ ebone->flag |= BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL;
+ arm->act_edbone= ebone;
+ // flush to parent?
+ if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag |= BONE_TIPSEL;
+ }
+ else {
+ ebone->flag &= ~(BONE_SELECTED|BONE_ROOTSEL|BONE_TIPSEL);
+ // flush to parent?
+ if(ebone->parent && (ebone->flag & BONE_CONNECTED)) ebone->parent->flag &= ~BONE_TIPSEL;
+ }
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_BONE_ACTIVE, scene->obedit);
+}
+static int tree_element_active_ebone(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ bArmature *arm= scene->obedit->data;
+ EditBone *ebone= te->directdata;
+
+ if(set==1) {
+ if(!(ebone->flag & BONE_HIDDEN_A)) {
+ ED_armature_deselect_all(scene->obedit, 0); // deselect
+ tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+ return 1;
+ }
+ }
+ else if (set==2) {
+ if(!(ebone->flag & BONE_HIDDEN_A)) {
+ if(!(ebone->flag & BONE_SELECTED)) {
+ tree_element_active_ebone__sel(C, scene, arm, ebone, TRUE);
+ return 1;
+ }
+ else {
+ /* entirely selected, so de-select */
+ tree_element_active_ebone__sel(C, scene, arm, ebone, FALSE);
+ return 0;
+ }
+ }
+ }
+ else if (ebone->flag & BONE_SELECTED) {
+ return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_modifier(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_MODIFIER, ob);
+
+// XXX extern_set_butspace(F9KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_psys(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_PARTICLE|NA_EDITED, ob);
+
+// XXX extern_set_butspace(F7KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_constraint(bContext *C, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ if(set) {
+ Object *ob= (Object *)tselem->id;
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_CONSTRAINT, ob);
+// XXX extern_set_butspace(F7KEY, 0);
+ }
+
+ return 0;
+}
+
+static int tree_element_active_text(bContext *UNUSED(C), Scene *UNUSED(scene), SpaceOops *UNUSED(soops), TreeElement *UNUSED(te), int UNUSED(set))
+{
+ // XXX removed
+ return 0;
+}
+
+static int tree_element_active_pose(bContext *C, Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *tselem, int set)
+{
+ Object *ob= (Object *)tselem->id;
+ Base *base= object_in_scene(ob, scene);
+
+ if(set) {
+ if(scene->obedit)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ if(ob->mode & OB_MODE_POSE)
+ ED_armature_exit_posemode(C, base);
+ else
+ ED_armature_enter_posemode(C, base);
+ }
+ else {
+ if(ob->mode & OB_MODE_POSE) return 1;
+ }
+ return 0;
+}
+
+static int tree_element_active_sequence(TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ Sequence *seq= (Sequence*) te->directdata;
+
+ if(set) {
+// XXX select_single_seq(seq, 1);
+ }
+ else {
+ if(seq->flag & SELECT)
+ return(1);
+ }
+ return(0);
+}
+
+static int tree_element_active_sequence_dup(Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ Sequence *seq, *p;
+ Editing *ed= seq_give_editing(scene, FALSE);
+
+ seq= (Sequence*)te->directdata;
+ if(set==0) {
+ if(seq->flag & SELECT)
+ return(1);
+ return(0);
+ }
+
+// XXX select_single_seq(seq, 1);
+ p= ed->seqbasep->first;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+// if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+// XXX select_single_seq(p, 0);
+ p= p->next;
+ }
+ return(0);
+}
+
+static int tree_element_active_keymap_item(bContext *UNUSED(C), TreeElement *te, TreeStoreElem *UNUSED(tselem), int set)
+{
+ wmKeyMapItem *kmi= te->directdata;
+
+ if(set==0) {
+ if(kmi->flag & KMI_INACTIVE) return 0;
+ return 1;
+ }
+ else {
+ kmi->flag ^= KMI_INACTIVE;
+ }
+ return 0;
+}
+
+/* ---------------------------------------------- */
+
+/* generic call for ID data check or make/check active in UI */
+int tree_element_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, int set)
+{
+
+ switch(te->idcode) {
+ /* Note: no ID_OB: objects are handled specially to allow multiple
+ selection. See do_outliner_item_activate. */
+ case ID_MA:
+ return tree_element_active_material(C, scene, soops, te, set);
+ case ID_WO:
+ return tree_element_active_world(C, scene, soops, te, set);
+ case ID_LA:
+ return tree_element_active_lamp(C, scene, soops, te, set);
+ case ID_TE:
+ return tree_element_active_texture(C, scene, soops, te, set);
+ case ID_TXT:
+ return tree_element_active_text(C, scene, soops, te, set);
+ case ID_CA:
+ return tree_element_active_camera(C, scene, soops, te, set);
+ }
+ return 0;
+}
+
+/* generic call for non-id data to make/check active in UI */
+/* Context can be NULL when set==0 */
+int tree_element_type_active(bContext *C, Scene *scene, SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, int set)
+{
+ switch(tselem->type) {
+ case TSE_DEFGROUP:
+ return tree_element_active_defgroup(C, scene, te, tselem, set);
+ case TSE_BONE:
+ return tree_element_active_bone(C, scene, te, tselem, set);
+ case TSE_EBONE:
+ return tree_element_active_ebone(C, scene, te, tselem, set);
+ case TSE_MODIFIER:
+ return tree_element_active_modifier(C, te, tselem, set);
+ case TSE_LINKED_OB:
+ if(set) tree_element_set_active_object(C, scene, soops, te, set);
+ else if(tselem->id==(ID *)OBACT) return 1;
+ break;
+ case TSE_LINKED_PSYS:
+ return tree_element_active_psys(C, scene, te, tselem, set);
+ case TSE_POSE_BASE:
+ return tree_element_active_pose(C, scene, te, tselem, set);
+ case TSE_POSE_CHANNEL:
+ return tree_element_active_posechannel(C, scene, te, tselem, set);
+ case TSE_CONSTRAINT:
+ return tree_element_active_constraint(C, te, tselem, set);
+ case TSE_R_LAYER:
+ return tree_element_active_renderlayer(C, te, tselem, set);
+ case TSE_POSEGRP:
+ return tree_element_active_posegroup(C, scene, te, tselem, set);
+ case TSE_SEQUENCE:
+ return tree_element_active_sequence(te, tselem, set);
+ case TSE_SEQUENCE_DUP:
+ return tree_element_active_sequence_dup(scene, te, tselem, set);
+ case TSE_KEYMAP_ITEM:
+ return tree_element_active_keymap_item(C, te, tselem, set);
+
+ }
+ return 0;
+}
+
+/* ================================================ */
+
+static int do_outliner_item_activate(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int extend, const float mval[2])
+{
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ TreeStoreElem *tselem= TREESTORE(te);
+ int openclose= 0;
+
+ /* open close icon */
+ if((te->flag & TE_ICONROW)==0) { // hidden icon, no open/close
+ if( mval[0]>te->xs && mval[0]<te->xs+UI_UNIT_X)
+ openclose= 1;
+ }
+
+ if(openclose) {
+ /* all below close/open? */
+ if(extend) {
+ tselem->flag &= ~TSE_CLOSED;
+ outliner_set_flag(soops, &te->subtree, TSE_CLOSED, !outliner_has_one_flag(soops, &te->subtree, TSE_CLOSED, 1));
+ }
+ else {
+ if(tselem->flag & TSE_CLOSED) tselem->flag &= ~TSE_CLOSED;
+ else tselem->flag |= TSE_CLOSED;
+
+ }
+
+ return 1;
+ }
+ /* name and first icon */
+ else if(mval[0]>te->xs+UI_UNIT_X && mval[0]<te->xend) {
+
+ /* always makes active object */
+ if(tselem->type!=TSE_SEQUENCE && tselem->type!=TSE_SEQ_STRIP && tselem->type!=TSE_SEQUENCE_DUP)
+ tree_element_set_active_object(C, scene, soops, te, 1 + (extend!=0 && tselem->type==0));
+
+ if(tselem->type==0) { // the lib blocks
+ /* editmode? */
+ if(te->idcode==ID_SCE) {
+ if(scene!=(Scene *)tselem->id) {
+ ED_screen_set_scene(C, (Scene *)tselem->id);
+ }
+ }
+ else if(te->idcode==ID_GR) {
+ Group *gr= (Group *)tselem->id;
+ GroupObject *gob;
+
+ if(extend) {
+ int sel= BA_SELECT;
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if(gob->ob->flag & SELECT) {
+ sel= BA_DESELECT;
+ break;
+ }
+ }
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ ED_base_object_select(object_in_scene(gob->ob, scene), sel);
+ }
+ }
+ else {
+ scene_deselect_all(scene);
+
+ for(gob= gr->gobject.first; gob; gob= gob->next) {
+ if((gob->ob->flag & SELECT) == 0)
+ ED_base_object_select(object_in_scene(gob->ob, scene), BA_SELECT);
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(ELEM5(te->idcode, ID_ME, ID_CU, ID_MB, ID_LT, ID_AR)) {
+ WM_operator_name_call(C, "OBJECT_OT_editmode_toggle", WM_OP_INVOKE_REGION_WIN, NULL);
+ } else { // rest of types
+ tree_element_active(C, scene, soops, te, 1);
+ }
+
+ }
+ else tree_element_type_active(C, scene, soops, te, tselem, 1+(extend!=0));
+
+ return 1;
+ }
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_item_activate(C, scene, ar, soops, te, extend, mval)) return 1;
+ }
+ return 0;
+}
+
+/* event can enterkey, then it opens/closes */
+static int outliner_item_activate(bContext *C, wmOperator *op, wmEvent *event)
+{
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+ int extend= RNA_boolean_get(op->ptr, "extend");
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ if(!ELEM3(soops->outlinevis, SO_DATABLOCKS, SO_USERDEF, SO_KEYMAP) && !(soops->flag & SO_HIDE_RESTRICTCOLS) && fmval[0] > ar->v2d.cur.xmax - OL_TOG_RESTRICT_VIEWX)
+ return OPERATOR_CANCELLED;
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_item_activate(C, scene, ar, soops, te, extend, fmval)) break;
+ }
+
+ if(te) {
+ ED_undo_push(C, "Outliner click event");
+ }
+ else {
+ short selecting= -1;
+ int row;
+
+ /* get row number - 100 here is just a dummy value since we don't need the column */
+ UI_view2d_listview_view_to_cell(&ar->v2d, 1000, UI_UNIT_Y, 0.0f, OL_Y_OFFSET,
+ fmval[0], fmval[1], NULL, &row);
+
+ /* select relevant row */
+ if(outliner_select(soops, &soops->tree, &row, &selecting)) {
+
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+
+ /* no need for undo push here, only changing outliner data which is
+ * scene level - campbell */
+ /* ED_undo_push(C, "Outliner selection event"); */
+ }
+ }
+
+ ED_region_tag_redraw(ar);
+
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_item_activate(wmOperatorType *ot)
+{
+ ot->name= "Activate Item";
+ ot->idname= "OUTLINER_OT_item_activate";
+ ot->description= "Handle mouse clicks to activate/select items";
+
+ ot->invoke= outliner_item_activate;
+
+ ot->poll= ED_operator_outliner_active;
+
+ RNA_def_boolean(ot->srna, "extend", 1, "Extend", "Extend selection for activation.");
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tools.c b/source/blender/editors/space_outliner/outliner_tools.c
new file mode 100644
index 00000000000..b3170f9cd1e
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tools.c
@@ -0,0 +1,1227 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tools.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ****************************************************** */
+
+/* ************ SELECTION OPERATIONS ********* */
+
+static void set_operation_types(SpaceOops *soops, ListBase *lb,
+ int *scenelevel,
+ int *objectlevel,
+ int *idlevel,
+ int *datalevel)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type) {
+ if(*datalevel==0)
+ *datalevel= tselem->type;
+ else if(*datalevel!=tselem->type)
+ *datalevel= -1;
+ }
+ else {
+ int idcode= GS(tselem->id->name);
+ switch(idcode) {
+ case ID_SCE:
+ *scenelevel= 1;
+ break;
+ case ID_OB:
+ *objectlevel= 1;
+ break;
+
+ case ID_ME: case ID_CU: case ID_MB: case ID_LT:
+ case ID_LA: case ID_AR: case ID_CA: case ID_SPK:
+ case ID_MA: case ID_TE: case ID_IP: case ID_IM:
+ case ID_SO: case ID_KE: case ID_WO: case ID_AC:
+ case ID_NLA: case ID_TXT: case ID_GR:
+ if(*idlevel==0) *idlevel= idcode;
+ else if(*idlevel!=idcode) *idlevel= -1;
+ break;
+ }
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ set_operation_types(soops, &te->subtree,
+ scenelevel, objectlevel, idlevel, datalevel);
+ }
+ }
+}
+
+static void unlink_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ /* just set action to NULL */
+ BKE_animdata_set_action(CTX_wm_reports(C), tsep->id, NULL);
+}
+
+static void unlink_material_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ Material **matar=NULL;
+ int a, totcol=0;
+
+ if( GS(tsep->id->name)==ID_OB) {
+ Object *ob= (Object *)tsep->id;
+ totcol= ob->totcol;
+ matar= ob->mat;
+ }
+ else if( GS(tsep->id->name)==ID_ME) {
+ Mesh *me= (Mesh *)tsep->id;
+ totcol= me->totcol;
+ matar= me->mat;
+ }
+ else if( GS(tsep->id->name)==ID_CU) {
+ Curve *cu= (Curve *)tsep->id;
+ totcol= cu->totcol;
+ matar= cu->mat;
+ }
+ else if( GS(tsep->id->name)==ID_MB) {
+ MetaBall *mb= (MetaBall *)tsep->id;
+ totcol= mb->totcol;
+ matar= mb->mat;
+ }
+
+ for(a=0; a<totcol; a++) {
+ if(a==te->index && matar[a]) {
+ matar[a]->id.us--;
+ matar[a]= NULL;
+ }
+ }
+}
+
+static void unlink_texture_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *te, TreeStoreElem *tsep, TreeStoreElem *UNUSED(tselem))
+{
+ MTex **mtex= NULL;
+ int a;
+
+ if( GS(tsep->id->name)==ID_MA) {
+ Material *ma= (Material *)tsep->id;
+ mtex= ma->mtex;
+ }
+ else if( GS(tsep->id->name)==ID_LA) {
+ Lamp *la= (Lamp *)tsep->id;
+ mtex= la->mtex;
+ }
+ else if( GS(tsep->id->name)==ID_WO) {
+ World *wrld= (World *)tsep->id;
+ mtex= wrld->mtex;
+ }
+ else return;
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(a==te->index && mtex[a]) {
+ if(mtex[a]->tex) {
+ mtex[a]->tex->id.us--;
+ mtex[a]->tex= NULL;
+ }
+ }
+ }
+}
+
+static void unlink_group_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+
+ if(tsep) {
+ if( GS(tsep->id->name)==ID_OB) {
+ Object *ob= (Object *)tsep->id;
+ ob->dup_group= NULL;
+ }
+ }
+ else {
+ unlink_group(group);
+ }
+}
+
+static void outliner_do_libdata_operation(bContext *C, Scene *scene, SpaceOops *soops, ListBase *lb,
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==0) {
+ TreeStoreElem *tsep= TREESTORE(te->parent);
+ operation_cb(C, scene, te, tsep, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_libdata_operation(C, scene, soops, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* */
+
+static void object_select_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base && ((base->object->restrictflag & OB_RESTRICT_VIEW)==0)) {
+ base->flag |= SELECT;
+ base->object->flag |= SELECT;
+ }
+}
+
+static void object_deselect_cb(bContext *UNUSED(C), Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL) base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ base->flag &= ~SELECT;
+ base->object->flag &= ~SELECT;
+ }
+}
+
+static void object_delete_cb(bContext *C, Scene *scene, TreeElement *te, TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Base *base= (Base *)te->directdata;
+
+ if(base==NULL)
+ base= object_in_scene((Object *)tselem->id, scene);
+ if(base) {
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+
+ // check also library later
+ if(scene->obedit==base->object)
+ ED_object_exit_editmode(C, EM_FREEDATA|EM_FREEUNDO|EM_WAITCURSOR|EM_DO_UNDO);
+
+ ED_base_object_free_and_unlink(CTX_data_main(C), scene, base);
+ te->directdata= NULL;
+ tselem->id= NULL;
+
+ /* XXX: tree management normally happens from draw_outliner(), but when
+ you're clicking to fast on Delete object from context menu in
+ outliner several mouse events can be handled in one cycle without
+ handling notifiers/redraw which leads to deleting the same object twice.
+ cleanup tree here to prevent such cases. */
+ outliner_cleanup_tree(soops);
+ }
+
+}
+
+static void id_local_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ if (tselem->id->lib && (tselem->id->flag & LIB_EXTERN)) {
+ tselem->id->lib= NULL;
+ tselem->id->flag= LIB_LOCAL;
+ new_id(NULL, tselem->id, NULL);
+ }
+}
+
+static void id_fake_user_set_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if ((id) && ((id->flag & LIB_FAKEUSER) == 0)) {
+ id->flag |= LIB_FAKEUSER;
+ id_us_plus(id);
+ }
+}
+
+static void id_fake_user_clear_cb(bContext *UNUSED(C), Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if ((id) && (id->flag & LIB_FAKEUSER)) {
+ id->flag &= ~LIB_FAKEUSER;
+ id_us_min(id);
+ }
+}
+
+static void singleuser_action_cb(bContext *C, Scene *UNUSED(scene), TreeElement *UNUSED(te), TreeStoreElem *tsep, TreeStoreElem *tselem)
+{
+ ID *id = tselem->id;
+
+ if (id) {
+ IdAdtTemplate *iat = (IdAdtTemplate *)tsep->id;
+ PointerRNA ptr = {{0}};
+ PropertyRNA *prop;
+
+ RNA_pointer_create(&iat->id, &RNA_AnimData, iat->adt, &ptr);
+ prop = RNA_struct_find_property(&ptr, "action");
+
+ id_single_user(C, id, &ptr, prop);
+ }
+}
+
+static void group_linkobs2scene_cb(bContext *UNUSED(C), Scene *scene, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tsep), TreeStoreElem *tselem)
+{
+ Group *group= (Group *)tselem->id;
+ GroupObject *gob;
+ Base *base;
+
+ for(gob=group->gobject.first; gob; gob=gob->next) {
+ base= object_in_scene(gob->ob, scene);
+ if (base) {
+ base->object->flag |= SELECT;
+ base->flag |= SELECT;
+ } else {
+ /* link to scene */
+ base= MEM_callocN( sizeof(Base), "add_base");
+ BLI_addhead(&scene->base, base);
+ base->lay= (1<<20)-1; /*v3d->lay;*/ /* would be nice to use the 3d layer but the include's not here */
+ gob->ob->flag |= SELECT;
+ base->flag = gob->ob->flag;
+ base->object= gob->ob;
+ id_lib_extern((ID *)gob->ob); /* incase these are from a linked group */
+ }
+ }
+}
+
+void outliner_do_object_operation(bContext *C, Scene *scene_act, SpaceOops *soops, ListBase *lb,
+ void (*operation_cb)(bContext *C, Scene *scene, TreeElement *, TreeStoreElem *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ // when objects selected in other scenes... dunno if that should be allowed
+ Scene *scene_owner= (Scene *)outliner_search_back(soops, te, ID_SCE);
+ if(scene_owner && scene_act != scene_owner) {
+ ED_screen_set_scene(C, scene_owner);
+ }
+ /* important to use 'scene_owner' not scene_act else deleting objects can crash.
+ * only use 'scene_act' when 'scene_owner' is NULL, which can happen when the
+ * outliner isnt showing scenes: Visible Layer draw mode for eg. */
+ operation_cb(C, scene_owner ? scene_owner : scene_act, te, NULL, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_object_operation(C, scene_act, soops, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* ******************************************** */
+
+static void unlinkact_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ /* just set action to NULL */
+ BKE_animdata_set_action(NULL, tselem->id, NULL);
+}
+
+static void cleardrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+
+ /* just free drivers - stored as a list of F-Curves */
+ free_fcurves(&iat->adt->drivers);
+}
+
+static void refreshdrivers_animdata_cb(int UNUSED(event), TreeElement *UNUSED(te), TreeStoreElem *tselem)
+{
+ IdAdtTemplate *iat = (IdAdtTemplate *)tselem->id;
+ FCurve *fcu;
+
+ /* loop over drivers, performing refresh (i.e. check graph_buttons.c and rna_fcurve.c for details) */
+ for (fcu = iat->adt->drivers.first; fcu; fcu= fcu->next) {
+ fcu->flag &= ~FCURVE_DISABLED;
+
+ if (fcu->driver)
+ fcu->driver->flag &= ~DRIVER_FLAG_INVALID;
+ }
+}
+
+/* --------------------------------- */
+
+static void pchan_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ bPoseChannel *pchan= (bPoseChannel *)te->directdata;
+
+ if(event==1)
+ pchan->bone->flag |= BONE_SELECTED;
+ else if(event==2)
+ pchan->bone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ pchan->bone->flag |= BONE_HIDDEN_P;
+ pchan->bone->flag &= ~BONE_SELECTED;
+ }
+ else if(event==4)
+ pchan->bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void bone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ Bone *bone= (Bone *)te->directdata;
+
+ if(event==1)
+ bone->flag |= BONE_SELECTED;
+ else if(event==2)
+ bone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ bone->flag |= BONE_HIDDEN_P;
+ bone->flag &= ~BONE_SELECTED;
+ }
+ else if(event==4)
+ bone->flag &= ~BONE_HIDDEN_P;
+}
+
+static void ebone_cb(int event, TreeElement *te, TreeStoreElem *UNUSED(tselem))
+{
+ EditBone *ebone= (EditBone *)te->directdata;
+
+ if(event==1)
+ ebone->flag |= BONE_SELECTED;
+ else if(event==2)
+ ebone->flag &= ~BONE_SELECTED;
+ else if(event==3) {
+ ebone->flag |= BONE_HIDDEN_A;
+ ebone->flag &= ~BONE_SELECTED|BONE_TIPSEL|BONE_ROOTSEL;
+ }
+ else if(event==4)
+ ebone->flag &= ~BONE_HIDDEN_A;
+}
+
+static void sequence_cb(int event, TreeElement *UNUSED(te), TreeStoreElem *UNUSED(tselem))
+{
+// Sequence *seq= (Sequence*) te->directdata;
+ if(event==1) {
+// XXX select_single_seq(seq, 1);
+ }
+}
+
+static void outliner_do_data_operation(SpaceOops *soops, int type, int event, ListBase *lb,
+ void (*operation_cb)(int, TreeElement *, TreeStoreElem *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for(te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->flag & TSE_SELECTED) {
+ if(tselem->type==type) {
+ operation_cb(event, te, tselem);
+ }
+ }
+ if((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_data_operation(soops, type, event, &te->subtree, operation_cb);
+ }
+ }
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_object_op_types[] = {
+ {1, "SELECT", 0, "Select", ""},
+ {2, "DESELECT", 0, "Deselect", ""},
+ {4, "DELETE", 0, "Delete", ""},
+ {6, "TOGVIS", 0, "Toggle Visible", ""},
+ {7, "TOGSEL", 0, "Toggle Selectable", ""},
+ {8, "TOGREN", 0, "Toggle Renderable", ""},
+ {9, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_object_operation_exec(bContext *C, wmOperator *op)
+{
+ Main *bmain= CTX_data_main(C);
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int event;
+ const char *str= NULL;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ if(event==1) {
+ Scene *sce= scene; // to be able to delete, scenes are set...
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_select_cb);
+ if(scene != sce) {
+ ED_screen_set_scene(C, sce);
+ }
+
+ str= "Select Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==2) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_deselect_cb);
+ str= "Deselect Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==4) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_delete_cb);
+ DAG_scene_sort(bmain, scene);
+ str= "Delete Objects";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_ACTIVE, scene);
+ }
+ else if(event==5) { /* disabled, see above enum (ton) */
+ outliner_do_object_operation(C, scene, soops, &soops->tree, id_local_cb);
+ str= "Localized Objects";
+ }
+ else if(event==6) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_visibility_cb);
+ str= "Toggle Visibility";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_VISIBLE, scene);
+ }
+ else if(event==7) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_selectability_cb);
+ str= "Toggle Selectability";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
+ }
+ else if(event==8) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, object_toggle_renderability_cb);
+ str= "Toggle Renderability";
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_RENDER, scene);
+ }
+ else if(event==9) {
+ outliner_do_object_operation(C, scene, soops, &soops->tree, item_rename_cb);
+ str= "Rename Object";
+ }
+
+ ED_undo_push(C, str);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_object_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Object Operation";
+ ot->idname= "OUTLINER_OT_object_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_object_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_object_op_types, 0, "Object Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_group_op_types[] = {
+ {1, "UNLINK", 0, "Unlink", ""},
+ {2, "LOCAL", 0, "Make Local", ""},
+ {3, "LINK", 0, "Link Group Objects to Scene", ""},
+ {4, "TOGVIS", 0, "Toggle Visible", ""},
+ {5, "TOGSEL", 0, "Toggle Selectable", ""},
+ {6, "TOGREN", 0, "Toggle Renderable", ""},
+ {7, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_group_operation_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int event;
+ const char *str= NULL;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ if(event==1) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_group_cb);
+ str= "Unlink group";
+ }
+ else if(event==2) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+ str= "Localized Data";
+ }
+ else if(event==3) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_linkobs2scene_cb);
+ str= "Link Group Objects to Scene";
+ }
+ else if(event==4) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_visibility_cb);
+ str= "Toggle Visibility";
+ }
+ else if(event==5) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_selectability_cb);
+ str= "Toggle Selectability";
+ }
+ else if(event==6) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, group_toggle_renderability_cb);
+ str= "Toggle Renderability";
+ }
+ else if(event==7) {
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb);
+ str= "Rename";
+ }
+
+
+ ED_undo_push(C, str);
+ WM_event_add_notifier(C, NC_GROUP, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_group_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Group Operation";
+ ot->idname= "OUTLINER_OT_group_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_group_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_group_op_types, 0, "Group Operation", "");
+}
+
+/* **************************************** */
+
+typedef enum eOutlinerIdOpTypes {
+ OUTLINER_IDOP_INVALID = 0,
+
+ OUTLINER_IDOP_UNLINK,
+ OUTLINER_IDOP_LOCAL,
+ OUTLINER_IDOP_SINGLE,
+
+ OUTLINER_IDOP_FAKE_ADD,
+ OUTLINER_IDOP_FAKE_CLEAR,
+ OUTLINER_IDOP_RENAME
+} eOutlinerIdOpTypes;
+
+// TODO: implement support for changing the ID-block used
+static EnumPropertyItem prop_id_op_types[] = {
+ {OUTLINER_IDOP_UNLINK, "UNLINK", 0, "Unlink", ""},
+ {OUTLINER_IDOP_LOCAL, "LOCAL", 0, "Make Local", ""},
+ {OUTLINER_IDOP_SINGLE, "SINGLE", 0, "Make Single User", ""},
+ {OUTLINER_IDOP_FAKE_ADD, "ADD_FAKE", 0, "Add Fake User", "Ensure datablock gets saved even if it isn't in use (e.g. for motion and material libraries)"},
+ {OUTLINER_IDOP_FAKE_CLEAR, "CLEAR_FAKE", 0, "Clear Fake User", ""},
+ {OUTLINER_IDOP_RENAME, "RENAME", 0, "Rename", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_id_operation_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ eOutlinerIdOpTypes event;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ event= RNA_enum_get(op->ptr, "type");
+
+ switch (event) {
+ case OUTLINER_IDOP_UNLINK:
+ {
+ /* unlink datablock from its parent */
+ switch (idlevel) {
+ case ID_AC:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_action_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Unlink action");
+ break;
+ case ID_MA:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_material_cb);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+ ED_undo_push(C, "Unlink material");
+ break;
+ case ID_TE:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, unlink_texture_cb);
+
+ WM_event_add_notifier(C, NC_OBJECT|ND_OB_SHADING, NULL);
+ ED_undo_push(C, "Unlink texture");
+ break;
+ default:
+ BKE_report(op->reports, RPT_WARNING, "Not Yet");
+ break;
+ }
+ }
+ break;
+
+ case OUTLINER_IDOP_LOCAL:
+ {
+ /* make local */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_local_cb);
+ ED_undo_push(C, "Localized Data");
+ }
+ break;
+
+ case OUTLINER_IDOP_SINGLE:
+ {
+ /* make single user */
+ switch (idlevel) {
+ case ID_AC:
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, singleuser_action_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Single-User Action");
+ break;
+
+ default:
+ BKE_report(op->reports, RPT_WARNING, "Not Yet");
+ break;
+ }
+ }
+ break;
+
+ case OUTLINER_IDOP_FAKE_ADD:
+ {
+ /* set fake user */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_set_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Add Fake User");
+ }
+ break;
+
+ case OUTLINER_IDOP_FAKE_CLEAR:
+ {
+ /* clear fake user */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, id_fake_user_clear_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Clear Fake User");
+ }
+ break;
+ case OUTLINER_IDOP_RENAME:
+ /* rename */
+ outliner_do_libdata_operation(C, scene, soops, &soops->tree, item_rename_cb);
+
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+ ED_undo_push(C, "Rename");
+
+ break;
+
+ default:
+ // invalid - unhandled
+ break;
+ }
+
+ /* wrong notifier still... */
+ WM_event_add_notifier(C, NC_ID|NA_EDITED, NULL);
+
+ // XXX: this is just so that outliner is always up to date
+ WM_event_add_notifier(C, NC_SPACE|ND_SPACE_OUTLINER, NULL);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_id_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner ID data Operation";
+ ot->idname= "OUTLINER_OT_id_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_id_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_id_op_types, 0, "ID data Operation", "");
+}
+
+/* **************************************** */
+
+static void outliner_do_id_set_operation(SpaceOops *soops, int type, ListBase *lb, ID *newid,
+ void (*operation_cb)(TreeElement *, TreeStoreElem *, TreeStoreElem *, ID *))
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+
+ for (te=lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if (tselem->flag & TSE_SELECTED) {
+ if(tselem->type==type) {
+ TreeStoreElem *tsep = TREESTORE(te->parent);
+ operation_cb(te, tselem, tsep, newid);
+ }
+ }
+ if ((tselem->flag & TSE_CLOSED)==0) {
+ outliner_do_id_set_operation(soops, type, &te->subtree, newid, operation_cb);
+ }
+ }
+}
+
+/* ------------------------------------------ */
+
+static void actionset_id_cb(TreeElement *UNUSED(te), TreeStoreElem *tselem, TreeStoreElem *tsep, ID *actId)
+{
+ bAction *act = (bAction *)actId;
+
+ if (tselem->type == TSE_ANIM_DATA) {
+ /* "animation" entries - action is child of this */
+ BKE_animdata_set_action(NULL, tselem->id, act);
+ }
+ /* TODO: if any other "expander" channels which own actions need to support this menu,
+ * add: tselem->type = ...
+ */
+ else if (tsep && (tsep->type == TSE_ANIM_DATA)) {
+ /* "animation" entries case again */
+ BKE_animdata_set_action(NULL, tsep->id, act);
+ }
+ // TODO: other cases not supported yet
+}
+
+static int outliner_action_set_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+
+ bAction *act;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ /* get action to use */
+ act= BLI_findlink(&CTX_data_main(C)->action, RNA_enum_get(op->ptr, "action"));
+
+ if (act == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "No valid Action to add.");
+ return OPERATOR_CANCELLED;
+ }
+ else if (act->idroot == 0) {
+ /* hopefully in this case (i.e. library of userless actions), the user knows what they're doing... */
+ BKE_reportf(op->reports, RPT_WARNING,
+ "Action '%s' does not specify what datablocks it can be used on. Try setting the 'ID Root Type' setting from the Datablocks Editor for this Action to avoid future problems",
+ act->id.name+2);
+ }
+
+ /* perform action if valid channel */
+ if (datalevel == TSE_ANIM_DATA)
+ outliner_do_id_set_operation(soops, datalevel, &soops->tree, (ID*)act, actionset_id_cb);
+ else if (idlevel == ID_AC)
+ outliner_do_id_set_operation(soops, idlevel, &soops->tree, (ID*)act, actionset_id_cb);
+ else
+ return OPERATOR_CANCELLED;
+
+ /* set notifier that things have changed */
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Set action");
+
+ /* done */
+ return OPERATOR_FINISHED;
+}
+
+void OUTLINER_OT_action_set(wmOperatorType *ot)
+{
+ PropertyRNA *prop;
+
+ /* identifiers */
+ ot->name= "Outliner Set Action";
+ ot->idname= "OUTLINER_OT_action_set";
+ ot->description= "Change the active action used";
+
+ /* api callbacks */
+ ot->invoke= WM_enum_search_invoke;
+ ot->exec= outliner_action_set_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ /* flags */
+ ot->flag= 0;
+
+ /* props */
+ // TODO: this would be nicer as an ID-pointer...
+ prop= RNA_def_enum(ot->srna, "action", DummyRNA_NULL_items, 0, "Action", "");
+ RNA_def_enum_funcs(prop, RNA_action_itemf);
+ ot->prop= prop;
+}
+
+/* **************************************** */
+
+typedef enum eOutliner_AnimDataOps {
+ OUTLINER_ANIMOP_INVALID = 0,
+
+ OUTLINER_ANIMOP_SET_ACT,
+ OUTLINER_ANIMOP_CLEAR_ACT,
+
+ OUTLINER_ANIMOP_REFRESH_DRV,
+ OUTLINER_ANIMOP_CLEAR_DRV
+
+ //OUTLINER_ANIMOP_COPY_DRIVERS,
+ //OUTLINER_ANIMOP_PASTE_DRIVERS
+} eOutliner_AnimDataOps;
+
+static EnumPropertyItem prop_animdata_op_types[] = {
+ {OUTLINER_ANIMOP_SET_ACT, "SET_ACT", 0, "Set Action", ""},
+ {OUTLINER_ANIMOP_CLEAR_ACT, "CLEAR_ACT", 0, "Unlink Action", ""},
+ {OUTLINER_ANIMOP_REFRESH_DRV, "REFRESH_DRIVERS", 0, "Refresh Drivers", ""},
+ //{OUTLINER_ANIMOP_COPY_DRIVERS, "COPY_DRIVERS", 0, "Copy Drivers", ""},
+ //{OUTLINER_ANIMOP_PASTE_DRIVERS, "PASTE_DRIVERS", 0, "Paste Drivers", ""},
+ {OUTLINER_ANIMOP_CLEAR_DRV, "CLEAR_DRIVERS", 0, "Clear Drivers", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_animdata_operation_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ eOutliner_AnimDataOps event;
+ short updateDeps = 0;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if (datalevel != TSE_ANIM_DATA)
+ return OPERATOR_CANCELLED;
+
+ /* perform the core operation */
+ switch (event) {
+ case OUTLINER_ANIMOP_SET_ACT:
+ /* delegate once again... */
+ WM_operator_name_call(C, "OUTLINER_OT_action_set", WM_OP_INVOKE_REGION_WIN, NULL);
+ break;
+
+ case OUTLINER_ANIMOP_CLEAR_ACT:
+ /* clear active action - using standard rules */
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, unlinkact_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_NLA_ACTCHANGE, NULL);
+ ED_undo_push(C, "Unlink action");
+ break;
+
+ case OUTLINER_ANIMOP_REFRESH_DRV:
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, refreshdrivers_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+ //ED_undo_push(C, "Refresh Drivers"); /* no undo needed - shouldn't have any impact? */
+ updateDeps = 1;
+ break;
+
+ case OUTLINER_ANIMOP_CLEAR_DRV:
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, cleardrivers_animdata_cb);
+
+ WM_event_add_notifier(C, NC_ANIMATION|ND_ANIMCHAN, NULL);
+ ED_undo_push(C, "Clear Drivers");
+ updateDeps = 1;
+ break;
+
+ default: // invalid
+ break;
+ }
+
+ /* update dependencies */
+ if (updateDeps) {
+ Main *bmain = CTX_data_main(C);
+ Scene *scene = CTX_data_scene(C);
+
+ /* rebuild depsgraph for the new deps */
+ DAG_scene_sort(bmain, scene);
+
+ /* force an update of depsgraph */
+ DAG_ids_flush_update(bmain, 0);
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_animdata_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Animation Data Operation";
+ ot->idname= "OUTLINER_OT_animdata_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_animdata_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_animdata_op_types, 0, "Animation Operation", "");
+}
+
+/* **************************************** */
+
+static EnumPropertyItem prop_data_op_types[] = {
+ {1, "SELECT", 0, "Select", ""},
+ {2, "DESELECT", 0, "Deselect", ""},
+ {3, "HIDE", 0, "Hide", ""},
+ {4, "UNHIDE", 0, "Unhide", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int outliner_data_operation_exec(bContext *C, wmOperator *op)
+{
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ int event;
+
+ /* check for invalid states */
+ if (soops == NULL)
+ return OPERATOR_CANCELLED;
+
+ event= RNA_enum_get(op->ptr, "type");
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if(datalevel==TSE_POSE_CHANNEL) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, pchan_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "PoseChannel operation");
+ }
+ }
+ else if(datalevel==TSE_BONE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, bone_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "Bone operation");
+ }
+ }
+ else if(datalevel==TSE_EBONE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, ebone_cb);
+ WM_event_add_notifier(C, NC_OBJECT|ND_POSE, NULL);
+ ED_undo_push(C, "EditBone operation");
+ }
+ }
+ else if(datalevel==TSE_SEQUENCE) {
+ if(event>0) {
+ outliner_do_data_operation(soops, datalevel, event, &soops->tree, sequence_cb);
+ }
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_data_operation(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Outliner Data Operation";
+ ot->idname= "OUTLINER_OT_data_operation";
+ ot->description= "";
+
+ /* callbacks */
+ ot->invoke= WM_menu_invoke;
+ ot->exec= outliner_data_operation_exec;
+ ot->poll= ED_operator_outliner_active;
+
+ ot->flag= 0;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", prop_data_op_types, 0, "Data Operation", "");
+}
+
+
+/* ******************** */
+
+
+static int do_outliner_operation_event(bContext *C, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, wmEvent *event, const float mval[2])
+{
+ ReportList *reports = CTX_wm_reports(C); // XXX...
+
+ if(mval[1]>te->ys && mval[1]<te->ys+UI_UNIT_Y) {
+ int scenelevel=0, objectlevel=0, idlevel=0, datalevel=0;
+ TreeStoreElem *tselem= TREESTORE(te);
+
+ /* select object that's clicked on and popup context menu */
+ if (!(tselem->flag & TSE_SELECTED)) {
+
+ if ( outliner_has_one_flag(soops, &soops->tree, TSE_SELECTED, 1) )
+ outliner_set_flag(soops, &soops->tree, TSE_SELECTED, 0);
+
+ tselem->flag |= TSE_SELECTED;
+ /* redraw, same as outliner_select function */
+ soops->storeflag |= SO_TREESTORE_REDRAW;
+ ED_region_tag_redraw(ar);
+ }
+
+ set_operation_types(soops, &soops->tree, &scenelevel, &objectlevel, &idlevel, &datalevel);
+
+ if(scenelevel) {
+ //if(objectlevel || datalevel || idlevel) error("Mixed selection");
+ //else pupmenu("Scene Operations%t|Delete");
+ }
+ else if(objectlevel) {
+ WM_operator_name_call(C, "OUTLINER_OT_object_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ else if(idlevel) {
+ if(idlevel==-1 || datalevel) BKE_report(reports, RPT_WARNING, "Mixed selection");
+ else {
+ if (idlevel==ID_GR)
+ WM_operator_name_call(C, "OUTLINER_OT_group_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ else
+ WM_operator_name_call(C, "OUTLINER_OT_id_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ }
+ else if(datalevel) {
+ if(datalevel==-1) BKE_report(reports, RPT_WARNING, "Mixed selection");
+ else {
+ if (datalevel == TSE_ANIM_DATA)
+ WM_operator_name_call(C, "OUTLINER_OT_animdata_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ else if (datalevel == TSE_DRIVER_BASE)
+ /* do nothing... no special ops needed yet */;
+ else
+ WM_operator_name_call(C, "OUTLINER_OT_data_operation", WM_OP_INVOKE_REGION_WIN, NULL);
+ }
+ }
+
+ return 1;
+ }
+
+ for(te= te->subtree.first; te; te= te->next) {
+ if(do_outliner_operation_event(C, scene, ar, soops, te, event, mval))
+ return 1;
+ }
+ return 0;
+}
+
+
+static int outliner_operation(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ Scene *scene= CTX_data_scene(C);
+ ARegion *ar= CTX_wm_region(C);
+ SpaceOops *soops= CTX_wm_space_outliner(C);
+ TreeElement *te;
+ float fmval[2];
+
+ UI_view2d_region_to_view(&ar->v2d, event->mval[0], event->mval[1], fmval, fmval+1);
+
+ for(te= soops->tree.first; te; te= te->next) {
+ if(do_outliner_operation_event(C, scene, ar, soops, te, event, fmval)) break;
+ }
+
+ return OPERATOR_FINISHED;
+}
+
+/* Menu only! Calls other operators */
+void OUTLINER_OT_operation(wmOperatorType *ot)
+{
+ ot->name= "Execute Operation";
+ ot->idname= "OUTLINER_OT_operation";
+ ot->description= "Context menu for item operations";
+
+ ot->invoke= outliner_operation;
+
+ ot->poll= ED_operator_outliner_active;
+}
+
+/* ****************************************************** */
diff --git a/source/blender/editors/space_outliner/outliner_tree.c b/source/blender/editors/space_outliner/outliner_tree.c
new file mode 100644
index 00000000000..8904dcc360f
--- /dev/null
+++ b/source/blender/editors/space_outliner/outliner_tree.c
@@ -0,0 +1,1577 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Joshua Leung
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/editors/space_outliner/outliner_tree.c
+ * \ingroup spoutliner
+ */
+
+#include <math.h>
+#include <string.h>
+#include <stdlib.h>
+#include <stddef.h>
+
+#include "MEM_guardedalloc.h"
+
+#include "DNA_anim_types.h"
+#include "DNA_armature_types.h"
+#include "DNA_constraint_types.h"
+#include "DNA_camera_types.h"
+#include "DNA_group_types.h"
+#include "DNA_key_types.h"
+#include "DNA_lamp_types.h"
+#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
+#include "DNA_meta_types.h"
+#include "DNA_particle_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_world_types.h"
+#include "DNA_sequence_types.h"
+#include "DNA_speaker_types.h"
+#include "DNA_object_types.h"
+
+#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
+
+#if defined WIN32 && !defined _LIBC
+# include "BLI_fnmatch.h" /* use fnmatch included in blenlib */
+#else
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+# include <fnmatch.h>
+#endif
+
+
+#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_deform.h"
+#include "BKE_depsgraph.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_group.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BKE_modifier.h"
+#include "BKE_report.h"
+#include "BKE_scene.h"
+#include "BKE_sequencer.h"
+
+#include "ED_armature.h"
+#include "ED_object.h"
+#include "ED_screen.h"
+#include "ED_util.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+#include "BIF_gl.h"
+#include "BIF_glutil.h"
+
+#include "UI_interface.h"
+#include "UI_interface_icons.h"
+#include "UI_resources.h"
+#include "UI_view2d.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "outliner_intern.h"
+
+/* ********************************************************* */
+/* Defines */
+
+#define TS_CHUNK 128
+
+/* ********************************************************* */
+/* Persistant Data */
+
+static void outliner_storage_cleanup(SpaceOops *soops)
+{
+ TreeStore *ts= soops->treestore;
+
+ if(ts) {
+ TreeStoreElem *tselem;
+ int a, unused= 0;
+
+ /* each element used once, for ID blocks with more users to have each a treestore */
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) tselem->used= 0;
+
+ /* cleanup only after reading file or undo step, and always for
+ * RNA datablocks view in order to save memory */
+ if(soops->storeflag & SO_TREESTORE_CLEANUP) {
+
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id==NULL) unused++;
+ }
+
+ if(unused) {
+ if(ts->usedelem == unused) {
+ MEM_freeN(ts->data);
+ ts->data= NULL;
+ ts->usedelem= ts->totelem= 0;
+ }
+ else {
+ TreeStoreElem *tsnewar, *tsnew;
+
+ tsnew=tsnewar= MEM_mallocN((ts->usedelem-unused)*sizeof(TreeStoreElem), "new tselem");
+ for(a=0, tselem= ts->data; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id) {
+ *tsnew= *tselem;
+ tsnew++;
+ }
+ }
+ MEM_freeN(ts->data);
+ ts->data= tsnewar;
+ ts->usedelem-= unused;
+ ts->totelem= ts->usedelem;
+ }
+ }
+ }
+ }
+}
+
+static void check_persistant(SpaceOops *soops, TreeElement *te, ID *id, short type, short nr)
+{
+ TreeStore *ts;
+ TreeStoreElem *tselem;
+ int a;
+
+ /* case 1; no TreeStore */
+ if(soops->treestore==NULL) {
+ soops->treestore= MEM_callocN(sizeof(TreeStore), "treestore");
+ }
+ ts= soops->treestore;
+
+ /* check if 'te' is in treestore */
+ tselem= ts->data;
+ for(a=0; a<ts->usedelem; a++, tselem++) {
+ if(tselem->id==id && tselem->used==0) {
+ if((type==0 && tselem->type==0) ||(tselem->type==type && tselem->nr==nr)) {
+ te->store_index= a;
+ tselem->used= 1;
+ return;
+ }
+ }
+ }
+
+ /* add 1 element to treestore */
+ if(ts->usedelem==ts->totelem) {
+ TreeStoreElem *tsnew;
+
+ tsnew= MEM_mallocN((ts->totelem+TS_CHUNK)*sizeof(TreeStoreElem), "treestore data");
+ if(ts->data) {
+ memcpy(tsnew, ts->data, ts->totelem*sizeof(TreeStoreElem));
+ MEM_freeN(ts->data);
+ }
+ ts->data= tsnew;
+ ts->totelem+= TS_CHUNK;
+ }
+
+ tselem= ts->data+ts->usedelem;
+
+ tselem->type= type;
+ if(type) tselem->nr= nr; // we're picky! :)
+ else tselem->nr= 0;
+ tselem->id= id;
+ tselem->used = 0;
+ tselem->flag= TSE_CLOSED;
+ te->store_index= ts->usedelem;
+
+ ts->usedelem++;
+}
+
+/* ********************************************************* */
+/* Tree Management */
+
+void outliner_free_tree(ListBase *lb)
+{
+ while(lb->first) {
+ TreeElement *te= lb->first;
+
+ outliner_free_tree(&te->subtree);
+ BLI_remlink(lb, te);
+
+ if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+ MEM_freeN(te);
+ }
+}
+
+void outliner_cleanup_tree(SpaceOops *soops)
+{
+ outliner_free_tree(&soops->tree);
+ outliner_storage_cleanup(soops);
+}
+
+/* Find ith item from the treestore */
+static TreeElement *outliner_find_tree_element(ListBase *lb, int store_index)
+{
+ TreeElement *te= lb->first, *tes;
+ while(te) {
+ if(te->store_index==store_index) return te;
+ tes= outliner_find_tree_element(&te->subtree, store_index);
+ if(tes) return tes;
+ te= te->next;
+ }
+ return NULL;
+}
+
+/* tse is not in the treestore, we use its contents to find a match */
+TreeElement *outliner_find_tse(SpaceOops *soops, TreeStoreElem *tse)
+{
+ TreeStore *ts= soops->treestore;
+ TreeStoreElem *tselem;
+ int a;
+
+ if(tse->id==NULL) return NULL;
+
+ /* check if 'tse' is in treestore */
+ tselem= ts->data;
+ for(a=0; a<ts->usedelem; a++, tselem++) {
+ if((tse->type==0 && tselem->type==0) || (tselem->type==tse->type && tselem->nr==tse->nr)) {
+ if(tselem->id==tse->id) {
+ break;
+ }
+ }
+ }
+ if(tselem)
+ return outliner_find_tree_element(&soops->tree, a);
+
+ return NULL;
+}
+
+/* Find treestore that refers to given ID */
+TreeElement *outliner_find_id(SpaceOops *soops, ListBase *lb, ID *id)
+{
+ TreeElement *te, *tes;
+ TreeStoreElem *tselem;
+
+ for(te= lb->first; te; te= te->next) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0) {
+ if(tselem->id==id) return te;
+ /* only deeper on scene or object */
+ if( te->idcode==ID_OB || te->idcode==ID_SCE || (soops->outlinevis == SO_GROUPS && te->idcode==ID_GR)) {
+ tes= outliner_find_id(soops, &te->subtree, id);
+ if(tes) return tes;
+ }
+ }
+ }
+ return NULL;
+}
+
+
+ID *outliner_search_back(SpaceOops *soops, TreeElement *te, short idcode)
+{
+ TreeStoreElem *tselem;
+ te= te->parent;
+
+ while(te) {
+ tselem= TREESTORE(te);
+ if(tselem->type==0 && te->idcode==idcode) return tselem->id;
+ te= te->parent;
+ }
+ return NULL;
+}
+
+
+/* ********************************************************* */
+
+/* Prototype, see functions below */
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
+ TreeElement *parent, short type, short index);
+
+/* -------------------------------------------------------- */
+
+/* special handling of hierarchical non-lib data */
+static void outliner_add_bone(SpaceOops *soops, ListBase *lb, ID *id, Bone *curBone,
+ TreeElement *parent, int *a)
+{
+ TreeElement *te= outliner_add_element(soops, lb, id, parent, TSE_BONE, *a);
+
+ (*a)++;
+ te->name= curBone->name;
+ te->directdata= curBone;
+
+ for(curBone= curBone->childbase.first; curBone; curBone=curBone->next) {
+ outliner_add_bone(soops, &te->subtree, id, curBone, te, a);
+ }
+}
+
+/* -------------------------------------------------------- */
+
+#define LOG2I(x) (int)(log(x)/M_LN2)
+
+static void outliner_add_passes(SpaceOops *soops, TreeElement *tenla, ID *id, SceneRenderLayer *srl)
+{
+ TreeStoreElem *tselem = NULL;
+ TreeElement *te = NULL;
+
+ /* log stuff is to convert bitflags (powers of 2) to small integers,
+ * in order to not overflow short tselem->nr */
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_COMBINED));
+ te->name= "Combined";
+ te->directdata= &srl->passflag;
+
+ /* save cpu cycles, but we add the first to invoke an open/close triangle */
+ tselem = TREESTORE(tenla);
+ if(tselem->flag & TSE_CLOSED)
+ return;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_Z));
+ te->name= "Z";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_VECTOR));
+ te->name= "Vector";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_NORMAL));
+ te->name= "Normal";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_UV));
+ te->name= "UV";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_MIST));
+ te->name= "Mist";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXOB));
+ te->name= "Index Object";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDEXMA));
+ te->name= "Index Material";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_RGBA));
+ te->name= "Color";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_DIFFUSE));
+ te->name= "Diffuse";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SPEC));
+ te->name= "Specular";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_SHADOW));
+ te->name= "Shadow";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_AO));
+ te->name= "AO";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFLECT));
+ te->name= "Reflection";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_REFRACT));
+ te->name= "Refraction";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_INDIRECT));
+ te->name= "Indirect";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_ENVIRONMENT));
+ te->name= "Environment";
+ te->directdata= &srl->passflag;
+
+ te= outliner_add_element(soops, &tenla->subtree, id, tenla, TSE_R_PASS, LOG2I(SCE_PASS_EMIT));
+ te->name= "Emit";
+ te->directdata= &srl->passflag;
+}
+
+#undef LOG2I
+
+static void outliner_add_scene_contents(SpaceOops *soops, ListBase *lb, Scene *sce, TreeElement *te)
+{
+ SceneRenderLayer *srl;
+ TreeElement *tenla= outliner_add_element(soops, lb, sce, te, TSE_R_LAYER_BASE, 0);
+ int a;
+
+ tenla->name= "RenderLayers";
+ for(a=0, srl= sce->r.layers.first; srl; srl= srl->next, a++) {
+ TreeElement *tenlay= outliner_add_element(soops, &tenla->subtree, sce, te, TSE_R_LAYER, a);
+ tenlay->name= srl->name;
+ tenlay->directdata= &srl->passflag;
+
+ if(srl->light_override)
+ outliner_add_element(soops, &tenlay->subtree, srl->light_override, tenlay, TSE_LINKED_LAMP, 0);
+ if(srl->mat_override)
+ outliner_add_element(soops, &tenlay->subtree, srl->mat_override, tenlay, TSE_LINKED_MAT, 0);
+
+ outliner_add_passes(soops, tenlay, &sce->id, srl);
+ }
+
+ // TODO: move this to the front?
+ if (sce->adt)
+ outliner_add_element(soops, lb, sce, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, lb, sce->world, te, 0, 0);
+}
+
+// can be inlined if necessary
+static void outliner_add_object_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, Object *ob)
+{
+ int a = 0;
+
+ if (ob->adt)
+ outliner_add_element(soops, &te->subtree, ob, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, ob->poselib, te, 0, 0); // XXX FIXME.. add a special type for this
+
+ if (ob->proxy && ob->id.lib==NULL)
+ outliner_add_element(soops, &te->subtree, ob->proxy, te, TSE_PROXY, 0);
+
+ outliner_add_element(soops, &te->subtree, ob->data, te, 0, 0);
+
+ if (ob->pose) {
+ bArmature *arm= ob->data;
+ bPoseChannel *pchan;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSE_BASE, 0);
+
+ tenla->name= "Pose";
+
+ /* channels undefined in editmode, but we want the 'tenla' pose icon itself */
+ if ((arm->edbo == NULL) && (ob->mode & OB_MODE_POSE)) {
+ int a= 0, const_index= 1000; /* ensure unique id for bone constraints */
+
+ for(pchan= ob->pose->chanbase.first; pchan; pchan= pchan->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSE_CHANNEL, a);
+ ten->name= pchan->name;
+ ten->directdata= pchan;
+ pchan->prev= (bPoseChannel *)ten;
+
+ if(pchan->constraints.first) {
+ //Object *target;
+ bConstraint *con;
+ TreeElement *ten1;
+ TreeElement *tenla1= outliner_add_element(soops, &ten->subtree, ob, ten, TSE_CONSTRAINT_BASE, 0);
+ //char *str;
+
+ tenla1->name= "Constraints";
+ for(con= pchan->constraints.first; con; con= con->next, const_index++) {
+ ten1= outliner_add_element(soops, &tenla1->subtree, ob, tenla1, TSE_CONSTRAINT, const_index);
+#if 0 /* disabled as it needs to be reworked for recoded constraints system */
+ target= get_constraint_target(con, &str);
+ if(str && str[0]) ten1->name= str;
+ else if(target) ten1->name= target->id.name+2;
+ else ten1->name= con->name;
+#endif
+ ten1->name= con->name;
+ ten1->directdata= con;
+ /* possible add all other types links? */
+ }
+ }
+ }
+ /* make hierarchy */
+ ten= tenla->subtree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ tselem= TREESTORE(ten);
+ if(tselem->type==TSE_POSE_CHANNEL) {
+ pchan= (bPoseChannel *)ten->directdata;
+ if(pchan->parent) {
+ BLI_remlink(&tenla->subtree, ten);
+ par= (TreeElement *)pchan->parent->prev;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ }
+ ten= nten;
+ }
+ /* restore prev pointers */
+ pchan= ob->pose->chanbase.first;
+ if(pchan) pchan->prev= NULL;
+ for(; pchan; pchan= pchan->next) {
+ if(pchan->next) pchan->next->prev= pchan;
+ }
+ }
+
+ /* Pose Groups */
+ if(ob->pose->agroups.first) {
+ bActionGroup *agrp;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_POSEGRP_BASE, 0);
+ int a= 0;
+
+ tenla->name= "Bone Groups";
+ for (agrp=ob->pose->agroups.first; agrp; agrp=agrp->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_POSEGRP, a);
+ ten->name= agrp->name;
+ ten->directdata= agrp;
+ }
+ }
+ }
+
+ for(a=0; a<ob->totcol; a++)
+ outliner_add_element(soops, &te->subtree, ob->mat[a], te, 0, a);
+
+ if(ob->constraints.first) {
+ //Object *target;
+ bConstraint *con;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_CONSTRAINT_BASE, 0);
+ //char *str;
+
+ tenla->name= "Constraints";
+ for (con=ob->constraints.first, a=0; con; con= con->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_CONSTRAINT, a);
+#if 0 /* disabled due to constraints system targets recode... code here needs review */
+ target= get_constraint_target(con, &str);
+ if(str && str[0]) ten->name= str;
+ else if(target) ten->name= target->id.name+2;
+ else ten->name= con->name;
+#endif
+ ten->name= con->name;
+ ten->directdata= con;
+ /* possible add all other types links? */
+ }
+ }
+
+ if (ob->modifiers.first) {
+ ModifierData *md;
+ TreeElement *temod = outliner_add_element(soops, &te->subtree, ob, te, TSE_MODIFIER_BASE, 0);
+ int index;
+
+ temod->name = "Modifiers";
+ for (index=0,md=ob->modifiers.first; md; index++,md=md->next) {
+ TreeElement *te = outliner_add_element(soops, &temod->subtree, ob, temod, TSE_MODIFIER, index);
+ te->name= md->name;
+ te->directdata = md;
+
+ if (md->type==eModifierType_Lattice) {
+ outliner_add_element(soops, &te->subtree, ((LatticeModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Curve) {
+ outliner_add_element(soops, &te->subtree, ((CurveModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Armature) {
+ outliner_add_element(soops, &te->subtree, ((ArmatureModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_Hook) {
+ outliner_add_element(soops, &te->subtree, ((HookModifierData*) md)->object, te, TSE_LINKED_OB, 0);
+ }
+ else if (md->type==eModifierType_ParticleSystem) {
+ TreeElement *ten;
+ ParticleSystem *psys= ((ParticleSystemModifierData*) md)->psys;
+
+ ten = outliner_add_element(soops, &te->subtree, ob, te, TSE_LINKED_PSYS, 0);
+ ten->directdata = psys;
+ ten->name = psys->part->id.name+2;
+ }
+ }
+ }
+
+ /* vertex groups */
+ if (ob->defbase.first) {
+ bDeformGroup *defgroup;
+ TreeElement *ten;
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, ob, te, TSE_DEFGROUP_BASE, 0);
+
+ tenla->name= "Vertex Groups";
+ for (defgroup=ob->defbase.first, a=0; defgroup; defgroup=defgroup->next, a++) {
+ ten= outliner_add_element(soops, &tenla->subtree, ob, tenla, TSE_DEFGROUP, a);
+ ten->name= defgroup->name;
+ ten->directdata= defgroup;
+ }
+ }
+
+ /* duplicated group */
+ if (ob->dup_group)
+ outliner_add_element(soops, &te->subtree, ob->dup_group, te, 0, 0);
+}
+
+// can be inlined if necessary
+static void outliner_add_id_contents(SpaceOops *soops, TreeElement *te, TreeStoreElem *tselem, ID *id)
+{
+ /* tuck pointer back in object, to construct hierarchy */
+ if (GS(id->name)==ID_OB) id->newid= (ID *)te;
+
+ /* expand specific data always */
+ switch (GS(id->name)) {
+ case ID_LI:
+ {
+ te->name= ((Library *)id)->name;
+ }
+ break;
+ case ID_SCE:
+ {
+ outliner_add_scene_contents(soops, &te->subtree, (Scene *)id, te);
+ }
+ break;
+ case ID_OB:
+ {
+ outliner_add_object_contents(soops, te, tselem, (Object *)id);
+ }
+ break;
+ case ID_ME:
+ {
+ Mesh *me= (Mesh *)id;
+ int a;
+
+ if (me->adt)
+ outliner_add_element(soops, &te->subtree, me, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, me->key, te, 0, 0);
+ for(a=0; a<me->totcol; a++)
+ outliner_add_element(soops, &te->subtree, me->mat[a], te, 0, a);
+ /* could do tfaces with image links, but the images are not grouped nicely.
+ would require going over all tfaces, sort images in use. etc... */
+ }
+ break;
+ case ID_CU:
+ {
+ Curve *cu= (Curve *)id;
+ int a;
+
+ if (cu->adt)
+ outliner_add_element(soops, &te->subtree, cu, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<cu->totcol; a++)
+ outliner_add_element(soops, &te->subtree, cu->mat[a], te, 0, a);
+ }
+ break;
+ case ID_MB:
+ {
+ MetaBall *mb= (MetaBall *)id;
+ int a;
+
+ if (mb->adt)
+ outliner_add_element(soops, &te->subtree, mb, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<mb->totcol; a++)
+ outliner_add_element(soops, &te->subtree, mb->mat[a], te, 0, a);
+ }
+ break;
+ case ID_MA:
+ {
+ Material *ma= (Material *)id;
+ int a;
+
+ if (ma->adt)
+ outliner_add_element(soops, &te->subtree, ma, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(ma->mtex[a]) outliner_add_element(soops, &te->subtree, ma->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_TE:
+ {
+ Tex *tex= (Tex *)id;
+
+ if (tex->adt)
+ outliner_add_element(soops, &te->subtree, tex, te, TSE_ANIM_DATA, 0);
+
+ outliner_add_element(soops, &te->subtree, tex->ima, te, 0, 0);
+ }
+ break;
+ case ID_CA:
+ {
+ Camera *ca= (Camera *)id;
+
+ if (ca->adt)
+ outliner_add_element(soops, &te->subtree, ca, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_LA:
+ {
+ Lamp *la= (Lamp *)id;
+ int a;
+
+ if (la->adt)
+ outliner_add_element(soops, &te->subtree, la, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(la->mtex[a]) outliner_add_element(soops, &te->subtree, la->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_SPK:
+ {
+ Speaker *spk= (Speaker *)id;
+
+ if(spk->adt)
+ outliner_add_element(soops, &te->subtree, spk, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_WO:
+ {
+ World *wrld= (World *)id;
+ int a;
+
+ if (wrld->adt)
+ outliner_add_element(soops, &te->subtree, wrld, te, TSE_ANIM_DATA, 0);
+
+ for(a=0; a<MAX_MTEX; a++) {
+ if(wrld->mtex[a]) outliner_add_element(soops, &te->subtree, wrld->mtex[a]->tex, te, 0, a);
+ }
+ }
+ break;
+ case ID_KE:
+ {
+ Key *key= (Key *)id;
+
+ if (key->adt)
+ outliner_add_element(soops, &te->subtree, key, te, TSE_ANIM_DATA, 0);
+ }
+ break;
+ case ID_AC:
+ {
+ // XXX do we want to be exposing the F-Curves here?
+ //bAction *act= (bAction *)id;
+ }
+ break;
+ case ID_AR:
+ {
+ bArmature *arm= (bArmature *)id;
+ int a= 0;
+
+ if (arm->adt)
+ outliner_add_element(soops, &te->subtree, arm, te, TSE_ANIM_DATA, 0);
+
+ if(arm->edbo) {
+ EditBone *ebone;
+ TreeElement *ten;
+
+ for (ebone = arm->edbo->first; ebone; ebone=ebone->next, a++) {
+ ten= outliner_add_element(soops, &te->subtree, id, te, TSE_EBONE, a);
+ ten->directdata= ebone;
+ ten->name= ebone->name;
+ ebone->temp= ten;
+ }
+ /* make hierarchy */
+ ten= te->subtree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ ebone= (EditBone *)ten->directdata;
+ if(ebone->parent) {
+ BLI_remlink(&te->subtree, ten);
+ par= ebone->parent->temp;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ ten= nten;
+ }
+ }
+ else {
+ /* do not extend Armature when we have posemode */
+ tselem= TREESTORE(te->parent);
+ if( GS(tselem->id->name)==ID_OB && ((Object *)tselem->id)->mode & OB_MODE_POSE);
+ else {
+ Bone *curBone;
+ for (curBone=arm->bonebase.first; curBone; curBone=curBone->next){
+ outliner_add_bone(soops, &te->subtree, id, curBone, te, &a);
+ }
+ }
+ }
+ }
+ break;
+ }
+}
+
+// TODO: this function needs to be split up! It's getting a bit too large...
+static TreeElement *outliner_add_element(SpaceOops *soops, ListBase *lb, void *idv,
+ TreeElement *parent, short type, short index)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ ID *id= idv;
+ int a = 0;
+
+ if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+ id= ((PointerRNA*)idv)->id.data;
+ if(!id) id= ((PointerRNA*)idv)->data;
+ }
+
+ if(id==NULL) return NULL;
+
+ te= MEM_callocN(sizeof(TreeElement), "tree elem");
+ /* add to the visual tree */
+ BLI_addtail(lb, te);
+ /* add to the storage */
+ check_persistant(soops, te, id, type, index);
+ tselem= TREESTORE(te);
+
+ te->parent= parent;
+ te->index= index; // for data arays
+ if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
+ else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM));
+ else if(type==TSE_ANIM_DATA);
+ else {
+ te->name= id->name+2; // default, can be overridden by Library or non-ID data
+ te->idcode= GS(id->name);
+ }
+
+ if(type==0) {
+ /* ID datablock */
+ outliner_add_id_contents(soops, te, tselem, id);
+ }
+ else if(type==TSE_ANIM_DATA) {
+ IdAdtTemplate *iat = (IdAdtTemplate *)idv;
+ AnimData *adt= (AnimData *)iat->adt;
+
+ /* this element's info */
+ te->name= "Animation";
+ te->directdata= adt;
+
+ /* Action */
+ outliner_add_element(soops, &te->subtree, adt->action, te, 0, 0);
+
+ /* Drivers */
+ if (adt->drivers.first) {
+ TreeElement *ted= outliner_add_element(soops, &te->subtree, adt, te, TSE_DRIVER_BASE, 0);
+ ID *lastadded= NULL;
+ FCurve *fcu;
+
+ ted->name= "Drivers";
+
+ for (fcu= adt->drivers.first; fcu; fcu= fcu->next) {
+ if (fcu->driver && fcu->driver->variables.first) {
+ ChannelDriver *driver= fcu->driver;
+ DriverVar *dvar;
+
+ for (dvar= driver->variables.first; dvar; dvar= dvar->next) {
+ /* loop over all targets used here */
+ DRIVER_TARGETS_USED_LOOPER(dvar)
+ {
+ if (lastadded != dtar->id) {
+ // XXX this lastadded check is rather lame, and also fails quite badly...
+ outliner_add_element(soops, &ted->subtree, dtar->id, ted, TSE_LINKED_OB, 0);
+ lastadded= dtar->id;
+ }
+ }
+ DRIVER_TARGETS_LOOPER_END
+ }
+ }
+ }
+ }
+
+ /* NLA Data */
+ if (adt->nla_tracks.first) {
+ TreeElement *tenla= outliner_add_element(soops, &te->subtree, adt, te, TSE_NLA, 0);
+ NlaTrack *nlt;
+ int a= 0;
+
+ tenla->name= "NLA Tracks";
+
+ for (nlt= adt->nla_tracks.first; nlt; nlt= nlt->next) {
+ TreeElement *tenlt= outliner_add_element(soops, &tenla->subtree, nlt, tenla, TSE_NLA_TRACK, a);
+ NlaStrip *strip;
+ TreeElement *ten;
+ int b= 0;
+
+ tenlt->name= nlt->name;
+
+ for (strip=nlt->strips.first; strip; strip=strip->next, b++) {
+ ten= outliner_add_element(soops, &tenlt->subtree, strip->act, tenlt, TSE_NLA_ACTION, b);
+ if(ten) ten->directdata= strip;
+ }
+ }
+ }
+ }
+ else if(type==TSE_SEQUENCE) {
+ Sequence *seq= (Sequence*) idv;
+ Sequence *p;
+
+ /*
+ * The idcode is a little hack, but the outliner
+ * only check te->idcode if te->type is equal to zero,
+ * so this is "safe".
+ */
+ te->idcode= seq->type;
+ te->directdata= seq;
+
+ if(seq->type<7) {
+ /*
+ * This work like the sequence.
+ * If the sequence have a name (not default name)
+ * show it, in other case put the filename.
+ */
+ if(strcmp(seq->name, "SQ"))
+ te->name= seq->name;
+ else {
+ if((seq->strip) && (seq->strip->stripdata))
+ te->name= seq->strip->stripdata->name;
+ else
+ te->name= "SQ None";
+ }
+
+ if(seq->type==SEQ_META) {
+ te->name= "Meta Strip";
+ p= seq->seqbase.first;
+ while(p) {
+ outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+ p= p->next;
+ }
+ }
+ else
+ outliner_add_element(soops, &te->subtree, (void*)seq->strip, te, TSE_SEQ_STRIP, index);
+ }
+ else
+ te->name= "Effect";
+ }
+ else if(type==TSE_SEQ_STRIP) {
+ Strip *strip= (Strip *)idv;
+
+ if(strip->dir)
+ te->name= strip->dir;
+ else
+ te->name= "Strip None";
+ te->directdata= strip;
+ }
+ else if(type==TSE_SEQUENCE_DUP) {
+ Sequence *seq= (Sequence*)idv;
+
+ te->idcode= seq->type;
+ te->directdata= seq;
+ te->name= seq->strip->stripdata->name;
+ }
+ else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, TSE_RNA_ARRAY_ELEM)) {
+ PointerRNA pptr, propptr, *ptr= (PointerRNA*)idv;
+ PropertyRNA *prop, *iterprop;
+ PropertyType proptype;
+ int a, tot;
+
+ /* we do lazy build, for speed and to avoid infinite recusion */
+
+ if(ptr->data == NULL) {
+ te->name= "(empty)";
+ }
+ else if(type == TSE_RNA_STRUCT) {
+ /* struct */
+ te->name= RNA_struct_name_get_alloc(ptr, NULL, 0);
+
+ if(te->name)
+ te->flag |= TE_FREE_NAME;
+ else
+ te->name= (char*)RNA_struct_ui_name(ptr->type);
+
+ iterprop= RNA_struct_iterator_property(ptr->type);
+ tot= RNA_property_collection_length(ptr, iterprop);
+
+ /* auto open these cases */
+ if(!parent || (RNA_property_type(parent->directdata)) == PROP_POINTER)
+ if(!tselem->used)
+ tselem->flag &= ~TSE_CLOSED;
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++)
+ outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_PROPERTY, a);
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+
+ te->rnaptr= *ptr;
+ }
+ else if(type == TSE_RNA_PROPERTY) {
+ /* property */
+ iterprop= RNA_struct_iterator_property(ptr->type);
+ RNA_property_collection_lookup_int(ptr, iterprop, index, &propptr);
+
+ prop= propptr.data;
+ proptype= RNA_property_type(prop);
+
+ te->name= (char*)RNA_property_ui_name(prop);
+ te->directdata= prop;
+ te->rnaptr= *ptr;
+
+ if(proptype == PROP_POINTER) {
+ pptr= RNA_property_pointer_get(ptr, prop);
+
+ if(pptr.data) {
+ if(!(tselem->flag & TSE_CLOSED))
+ outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, -1);
+ else
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ }
+ else if(proptype == PROP_COLLECTION) {
+ tot= RNA_property_collection_length(ptr, prop);
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++) {
+ RNA_property_collection_lookup_int(ptr, prop, a, &pptr);
+ outliner_add_element(soops, &te->subtree, (void*)&pptr, te, TSE_RNA_STRUCT, a);
+ }
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ else if(ELEM3(proptype, PROP_BOOLEAN, PROP_INT, PROP_FLOAT)) {
+ tot= RNA_property_array_length(ptr, prop);
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ for(a=0; a<tot; a++)
+ outliner_add_element(soops, &te->subtree, (void*)ptr, te, TSE_RNA_ARRAY_ELEM, a);
+ }
+ else if(tot)
+ te->flag |= TE_LAZY_CLOSED;
+ }
+ }
+ else if(type == TSE_RNA_ARRAY_ELEM) {
+ char c;
+
+ prop= parent->directdata;
+
+ te->directdata= prop;
+ te->rnaptr= *ptr;
+ te->index= index;
+
+ c= RNA_property_array_item_char(prop, index);
+
+ te->name= MEM_callocN(sizeof(char)*20, "OutlinerRNAArrayName");
+ if(c) sprintf((char *)te->name, " %c", c);
+ else sprintf((char *)te->name, " %d", index+1);
+ te->flag |= TE_FREE_NAME;
+ }
+ }
+ else if(type == TSE_KEYMAP) {
+ wmKeyMap *km= (wmKeyMap *)idv;
+ wmKeyMapItem *kmi;
+ char opname[OP_MAX_TYPENAME];
+
+ te->directdata= idv;
+ te->name= km->idname;
+
+ if(!(tselem->flag & TSE_CLOSED)) {
+ a= 0;
+
+ for (kmi= km->items.first; kmi; kmi= kmi->next, a++) {
+ const char *key= WM_key_event_string(kmi->type);
+
+ if(key[0]) {
+ wmOperatorType *ot= NULL;
+
+ if(kmi->propvalue);
+ else ot= WM_operatortype_find(kmi->idname, 0);
+
+ if(ot || kmi->propvalue) {
+ TreeElement *ten= outliner_add_element(soops, &te->subtree, kmi, te, TSE_KEYMAP_ITEM, a);
+
+ ten->directdata= kmi;
+
+ if(kmi->propvalue) {
+ ten->name= "Modal map, not yet";
+ }
+ else {
+ WM_operator_py_idname(opname, ot->idname);
+ ten->name= BLI_strdup(opname);
+ ten->flag |= TE_FREE_NAME;
+ }
+ }
+ }
+ }
+ }
+ else
+ te->flag |= TE_LAZY_CLOSED;
+ }
+
+ return te;
+}
+
+/* ======================================================= */
+/* Sequencer mode tree building */
+
+/* Helped function to put duplicate sequence in the same tree. */
+static int need_add_seq_dup(Sequence *seq)
+{
+ Sequence *p;
+
+ if((!seq->strip) || (!seq->strip->stripdata) || (!seq->strip->stripdata->name))
+ return(1);
+
+ /*
+ * First check backward, if we found a duplicate
+ * sequence before this, don't need it, just return.
+ */
+ p= seq->prev;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->prev;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ return(2);
+ p= p->prev;
+ }
+
+ p= seq->next;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ return(0);
+ p= p->next;
+ }
+ return(1);
+}
+
+static void outliner_add_seq_dup(SpaceOops *soops, Sequence *seq, TreeElement *te, short index)
+{
+ TreeElement *ch;
+ Sequence *p;
+
+ p= seq;
+ while(p) {
+ if((!p->strip) || (!p->strip->stripdata) || (!p->strip->stripdata->name)) {
+ p= p->next;
+ continue;
+ }
+
+ if(!strcmp(p->strip->stripdata->name, seq->strip->stripdata->name))
+ ch= outliner_add_element(soops, &te->subtree, (void*)p, te, TSE_SEQUENCE, index);
+ p= p->next;
+ }
+}
+
+/* ======================================================= */
+/* Generic Tree Building helpers - order these are called is top to bottom */
+
+/* Hierarchy --------------------------------------------- */
+
+/* make sure elements are correctly nested */
+static void outliner_make_hierarchy(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te, *ten, *tep;
+ TreeStoreElem *tselem;
+
+ /* build hierarchy */
+ // XXX also, set extents here...
+ te= lb->first;
+ while(te) {
+ ten= te->next;
+ tselem= TREESTORE(te);
+
+ if(tselem->type==0 && te->idcode==ID_OB) {
+ Object *ob= (Object *)tselem->id;
+ if(ob->parent && ob->parent->id.newid) {
+ BLI_remlink(lb, te);
+ tep= (TreeElement *)ob->parent->id.newid;
+ BLI_addtail(&tep->subtree, te);
+ // set correct parent pointers
+ for(te=tep->subtree.first; te; te= te->next) te->parent= tep;
+ }
+ }
+ te= ten;
+ }
+}
+
+/* Sorting ------------------------------------------------------ */
+
+typedef struct tTreeSort {
+ TreeElement *te;
+ ID *id;
+ const char *name;
+ short idcode;
+} tTreeSort;
+
+/* alphabetical comparator */
+static int treesort_alpha(const void *v1, const void *v2)
+{
+ const tTreeSort *x1= v1, *x2= v2;
+ int comp;
+
+ /* first put objects last (hierarchy) */
+ comp= (x1->idcode==ID_OB);
+ if(x2->idcode==ID_OB) comp+=2;
+
+ if(comp==1) return 1;
+ else if(comp==2) return -1;
+ else if(comp==3) {
+ comp= strcmp(x1->name, x2->name);
+
+ if( comp>0 ) return 1;
+ else if( comp<0) return -1;
+ return 0;
+ }
+ return 0;
+}
+
+/* this is nice option for later? doesnt look too useful... */
+#if 0
+static int treesort_obtype_alpha(const void *v1, const void *v2)
+{
+ const tTreeSort *x1= v1, *x2= v2;
+
+ /* first put objects last (hierarchy) */
+ if(x1->idcode==ID_OB && x2->idcode!=ID_OB) return 1;
+ else if(x2->idcode==ID_OB && x1->idcode!=ID_OB) return -1;
+ else {
+ /* 2nd we check ob type */
+ if(x1->idcode==ID_OB && x2->idcode==ID_OB) {
+ if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return 1;
+ else if( ((Object *)x1->id)->type > ((Object *)x2->id)->type) return -1;
+ else return 0;
+ }
+ else {
+ int comp= strcmp(x1->name, x2->name);
+
+ if( comp>0 ) return 1;
+ else if( comp<0) return -1;
+ return 0;
+ }
+ }
+}
+#endif
+
+/* sort happens on each subtree individual */
+static void outliner_sort(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te;
+ TreeStoreElem *tselem;
+ int totelem=0;
+
+ te= lb->last;
+ if(te==NULL) return;
+ tselem= TREESTORE(te);
+
+ /* sorting rules; only object lists or deformgroups */
+ if( (tselem->type==TSE_DEFGROUP) || (tselem->type==0 && te->idcode==ID_OB)) {
+
+ /* count first */
+ for(te= lb->first; te; te= te->next) totelem++;
+
+ if(totelem>1) {
+ tTreeSort *tear= MEM_mallocN(totelem*sizeof(tTreeSort), "tree sort array");
+ tTreeSort *tp=tear;
+ int skip= 0;
+
+ for(te= lb->first; te; te= te->next, tp++) {
+ tselem= TREESTORE(te);
+ tp->te= te;
+ tp->name= te->name;
+ tp->idcode= te->idcode;
+ if(tselem->type && tselem->type!=TSE_DEFGROUP) tp->idcode= 0; // dont sort this
+ tp->id= tselem->id;
+ }
+ /* keep beginning of list */
+ for(tp= tear, skip=0; skip<totelem; skip++, tp++)
+ if(tp->idcode) break;
+
+ if(skip<totelem)
+ qsort(tear+skip, totelem-skip, sizeof(tTreeSort), treesort_alpha);
+
+ lb->first=lb->last= NULL;
+ tp= tear;
+ while(totelem--) {
+ BLI_addtail(lb, tp->te);
+ tp++;
+ }
+ MEM_freeN(tear);
+ }
+ }
+
+ for(te= lb->first; te; te= te->next) {
+ outliner_sort(soops, &te->subtree);
+ }
+}
+
+/* Filtering ----------------------------------------------- */
+
+static int outliner_filter_has_name(TreeElement *te, const char *name, int flags)
+{
+#if 0
+ int found= 0;
+
+ /* determine if match */
+ if (flags & SO_FIND_CASE_SENSITIVE) {
+ if (flags & SO_FIND_COMPLETE)
+ found= strcmp(te->name, name) == 0;
+ else
+ found= strstr(te->name, name) != NULL;
+ }
+ else {
+ if (flags & SO_FIND_COMPLETE)
+ found= BLI_strcasecmp(te->name, name) == 0;
+ else
+ found= BLI_strcasestr(te->name, name) != NULL;
+ }
+#else
+
+ int fn_flag= 0;
+ int found= 0;
+
+ if ((flags & SO_FIND_CASE_SENSITIVE) == 0)
+ fn_flag |= FNM_CASEFOLD;
+
+ if (flags & SO_FIND_COMPLETE) {
+ found= fnmatch(name, te->name, fn_flag)==0;
+ }
+ else {
+ char fn_name[sizeof(((struct SpaceOops *)NULL)->search_string) + 2];
+ sprintf(fn_name, "*%s*", name);
+ found= fnmatch(fn_name, te->name, fn_flag)==0;
+ }
+ return found;
+#endif
+}
+
+static int outliner_filter_tree(SpaceOops *soops, ListBase *lb)
+{
+ TreeElement *te, *ten;
+ TreeStoreElem *tselem;
+
+ /* although we don't have any search string, we return TRUE
+ * since the entire tree is ok then...
+ */
+ if (soops->search_string[0]==0)
+ return 1;
+
+ for (te= lb->first; te; te= ten) {
+ ten= te->next;
+
+ if (0==outliner_filter_has_name(te, soops->search_string, soops->search_flags)) {
+ /* item isn't something we're looking for, but...
+ * - if the subtree is expanded, check if there are any matches that can be easily found
+ * so that searching for "cu" in the default scene will still match the Cube
+ * - otherwise, we can't see within the subtree and the item doesn't match,
+ * so these can be safely ignored (i.e. the subtree can get freed)
+ */
+ tselem= TREESTORE(te);
+
+ if ((tselem->flag & TSE_CLOSED) || outliner_filter_tree(soops, &te->subtree)==0) {
+ outliner_free_tree(&te->subtree);
+ BLI_remlink(lb, te);
+
+ if(te->flag & TE_FREE_NAME) MEM_freeN((void *)te->name);
+ MEM_freeN(te);
+ }
+ }
+ else {
+ /* filter subtree too */
+ outliner_filter_tree(soops, &te->subtree);
+ }
+ }
+
+ /* if there are still items in the list, that means that there were still some matches */
+ return (lb->first != NULL);
+}
+
+/* ======================================================= */
+/* Main Tree Building API */
+
+/* Main entry point for building the tree data-structure that the outliner represents */
+// TODO: split each mode into its own function?
+void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
+{
+ Base *base;
+ Object *ob;
+ TreeElement *te=NULL, *ten;
+ TreeStoreElem *tselem;
+ int show_opened= (soops->treestore==NULL); /* on first view, we open scenes */
+
+ if(soops->tree.first && (soops->storeflag & SO_TREESTORE_REDRAW))
+ return;
+
+ outliner_free_tree(&soops->tree);
+ outliner_storage_cleanup(soops);
+
+ /* clear ob id.new flags */
+ for(ob= mainvar->object.first; ob; ob= ob->id.next) ob->id.newid= NULL;
+
+ /* options */
+ if(soops->outlinevis == SO_LIBRARIES) {
+ Library *lib;
+
+ for(lib= mainvar->library.first; lib; lib= lib->id.next) {
+ ten= outliner_add_element(soops, &soops->tree, lib, NULL, 0, 0);
+ lib->id.newid= (ID *)ten;
+ }
+ /* make hierarchy */
+ ten= soops->tree.first;
+ while(ten) {
+ TreeElement *nten= ten->next, *par;
+ tselem= TREESTORE(ten);
+ lib= (Library *)tselem->id;
+ if(lib->parent) {
+ BLI_remlink(&soops->tree, ten);
+ par= (TreeElement *)lib->parent->id.newid;
+ BLI_addtail(&par->subtree, ten);
+ ten->parent= par;
+ }
+ ten= nten;
+ }
+ /* restore newid pointers */
+ for(lib= mainvar->library.first; lib; lib= lib->id.next)
+ lib->id.newid= NULL;
+
+ }
+ else if(soops->outlinevis == SO_ALL_SCENES) {
+ Scene *sce;
+ for(sce= mainvar->scene.first; sce; sce= sce->id.next) {
+ te= outliner_add_element(soops, &soops->tree, sce, NULL, 0, 0);
+ tselem= TREESTORE(te);
+ if(sce==scene && show_opened)
+ tselem->flag &= ~TSE_CLOSED;
+
+ for(base= sce->base.first; base; base= base->next) {
+ ten= outliner_add_element(soops, &te->subtree, base->object, te, 0, 0);
+ ten->directdata= base;
+ }
+ outliner_make_hierarchy(soops, &te->subtree);
+ /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+ for(base= sce->base.first; base; base= base->next) base->object->id.newid= NULL;
+ }
+ }
+ else if(soops->outlinevis == SO_CUR_SCENE) {
+
+ outliner_add_scene_contents(soops, &soops->tree, scene, NULL);
+
+ for(base= scene->base.first; base; base= base->next) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_VISIBLE) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->lay & scene->lay)
+ outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis == SO_GROUPS) {
+ Group *group;
+ GroupObject *go;
+
+ for(group= mainvar->group.first; group; group= group->id.next) {
+ if(group->gobject.first) {
+ te= outliner_add_element(soops, &soops->tree, group, NULL, 0, 0);
+
+ for(go= group->gobject.first; go; go= go->next) {
+ ten= outliner_add_element(soops, &te->subtree, go->ob, te, 0, 0);
+ ten->directdata= NULL; /* eh, why? */
+ }
+ outliner_make_hierarchy(soops, &te->subtree);
+ /* clear id.newid, to prevent objects be inserted in wrong scenes (parent in other scene) */
+ for(go= group->gobject.first; go; go= go->next) go->ob->id.newid= NULL;
+ }
+ }
+ }
+ else if(soops->outlinevis == SO_SAME_TYPE) {
+ Object *ob= OBACT;
+ if(ob) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->object->type==ob->type) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ }
+ else if(soops->outlinevis == SO_SELECTED) {
+ for(base= scene->base.first; base; base= base->next) {
+ if(base->lay & scene->lay) {
+ if(base==BASACT || (base->flag & SELECT)) {
+ ten= outliner_add_element(soops, &soops->tree, base->object, NULL, 0, 0);
+ ten->directdata= base;
+ }
+ }
+ }
+ outliner_make_hierarchy(soops, &soops->tree);
+ }
+ else if(soops->outlinevis==SO_SEQUENCE) {
+ Sequence *seq;
+ Editing *ed= seq_give_editing(scene, FALSE);
+ int op;
+
+ if(ed==NULL)
+ return;
+
+ seq= ed->seqbasep->first;
+ if(!seq)
+ return;
+
+ while(seq) {
+ op= need_add_seq_dup(seq);
+ if(op==1)
+ ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE, 0);
+ else if(op==0) {
+ ten= outliner_add_element(soops, &soops->tree, (void*)seq, NULL, TSE_SEQUENCE_DUP, 0);
+ outliner_add_seq_dup(soops, seq, ten, 0);
+ }
+ seq= seq->next;
+ }
+ }
+ else if(soops->outlinevis==SO_DATABLOCKS) {
+ PointerRNA mainptr;
+
+ RNA_main_pointer_create(mainvar, &mainptr);
+
+ ten= outliner_add_element(soops, &soops->tree, (void*)&mainptr, NULL, TSE_RNA_STRUCT, -1);
+
+ if(show_opened) {
+ tselem= TREESTORE(ten);
+ tselem->flag &= ~TSE_CLOSED;
+ }
+ }
+ else if(soops->outlinevis==SO_USERDEF) {
+ PointerRNA userdefptr;
+
+ RNA_pointer_create(NULL, &RNA_UserPreferences, &U, &userdefptr);
+
+ ten= outliner_add_element(soops, &soops->tree, (void*)&userdefptr, NULL, TSE_RNA_STRUCT, -1);
+
+ if(show_opened) {
+ tselem= TREESTORE(ten);
+ tselem->flag &= ~TSE_CLOSED;
+ }
+ }
+ else if(soops->outlinevis==SO_KEYMAP) {
+ wmWindowManager *wm= mainvar->wm.first;
+ wmKeyMap *km;
+
+ for(km= wm->defaultconf->keymaps.first; km; km= km->next) {
+ ten= outliner_add_element(soops, &soops->tree, (void*)km, NULL, TSE_KEYMAP, 0);
+ }
+ }
+ else {
+ ten= outliner_add_element(soops, &soops->tree, OBACT, NULL, 0, 0);
+ if(ten) ten->directdata= BASACT;
+ }
+
+ outliner_sort(soops, &soops->tree);
+ outliner_filter_tree(soops, &soops->tree);
+}
+
+
diff --git a/source/blender/editors/space_outliner/space_outliner.c b/source/blender/editors/space_outliner/space_outliner.c
index 13b186b174b..49d8b6b5da4 100644
--- a/source/blender/editors/space_outliner/space_outliner.c
+++ b/source/blender/editors/space_outliner/space_outliner.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -179,6 +177,13 @@ static void outliner_main_area_listener(ARegion *ar, wmNotifier *wmn)
break;
}
break;
+ case NC_ANIMATION:
+ switch(wmn->data) {
+ case ND_NLA_ACTCHANGE:
+ ED_region_tag_redraw(ar);
+ break;
+ }
+ break;
}
}
diff --git a/source/blender/editors/space_script/CMakeLists.txt b/source/blender/editors/space_script/CMakeLists.txt
index 1aed177eed1..9d3bd4a67aa 100644
--- a/source/blender/editors/space_script/CMakeLists.txt
+++ b/source/blender/editors/space_script/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -44,8 +44,12 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ../../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/editors/space_sequencer/CMakeLists.txt b/source/blender/editors/space_sequencer/CMakeLists.txt
index d5f36719471..9ce5f8e5279 100644
--- a/source/blender/editors/space_sequencer/CMakeLists.txt
+++ b/source/blender/editors/space_sequencer/CMakeLists.txt
@@ -22,14 +22,13 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../imbuf
../../makesdna
../../makesrna
../../windowmanager
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -49,4 +48,11 @@ set(SRC
sequencer_intern.h
)
+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/SConscript b/source/blender/editors/space_sequencer/SConscript
index 65bbf900556..3430c10b766 100644
--- a/source/blender/editors/space_sequencer/SConscript
+++ b/source/blender/editors/space_sequencer/SConscript
@@ -8,4 +8,7 @@ incs += ' ../../windowmanager #/intern/guardedalloc #/extern/glew/include'
incs += ' ../../makesrna ../../blenloader'
incs += ' #/intern/audaspace/intern'
+if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
+ incs += ' ' + env['BF_PTHREADS_INC']
+
env.BlenderLib ( 'bf_editors_space_sequencer', sources, Split(incs), [], libtype=['core'], priority=[100] )
diff --git a/source/blender/editors/space_sequencer/sequencer_add.c b/source/blender/editors/space_sequencer/sequencer_add.c
index 6d50913dfd4..2fe16b3a85d 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"
@@ -80,8 +83,8 @@
/* avoid passing multiple args and be more verbose */
#define SEQPROP_STARTFRAME (1<<0)
#define SEQPROP_ENDFRAME (1<<1)
-#define SEQPROP_FILES (1<<2)
-#define SEQPROP_NOPATHS (1<<3)
+#define SEQPROP_NOPATHS (1<<2)
+#define SEQPROP_NOCHAN (1<<3)
#define SELECT 1
@@ -97,8 +100,7 @@ static void sequencer_generic_props__internal(wmOperatorType *ot, int flag)
RNA_def_boolean(ot->srna, "replace_sel", 1, "Replace Selection", "replace the current selection");
- if(flag & SEQPROP_FILES)
- RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+ RNA_def_boolean(ot->srna, "overlap", 0, "Allow Overlap", "Don't correct overlap on new sequence strips");
}
static void sequencer_generic_invoke_path__internal(bContext *C, wmOperator *op, const char *identifier)
@@ -122,8 +124,12 @@ static void sequencer_generic_invoke_xy__internal(bContext *C, wmOperator *op, w
float mval_v2d[2];
UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &mval_v2d[0], &mval_v2d[1]);
-
- RNA_int_set(op->ptr, "channel", (int)mval_v2d[1]+0.5f);
+
+ /* 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);
+ }
+
RNA_int_set(op->ptr, "frame_start", (int)mval_v2d[0]);
if ((flag & SEQPROP_ENDFRAME) && RNA_property_is_set(op->ptr, "frame_end")==0)
@@ -242,7 +248,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;
@@ -297,6 +307,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);
@@ -317,12 +328,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) {
@@ -331,7 +350,7 @@ static int sequencer_add_generic_strip_exec(bContext *C, wmOperator *op, SeqLoad
}
sort_seq(scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
@@ -388,8 +407,8 @@ void SEQUENCER_OT_movie_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
RNA_def_boolean(ot->srna, "sound", TRUE, "Sound", "Load sound with the movie");
}
@@ -443,8 +462,8 @@ void SEQUENCER_OT_sound_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|SOUNDFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME);
RNA_def_boolean(ot->srna, "cache", FALSE, "Cache", "Cache the sound in memory.");
}
@@ -498,7 +517,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;
@@ -546,8 +569,8 @@ void SEQUENCER_OT_image_strip_add(struct wmOperatorType *ot)
/* flags */
ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH);
- sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME|SEQPROP_FILES);
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILES);
+ sequencer_generic_props__internal(ot, SEQPROP_STARTFRAME|SEQPROP_ENDFRAME);
}
@@ -636,17 +659,21 @@ static int sequencer_add_effect_strip_exec(bContext *C, wmOperator *op)
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 */
@@ -670,14 +697,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 119c5da309e..299fe9df460 100644
--- a/source/blender/editors/space_sequencer/sequencer_draw.c
+++ b/source/blender/editors/space_sequencer/sequencer_draw.c
@@ -172,30 +172,63 @@ static void drawseqwave(Scene *scene, Sequence *seq, float x1, float y1, float x
x2 the end x value, same for y1 and y2
stepsize is width of a pixel.
*/
- if(seq->sound->cache)
+ if(seq->flag & SEQ_AUDIO_DRAW_WAVEFORM)
{
- int i;
+ int i, j, pos;
int length = floor((x2-x1)/stepsize)+1;
float ymid = (y1+y2)/2;
float yscale = (y2-y1)/2;
- float* samples = MEM_mallocN(length * sizeof(float) * 2, "seqwave_samples");
- if(!samples)
- return;
- if(sound_read_sound_buffer(seq->sound, samples, length,
- (seq->startofs + seq->anim_startofs)/FPS,
- (seq->startofs + seq->anim_startofs + seq->enddisp - seq->startdisp)/FPS) != length)
+ float samplestep;
+ float startsample, endsample;
+ float value;
+
+ SoundWaveform* waveform;
+
+ if(!seq->sound->waveform)
+ sound_read_waveform(seq->sound);
+
+ waveform = seq->sound->waveform;
+
+ startsample = floor((seq->startofs + seq->anim_startofs)/FPS * SOUND_WAVE_SAMPLES_PER_SECOND);
+ endsample = ceil((seq->startofs + seq->anim_startofs + seq->enddisp - seq->startdisp)/FPS * SOUND_WAVE_SAMPLES_PER_SECOND);
+ samplestep = (endsample-startsample) * stepsize / (x2-x1);
+
+ if(length > floor((waveform->length - startsample) / samplestep))
+ length = floor((waveform->length - startsample) / samplestep);
+
+ glBegin(GL_LINE_STRIP);
+ for(i = 0; i < length; i++)
{
- MEM_freeN(samples);
- return;
+ pos = startsample + i * samplestep;
+
+ value = waveform->data[pos * 3];
+
+ for(j = pos+1; (j < waveform->length) && (j < pos + samplestep); j++)
+ {
+ if(value > waveform->data[j * 3])
+ value = waveform->data[j * 3];
+ }
+
+ glVertex2f(x1+i*stepsize, ymid + value * yscale);
}
- glBegin(GL_LINES);
+ glEnd();
+
+ glBegin(GL_LINE_STRIP);
for(i = 0; i < length; i++)
{
- glVertex2f(x1+i*stepsize, ymid + samples[i * 2] * yscale);
- glVertex2f(x1+i*stepsize, ymid + samples[i * 2 + 1] * yscale);
+ pos = startsample + i * samplestep;
+
+ value = waveform->data[pos * 3 + 1];
+
+ for(j = pos+1; (j < waveform->length) && (j < pos + samplestep); j++)
+ {
+ if(value < waveform->data[j * 3 + 1])
+ value = waveform->data[j * 3 + 1];
+ }
+
+ glVertex2f(x1+i*stepsize, ymid + value * yscale);
}
glEnd();
- MEM_freeN(samples);
}
}
@@ -639,14 +672,35 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
/* draw sound wave */
if(seq->type == SEQ_SOUND) drawseqwave(scene, seq, x1, y1, x2, y2, (ar->v2d.cur.xmax - ar->v2d.cur.xmin)/ar->winx);
+ /* draw lock */
+ if(seq->flag & SEQ_LOCK) {
+ glEnable(GL_POLYGON_STIPPLE);
+ glEnable(GL_BLEND);
+
+ /* light stripes */
+ glColor4ub(255, 255, 255, 32);
+ glPolygonStipple(stipple_diag_stripes_pos);
+ glRectf(x1, y1, x2, y2);
+
+ /* dark stripes */
+ glColor4ub(0, 0, 0, 32);
+ glPolygonStipple(stipple_diag_stripes_neg);
+ glRectf(x1, y1, x2, y2);
+
+ glDisable(GL_POLYGON_STIPPLE);
+ glDisable(GL_BLEND);
+ }
+
get_seq_color3ubv(scene, seq, col);
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);
@@ -679,9 +733,9 @@ static void draw_seq_strip(Scene *scene, ARegion *ar, Sequence *seq, int outline
}
}
-static Sequence *special_seq_update= 0;
+static Sequence *special_seq_update= NULL;
-static void set_special_seq_update(int val)
+static void UNUSED_FUNCTION(set_special_seq_update)(int val)
{
// int x;
@@ -689,14 +743,14 @@ static void set_special_seq_update(int val)
if(val) {
// XXX special_seq_update= find_nearest_seq(&x);
}
- else special_seq_update= 0;
+ else special_seq_update= NULL;
}
void draw_image_seq(const bContext* C, Scene *scene, ARegion *ar, SpaceSeq *sseq, int cfra, int frame_ofs)
{
struct Main *bmain= CTX_data_main(C);
- struct ImBuf *ibuf = 0;
- struct ImBuf *scope = 0;
+ struct ImBuf *ibuf= NULL;
+ struct ImBuf *scope= NULL;
struct View2D *v2d = &ar->v2d;
int rectx, recty;
float viewrectx, viewrecty;
@@ -969,7 +1023,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;
@@ -1021,8 +1075,8 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
SpaceSeq *sseq= CTX_wm_space_seq(C);
View2D *v2d= &ar->v2d;
View2DScrollers *scrollers;
+ short unit=0, flag=0;
float col[3];
- int flag=0;
/* clear and setup matrix */
UI_GetThemeColor3fv(TH_BACK, col);
@@ -1044,9 +1098,10 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
/* draw backdrop */
draw_seq_backdrop(v2d);
- /* regular grid-pattern over the rest of the view (i.e. frame grid lines) */
+ /* regular grid-pattern over the rest of the view (i.e. 25-frame grid lines) */
+ // NOTE: the gridlines are currently spaced every 25 frames, which is only fine for 25 fps, but maybe not for 30...
UI_view2d_constant_grid_draw(v2d);
-
+
seq_draw_sfra_efra(scene, v2d);
/* sequence strips (if there is data available to be drawn) */
@@ -1089,7 +1144,8 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
UI_view2d_view_restore(C);
/* scrollers */
- scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_UNIT_SECONDSSEQ, V2D_GRID_CLAMP, V2D_UNIT_VALUES, V2D_GRID_CLAMP);
+ unit= (sseq->flag & SEQ_DRAWFRAMES)? V2D_UNIT_FRAMES : V2D_UNIT_SECONDSSEQ;
+ scrollers= UI_view2d_scrollers_calc(C, v2d, unit, V2D_GRID_CLAMP, V2D_UNIT_VALUES, V2D_GRID_CLAMP);
UI_view2d_scrollers_draw(C, v2d, scrollers);
UI_view2d_scrollers_free(scrollers);
}
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c
index 6900271deea..e7673651546 100644
--- a/source/blender/editors/space_sequencer/sequencer_edit.c
+++ b/source/blender/editors/space_sequencer/sequencer_edit.c
@@ -47,6 +47,7 @@
#include "BLI_math.h"
#include "BLI_storage_types.h"
#include "BLI_utildefines.h"
+#include "BLI_threads.h"
#include "DNA_scene_types.h"
#include "DNA_userdef_types.h"
@@ -75,10 +76,6 @@
/* own include */
#include "sequencer_intern.h"
-static void error(const char *UNUSED(dummy)) {}
-static void waitcursor(int UNUSED(val)) {}
-static void activate_fileselect(int UNUSED(d1), const char *UNUSED(d2), const char *UNUSED(d3), void *UNUSED(d4)) {}
-static int pupmenu(const char *UNUSED(dummy)) {return 0;}
static int okee(const char *UNUSED(dummy)) {return 0;}
@@ -124,10 +121,116 @@ 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;
+/* ********************************************************************** */
+
+/* ***************** proxy job manager ********************** */
+
+typedef struct ProxyBuildJob {
+ Scene *scene;
+ struct Main * main;
+ ListBase queue;
+ ThreadMutex queue_lock;
+} ProxyJob;
+
+static void proxy_freejob(void *pjv)
+{
+ ProxyJob *pj= pjv;
+ Sequence * seq;
+
+ for (seq = pj->queue.first; seq; seq = seq->next) {
+ BLI_remlink(&pj->queue, seq);
+ seq_free_sequence_recurse(pj->scene, seq);
+ }
+
+ BLI_mutex_end(&pj->queue_lock);
+
+ MEM_freeN(pj);
+}
+
+/* only this runs inside thread */
+static void proxy_startjob(void *pjv, short *stop, short *do_update, float *progress)
+{
+ ProxyJob *pj = pjv;
+
+ while (!*stop) {
+ Sequence * seq;
+
+ BLI_mutex_lock(&pj->queue_lock);
+
+ if (!pj->queue.first) {
+ BLI_mutex_unlock(&pj->queue_lock);
+ break;
+ }
+
+ seq = pj->queue.first;
+
+ BLI_remlink(&pj->queue, seq);
+ BLI_mutex_unlock(&pj->queue_lock);
+
+ seq_proxy_rebuild(pj->main, pj->scene, seq,
+ stop, do_update, progress);
+ seq_free_sequence_recurse(pj->scene, seq);
+ }
+
+ if (*stop) {
+ fprintf(stderr,
+ "Canceling proxy rebuild on users request...\n");
+ }
+}
+
+static void proxy_endjob(void *UNUSED(customdata))
+{
+
+}
+
+void seq_proxy_build_job(const bContext *C, Sequence * seq)
+{
+ wmJob * steve;
+ ProxyJob *pj;
+ Scene *scene= CTX_data_scene(C);
+ ScrArea * sa= CTX_wm_area(C);
+
+ seq = seq_dupli_recursive(scene, scene, seq, 0);
+
+ steve = WM_jobs_get(CTX_wm_manager(C), CTX_wm_window(C),
+ sa, "Building Proxies", WM_JOB_PROGRESS);
+
+ pj = WM_jobs_get_customdata(steve);
+
+ if (!pj) {
+ pj = MEM_callocN(sizeof(ProxyJob), "proxy rebuild job");
+
+ pj->scene= scene;
+ pj->main = CTX_data_main(C);
+
+ BLI_mutex_init(&pj->queue_lock);
+
+ WM_jobs_customdata(steve, pj, proxy_freejob);
+ WM_jobs_timer(steve, 0.1, NC_SCENE|ND_SEQUENCER,
+ NC_SCENE|ND_SEQUENCER);
+ WM_jobs_callbacks(steve, proxy_startjob, NULL, NULL,
+ proxy_endjob);
+ }
+
+ BLI_mutex_lock(&pj->queue_lock);
+ BLI_addtail(&pj->queue, seq);
+ BLI_mutex_unlock(&pj->queue_lock);
+
+ if (!WM_jobs_is_running(steve)) {
+ G.afbreek = 0;
+ WM_jobs_start(CTX_wm_manager(C), steve);
+ }
+
+ ED_area_tag_redraw(CTX_wm_area(C));
+}
+
+/* ********************************************************************** */
+
void seq_rectf(Sequence *seq, rctf *rectf)
{
if(seq->startstill) rectf->xmin= seq->start;
@@ -138,7 +241,7 @@ void seq_rectf(Sequence *seq, rctf *rectf)
rectf->ymax= seq->machine+SEQ_STRIP_OFSTOP;
}
-static void change_plugin_seq(Scene *scene, char *str) /* called from fileselect */
+static void UNUSED_FUNCTION(change_plugin_seq)(Scene *scene, char *str) /* called from fileselect */
{
Editing *ed= seq_give_editing(scene, FALSE);
struct SeqEffectHandle sh;
@@ -391,205 +494,6 @@ void recurs_sel_seq(Sequence *seqm)
}
}
-int event_to_efftype(int event)
-{
- if(event==2) return SEQ_CROSS;
- if(event==3) return SEQ_GAMCROSS;
- if(event==4) return SEQ_ADD;
- if(event==5) return SEQ_SUB;
- if(event==6) return SEQ_MUL;
- if(event==7) return SEQ_ALPHAOVER;
- if(event==8) return SEQ_ALPHAUNDER;
- if(event==9) return SEQ_OVERDROP;
- if(event==10) return SEQ_PLUGIN;
- if(event==13) return SEQ_WIPE;
- if(event==14) return SEQ_GLOW;
- if(event==15) return SEQ_TRANSFORM;
- if(event==16) return SEQ_COLOR;
- if(event==17) return SEQ_SPEED;
- if(event==18) return SEQ_ADJUSTMENT;
- return 0;
-}
-
-#if 0
-static void reload_sound_strip(Scene *scene, char *name)
-{
- Editing *ed;
- Sequence *seq, *seqact;
- SpaceFile *sfile;
- Sequence *last_seq= seq_active_get(scene);
-
- ed= scene->ed;
-
- if(last_seq==0 || last_seq->type!=SEQ_SOUND) return;
- seqact= last_seq; /* last_seq changes in alloc_sequence */
-
- /* search sfile */
-// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
- if(sfile==0) return;
-
- waitcursor(1);
-
- seq = sfile_to_snd_sequence(sfile, seqact->start, seqact->machine);
- printf("seq->type: %i\n", seq->type);
- if(seq && seq!=seqact) {
- /* i'm not sure about this one, seems to work without it -- sgefant */
- seq_free_strip(seqact->strip);
-
- seqact->strip= seq->strip;
-
- seqact->len= seq->len;
- calc_sequence(scene, seqact);
-
- seq->strip= 0;
- seq_free_sequence(scene, seq);
- BLI_remlink(ed->seqbasep, seq);
-
- seq= ed->seqbasep->first;
-
- }
-
- waitcursor(0);
-
-}
-#endif
-
-static void reload_image_strip(Scene *scene, char *UNUSED(name))
-{
- Editing *ed= seq_give_editing(scene, FALSE);
- Sequence *seq=NULL, *seqact;
- SpaceFile *sfile=NULL;
- Sequence *last_seq= seq_active_get(scene);
-
-
-
- if(last_seq==NULL || last_seq->type!=SEQ_IMAGE) return;
- seqact= last_seq; /* last_seq changes in alloc_sequence */
-
- /* search sfile */
-// sfile= scrarea_find_space_of_type(curarea, SPACE_FILE);
- if(sfile == NULL) return;
-
- waitcursor(1);
-
-// seq= sfile_to_sequence(scene, sfile, seqact->start, seqact->machine, 1); // XXX ADD BACK
- if(seq && seq!=seqact) {
- seq_free_strip(seqact->strip);
-
- seqact->strip= seq->strip;
-
- seqact->len= seq->len;
- calc_sequence(scene, seqact);
-
- seq->strip= NULL;
- seq_free_sequence(scene, seq);
- BLI_remlink(ed->seqbasep, seq);
-
- update_changed_seq_and_deps(scene, seqact, 1, 1);
- }
- waitcursor(0);
-
-}
-
-
-static void change_sequence(Scene *scene)
-{
- Editing *ed= seq_give_editing(scene, FALSE);
- Sequence *last_seq= seq_active_get(scene);
- Scene *sce;
- short event;
-
- if(last_seq == NULL) return;
-
- if(last_seq->type & SEQ_EFFECT) {
- event = pupmenu("Change Effect%t"
- "|Switch A <-> B %x1"
- "|Switch B <-> C %x10"
- "|Plugin%x11"
- "|Recalculate%x12"
- "|Cross%x2"
- "|Gamma Cross%x3"
- "|Add%x4"
- "|Sub%x5"
- "|Mul%x6"
- "|Alpha Over%x7"
- "|Alpha Under%x8"
- "|Alpha Over Drop%x9"
- "|Wipe%x13"
- "|Glow%x14"
- "|Transform%x15"
- "|Color Generator%x16"
- "|Speed Control%x17"
- "|Adjustment Layer%x18");
- if(event > 0) {
- if(event==1) {
- SWAP(Sequence *,last_seq->seq1,last_seq->seq2);
- }
- else if(event==10) {
- SWAP(Sequence *,last_seq->seq2,last_seq->seq3);
- }
- else if(event==11) {
- activate_fileselect(
- FILE_SPECIAL, "Select Plugin",
- U.plugseqdir, change_plugin_seq);
- }
- else if(event==12);
- /* recalculate: only new_stripdata */
- else {
- /* free previous effect and init new effect */
- struct SeqEffectHandle sh;
-
- if (get_sequence_effect_num_inputs(
- last_seq->type)
- < get_sequence_effect_num_inputs(
- event_to_efftype(event))) {
- error("New effect needs more "
- "input strips!");
- } else {
- sh = get_sequence_effect(last_seq);
- sh.free(last_seq);
-
- last_seq->type
- = event_to_efftype(event);
-
- sh = get_sequence_effect(last_seq);
- sh.init(last_seq);
- }
- }
-
- update_changed_seq_and_deps(scene, last_seq, 0, 1);
- }
- }
- else if(last_seq->type == SEQ_IMAGE) {
- if(okee("Change images")) {
- activate_fileselect(FILE_SPECIAL,
- "Select Images",
- ed->act_imagedir,
- reload_image_strip);
- }
- }
- else if(last_seq->type == SEQ_MOVIE) {
- ;
- }
- else if(last_seq->type == SEQ_SCENE) {
- event= pupmenu("Change Scene%t|Update Start and End");
-
- if(event==1) {
- sce= last_seq->scene;
-
- last_seq->len= sce->r.efra - sce->r.sfra + 1;
- last_seq->sfra= sce->r.sfra;
-
- /* bad code to change seq->len? update_changed_seq_and_deps() expects the strip->len to be OK */
- new_tstripdata(last_seq);
-
- update_changed_seq_and_deps(scene, last_seq, 1, 1);
-
- }
- }
-
-}
-
int seq_effect_find_selected(Scene *scene, Sequence *activeseq, int type, Sequence **selseq1, Sequence **selseq2, Sequence **selseq3, const char **error_str)
{
Editing *ed = seq_give_editing(scene, FALSE);
@@ -729,8 +633,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! */
@@ -780,7 +686,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;
}
@@ -789,8 +695,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;
}
@@ -825,6 +732,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! */
@@ -955,7 +864,7 @@ static int insert_gap(Scene *scene, int gap, int cfra)
return done;
}
-static void touch_seq_files(Scene *scene)
+static void UNUSED_FUNCTION(touch_seq_files)(Scene *scene)
{
Sequence *seq;
Editing *ed= seq_give_editing(scene, FALSE);
@@ -967,7 +876,7 @@ static void touch_seq_files(Scene *scene)
if(okee("Touch and print selected movies")==0) return;
- waitcursor(1);
+ WM_cursor_wait(1);
SEQP_BEGIN(ed, seq) {
if(seq->flag & SELECT) {
@@ -982,7 +891,7 @@ static void touch_seq_files(Scene *scene)
}
SEQ_END
- waitcursor(0);
+ WM_cursor_wait(0);
}
/*
@@ -1010,7 +919,7 @@ static void set_filter_seq(Scene *scene)
}
*/
-static void seq_remap_paths(Scene *scene)
+static void UNUSED_FUNCTION(seq_remap_paths)(Scene *scene)
{
Sequence *seq, *last_seq = seq_active_get(scene);
Editing *ed= seq_give_editing(scene, FALSE);
@@ -1051,7 +960,7 @@ static void seq_remap_paths(Scene *scene)
}
-static void no_gaps(Scene *scene)
+static void UNUSED_FUNCTION(no_gaps)(Scene *scene)
{
Editing *ed= seq_give_editing(scene, FALSE);
int cfra, first= 0, done;
@@ -1097,6 +1006,19 @@ int sequencer_edit_poll(bContext *C)
return (seq_give_editing(CTX_data_scene(C), FALSE) != NULL);
}
+int sequencer_strip_poll(bContext *C)
+{
+ Editing *ed;
+ return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && (ed->act_seq != NULL));
+}
+
+int sequencer_strip_has_path_poll(bContext *C)
+{
+ Editing *ed;
+ Sequence *seq;
+ return (((ed= seq_give_editing(CTX_data_scene(C), FALSE)) != NULL) && ((seq= ed->act_seq) != NULL) && (SEQ_HAS_PATH(seq)));
+}
+
int sequencer_view_poll(bContext *C)
{
SpaceSeq *sseq= CTX_wm_space_seq(C);
@@ -1219,7 +1141,7 @@ static int sequencer_mute_exec(bContext *C, wmOperator *op)
}
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1266,7 +1188,7 @@ static int sequencer_unmute_exec(bContext *C, wmOperator *op)
}
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1386,7 +1308,7 @@ void SEQUENCER_OT_reload(struct wmOperatorType *ot)
ot->poll= sequencer_edit_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER; /* no undo, the data changed is stored outside 'main' */
}
/* reload operator */
@@ -1412,9 +1334,6 @@ void SEQUENCER_OT_refresh_all(struct wmOperatorType *ot)
/* api callbacks */
ot->exec= sequencer_refresh_all_exec;
ot->poll= sequencer_edit_poll;
-
- /* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
}
static int sequencer_reassign_inputs_exec(bContext *C, wmOperator *op)
@@ -1749,6 +1668,58 @@ void SEQUENCER_OT_delete(wmOperatorType *ot)
}
+/* offset clear operator */
+static int sequencer_offset_clear_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq;
+
+ /* for effects, try to find a replacement input */
+ for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+ if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+ seq->startofs= seq->endofs= seq->startstill= seq->endstill= 0;
+ }
+ }
+
+ /* updates lengths etc */
+ seq= ed->seqbasep->first;
+ while(seq) {
+ calc_sequence(scene, seq);
+ seq= seq->next;
+ }
+
+ for(seq=ed->seqbasep->first; seq; seq=seq->next) {
+ if((seq->type & SEQ_EFFECT)==0 && (seq->flag & SELECT)) {
+ if(seq_test_overlap(ed->seqbasep, seq)) {
+ shuffle_seq(ed->seqbasep, seq, scene);
+ }
+ }
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+
+void SEQUENCER_OT_offset_clear(wmOperatorType *ot)
+{
+
+ /* identifiers */
+ ot->name= "Clear Strip Offset";
+ ot->idname= "SEQUENCER_OT_offset_clear";
+ ot->description="Clear strip offsets from the start and end frames";
+
+ /* api callbacks */
+ ot->exec= sequencer_offset_clear_exec;
+ ot->poll= sequencer_edit_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+
/* separate_images operator */
static int sequencer_separate_images_exec(bContext *C, wmOperator *op)
{
@@ -1778,19 +1749,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->seqbasep, 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);
@@ -1802,8 +1775,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;
@@ -1833,7 +1804,6 @@ void SEQUENCER_OT_images_separate(wmOperatorType *ot)
ot->description="On image sequences strips, it return a strip for each image";
/* api callbacks */
- ot->invoke= WM_operator_props_popup;
ot->exec= sequencer_separate_images_exec;
ot->poll= sequencer_edit_poll;
@@ -1892,7 +1862,7 @@ static int sequencer_meta_toggle_exec(bContext *C, wmOperator *UNUSED(op))
}
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
return OPERATOR_FINISHED;
@@ -1956,7 +1926,7 @@ static int sequencer_meta_make_exec(bContext *C, wmOperator *op)
if( seq_test_overlap(ed->seqbasep, seqm) ) shuffle_seq(ed->seqbasep, seqm, scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
seqbase_unique_name_recursive(&scene->ed->seqbase, seqm);
@@ -2029,7 +1999,7 @@ static int sequencer_meta_separate_exec(bContext *C, wmOperator *UNUSED(op))
}
sort_seq(scene);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
@@ -2204,7 +2174,7 @@ static int sequencer_view_toggle_exec(bContext *C, wmOperator *UNUSED(op))
sseq->view++;
if (sseq->view > SEQ_VIEW_SEQUENCE_PREVIEW) sseq->view = SEQ_VIEW_SEQUENCE;
- ED_sequencer_update_view(C, sseq->view);
+ ED_area_tag_refresh(CTX_wm_area(C));
return OPERATOR_FINISHED;
}
@@ -2658,7 +2628,7 @@ void SEQUENCER_OT_copy(wmOperatorType *ot)
ot->poll= sequencer_edit_poll;
/* flags */
- ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+ ot->flag= OPTYPE_REGISTER;
/* properties */
}
@@ -2825,3 +2795,261 @@ void SEQUENCER_OT_view_ghost_border(wmOperatorType *ot)
/* rna */
WM_operator_properties_gesture_border(ot, FALSE);
}
+
+/* rebuild_proxy operator */
+static int sequencer_rebuild_proxy_exec(bContext *C, wmOperator *UNUSED(op))
+{
+ Scene *scene = CTX_data_scene(C);
+ Editing *ed = seq_give_editing(scene, FALSE);
+ Sequence * seq;
+
+ SEQP_BEGIN(ed, seq) {
+ if ((seq->flag & SELECT)) {
+ seq_proxy_build_job(C, seq);
+ }
+ }
+ SEQ_END
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_rebuild_proxy(wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Rebuild Proxy and Timecode Indices";
+ ot->idname= "SEQUENCER_OT_rebuild_proxy";
+ ot->description="Rebuild all selected proxies and timecode indeces using the job system";
+
+ /* api callbacks */
+ ot->exec= sequencer_rebuild_proxy_exec;
+ ot->poll= ED_operator_sequencer_active;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER;
+}
+
+/* change ops */
+
+static EnumPropertyItem prop_change_effect_input_types[] = {
+ {0, "A_B", 0, "A -> B", ""},
+ {1, "B_C", 0, "B -> C", ""},
+ {2, "A_C", 0, "A -> C", ""},
+ {0, NULL, 0, NULL, NULL}
+};
+
+static int sequencer_change_effect_input_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+
+ Sequence **seq_1, **seq_2;
+
+ switch(RNA_enum_get(op->ptr, "swap")) {
+ case 0:
+ seq_1= &seq->seq1;
+ seq_2= &seq->seq2;
+ break;
+ case 1:
+ seq_1= &seq->seq2;
+ seq_2= &seq->seq3;
+ break;
+ default: /* 2 */
+ seq_1= &seq->seq1;
+ seq_2= &seq->seq3;
+ break;
+ }
+
+ if(*seq_1 == NULL || *seq_2 == NULL) {
+ BKE_report(op->reports, RPT_ERROR, "One of the effect inputs is unset, can't swap");
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ SWAP(Sequence *, *seq_1, *seq_2);
+ }
+
+ update_changed_seq_and_deps(scene, seq, 0, 1);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Effect Input";
+ ot->idname= "SEQUENCER_OT_change_effect_input";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_effect_input_exec;
+ ot->poll= sequencer_effect_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ot->prop= RNA_def_enum(ot->srna, "swap", prop_change_effect_input_types, 0, "Swap", "The effect inputs to swap");
+}
+
+static int sequencer_change_effect_type_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+ const int new_type= RNA_enum_get(op->ptr, "type");
+
+ /* free previous effect and init new effect */
+ struct SeqEffectHandle sh;
+
+ if ((seq->type & SEQ_EFFECT) == 0) {
+ return OPERATOR_CANCELLED;
+ }
+
+ /* can someone explain the logic behind only allowing to increse this,
+ * copied from 2.4x - campbell */
+ if (get_sequence_effect_num_inputs(seq->type) <
+ get_sequence_effect_num_inputs(new_type)
+ ) {
+ BKE_report(op->reports, RPT_ERROR, "New effect needs more input strips");
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ sh = get_sequence_effect(seq);
+ sh.free(seq);
+
+ seq->type= new_type;
+
+ sh = get_sequence_effect(seq);
+ sh.init(seq);
+ }
+
+ /* update */
+ update_changed_seq_and_deps(scene, seq, 0, 1);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Effect Type";
+ ot->idname= "SEQUENCER_OT_change_effect_type";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_effect_type_exec;
+ ot->poll= sequencer_effect_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ ot->prop= RNA_def_enum(ot->srna, "type", sequencer_prop_effect_types, SEQ_CROSS, "Type", "Sequencer effect type");
+}
+
+static int sequencer_change_path_exec(bContext *C, wmOperator *op)
+{
+ Scene *scene= CTX_data_scene(C);
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq= seq_active_get(scene);
+
+ if(seq->type == SEQ_IMAGE) {
+ char directory[FILE_MAX];
+ const int len= RNA_property_collection_length(op->ptr, RNA_struct_find_property(op->ptr, "files"));
+ StripElem *se;
+
+ if(len==0)
+ return OPERATOR_CANCELLED;
+
+ RNA_string_get(op->ptr, "directory", directory);
+ BLI_strncpy(seq->strip->dir, directory, sizeof(seq->strip->dir));
+
+ if(seq->strip->stripdata) {
+ MEM_freeN(seq->strip->stripdata);
+ }
+ seq->strip->stripdata= se= MEM_callocN(len*sizeof(StripElem), "stripelem");
+
+ RNA_BEGIN(op->ptr, itemptr, "files") {
+ char *filename= RNA_string_get_alloc(&itemptr, "name", NULL, 0);
+ BLI_strncpy(se->name, filename, sizeof(se->name));
+ MEM_freeN(filename);
+ se++;
+ }
+ RNA_END;
+
+ /* reset these else we wont see all the images */
+ seq->anim_startofs= seq->anim_endofs= 0;
+
+ /* correct start/end frames so we dont move
+ * important not to set seq->len= len; allow the function to handle it */
+ reload_sequence_new_file(scene, seq, TRUE);
+
+ calc_sequence(scene, seq);
+
+ /* important else we dont get the imbuf cache flushed */
+ free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
+ }
+ else {
+ /* lame, set rna filepath */
+ PointerRNA seq_ptr;
+ PropertyRNA *prop;
+ char filepath[FILE_MAX];
+
+ RNA_pointer_create(&scene->id, &RNA_Sequence, seq, &seq_ptr);
+
+ RNA_string_get(op->ptr, "filepath", filepath);
+ prop= RNA_struct_find_property(&seq_ptr, "filepath");
+ RNA_property_string_set(&seq_ptr, prop, filepath);
+ RNA_property_update(C, &seq_ptr, prop);
+ }
+
+ WM_event_add_notifier(C, NC_SCENE|ND_SEQUENCER, scene);
+
+ return OPERATOR_FINISHED;
+}
+
+static int sequencer_change_path_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
+{
+ Scene *scene= CTX_data_scene(C);
+ Sequence *seq= seq_active_get(scene);
+
+ RNA_string_set(op->ptr, "directory", seq->strip->dir);
+
+ /* set default display depending on seq type */
+ if(seq->type == SEQ_IMAGE) {
+ RNA_boolean_set(op->ptr, "filter_movie", 0);
+ }
+ else {
+ RNA_boolean_set(op->ptr, "filter_image", 0);
+ }
+
+ WM_event_add_fileselect(C, op);
+
+ return OPERATOR_RUNNING_MODAL;
+}
+
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name= "Change Data/Files";
+ ot->idname= "SEQUENCER_OT_change_path";
+ ot->description="";
+
+ /* api callbacks */
+ ot->exec= sequencer_change_path_exec;
+ ot->invoke= sequencer_change_path_invoke;
+ ot->poll= sequencer_strip_has_path_poll;
+
+ /* flags */
+ ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+
+ WM_operator_properties_filesel(ot, FOLDERFILE|IMAGEFILE|MOVIEFILE, FILE_SPECIAL, FILE_OPENFILE, WM_FILESEL_DIRECTORY|WM_FILESEL_RELPATH|WM_FILESEL_FILEPATH|WM_FILESEL_FILES);
+}
diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h
index 209b39662aa..89e9a22c9a1 100644
--- a/source/blender/editors/space_sequencer/sequencer_intern.h
+++ b/source/blender/editors/space_sequencer/sequencer_intern.h
@@ -70,6 +70,8 @@ int seq_effect_find_selected(struct Scene *scene, struct Sequence *activeseq, in
/* operator helpers */
int sequencer_edit_poll(struct bContext *C);
+int sequencer_strip_poll(struct bContext *C);
+int sequencer_strip_has_path_poll(struct bContext *C);
int sequencer_view_poll(struct bContext *C);
/* externs */
@@ -91,6 +93,7 @@ void SEQUENCER_OT_reassign_inputs(struct wmOperatorType *ot);
void SEQUENCER_OT_swap_inputs(struct wmOperatorType *ot);
void SEQUENCER_OT_duplicate(struct wmOperatorType *ot);
void SEQUENCER_OT_delete(struct wmOperatorType *ot);
+void SEQUENCER_OT_offset_clear(struct wmOperatorType *ot);
void SEQUENCER_OT_images_separate(struct wmOperatorType *ot);
void SEQUENCER_OT_meta_toggle(struct wmOperatorType *ot);
void SEQUENCER_OT_meta_make(struct wmOperatorType *ot);
@@ -108,9 +111,15 @@ void SEQUENCER_OT_view_selected(struct wmOperatorType *ot);
void SEQUENCER_OT_view_zoom_ratio(struct wmOperatorType *ot);
void SEQUENCER_OT_view_ghost_border(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_effect_input(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_effect_type(struct wmOperatorType *ot);
+void SEQUENCER_OT_change_path(struct wmOperatorType *ot);
+
void SEQUENCER_OT_copy(struct wmOperatorType *ot);
void SEQUENCER_OT_paste(struct wmOperatorType *ot);
+void SEQUENCER_OT_rebuild_proxy(struct wmOperatorType *ot);
+
/* preview specific operators */
void SEQUENCER_OT_view_all_preview(struct wmOperatorType *ot);
diff --git a/source/blender/editors/space_sequencer/sequencer_ops.c b/source/blender/editors/space_sequencer/sequencer_ops.c
index f5c26cb17d3..5c13b57cca8 100644
--- a/source/blender/editors/space_sequencer/sequencer_ops.c
+++ b/source/blender/editors/space_sequencer/sequencer_ops.c
@@ -68,6 +68,7 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_swap_inputs);
WM_operatortype_append(SEQUENCER_OT_duplicate);
WM_operatortype_append(SEQUENCER_OT_delete);
+ WM_operatortype_append(SEQUENCER_OT_offset_clear);
WM_operatortype_append(SEQUENCER_OT_images_separate);
WM_operatortype_append(SEQUENCER_OT_meta_toggle);
WM_operatortype_append(SEQUENCER_OT_meta_make);
@@ -86,6 +87,11 @@ void sequencer_operatortypes(void)
WM_operatortype_append(SEQUENCER_OT_view_zoom_ratio);
WM_operatortype_append(SEQUENCER_OT_view_ghost_border);
+ WM_operatortype_append(SEQUENCER_OT_rebuild_proxy);
+ WM_operatortype_append(SEQUENCER_OT_change_effect_input);
+ WM_operatortype_append(SEQUENCER_OT_change_effect_type);
+ WM_operatortype_append(SEQUENCER_OT_change_path);
+
/* sequencer_select.c */
WM_operatortype_append(SEQUENCER_OT_select_all_toggle);
WM_operatortype_append(SEQUENCER_OT_select_inverse);
@@ -145,6 +151,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "SEQUENCER_OT_reassign_inputs", RKEY, KM_PRESS, 0, 0);
WM_keymap_add_item(keymap, "SEQUENCER_OT_reload", RKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "SEQUENCER_OT_offset_clear", OKEY, KM_PRESS, KM_ALT, 0);
+
WM_keymap_add_item(keymap, "SEQUENCER_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
WM_keymap_add_item(keymap, "SEQUENCER_OT_delete", XKEY, KM_PRESS, 0, 0);
@@ -240,6 +248,8 @@ void sequencer_keymap(wmKeyConfig *keyconf)
WM_keymap_add_item(keymap, "SEQUENCER_OT_select_border", BKEY, KM_PRESS, 0, 0);
WM_keymap_add_menu(keymap, "SEQUENCER_MT_add", AKEY, KM_PRESS, KM_SHIFT, 0);
+
+ WM_keymap_add_menu(keymap, "SEQUENCER_MT_change", CKEY, KM_PRESS, 0, 0);
kmi= WM_keymap_add_item(keymap, "WM_OT_context_set_int", OKEY, KM_PRESS, 0, 0);
RNA_string_set(kmi->ptr, "data_path", "scene.sequence_editor.overlay_frame");
diff --git a/source/blender/editors/space_sequencer/sequencer_select.c b/source/blender/editors/space_sequencer/sequencer_select.c
index 8d5f372f55e..86b28f5e89e 100644
--- a/source/blender/editors/space_sequencer/sequencer_select.c
+++ b/source/blender/editors/space_sequencer/sequencer_select.c
@@ -159,7 +159,7 @@ void select_surround_from_last(Scene *scene)
#endif
-static void select_single_seq(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
+static void UNUSED_FUNCTION(select_single_seq)(Scene *scene, Sequence *seq, int deselect_all) /* BRING BACK */
{
Editing *ed= seq_give_editing(scene, FALSE);
@@ -846,7 +846,7 @@ static int sequencer_borderselect_exec(bContext *C, wmOperator *op)
for(seq= ed->seqbasep->first; seq; seq= seq->next) {
seq_rectf(seq, &rq);
- if(BLI_isect_rctf(&rq, &rectf, 0)) {
+ if(BLI_isect_rctf(&rq, &rectf, NULL)) {
if(selecting) seq->flag |= SELECT;
else seq->flag &= ~SEQ_ALLSEL;
recurs_sel_seq(seq);
diff --git a/source/blender/editors/space_sequencer/space_sequencer.c b/source/blender/editors/space_sequencer/space_sequencer.c
index d1df9699fa3..5a0369ef80b 100644
--- a/source/blender/editors/space_sequencer/space_sequencer.c
+++ b/source/blender/editors/space_sequencer/space_sequencer.c
@@ -98,61 +98,6 @@ static ARegion *sequencer_find_region(ScrArea *sa, short type)
return ar;
}
-void ED_sequencer_update_view(bContext *C, int view)
-{
- ScrArea *sa= CTX_wm_area(C);
-
- ARegion *ar_main= sequencer_find_region(sa, RGN_TYPE_WINDOW);
- ARegion *ar_preview= sequencer_find_region(sa, RGN_TYPE_PREVIEW);
-
- switch (view) {
- case SEQ_VIEW_SEQUENCE:
- if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag &= ~RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- }
- if (ar_preview && !(ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag |= RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- WM_event_remove_handlers(C, &ar_preview->handlers);
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_NONE;
- break;
- case SEQ_VIEW_PREVIEW:
- if (ar_main && !(ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag |= RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- WM_event_remove_handlers(C, &ar_main->handlers);
- }
- if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag &= ~RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- ar_preview->v2d.cur = ar_preview->v2d.tot;
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_NONE;
- break;
- case SEQ_VIEW_SEQUENCE_PREVIEW:
- if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
- ar_main->flag &= ~RGN_FLAG_HIDDEN;
- ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
- }
- if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
- ar_preview->flag &= ~RGN_FLAG_HIDDEN;
- ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
- ar_preview->v2d.cur = ar_preview->v2d.tot;
- }
- if (ar_main) ar_main->alignment= RGN_ALIGN_NONE;
- if (ar_preview) ar_preview->alignment= RGN_ALIGN_TOP;
- break;
- }
-
- ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
- ED_area_tag_redraw(sa);
-}
-
-
/* ******************** default callbacks for sequencer space ***************** */
static SpaceLink *sequencer_new(const bContext *C)
@@ -223,7 +168,7 @@ static SpaceLink *sequencer_new(const bContext *C)
ar->v2d.cur= ar->v2d.tot;
ar->v2d.min[0]= 10.0f;
- ar->v2d.min[1]= 4.0f;
+ ar->v2d.min[1]= 0.5f;
ar->v2d.max[0]= MAXFRAMEF;
ar->v2d.max[1]= MAXSEQ;
@@ -256,6 +201,88 @@ static void sequencer_init(struct wmWindowManager *UNUSED(wm), ScrArea *UNUSED(s
}
+static void sequencer_refresh(const bContext *C, ScrArea *sa)
+{
+ wmWindowManager *wm= CTX_wm_manager(C);
+ wmWindow *window= CTX_wm_window(C);
+ SpaceSeq *sseq= (SpaceSeq *)sa->spacedata.first;
+ ARegion *ar_main= sequencer_find_region(sa, RGN_TYPE_WINDOW);
+ ARegion *ar_preview= sequencer_find_region(sa, RGN_TYPE_PREVIEW);
+ int view_changed= 0;
+
+ switch (sseq->view) {
+ case SEQ_VIEW_SEQUENCE:
+ if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag &= ~RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ view_changed= 1;
+ }
+ if (ar_preview && !(ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag |= RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ WM_event_remove_handlers((bContext*)C, &ar_preview->handlers);
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ break;
+ case SEQ_VIEW_PREVIEW:
+ if (ar_main && !(ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag |= RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ WM_event_remove_handlers((bContext*)C, &ar_main->handlers);
+ view_changed= 1;
+ }
+ if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag &= ~RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ ar_preview->v2d.cur = ar_preview->v2d.tot;
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ break;
+ case SEQ_VIEW_SEQUENCE_PREVIEW:
+ if (ar_main && (ar_main->flag & RGN_FLAG_HIDDEN)) {
+ ar_main->flag &= ~RGN_FLAG_HIDDEN;
+ ar_main->v2d.flag &= ~V2D_IS_INITIALISED;
+ view_changed= 1;
+ }
+ if (ar_preview && (ar_preview->flag & RGN_FLAG_HIDDEN)) {
+ ar_preview->flag &= ~RGN_FLAG_HIDDEN;
+ ar_preview->v2d.flag &= ~V2D_IS_INITIALISED;
+ ar_preview->v2d.cur = ar_preview->v2d.tot;
+ view_changed= 1;
+ }
+ if (ar_main && ar_main->alignment != RGN_ALIGN_TOP) {
+ ar_main->alignment= RGN_ALIGN_NONE;
+ view_changed= 1;
+ }
+ if (ar_preview && ar_preview->alignment != RGN_ALIGN_TOP) {
+ ar_preview->alignment= RGN_ALIGN_TOP;
+ view_changed= 1;
+ }
+ break;
+ }
+
+ if(view_changed) {
+ ED_area_initialize(wm, window, sa);
+ ED_area_tag_redraw(sa);
+ }
+}
+
static SpaceLink *sequencer_duplicate(SpaceLink *sl)
{
SpaceSeq *sseqn= MEM_dupallocN(sl);
@@ -516,6 +543,7 @@ void ED_spacetype_sequencer(void)
st->operatortypes= sequencer_operatortypes;
st->keymap= sequencer_keymap;
st->dropboxes= sequencer_dropboxes;
+ st->refresh= sequencer_refresh;
/* regions: main window */
art= MEM_callocN(sizeof(ARegionType), "spacetype sequencer region");
diff --git a/source/blender/editors/space_sound/CMakeLists.txt b/source/blender/editors/space_sound/CMakeLists.txt
index 367d07c0c0b..870065966cc 100644
--- a/source/blender/editors/space_sound/CMakeLists.txt
+++ b/source/blender/editors/space_sound/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_text/CMakeLists.txt b/source/blender/editors/space_text/CMakeLists.txt
index 0c174225a58..acf00d205a6 100644
--- a/source/blender/editors/space_text/CMakeLists.txt
+++ b/source/blender/editors/space_text/CMakeLists.txt
@@ -23,8 +23,8 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -46,8 +46,12 @@ set(SRC
)
if(WITH_PYTHON)
- list(APPEND INC ../../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/editors/space_text/space_text.c b/source/blender/editors/space_text/space_text.c
index 550f2c937fd..47f051e1ec4 100644
--- a/source/blender/editors/space_text/space_text.c
+++ b/source/blender/editors/space_text/space_text.c
@@ -154,6 +154,11 @@ static void text_listener(ScrArea *sa, wmNotifier *wmn)
case NA_REMOVED:
ED_area_tag_redraw(sa);
break;
+ case NA_SELECTED:
+ if(st->text && st->text == wmn->reference)
+ text_scroll_to_cursor(st, sa);
+
+ break;
}
break;
@@ -274,7 +279,7 @@ static void text_keymap(struct wmKeyConfig *keyconf)
RNA_string_set(kmi->ptr, "data_path", "space_data.font_size");
RNA_boolean_set(kmi->ptr, "reverse", 1);
- WM_keymap_add_item(keymap, "TEXT_OT_new", NKEY, KM_PRESS, KM_ALT, 0);
+ WM_keymap_add_item(keymap, "TEXT_OT_new", NKEY, KM_PRESS, KM_CTRL, 0);
WM_keymap_add_item(keymap, "TEXT_OT_open", OKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "TEXT_OT_reload", RKEY, KM_PRESS, KM_ALT, 0);
WM_keymap_add_item(keymap, "TEXT_OT_save", SKEY, KM_PRESS, KM_ALT, 0);
diff --git a/source/blender/editors/space_text/text_draw.c b/source/blender/editors/space_text/text_draw.c
index 625e5561389..066404f23ba 100644
--- a/source/blender/editors/space_text/text_draw.c
+++ b/source/blender/editors/space_text/text_draw.c
@@ -907,9 +907,12 @@ static void text_update_drawcache(SpaceText *st, ARegion *ar)
void text_drawcache_tag_update(SpaceText *st, int full)
{
- DrawCache *drawcache= (DrawCache *)st->drawcache;
-
- if(drawcache) {
+ /* this happens if text editor ops are caled from python */
+ if (st == NULL)
+ return;
+
+ if(st->drawcache) {
+ DrawCache *drawcache= (DrawCache *)st->drawcache;
Text *txt= st->text;
if(drawcache->update_flag) {
@@ -1818,12 +1821,10 @@ void text_update_character_width(SpaceText *st)
/* Moves the view to the cursor location,
also used to make sure the view isnt outside the file */
-void text_update_cursor_moved(bContext *C)
+void text_scroll_to_cursor(SpaceText *st, ScrArea *sa)
{
- ScrArea *sa= CTX_wm_area(C);
- SpaceText *st= CTX_wm_space_text(C);
Text *text;
- ARegion *ar;
+ ARegion *ar= NULL;
int i, x, winx= 0;
if(ELEM3(NULL, st, st->text, st->text->curl)) return;
@@ -1831,8 +1832,10 @@ void text_update_cursor_moved(bContext *C)
text= st->text;
for(ar=sa->regionbase.first; ar; ar= ar->next)
- if(ar->regiontype==RGN_TYPE_WINDOW)
+ if(ar->regiontype==RGN_TYPE_WINDOW) {
winx= ar->winx;
+ break;
+ }
winx -= TXT_SCROLL_WIDTH;
@@ -1841,7 +1844,7 @@ void text_update_cursor_moved(bContext *C)
i= txt_get_span(text->lines.first, text->sell);
if(st->wordwrap) {
int offl, offc;
- wrap_offset(st, CTX_wm_region(C), text->sell, text->selc, &offl, &offc);
+ wrap_offset(st, ar, text->sell, text->selc, &offl, &offc);
i+= offl;
}
@@ -1862,3 +1865,10 @@ void text_update_cursor_moved(bContext *C)
if(st->left <0) st->left= 0;
}
+void text_update_cursor_moved(bContext *C)
+{
+ ScrArea *sa= CTX_wm_area(C);
+ SpaceText *st= CTX_wm_space_text(C);
+
+ text_scroll_to_cursor(st, sa);
+}
diff --git a/source/blender/editors/space_text/text_intern.h b/source/blender/editors/space_text/text_intern.h
index cb55f41acb5..b34c7815f35 100644
--- a/source/blender/editors/space_text/text_intern.h
+++ b/source/blender/editors/space_text/text_intern.h
@@ -55,6 +55,7 @@ int text_font_width(struct SpaceText *st, const char *str);
void text_update_line_edited(struct TextLine *line);
void text_update_edited(struct Text *text);
void text_update_character_width(struct SpaceText *st);
+void text_scroll_to_cursor(struct SpaceText *st, struct ScrArea *sa);
void text_update_cursor_moved(struct bContext *C);
/* TXT_OFFSET used to be 35 when the scrollbar was on the left... */
diff --git a/source/blender/editors/space_text/text_ops.c b/source/blender/editors/space_text/text_ops.c
index 2bd6bd624df..617bbf62e92 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"
@@ -191,11 +192,12 @@ static int new_exec(bContext *C, wmOperator *UNUSED(op))
void TEXT_OT_new(wmOperatorType *ot)
{
/* identifiers */
- ot->name= "New";
+ ot->name= "Create Text Block";
ot->idname= "TEXT_OT_new";
ot->description= "Create a new text data block";
/* api callbacks */
+ ot->invoke= WM_operator_confirm;
ot->exec= new_exec;
ot->poll= text_new_poll;
@@ -449,15 +451,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 +472,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;
diff --git a/source/blender/editors/space_text/text_python.c b/source/blender/editors/space_text/text_python.c
index 6e6f131655b..51b4b838171 100644
--- a/source/blender/editors/space_text/text_python.c
+++ b/source/blender/editors/space_text/text_python.c
@@ -43,6 +43,7 @@
#include "BKE_text.h"
#include "BLI_blenlib.h"
+#include "BLI_utildefines.h"
#include "WM_types.h"
@@ -192,7 +193,7 @@ static void confirm_suggestion(Text *text, int skipleft)
// XXX
static int doc_scroll= 0;
-static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_texttools)(SpaceText *st, char ascii, unsigned short evnt, short val)
{
ARegion *ar= NULL; // XXX
int qual= 0; // XXX
@@ -375,7 +376,7 @@ static short do_texttools(SpaceText *st, char ascii, unsigned short evnt, short
; // XXX redraw_alltext();
#endif
-static short do_textmarkers(SpaceText *st, char ascii, unsigned short evnt, short val)
+static short UNUSED_FUNCTION(do_textmarkers)(SpaceText *st, char ascii, unsigned short evnt, short val)
{
Text *text;
TextMarker *marker, *mrk, *nxt;
diff --git a/source/blender/editors/space_time/CMakeLists.txt b/source/blender/editors/space_time/CMakeLists.txt
index 79081c7cfd4..758d1e629f9 100644
--- a/source/blender/editors/space_time/CMakeLists.txt
+++ b/source/blender/editors/space_time/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_time/space_time.c b/source/blender/editors/space_time/space_time.c
index e55fbe11e52..6ea7a94b288 100644
--- a/source/blender/editors/space_time/space_time.c
+++ b/source/blender/editors/space_time/space_time.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -71,16 +69,20 @@
static void time_draw_sfra_efra(Scene *scene, View2D *v2d)
{
/* draw darkened area outside of active timeline
- * frame range used is preview range or scene range */
- UI_ThemeColorShade(TH_BACK, -25);
-
- if (PSFRA < PEFRA) {
- glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
- glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
- }
- else {
- glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
- }
+ * frame range used is preview range or scene range
+ */
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glEnable(GL_BLEND);
+ glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
+
+ if (PSFRA < PEFRA) {
+ glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
+ glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+ }
+ else {
+ glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+ }
+ glDisable(GL_BLEND);
UI_ThemeColorShade(TH_BACK, -60);
/* thin lines where the actual frames are */
@@ -277,7 +279,6 @@ static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
BLI_dlrbTree_init(&keys);
/* init dopesheet settings */
- // FIXME: the ob_to_keylist function currently doesn't take this into account...
if (onlysel)
ads.filterflag |= ADS_FILTER_ONLYSEL;
@@ -304,8 +305,8 @@ static void time_draw_idblock_keyframes(View2D *v2d, ID *id, short onlysel)
(ak) && (ak->cfra <= v2d->cur.xmax);
ak=ak->next )
{
- glVertex2f(ak->cfra, v2d->cur.ymin);
- glVertex2f(ak->cfra, v2d->cur.ymax);
+ glVertex2f(ak->cfra, v2d->tot.ymin);
+ glVertex2f(ak->cfra, v2d->tot.ymax);
}
glEnd(); // GL_LINES
@@ -458,9 +459,6 @@ static void time_main_area_draw(const bContext *C, ARegion *ar)
glClear(GL_COLOR_BUFFER_BIT);
UI_view2d_view_ortho(v2d);
-
- /* start and end frame */
- time_draw_sfra_efra(scene, v2d);
/* grid */
unit= (stime->flag & TIME_DRAWFRAMES)? V2D_UNIT_FRAMES: V2D_UNIT_SECONDS;
@@ -468,14 +466,19 @@ static void time_main_area_draw(const bContext *C, ARegion *ar)
UI_view2d_grid_draw(v2d, grid, (V2D_VERTICAL_LINES|V2D_VERTICAL_AXIS));
UI_view2d_grid_free(grid);
+ /* start and end frame */
+ time_draw_sfra_efra(scene, v2d);
+
/* current frame */
+ flag = DRAWCFRA_WIDE; /* this is only really needed on frames where there's a keyframe, but this will do... */
if ((stime->flag & TIME_DRAWFRAMES)==0) flag |= DRAWCFRA_UNIT_SECONDS;
if (stime->flag & TIME_CFRA_NUM) flag |= DRAWCFRA_SHOW_NUMBOX;
ANIM_draw_cfra(C, v2d, flag);
+ UI_view2d_view_ortho(v2d);
+
/* keyframes */
- if(!G.rendering) /* ANIM_nla_mapping_apply_fcurve() modifies curve data while rendering, possible race condition */
- time_draw_keyframes(C, stime, ar);
+ time_draw_keyframes(C, stime, ar);
/* markers */
UI_view2d_view_orthoSpecial(ar, v2d, 1);
diff --git a/source/blender/editors/space_time/time_intern.h b/source/blender/editors/space_time/time_intern.h
index 03ba617de14..094b0bc9e86 100644
--- a/source/blender/editors/space_time/time_intern.h
+++ b/source/blender/editors/space_time/time_intern.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_time/time_ops.c b/source/blender/editors/space_time/time_ops.c
index e9559426b81..78d903a2997 100644
--- a/source/blender/editors/space_time/time_ops.c
+++ b/source/blender/editors/space_time/time_ops.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/editors/space_userpref/CMakeLists.txt b/source/blender/editors/space_userpref/CMakeLists.txt
index 656a5d2f0ef..43ac90dce94 100644
--- a/source/blender/editors/space_userpref/CMakeLists.txt
+++ b/source/blender/editors/space_userpref/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
diff --git a/source/blender/editors/space_view3d/CMakeLists.txt b/source/blender/editors/space_view3d/CMakeLists.txt
index 0a12a28af8d..c6e936606c8 100644
--- a/source/blender/editors/space_view3d/CMakeLists.txt
+++ b/source/blender/editors/space_view3d/CMakeLists.txt
@@ -23,14 +23,14 @@ set(INC
../include
../../blenfont
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../gpu
../../imbuf
../../makesdna
../../makesrna
- ../../windowmanager
../../render/extern/include
+ ../../windowmanager
../../../../intern/guardedalloc
../../../../intern/smoke/extern
)
@@ -61,7 +61,9 @@ set(SRC
)
if(WITH_GAMEENGINE)
- list(APPEND INC ../../../../source/gameengine/BlenderRoutines)
+ list(APPEND INC
+ ../../../gameengine/BlenderRoutines
+ )
add_definitions(-DWITH_GAMEENGINE)
endif()
diff --git a/source/blender/editors/space_view3d/drawanimviz.c b/source/blender/editors/space_view3d/drawanimviz.c
index ee78fd92b79..4a51cb3be09 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);
@@ -389,7 +393,7 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
colfac = (end - (float)CFRA) / range;
UI_ThemeColorShadeAlpha(TH_WIRE, 0, -128-(int)(120.0*sqrt(colfac)));
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -468,7 +472,7 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
CFRA= (int)ak->cfra;
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -538,7 +542,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe+ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
@@ -553,7 +557,7 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe-ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
where_is_pose(scene, ob);
draw_pose_bones(scene, v3d, ar, base, OB_WIRE);
}
diff --git a/source/blender/editors/space_view3d/drawarmature.c b/source/blender/editors/space_view3d/drawarmature.c
index 7c66cec5730..ecf5df4af7c 100644
--- a/source/blender/editors/space_view3d/drawarmature.c
+++ b/source/blender/editors/space_view3d/drawarmature.c
@@ -197,12 +197,10 @@ 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);
- else if (constflag) UI_ThemeColor4(TH_BONE_POSE); // PCHAN_HAS_ACTION
return 1;
}
@@ -269,8 +267,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);
@@ -318,11 +315,9 @@ static float cube[8][3] = {
static void drawsolidcube_size(float xsize, float ysize, float zsize)
{
static GLuint displist=0;
- float n[3];
+ float n[3]= {0.0f};
glScalef(xsize, ysize, zsize);
-
- n[0]=0; n[1]=0; n[2]=0;
if(displist==0) {
displist= glGenLists(1);
@@ -348,7 +343,6 @@ static void drawsolidcube_size(float xsize, float ysize, float zsize)
n[2]= 1.0;
glNormal3fv(n);
glVertex3fv(cube[1]); glVertex3fv(cube[5]); glVertex3fv(cube[6]); glVertex3fv(cube[2]);
- n[2]=0;
n[2]= -1.0;
glNormal3fv(n);
glVertex3fv(cube[7]); glVertex3fv(cube[4]); glVertex3fv(cube[0]); glVertex3fv(cube[3]);
@@ -1217,6 +1211,87 @@ static void draw_b_bone(int dt, int armflag, int boneflag, int constflag, unsign
}
}
+static void draw_wire_bone_segments(bPoseChannel *pchan, Mat4 *bbones, float length, int segments)
+{
+ if ((segments > 1) && (pchan)) {
+ float dlen= length/(float)segments;
+ Mat4 *bbone = bbones;
+ int a;
+
+ for (a=0; a<segments; a++, bbone++) {
+ glPushMatrix();
+ glMultMatrixf(bbone->mat);
+
+ glBegin(GL_LINES);
+ glVertex3f(0.0f, 0.0f, 0.0f);
+ glVertex3f(0.0f, dlen, 0.0f);
+ glEnd(); // GL_LINES
+
+ glPopMatrix();
+ }
+ }
+ else {
+ glPushMatrix();
+
+ glBegin(GL_LINES);
+ glVertex3f(0.0f, 0.0f, 0.0f);
+ glVertex3f(0.0f, length, 0.0f);
+ glEnd();
+
+ glPopMatrix();
+ }
+}
+
+static void draw_wire_bone(int dt, int armflag, int boneflag, int constflag, unsigned int id, bPoseChannel *pchan, EditBone *ebone)
+{
+ Mat4 *bbones = NULL;
+ int segments = 0;
+ float length;
+
+ if (pchan) {
+ segments= pchan->bone->segments;
+ length= pchan->bone->length;
+
+ if (segments > 1)
+ bbones = b_bone_spline_setup(pchan, 0);
+ }
+ else
+ length= ebone->length;
+
+ /* draw points only if... */
+ if (armflag & ARM_EDITMODE) {
+ /* move to unitspace */
+ glPushMatrix();
+ glScalef(length, length, length);
+ draw_bone_points(dt, armflag, boneflag, id);
+ glPopMatrix();
+ length *= 0.95f; // make vertices visible
+ }
+
+ /* this chunk not in object mode */
+ if (armflag & (ARM_EDITMODE|ARM_POSEMODE)) {
+ if (id != -1)
+ glLoadName((GLuint) id|BONESEL_BONE);
+
+ draw_wire_bone_segments(pchan, bbones, length, segments);
+
+ /* further we send no names */
+ if (id != -1)
+ glLoadName(id & 0xFFFF); /* object tag, for bordersel optim */
+ }
+
+ /* colors for modes */
+ if (armflag & ARM_POSEMODE) {
+ set_pchan_glColor(PCHAN_COLOR_NORMAL, boneflag, constflag);
+ }
+ else if (armflag & ARM_EDITMODE) {
+ set_ebone_glColor(boneflag);
+ }
+
+ /* draw normal */
+ draw_wire_bone_segments(pchan, bbones, length, segments);
+}
+
static void draw_bone(int dt, int armflag, int boneflag, int constflag, unsigned int id, float length)
{
@@ -1577,7 +1652,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;
@@ -1656,7 +1731,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
int use_custom = (pchan->custom) && !(arm->flag & ARM_NO_CUSTOM);
glPushMatrix();
- if(use_custom && pchan->custom_tx) {
+ if (use_custom && pchan->custom_tx) {
glMultMatrixf(pchan->custom_tx->pose_mat);
}
else {
@@ -1684,6 +1759,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
else if (arm->drawtype==ARM_LINE)
; /* nothing in solid */
+ else if (arm->drawtype==ARM_WIRE)
+ ; /* nothing in solid */
else if (arm->drawtype==ARM_ENVELOPE)
draw_sphere_bone(OB_SOLID, arm->flag, flag, 0, index, pchan, NULL);
else if (arm->drawtype==ARM_B_BONE)
@@ -1702,7 +1779,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* very very confusing... but in object mode, solid draw, we cannot do glLoadName yet,
* stick bones and/or wire custom-shapes are drawn in next loop
*/
- if ((arm->drawtype != ARM_LINE) && (draw_wire == 0)) {
+ if (ELEM(arm->drawtype,ARM_LINE,ARM_WIRE)==0 && (draw_wire == 0)) {
/* object tag, for bordersel optim */
glLoadName(index & 0xFFFF);
index= -1;
@@ -1737,7 +1814,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)
@@ -1773,8 +1850,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
if (index != -1)
index+= 0x10000; // pose bones count in higher 2 bytes only
}
- /* stick bones have not been drawn yet so dont clear object selection in this case */
- if ((arm->drawtype != ARM_LINE) && draw_wire) {
+ /* stick or wire bones have not been drawn yet so dont clear object selection in this case */
+ if (ELEM(arm->drawtype, ARM_LINE, ARM_WIRE)==0 && draw_wire) {
/* object tag, for bordersel optim */
glLoadName(index & 0xFFFF);
index= -1;
@@ -1784,7 +1861,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* wire draw over solid only in posemode */
if ((dt <= OB_WIRE) || (arm->flag & ARM_POSEMODE) || (arm->drawtype==ARM_LINE)) {
/* draw line check first. we do selection indices */
- if (arm->drawtype==ARM_LINE) {
+ if ELEM(arm->drawtype, ARM_LINE, ARM_WIRE) {
if (arm->flag & ARM_POSEMODE)
index= base->selcol;
}
@@ -1863,11 +1940,7 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
/* extra draw service for pose mode */
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);
@@ -1879,6 +1952,8 @@ static void draw_pose_bones(Scene *scene, View3D *v3d, ARegion *ar, Base *base,
}
else if (arm->drawtype==ARM_LINE)
draw_line_bone(arm->flag, flag, constflag, index, pchan, NULL);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(dt, arm->flag, flag, constflag, index, pchan, NULL);
else if (arm->drawtype==ARM_B_BONE)
draw_b_bone(OB_WIRE, arm->flag, flag, constflag, index, pchan, NULL);
else
@@ -1905,7 +1980,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];
@@ -2013,7 +2088,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
}
/* if solid we draw it first */
- if ((dt > OB_WIRE) && (arm->drawtype!=ARM_LINE)) {
+ if ((dt > OB_WIRE) && (arm->drawtype != ARM_LINE)) {
for (eBone=arm->edbo->first, index=0; eBone; eBone=eBone->next, index++) {
if (eBone->layer & arm->layer) {
if ((eBone->flag & BONE_HIDDEN_A)==0) {
@@ -2034,6 +2109,8 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
draw_sphere_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
else if(arm->drawtype==ARM_B_BONE)
draw_b_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(OB_SOLID, arm->flag, flag, 0, index, NULL, eBone);
else {
draw_bone(OB_SOLID, arm->flag, flag, 0, index, eBone->length);
}
@@ -2047,7 +2124,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
/* if wire over solid, set offset */
index= -1;
glLoadName(-1);
- if (arm->drawtype==ARM_LINE) {
+ if ELEM(arm->drawtype, ARM_LINE, ARM_WIRE) {
if(G.f & G_PICKSEL)
index= 0;
}
@@ -2081,6 +2158,8 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
if (arm->drawtype == ARM_LINE)
draw_line_bone(arm->flag, flag, 0, index, NULL, eBone);
+ else if (arm->drawtype==ARM_WIRE)
+ draw_wire_bone(OB_WIRE, arm->flag, flag, 0, index, NULL, eBone);
else if (arm->drawtype == ARM_B_BONE)
draw_b_bone(OB_WIRE, arm->flag, flag, 0, index, NULL, eBone);
else
@@ -2109,7 +2188,7 @@ static void draw_ebones(View3D *v3d, ARegion *ar, Object *ob, int dt)
/* restore */
if(index!=-1) glLoadName(-1);
- if (arm->drawtype==ARM_LINE);
+ if ELEM(arm->drawtype,ARM_LINE,ARM_WIRE);
else if (dt>OB_WIRE) bglPolygonOffset(rv3d->dist, 0.0f);
/* finally names and axes */
@@ -2257,9 +2336,9 @@ static void draw_ghost_poses_range(Scene *scene, View3D *v3d, ARegion *ar, Base
colfac = (end - (float)CFRA) / range;
UI_ThemeColorShadeAlpha(TH_WIRE, 0, -128-(int)(120.0*sqrt(colfac)));
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &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);
@@ -2336,9 +2415,9 @@ static void draw_ghost_poses_keys(Scene *scene, View3D *v3d, ARegion *ar, Base *
CFRA= (int)ak->cfra;
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &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);
@@ -2406,9 +2485,9 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe+ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &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);
}
}
@@ -2421,9 +2500,9 @@ static void draw_ghost_poses(Scene *scene, View3D *v3d, ARegion *ar, Base *base)
CFRA= (int)BKE_nla_tweakedit_remap(adt, actframe-ctime, NLATIME_CONVERT_MAP);
if (CFRA != cfrao) {
- BKE_animsys_evaluate_animdata(&ob->id, adt, (float)CFRA, ADT_RECALC_ALL);
+ BKE_animsys_evaluate_animdata(scene, &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 +2523,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 +2589,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 f070bae4e54..6e02ecbd5a8 100644
--- a/source/blender/editors/space_view3d/drawmesh.c
+++ b/source/blender/editors/space_view3d/drawmesh.c
@@ -29,7 +29,6 @@
* \ingroup spview3d
*/
-
#include <string.h>
#include <math.h>
@@ -70,24 +69,21 @@
#include "view3d_intern.h" // own include
-/***/
+/**************************** Face Select Mode *******************************/
- /* Flags for marked edges */
+/* Flags for marked edges */
enum {
eEdge_Visible = (1<<0),
eEdge_Select = (1<<1),
};
- /* Creates a hash of edges to flags indicating
- * adjacent tface select/active/etc flags.
- */
+/* Creates a hash of edges to flags indicating selected/visible */
static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flags)
{
int *flags_p;
- if (!BLI_edgehash_haskey(eh, v0, v1)) {
+ if(!BLI_edgehash_haskey(eh, v0, v1))
BLI_edgehash_insert(eh, v0, v1, NULL);
- }
flags_p = (int*) BLI_edgehash_lookup_p(eh, v0, v1);
*flags_p |= flags;
@@ -96,26 +92,25 @@ static void get_marked_edge_info__orFlags(EdgeHash *eh, int v0, int v1, int flag
static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
{
EdgeHash *eh = BLI_edgehash_new();
- int i;
MFace *mf;
+ int i;
- for (i=0; i<me->totface; i++) {
+ for(i=0; i<me->totface; i++) {
mf = &me->mface[i];
- if (mf->v3) {
- if (!(mf->flag&ME_HIDE)) {
- unsigned int flags = eEdge_Visible;
- if (mf->flag&ME_FACE_SEL) flags |= eEdge_Select;
-
- get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags);
- get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags);
- if (mf->v4) {
- get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags);
- get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags);
- } else {
- get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags);
- }
+ if(!(mf->flag & ME_HIDE)) {
+ unsigned int flags = eEdge_Visible;
+ if(mf->flag & ME_FACE_SEL) flags |= eEdge_Select;
+
+ get_marked_edge_info__orFlags(eh, mf->v1, mf->v2, flags);
+ get_marked_edge_info__orFlags(eh, mf->v2, mf->v3, flags);
+
+ if(mf->v4) {
+ get_marked_edge_info__orFlags(eh, mf->v3, mf->v4, flags);
+ get_marked_edge_info__orFlags(eh, mf->v4, mf->v1, flags);
}
+ else
+ get_marked_edge_info__orFlags(eh, mf->v3, mf->v1, flags);
}
}
@@ -123,45 +118,24 @@ static EdgeHash *get_tface_mesh_marked_edge_info(Mesh *me)
}
-static int draw_tfaces3D__setHiddenOpts(void *userData, int index)
+static int draw_mesh_face_select__setHiddenOpts(void *userData, int index)
{
struct { Mesh *me; EdgeHash *eh; } *data = userData;
Mesh *me= data->me;
MEdge *med = &me->medge[index];
uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
- if((me->drawflag & ME_DRAWSEAMS) && (med->flag&ME_SEAM)) {
- return 0;
- } else if(me->drawflag & ME_DRAWEDGES){
- if (me->drawflag & ME_HIDDENEDGES) {
+ if(me->drawflag & ME_DRAWEDGES) {
+ if(me->drawflag & ME_HIDDENEDGES)
return 1;
- } else {
- return (flags & eEdge_Visible);
- }
- } else {
- return (flags & eEdge_Select);
- }
-}
-
-static int draw_tfaces3D__setSeamOpts(void *userData, int index)
-{
- struct { Mesh *me; EdgeHash *eh; } *data = userData;
- Mesh *me= data->me;
- MEdge *med = &data->me->medge[index];
- uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
-
- if (med->flag & ME_SEAM) {
- if (me->drawflag & ME_HIDDENEDGES) {
- return 1;
- } else {
+ else
return (flags & eEdge_Visible);
- }
- } else {
- return 0;
}
+ else
+ return (flags & eEdge_Select);
}
-static int draw_tfaces3D__setSelectOpts(void *userData, int index)
+static int draw_mesh_face_select__setSelectOpts(void *userData, int index)
{
struct { Mesh *me; EdgeHash *eh; } *data = userData;
MEdge *med = &data->me->medge[index];
@@ -170,45 +144,19 @@ static int draw_tfaces3D__setSelectOpts(void *userData, int index)
return flags & eEdge_Select;
}
-#if 0
-static int draw_tfaces3D__setActiveOpts(void *userData, int index)
-{
- struct { Mesh *me; EdgeHash *eh; } *data = userData;
- MEdge *med = &data->me->medge[index];
- uintptr_t flags = (intptr_t) BLI_edgehash_lookup(data->eh, med->v1, med->v2);
-
- if (flags & eEdge_Select) {
- return 1;
- } else {
- return 0;
- }
-}
-
-static int draw_tfaces3D__drawFaceOpts(void *userData, int index)
-{
- Mesh *me = (Mesh*)userData;
-
- MFace *mface = &me->mface[index];
- if (!(mface->flag&ME_HIDE) && (mface->flag&ME_FACE_SEL))
- return 2; /* Don't set color */
- else
- return 0;
-}
-#endif
-
/* draws unselected */
-static int draw_tfaces3D__drawFaceOptsInv(void *userData, int index)
+static int draw_mesh_face_select__drawFaceOptsInv(void *userData, int index)
{
Mesh *me = (Mesh*)userData;
MFace *mface = &me->mface[index];
- if (!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL))
+ if(!(mface->flag&ME_HIDE) && !(mface->flag&ME_FACE_SEL))
return 2; /* Don't set color */
else
return 0;
}
-static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short draw_seams)
+static void draw_mesh_face_select(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm)
{
struct { Mesh *me; EdgeHash *eh; } data;
@@ -222,30 +170,16 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
/* Draw (Hidden) Edges */
setlinestyle(1);
UI_ThemeColor(TH_EDGE_FACESEL);
- dm->drawMappedEdges(dm, draw_tfaces3D__setHiddenOpts, &data);
+ dm->drawMappedEdges(dm, draw_mesh_face_select__setHiddenOpts, &data);
setlinestyle(0);
- /* Draw Seams */
- if(draw_seams && me->drawflag & ME_DRAWSEAMS) {
- UI_ThemeColor(TH_EDGE_SEAM);
- glLineWidth(2);
- dm->drawMappedEdges(dm, draw_tfaces3D__setSeamOpts, &data);
- glLineWidth(1);
- }
-
/* Draw Selected Faces */
if(me->drawflag & ME_DRAWFACES) {
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-#if 0
- UI_ThemeColor4(TH_FACE_SELECT);
-
- dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOpts, (void*)me);
-#else
/* dull unselected faces so as not to get in the way of seeing color */
glColor4ub(96, 96, 96, 64);
- dm->drawMappedFacesTex(dm, draw_tfaces3D__drawFaceOptsInv, (void*)me);
-#endif
+ dm->drawMappedFacesTex(dm, draw_mesh_face_select__drawFaceOptsInv, (void*)me);
glDisable(GL_BLEND);
}
@@ -255,7 +189,7 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
/* Draw Stippled Outline for selected faces */
glColor3ub(255, 255, 255);
setlinestyle(1);
- dm->drawMappedEdges(dm, draw_tfaces3D__setSelectOpts, &data);
+ dm->drawMappedEdges(dm, draw_mesh_face_select__setSelectOpts, &data);
setlinestyle(0);
bglPolygonOffset(rv3d->dist, 0.0); // resets correctly now, even after calling accumulated offsets
@@ -263,6 +197,8 @@ static void draw_tfaces3D(RegionView3D *rv3d, Mesh *me, DerivedMesh *dm, short d
BLI_edgehash_free(data.eh, NULL);
}
+/***************************** Texture Drawing ******************************/
+
static Material *give_current_material_or_def(Object *ob, int matnr)
{
extern Material defmaterial; // render module abuse...
@@ -668,18 +604,21 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
if(ob->mode & OB_MODE_EDIT) {
dm->drawMappedFacesTex(dm, draw_em_tf_mapped__set_draw, me->edit_mesh);
- } else if(faceselect) {
+ }
+ else if(faceselect) {
if(ob->mode & OB_MODE_WEIGHT_PAINT)
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me, 1, GPU_enable_material, NULL);
else
dm->drawMappedFacesTex(dm, me->mface ? draw_tface_mapped__set_draw : NULL, me);
}
else {
- if( GPU_buffer_legacy(dm) )
+ if(GPU_buffer_legacy(dm)) {
dm->drawFacesTex(dm, draw_tface__set_draw_legacy);
+ }
else {
- if( !CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL) )
+ if(!CustomData_has_layer(&dm->faceData,CD_TEXTURE_MCOL))
add_tface_color_layer(dm);
+
dm->drawFacesTex(dm, draw_tface__set_draw);
}
}
@@ -692,7 +631,7 @@ void draw_mesh_textured(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *o
/* draw edges and selected faces over textured mesh */
if(!(ob == scene->obedit) && faceselect)
- draw_tfaces3D(rv3d, me, dm, ob->mode & OB_MODE_WEIGHT_PAINT);
+ draw_mesh_face_select(rv3d, me, dm);
/* reset from negative scale correction */
glFrontFace(GL_CCW);
diff --git a/source/blender/editors/space_view3d/drawobject.c b/source/blender/editors/space_view3d/drawobject.c
index 391eecbbbae..d573198aa10 100644
--- a/source/blender/editors/space_view3d/drawobject.c
+++ b/source/blender/editors/space_view3d/drawobject.c
@@ -45,6 +45,7 @@
#include "DNA_meta_types.h"
#include "DNA_scene_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_world_types.h"
#include "DNA_armature_types.h"
@@ -215,7 +216,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)
@@ -1335,6 +1336,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)
{
@@ -1348,7 +1354,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;
@@ -1478,6 +1492,47 @@ static void drawcamera(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object *ob
}
}
+/* flag similar to draw_object() */
+static void drawspeaker(Scene *UNUSED(scene), View3D *UNUSED(v3d), RegionView3D *UNUSED(rv3d), Object *UNUSED(ob), int UNUSED(flag))
+{
+ //Speaker *spk = ob->data;
+
+ float vec[3];
+ int i, j;
+
+ glEnable(GL_BLEND);
+
+ for(j = 0; j < 3; j++) {
+ vec[2] = 0.25f * j -0.125f;
+
+ glBegin(GL_LINE_LOOP);
+ for(i = 0; i < 16; i++) {
+ vec[0] = cosf(M_PI * i / 8.0f) * (j == 0 ? 0.5f : 0.25f);
+ vec[1] = sinf(M_PI * i / 8.0f) * (j == 0 ? 0.5f : 0.25f);
+ glVertex3fv(vec);
+ }
+ glEnd();
+ }
+
+ for(j = 0; j < 4; j++) {
+ vec[0] = (((j + 1) % 2) * (j - 1)) * 0.5f;
+ vec[1] = ((j % 2) * (j - 2)) * 0.5f;
+ glBegin(GL_LINE_STRIP);
+ for(i = 0; i < 3; i++) {
+ if(i == 1) {
+ vec[0] *= 0.5f;
+ vec[1] *= 0.5f;
+ }
+
+ vec[2] = 0.25f * i -0.125f;
+ glVertex3fv(vec);
+ }
+ glEnd();
+ }
+
+ glDisable(GL_BLEND);
+}
+
static void lattice_draw_verts(Lattice *lt, DispList *dl, short sel)
{
BPoint *bp = lt->def;
@@ -2017,6 +2072,28 @@ static int draw_dm_faces_sel__setDrawOptions(void *userData, int index, int *UNU
return 0;
}
+static int draw_dm_faces_sel__compareDrawOptions(void *userData, int index, int next_index)
+{
+ struct { unsigned char *cols[3]; EditFace *efa_act; } * data = userData;
+ EditFace *efa = EM_get_face_for_index(index);
+ EditFace *next_efa = EM_get_face_for_index(next_index);
+ unsigned char *col, *next_col;
+
+ if(efa == next_efa)
+ return 1;
+
+ if(efa == data->efa_act || next_efa == data->efa_act)
+ return 0;
+
+ col = data->cols[(efa->f&SELECT)?1:0];
+ next_col = data->cols[(next_efa->f&SELECT)?1:0];
+
+ if(col[3]==0 || next_col[3]==0)
+ return 0;
+
+ return col == next_col;
+}
+
/* also draws the active face */
static void draw_dm_faces_sel(DerivedMesh *dm, unsigned char *baseCol, unsigned char *selCol, unsigned char *actCol, EditFace *efa_act)
{
@@ -2026,7 +2103,7 @@ static void draw_dm_faces_sel(DerivedMesh *dm, unsigned char *baseCol, unsigned
data.cols[2] = actCol;
data.efa_act = efa_act;
- dm->drawMappedFaces(dm, draw_dm_faces_sel__setDrawOptions, &data, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, draw_dm_faces_sel__setDrawOptions, &data, 0, GPU_enable_material, draw_dm_faces_sel__compareDrawOptions);
}
static int draw_dm_creases__setDrawOptions(void *UNUSED(userData), int index)
@@ -2354,7 +2431,20 @@ static void draw_em_measure_stats(View3D *v3d, RegionView3D *rv3d, Object *ob, E
}
}
}
-
+
+ /* useful for debugging index vs shape key index */
+#if 0
+ {
+ EditVert *eve;
+ int j;
+ UI_GetThemeColor3ubv(TH_DRAWEXTRA_FACEANG, col);
+ for(eve= em->verts.first, j= 0; eve; eve= eve->next, j++) {
+ sprintf(val, "%d:%d", j, eve->keyindex);
+ view3d_cached_text_draw_add(eve->co, val, 0, V3D_CACHE_TEXT_ASCII, col);
+ }
+ }
+#endif
+
if(v3d->zbuf) {
glEnable(GL_DEPTH_TEST);
bglPolygonOffset(rv3d->dist, 0.0f);
@@ -2423,7 +2513,7 @@ static void draw_em_fancy(Scene *scene, View3D *v3d, RegionView3D *rv3d, Object
glEnable(GL_LIGHTING);
glFrontFace((ob->transflag&OB_NEG_SCALE)?GL_CW:GL_CCW);
- finalDM->drawMappedFaces(finalDM, draw_em_fancy__setFaceOpts, NULL, 0, GPU_enable_material);
+ finalDM->drawMappedFaces(finalDM, draw_em_fancy__setFaceOpts, NULL, 0, GPU_enable_material, NULL);
glFrontFace(GL_CCW);
glDisable(GL_LIGHTING);
@@ -2584,7 +2674,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)
@@ -2653,7 +2742,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
/* weight paint in solid mode, special case. focus on making the weights clear
* 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);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material, NULL);
bglPolygonOffset(rv3d->dist, 1.0);
glDepthMask(0); // disable write in zbuffer, selected edge wires show better
@@ -2718,10 +2807,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);
@@ -2736,7 +2822,7 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
glEnable(GL_LIGHTING);
glEnable(GL_COLOR_MATERIAL);
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, me->mface, 1, GPU_enable_material, NULL);
glDisable(GL_COLOR_MATERIAL);
glDisable(GL_LIGHTING);
@@ -2744,44 +2830,12 @@ static void draw_mesh_fancy(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
}
else if(ob->mode & (OB_MODE_VERTEX_PAINT|OB_MODE_TEXTURE_PAINT)) {
if(me->mcol)
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 1, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 1, GPU_enable_material, NULL);
else {
glColor3f(1.0f, 1.0f, 1.0f);
- dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, wpaint__setSolidDrawOptions, NULL, 0, GPU_enable_material, NULL);
}
}
- 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);
}
}
@@ -2854,7 +2908,18 @@ static int draw_mesh_object(Scene *scene, ARegion *ar, View3D *v3d, RegionView3D
Object *obedit= scene->obedit;
Mesh *me= ob->data;
EditMesh *em= me->edit_mesh;
- int do_alpha_pass= 0, drawlinked= 0, retval= 0, glsl, check_alpha;
+ int do_alpha_pass= 0, drawlinked= 0, retval= 0, glsl, check_alpha, i;
+
+ /* If we are drawing shadows and any of the materials don't cast a shadow,
+ * then don't draw the object */
+ if (v3d->flag2 & V3D_RENDER_SHADOW) {
+ for(i=0; i<ob->totcol; ++i) {
+ Material *ma= give_current_material(ob, i);
+ if (ma && !(ma->mode & MA_SHADBUF)) {
+ return 1;
+ }
+ }
+ }
if(obedit && ob!=obedit && ob->data==obedit->data) {
if(ob_get_key(ob) || ob_get_key(obedit));
@@ -3139,57 +3204,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;
@@ -3270,10 +3284,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);
@@ -3312,10 +3322,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);
@@ -3341,11 +3347,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);
@@ -3713,8 +3714,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;
@@ -3884,7 +3883,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;
}
@@ -3904,7 +3916,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;
}
@@ -5540,8 +5565,8 @@ 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);
+ if(!(ob->mode & OB_MODE_POSE && base == scene->basact))
+ draw_armature(scene, v3d, ar, base, OB_WIRE, FALSE, TRUE);
}
glLineWidth(1.0);
@@ -5797,7 +5822,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
/* if( ((int)ob->ctime) != F_(scene->r.cfra)) where_is_object(scene, ob); */
/* draw motion paths (in view space) */
- if (ob->mpath) {
+ if (ob->mpath && (v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
bAnimVizSettings *avs= &ob->avs;
/* setup drawing environment for paths */
@@ -5812,7 +5837,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) {
@@ -5822,6 +5847,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
else {
if(ob->type==OB_LAMP) UI_ThemeColor(TH_LAMP);
+ else if(ob->type==OB_SPEAKER) UI_ThemeColor(TH_SPEAKER);
else UI_ThemeColor(TH_WIRE);
if((scene->basact)==base) {
@@ -6069,6 +6095,10 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0 || (rv3d->persp==RV3D_CAMOB && v3d->camera==ob)) /* special exception for active camera */
drawcamera(scene, v3d, rv3d, ob, flag);
break;
+ case OB_SPEAKER:
+ if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0)
+ drawspeaker(scene, v3d, rv3d, ob, flag);
+ break;
case OB_LATTICE:
if((v3d->flag2 & V3D_RENDER_OVERRIDE)==0) {
drawlattice(scene, v3d, ob);
@@ -6077,7 +6107,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;
@@ -6163,8 +6193,7 @@ void draw_object(Scene *scene, ARegion *ar, View3D *v3d, Base *base, int flag)
}
/* draw code for smoke */
- if((md = modifiers_findByType(ob, eModifierType_Smoke)))
- {
+ if((md = modifiers_findByType(ob, eModifierType_Smoke))) {
SmokeModifierData *smd = (SmokeModifierData *)md;
// draw collision objects
@@ -6311,7 +6340,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};
@@ -6499,7 +6528,7 @@ static void bbs_mesh_solid_EM(Scene *scene, View3D *v3d, Object *ob, DerivedMesh
cpack(0);
if (facecol) {
- dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*)(intptr_t) 1, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*)(intptr_t) 1, 0, GPU_enable_material, NULL);
if(check_ob_drawface_dot(scene, v3d, ob->dt)) {
glPointSize(UI_GetThemeValuef(TH_FACEDOT_SIZE));
@@ -6510,7 +6539,7 @@ static void bbs_mesh_solid_EM(Scene *scene, View3D *v3d, Object *ob, DerivedMesh
}
} else {
- dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*) 0, 0, GPU_enable_material);
+ dm->drawMappedFaces(dm, bbs_mesh_solid__setSolidDrawOptions, (void*) 0, 0, GPU_enable_material, NULL);
}
}
@@ -6539,8 +6568,8 @@ static void bbs_mesh_solid(Scene *scene, Object *ob)
glColor3ub(0, 0, 0);
- if((me->editflag & ME_EDIT_PAINT_MASK)) dm->drawMappedFaces(dm, bbs_mesh_solid_hide__setDrawOpts, me, 0, GPU_enable_material);
- else dm->drawMappedFaces(dm, bbs_mesh_solid__setDrawOpts, me, 0, GPU_enable_material);
+ if((me->editflag & ME_EDIT_PAINT_MASK)) dm->drawMappedFaces(dm, bbs_mesh_solid_hide__setDrawOpts, me, 0, GPU_enable_material, NULL);
+ else dm->drawMappedFaces(dm, bbs_mesh_solid__setDrawOpts, me, 0, GPU_enable_material, NULL);
dm->release(dm);
}
@@ -6556,7 +6585,6 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
switch( ob->type) {
case OB_MESH:
- {
if(ob->mode & OB_MODE_EDIT) {
Mesh *me= ob->data;
EditMesh *em= me->edit_mesh;
@@ -6590,8 +6618,9 @@ void draw_object_backbufsel(Scene *scene, View3D *v3d, RegionView3D *rv3d, Objec
EM_free_index_arrays();
}
- else bbs_mesh_solid(scene, ob);
- }
+ else {
+ bbs_mesh_solid(scene, ob);
+ }
break;
case OB_CURVE:
case OB_SURF:
@@ -6647,7 +6676,7 @@ static void draw_object_mesh_instance(Scene *scene, View3D *v3d, RegionView3D *r
GPU_end_object_materials();
}
else if(edm)
- edm->drawMappedFaces(edm, NULL, NULL, 0, GPU_enable_material);
+ edm->drawMappedFaces(edm, NULL, NULL, 0, GPU_enable_material, NULL);
glDisable(GL_LIGHTING);
}
diff --git a/source/blender/editors/space_view3d/space_view3d.c b/source/blender/editors/space_view3d/space_view3d.c
index fb67e38cbf7..6833dec2e43 100644
--- a/source/blender/editors/space_view3d/space_view3d.c
+++ b/source/blender/editors/space_view3d/space_view3d.c
@@ -208,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 573951da4ca..98768e369cb 100644
--- a/source/blender/editors/space_view3d/view3d_draw.c
+++ b/source/blender/editors/space_view3d/view3d_draw.c
@@ -627,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 */
@@ -647,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);
@@ -666,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 */
@@ -675,6 +675,104 @@ static void draw_view_axis(RegionView3D *rv3d)
glDisable(GL_BLEND);
}
+/* draw center and axis of rotation for ongoing 3D mouse navigation */
+static void draw_rotation_guide(RegionView3D *rv3d)
+{
+ float o[3]; // center of rotation
+ float end[3]; // endpoints for drawing
+
+ float color[4] = {0.f ,0.4235f, 1.f, 1.f}; // bright blue so it matches device LEDs
+
+ negate_v3_v3(o, rv3d->ofs);
+
+ glEnable(GL_BLEND);
+ glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+ glShadeModel(GL_SMOOTH);
+ glPointSize(5);
+ glEnable(GL_POINT_SMOOTH);
+ glDepthMask(0); // don't overwrite zbuf
+
+ if (rv3d->rot_angle != 0.f) {
+ // -- draw rotation axis --
+ float scaled_axis[3];
+ const float scale = rv3d->dist;
+ mul_v3_v3fl(scaled_axis, rv3d->rot_axis, scale);
+
+ glBegin(GL_LINE_STRIP);
+ color[3] = 0.f; // more transparent toward the ends
+ glColor4fv(color);
+ add_v3_v3v3(end, o, scaled_axis);
+ glVertex3fv(end);
+
+ // color[3] = 0.2f + fabsf(rv3d->rot_angle); // modulate opacity with angle
+ // ^^ neat idea, but angle is frame-rate dependent, so it's usually close to 0.2
+
+ color[3] = 0.5f; // more opaque toward the center
+ glColor4fv(color);
+ glVertex3fv(o);
+
+ color[3] = 0.f;
+ glColor4fv(color);
+ sub_v3_v3v3(end, o, scaled_axis);
+ glVertex3fv(end);
+ glEnd();
+
+ // -- draw ring around rotation center --
+ {
+ #define ROT_AXIS_DETAIL 13
+ const float s = 0.05f * scale;
+ const float step = 2.f * (float)(M_PI / ROT_AXIS_DETAIL);
+ float angle;
+ int i;
+
+ float q[4]; // rotate ring so it's perpendicular to axis
+ const int upright = fabsf(rv3d->rot_axis[2]) >= 0.95f;
+ if (!upright)
+ {
+ const float up[3] = {0.f, 0.f, 1.f};
+ float vis_angle, vis_axis[3];
+
+ cross_v3_v3v3(vis_axis, up, rv3d->rot_axis);
+ vis_angle = acosf(dot_v3v3(up, rv3d->rot_axis));
+ axis_angle_to_quat(q, vis_axis, vis_angle);
+ }
+
+ color[3] = 0.25f; // somewhat faint
+ glColor4fv(color);
+ glBegin(GL_LINE_LOOP);
+ for (i = 0, angle = 0.f; i < ROT_AXIS_DETAIL; ++i, angle += step)
+ {
+ float p[3] = { s * cosf(angle), s * sinf(angle), 0.f };
+
+ if (!upright)
+ mul_qt_v3(q, p);
+
+ add_v3_v3(p, o);
+ glVertex3fv(p);
+ }
+ glEnd();
+ }
+
+ color[3] = 1.f; // solid dot
+ }
+ else
+ color[3] = 0.5f; // see-through dot
+
+ // -- draw rotation center --
+ glColor4fv(color);
+ glBegin(GL_POINTS);
+ glVertex3fv(o);
+ glEnd();
+
+ // find screen coordinates for rotation center, then draw pretty icon
+ // mul_m4_v3(rv3d->persinv, rot_center);
+ // UI_icon_draw(rot_center[0], rot_center[1], ICON_NDOF_TURN);
+ // ^^ just playing around, does not work
+
+ glDisable(GL_BLEND);
+ glDisable(GL_POINT_SMOOTH);
+ glDepthMask(1);
+}
static void draw_view_icon(RegionView3D *rv3d)
{
@@ -757,7 +855,7 @@ 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));
}
}
@@ -943,7 +1041,7 @@ static void drawviewborder_triangle(float x1, float x2, float y1, float y2, cons
glBegin(GL_LINES);
if(w > h) {
if(golden) {
- ofs = w * (1.0f-(1.0f/1.61803399));
+ ofs = w * (1.0f-(1.0f/1.61803399f));
}
else {
ofs = h * (h / w);
@@ -961,7 +1059,7 @@ static void drawviewborder_triangle(float x1, float x2, float y1, float y2, cons
}
else {
if(golden) {
- ofs = h * (1.0f-(1.0f/1.61803399));
+ ofs = h * (1.0f-(1.0f/1.61803399f));
}
else {
ofs = w * (w / h);
@@ -1007,6 +1105,8 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
/* 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));
@@ -1039,7 +1139,15 @@ 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);
@@ -1093,7 +1201,7 @@ static void drawviewborder(Scene *scene, ARegion *ar, View3D *v3d)
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));
+ drawviewborder_grid3(x1, x2, y1, y2, 1.0f-(1.0f/1.61803399f));
}
if (ca->dtx & CAM_DTX_GOLDEN_TRI_A) {
@@ -2045,7 +2153,7 @@ static void gpu_update_lamps_shadows(Scene *scene, View3D *v3d)
v3d->drawtype = OB_SOLID;
v3d->lay &= GPU_lamp_shadow_layer(shadow->lamp);
v3d->flag2 &= ~V3D_SOLID_TEX;
- v3d->flag2 |= V3D_RENDER_OVERRIDE;
+ v3d->flag2 |= V3D_RENDER_OVERRIDE | V3D_RENDER_SHADOW;
GPU_lamp_shadow_buffer_bind(shadow->lamp, viewmat, &winsize, winmat);
@@ -2074,10 +2182,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;
@@ -2168,6 +2272,7 @@ static void view3d_main_area_setup_view(Scene *scene, View3D *v3d, ARegion *ar,
void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx, int winy, float viewmat[][4], float winmat[][4])
{
+ RegionView3D *rv3d= ar->regiondata;
Base *base;
float backcol[3];
int bwinx, bwiny;
@@ -2216,6 +2321,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
/* setup view matrices */
view3d_main_area_setup_view(scene, v3d, ar, viewmat, winmat);
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_draw_clipping(rv3d);
+
/* set zbuffer */
if(v3d->drawtype > OB_WIRE) {
v3d->zbuf= TRUE;
@@ -2224,6 +2332,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
else
v3d->zbuf= FALSE;
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_set_clipping(rv3d);
+
/* draw set first */
if(scene->set) {
Scene *sce_iter;
@@ -2259,6 +2370,9 @@ void ED_view3d_draw_offscreen(Scene *scene, View3D *v3d, ARegion *ar, int winx,
if(v3d->afterdraw_xray.first) view3d_draw_xray(scene, ar, v3d, 1); // clears zbuffer if it is used!
if(v3d->afterdraw_xraytransp.first) view3d_draw_xraytransp(scene, ar, v3d, 1);
+ if(rv3d->rflag & RV3D_CLIPPING)
+ view3d_clr_clipping();
+
/* cleanup */
if(v3d->zbuf) {
v3d->zbuf= FALSE;
@@ -2426,7 +2540,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() */
@@ -2610,6 +2724,10 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
BDR_drawSketch(C);
}
+ if ((U.ndof_flag & NDOF_SHOW_GUIDE) && (rv3d->viewlock != RV3D_LOCKED) && (rv3d->persp != RV3D_CAMOB))
+ // TODO: draw something else (but not this) during fly mode
+ draw_rotation_guide(rv3d);
+
ED_region_pixelspace(ar);
// retopo_paint_view_update(v3d);
@@ -2648,7 +2766,7 @@ 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;
@@ -2659,3 +2777,4 @@ void view3d_main_area_draw(const bContext *C, ARegion *ar)
v3d->flag |= V3D_INVALID_BACKBUF;
}
+
diff --git a/source/blender/editors/space_view3d/view3d_edit.c b/source/blender/editors/space_view3d/view3d_edit.c
index 9ff73767b4c..19e8d42db2d 100644
--- a/source/blender/editors/space_view3d/view3d_edit.c
+++ b/source/blender/editors/space_view3d/view3d_edit.c
@@ -97,7 +97,8 @@ void ED_view3d_camera_lock_init(View3D *v3d, RegionView3D *rv3d)
}
}
-void ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
+/* return TRUE if the camera is moved */
+int ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
{
if(ED_view3d_camera_lock_check(v3d, rv3d)) {
Object *root_parent;
@@ -129,10 +130,14 @@ void ED_view3d_camera_lock_sync(View3D *v3d, RegionView3D *rv3d)
}
else {
ED_view3d_to_object(v3d->camera, rv3d->ofs, rv3d->viewquat, rv3d->dist);
- root_parent= v3d->camera;
DAG_id_tag_update(&v3d->camera->id, OB_RECALC_OB);
WM_main_add_notifier(NC_OBJECT|ND_TRANSFORM, v3d->camera);
}
+
+ return TRUE;
+ }
+ else {
+ return FALSE;
}
}
@@ -373,12 +378,12 @@ static void calctrackballvec(rcti *rect, int mx, int my, float *vec)
y/= (float)((rect->ymax - rect->ymin)/2);
d = sqrt(x*x + y*y);
- if (d < radius * (float)M_SQRT1_2) /* Inside sphere */
- z = sqrt(radius*radius - d*d);
- else
- { /* On hyperbola */
- t = radius / (float)M_SQRT2;
- z = t*t / d;
+ if (d < radius * (float)M_SQRT1_2) { /* Inside sphere */
+ z= sqrt(radius*radius - d*d);
+ }
+ else { /* On hyperbola */
+ t= radius / (float)M_SQRT2;
+ z= t*t / d;
}
vec[0]= x;
@@ -929,6 +934,253 @@ void VIEW3D_OT_rotate(wmOperatorType *ot)
ot->flag= OPTYPE_BLOCKING|OPTYPE_GRAB_POINTER;
}
+// NDOF utility functions
+// (should these functions live in this file?)
+float ndof_to_axis_angle(struct wmNDOFMotionData* ndof, float axis[3])
+{
+ return ndof->dt * normalize_v3_v3(axis, ndof->rvec);
+}
+
+void ndof_to_quat(struct wmNDOFMotionData* ndof, float q[4])
+{
+ float axis[3];
+ float angle;
+
+ angle= ndof_to_axis_angle(ndof, axis);
+ axis_angle_to_quat(q, axis, angle);
+}
+
+/* -- "orbit" navigation (trackball/turntable)
+ * -- zooming
+ * -- panning in rotationally-locked views
+ */
+static int ndof_orbit_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ View3D *v3d= CTX_wm_view3d(C);
+ RegionView3D* rv3d = CTX_wm_region_view3d(C);
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ ED_view3d_camera_lock_init(v3d, rv3d);
+
+ rv3d->rot_angle = 0.f; // off by default, until changed later this function
+
+ if (ndof->progress != P_FINISHING) {
+ const float dt = ndof->dt;
+
+ // tune these until everything feels right
+ const float rot_sensitivity = 1.f;
+ const float zoom_sensitivity = 1.f;
+ const float pan_sensitivity = 1.f;
+
+ // rather have bool, but...
+ int has_rotation = rv3d->viewlock != RV3D_LOCKED && !is_zero_v3(ndof->rvec);
+
+ float view_inv[4];
+ invert_qt_qt(view_inv, rv3d->viewquat);
+
+ //#define DEBUG_NDOF_MOTION
+ #ifdef DEBUG_NDOF_MOTION
+ printf("ndof: T=(%.2f,%.2f,%.2f) R=(%.2f,%.2f,%.2f) dt=%.3f delivered to 3D view\n",
+ ndof->tx, ndof->ty, ndof->tz, ndof->rx, ndof->ry, ndof->rz, ndof->dt);
+ #endif
+
+ if (ndof->tvec[2]) {
+ // Zoom!
+ // velocity should be proportional to the linear velocity attained by rotational motion of same strength
+ // [got that?]
+ // proportional to arclength = radius * angle
+
+ float zoom_distance = zoom_sensitivity * rv3d->dist * dt * ndof->tvec[2];
+
+ if (U.ndof_flag & NDOF_ZOOM_INVERT)
+ zoom_distance = -zoom_distance;
+
+ rv3d->dist += zoom_distance;
+ }
+
+ if (rv3d->viewlock == RV3D_LOCKED) {
+ /* rotation not allowed -- explore panning options instead */
+ float pan_vec[3] = {ndof->tvec[0], ndof->tvec[1], 0.0f};
+ mul_v3_fl(pan_vec, pan_sensitivity * rv3d->dist * dt);
+
+ /* transform motion from view to world coordinates */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ mul_qt_v3(view_inv, pan_vec);
+
+ /* move center of view opposite of hand motion (this is camera mode, not object mode) */
+ sub_v3_v3(rv3d->ofs, pan_vec);
+ }
+
+ if (has_rotation) {
+
+ const int invert = U.ndof_flag & NDOF_ORBIT_INVERT_AXES;
+
+ rv3d->view = RV3D_VIEW_USER;
+
+ if (U.flag & USER_TRACKBALL) {
+ float rot[4];
+ float axis[3];
+ float angle = rot_sensitivity * ndof_to_axis_angle(ndof, axis);
+
+ if (invert)
+ angle = -angle;
+
+ // transform rotation axis from view to world coordinates
+ mul_qt_v3(view_inv, axis);
+
+ // update the onscreen doo-dad
+ rv3d->rot_angle = angle;
+ copy_v3_v3(rv3d->rot_axis, axis);
+
+ axis_angle_to_quat(rot, axis, angle);
+
+ // apply rotation
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+ } else {
+ /* turntable view code by John Aughey, adapted for 3D mouse by [mce] */
+ float angle, rot[4];
+ float xvec[3] = {1,0,0};
+
+ /* Determine the direction of the x vector (for rotating up and down) */
+ mul_qt_v3(view_inv, xvec);
+
+ /* Perform the up/down rotation */
+ angle = rot_sensitivity * dt * ndof->rvec[0];
+ if (invert)
+ angle = -angle;
+ rot[0] = cos(angle);
+ mul_v3_v3fl(rot+1, xvec, sin(angle));
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+
+ /* Perform the orbital rotation */
+ angle = rot_sensitivity * dt * ndof->rvec[1];
+ if (invert)
+ angle = -angle;
+
+ // update the onscreen doo-dad
+ rv3d->rot_angle = angle;
+ rv3d->rot_axis[0] = 0;
+ rv3d->rot_axis[1] = 0;
+ rv3d->rot_axis[2] = 1;
+
+ rot[0] = cos(angle);
+ rot[1] = rot[2] = 0.0;
+ rot[3] = sin(angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rot);
+ }
+ }
+ }
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
+
+ ED_region_tag_redraw(CTX_wm_region(C));
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void VIEW3D_OT_ndof_orbit(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "NDOF Orbit View";
+ ot->description = "Explore every angle of an object using the 3D mouse.";
+ ot->idname = "VIEW3D_OT_ndof_orbit";
+
+ /* api callbacks */
+ ot->invoke = ndof_orbit_invoke;
+ ot->poll = ED_operator_view3d_active;
+
+ /* flags */
+ ot->flag = 0;
+}
+
+/* -- "pan" navigation
+ * -- zoom or dolly?
+ */
+static int ndof_pan_invoke(bContext *C, wmOperator *UNUSED(op), wmEvent *event)
+{
+ if (event->type != NDOF_MOTION) {
+ return OPERATOR_CANCELLED;
+ }
+ else {
+ View3D *v3d= CTX_wm_view3d(C);
+ RegionView3D* rv3d = CTX_wm_region_view3d(C);
+ wmNDOFMotionData* ndof = (wmNDOFMotionData*) event->customdata;
+
+ ED_view3d_camera_lock_init(v3d, rv3d);
+
+ rv3d->rot_angle = 0.f; // we're panning here! so erase any leftover rotation from other operators
+
+ if (ndof->progress != P_FINISHING) {
+ const float dt = ndof->dt;
+ float view_inv[4];
+#if 0 // ------------------------------------------- zoom with Z
+ // tune these until everything feels right
+ const float zoom_sensitivity = 1.f;
+ const float pan_sensitivity = 1.f;
+
+ float pan_vec[3] = {
+ ndof->tx, ndof->ty, 0
+ };
+
+ // "zoom in" or "translate"? depends on zoom mode in user settings?
+ if (ndof->tz) {
+ float zoom_distance = zoom_sensitivity * rv3d->dist * dt * ndof->tz;
+ rv3d->dist += zoom_distance;
+ }
+
+ mul_v3_fl(pan_vec, pan_sensitivity * rv3d->dist * dt);
+#else // ------------------------------------------------------- dolly with Z
+ float speed = 10.f; // blender units per second
+ // ^^ this is ok for default cube scene, but should scale with.. something
+
+ // tune these until everything feels right
+ const float forward_sensitivity = 1.f;
+ const float vertical_sensitivity = 0.4f;
+ const float lateral_sensitivity = 0.6f;
+
+ float pan_vec[3] = {lateral_sensitivity * ndof->tvec[0],
+ vertical_sensitivity * ndof->tvec[1],
+ forward_sensitivity * ndof->tvec[2]
+ };
+
+ mul_v3_fl(pan_vec, speed * dt);
+#endif
+ /* transform motion from view to world coordinates */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ mul_qt_v3(view_inv, pan_vec);
+
+ /* move center of view opposite of hand motion (this is camera mode, not object mode) */
+ sub_v3_v3(rv3d->ofs, pan_vec);
+ }
+
+ ED_view3d_camera_lock_sync(v3d, rv3d);
+
+ ED_region_tag_redraw(CTX_wm_region(C));
+
+ return OPERATOR_FINISHED;
+ }
+}
+
+void VIEW3D_OT_ndof_pan(struct wmOperatorType *ot)
+{
+ /* identifiers */
+ ot->name = "NDOF Pan View";
+ ot->description = "Position your viewpoint with the 3D mouse.";
+ ot->idname = "VIEW3D_OT_ndof_pan";
+
+ /* api callbacks */
+ ot->invoke = ndof_pan_invoke;
+ ot->poll = ED_operator_view3d_active;
+
+ /* flags */
+ ot->flag = 0;
+}
+
/* ************************ viewmove ******************************** */
@@ -1387,8 +1639,7 @@ static int viewzoom_invoke(bContext *C, wmOperator *op, wmEvent *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"))
- {
+ if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
}
@@ -1464,7 +1715,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.0f - dfac));
}
static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_invert)
@@ -1485,7 +1736,7 @@ static void viewdolly_apply(ViewOpsData *vod, int x, int y, const short zoom_inv
if (zoom_invert)
SWAP(float, len1, len2);
- zfac = 1.0 + ((len2 - len1) * 0.01 * vod->rv3d->dist);
+ zfac = 1.0f + ((len2 - len1) * 0.01f * vod->rv3d->dist);
}
if(zfac != 1.0f)
@@ -1601,8 +1852,7 @@ static int viewdolly_invoke(bContext *C, wmOperator *op, wmEvent *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"))
- {
+ if (!RNA_property_is_set(op->ptr, "mx") || !RNA_property_is_set(op->ptr, "my")) {
RNA_int_set(op->ptr, "mx", event->x);
RNA_int_set(op->ptr, "my", event->y);
}
@@ -3196,398 +3446,6 @@ int ED_view3d_autodist_depth_seg(struct ARegion *ar, const int mval_sta[2], cons
return (*depth==FLT_MAX) ? 0:1;
}
-/* ********************* NDOF ************************ */
-/* note: this code is confusing and unclear... (ton) */
-/* **************************************************** */
-
-// ndof scaling will be moved to user setting.
-// In the mean time this is just a place holder.
-
-// Note: scaling in the plugin and ghostwinlay.c
-// should be removed. With driver default setting,
-// each axis returns approx. +-200 max deflection.
-
-// The values I selected are based on the older
-// polling i/f. With event i/f, the sensistivity
-// can be increased for improved response from
-// small deflections of the device input.
-
-
-// lukep notes : i disagree on the range.
-// the normal 3Dconnection driver give +/-400
-// on defaut range in other applications
-// and up to +/- 1000 if set to maximum
-// because i remove the scaling by delta,
-// which was a bad idea as it depend of the system
-// speed and os, i changed the scaling values, but
-// those are still not ok
-
-#if 0
-static float ndof_axis_scale[6] = {
- +0.01, // Tx
- +0.01, // Tz
- +0.01, // Ty
- +0.0015, // Rx
- +0.0015, // Rz
- +0.0015 // Ry
-};
-
-static void filterNDOFvalues(float *sbval)
-{
- int i=0;
- float max = 0.0;
-
- for (i =0; i<6;i++)
- if (fabs(sbval[i]) > max)
- max = fabs(sbval[i]);
- for (i =0; i<6;i++)
- if (fabs(sbval[i]) != max )
- sbval[i]=0.0;
-}
-
-// statics for controlling rv3d->dist corrections.
-// viewmoveNDOF zeros and adjusts rv3d->ofs.
-// viewmove restores based on dz_flag state.
-
-int dz_flag = 0;
-float m_dist;
-
-void viewmoveNDOFfly(ARegion *ar, View3D *v3d, int UNUSED(mode))
-{
- RegionView3D *rv3d= ar->regiondata;
- int i;
- float phi;
- float dval[7];
- // static fval[6] for low pass filter; device input vector is dval[6]
- static float fval[6];
- float tvec[3],rvec[3];
- float q1[4];
- float mat[3][3];
- float upvec[3];
-
-
- /*----------------------------------------------------
- * sometimes this routine is called from headerbuttons
- * viewmove needs to refresh the screen
- */
-// XXX areawinset(ar->win);
-
-
- // fetch the current state of the ndof device
-// XXX getndof(dval);
-
- if (v3d->ndoffilter)
- filterNDOFvalues(fval);
-
- // Scale input values
-
-// if(dval[6] == 0) return; // guard against divide by zero
-
- for(i=0;i<6;i++) {
-
- // user scaling
- dval[i] = dval[i] * ndof_axis_scale[i];
- }
-
-
- // low pass filter with zero crossing reset
-
- for(i=0;i<6;i++) {
- if((dval[i] * fval[i]) >= 0)
- dval[i] = (fval[i] * 15 + dval[i]) / 16;
- else
- fval[i] = 0;
- }
-
-
- // force perspective mode. This is a hack and is
- // incomplete. It doesn't actually effect the view
- // until the first draw and doesn't update the menu
- // to reflect persp mode.
-
- rv3d->persp = RV3D_PERSP;
-
-
- // Correct the distance jump if rv3d->dist != 0
-
- // This is due to a side effect of the original
- // mouse view rotation code. The rotation point is
- // set a distance in front of the viewport to
- // make rotating with the mouse look better.
- // The distance effect is written at a low level
- // in the view management instead of the mouse
- // view function. This means that all other view
- // movement devices must subtract this from their
- // view transformations.
-
- if(rv3d->dist != 0.0) {
- dz_flag = 1;
- m_dist = rv3d->dist;
- upvec[0] = upvec[1] = 0;
- upvec[2] = rv3d->dist;
- copy_m3_m4(mat, rv3d->viewinv);
- mul_m3_v3(mat, upvec);
- sub_v3_v3(rv3d->ofs, upvec);
- rv3d->dist = 0.0;
- }
-
-
- // Apply rotation
- // Rotations feel relatively faster than translations only in fly mode, so
- // we have no choice but to fix that here (not in the plugins)
- rvec[0] = -0.5 * dval[3];
- rvec[1] = -0.5 * dval[4];
- rvec[2] = -0.5 * dval[5];
-
- // rotate device x and y by view z
-
- copy_m3_m4(mat, rv3d->viewinv);
- mat[2][2] = 0.0f;
- mul_m3_v3(mat, rvec);
-
- // rotate the view
-
- phi = normalize_v3(rvec);
- if(phi != 0) {
- axis_angle_to_quat(q1,rvec,phi);
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
- }
-
-
- // Apply translation
-
- tvec[0] = dval[0];
- tvec[1] = dval[1];
- tvec[2] = -dval[2];
-
- // the next three lines rotate the x and y translation coordinates
- // by the current z axis angle
-
- copy_m3_m4(mat, rv3d->viewinv);
- mat[2][2] = 0.0f;
- mul_m3_v3(mat, tvec);
-
- // translate the view
-
- sub_v3_v3(rv3d->ofs, tvec);
-
-
- /*----------------------------------------------------
- * refresh the screen XXX
- */
-
- // update render preview window
-
-// XXX BIF_view3d_previewrender_signal(ar, PR_DBASE|PR_DISPRECT);
-}
-
-void viewmoveNDOF(Scene *scene, ARegion *ar, View3D *v3d, int UNUSED(mode))
-{
- RegionView3D *rv3d= ar->regiondata;
- float fval[7];
- float dvec[3];
- float sbadjust = 1.0f;
- float len;
- short use_sel = 0;
- Object *ob = OBACT;
- float m[3][3];
- float m_inv[3][3];
- float xvec[3] = {1,0,0};
- float yvec[3] = {0,-1,0};
- float zvec[3] = {0,0,1};
- float phi;
- float q1[4];
- float obofs[3];
- float reverse;
- //float diff[4];
- float d, curareaX, curareaY;
- float mat[3][3];
- float upvec[3];
-
- /* Sensitivity will control how fast the view rotates. The value was
- * obtained experimentally by tweaking until the author didn't get dizzy watching.
- * Perhaps this should be a configurable user parameter.
- */
- float psens = 0.005f * (float) U.ndof_pan; /* pan sensitivity */
- float rsens = 0.005f * (float) U.ndof_rotate; /* rotate sensitivity */
- float zsens = 0.3f; /* zoom sensitivity */
-
- const float minZoom = -30.0f;
- const float maxZoom = 300.0f;
-
- //reset view type
- rv3d->view = 0;
-//printf("passing here \n");
-//
- if (scene->obedit==NULL && ob && !(ob->mode & OB_MODE_POSE)) {
- use_sel = 1;
- }
-
- if((dz_flag)||rv3d->dist==0) {
- dz_flag = 0;
- rv3d->dist = m_dist;
- upvec[0] = upvec[1] = 0;
- upvec[2] = rv3d->dist;
- copy_m3_m4(mat, rv3d->viewinv);
- mul_m3_v3(mat, upvec);
- add_v3_v3(rv3d->ofs, upvec);
- }
-
- /*----------------------------------------------------
- * sometimes this routine is called from headerbuttons
- * viewmove needs to refresh the screen
- */
-// XXX areawinset(curarea->win);
-
- /*----------------------------------------------------
- * record how much time has passed. clamp at 10 Hz
- * pretend the previous frame occurred at the clamped time
- */
-// now = PIL_check_seconds_timer();
- // frametime = (now - prevTime);
- // if (frametime > 0.1f){ /* if more than 1/10s */
- // frametime = 1.0f/60.0; /* clamp at 1/60s so no jumps when starting to move */
-// }
-// prevTime = now;
- // sbadjust *= 60 * frametime; /* normalize ndof device adjustments to 100Hz for framerate independence */
-
- /* fetch the current state of the ndof device & enforce dominant mode if selected */
-// XXX getndof(fval);
- if (v3d->ndoffilter)
- filterNDOFvalues(fval);
-
-
- // put scaling back here, was previously in ghostwinlay
- fval[0] = fval[0] * (1.0f/600.0f);
- fval[1] = fval[1] * (1.0f/600.0f);
- fval[2] = fval[2] * (1.0f/1100.0f);
- fval[3] = fval[3] * 0.00005f;
- fval[4] =-fval[4] * 0.00005f;
- fval[5] = fval[5] * 0.00005f;
- fval[6] = fval[6] / 1000000.0f;
-
- // scale more if not in perspective mode
- if (rv3d->persp == RV3D_ORTHO) {
- fval[0] = fval[0] * 0.05f;
- fval[1] = fval[1] * 0.05f;
- fval[2] = fval[2] * 0.05f;
- fval[3] = fval[3] * 0.9f;
- fval[4] = fval[4] * 0.9f;
- fval[5] = fval[5] * 0.9f;
- zsens *= 8;
- }
-
- /* set object offset */
- if (ob) {
- obofs[0] = -ob->obmat[3][0];
- obofs[1] = -ob->obmat[3][1];
- obofs[2] = -ob->obmat[3][2];
- }
- else {
- copy_v3_v3(obofs, rv3d->ofs);
- }
-
- /* calc an adjustment based on distance from camera
- disabled per patch 14402 */
- d = 1.0f;
-
-/* if (ob) {
- sub_v3_v3v3(diff, obofs, rv3d->ofs);
- d = len_v3(diff);
- }
-*/
-
- reverse = (rv3d->persmat[2][1] < 0.0f) ? -1.0f : 1.0f;
-
- /*----------------------------------------------------
- * ndof device pan
- */
- psens *= 1.0f + d;
- curareaX = sbadjust * psens * fval[0];
- curareaY = sbadjust * psens * fval[1];
- dvec[0] = curareaX * rv3d->persinv[0][0] + curareaY * rv3d->persinv[1][0];
- dvec[1] = curareaX * rv3d->persinv[0][1] + curareaY * rv3d->persinv[1][1];
- dvec[2] = curareaX * rv3d->persinv[0][2] + curareaY * rv3d->persinv[1][2];
- add_v3_v3(rv3d->ofs, dvec);
-
- /*----------------------------------------------------
- * ndof device dolly
- */
- len = zsens * sbadjust * fval[2];
-
- if (rv3d->persp==RV3D_CAMOB) {
- if(rv3d->persp==RV3D_CAMOB) { /* This is stupid, please fix - TODO */
- rv3d->camzoom+= 10.0f * -len;
- }
- if (rv3d->camzoom < minZoom) rv3d->camzoom = minZoom;
- else if (rv3d->camzoom > maxZoom) rv3d->camzoom = maxZoom;
- }
- else if ((rv3d->dist> 0.001*v3d->grid) && (rv3d->dist<10.0*v3d->far)) {
- rv3d->dist*=(1.0 + len);
- }
-
-
- /*----------------------------------------------------
- * ndof device turntable
- * derived from the turntable code in viewmove
- */
-
- /* Get the 3x3 matrix and its inverse from the quaternion */
- quat_to_mat3( m,rv3d->viewquat);
- invert_m3_m3(m_inv,m);
-
- /* Determine the direction of the x vector (for rotating up and down) */
- /* This can likely be compuated directly from the quaternion. */
- mul_m3_v3(m_inv,xvec);
- mul_m3_v3(m_inv,yvec);
- mul_m3_v3(m_inv,zvec);
-
- /* Perform the up/down rotation */
- phi = sbadjust * rsens * /*0.5f * */ fval[3]; /* spin vertically half as fast as horizontally */
- q1[0] = cos(phi);
- mul_v3_v3fl(q1+1, xvec, sin(phi));
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
-
- if (use_sel) {
- conjugate_qt(q1); /* conj == inv for unit quat */
- sub_v3_v3(rv3d->ofs, obofs);
- mul_qt_v3(q1, rv3d->ofs);
- add_v3_v3(rv3d->ofs, obofs);
- }
-
- /* Perform the orbital rotation */
- /* Perform the orbital rotation
- If the seen Up axis is parallel to the zoom axis, rotation should be
- achieved with a pure Roll motion (no Spin) on the device. When you start
- to tilt, moving from Top to Side view, Spinning will increasingly become
- more relevant while the Roll component will decrease. When a full
- Side view is reached, rotations around the world's Up axis are achieved
- with a pure Spin-only motion. In other words the control of the spinning
- around the world's Up axis should move from the device's Spin axis to the
- device's Roll axis depending on the orientation of the world's Up axis
- relative to the screen. */
- //phi = sbadjust * rsens * reverse * fval[4]; /* spin the knob, y axis */
- phi = sbadjust * rsens * (yvec[2] * fval[4] + zvec[2] * fval[5]);
- q1[0] = cos(phi);
- q1[1] = q1[2] = 0.0;
- q1[3] = sin(phi);
- mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, q1);
-
- if (use_sel) {
- conjugate_qt(q1);
- sub_v3_v3(rv3d->ofs, obofs);
- mul_qt_v3(q1, rv3d->ofs);
- add_v3_v3(rv3d->ofs, obofs);
- }
-
- /*----------------------------------------------------
- * refresh the screen
- */
-// XXX scrarea_do_windraw(curarea);
-}
-#endif // if 0, unused NDof code
-
-
/* Gets the view trasnformation from a camera
* currently dosnt take camzoom into account
*
@@ -3617,7 +3475,7 @@ void ED_view3d_from_m4(float mat[][4], float ofs[3], float quat[4], float *dist)
copy_m3_m4(nmat, mat);
normalize_m3(nmat);
- mul_m3_v3(nmat, vec);;
+ mul_m3_v3(nmat, vec);
sub_v3_v3(ofs, vec);
}
}
diff --git a/source/blender/editors/space_view3d/view3d_fly.c b/source/blender/editors/space_view3d/view3d_fly.c
index ed1ed5b3881..30d1a508888 100644
--- a/source/blender/editors/space_view3d/view3d_fly.c
+++ b/source/blender/editors/space_view3d/view3d_fly.c
@@ -29,6 +29,9 @@
/* defines VIEW3D_OT_fly modal operator */
+//#define NDOF_FLY_DEBUG
+//#define NDOF_FLY_DRAW_TOOMUCH // is this needed for ndof? - commented so redraw doesnt thrash - campbell
+
#include "DNA_anim_types.h"
#include "DNA_scene_types.h"
#include "DNA_object_types.h"
@@ -106,7 +109,7 @@ void fly_modal_keymap(wmKeyConfig *keyconf)
wmKeyMap *keymap= WM_modalkeymap_get(keyconf, "View3D Fly Modal");
/* this function is called for each spacetype, only needs to add map once */
- if(keymap) return;
+ if (keymap) return;
keymap= WM_modalkeymap_add(keyconf, "View3D Fly Modal", modal_items);
@@ -143,7 +146,6 @@ void fly_modal_keymap(wmKeyConfig *keyconf)
/* assign map to operators */
WM_modalkeymap_assign(keymap, "VIEW3D_OT_fly");
-
}
typedef struct FlyInfo {
@@ -158,7 +160,9 @@ typedef struct FlyInfo {
short state;
short use_precision;
short redraw;
- int mval[2];
+
+ int mval[2]; /* latest 2D mouse values */
+ wmNDOFMotionData* ndof; /* latest 3D mouse values */
/* fly state state */
float speed; /* the speed the view is moving per redraw */
@@ -257,17 +261,21 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->ar = CTX_wm_region(C);
fly->scene= CTX_data_scene(C);
- if(fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->id.lib) {
+#ifdef NDOF_FLY_DEBUG
+ puts("\n-- fly begin --");
+#endif
+
+ if (fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->id.lib) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly a camera from an external library");
return FALSE;
}
- if(fly->v3d->ob_centre) {
+ if (fly->v3d->ob_centre) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly when the view is locked to an object");
return FALSE;
}
- if(fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->constraints.first) {
+ if (fly->rv3d->persp==RV3D_CAMOB && fly->v3d->camera->constraints.first) {
BKE_report(op->reports, RPT_ERROR, "Cannot fly an object with constraints");
return FALSE;
}
@@ -283,11 +291,15 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
fly->grid= 1.0f;
fly->use_precision= 0;
+#ifdef NDOF_FLY_DRAW_TOOMUCH
+ fly->redraw= 1;
+#endif
fly->dvec_prev[0]= fly->dvec_prev[1]= fly->dvec_prev[2]= 0.0f;
fly->timer= WM_event_add_timer(CTX_wm_manager(C), CTX_wm_window(C), TIMER, 0.01f);
VECCOPY2D(fly->mval, event->mval)
+ fly->ndof = NULL;
fly->time_lastdraw= fly->time_lastwheel= PIL_check_seconds_timer();
@@ -307,7 +319,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((U.uiflag & USER_CAM_LOCK_NO_PARENT)==0 && (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;
@@ -325,12 +337,22 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
negate_v3_v3(fly->rv3d->ofs, fly->v3d->camera->obmat[3]);
fly->rv3d->dist=0.0;
- } else {
+ }
+ else {
/* perspective or ortho */
if (fly->rv3d->persp==RV3D_ORTHO)
fly->rv3d->persp= RV3D_PERSP; /*if ortho projection, make perspective */
+
copy_qt_qt(fly->rot_backup, fly->rv3d->viewquat);
copy_v3_v3(fly->ofs_backup, fly->rv3d->ofs);
+
+ /* the dist defines a vector that is infront of the offset
+ to rotate the view about.
+ this is no good for fly mode because we
+ want to rotate about the viewers center.
+ but to correct the dist removal we must
+ alter offset so the view doesn't jump. */
+
fly->rv3d->dist= 0.0f;
upvec[2]= fly->dist_backup; /*x and y are 0*/
@@ -338,7 +360,6 @@ static int initFlyInfo (bContext *C, FlyInfo *fly, wmOperator *op, wmEvent *even
sub_v3_v3(fly->rv3d->ofs, upvec);
/*Done with correcting for the dist*/
}
-
/* center the mouse, probably the UI mafia are against this but without its quite annoying */
WM_cursor_warp(CTX_wm_window(C), fly->ar->winrct.xmin + fly->ar->winx/2, fly->ar->winrct.ymin + fly->ar->winy/2);
@@ -353,9 +374,13 @@ static int flyEnd(bContext *C, FlyInfo *fly)
float upvec[3];
- if(fly->state == FLY_RUNNING)
+ if (fly->state == FLY_RUNNING)
return OPERATOR_RUNNING_MODAL;
+#ifdef NDOF_FLY_DEBUG
+ puts("\n-- fly end --");
+#endif
+
WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), fly->timer);
ED_region_draw_cb_exit(fly->ar->type, fly->draw_handle_pixel);
@@ -366,14 +391,14 @@ static int flyEnd(bContext *C, FlyInfo *fly)
/* Revert to original view? */
if (fly->persp_backup==RV3D_CAMOB) { /* a camera view */
Object *ob_back;
- if(fly->root_parent)ob_back= fly->root_parent;
- else ob_back= fly->v3d->camera;
+ ob_back= (fly->root_parent) ? fly->root_parent : fly->v3d->camera;
/* store the original camera loc and rot */
object_tfm_restore(ob_back, fly->obtfm);
DAG_id_tag_update(&ob_back->id, OB_RECALC_OB);
- } else {
+ }
+ else {
/* Non Camera we need to reset the view back to the original location bacause the user canceled*/
copy_qt_qt(rv3d->viewquat, fly->rot_backup);
copy_v3_v3(rv3d->ofs, fly->ofs_backup);
@@ -398,10 +423,13 @@ static int flyEnd(bContext *C, FlyInfo *fly)
rv3d->rflag &= ~RV3D_NAVIGATING;
//XXX2.5 BIF_view3d_previewrender_signal(fly->sa, PR_DBASE|PR_DISPRECT); /* not working at the moment not sure why */
- if(fly->obtfm)
+ if (fly->obtfm)
MEM_freeN(fly->obtfm);
- if(fly->state == FLY_CONFIRM) {
+ if (fly->ndof)
+ MEM_freeN(fly->ndof);
+
+ if (fly->state == FLY_CONFIRM) {
MEM_freeN(fly);
return OPERATOR_FINISHED;
}
@@ -417,7 +445,52 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
}
else if (event->type == MOUSEMOVE) {
VECCOPY2D(fly->mval, event->mval);
- } /* handle modal keymap first */
+ }
+ else if (event->type == NDOF_MOTION) {
+ // do these automagically get delivered? yes.
+ // puts("ndof motion detected in fly mode!");
+ // static const char* tag_name = "3D mouse position";
+
+ wmNDOFMotionData* incoming_ndof = (wmNDOFMotionData*) event->customdata;
+ switch (incoming_ndof->progress) {
+ case P_STARTING:
+ // start keeping track of 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ puts("start keeping track of 3D mouse position");
+#endif
+ // fall through...
+ case P_IN_PROGRESS:
+ // update 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ putchar('.'); fflush(stdout);
+#endif
+ if (fly->ndof == NULL) {
+ // fly->ndof = MEM_mallocN(sizeof(wmNDOFMotionData), tag_name);
+ fly->ndof = MEM_dupallocN(incoming_ndof);
+ // fly->ndof = malloc(sizeof(wmNDOFMotionData));
+ }
+ else {
+ memcpy(fly->ndof, incoming_ndof, sizeof(wmNDOFMotionData));
+ }
+ break;
+ case P_FINISHING:
+ // stop keeping track of 3D mouse position
+#ifdef NDOF_FLY_DEBUG
+ puts("stop keeping track of 3D mouse position");
+#endif
+ if (fly->ndof) {
+ MEM_freeN(fly->ndof);
+ // free(fly->ndof);
+ fly->ndof = NULL;
+ }
+ /* update the time else the view will jump when 2D mouse/timer resume */
+ fly->time_lastdraw= PIL_check_seconds_timer();
+ break;
+ default:
+ ; // should always be one of the above 3
+ }
+ }
+ /* handle modal keymap first */
else if (event->type == EVT_MODAL_MAP) {
switch (event->val) {
case FLY_MODAL_CANCEL:
@@ -439,7 +512,9 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
/*Mouse wheel delays range from 0.5==slow to 0.01==fast*/
time_wheel = 1.0f + (10.0f - (20.0f * MIN2(time_wheel, 0.5f))); /* 0-0.5 -> 0-5.0 */
- if (fly->speed<0.0f) fly->speed= 0.0f;
+ if (fly->speed < 0.0f) {
+ fly->speed= 0.0f;
+ }
else {
if (event->shift)
fly->speed += fly->grid*time_wheel * 0.1f;
@@ -458,7 +533,9 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
fly->time_lastwheel = time_currwheel;
time_wheel = 1.0f + (10.0f - (20.0f * MIN2(time_wheel, 0.5f))); /* 0-0.5 -> 0-5.0 */
- if (fly->speed>0) fly->speed=0;
+ if (fly->speed > 0.0f) {
+ fly->speed=0;
+ }
else {
if (event->shift)
fly->speed-= fly->grid*time_wheel * 0.1f;
@@ -528,14 +605,81 @@ static void flyEvent(FlyInfo *fly, wmEvent *event)
case FLY_MODAL_PRECISION_DISABLE:
fly->use_precision= FALSE;
break;
+ }
+ }
+}
+
+static void move_camera(bContext* C, RegionView3D* rv3d, FlyInfo* fly, int orientationChanged, int positionChanged)
+{
+ /* we are in camera view so apply the view ofs and quat to the view matrix and set the camera to the view */
+
+ View3D* v3d = fly->v3d;
+ Scene *scene= fly->scene;
+ ID *id_key;
+
+ /* transform the parent or the camera? */
+ if (fly->root_parent) {
+ Object *ob_update;
+
+ float view_mat[4][4];
+ float prev_view_mat[4][4];
+ float prev_view_imat[4][4];
+ float diff_mat[4][4];
+ float parent_mat[4][4];
+
+ ED_view3d_to_m4(prev_view_mat, fly->rv3d->ofs, fly->rv3d->viewquat, fly->rv3d->dist);
+ invert_m4_m4(prev_view_imat, prev_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);
+
+ // where_is_object(scene, fly->root_parent);
+
+ ob_update= v3d->camera->parent;
+ while(ob_update) {
+ DAG_id_tag_update(&ob_update->id, OB_RECALC_OB);
+ ob_update= ob_update->parent;
}
+
+ id_key= &fly->root_parent->id;
+ }
+ else {
+ float view_mat[4][4];
+ 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;
+ }
+
+ /* record the motion */
+ if (autokeyframe_cfra_can_key(scene, id_key)) {
+ ListBase dsources = {NULL, NULL};
+
+ /* add datasource override for the camera object */
+ ANIM_relative_keyingset_add_source(&dsources, id_key, NULL, NULL);
+
+ /* insert keyframes
+ * 1) on the first frame
+ * 2) on each subsequent frame
+ * TODO: need to check in future that frame changed before doing this
+ */
+ if (orientationChanged) {
+ KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Rotation");
+ ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
+ }
+ if (positionChanged) {
+ KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Location");
+ ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
+ }
+
+ /* free temp data */
+ BLI_freelistN(&dsources);
}
}
static int flyApply(bContext *C, FlyInfo *fly)
{
-
#define FLY_ROTATE_FAC 2.5f /* more is faster */
#define FLY_ZUP_CORRECT_FAC 0.1f /* amount to correct per step */
#define FLY_ZUP_CORRECT_ACCEL 0.05f /* increase upright momentum each step */
@@ -545,11 +689,7 @@ static int flyApply(bContext *C, FlyInfo *fly)
a fly loop where the user can move move the view as if they are flying
*/
RegionView3D *rv3d= fly->rv3d;
- View3D *v3d = fly->v3d;
ARegion *ar = fly->ar;
- Scene *scene= fly->scene;
-
- float prev_view_mat[4][4];
float mat[3][3], /* 3x3 copy of the view matrix so we can move allong the view axis */
dvec[3]={0,0,0}, /* this is the direction thast added to the view offset per redraw */
@@ -567,15 +707,11 @@ static int flyApply(bContext *C, FlyInfo *fly)
unsigned char
apply_rotation= 1; /* if the user presses shift they can look about without movinf the direction there looking*/
- if(fly->root_parent)
- ED_view3d_to_m4(prev_view_mat, fly->rv3d->ofs, fly->rv3d->viewquat, fly->rv3d->dist);
+#ifdef NDOF_FLY_DEBUG
+ static unsigned int iteration = 1;
+ printf("fly timer %d\n", iteration++);
+#endif
- /* the dist defines a vector that is infront of the offset
- to rotate the view about.
- this is no good for fly mode because we
- want to rotate about the viewers center.
- but to correct the dist removal we must
- alter offset so the view doesn't jump. */
xmargin= ar->winx/20.0f;
ymargin= ar->winy/20.0f;
@@ -605,23 +741,25 @@ static int flyApply(bContext *C, FlyInfo *fly)
*
* the mouse moves isnt linear */
- if(moffset[0]) {
+ if (moffset[0]) {
moffset[0] /= ar->winx - (xmargin*2);
moffset[0] *= fabsf(moffset[0]);
}
- if(moffset[1]) {
+ if (moffset[1]) {
moffset[1] /= ar->winy - (ymargin*2);
moffset[1] *= fabsf(moffset[1]);
}
/* Should we redraw? */
- if(fly->speed != 0.0f || moffset[0] || moffset[1] || fly->zlock || fly->xlock || dvec[0] || dvec[1] || dvec[2] ) {
+ if (fly->speed != 0.0f || moffset[0] || moffset[1] || fly->zlock || fly->xlock || dvec[0] || dvec[1] || dvec[2] ) {
float dvec_tmp[3];
double time_current; /*time how fast it takes for us to redraw, this is so simple scenes dont fly too fast */
float time_redraw;
float time_redraw_clamped;
-
+#ifdef NDOF_FLY_DRAW_TOOMUCH
+ fly->redraw= 1;
+#endif
time_current= PIL_check_seconds_timer();
time_redraw= (float)(time_current - fly->time_lastdraw);
time_redraw_clamped= MIN2(0.05f, time_redraw); /* clamt the redraw time to avoid jitter in roll correction */
@@ -648,8 +786,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_m3_v3(mat, dvec_tmp);
mul_v3_fl(dvec_tmp, time_redraw * 200.0f * fly->grid);
-
- } else {
+ }
+ else {
float roll; /* similar to the angle between the camera's up and the Z-up, but its very rough so just roll*/
/* rotate about the X axis- look up/down */
@@ -670,27 +808,28 @@ static int flyApply(bContext *C, FlyInfo *fly)
if (moffset[0]) {
/* if we're upside down invert the moffset */
- upvec[0]=0;
- upvec[1]=1;
- upvec[2]=0;
+ upvec[0]= 0.0f;
+ upvec[1]= 1.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
- if(upvec[2] < 0.0f)
+ if (upvec[2] < 0.0f)
moffset[0]= -moffset[0];
/* make the lock vectors */
if (fly->zlock) {
- upvec[0]=0;
- upvec[1]=0;
- upvec[2]=1;
- } else {
- upvec[0]=0;
- upvec[1]=1;
- upvec[2]=0;
+ upvec[0]= 0.0f;
+ upvec[1]= 0.0f;
+ upvec[2]= 1.0f;
+ }
+ else {
+ upvec[0]= 0.0f;
+ upvec[1]= 1.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
}
- axis_angle_to_quat( tmp_quat, upvec, (float)moffset[0] * time_redraw * FLY_ROTATE_FAC); /* Rotate about the relative up vec */
+ axis_angle_to_quat(tmp_quat, upvec, (float)moffset[0] * time_redraw * FLY_ROTATE_FAC); /* Rotate about the relative up vec */
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
if (fly->xlock) fly->xlock = 2;/*check for rotation*/
@@ -698,25 +837,26 @@ static int flyApply(bContext *C, FlyInfo *fly)
}
if (fly->zlock==2) {
- upvec[0]=1;
- upvec[1]=0;
- upvec[2]=0;
+ upvec[0]= 1.0f;
+ upvec[1]= 0.0f;
+ upvec[2]= 0.0f;
mul_m3_v3(mat, upvec);
/*make sure we have some z rolling*/
if (fabsf(upvec[2]) > 0.00001f) {
- roll= upvec[2]*5;
- upvec[0]=0; /*rotate the view about this axis*/
- upvec[1]=0;
- upvec[2]=1;
+ roll= upvec[2] * 5.0f;
+ upvec[0]= 0.0f; /*rotate the view about this axis*/
+ upvec[1]= 0.0f;
+ upvec[2]= 1.0f;
mul_m3_v3(mat, upvec);
axis_angle_to_quat( tmp_quat, upvec, roll*time_redraw_clamped*fly->zlock_momentum * FLY_ZUP_CORRECT_FAC); /* Rotate about the relative up vec */
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
fly->zlock_momentum += FLY_ZUP_CORRECT_ACCEL;
- } else {
- fly->zlock=1; /* dont check until the view rotates again */
+ }
+ else {
+ fly->zlock= 1; /* dont check until the view rotates again */
fly->zlock_momentum= 0.0f;
}
}
@@ -727,8 +867,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
upvec[2]=1;
mul_m3_v3(mat, upvec);
/*make sure we have some z rolling*/
- if (fabs(upvec[2]) > 0.00001) {
- roll= upvec[2] * -5;
+ if (fabsf(upvec[2]) > 0.00001f) {
+ roll= upvec[2] * -5.0f;
upvec[0]= 1.0f; /*rotate the view about this axis*/
upvec[1]= 0.0f;
@@ -740,7 +880,8 @@ static int flyApply(bContext *C, FlyInfo *fly)
mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, tmp_quat);
fly->xlock_momentum += 0.05f;
- } else {
+ }
+ else {
fly->xlock=1; /* see above */
fly->xlock_momentum= 0.0f;
}
@@ -784,96 +925,164 @@ static int flyApply(bContext *C, FlyInfo *fly)
ED_area_headerprint(fly->ar, "FlyKeys Speed:(+/- | Wheel), Upright Axis:X off/Z off, Slow:Shift, Direction:WASDRF, Ok:LMB, Pan:MMB, Cancel:RMB");
#endif
- /* we are in camera view so apply the view ofs and quat to the view matrix and set the camera to the view */
- if (rv3d->persp==RV3D_CAMOB) {
- ID *id_key;
- /* transform the parent or the camera? */
- if(fly->root_parent) {
- Object *ob_update;
-
- float view_mat[4][4];
- float prev_view_imat[4][4];
- float diff_mat[4][4];
- float parent_mat[4][4];
-
- invert_m4_m4(prev_view_imat, prev_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);
-
- // where_is_object(scene, fly->root_parent);
-
- ob_update= v3d->camera->parent;
- while(ob_update) {
- DAG_id_tag_update(&ob_update->id, OB_RECALC_OB);
- ob_update= ob_update->parent;
- }
+ if (rv3d->persp==RV3D_CAMOB)
+ move_camera(C, rv3d, fly, (fly->xlock || fly->zlock || moffset[0] || moffset[1]), fly->speed);
- copy_m4_m4(prev_view_mat, view_mat);
+ }
+ else {
+ /* we're not redrawing but we need to update the time else the view will jump */
+ fly->time_lastdraw= PIL_check_seconds_timer();
+ }
+ /* end drawing */
+ copy_v3_v3(fly->dvec_prev, dvec);
+ }
- id_key= &fly->root_parent->id;
+ return OPERATOR_FINISHED;
+}
- }
- else {
- float view_mat[4][4];
- 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;
- }
+static int flyApply_ndof(bContext *C, FlyInfo *fly)
+{
+ /* shorthand for oft-used variables */
+ wmNDOFMotionData* ndof = fly->ndof;
+ const float dt = ndof->dt;
+ RegionView3D* rv3d = fly->rv3d;
+ const int flag = U.ndof_flag;
- /* record the motion */
- if (autokeyframe_cfra_can_key(scene, id_key)) {
- ListBase dsources = {NULL, NULL};
-
- /* add datasource override for the camera object */
- ANIM_relative_keyingset_add_source(&dsources, id_key, NULL, NULL);
-
- /* insert keyframes
- * 1) on the first frame
- * 2) on each subsequent frame
- * TODO: need to check in future that frame changed before doing this
- */
- if (fly->xlock || fly->zlock || moffset[0] || moffset[1]) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Rotation");
- ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
- }
- if (fly->speed) {
- KeyingSet *ks= ANIM_builtin_keyingset_get_named(NULL, "Location");
- ANIM_apply_keyingset(C, &dsources, NULL, ks, MODIFYKEY_MODE_INSERT, (float)CFRA);
- }
-
- /* free temp data */
- BLI_freelistN(&dsources);
- }
+/* int shouldRotate = (flag & NDOF_SHOULD_ROTATE) && (fly->pan_view == FALSE),
+ shouldTranslate = (flag & (NDOF_SHOULD_PAN | NDOF_SHOULD_ZOOM)); */
+
+ int shouldRotate = (fly->pan_view == FALSE),
+ shouldTranslate = TRUE;
+
+ float view_inv[4];
+ invert_qt_qt(view_inv, rv3d->viewquat);
+
+ rv3d->rot_angle = 0.f; // disable onscreen rotation doo-dad
+
+ if (shouldTranslate) {
+ const float forward_sensitivity = 1.f;
+ const float vertical_sensitivity = 0.4f;
+ const float lateral_sensitivity = 0.6f;
+
+ float speed = 10.f; /* blender units per second */
+ /* ^^ this is ok for default cube scene, but should scale with.. something */
+
+ float trans[3] = {
+ lateral_sensitivity * ndof->tvec[0],
+ vertical_sensitivity * ndof->tvec[1],
+ forward_sensitivity * ndof->tvec[2]
+ };
+
+ if (fly->use_precision)
+ speed *= 0.2f;
+
+ mul_v3_fl(trans, speed * dt);
+
+ // transform motion from view to world coordinates
+ mul_qt_v3(view_inv, trans);
+
+ if (flag & NDOF_FLY_HELICOPTER) {
+ /* replace world z component with device y (yes it makes sense) */
+ trans[2] = speed * dt * vertical_sensitivity * ndof->tvec[1];
+ }
+
+ if (rv3d->persp==RV3D_CAMOB) {
+ // respect camera position locks
+ Object *lock_ob= fly->root_parent ? fly->root_parent : fly->v3d->camera;
+ if (lock_ob->protectflag & OB_LOCK_LOCX) trans[0] = 0.f;
+ if (lock_ob->protectflag & OB_LOCK_LOCY) trans[1] = 0.f;
+ if (lock_ob->protectflag & OB_LOCK_LOCZ) trans[2] = 0.f;
+ }
+
+ if (!is_zero_v3(trans)) {
+ // move center of view opposite of hand motion (this is camera mode, not object mode)
+ sub_v3_v3(rv3d->ofs, trans);
+ shouldTranslate = TRUE;
+ }
+ else {
+ shouldTranslate = FALSE;
+ }
+ }
+
+ if (shouldRotate) {
+ const float turn_sensitivity = 1.f;
+
+ float rotation[4];
+ float axis[3];
+ float angle = turn_sensitivity * ndof_to_axis_angle(ndof, axis);
+
+ if (fabsf(angle) > 0.0001f) {
+ shouldRotate = TRUE;
+
+ if (fly->use_precision)
+ angle *= 0.2f;
+
+ /* transform rotation axis from view to world coordinates */
+ mul_qt_v3(view_inv, axis);
+
+ // apply rotation to view
+ axis_angle_to_quat(rotation, axis, angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rotation);
+
+ if (flag & NDOF_LOCK_HORIZON) {
+ /* force an upright viewpoint
+ * TODO: make this less... sudden */
+ float view_horizon[3] = {1.f, 0.f, 0.f}; /* view +x */
+ float view_direction[3] = {0.f, 0.f, -1.f}; /* view -z (into screen) */
+
+ /* find new inverse since viewquat has changed */
+ invert_qt_qt(view_inv, rv3d->viewquat);
+ /* could apply reverse rotation to existing view_inv to save a few cycles */
+
+ /* transform view vectors to world coordinates */
+ mul_qt_v3(view_inv, view_horizon);
+ mul_qt_v3(view_inv, view_direction);
+
+ /* find difference between view & world horizons
+ * true horizon lives in world xy plane, so look only at difference in z */
+ angle = -asinf(view_horizon[2]);
+
+#ifdef NDOF_FLY_DEBUG
+ printf("lock horizon: adjusting %.1f degrees\n\n", RAD2DEG(angle));
+#endif
+
+ /* rotate view so view horizon = world horizon */
+ axis_angle_to_quat(rotation, view_direction, angle);
+ mul_qt_qtqt(rv3d->viewquat, rv3d->viewquat, rotation);
}
- } else
- /*were not redrawing but we need to update the time else the view will jump */
- fly->time_lastdraw= PIL_check_seconds_timer();
- /* end drawing */
- copy_v3_v3(fly->dvec_prev, dvec);
+
+ rv3d->view = RV3D_VIEW_USER;
+ }
+ else {
+ shouldRotate = FALSE;
+ }
}
-/* moved to flyEnd() */
+ if (shouldTranslate || shouldRotate) {
+ fly->redraw = TRUE;
+
+ if (rv3d->persp==RV3D_CAMOB) {
+ move_camera(C, rv3d, fly, shouldRotate, shouldTranslate);
+ }
+ }
return OPERATOR_FINISHED;
}
-
static int fly_invoke(bContext *C, wmOperator *op, wmEvent *event)
{
RegionView3D *rv3d= CTX_wm_region_view3d(C);
FlyInfo *fly;
- if(rv3d->viewlock)
+ if (rv3d->viewlock)
return OPERATOR_CANCELLED;
fly= MEM_callocN(sizeof(FlyInfo), "FlyOperation");
op->customdata= fly;
- if(initFlyInfo(C, fly, op, event)==FALSE) {
+ if (initFlyInfo(C, fly, op, event)==FALSE) {
MEM_freeN(op->customdata);
return OPERATOR_CANCELLED;
}
@@ -908,21 +1117,28 @@ static int fly_modal(bContext *C, wmOperator *op, wmEvent *event)
flyEvent(fly, event);
- if(event->type==TIMER && event->customdata == fly->timer)
+ if (fly->ndof) { /* 3D mouse overrules [2D mouse + timer] */
+ if (event->type==NDOF_MOTION) {
+ flyApply_ndof(C, fly);
+ }
+ }
+ else if (event->type==TIMER && event->customdata == fly->timer) {
flyApply(C, fly);
+ }
do_draw |= fly->redraw;
exit_code = flyEnd(C, fly);
- if(exit_code!=OPERATOR_RUNNING_MODAL)
+ if (exit_code!=OPERATOR_RUNNING_MODAL)
do_draw= TRUE;
- if(do_draw) {
- if(rv3d->persp==RV3D_CAMOB) {
+ if (do_draw) {
+ if (rv3d->persp==RV3D_CAMOB) {
WM_event_add_notifier(C, NC_OBJECT|ND_TRANSFORM, fly_object);
}
+ // puts("redraw!"); // too frequent, commented with NDOF_FLY_DRAW_TOOMUCH for now
ED_region_tag_redraw(CTX_wm_region(C));
}
diff --git a/source/blender/editors/space_view3d/view3d_header.c b/source/blender/editors/space_view3d/view3d_header.c
index 75c8d5cae73..78dcf6c9a5c 100644
--- a/source/blender/editors/space_view3d/view3d_header.c
+++ b/source/blender/editors/space_view3d/view3d_header.c
@@ -280,31 +280,33 @@ static char *view3d_modeselect_pup(Scene *scene)
str += sprintf(str, formatstr, "Object Mode", OB_MODE_OBJECT, ICON_OBJECT_DATA);
- if(ob==NULL) return string;
+ if(ob==NULL || ob->data==NULL) return string;
+ if(ob->id.lib) return string;
- /* if active object is editable */
- if ( ((ob->type == OB_MESH)
- || (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
- || (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
-
- str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
- }
- else if (ob->type == OB_ARMATURE) {
- if (ob->mode & OB_MODE_POSE)
- str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT|OB_MODE_POSE, ICON_EDITMODE_HLT);
- else
+ if(!((ID *)ob->data)->lib) {
+ /* if active object is editable */
+ if ( ((ob->type == OB_MESH)
+ || (ob->type == OB_CURVE) || (ob->type == OB_SURF) || (ob->type == OB_FONT)
+ || (ob->type == OB_MBALL) || (ob->type == OB_LATTICE))) {
+
str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
- }
+ }
+ else if (ob->type == OB_ARMATURE) {
+ if (ob->mode & OB_MODE_POSE)
+ str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT|OB_MODE_POSE, ICON_EDITMODE_HLT);
+ else
+ str += sprintf(str, formatstr, "Edit Mode", OB_MODE_EDIT, ICON_EDITMODE_HLT);
+ }
- if (ob->type == OB_MESH) {
+ if (ob->type == OB_MESH) {
- str += sprintf(str, formatstr, "Sculpt Mode", OB_MODE_SCULPT, ICON_SCULPTMODE_HLT);
- str += sprintf(str, formatstr, "Vertex Paint", OB_MODE_VERTEX_PAINT, ICON_VPAINT_HLT);
- str += sprintf(str, formatstr, "Texture Paint", OB_MODE_TEXTURE_PAINT, ICON_TPAINT_HLT);
- str += sprintf(str, formatstr, "Weight Paint", OB_MODE_WEIGHT_PAINT, ICON_WPAINT_HLT);
+ str += sprintf(str, formatstr, "Sculpt Mode", OB_MODE_SCULPT, ICON_SCULPTMODE_HLT);
+ str += sprintf(str, formatstr, "Vertex Paint", OB_MODE_VERTEX_PAINT, ICON_VPAINT_HLT);
+ str += sprintf(str, formatstr, "Texture Paint", OB_MODE_TEXTURE_PAINT, ICON_TPAINT_HLT);
+ str += sprintf(str, formatstr, "Weight Paint", OB_MODE_WEIGHT_PAINT, ICON_WPAINT_HLT);
+ }
}
-
-
+
/* if active object is an armature */
if (ob->type==OB_ARMATURE) {
str += sprintf(str, formatstr, "Pose Mode", OB_MODE_POSE, ICON_POSE_HLT);
@@ -464,6 +466,7 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
Object *ob= OBACT;
Object *obedit = CTX_data_edit_object(C);
uiBlock *block;
+ uiBut *but;
uiLayout *row;
const float dpi_fac= UI_DPI_FAC;
@@ -505,26 +508,18 @@ 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,UI_UNIT_X+10,UI_UNIT_Y, &(v3d->ndofmode), 0, 3.0, 0, 0, "Ndof mode");
-
- uiDefIconButC(block, TOG, B_NDOF, ICON_NDOF_DOM,
- 0,0,UI_UNIT_X,UI_UNIT_Y,
- &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) {
- 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");
+ but= 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");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+ but= 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");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
+ but= 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");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
}
if (v3d->twmode > (BIF_countTransformOrientation(C) - 1) + V3D_MANIP_CUSTOM) {
@@ -532,7 +527,8 @@ void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
}
str_menu = BIF_menustringTransformOrientation(C, "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");
+ but= uiDefButC(block, MENU, B_MAN_MODE, str_menu,0,0,70 * dpi_fac, UI_UNIT_Y, &v3d->twmode, 0, 0, 0, 0, "Transform Orientation");
+ uiButClearFlag(but, UI_BUT_UNDO); /* skip undo on screen buttons */
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 cd6bff1ebba..ab3ce37ff15 100644
--- a/source/blender/editors/space_view3d/view3d_intern.h
+++ b/source/blender/editors/space_view3d/view3d_intern.h
@@ -51,6 +51,7 @@ struct ARegionType;
struct bPoseChannel;
struct bAnimVizSettings;
struct bMotionPath;
+struct wmNDOFMotionData;
#define BL_NEAR_CLIP 0.001
@@ -72,6 +73,8 @@ void VIEW3D_OT_dolly(struct wmOperatorType *ot);
void VIEW3D_OT_zoom_camera_1_to_1(struct wmOperatorType *ot);
void VIEW3D_OT_move(struct wmOperatorType *ot);
void VIEW3D_OT_rotate(struct wmOperatorType *ot);
+void VIEW3D_OT_ndof_orbit(struct wmOperatorType *ot);
+void VIEW3D_OT_ndof_pan(struct wmOperatorType *ot);
void VIEW3D_OT_view_all(struct wmOperatorType *ot);
void VIEW3D_OT_viewnumpad(struct wmOperatorType *ot);
void VIEW3D_OT_view_selected(struct wmOperatorType *ot);
@@ -91,6 +94,8 @@ void VIEW3D_OT_zoom_border(struct wmOperatorType *ot);
void VIEW3D_OT_drawtype(struct wmOperatorType *ot);
void view3d_boxview_copy(ScrArea *sa, ARegion *ar);
+void ndof_to_quat(struct wmNDOFMotionData* ndof, float q[4]);
+float ndof_to_axis_angle(struct wmNDOFMotionData* ndof, float axis[3]);
/* view3d_fly.c */
void view3d_keymap(struct wmKeyConfig *keyconf);
@@ -120,7 +125,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);
@@ -194,6 +199,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 05ef79a9f29..8416b37fd5e 100644
--- a/source/blender/editors/space_view3d/view3d_ops.c
+++ b/source/blender/editors/space_view3d/view3d_ops.c
@@ -64,6 +64,8 @@ void view3d_operatortypes(void)
WM_operatortype_append(VIEW3D_OT_zoom);
WM_operatortype_append(VIEW3D_OT_zoom_camera_1_to_1);
WM_operatortype_append(VIEW3D_OT_dolly);
+ WM_operatortype_append(VIEW3D_OT_ndof_orbit);
+ WM_operatortype_append(VIEW3D_OT_ndof_pan);
WM_operatortype_append(VIEW3D_OT_view_all);
WM_operatortype_append(VIEW3D_OT_viewnumpad);
WM_operatortype_append(VIEW3D_OT_view_orbit);
@@ -161,6 +163,17 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_all", HOMEKEY, KM_PRESS, 0, 0)->ptr, "center", 0); /* only without camera view */
RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_view_all", CKEY, KM_PRESS, KM_SHIFT, 0)->ptr, "center", 1);
+ /* 3D mouse */
+ WM_keymap_add_item(keymap, "VIEW3D_OT_ndof_orbit", NDOF_MOTION, 0, 0, 0);
+ WM_keymap_add_item(keymap, "VIEW3D_OT_ndof_pan", NDOF_MOTION, 0, KM_SHIFT, 0);
+ WM_keymap_add_item(keymap, "VIEW3D_OT_view_selected", NDOF_BUTTON_FIT, KM_PRESS, 0, 0);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_FRONT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BACK, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BACK);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_LEFT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_LEFT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_RIGHT, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_RIGHT);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_TOP, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_TOP);
+ RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_BOTTOM, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_BOTTOM);
+
/* numpad view hotkeys*/
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD0, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_CAMERA);
RNA_enum_set(WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", PAD1, KM_PRESS, 0, 0)->ptr, "type", RV3D_VIEW_FRONT);
@@ -210,6 +223,17 @@ void view3d_keymap(wmKeyConfig *keyconf)
RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_BOTTOM);
RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ /* 3D mouse align */
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_FRONT, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_FRONT);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_RIGHT, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_RIGHT);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_viewnumpad", NDOF_BUTTON_TOP, KM_PRESS, KM_SHIFT, 0);
+ RNA_enum_set(kmi->ptr, "type", RV3D_VIEW_TOP);
+ RNA_boolean_set(kmi->ptr, "align_active", TRUE);
+
WM_keymap_add_item(keymap, "VIEW3D_OT_localview", PADSLASHKEY, KM_PRESS, 0, 0);
/* layers, shift + alt are properties set in invoke() */
@@ -239,9 +263,13 @@ void view3d_keymap(wmKeyConfig *keyconf)
/* selection*/
WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, 0, 0);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "extend", TRUE);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0)->ptr, "center", TRUE);
- RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0)->ptr, "enumerate", TRUE);
+ kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "extend", TRUE);
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
+ RNA_boolean_set(kmi->ptr, "center", TRUE);
+ RNA_boolean_set(kmi->ptr, "object", TRUE); /* use Ctrl+Select for 2 purposes */
+ kmi= WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_ALT, 0);
+ RNA_boolean_set(kmi->ptr, "enumerate", TRUE);
/* selection key-combinations */
kmi = WM_keymap_add_item(keymap, "VIEW3D_OT_select", SELECTMOUSE, KM_PRESS, KM_SHIFT|KM_CTRL, 0);
diff --git a/source/blender/editors/space_view3d/view3d_select.c b/source/blender/editors/space_view3d/view3d_select.c
index 6391db7ae5e..65914ead899 100644
--- a/source/blender/editors/space_view3d/view3d_select.c
+++ b/source/blender/editors/space_view3d/view3d_select.c
@@ -485,11 +485,8 @@ static void do_lasso_select_mesh(ViewContext *vc, int 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);
@@ -497,15 +494,13 @@ static void do_lasso_select_mesh(ViewContext *vc, int 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);
@@ -518,8 +513,8 @@ static void do_lasso_select_mesh(ViewContext *vc, int 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);
}
}
@@ -894,14 +889,14 @@ static unsigned int samplerect(unsigned int *buf, int size, unsigned int dontdo)
{
Base *base;
unsigned int *bufmin,*bufmax;
- int a,b,rc,tel,aantal,dirvec[4][2],maxob;
+ int a,b,rc,tel,len,dirvec[4][2],maxob;
unsigned int retval=0;
base= LASTBASE;
if(base==0) return 0;
maxob= base->selcol;
- aantal= (size-1)/2;
+ len= (size-1)/2;
rc= 0;
dirvec[0][0]= 1;
@@ -915,7 +910,7 @@ static unsigned int samplerect(unsigned int *buf, int size, unsigned int dontdo)
bufmin= buf;
bufmax= buf+ size*size;
- buf+= aantal*size+ aantal;
+ buf+= len*size+ len;
for(tel=1;tel<=size;tel++) {
@@ -1236,8 +1231,8 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce
if(BASACT && BASACT->next) startbase= BASACT->next;
/* 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) {
+ /* in editmode do not activate */
+ if(obcenter) {
/* note; shift+alt goes to group-flush-selecting */
if(enumerate) {
@@ -1340,9 +1335,9 @@ static int mouse_select(bContext *C, const int mval[2], short extend, short obce
if(oldbasact != basact) {
ED_base_object_activate(C, basact); /* adds notifier */
}
-
- WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
}
+
+ WM_event_add_notifier(C, NC_SCENE|ND_OB_SELECT, scene);
}
return retval;
@@ -1491,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);
@@ -1505,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);
}
}
@@ -1525,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);
}
}
@@ -1776,9 +1765,15 @@ static int view3d_borderselect_exec(bContext *C, wmOperator *op)
case OB_CURVE:
case OB_SURF:
ret= do_nurbs_box_select(&vc, &rect, select, extend);
+ if(ret & OPERATOR_FINISHED) {
+ WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+ }
break;
case OB_MBALL:
ret= do_meta_box_select(&vc, &rect, select, extend);
+ if(ret & OPERATOR_FINISHED) {
+ WM_event_add_notifier(C, NC_GEOM|ND_SELECT, vc.obedit->data);
+ }
break;
case OB_ARMATURE:
ret= do_armature_box_select(&vc, &rect, select, extend);
@@ -1849,11 +1844,22 @@ static int view3d_select_invoke(bContext *C, wmOperator *op, wmEvent *event)
short extend= RNA_boolean_get(op->ptr, "extend");
short center= RNA_boolean_get(op->ptr, "center");
short enumerate= RNA_boolean_get(op->ptr, "enumerate");
+ short object= RNA_boolean_get(op->ptr, "object");
int retval = 0;
view3d_operator_needs_opengl(C);
-
- if(obedit) {
+
+ if(object) {
+ obedit= NULL;
+ obact= NULL;
+
+ /* ack, this is incorrect but to do this correctly we would need an
+ * alternative editmode/objectmode keymap, this copies the functionality
+ * from 2.4x where Ctrl+Select in editmode does object select only */
+ center= FALSE;
+ }
+
+ if(obedit && object==FALSE) {
if(obedit->type==OB_MESH)
retval = mouse_mesh(C, event->mval, extend);
else if(obedit->type==OB_ARMATURE)
@@ -1900,8 +1906,9 @@ void VIEW3D_OT_select(wmOperatorType *ot)
/* properties */
RNA_def_boolean(ot->srna, "extend", 0, "Extend", "Extend selection instead of deselecting everything first.");
- RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting (object mode only).");
+ RNA_def_boolean(ot->srna, "center", 0, "Center", "Use the object center when selecting, in editmode used to extend object selection.");
RNA_def_boolean(ot->srna, "enumerate", 0, "Enumerate", "List objects under the mouse (object mode only).");
+ RNA_def_boolean(ot->srna, "object", 0, "Object", "Use object selection (editmode only).");
}
diff --git a/source/blender/editors/space_view3d/view3d_toolbar.c b/source/blender/editors/space_view3d/view3d_toolbar.c
index 2e96800bf3b..a2aed67821d 100644
--- a/source/blender/editors/space_view3d/view3d_toolbar.c
+++ b/source/blender/editors/space_view3d/view3d_toolbar.c
@@ -46,6 +46,7 @@
#include "BLI_editVert.h"
#include "BLI_rand.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BKE_context.h"
#include "BKE_idprop.h"
@@ -140,10 +141,11 @@ static void operator_call_cb(struct bContext *C, void *arg_listbase, void *arg2)
static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
-
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
if(BLI_strcasestr(ot->name, str)) {
if(WM_operator_poll((bContext*)C, ot)) {
@@ -152,6 +154,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
}
}
}
+ BLI_ghashIterator_free(iter);
}
diff --git a/source/blender/editors/space_view3d/view3d_view.c b/source/blender/editors/space_view3d/view3d_view.c
index 0c4ab161e71..44ae6837aa2 100644
--- a/source/blender/editors/space_view3d/view3d_view.c
+++ b/source/blender/editors/space_view3d/view3d_view.c
@@ -468,8 +468,9 @@ void VIEW3D_OT_object_as_camera(wmOperatorType *ot)
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 */
@@ -493,11 +494,21 @@ void ED_view3d_calc_clipping(BoundBox *bb, float planes[4][4], bglMats *mats, rc
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];
@@ -614,8 +625,8 @@ void ED_view3d_win_to_3d(ARegion *ar, const float depth_pt[3], const float mval[
}
}
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;
+ 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];
@@ -829,8 +840,7 @@ void project_int_noclip(ARegion *ar, const float vec[3], int adr[2])
adr[0] = (int)floor(fx);
adr[1] = (int)floor(fy);
}
- else
- {
+ else {
adr[0] = ar->winx / 2;
adr[1] = ar->winy / 2;
}
@@ -893,8 +903,7 @@ void project_float_noclip(ARegion *ar, const float vec[3], float adr[2])
adr[0] = (float)(ar->winx/2.0f)+(ar->winx/2.0f)*vec4[0]/vec4[3];
adr[1] = (float)(ar->winy/2.0f)+(ar->winy/2.0f)*vec4[1]/vec4[3];
}
- else
- {
+ else {
adr[0] = ar->winx / 2.0f;
adr[1] = ar->winy / 2.0f;
}
@@ -1179,7 +1188,7 @@ int ED_view3d_lock(RegionView3D *rv3d)
return TRUE;
}
-/* dont set windows active in in here, is used by renderwin too */
+/* dont set windows active in here, is used by renderwin too */
void setviewmatrixview3d(Scene *scene, View3D *v3d, RegionView3D *rv3d)
{
if(rv3d->persp==RV3D_CAMOB) { /* obs/camera */
@@ -1560,7 +1569,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;
@@ -1586,6 +1595,8 @@ static void endlocalview(Scene *scene, ScrArea *sa)
base->object->lay= base->lay;
}
}
+
+ DAG_on_visible_update(bmain, FALSE);
}
}
@@ -1594,7 +1605,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));
diff --git a/source/blender/editors/transform/CMakeLists.txt b/source/blender/editors/transform/CMakeLists.txt
index 8eb8d538396..e44cc1f5df3 100644
--- a/source/blender/editors/transform/CMakeLists.txt
+++ b/source/blender/editors/transform/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
@@ -41,7 +41,6 @@ set(SRC
transform_generics.c
transform_input.c
transform_manipulator.c
- transform_ndofinput.c
transform_ops.c
transform_orientations.c
transform_snap.c
diff --git a/source/blender/editors/transform/transform.c b/source/blender/editors/transform/transform.c
index 181fb0f0aac..1796bd4e928 100644
--- a/source/blender/editors/transform/transform.c
+++ b/source/blender/editors/transform/transform.c
@@ -969,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;
}
@@ -1006,9 +1006,6 @@ int transformEvent(TransInfo *t, wmEvent *event)
else view_editmove(event->type);
t->redraw= 1;
break;
-// case NDOFMOTION:
-// viewmoveNDOF(1);
- // break;
default:
handled = 0;
break;
@@ -1017,43 +1014,6 @@ int transformEvent(TransInfo *t, wmEvent *event)
// Numerical input events
t->redraw |= handleNumInput(&(t->num), event);
- // NDof input events
- switch(handleNDofInput(&(t->ndof), event))
- {
- case NDOF_CONFIRM:
- if ((t->options & CTX_NDOF) == 0)
- {
- /* Confirm on normal transform only */
- t->state = TRANS_CONFIRM;
- }
- break;
- case NDOF_CANCEL:
- if (t->options & CTX_NDOF)
- {
- /* Cancel on pure NDOF transform */
- t->state = TRANS_CANCEL;
- }
- else
- {
- /* Otherwise, just redraw, NDof input was cancelled */
- t->redraw |= TREDRAW_HARD;
- }
- break;
- case NDOF_NOMOVE:
- if (t->options & CTX_NDOF)
- {
- /* Confirm on pure NDOF transform */
- t->state = TRANS_CONFIRM;
- }
- break;
- case NDOF_REFRESH:
- t->redraw |= TREDRAW_HARD;
- break;
- default:
- handled = 0;
- break;
- }
-
// Snapping events
t->redraw |= handleSnapping(t, event);
@@ -1396,16 +1356,15 @@ void saveTransform(bContext *C, TransInfo *t, wmOperator *op)
ToolSettings *ts = CTX_data_tool_settings(C);
int constraint_axis[3] = {0, 0, 0};
int proportional = 0;
+ PropertyRNA *prop;
- if (RNA_struct_find_property(op->ptr, "value"))
- {
- if (t->flag & T_AUTOVALUES)
- {
- RNA_float_set_array(op->ptr, "value", t->auto_values);
+ if ((prop= RNA_struct_find_property(op->ptr, "value"))) {
+ float *values= (t->flag & T_AUTOVALUES) ? t->auto_values : t->values;
+ if (RNA_property_array_check(prop)) {
+ RNA_property_float_set_array(op->ptr, prop, values);
}
- else
- {
- RNA_float_set_array(op->ptr, "value", t->values);
+ else {
+ RNA_property_float_set(op->ptr, prop, values[0]);
}
}
@@ -1719,7 +1678,14 @@ int initTransform(bContext *C, TransInfo *t, wmOperator *op, wmEvent *event, int
if (RNA_property_is_set(op->ptr, "value"))
{
float values[4]= {0}; /* incase value isn't length 4, avoid uninitialized memory */
- RNA_float_get_array(op->ptr, "value", values);
+ PropertyRNA *prop= RNA_struct_find_property(op->ptr, "value");
+
+ if(RNA_property_array_check(prop)) {
+ RNA_float_get_array(op->ptr, "value", values);
+ } else {
+ values[0]= RNA_float_get(op->ptr, "value");
+ }
+
QUATCOPY(t->values, values);
QUATCOPY(t->auto_values, values);
t->flag |= T_AUTOVALUES;
@@ -1982,12 +1948,15 @@ static void protectedQuaternionBits(short protectflag, float *quat, float *oldqu
/* ******************* TRANSFORM LIMITS ********************** */
-static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
+static void constraintTransLim(TransInfo *t, TransData *td)
{
if (td->con) {
- bConstraintTypeInfo *cti= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
+ bConstraintTypeInfo *ctiLoc= get_constraint_typeinfo(CONSTRAINT_TYPE_LOCLIMIT);
+ bConstraintTypeInfo *ctiDist= get_constraint_typeinfo(CONSTRAINT_TYPE_DISTLIMIT);
+
bConstraintOb cob= {NULL};
bConstraint *con;
+ float ctime = (float)(t->scene->r.cfra);
/* Make a temporary bConstraintOb for using these limit constraints
* - they only care that cob->matrix is correctly set ;-)
@@ -1998,6 +1967,8 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
/* Evaluate valid constraints */
for (con= td->con; con; con= con->next) {
+ bConstraintTypeInfo *cti = NULL;
+ ListBase targets = {NULL, NULL};
float tmat[4][4];
/* only consider constraint if enabled */
@@ -2010,7 +1981,17 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
if ((data->flag2 & LIMIT_TRANSFORM)==0)
continue;
+ cti = ctiLoc;
+ }
+ else if (con->type == CONSTRAINT_TYPE_DISTLIMIT) {
+ bDistLimitConstraint *data= con->data;
+ if ((data->flag & LIMITDIST_TRANSFORM)==0)
+ continue;
+ cti = ctiDist;
+ }
+
+ if (cti) {
/* do space conversions */
if (con->ownspace == CONSTRAINT_SPACE_WORLD) {
/* just multiply by td->mtx (this should be ok) */
@@ -2022,8 +2003,11 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
continue;
}
+ /* get constraint targets if needed */
+ get_constraint_targets_for_solving(con, &cob, &targets, ctime);
+
/* do constraint */
- cti->evaluate_constraint(con, &cob, NULL);
+ cti->evaluate_constraint(con, &cob, &targets);
/* convert spaces again */
if (con->ownspace == CONSTRAINT_SPACE_WORLD) {
@@ -2031,6 +2015,9 @@ static void constraintTransLim(TransInfo *UNUSED(t), TransData *td)
copy_m4_m4(tmat, cob.matrix);
mul_m4_m3m4(cob.matrix, td->smtx, tmat);
}
+
+ /* free targets list */
+ BLI_freelistN(&targets);
}
}
@@ -2886,10 +2873,6 @@ void initRotation(TransInfo *t)
setInputPostFct(&t->mouse, postInputRotation);
initMouseInputMode(t, &t->mouse, INPUT_ANGLE);
- t->ndof.axis = 16;
- /* Scale down and flip input for rotation */
- t->ndof.factor[0] = -0.2f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3161,8 +3144,6 @@ int Rotation(TransInfo *t, const int UNUSED(mval[2]))
final = t->values[0];
- applyNDofInput(&t->ndof, &final);
-
snapGrid(t, &final);
if ((t->con.mode & CON_APPLY) && t->con.applyRot) {
@@ -3216,11 +3197,6 @@ void initTrackball(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_TRACKBALL);
- t->ndof.axis = 40;
- /* Scale down input for rotation */
- t->ndof.factor[0] = 0.2f;
- t->ndof.factor[1] = 0.2f;
-
t->idx_max = 1;
t->num.idx_max = 1;
t->snap[0] = 0.0f;
@@ -3276,8 +3252,6 @@ int Trackball(TransInfo *t, const int UNUSED(mval[2]))
phi[0] = t->values[0];
phi[1] = t->values[1];
- applyNDofInput(&t->ndof, phi);
-
snapGrid(t, phi);
if (hasNumInput(&t->num)) {
@@ -3331,8 +3305,6 @@ void initTranslation(TransInfo *t)
t->num.flag = 0;
t->num.idx_max = t->idx_max;
- t->ndof.axis = (t->flag & T_2D_EDIT)? 1|2: 1|2|4;
-
if(t->spacetype == SPACE_VIEW3D) {
RegionView3D *rv3d = t->ar->regiondata;
@@ -3507,7 +3479,6 @@ int Translation(TransInfo *t, const int UNUSED(mval[2]))
headerTranslation(t, pvec, str);
}
else {
- applyNDofInput(&t->ndof, t->values);
snapGrid(t, t->values);
applyNumInput(&t->num, t->values);
if (hasNumInput(&t->num)) {
@@ -3616,10 +3587,6 @@ void initTilt(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_ANGLE);
- t->ndof.axis = 16;
- /* Scale down and flip input for rotation */
- t->ndof.factor[0] = -0.2f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3643,8 +3610,6 @@ int Tilt(TransInfo *t, const int UNUSED(mval[2]))
final = t->values[0];
- applyNDofInput(&t->ndof, &final);
-
snapGrid(t, &final);
if (hasNumInput(&t->num)) {
@@ -3759,10 +3724,6 @@ void initPushPull(TransInfo *t)
initMouseInputMode(t, &t->mouse, INPUT_VERTICAL_ABSOLUTE);
- t->ndof.axis = 4;
- /* Flip direction */
- t->ndof.factor[0] = -1.0f;
-
t->idx_max = 0;
t->num.idx_max = 0;
t->snap[0] = 0.0f;
@@ -3783,8 +3744,6 @@ int PushPull(TransInfo *t, const int UNUSED(mval[2]))
distance = t->values[0];
- applyNDofInput(&t->ndof, &distance);
-
snapGrid(t, &distance);
applyNumInput(&t->num, &distance);
@@ -4306,7 +4265,7 @@ static int createSlideVerts(TransInfo *t)
/* UV correction vars */
GHash **uvarray= NULL;
SlideData *sld = MEM_callocN(sizeof(*sld), "sld");
- int uvlay_tot= CustomData_number_of_layers(&em->fdata, CD_MTFACE);
+ const int uvlay_tot= (t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) ? CustomData_number_of_layers(&em->fdata, CD_MTFACE) : 0;
int uvlay_idx;
TransDataSlideUv *slideuvs=NULL, *suv=NULL, *suv_last=NULL;
RegionView3D *v3d = t->ar ? t->ar->regiondata : NULL; /* background mode support */
@@ -4659,7 +4618,7 @@ static int createSlideVerts(TransInfo *t)
#define EDGE_SLIDE_MIN 30
if (len_squared_v2v2(start, end) < (EDGE_SLIDE_MIN * EDGE_SLIDE_MIN)) {
if(ABS(start[0]-end[0]) + ABS(start[1]-end[1]) < 4.0f) {
- /* even more exceptional case, points are ontop of eachother */
+ /* even more exceptional case, points are ontop of each other */
end[0]= start[0];
end[1]= start[1] + EDGE_SLIDE_MIN;
}
@@ -4678,7 +4637,7 @@ static int createSlideVerts(TransInfo *t)
sld->end[0] = (int) end[0];
sld->end[1] = (int) end[1];
- if (uvlay_tot) { // XXX && (scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT)) {
+ if (uvlay_tot) {
int maxnum = 0;
uvarray = MEM_callocN( uvlay_tot * sizeof(GHash *), "SlideUVs Array");
@@ -4717,7 +4676,7 @@ static int createSlideVerts(TransInfo *t)
uv_new = tf->uv[k];
if (ev->tmp.l) {
- if (fabs(suv->origuv[0]-uv_new[0]) > 0.0001f || fabs(suv->origuv[1]-uv_new[1]) > 0.0001f) {
+ if (fabsf(suv->origuv[0]-uv_new[0]) > 0.0001f || fabs(suv->origuv[1]-uv_new[1]) > 0.0001f) {
ev->tmp.l = -1; /* Tag as invalid */
BLI_linklist_free(suv->fuv_list,NULL);
suv->fuv_list = NULL;
@@ -4868,8 +4827,6 @@ void initEdgeSlide(TransInfo *t)
int doEdgeSlide(TransInfo *t, float perc)
{
- Mesh *me= t->obedit->data;
- EditMesh *em = me->edit_mesh;
SlideData *sld = t->customData;
EditVert *ev, *nearest = sld->nearest;
EditVert *centerVert, *upVert, *downVert;
@@ -4880,7 +4837,7 @@ int doEdgeSlide(TransInfo *t, float perc)
int prop=1, flip=0;
/* UV correction vars */
GHash **uvarray= sld->uvhash;
- int uvlay_tot= CustomData_number_of_layers(&em->fdata, CD_MTFACE);
+ const int uvlay_tot= sld->uvlay_tot;
int uvlay_idx;
TransDataSlideUv *suv;
float uv_tmp[2];
@@ -4906,7 +4863,7 @@ int doEdgeSlide(TransInfo *t, float perc)
tempev = editedge_getOtherVert((perc>=0)?tempsv->up:tempsv->down, ev);
interp_v3_v3v3(ev->co, tempsv->origvert.co, tempev->co, fabs(perc));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
if (suv && suv->fuv_list && suv->uv_up && suv->uv_down) {
@@ -4936,7 +4893,7 @@ int doEdgeSlide(TransInfo *t, float perc)
if(newlen < 0.0f) {newlen = 0.0;}
if(flip == 0) {
interp_v3_v3v3(ev->co, editedge_getOtherVert(tempsv->down,ev)->co, editedge_getOtherVert(tempsv->up,ev)->co, fabs(newlen));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
/* dont do anything if no UVs */
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
@@ -4953,7 +4910,7 @@ int doEdgeSlide(TransInfo *t, float perc)
} else{
interp_v3_v3v3(ev->co, editedge_getOtherVert(tempsv->up,ev)->co, editedge_getOtherVert(tempsv->down,ev)->co, fabs(newlen));
- if (uvlay_tot) { // XXX scene->toolsettings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT) {
+ if (uvlay_tot) {
/* dont do anything if no UVs */
for (uvlay_idx=0; uvlay_idx<uvlay_tot; uvlay_idx++) {
suv = BLI_ghash_lookup( uvarray[uvlay_idx], ev );
@@ -5309,8 +5266,6 @@ void initSeqSlide(TransInfo *t)
t->num.flag = 0;
t->num.idx_max = t->idx_max;
- t->ndof.axis = 1|2;
-
t->snap[0] = 0.0f;
t->snap[1] = floor(t->scene->r.frs_sec / t->scene->r.frs_sec_base);
t->snap[2] = 10.0f;
@@ -5365,7 +5320,6 @@ int SeqSlide(TransInfo *t, const int UNUSED(mval[2]))
VECCOPY(t->values, tvec);
}
else {
- applyNDofInput(&t->ndof, t->values);
snapGrid(t, t->values);
applyNumInput(&t->num, t->values);
}
@@ -5530,7 +5484,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;
}
@@ -5783,8 +5737,8 @@ int TimeSlide(TransInfo *t, const int mval[2])
char str[200];
/* calculate mouse co-ordinates */
- UI_view2d_region_to_view(v2d, mval[0], mval[0], &cval[0], &cval[1]);
- UI_view2d_region_to_view(v2d, t->imval[0], t->imval[0], &sval[0], &sval[1]);
+ UI_view2d_region_to_view(v2d, mval[0], mval[1], &cval[0], &cval[1]);
+ UI_view2d_region_to_view(v2d, t->imval[0], t->imval[1], &sval[0], &sval[1]);
/* t->values[0] stores cval[0], which is the current mouse-pointer location (in frames) */
// XXX Need to be able to repeat this
@@ -5925,54 +5879,3 @@ void BIF_TransformSetUndo(char *UNUSED(str))
// TRANSFORM_FIX_ME
//Trans.undostr= str;
}
-
-
-#if 0 // TRANSFORM_FIX_ME
-static void NDofTransform(void)
-{
- float fval[7];
- float maxval = 50.0f; // also serves as threshold
- int axis = -1;
- int mode = 0;
- int i;
-
- getndof(fval);
-
- for(i = 0; i < 6; i++)
- {
- float val = fabs(fval[i]);
- if (val > maxval)
- {
- axis = i;
- maxval = val;
- }
- }
-
- switch(axis)
- {
- case -1:
- /* No proper axis found */
- break;
- case 0:
- case 1:
- case 2:
- mode = TFM_TRANSLATION;
- break;
- case 4:
- mode = TFM_ROTATION;
- break;
- case 3:
- case 5:
- mode = TFM_TRACKBALL;
- break;
- default:
- printf("ndof: what we are doing here ?");
- }
-
- if (mode != 0)
- {
- initTransform(mode, CTX_NDOF);
- Transform();
- }
-}
-#endif
diff --git a/source/blender/editors/transform/transform.h b/source/blender/editors/transform/transform.h
index 0e0d452a9e6..485344875d4 100644
--- a/source/blender/editors/transform/transform.h
+++ b/source/blender/editors/transform/transform.h
@@ -67,14 +67,6 @@ struct wmTimer;
struct ARegion;
struct ReportList;
-typedef struct NDofInput {
- int flag;
- int axis;
- float fval[7];
- float factor[3];
-} NDofInput;
-
-
/*
The ctrl value has different meaning:
0 : No value has been typed
@@ -95,7 +87,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 */
@@ -272,7 +265,6 @@ typedef struct TransInfo {
TransCon con; /* transformed constraint */
TransSnap tsnap;
NumInput num; /* numerical input */
- NDofInput ndof; /* ndof input */
MouseInput mouse; /* mouse input */
char redraw; /* redraw flag */
float prop_size; /* proportional circle radius */
@@ -339,9 +331,6 @@ typedef struct TransInfo {
/* ******************** Macros & Prototypes *********************** */
-/* NDOFINPUT FLAGS */
-#define NDOF_INIT 1
-
/* transinfo->state */
#define TRANS_STARTING 0
#define TRANS_RUNNING 1
@@ -682,20 +671,6 @@ void calculatePropRatio(TransInfo *t);
void getViewVector(TransInfo *t, float coord[3], float vec[3]);
-/*********************** NDofInput ********************************/
-
-void initNDofInput(NDofInput *n);
-int hasNDofInput(NDofInput *n);
-void applyNDofInput(NDofInput *n, float *vec);
-int handleNDofInput(NDofInput *n, struct wmEvent *event);
-
-/* handleNDofInput return values */
-#define NDOF_REFRESH 1
-#define NDOF_NOMOVE 2
-#define NDOF_CONFIRM 3
-#define NDOF_CANCEL 4
-
-
/*********************** Transform Orientations ******************************/
void initTransformOrientation(struct bContext *C, TransInfo *t);
diff --git a/source/blender/editors/transform/transform_constraints.c b/source/blender/editors/transform/transform_constraints.c
index 0ca0812f050..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;
}
diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c
index 68aa27a7b62..cae64899aeb 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 *** */
@@ -2479,6 +2486,7 @@ static short FrameOnMouseSide(char side, float frame, float cframe)
static void createTransNlaData(bContext *C, TransInfo *t)
{
Scene *scene= t->scene;
+ SpaceNla *snla = NULL;
TransData *td = NULL;
TransDataNla *tdn = NULL;
@@ -2492,9 +2500,10 @@ static void createTransNlaData(bContext *C, TransInfo *t)
/* determine what type of data we are operating on */
if (ANIM_animdata_get_context(C, &ac) == 0)
return;
+ snla = (SpaceNla *)ac.sl;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_NLATRACKS | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_LIST_VISIBLE | ANIMFILTER_FOREDIT);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -2577,7 +2586,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
tdn->strip= strip;
tdn->trackIndex= BLI_findindex(&adt->nla_tracks, nlt);
- yval= (float)(tdn->trackIndex * NLACHANNEL_STEP);
+ yval= (float)(tdn->trackIndex * NLACHANNEL_STEP(snla));
tdn->h1[0]= strip->start;
tdn->h1[1]= yval;
@@ -2681,7 +2690,7 @@ static void createTransNlaData(bContext *C, TransInfo *t)
static void posttrans_gpd_clean (bGPdata *gpd)
{
bGPDlayer *gpl;
-
+
for (gpl= gpd->layers.first; gpl; gpl= gpl->next) {
ListBase sel_buffer = {NULL, NULL};
bGPDframe *gpf, *gpfn;
@@ -2834,7 +2843,7 @@ static void posttrans_action_clean (bAnimContext *ac, bAction *act)
int filter;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(ac, &anim_data, filter, act, ANIMCONT_ACTION);
/* loop through relevant data, removing keyframes as appropriate
@@ -2842,7 +2851,7 @@ static void posttrans_action_clean (bAnimContext *ac, bAction *act)
*/
for (ale= anim_data.first; ale; ale= ale->next) {
AnimData *adt= ANIM_nla_mapping_get(ac, ale);
-
+
if (adt) {
ANIM_nla_mapping_apply_fcurve(adt, ale->key_data, 0, 1);
posttrans_fcurve_clean(ale->key_data);
@@ -3036,9 +3045,9 @@ static void createTransActionData(bContext *C, TransInfo *t)
/* filter data */
if (ac.datatype == ANIMCONT_GPENCIL)
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
else
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -3131,12 +3140,18 @@ static void createTransActionData(bContext *C, TransInfo *t)
float min=999999999.0f, max=-999999999.0f;
int i;
- td= (t->data + 1);
- for (i=1; i < count; i+=3, td+=3) {
+ td= t->data;
+ for (i=0; i < count; i++, td++) {
if (min > *(td->val)) min= *(td->val);
if (max < *(td->val)) max= *(td->val);
}
+ if (min == max) {
+ /* just use the current frame ranges */
+ min = (float)PSFRA;
+ max = (float)PEFRA;
+ }
+
/* minx/maxx values used by TimeSlide are stored as a
* calloced 2-float array in t->customData. This gets freed
* in postTrans (T_FREE_CUSTOMDATA).
@@ -3257,7 +3272,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
return;
/* filter data */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
/* which side of the current frame should be allowed */
@@ -3437,7 +3452,7 @@ static void createTransGraphEditData(bContext *C, TransInfo *t)
* then check if we're using auto-handles.
* - If so, change them auto-handles to aligned handles so that handles get affected too
*/
- if ((bezt->h1 == HD_AUTO) && (bezt->h2 == HD_AUTO) && ELEM(t->mode, TFM_ROTATION, TFM_RESIZE)) {
+ if (ELEM(bezt->h1, HD_AUTO, HD_AUTO_ANIM) && ELEM(bezt->h2, HD_AUTO, HD_AUTO_ANIM) && ELEM(t->mode, TFM_ROTATION, TFM_RESIZE)) {
if (hdata && (sel1) && (sel3)) {
bezt->h1= HD_ALIGN;
bezt->h2= HD_ALIGN;
@@ -3725,27 +3740,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) {
@@ -4105,6 +4101,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;
@@ -4135,6 +4132,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);
@@ -4154,6 +4169,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
}
@@ -4754,7 +4771,14 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
else if (t->spacetype == SPACE_NODE) {
- /* pass */
+ SpaceNode *snode= (SpaceNode *)t->sa->spacedata.first;
+ ED_node_update_hierarchy(C, snode->edittree);
+
+ 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;
@@ -4769,7 +4793,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
if (ELEM(ac.datatype, ANIMCONT_DOPESHEET, ANIMCONT_SHAPEKEY)) {
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT /*| ANIMFILTER_CURVESONLY*/);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4836,7 +4860,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
// XXX: BAD! this get gpencil datablocks directly from main db...
// but that's how this currently works :/
for (gpd = G.main->gpencil.first; gpd; gpd = gpd->id.next) {
- if (ID_REAL_USERS(gpd) > 1)
+ if (ID_REAL_USERS(gpd))
posttrans_gpd_clean(gpd);
}
}
@@ -4864,7 +4888,8 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
}
/* make sure all F-Curves are set correctly */
- ANIM_editkeyframes_refresh(&ac);
+ if (ac.datatype != ANIMCONT_GPENCIL)
+ ANIM_editkeyframes_refresh(&ac);
/* clear flag that was set for time-slide drawing */
saction->flag &= ~SACTION_MOVING;
@@ -4881,7 +4906,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4931,7 +4956,7 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
{
ListBase anim_data = {NULL, NULL};
bAnimListElem *ale;
- short filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_NLATRACKS);
+ short filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT);
/* get channels to work on */
ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
@@ -4977,6 +5002,10 @@ void special_aftertrans_update(bContext *C, TransInfo *t)
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);
@@ -5077,10 +5106,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
}
@@ -5171,6 +5196,11 @@ static void NodeToTransData(TransData *td, TransData2D *td2d, bNode *node)
td2d->loc2d = &node->locx; /* current location */
td->flag = 0;
+ /* exclude nodes whose parent is also transformed */
+ if (node->parent && (node->parent->flag & NODE_TRANSFORM)) {
+ td->flag |= TD_SKIP;
+ }
+
td->loc = td2d->loc;
VECCOPY(td->center, td->loc);
VECCOPY(td->iloc, td->loc);
@@ -5191,6 +5221,16 @@ static void createTransNodeData(bContext *C, TransInfo *t)
{
TransData *td;
TransData2D *td2d;
+ SpaceNode *snode= t->sa->spacedata.first;
+ bNode *node;
+
+ /* set transform flags on nodes */
+ for (node=snode->edittree->nodes.first; node; node=node->next) {
+ if ((node->flag & NODE_SELECT) || (node->parent && (node->parent->flag & NODE_TRANSFORM)))
+ node->flag |= NODE_TRANSFORM;
+ else
+ node->flag &= ~NODE_TRANSFORM;
+ }
t->total= CTX_DATA_COUNT(C, selected_nodes);
diff --git a/source/blender/editors/transform/transform_generics.c b/source/blender/editors/transform/transform_generics.c
index 8699eb1cc2d..ec76bb3ac35 100644
--- a/source/blender/editors/transform/transform_generics.c
+++ b/source/blender/editors/transform/transform_generics.c
@@ -323,525 +323,547 @@ static int fcu_test_selected(FCurve *fcu)
return 0;
}
-/* called for updating while transform acts, once per redraw */
-void recalcData(TransInfo *t)
+/* helper for recalcData() - for Action Editor transforms */
+static void recalcData_actedit(TransInfo *t)
{
- Base *base = t->scene->basact;
-
- if (t->spacetype==SPACE_NODE) {
- flushTransNodes(t);
- }
- else if (t->spacetype==SPACE_SEQ) {
- flushTransSeq(t);
+ Scene *scene= t->scene;
+ SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
+
+ bAnimContext ac= {NULL};
+ ListBase anim_data = {NULL, NULL};
+ bAnimListElem *ale;
+ int filter;
+
+ /* initialise relevant anim-context 'context' data from TransInfo data */
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ ac.scene= t->scene;
+ ac.obact= OBACT;
+ ac.sa= t->sa;
+ ac.ar= t->ar;
+ ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
+ ac.spacetype= (t->sa)? t->sa->spacetype : 0;
+ ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+
+ ANIM_animdata_context_getdata(&ac);
+
+ /* perform flush */
+ if (ac.datatype == ANIMCONT_GPENCIL) {
+ /* flush transform values back to actual coordinates */
+ flushTransGPactionData(t);
}
- else if (t->spacetype == SPACE_ACTION) {
- Scene *scene= t->scene;
- SpaceAction *saction= (SpaceAction *)t->sa->spacedata.first;
-
- bAnimContext ac= {NULL};
- ListBase anim_data = {NULL, NULL};
- bAnimListElem *ale;
- int filter;
-
- /* initialise relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
-
- ANIM_animdata_context_getdata(&ac);
+ else {
+ /* get animdata blocks visible in editor, assuming that these will be the ones where things changed */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_ANIMDATA);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
- /* perform flush */
- if (ac.datatype == ANIMCONT_GPENCIL) {
- /* flush transform values back to actual coordinates */
- flushTransGPactionData(t);
- }
- else {
- /* get animdata blocks visible in editor, assuming that these will be the ones where things changed */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_ANIMDATA);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
-
- /* just tag these animdata-blocks to recalc, assuming that some data there changed
- * BUT only do this if realtime updates are enabled
- */
- if ((saction->flag & SACTION_NOREALTIMEUPDATES) == 0) {
- for (ale= anim_data.first; ale; ale= ale->next) {
- /* set refresh tags for objects using this animation */
- ANIM_list_elem_update(t->scene, ale);
- }
+ /* just tag these animdata-blocks to recalc, assuming that some data there changed
+ * BUT only do this if realtime updates are enabled
+ */
+ if ((saction->flag & SACTION_NOREALTIMEUPDATES) == 0) {
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ /* set refresh tags for objects using this animation */
+ ANIM_list_elem_update(t->scene, ale);
}
-
- /* now free temp channels */
- BLI_freelistN(&anim_data);
}
- }
- else if (t->spacetype == SPACE_IPO) {
- Scene *scene;
- SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
- ListBase anim_data = {NULL, NULL};
- bAnimContext ac;
- int filter;
+ /* now free temp channels */
+ BLI_freelistN(&anim_data);
+ }
+}
+
+/* helper for recalcData() - for Graph Editor transforms */
+static void recalcData_graphedit(TransInfo *t)
+{
+ SpaceIpo *sipo= (SpaceIpo *)t->sa->spacedata.first;
+ Scene *scene;
+
+ ListBase anim_data = {NULL, NULL};
+ bAnimContext ac= {NULL};
+ int filter;
+
+ bAnimListElem *ale;
+ int dosort = 0;
+
+
+ /* initialise relevant anim-context 'context' data from TransInfo data */
+ /* NOTE: sync this with the code in ANIM_animdata_get_context() */
+ scene= ac.scene= t->scene;
+ ac.obact= OBACT;
+ ac.sa= t->sa;
+ ac.ar= t->ar;
+ ac.sl= (t->sa)? t->sa->spacedata.first : NULL;
+ ac.spacetype= (t->sa)? t->sa->spacetype : 0;
+ ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+
+ ANIM_animdata_context_getdata(&ac);
+
+ /* do the flush first */
+ flushTransGraphData(t);
+
+ /* get curves to check if a re-sort is needed */
+ filter= (ANIMFILTER_DATA_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVE_VISIBLE);
+ ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+
+ /* now test if there is a need to re-sort */
+ for (ale= anim_data.first; ale; ale= ale->next) {
+ FCurve *fcu= (FCurve *)ale->key_data;
- bAnimListElem *ale;
- int dosort = 0;
+ /* ignore unselected fcurves */
+ if (!fcu_test_selected(fcu))
+ continue;
+ // fixme: only do this for selected verts...
+ ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS|ANIM_UNITCONV_RESTORE);
- /* initialise relevant anim-context 'context' data from TransInfo data */
- /* NOTE: sync this with the code in ANIM_animdata_get_context() */
- memset(&ac, 0, sizeof(bAnimContext));
- scene= ac.scene= t->scene;
- ac.obact= OBACT;
- ac.sa= t->sa;
- ac.ar= t->ar;
- ac.spacetype= (t->sa)? t->sa->spacetype : 0;
- ac.regiontype= (t->ar)? t->ar->regiontype : 0;
+ /* watch it: if the time is wrong: do not correct handles yet */
+ if (test_time_fcurve(fcu))
+ dosort++;
+ else
+ calchandles_fcurve(fcu);
- ANIM_animdata_context_getdata(&ac);
+ /* set refresh tags for objects using this animation,
+ * BUT only if realtime updates are enabled
+ */
+ if ((sipo->flag & SIPO_NOREALTIMEUPDATES) == 0)
+ ANIM_list_elem_update(t->scene, ale);
+ }
+
+ /* do resort and other updates? */
+ if (dosort) remake_graph_transdata(t, &anim_data);
+
+ /* now free temp channels */
+ BLI_freelistN(&anim_data);
+}
+
+/* helper for recalcData() - for NLA Editor transforms */
+static void recalcData_nla(TransInfo *t)
+{
+ TransDataNla *tdn= (TransDataNla *)t->customData;
+ SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
+ Scene *scene= t->scene;
+ double secf= FPS;
+ int i;
+
+ /* for each strip we've got, perform some additional validation of the values that got set before
+ * using RNA to set the value (which does some special operations when setting these values to make
+ * sure that everything works ok)
+ */
+ for (i = 0; i < t->total; i++, tdn++) {
+ NlaStrip *strip= tdn->strip;
+ PointerRNA strip_ptr;
+ short pExceeded, nExceeded, iter;
+ int delta_y1, delta_y2;
- /* do the flush first */
- flushTransGraphData(t);
+ /* if this tdn has no handles, that means it is just a dummy that should be skipped */
+ if (tdn->handle == 0)
+ continue;
- /* get curves to check if a re-sort is needed */
- filter= (ANIMFILTER_VISIBLE | ANIMFILTER_FOREDIT | ANIMFILTER_CURVESONLY | ANIMFILTER_CURVEVISIBLE);
- ANIM_animdata_filter(&ac, &anim_data, filter, ac.data, ac.datatype);
+ /* set refresh tags for objects using this animation,
+ * BUT only if realtime updates are enabled
+ */
+ if ((snla->flag & SNLA_NOREALTIMEUPDATES) == 0)
+ ANIM_id_update(t->scene, tdn->id);
- /* now test if there is a need to re-sort */
- for (ale= anim_data.first; ale; ale= ale->next) {
- FCurve *fcu= (FCurve *)ale->key_data;
+ /* if cancelling transform, just write the values without validating, then move on */
+ if (t->state == TRANS_CANCEL) {
+ /* clear the values by directly overwriting the originals, but also need to restore
+ * endpoints of neighboring transition-strips
+ */
- /* ignore unselected fcurves */
- if (!fcu_test_selected(fcu))
- continue;
+ /* start */
+ strip->start= tdn->h1[0];
- // fixme: only do this for selected verts...
- ANIM_unit_mapping_apply_fcurve(ac.scene, ale->id, ale->key_data, ANIM_UNITCONV_ONLYSEL|ANIM_UNITCONV_SELVERTS|ANIM_UNITCONV_RESTORE);
+ if ((strip->prev) && (strip->prev->type == NLASTRIP_TYPE_TRANSITION))
+ strip->prev->end= tdn->h1[0];
+ /* end */
+ strip->end= tdn->h2[0];
- /* watch it: if the time is wrong: do not correct handles yet */
- if (test_time_fcurve(fcu))
- dosort++;
- else
- calchandles_fcurve(fcu);
+ if ((strip->next) && (strip->next->type == NLASTRIP_TYPE_TRANSITION))
+ strip->next->start= tdn->h2[0];
- /* set refresh tags for objects using this animation,
- * BUT only if realtime updates are enabled
- */
- if ((sipo->flag & SIPO_NOREALTIMEUPDATES) == 0)
- ANIM_list_elem_update(t->scene, ale);
+ /* flush transforms to child strips (since this should be a meta) */
+ BKE_nlameta_flush_transforms(strip);
+
+ /* restore to original track (if needed) */
+ if (tdn->oldTrack != tdn->nlt) {
+ /* just append to end of list for now, since strips get sorted in special_aftertrans_update() */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BLI_addtail(&tdn->oldTrack->strips, strip);
+ }
+
+ continue;
}
- /* do resort and other updates? */
- if (dosort) remake_graph_transdata(t, &anim_data);
-
- /* now free temp channels */
- BLI_freelistN(&anim_data);
- }
- else if (t->spacetype == SPACE_NLA) {
- TransDataNla *tdn= (TransDataNla *)t->customData;
- SpaceNla *snla= (SpaceNla *)t->sa->spacedata.first;
- Scene *scene= t->scene;
- double secf= FPS;
- int i;
-
- /* for each strip we've got, perform some additional validation of the values that got set before
- * using RNA to set the value (which does some special operations when setting these values to make
- * sure that everything works ok)
+ /* firstly, check if the proposed transform locations would overlap with any neighbouring strips
+ * (barring transitions) which are absolute barriers since they are not being moved
+ *
+ * this is done as a iterative procedure (done 5 times max for now)
*/
- for (i = 0; i < t->total; i++, tdn++) {
- NlaStrip *strip= tdn->strip;
- PointerRNA strip_ptr;
- short pExceeded, nExceeded, iter;
- int delta_y1, delta_y2;
-
- /* if this tdn has no handles, that means it is just a dummy that should be skipped */
- if (tdn->handle == 0)
- continue;
-
- /* set refresh tags for objects using this animation,
- * BUT only if realtime updates are enabled
- */
- if ((snla->flag & SNLA_NOREALTIMEUPDATES) == 0)
- ANIM_id_update(t->scene, tdn->id);
+ for (iter=0; iter < 5; iter++) {
+ pExceeded= ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
+ nExceeded= ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
- /* if cancelling transform, just write the values without validating, then move on */
- if (t->state == TRANS_CANCEL) {
- /* clear the values by directly overwriting the originals, but also need to restore
- * endpoints of neighboring transition-strips
+ if ((pExceeded && nExceeded) || (iter == 4) ) {
+ /* both endpoints exceeded (or iteration ping-pong'd meaning that we need a compromise)
+ * - simply crop strip to fit within the bounds of the strips bounding it
+ * - if there were no neighbours, clear the transforms (make it default to the strip's current values)
*/
-
- /* start */
- strip->start= tdn->h1[0];
-
- if ((strip->prev) && (strip->prev->type == NLASTRIP_TYPE_TRANSITION))
- strip->prev->end= tdn->h1[0];
-
- /* end */
- strip->end= tdn->h2[0];
-
- if ((strip->next) && (strip->next->type == NLASTRIP_TYPE_TRANSITION))
- strip->next->start= tdn->h2[0];
-
- /* flush transforms to child strips (since this should be a meta) */
- BKE_nlameta_flush_transforms(strip);
-
- /* restore to original track (if needed) */
- if (tdn->oldTrack != tdn->nlt) {
- /* just append to end of list for now, since strips get sorted in special_aftertrans_update() */
- BLI_remlink(&tdn->nlt->strips, strip);
- BLI_addtail(&tdn->oldTrack->strips, strip);
+ if (strip->prev && strip->next) {
+ tdn->h1[0]= strip->prev->end;
+ tdn->h2[0]= strip->next->start;
+ }
+ else {
+ tdn->h1[0]= strip->start;
+ tdn->h2[0]= strip->end;
}
-
- continue;
}
-
- /* firstly, check if the proposed transform locations would overlap with any neighbouring strips
- * (barring transitions) which are absolute barriers since they are not being moved
- *
- * this is done as a iterative procedure (done 5 times max for now)
- */
- for (iter=0; iter < 5; iter++) {
- pExceeded= ((strip->prev) && (strip->prev->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h1[0] < strip->prev->end));
- nExceeded= ((strip->next) && (strip->next->type != NLASTRIP_TYPE_TRANSITION) && (tdn->h2[0] > strip->next->start));
+ else if (nExceeded) {
+ /* move backwards */
+ float offset= tdn->h2[0] - strip->next->start;
- if ((pExceeded && nExceeded) || (iter == 4) ) {
- /* both endpoints exceeded (or iteration ping-pong'd meaning that we need a compromise)
- * - simply crop strip to fit within the bounds of the strips bounding it
- * - if there were no neighbours, clear the transforms (make it default to the strip's current values)
- */
- if (strip->prev && strip->next) {
- tdn->h1[0]= strip->prev->end;
- tdn->h2[0]= strip->next->start;
- }
- else {
- tdn->h1[0]= strip->start;
- tdn->h2[0]= strip->end;
- }
- }
- else if (nExceeded) {
- /* move backwards */
- float offset= tdn->h2[0] - strip->next->start;
-
- tdn->h1[0] -= offset;
- tdn->h2[0] -= offset;
- }
- else if (pExceeded) {
- /* more forwards */
- float offset= strip->prev->end - tdn->h1[0];
-
- tdn->h1[0] += offset;
- tdn->h2[0] += offset;
- }
- else /* all is fine and well */
- break;
+ tdn->h1[0] -= offset;
+ tdn->h2[0] -= offset;
}
-
- /* handle auto-snapping */
- switch (snla->autosnap) {
- case SACTSNAP_FRAME: /* snap to nearest frame/time */
- if (snla->flag & SNLA_DRAWTIME) {
- tdn->h1[0]= (float)( floor((tdn->h1[0]/secf) + 0.5f) * secf );
- tdn->h2[0]= (float)( floor((tdn->h2[0]/secf) + 0.5f) * secf );
- }
- else {
- tdn->h1[0]= (float)( floor(tdn->h1[0]+0.5f) );
- tdn->h2[0]= (float)( floor(tdn->h2[0]+0.5f) );
- }
- break;
+ else if (pExceeded) {
+ /* more forwards */
+ float offset= strip->prev->end - tdn->h1[0];
- case SACTSNAP_MARKER: /* snap to nearest marker */
- tdn->h1[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
- tdn->h2[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
- break;
+ tdn->h1[0] += offset;
+ tdn->h2[0] += offset;
}
+ else /* all is fine and well */
+ break;
+ }
+
+ /* handle auto-snapping */
+ switch (snla->autosnap) {
+ case SACTSNAP_FRAME: /* snap to nearest frame/time */
+ if (snla->flag & SNLA_DRAWTIME) {
+ tdn->h1[0]= (float)( floor((tdn->h1[0]/secf) + 0.5f) * secf );
+ tdn->h2[0]= (float)( floor((tdn->h2[0]/secf) + 0.5f) * secf );
+ }
+ else {
+ tdn->h1[0]= (float)( floor(tdn->h1[0]+0.5f) );
+ tdn->h2[0]= (float)( floor(tdn->h2[0]+0.5f) );
+ }
+ break;
- /* use RNA to write the values... */
- // TODO: do we need to write in 2 passes to make sure that no truncation goes on?
- RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &strip_ptr);
-
- RNA_float_set(&strip_ptr, "frame_start", tdn->h1[0]);
- RNA_float_set(&strip_ptr, "frame_end", tdn->h2[0]);
-
- /* flush transforms to child strips (since this should be a meta) */
- BKE_nlameta_flush_transforms(strip);
-
+ case SACTSNAP_MARKER: /* snap to nearest marker */
+ tdn->h1[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h1[0]);
+ tdn->h2[0]= (float)ED_markers_find_nearest_marker_time(&t->scene->markers, tdn->h2[0]);
+ break;
+ }
+
+ /* use RNA to write the values... */
+ // TODO: do we need to write in 2 passes to make sure that no truncation goes on?
+ RNA_pointer_create(NULL, &RNA_NlaStrip, strip, &strip_ptr);
+
+ RNA_float_set(&strip_ptr, "frame_start", tdn->h1[0]);
+ RNA_float_set(&strip_ptr, "frame_end", tdn->h2[0]);
+
+ /* flush transforms to child strips (since this should be a meta) */
+ BKE_nlameta_flush_transforms(strip);
+
+
+ /* now, check if we need to try and move track
+ * - we need to calculate both, as only one may have been altered by transform if only 1 handle moved
+ */
+ delta_y1= ((int)tdn->h1[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+ delta_y2= ((int)tdn->h2[1] / NLACHANNEL_STEP(snla) - tdn->trackIndex);
+
+ if (delta_y1 || delta_y2) {
+ NlaTrack *track;
+ int delta = (delta_y2) ? delta_y2 : delta_y1;
+ int n;
- /* now, check if we need to try and move track
- * - we need to calculate both, as only one may have been altered by transform if only 1 handle moved
+ /* move in the requested direction, checking at each layer if there's space for strip to pass through,
+ * stopping on the last track available or that we're able to fit in
*/
- delta_y1= ((int)tdn->h1[1] / NLACHANNEL_STEP - tdn->trackIndex);
- delta_y2= ((int)tdn->h2[1] / NLACHANNEL_STEP - tdn->trackIndex);
-
- if (delta_y1 || delta_y2) {
- NlaTrack *track;
- int delta = (delta_y2) ? delta_y2 : delta_y1;
- int n;
-
- /* move in the requested direction, checking at each layer if there's space for strip to pass through,
- * stopping on the last track available or that we're able to fit in
- */
- if (delta > 0) {
- for (track=tdn->nlt->next, n=0; (track) && (n < delta); track=track->next, n++) {
- /* check if space in this track for the strip */
- if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
- /* move strip to this track */
- BLI_remlink(&tdn->nlt->strips, strip);
- BKE_nlatrack_add_strip(track, strip);
-
- tdn->nlt= track;
- tdn->trackIndex++;
- }
- else /* can't move any further */
- break;
+ if (delta > 0) {
+ for (track=tdn->nlt->next, n=0; (track) && (n < delta); track=track->next, n++) {
+ /* check if space in this track for the strip */
+ if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
+ /* move strip to this track */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BKE_nlatrack_add_strip(track, strip);
+
+ tdn->nlt= track;
+ tdn->trackIndex++;
}
+ else /* can't move any further */
+ break;
}
- else {
- /* make delta 'positive' before using it, since we now know to go backwards */
- delta= -delta;
-
- for (track=tdn->nlt->prev, n=0; (track) && (n < delta); track=track->prev, n++) {
- /* check if space in this track for the strip */
- if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
- /* move strip to this track */
- BLI_remlink(&tdn->nlt->strips, strip);
- BKE_nlatrack_add_strip(track, strip);
-
- tdn->nlt= track;
- tdn->trackIndex--;
- }
- else /* can't move any further */
- break;
+ }
+ else {
+ /* make delta 'positive' before using it, since we now know to go backwards */
+ delta= -delta;
+
+ for (track=tdn->nlt->prev, n=0; (track) && (n < delta); track=track->prev, n++) {
+ /* check if space in this track for the strip */
+ if (BKE_nlatrack_has_space(track, strip->start, strip->end)) {
+ /* move strip to this track */
+ BLI_remlink(&tdn->nlt->strips, strip);
+ BKE_nlatrack_add_strip(track, strip);
+
+ tdn->nlt= track;
+ tdn->trackIndex--;
}
+ else /* can't move any further */
+ break;
}
}
}
}
- else if (t->spacetype == SPACE_IMAGE) {
- if (t->obedit && t->obedit->type == OB_MESH) {
- SpaceImage *sima= t->sa->spacedata.first;
+}
+
+/* helper for recalcData() - for 3d-view transforms */
+static void recalcData_view3d(TransInfo *t)
+{
+ Base *base = t->scene->basact;
+
+ if (t->obedit) {
+ if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
+ Curve *cu= t->obedit->data;
+ ListBase *nurbs= ED_curve_editnurbs(cu);
+ Nurb *nu= nurbs->first;
- flushTransUVs(t);
- if(sima->flag & SI_LIVE_UNWRAP)
- ED_uvedit_live_unwrap_re_solve();
+ if(t->state != TRANS_CANCEL) {
+ clipMirrorModifier(t, t->obedit);
+ applyProject(t);
+ }
- DAG_id_tag_update(t->obedit->data, 0);
- }
- }
- else if (t->spacetype == SPACE_VIEW3D) {
-
- if (t->obedit) {
- if ELEM(t->obedit->type, OB_CURVE, OB_SURF) {
- Curve *cu= t->obedit->data;
- ListBase *nurbs= ED_curve_editnurbs(cu);
- Nurb *nu= nurbs->first;
-
- if(t->state != TRANS_CANCEL) {
- clipMirrorModifier(t, t->obedit);
- applyProject(t);
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if (t->state == TRANS_CANCEL) {
+ while(nu) {
+ calchandlesNurb(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
+ nu= nu->next;
}
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
-
- if (t->state == TRANS_CANCEL) {
- while(nu) {
- calchandlesNurb(nu); /* Cant do testhandlesNurb here, it messes up the h1 and h2 flags */
- nu= nu->next;
- }
- } else {
- /* Normal updating */
- while(nu) {
- test2DNurb(nu);
- calchandlesNurb(nu);
- nu= nu->next;
- }
+ }
+ else {
+ /* Normal updating */
+ while(nu) {
+ test2DNurb(nu);
+ calchandlesNurb(nu);
+ nu= nu->next;
}
}
- else if(t->obedit->type==OB_LATTICE) {
- Lattice *la= t->obedit->data;
-
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
-
- if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt);
+ }
+ else if(t->obedit->type==OB_LATTICE) {
+ Lattice *la= t->obedit->data;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if (t->obedit->type == OB_MESH) {
- EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
- /* mirror modifier clipping? */
- if(t->state != TRANS_CANCEL) {
- clipMirrorModifier(t, t->obedit);
- applyProject(t);
- }
- if((t->options & CTX_NO_MIRROR) == 0 && (t->flag & T_MIRROR))
- editmesh_apply_to_mirror(t);
-
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if(la->editlatt->latt->flag & LT_OUTSIDE) outside_lattice(la->editlatt->latt);
+ }
+ else if (t->obedit->type == OB_MESH) {
+ EditMesh *em = ((Mesh*)t->obedit->data)->edit_mesh;
+ /* mirror modifier clipping? */
+ if(t->state != TRANS_CANCEL) {
+ /* 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);
- recalc_editnormals(em);
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ recalc_editnormals(em);
+ }
+ else if(t->obedit->type==OB_ARMATURE) { /* no recalc flag, does pose */
+ bArmature *arm= t->obedit->data;
+ ListBase *edbo = arm->edbo;
+ EditBone *ebo;
+ TransData *td = t->data;
+ int i;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if(t->obedit->type==OB_ARMATURE) { /* no recalc flag, does pose */
- bArmature *arm= t->obedit->data;
- ListBase *edbo = arm->edbo;
- EditBone *ebo;
- TransData *td = t->data;
- int i;
+
+ /* Ensure all bones are correctly adjusted */
+ for (ebo = edbo->first; ebo; ebo = ebo->next){
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
-
- /* Ensure all bones are correctly adjusted */
- for (ebo = edbo->first; ebo; ebo = ebo->next){
-
- if ((ebo->flag & BONE_CONNECTED) && ebo->parent){
- /* If this bone has a parent tip that has been moved */
- if (ebo->parent->flag & BONE_TIPSEL){
- VECCOPY (ebo->head, ebo->parent->tail);
- if(t->mode==TFM_BONE_ENVELOPE) ebo->rad_head= ebo->parent->rad_tail;
- }
- /* If this bone has a parent tip that has NOT been moved */
- else{
- VECCOPY (ebo->parent->tail, ebo->head);
- if(t->mode==TFM_BONE_ENVELOPE) ebo->parent->rad_tail= ebo->rad_head;
- }
+ if ((ebo->flag & BONE_CONNECTED) && ebo->parent){
+ /* If this bone has a parent tip that has been moved */
+ if (ebo->parent->flag & BONE_TIPSEL){
+ VECCOPY (ebo->head, ebo->parent->tail);
+ if(t->mode==TFM_BONE_ENVELOPE) ebo->rad_head= ebo->parent->rad_tail;
}
-
- /* on extrude bones, oldlength==0.0f, so we scale radius of points */
- ebo->length= len_v3v3(ebo->head, ebo->tail);
- if(ebo->oldlength==0.0f) {
- ebo->rad_head= 0.25f*ebo->length;
- ebo->rad_tail= 0.10f*ebo->length;
- ebo->dist= 0.25f*ebo->length;
- if(ebo->parent) {
- if(ebo->rad_head > ebo->parent->rad_tail)
- ebo->rad_head= ebo->parent->rad_tail;
- }
- }
- else if(t->mode!=TFM_BONE_ENVELOPE) {
- /* if bones change length, lets do that for the deform distance as well */
- ebo->dist*= ebo->length/ebo->oldlength;
- ebo->rad_head*= ebo->length/ebo->oldlength;
- ebo->rad_tail*= ebo->length/ebo->oldlength;
- ebo->oldlength= ebo->length;
+ /* If this bone has a parent tip that has NOT been moved */
+ else{
+ VECCOPY (ebo->parent->tail, ebo->head);
+ if(t->mode==TFM_BONE_ENVELOPE) ebo->parent->rad_tail= ebo->rad_head;
}
}
-
- if (t->mode != TFM_BONE_ROLL)
+ /* on extrude bones, oldlength==0.0f, so we scale radius of points */
+ ebo->length= len_v3v3(ebo->head, ebo->tail);
+ if(ebo->oldlength==0.0f) {
+ ebo->rad_head= 0.25f*ebo->length;
+ ebo->rad_tail= 0.10f*ebo->length;
+ ebo->dist= 0.25f*ebo->length;
+ if(ebo->parent) {
+ if(ebo->rad_head > ebo->parent->rad_tail)
+ ebo->rad_head= ebo->parent->rad_tail;
+ }
+ }
+ else if(t->mode!=TFM_BONE_ENVELOPE) {
+ /* if bones change length, lets do that for the deform distance as well */
+ ebo->dist*= ebo->length/ebo->oldlength;
+ ebo->rad_head*= ebo->length/ebo->oldlength;
+ ebo->rad_tail*= ebo->length/ebo->oldlength;
+ ebo->oldlength= ebo->length;
+ }
+ }
+
+
+ if (t->mode != TFM_BONE_ROLL)
+ {
+ /* fix roll */
+ for(i = 0; i < t->total; i++, td++)
{
- /* fix roll */
- for(i = 0; i < t->total; i++, td++)
+ if (td->extra)
{
- if (td->extra)
+ float vec[3], up_axis[3];
+ float qrot[4];
+
+ ebo = td->extra;
+ VECCOPY(up_axis, td->axismtx[2]);
+
+ if (t->mode != TFM_ROTATION)
{
- float vec[3], up_axis[3];
- float qrot[4];
-
- ebo = td->extra;
- VECCOPY(up_axis, td->axismtx[2]);
-
- if (t->mode != TFM_ROTATION)
- {
- sub_v3_v3v3(vec, ebo->tail, ebo->head);
- normalize_v3(vec);
- rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
- mul_qt_v3(qrot, up_axis);
- }
- else
- {
- mul_m3_v3(t->mat, up_axis);
- }
-
- ebo->roll = ED_rollBoneToVector(ebo, up_axis, FALSE);
+ sub_v3_v3v3(vec, ebo->tail, ebo->head);
+ normalize_v3(vec);
+ rotation_between_vecs_to_quat(qrot, td->axismtx[1], vec);
+ mul_qt_v3(qrot, up_axis);
+ }
+ else
+ {
+ mul_m3_v3(t->mat, up_axis);
}
+
+ ebo->roll = ED_rollBoneToVector(ebo, up_axis, FALSE);
}
}
-
- if(arm->flag & ARM_MIRROR_EDIT)
- transform_armature_mirror_update(t->obedit);
-
}
- else
- {
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
- DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+
+ if(arm->flag & ARM_MIRROR_EDIT)
+ transform_armature_mirror_update(t->obedit);
+
+ }
+ else
+ {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
+ DAG_id_tag_update(t->obedit->data, 0); /* sets recalc flags */
+ }
+ }
+ else if( (t->flag & T_POSE) && t->poseobj) {
+ Object *ob= t->poseobj;
+ bArmature *arm= ob->data;
+
+ /* if animtimer is running, and the object already has animation data,
+ * check if the auto-record feature means that we should record 'samples'
+ * (i.e. uneditable animation values)
+ *
+ * context is needed for keying set poll() functions.
+ */
+ // TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
+ if ((t->animtimer) && (t->context) && IS_AUTOKEY_ON(t->scene)) {
+ int targetless_ik= (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
+
+ animrecord_check_state(t->scene, &ob->id, t->animtimer);
+ autokeyframe_pose_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik);
+ }
+
+ /* old optimize trick... this enforces to bypass the depgraph */
+ if (!(arm->flag & ARM_DELAYDEFORM)) {
+ DAG_id_tag_update(&ob->id, OB_RECALC_DATA); /* sets recalc flags */
+ }
+ else
+ where_is_pose(t->scene, ob);
+ }
+ else if(base && (base->object->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->scene, base->object)) {
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
+ }
+ flushTransParticles(t);
+ }
+ else {
+ int i;
+
+ if(t->state != TRANS_CANCEL) {
+ applyProject(t);
}
- else if( (t->flag & T_POSE) && t->poseobj) {
- Object *ob= t->poseobj;
- bArmature *arm= ob->data;
+
+ for (i = 0; i < t->total; i++) {
+ TransData *td = t->data + i;
+ Object *ob = td->ob;
+
+ if (td->flag & TD_NOACTION)
+ break;
+
+ if (td->flag & TD_SKIP)
+ continue;
/* if animtimer is running, and the object already has animation data,
* check if the auto-record feature means that we should record 'samples'
* (i.e. uneditable animation values)
- *
- * context is needed for keying set poll() functions.
*/
// TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
- if ((t->animtimer) && (t->context) && IS_AUTOKEY_ON(t->scene)) {
- int targetless_ik= (t->flag & T_AUTOIK); // XXX this currently doesn't work, since flags aren't set yet!
-
+ if ((t->animtimer) && IS_AUTOKEY_ON(t->scene)) {
animrecord_check_state(t->scene, &ob->id, t->animtimer);
- autokeyframe_pose_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode, targetless_ik);
+ autokeyframe_ob_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode);
}
- /* old optimize trick... this enforces to bypass the depgraph */
- if (!(arm->flag & ARM_DELAYDEFORM)) {
- DAG_id_tag_update(&ob->id, OB_RECALC_DATA); /* sets recalc flags */
- }
- else
- where_is_pose(t->scene, ob);
- }
- else if(base && (base->object->mode & OB_MODE_PARTICLE_EDIT) && PE_get_current(t->scene, base->object)) {
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
- flushTransParticles(t);
+ /* sets recalc flags fully, instead of flushing existing ones
+ * otherwise proxies don't function correctly
+ */
+ DAG_id_tag_update(&ob->id, OB_RECALC_OB);
}
- else {
- int i;
-
- if(t->state != TRANS_CANCEL) {
- applyProject(t);
- }
+ }
+}
- for (i = 0; i < t->total; i++) {
- TransData *td = t->data + i;
- Object *ob = td->ob;
-
- if (td->flag & TD_NOACTION)
- break;
-
- if (td->flag & TD_SKIP)
- continue;
-
- /* if animtimer is running, and the object already has animation data,
- * check if the auto-record feature means that we should record 'samples'
- * (i.e. uneditable animation values)
- */
- // TODO: autokeyframe calls need some setting to specify to add samples (FPoints) instead of keyframes?
- if ((t->animtimer) && IS_AUTOKEY_ON(t->scene)) {
- animrecord_check_state(t->scene, &ob->id, t->animtimer);
- autokeyframe_ob_cb_func(t->context, t->scene, (View3D *)t->view, ob, t->mode);
- }
-
- /* sets recalc flags fully, instead of flushing existing ones
- * otherwise proxies don't function correctly
- */
- DAG_id_tag_update(&ob->id, OB_RECALC_OB);
- }
+/* called for updating while transform acts, once per redraw */
+void recalcData(TransInfo *t)
+{
+ if (t->spacetype==SPACE_NODE) {
+ flushTransNodes(t);
+ }
+ else if (t->spacetype==SPACE_SEQ) {
+ flushTransSeq(t);
+ }
+ else if (t->spacetype == SPACE_ACTION) {
+ recalcData_actedit(t);
+ }
+ else if (t->spacetype == SPACE_IPO) {
+ recalcData_graphedit(t);
+ }
+ else if (t->spacetype == SPACE_NLA) {
+ recalcData_nla(t);
+ }
+ else if (t->spacetype == SPACE_IMAGE) {
+ if (t->obedit && t->obedit->type == OB_MESH) {
+ SpaceImage *sima= t->sa->spacedata.first;
+
+ flushTransUVs(t);
+ if(sima->flag & SI_LIVE_UNWRAP)
+ ED_uvedit_live_unwrap_re_solve();
+
+ DAG_id_tag_update(t->obedit->data, 0);
}
-
- if(((View3D*)t->view)->drawtype == OB_SHADED)
- reshadeall_displist(t->scene);
+ }
+ else if (t->spacetype == SPACE_VIEW3D) {
+ recalcData_view3d(t);
}
}
@@ -889,6 +911,7 @@ void resetTransRestrictions(TransInfo *t)
t->flag &= ~T_ALL_RESTRICTIONS;
}
+/* the *op can be NULL */
int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
{
Scene *sce = CTX_data_scene(C);
@@ -1015,6 +1038,22 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
t->options |= CTX_NO_PET;
}
}
+
+ /* initialize UV transform from */
+ if (op && RNA_struct_find_property(op->ptr, "correct_uv")) {
+ if(RNA_property_is_set(op->ptr, "correct_uv")) {
+ if(RNA_boolean_get(op->ptr, "correct_uv")) {
+ t->settings->uvcalc_flag |= UVCALC_TRANSFORM_CORRECT;
+ }
+ else {
+ t->settings->uvcalc_flag &= ~UVCALC_TRANSFORM_CORRECT;
+ }
+ }
+ else {
+ RNA_boolean_set(op->ptr, "correct_uv", t->settings->uvcalc_flag & UVCALC_TRANSFORM_CORRECT);
+ }
+ }
+
}
else if(t->spacetype==SPACE_IMAGE)
{
@@ -1072,7 +1111,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))
{
@@ -1150,7 +1189,6 @@ int initTransInfo (bContext *C, TransInfo *t, wmOperator *op, wmEvent *event)
setTransformViewMatrices(t);
initNumInput(&t->num);
- initNDofInput(&t->ndof);
return 1;
}
diff --git a/source/blender/editors/transform/transform_manipulator.c b/source/blender/editors/transform/transform_manipulator.c
index 65cd285cf48..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);
+ }
+ }
}
}
}
diff --git a/source/blender/editors/transform/transform_ndofinput.c b/source/blender/editors/transform/transform_ndofinput.c
deleted file mode 100644
index c5946163770..00000000000
--- a/source/blender/editors/transform/transform_ndofinput.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * $Id$
- *
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): Martin Poirier
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/editors/transform/transform_ndofinput.c
- * \ingroup edtransform
- */
-
-
- #include <math.h> /* fabs */
-#include <stdio.h> /* for sprintf */
-
-#include "BLI_utildefines.h"
-
-#include "BKE_global.h" /* for G */
- /* ABS */
-
-#include "WM_types.h"
-
-#include "transform.h"
-
-#if 0
-static int updateNDofMotion(NDofInput *n); // return 0 when motion is null
-#endif
-static void resetNDofInput(NDofInput *n);
-
-void initNDofInput(NDofInput *n)
-{
- int i;
-
- n->flag = 0;
- n->axis = 0;
-
- resetNDofInput(n);
-
- for(i = 0; i < 3; i++)
- {
- n->factor[i] = 1.0f;
- }
-}
-
-static void resetNDofInput(NDofInput *n)
-{
- int i;
- for(i = 0; i < 6; i++)
- {
- n->fval[i] = 0.0f;
- }
-}
-
-
-int handleNDofInput(NDofInput *UNUSED(n), wmEvent *UNUSED(event))
-{
- int retval = 0;
- // TRANSFORM_FIX_ME
-#if 0
- switch(event)
- {
- case NDOFMOTION:
- if (updateNDofMotion(n) == 0)
- {
- retval = NDOF_NOMOVE;
- }
- else
- {
- retval = NDOF_REFRESH;
- }
- break;
- case NDOFBUTTON:
- if (val == 1)
- {
- retval = NDOF_CONFIRM;
- }
- else if (val == 2)
- {
- retval = NDOF_CANCEL;
- resetNDofInput(n);
- n->flag &= ~NDOF_INIT;
- }
- break;
- }
-#endif
- return retval;
-}
-
-int hasNDofInput(NDofInput *n)
-{
- return (n->flag & NDOF_INIT) == NDOF_INIT;
-}
-
-void applyNDofInput(NDofInput *n, float *vec)
-{
- if (hasNDofInput(n))
- {
- int i, j;
-
- for (i = 0, j = 0; i < 6; i++)
- {
- if (n->axis & (1 << i))
- {
- vec[j] = n->fval[i] * n->factor[j];
- j++;
- }
- }
- }
-}
-
-// TRANSFORM_FIX_ME
-#if 0
-
-static int updateNDofMotion(NDofInput *n)
-{
- float fval[7];
- int i;
- int retval = 0;
-
- getndof(fval);
-
- if (G.vd->ndoffilter)
- filterNDOFvalues(fval);
-
- for(i = 0; i < 6; i++)
- {
- if (!retval && fval[i] != 0.0f)
- {
- retval = 1;
- }
-
- n->fval[i] += fval[i] / 1024.0f;
- }
-
- n->flag |= NDOF_INIT;
-
- return retval;
-}
-#endif
-
-
-
-
diff --git a/source/blender/editors/transform/transform_ops.c b/source/blender/editors/transform/transform_ops.c
index 7bdf6c909d9..e35b8adc570 100644
--- a/source/blender/editors/transform/transform_ops.c
+++ b/source/blender/editors/transform/transform_ops.c
@@ -360,6 +360,15 @@ static int transform_modal(bContext *C, wmOperator *op, wmEvent *event)
TransInfo *t = op->customdata;
+#if 0
+ // stable 2D mouse coords map to different 3D coords while the 3D mouse is active
+ // in other words, 2D deltas are no longer good enough!
+ // disable until individual 'transformers' behave better
+
+ if (event->type == NDOF_MOTION)
+ return OPERATOR_PASS_THROUGH;
+#endif
+
/* XXX insert keys are called here, and require context */
t->context= C;
exit_code = transformEvent(t, event);
@@ -496,6 +505,11 @@ void Transform_Properties(struct wmOperatorType *ot, int flags)
RNA_def_boolean(ot->srna, "texture_space", 0, "Edit Object data texture space", "");
}
+ if (flags & P_CORRECT_UV)
+ {
+ RNA_def_boolean(ot->srna, "correct_uv", 0, "Correct UV coords when transforming", "");
+ }
+
// Add confirm method all the time. At the end because it's not really that important and should be hidden only in log, not in keymap edit
/*prop =*/ RNA_def_boolean(ot->srna, "release_confirm", 0, "Confirm on Release", "Always confirm operation when releasing button");
//RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -743,7 +757,7 @@ void TRANSFORM_OT_edge_slide(struct wmOperatorType *ot)
RNA_def_float_factor(ot->srna, "value", 0, -1.0f, 1.0f, "Factor", "", -1.0f, 1.0f);
- Transform_Properties(ot, P_MIRROR|P_SNAP);
+ Transform_Properties(ot, P_MIRROR|P_SNAP|P_CORRECT_UV);
}
void TRANSFORM_OT_edge_crease(struct wmOperatorType *ot)
@@ -897,7 +911,7 @@ void transform_keymap_for_space(wmKeyConfig *keyconf, wmKeyMap *keymap, int spac
km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", SKEY, KM_PRESS, 0, 0);
RNA_enum_set(km->ptr, "mode", TFM_TIME_SCALE);
- km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", TKEY, KM_PRESS, 0, 0);
+ km= WM_keymap_add_item(keymap, "TRANSFORM_OT_transform", TKEY, KM_PRESS, KM_SHIFT, 0);
RNA_enum_set(km->ptr, "mode", TFM_TIME_SLIDE);
break;
case SPACE_IPO:
@@ -954,6 +968,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 e3e5e012920..ca89670dedb 100644
--- a/source/blender/editors/transform/transform_snap.c
+++ b/source/blender/editors/transform/transform_snap.c
@@ -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;
@@ -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 69ede67288a..da6e1990622 100644
--- a/source/blender/editors/util/CMakeLists.txt
+++ b/source/blender/editors/util/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../../../extern/recastnavigation/Recast/Include
../../makesdna
../../makesrna
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/undo.c b/source/blender/editors/util/undo.c
index 24a868891de..c1aca61f795 100644
--- a/source/blender/editors/util/undo.c
+++ b/source/blender/editors/util/undo.c
@@ -54,6 +54,7 @@
#include "ED_armature.h"
#include "ED_particle.h"
#include "ED_curve.h"
+#include "ED_gpencil.h"
#include "ED_mball.h"
#include "ED_mesh.h"
#include "ED_object.h"
@@ -126,6 +127,11 @@ static int ed_undo_step(bContext *C, int step, const char *undoname)
Object *obact= CTX_data_active_object(C);
ScrArea *sa= CTX_wm_area(C);
+ /* grease pencil can be can be used in plenty of spaces, so check it first */
+ if(ED_gpencil_session_active()) {
+ return ED_undo_gpencil_step(C, step, undoname);
+ }
+
if(sa && sa->spacetype==SPACE_IMAGE) {
SpaceImage *sima= (SpaceImage *)sa->spacedata.first;
@@ -156,11 +162,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) {
@@ -358,19 +364,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);
diff --git a/source/blender/editors/uvedit/CMakeLists.txt b/source/blender/editors/uvedit/CMakeLists.txt
index 11e1703d84c..552e1b60154 100644
--- a/source/blender/editors/uvedit/CMakeLists.txt
+++ b/source/blender/editors/uvedit/CMakeLists.txt
@@ -22,8 +22,8 @@
set(INC
../include
../../blenkernel
- ../../blenloader
../../blenlib
+ ../../blenloader
../../makesdna
../../makesrna
../../windowmanager
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 c09f8cff02d..05159414975 100644
--- a/source/blender/editors/uvedit/uvedit_ops.c
+++ b/source/blender/editors/uvedit/uvedit_ops.c
@@ -833,7 +833,7 @@ static int select_edgeloop(Scene *scene, Image *ima, EditMesh *em, NearestHit *h
if(extend) {
tf= CustomData_em_get(&em->fdata, hit->efa->data, CD_MTFACE);
- if(uvedit_uv_selected(scene, hit->efa, tf, hit->edge) && uvedit_uv_selected(scene, hit->efa, tf, hit->edge))
+ if(uvedit_uv_selected(scene, hit->efa, tf, hit->edge))
select= 0;
else
select= 1;
@@ -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"},
diff --git a/source/blender/editors/uvedit/uvedit_unwrap_ops.c b/source/blender/editors/uvedit/uvedit_unwrap_ops.c
index 1b8acb013ea..e8a7896abd5 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;
@@ -170,16 +205,8 @@ static ParamHandle *construct_param_handle(Scene *scene, EditMesh *em, short imp
float *uv[4];
int nverts;
- if(scene->toolsettings->uv_flag & UV_SYNC_SELECTION) {
- if(efa->h) {
- continue;
- }
- }
- else {
- if((efa->h) || (sel && (efa->f & SELECT)==0)) {
- continue;
- }
- }
+ if((efa->h) || (sel && (efa->f & SELECT)==0))
+ continue;
tf= (MTFace *)CustomData_em_get(&em->fdata, efa->data, CD_MTFACE);
@@ -256,13 +283,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 +303,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 +312,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 +324,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 +373,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 +388,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 +487,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 +501,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 +536,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;
+
+ if(!uvedit_have_selection(scene, em, implicit)) {
+ BKE_mesh_end_editmesh(obedit->data, em);
+ return OPERATOR_CANCELLED;
+ }
- handle= construct_param_handle(scene, em, 1, 0, 1, 1);
+ handle= construct_param_handle(scene, em, implicit, 0, 1, 1);
param_average(handle);
param_flush(handle);
param_delete(handle);
@@ -528,7 +582,7 @@ void ED_uvedit_live_unwrap_begin(Scene *scene, Object *obedit)
return;
}
- liveHandle = construct_param_handle(scene, em, 0, fillholes, 1, 1);
+ liveHandle = construct_param_handle(scene, em, 0, fillholes, 0, 1);
param_lscm_begin(liveHandle, PARAM_TRUE, abf);
BKE_mesh_end_editmesh(obedit->data, em);
@@ -834,11 +888,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 +913,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)) {
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index ce3150476f9..8f575dfb50b 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -26,8 +26,8 @@
set(INC
.
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../imbuf
../makesdna
@@ -56,6 +56,10 @@ 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}" "${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/GPU_extensions.h b/source/blender/gpu/GPU_extensions.h
index 8bf923a5679..d0c7f9d494f 100644
--- a/source/blender/gpu/GPU_extensions.h
+++ b/source/blender/gpu/GPU_extensions.h
@@ -178,6 +178,7 @@ typedef struct GPUVertexAttribs {
struct {
int type;
int glindex;
+ int gltexco;
char name[32];
} layer[GPU_MAX_ATTRIB];
diff --git a/source/blender/gpu/SConscript b/source/blender/gpu/SConscript
index 515c7166c2a..adb52d577a1 100644
--- a/source/blender/gpu/SConscript
+++ b/source/blender/gpu/SConscript
@@ -5,7 +5,7 @@ sources = env.Glob('intern/*.c')
defs = [ 'GLEW_STATIC' ]
-incs = '../blenlib ../blenkernel ../makesdna ../include ../blenloader'
+incs = '../blenlib ../blenkernel ../makesdna ../makesrna ../include ../blenloader'
incs += ' #/extern/glew/include #intern/guardedalloc #intern/smoke/extern ../imbuf .'
if env['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross', 'win64-vc'):
@@ -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_codegen.c b/source/blender/gpu/intern/gpu_codegen.c
index 470b99de00b..360f3dbf63f 100644
--- a/source/blender/gpu/intern/gpu_codegen.c
+++ b/source/blender/gpu/intern/gpu_codegen.c
@@ -59,15 +59,6 @@
#include <string.h>
#include <stdarg.h>
-#ifdef _WIN32
-#ifndef vsnprintf
-#define vsnprintf _vsnprintf
-#endif
-#ifndef snprintf
-#define snprintf _snprintf
-#endif
-#endif
-
extern char datatoc_gpu_shader_material_glsl[];
extern char datatoc_gpu_shader_vertex_glsl[];
@@ -82,7 +73,7 @@ typedef enum GPUDataSource {
} GPUDataSource;
static const char* GPU_DATATYPE_STR[17] = {"", "float", "vec2", "vec3", "vec4",
- 0, 0, 0, 0, "mat3", 0, 0, 0, 0, 0, 0, "mat4"};
+ NULL, NULL, NULL, NULL, "mat3", NULL, NULL, NULL, NULL, NULL, NULL, "mat4"};
struct GPUNode {
struct GPUNode *next, *prev;
@@ -168,24 +159,6 @@ struct GPUPass {
struct GPUShader *shader;
};
-/* Strings utility */
-
-static void BLI_dynstr_printf(DynStr *dynstr, const char *format, ...)
-{
- va_list args;
- int retval;
- char str[2048];
-
- va_start(args, format);
- retval = vsnprintf(str, sizeof(str), format, args);
- va_end(args);
-
- if (retval >= sizeof(str))
- fprintf(stderr, "BLI_dynstr_printf: limit exceeded\n");
- else
- BLI_dynstr_append(dynstr, str);
-}
-
/* GLSL code parsing for finding function definitions.
* These are stored in a hash for lookup when creating a material. */
@@ -291,7 +264,7 @@ static void gpu_parse_functions_string(GHash *hash, char *code)
}
}
- if(strlen(function->name) == 0 || function->totparam == 0) {
+ if(function->name[0] == '\0' || function->totparam == 0) {
fprintf(stderr, "GPU functions parse error.\n");
MEM_freeN(function);
break;
@@ -318,7 +291,7 @@ static char *gpu_generate_function_prototyps(GHash *hash)
name = BLI_ghashIterator_getValue(ghi);
function = BLI_ghashIterator_getValue(ghi);
- BLI_dynstr_printf(ds, "void %s(", name);
+ BLI_dynstr_appendf(ds, "void %s(", name);
for(a=0; a<function->totparam; a++) {
if(function->paramqual[a] == FUNCTION_QUAL_OUT)
BLI_dynstr_append(ds, "out ");
@@ -334,7 +307,7 @@ static char *gpu_generate_function_prototyps(GHash *hash)
else
BLI_dynstr_append(ds, GPU_DATATYPE_STR[function->paramtype[a]]);
- //BLI_dynstr_printf(ds, " param%d", a);
+ //BLI_dynstr_appendf(ds, " param%d", a);
if(a != function->totparam-1)
BLI_dynstr_append(ds, ", ");
@@ -390,42 +363,42 @@ static void codegen_convert_datatype(DynStr *ds, int from, int to, const char *t
{
char name[1024];
- snprintf(name, sizeof(name), "%s%d", tmp, id);
+ BLI_snprintf(name, sizeof(name), "%s%d", tmp, id);
if (from == to) {
BLI_dynstr_append(ds, name);
}
else if (to == GPU_FLOAT) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "dot(%s.rgb, vec3(0.35, 0.45, 0.2))", name);
+ BLI_dynstr_appendf(ds, "dot(%s.rgb, vec3(0.35, 0.45, 0.2))", name);
else if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "dot(%s, vec3(0.33))", name);
+ BLI_dynstr_appendf(ds, "dot(%s, vec3(0.33))", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "%s.r", name);
+ BLI_dynstr_appendf(ds, "%s.r", name);
}
else if (to == GPU_VEC2) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "vec2(dot(%s.rgb, vec3(0.35, 0.45, 0.2)), %s.a)", name, name);
+ BLI_dynstr_appendf(ds, "vec2(dot(%s.rgb, vec3(0.35, 0.45, 0.2)), %s.a)", name, name);
else if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "vec2(dot(%s.rgb, vec3(0.33)), 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec2(dot(%s.rgb, vec3(0.33)), 1.0)", name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec2(%s, 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec2(%s, 1.0)", name);
}
else if (to == GPU_VEC3) {
if (from == GPU_VEC4)
- BLI_dynstr_printf(ds, "%s.rgb", name);
+ BLI_dynstr_appendf(ds, "%s.rgb", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "vec3(%s.r, %s.r, %s.r)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec3(%s.r, %s.r, %s.r)", name, name, name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec3(%s, %s, %s)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec3(%s, %s, %s)", name, name, name);
}
else {
if (from == GPU_VEC3)
- BLI_dynstr_printf(ds, "vec4(%s, 1.0)", name);
+ BLI_dynstr_appendf(ds, "vec4(%s, 1.0)", name);
else if (from == GPU_VEC2)
- BLI_dynstr_printf(ds, "vec4(%s.r, %s.r, %s.r, %s.g)", name, name, name, name);
+ BLI_dynstr_appendf(ds, "vec4(%s.r, %s.r, %s.r, %s.g)", name, name, name, name);
else if (from == GPU_FLOAT)
- BLI_dynstr_printf(ds, "vec4(%s, %s, %s, 1.0)", name, name, name);
+ BLI_dynstr_appendf(ds, "vec4(%s, %s, %s, 1.0)", name, name, name);
}
}
@@ -433,10 +406,10 @@ static void codegen_print_datatype(DynStr *ds, int type, float *data)
{
int i;
- BLI_dynstr_printf(ds, "%s(", GPU_DATATYPE_STR[type]);
+ BLI_dynstr_appendf(ds, "%s(", GPU_DATATYPE_STR[type]);
for(i=0; i<type; i++) {
- BLI_dynstr_printf(ds, "%f", data[i]);
+ BLI_dynstr_appendf(ds, "%f", data[i]);
if(i == type-1)
BLI_dynstr_append(ds, ")");
else
@@ -451,7 +424,7 @@ static int codegen_input_has_texture(GPUInput *input)
else if(input->ima)
return 1;
else
- return input->tex != 0;
+ return input->tex != NULL;
}
const char *GPU_builtin_name(GPUBuiltin builtin)
@@ -568,7 +541,7 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
if ((input->source == GPU_SOURCE_TEX) || (input->source == GPU_SOURCE_TEX_PIXEL)) {
/* create exactly one sampler for each texture */
if (codegen_input_has_texture(input) && input->bindtex)
- BLI_dynstr_printf(ds, "uniform %s samp%d;\n",
+ BLI_dynstr_appendf(ds, "uniform %s samp%d;\n",
(input->textype == GPU_TEX1D)? "sampler1D":
(input->textype == GPU_TEX2D)? "sampler2D": "sampler2DShadow",
input->texid);
@@ -580,11 +553,11 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
name = GPU_builtin_name(input->builtin);
if(gpu_str_prefix(name, "unf")) {
- BLI_dynstr_printf(ds, "uniform %s %s;\n",
+ BLI_dynstr_appendf(ds, "uniform %s %s;\n",
GPU_DATATYPE_STR[input->type], name);
}
else {
- BLI_dynstr_printf(ds, "varying %s %s;\n",
+ BLI_dynstr_appendf(ds, "varying %s %s;\n",
GPU_DATATYPE_STR[input->type], name);
}
}
@@ -592,19 +565,19 @@ static void codegen_print_uniforms_functions(DynStr *ds, ListBase *nodes)
else if (input->source == GPU_SOURCE_VEC_UNIFORM) {
if(input->dynamicvec) {
/* only create uniforms for dynamic vectors */
- BLI_dynstr_printf(ds, "uniform %s unf%d;\n",
+ BLI_dynstr_appendf(ds, "uniform %s unf%d;\n",
GPU_DATATYPE_STR[input->type], input->id);
}
else {
/* for others use const so the compiler can do folding */
- BLI_dynstr_printf(ds, "const %s cons%d = ",
+ BLI_dynstr_appendf(ds, "const %s cons%d = ",
GPU_DATATYPE_STR[input->type], input->id);
codegen_print_datatype(ds, input->type, input->vec);
BLI_dynstr_append(ds, ";\n");
}
}
else if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
- BLI_dynstr_printf(ds, "varying %s var%d;\n",
+ BLI_dynstr_appendf(ds, "varying %s var%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
}
}
@@ -624,8 +597,8 @@ static void codegen_declare_tmps(DynStr *ds, ListBase *nodes)
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_TEX_PIXEL) {
if (codegen_input_has_texture(input) && input->definetex) {
- BLI_dynstr_printf(ds, "\tvec4 tex%d = texture2D(", input->texid);
- BLI_dynstr_printf(ds, "samp%d, gl_TexCoord[%d].st);\n",
+ BLI_dynstr_appendf(ds, "\tvec4 tex%d = texture2D(", input->texid);
+ BLI_dynstr_appendf(ds, "samp%d, gl_TexCoord[%d].st);\n",
input->texid, input->texid);
}
}
@@ -633,7 +606,7 @@ static void codegen_declare_tmps(DynStr *ds, ListBase *nodes)
/* declare temporary variables for node output storage */
for (output=node->outputs.first; output; output=output->next)
- BLI_dynstr_printf(ds, "\t%s tmp%d;\n",
+ BLI_dynstr_appendf(ds, "\t%s tmp%d;\n",
GPU_DATATYPE_STR[output->type], output->id);
}
@@ -647,13 +620,13 @@ static void codegen_call_functions(DynStr *ds, ListBase *nodes, GPUOutput *final
GPUOutput *output;
for (node=nodes->first; node; node=node->next) {
- BLI_dynstr_printf(ds, "\t%s(", node->name);
+ BLI_dynstr_appendf(ds, "\t%s(", node->name);
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_TEX) {
- BLI_dynstr_printf(ds, "samp%d", input->texid);
+ BLI_dynstr_appendf(ds, "samp%d", input->texid);
if (input->link)
- BLI_dynstr_printf(ds, ", gl_TexCoord[%d].st", input->texid);
+ BLI_dynstr_appendf(ds, ", gl_TexCoord[%d].st", input->texid);
}
else if (input->source == GPU_SOURCE_TEX_PIXEL) {
if (input->link && input->link->output)
@@ -664,21 +637,21 @@ static void codegen_call_functions(DynStr *ds, ListBase *nodes, GPUOutput *final
"tex", input->texid);
}
else if(input->source == GPU_SOURCE_BUILTIN)
- BLI_dynstr_printf(ds, "%s", GPU_builtin_name(input->builtin));
+ BLI_dynstr_appendf(ds, "%s", GPU_builtin_name(input->builtin));
else if(input->source == GPU_SOURCE_VEC_UNIFORM) {
if(input->dynamicvec)
- BLI_dynstr_printf(ds, "unf%d", input->id);
+ BLI_dynstr_appendf(ds, "unf%d", input->id);
else
- BLI_dynstr_printf(ds, "cons%d", input->id);
+ BLI_dynstr_appendf(ds, "cons%d", input->id);
}
else if (input->source == GPU_SOURCE_ATTRIB)
- BLI_dynstr_printf(ds, "var%d", input->attribid);
+ BLI_dynstr_appendf(ds, "var%d", input->attribid);
BLI_dynstr_append(ds, ", ");
}
for (output=node->outputs.first; output; output=output->next) {
- BLI_dynstr_printf(ds, "tmp%d", output->id);
+ BLI_dynstr_appendf(ds, "tmp%d", output->id);
if (output->next)
BLI_dynstr_append(ds, ", ");
}
@@ -702,7 +675,7 @@ static char *code_generate_fragment(ListBase *nodes, GPUOutput *output, const ch
codegen_print_uniforms_functions(ds, nodes);
//if(G.f & G_DEBUG)
- // BLI_dynstr_printf(ds, "/* %s */\n", name);
+ // BLI_dynstr_appendf(ds, "/* %s */\n", name);
BLI_dynstr_append(ds, "void main(void)\n");
BLI_dynstr_append(ds, "{\n");
@@ -731,9 +704,9 @@ static char *code_generate_vertex(ListBase *nodes)
for (node=nodes->first; node; node=node->next) {
for (input=node->inputs.first; input; input=input->next) {
if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
- BLI_dynstr_printf(ds, "attribute %s att%d;\n",
+ BLI_dynstr_appendf(ds, "attribute %s att%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
- BLI_dynstr_printf(ds, "varying %s var%d;\n",
+ BLI_dynstr_appendf(ds, "varying %s var%d;\n",
GPU_DATATYPE_STR[input->type], input->attribid);
}
}
@@ -747,11 +720,11 @@ static char *code_generate_vertex(ListBase *nodes)
if (input->source == GPU_SOURCE_ATTRIB && input->attribfirst) {
if(input->attribtype == CD_TANGENT) /* silly exception */
{
- BLI_dynstr_printf(ds, "\tvar%d.xyz = normalize((gl_ModelViewMatrix * vec4(att%d.xyz, 0)).xyz);\n", input->attribid, input->attribid);
- BLI_dynstr_printf(ds, "\tvar%d.w = att%d.w;\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d.xyz = normalize((gl_ModelViewMatrix * vec4(att%d.xyz, 0)).xyz);\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d.w = att%d.w;\n", input->attribid, input->attribid);
}
else
- BLI_dynstr_printf(ds, "\tvar%d = att%d;\n", input->attribid, input->attribid);
+ BLI_dynstr_appendf(ds, "\tvar%d = att%d;\n", input->attribid, input->attribid);
}
BLI_dynstr_append(ds, "}\n\n");
@@ -799,9 +772,9 @@ static void GPU_nodes_extract_dynamic_inputs(GPUPass *pass, ListBase *nodes)
continue;
if (input->ima || input->tex)
- snprintf(input->shadername, sizeof(input->shadername), "samp%d", input->texid);
+ BLI_snprintf(input->shadername, sizeof(input->shadername), "samp%d", input->texid);
else
- snprintf(input->shadername, sizeof(input->shadername), "unf%d", input->id);
+ BLI_snprintf(input->shadername, sizeof(input->shadername), "unf%d", input->id);
/* pass non-dynamic uniforms to opengl */
extract = 0;
@@ -880,7 +853,7 @@ void GPU_pass_unbind(GPUPass *pass)
GPU_texture_unbind(input->tex);
if (input->ima)
- input->tex = 0;
+ input->tex = NULL;
}
GPU_shader_unbind(shader);
diff --git a/source/blender/gpu/intern/gpu_draw.c b/source/blender/gpu/intern/gpu_draw.c
index 7dfbc52819e..7af5ef6ea14 100644
--- a/source/blender/gpu/intern/gpu_draw.c
+++ b/source/blender/gpu/intern/gpu_draw.c
@@ -246,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 */
@@ -292,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(void)
+{
+ return GTS.anisotropic;
+}
+
/* Set OpenGL state for an MTFace */
static void gpu_make_repbind(Image *ima)
@@ -559,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);
@@ -799,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};
diff --git a/source/blender/gpu/intern/gpu_extensions.c b/source/blender/gpu/intern/gpu_extensions.c
index f6352a96878..c9f1b093b7a 100644
--- a/source/blender/gpu/intern/gpu_extensions.c
+++ b/source/blender/gpu/intern/gpu_extensions.c
@@ -484,7 +484,7 @@ GPUTexture *GPU_texture_create_3D(int w, int h, int depth, float *fpixels)
//if (fpixels)
// pixels = GPU_texture_convert_pixels(w*h*depth, fpixels);
- glTexImage3D(tex->target, 0, internalformat, tex->w, tex->h, tex->depth, 0, format, type, 0);
+ glTexImage3D(tex->target, 0, internalformat, tex->w, tex->h, tex->depth, 0, format, type, NULL);
GPU_print_error("3D glTexImage3D");
diff --git a/source/blender/gpu/intern/gpu_material.c b/source/blender/gpu/intern/gpu_material.c
index e936f35574d..15b96b6d808 100644
--- a/source/blender/gpu/intern/gpu_material.c
+++ b/source/blender/gpu/intern/gpu_material.c
@@ -358,7 +358,7 @@ void GPU_material_enable_alpha(GPUMaterial *material)
material->alpha= 1;
}
-GPUBlendMode GPU_material_blend_mode(GPUMaterial *material, float obcol[3])
+GPUBlendMode GPU_material_blend_mode(GPUMaterial *material, float obcol[4])
{
if(material->alpha || (material->obcolalpha && obcol[3] < 1.0f))
return GPU_BLEND_ALPHA;
@@ -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);*/
@@ -906,6 +906,7 @@ static void do_material_tex(GPUShadeInput *shi)
int init_done = 0, iBumpSpacePrev;
GPUNodeLink *vNorg, *vNacc, *fPrevMagnitude;
int iFirstTimeNMap=1;
+ int found_deriv_map = 0;
GPU_link(mat, "set_value", GPU_uniform(&one), &stencil);
@@ -942,8 +943,10 @@ 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);
@@ -1041,6 +1044,8 @@ static void do_material_tex(GPUShadeInput *shi)
if(!(mat->scene->gm.flag & GAME_GLSL_NO_EXTRA_TEX) && (mtex->mapto & MAP_NORM)) {
if(tex->type==TEX_IMAGE) {
+ found_deriv_map = tex->imaflag & TEX_DERIVATIVEMAP;
+
if(tex->imaflag & TEX_NORMALMAP) {
/* normalmap image */
GPU_link(mat, "mtex_normal", texco, GPU_image(tex->ima, &tex->iuser), &tnor );
@@ -1080,9 +1085,10 @@ static void do_material_tex(GPUShadeInput *shi)
GPU_link(mat, "mtex_blend_normal", tnorfac, shi->vn, newnor, &shi->vn);
}
- } else if( mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP)) {
+ } else if( (mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP)) || found_deriv_map) {
/* ntap bumpmap image */
int iBumpSpace;
+ float ima_x, ima_y;
float hScale = 0.1f; // compatibility adjustment factor for all bumpspace types
float hScaleTex = 13.0f; // factor for scaling texspace bumps
@@ -1140,9 +1146,24 @@ static void do_material_tex(GPUShadeInput *shi)
iBumpSpacePrev = iBumpSpace;
}
+
+ // resolve texture resolution
+ if( (mtex->texflag & MTEX_BUMP_TEXTURESPACE) || found_deriv_map ) {
+ ImBuf *ibuf= BKE_image_get_ibuf(tex->ima, &tex->iuser);
+ ima_x= 512.0f; ima_y= 512.f; // prevent calling textureSize, glsl 1.3 only
+ if(ibuf) {
+ ima_x= ibuf->x;
+ ima_y= ibuf->y;
+ }
+ }
- if( mtex->texflag & MTEX_3TAP_BUMP )
+ if(found_deriv_map) {
+ GPU_link( mat, "mtex_bump_deriv",
+ texco, GPU_image(tex->ima, &tex->iuser), GPU_uniform(&ima_x), GPU_uniform(&ima_y), tnorfac,
+ &dBs, &dBt );
+ }
+ else if( mtex->texflag & MTEX_3TAP_BUMP )
GPU_link( mat, "mtex_bump_tap3",
texco, GPU_image(tex->ima, &tex->iuser), tnorfac,
&dBs, &dBt );
@@ -1153,12 +1174,6 @@ static void do_material_tex(GPUShadeInput *shi)
if( mtex->texflag & MTEX_BUMP_TEXTURESPACE ) {
- float ima_x= 512.0f, ima_y= 512.f; // prevent calling textureSize, glsl 1.3 only
- ImBuf *ibuf= BKE_image_get_ibuf(tex->ima, &tex->iuser);
- if(ibuf) {
- ima_x= ibuf->x;
- ima_y= ibuf->y;
- }
GPU_link( mat, "mtex_bump_apply_texspace",
fDet, dBs, dBt, vR1, vR2,
@@ -1173,7 +1188,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 +1384,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 +1418,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/gpu/intern/gpu_shader_material.glsl b/source/blender/gpu/intern/gpu_shader_material.glsl
index a06b355bc9e..06520755651 100644
--- a/source/blender/gpu/intern/gpu_shader_material.glsl
+++ b/source/blender/gpu/intern/gpu_shader_material.glsl
@@ -3002,6 +3002,22 @@ void mtex_bump_tap5( vec3 texco, sampler2D ima, float hScale,
dBt = hScale * (Hu - Hd);
}
+void mtex_bump_deriv( vec3 texco, sampler2D ima, float ima_x, float ima_y, float hScale,
+ out float dBs, out float dBt )
+{
+ float s = 1.0; // negate this if flipped texture coordinate
+ vec2 TexDx = dFdx(texco.xy);
+ vec2 TexDy = dFdy(texco.xy);
+
+ // this variant using a derivative map is described here
+ // http://mmikkelsen3d.blogspot.com/2011/07/derivative-maps.html
+ vec2 dim = vec2(ima_x, ima_y);
+ vec2 dBduv = hScale*dim*(2.0*texture2D(ima, texco.xy).xy-1.0);
+
+ dBs = dBduv.x*TexDx.x + s*dBduv.y*TexDx.y;
+ dBt = dBduv.x*TexDy.x + s*dBduv.y*TexDy.y;
+}
+
void mtex_bump_apply( float fDet, float dBs, float dBt, vec3 vR1, vec3 vR2, vec3 vNacc_in,
out vec3 vNacc_out, out vec3 perturbed_norm )
{
diff --git a/source/blender/gpu/intern/gpu_shader_material.glsl.c b/source/blender/gpu/intern/gpu_shader_material.glsl.c
index b60f7f1555e..87a8ed65532 100644
--- a/source/blender/gpu/intern/gpu_shader_material.glsl.c
+++ b/source/blender/gpu/intern/gpu_shader_material.glsl.c
@@ -1,843 +1,861 @@
/* DataToC output of file <gpu_shader_material_glsl> */
-int datatoc_gpu_shader_material_glsl_size= 39207;
+int datatoc_gpu_shader_material_glsl_size= 39789;
char datatoc_gpu_shader_material_glsl[]= {
- 10,102,108,111, 97,116, 32,
-101,120,112, 95, 98,108,101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,
-111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103,
- 98, 95,116,111, 95,104,115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
-111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118,
- 44, 32, 99,100,101,108,116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,
-114,103, 98, 91, 48, 93, 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,
-109,105,110, 32, 61, 32,109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103,
- 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118,
- 32, 61, 32, 99,109, 97,120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,
-100,101,108,116, 97, 47, 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9,
- 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
- 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51,
- 40, 99,109, 97,120, 44, 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,
-101,108,116, 97, 59, 10, 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91,
- 50, 93, 32, 45, 32, 99, 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,
-120, 41, 32,104, 32, 61, 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,
-101, 32,104, 32, 61, 32, 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61,
- 32, 54, 46, 48, 59, 10, 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59,
- 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98,
- 46,119, 41, 59, 10,125, 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118,
- 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102,
- 44, 32,112, 44, 32,113, 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10,
- 9,104, 32, 61, 32,104,115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,
-115,118, 91, 50, 93, 59, 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101,
- 99, 51, 40,118, 44, 32,118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61,
- 49, 46, 48, 41, 10, 9, 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10,
- 9, 9,105, 32, 61, 32,102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,
-103, 98, 32, 61, 32,118,101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48,
- 45,115, 41, 59, 10, 9, 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,
-118, 42, 40, 49, 46, 48, 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32,
- 61, 61, 32, 48, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,
-108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,
-118, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32,
- 61, 32,118,101, 99, 51, 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61,
- 32, 51, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,
-101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44,
- 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59,
- 10, 9,125, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59,
- 10,125, 10, 10,102,108,111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,
-116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110,
- 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41,
- 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41,
- 42, 40, 49, 46, 48, 47, 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,
-101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32,
- 60, 32, 48, 46, 48, 48, 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63,
- 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32,
- 49, 46, 48, 53, 53, 32, 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59,
- 10,125, 10, 10,118,111,105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32,
- 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,
-108, 95,116,111, 46,114, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,
-114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101,
- 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,
-114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,
-111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,
-110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,
-117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,
-110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,
-108, 95,116,111, 46,103, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,
-114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111,
- 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,
-111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49,
- 53, 57, 50, 54, 53, 51, 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32,
- 83, 72, 65, 68, 69, 82, 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,
-111,105,100, 32,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44,
- 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,
-116,116,118, 99,111,108, 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44,
- 32, 97,116,116,118, 99,111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-117,118, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99,
- 51, 32,117,118, 41, 10,123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,
-101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,
-109, 40,118,101, 99, 51, 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,
-118,109, 97,116, 44, 32,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,
-118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,
-117,116, 32,118,101, 99, 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,
-116, 32,118,101, 99, 51, 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101,
- 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,102,114,111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,
-105,101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32,
- 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,
-120,121,122, 59, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,
-117,116,101, 40, 97,116,116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,
-108,105,122,101, 40,110,111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,
-109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,
-101, 40, 97,116,116,118, 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49,
- 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,
-116, 52, 32,109, 97,116, 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99,
- 44, 32,102,108,111, 97,116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,
-118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,
-118,101, 99, 52, 40,118,101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61,
- 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,
-110,118,101, 99, 41, 59, 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101,
- 99, 32, 61, 32,109,105,110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100,
- 32, 99, 97,109,101,114, 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,
-119, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,100,105,115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122,
- 41, 59, 10, 9,111,117,116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,
-101,119, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
- 95, 97,100,100, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32,
- 43, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,
-111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59,
- 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108,
- 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
-118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118,
- 97,108, 50, 32, 61, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,
-101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125,
- 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,
-116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,
-118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116,
- 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
-108, 32, 61, 32,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,
-102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
-105,102, 32, 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9,
- 9,111,117,116,118, 97,108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,
-118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111,
- 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32,
- 40,118, 97,108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,
-116,118, 97,108, 32, 61, 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108,
- 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,
-118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108,
- 32, 61, 32, 97,116, 97,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,
+ 10,102,108,111, 97,116, 32,101,120,112, 95, 98,108,
+101,110,100,101,114, 40,102,108,111, 97,116, 32,102, 41, 10,123, 10, 9,114,101,116,117,114,110, 32,112,111,119, 40, 50, 46, 55,
+ 49, 56, 50, 56, 49, 56, 50, 56, 52, 54, 44, 32,102, 41, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98, 95,116,111, 95,104,
+115,118, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10,
+ 9,102,108,111, 97,116, 32, 99,109, 97,120, 44, 32, 99,109,105,110, 44, 32,104, 44, 32,115, 44, 32,118, 44, 32, 99,100,101,108,
+116, 97, 59, 10, 9,118,101, 99, 51, 32, 99, 59, 10, 10, 9, 99,109, 97,120, 32, 61, 32,109, 97,120, 40,114,103, 98, 91, 48, 93,
+ 44, 32,109, 97,120, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41, 59, 10, 9, 99,109,105,110, 32, 61, 32,
+109,105,110, 40,114,103, 98, 91, 48, 93, 44, 32,109,105,110, 40,114,103, 98, 91, 49, 93, 44, 32,114,103, 98, 91, 50, 93, 41, 41,
+ 59, 10, 9, 99,100,101,108,116, 97, 32, 61, 32, 99,109, 97,120, 45, 99,109,105,110, 59, 10, 10, 9,118, 32, 61, 32, 99,109, 97,
+120, 59, 10, 9,105,102, 32, 40, 99,109, 97,120, 33, 61, 48, 46, 48, 41, 10, 9, 9,115, 32, 61, 32, 99,100,101,108,116, 97, 47,
+ 99,109, 97,120, 59, 10, 9,101,108,115,101, 32,123, 10, 9, 9,115, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9,104, 32, 61, 32, 48,
+ 46, 48, 59, 10, 9,125, 10, 10, 9,105,102, 32, 40,115, 32, 61, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,104, 32, 61, 32, 48,
+ 46, 48, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9, 99, 32, 61, 32, 40,118,101, 99, 51, 40, 99,109, 97,120, 44,
+ 32, 99,109, 97,120, 44, 32, 99,109, 97,120, 41, 32, 45, 32,114,103, 98, 46,120,121,122, 41, 47, 99,100,101,108,116, 97, 59, 10,
+ 10, 9, 9,105,102, 32, 40,114,103, 98, 46,120, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61, 32, 99, 91, 50, 93, 32, 45, 32, 99,
+ 91, 49, 93, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,114,103, 98, 46,121, 61, 61, 99,109, 97,120, 41, 32,104, 32, 61,
+ 32, 50, 46, 48, 32, 43, 32, 99, 91, 48, 93, 32, 45, 32, 32, 99, 91, 50, 93, 59, 10, 9, 9,101,108,115,101, 32,104, 32, 61, 32,
+ 52, 46, 48, 32, 43, 32, 99, 91, 49, 93, 32, 45, 32, 99, 91, 48, 93, 59, 10, 10, 9, 9,104, 32, 47, 61, 32, 54, 46, 48, 59, 10,
+ 10, 9, 9,105,102, 32, 40,104, 60, 48, 46, 48, 41, 10, 9, 9, 9,104, 32, 43, 61, 32, 49, 46, 48, 59, 10, 9,125, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,104, 44, 32,115, 44, 32,118, 44, 32,114,103, 98, 46,119, 41, 59, 10,125,
+ 10, 10,118,111,105,100, 32,104,115,118, 95,116,111, 95,114,103, 98, 40,118,101, 99, 52, 32,104,115,118, 44, 32,111,117,116, 32,
+118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,105, 44, 32,102, 44, 32,112, 44, 32,113,
+ 44, 32,116, 44, 32,104, 44, 32,115, 44, 32,118, 59, 10, 9,118,101, 99, 51, 32,114,103, 98, 59, 10, 10, 9,104, 32, 61, 32,104,
+115,118, 91, 48, 93, 59, 10, 9,115, 32, 61, 32,104,115,118, 91, 49, 93, 59, 10, 9,118, 32, 61, 32,104,115,118, 91, 50, 93, 59,
+ 10, 10, 9,105,102, 40,115, 61, 61, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,
+118, 44, 32,118, 41, 59, 10, 9,125, 10, 9,101,108,115,101, 32,123, 10, 9, 9,105,102, 40,104, 61, 61, 49, 46, 48, 41, 10, 9,
+ 9, 9,104, 32, 61, 32, 48, 46, 48, 59, 10, 9, 9, 10, 9, 9,104, 32, 42, 61, 32, 54, 46, 48, 59, 10, 9, 9,105, 32, 61, 32,
+102,108,111,111,114, 40,104, 41, 59, 10, 9, 9,102, 32, 61, 32,104, 32, 45, 32,105, 59, 10, 9, 9,114,103, 98, 32, 61, 32,118,
+101, 99, 51, 40,102, 44, 32,102, 44, 32,102, 41, 59, 10, 9, 9,112, 32, 61, 32,118, 42, 40, 49, 46, 48, 45,115, 41, 59, 10, 9,
+ 9,113, 32, 61, 32,118, 42, 40, 49, 46, 48, 45, 40,115, 42,102, 41, 41, 59, 10, 9, 9,116, 32, 61, 32,118, 42, 40, 49, 46, 48,
+ 45, 40,115, 42, 40, 49, 46, 48, 45,102, 41, 41, 41, 59, 10, 9, 9, 10, 9, 9,105,102, 32, 40,105, 32, 61, 61, 32, 48, 46, 48,
+ 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,116, 44, 32,112, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102,
+ 32, 40,105, 32, 61, 61, 32, 49, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,113, 44, 32,118, 44, 32,112, 41, 59,
+ 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 50, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51,
+ 40,112, 44, 32,118, 44, 32,116, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,105, 32, 61, 61, 32, 51, 46, 48, 41, 32,
+114,103, 98, 32, 61, 32,118,101, 99, 51, 40,112, 44, 32,113, 44, 32,118, 41, 59, 10, 9, 9,101,108,115,101, 32,105,102, 32, 40,
+105, 32, 61, 61, 32, 52, 46, 48, 41, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,116, 44, 32,112, 44, 32,118, 41, 59, 10, 9,
+ 9,101,108,115,101, 32,114,103, 98, 32, 61, 32,118,101, 99, 51, 40,118, 44, 32,112, 44, 32,113, 41, 59, 10, 9,125, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 44, 32,104,115,118, 46,119, 41, 59, 10,125, 10, 10,102,108,
+111, 97,116, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123,
+ 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 52, 48, 52, 53, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32,
+ 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32, 99, 32, 42, 32, 40, 49, 46, 48, 47, 49, 50, 46, 57, 50, 41, 59, 10, 9,101,108,115,
+101, 10, 9, 9,114,101,116,117,114,110, 32,112,111,119, 40, 40, 99, 32, 43, 32, 48, 46, 48, 53, 53, 41, 42, 40, 49, 46, 48, 47,
+ 49, 46, 48, 53, 53, 41, 44, 32, 50, 46, 52, 41, 59, 10,125, 10, 10,102,108,111, 97,116, 32,108,105,110,101, 97,114,114,103, 98,
+ 95,116,111, 95,115,114,103, 98, 40,102,108,111, 97,116, 32, 99, 41, 10,123, 10, 9,105,102, 40, 99, 32, 60, 32, 48, 46, 48, 48,
+ 51, 49, 51, 48, 56, 41, 10, 9, 9,114,101,116,117,114,110, 32, 40, 99, 32, 60, 32, 48, 46, 48, 41, 63, 32, 48, 46, 48, 58, 32,
+ 99, 32, 42, 32, 49, 50, 46, 57, 50, 59, 10, 9,101,108,115,101, 10, 9, 9,114,101,116,117,114,110, 32, 49, 46, 48, 53, 53, 32,
+ 42, 32,112,111,119, 40, 99, 44, 32, 49, 46, 48, 47, 50, 46, 52, 41, 32, 45, 32, 48, 46, 48, 53, 53, 59, 10,125, 10, 10,118,111,
+105,100, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,
+111,109, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114,
+ 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41,
+ 59, 10, 9, 99,111,108, 95,116,111, 46,103, 32, 61, 32,115,114,103, 98, 95,116,111, 95,108,105,110,101, 97,114,114,103, 98, 40,
+ 99,111,108, 95,102,114,111,109, 46,103, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,115,114,103, 98, 95,116,111,
+ 95,108,105,110,101, 97,114,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,
+ 97, 32, 61, 32, 99,111,108, 95,102,114,111,109, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,108,105,110,101, 97,114,114,103,
+ 98, 95,116,111, 95,115,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 95,102,114,111,109, 44, 32,111,117,116, 32,118,101, 99,
+ 52, 32, 99,111,108, 95,116,111, 41, 10,123, 10, 9, 99,111,108, 95,116,111, 46,114, 32, 61, 32,108,105,110,101, 97,114,114,103,
+ 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,114, 41, 59, 10, 9, 99,111,108, 95,116,111, 46,103,
+ 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40, 99,111,108, 95,102,114,111,109, 46,103, 41,
+ 59, 10, 9, 99,111,108, 95,116,111, 46, 98, 32, 61, 32,108,105,110,101, 97,114,114,103, 98, 95,116,111, 95,115,114,103, 98, 40,
+ 99,111,108, 95,102,114,111,109, 46, 98, 41, 59, 10, 9, 99,111,108, 95,116,111, 46, 97, 32, 61, 32, 99,111,108, 95,102,114,111,
+109, 46, 97, 59, 10,125, 10, 10, 35,100,101,102,105,110,101, 32, 77, 95, 80, 73, 32, 51, 46, 49, 52, 49, 53, 57, 50, 54, 53, 51,
+ 53, 56, 57, 55, 57, 51, 50, 51, 56, 52, 54, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 83, 72, 65, 68, 69, 82,
+ 32, 78, 79, 68, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,118, 99,
+111,108, 95, 97,116,116,114,105, 98,117,116,101, 40,118,101, 99, 52, 32, 97,116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,
+101, 99, 52, 32,118, 99,111,108, 41, 10,123, 10, 9,118, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 97,116,116,118, 99,111,108,
+ 46,120, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,111,108, 46,121, 47, 50, 53, 53, 46, 48, 44, 32, 97,116,116,118, 99,
+111,108, 46,122, 47, 50, 53, 53, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,117,118, 95, 97,116,116,
+114,105, 98,117,116,101, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,
+123, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46,
+ 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,103,101,111,109, 40,118,101, 99, 51,
+ 32, 99,111, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,
+118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,118,101, 99, 52, 32, 97,
+116,116,118, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 44, 32,111,117,116, 32,118,101, 99,
+ 51, 32,108,111, 99, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51,
+ 32,111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,
+109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,118, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102,114,
+111,110,116, 98, 97, 99,107, 41, 10,123, 10, 9,108,111, 99, 97,108, 32, 61, 32, 99,111, 59, 10, 9,118,105,101,119, 32, 61, 32,
+110,111,114,109, 97,108,105,122,101, 40,108,111, 99, 97,108, 41, 59, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,105,101,
+119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40,108,111, 99, 97,108, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,
+111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111, 59, 10, 9,117,118, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,
+116,117,118, 44, 32,117,118, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,
+111,114, 41, 59, 9, 47, 42, 32, 98,108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115,
+ 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,118, 99,111,108, 95, 97,116,116,114,105, 98,117,116,101, 40, 97,116,116,118,
+ 99,111,108, 44, 32,118, 99,111,108, 41, 59, 10, 9,102,114,111,110,116, 98, 97, 99,107, 32, 61, 32, 49, 46, 48, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,109, 97,116, 52, 32,109, 97,116,
+ 44, 32,118,101, 99, 51, 32,109,105,110,118,101, 99, 44, 32,118,101, 99, 51, 32,109, 97,120,118,101, 99, 44, 32,102,108,111, 97,
+116, 32,100,111,109,105,110, 44, 32,102,108,111, 97,116, 32,100,111,109, 97,120, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,
+117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 40,109, 97,116, 32, 42, 32,118,101, 99, 52, 40,118,
+101, 99, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10, 9,105,102, 40,100,111,109,105,110, 32, 61, 61, 32, 49, 46, 48, 41,
+ 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109, 97,120, 40,111,117,116,118,101, 99, 44, 32,109,105,110,118,101, 99, 41, 59,
+ 10, 9,105,102, 40,100,111,109, 97,120, 32, 61, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99, 32, 61, 32,109,105,
+110, 40,111,117,116,118,101, 99, 44, 32,109, 97,120,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99, 97,109,101,114,
+ 97, 40,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,105,101,119, 44, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,111,117,116,100,101,112,116,104, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,100,105,
+115,116, 41, 10,123, 10, 9,111,117,116,100,101,112,116,104, 32, 61, 32, 97, 98,115, 40, 99,111, 46,122, 41, 59, 10, 9,111,117,
+116,100,105,115,116, 32, 61, 32,108,101,110,103,116,104, 40, 99,111, 41, 59, 10, 9,111,117,116,118,105,101,119, 32, 61, 32,110,
+111,114,109, 97,108,105,122,101, 40, 99,111, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,100,100, 40,102,
108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116,
- 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,
-117,116,118, 97,108, 32, 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9,
- 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,
-102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118,
- 97,108, 50, 32, 62, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32,
- 47, 32,108,111,103, 50, 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46,
- 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,
-102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32,109, 97,116,104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,
-108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32,
- 61, 32,109,105,110, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,
-114,111,117,110,100, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
-108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,
-125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108,
- 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49,
- 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,
-100, 32,109, 97,116,104, 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,
-102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,105,102, 40,118, 97,108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59,
- 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,
-113,117,101,101,122,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,
-108,111, 97,116, 32, 99,101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123,
- 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50,
- 56, 49, 56, 51, 44, 32, 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125,
- 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99,
+ 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 43, 32,118, 97,108, 50,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,115,117, 98,116,114, 97, 99,116, 40,102,108,111, 97,116, 32,118, 97,
+108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 45, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,
+105,100, 32,109, 97,116,104, 95,109,117,108,116,105,112,108,121, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111,
+ 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,
+116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 42, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 50, 32, 61, 61,
+ 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+116,118, 97,108, 32, 61, 32,118, 97,108, 49, 32, 47, 32,118, 97,108, 50, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,115,105,110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100,
+ 32,109, 97,116,104, 95, 99,111,115,105,110,101, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,
+116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,115, 40,118, 97,108, 41, 59, 10,
+125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,116, 97,110,103,101,110,116, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,116, 97,
+110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,115,105,110, 40,102,108,111, 97,116, 32,
+118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,
+108, 32, 60, 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,
+108, 32, 61, 32, 97,115,105,110, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32,
+ 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97, 99,111,115, 40,102,108,111, 97,116, 32,118, 97,108,
+ 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 32, 60,
+ 61, 32, 49, 46, 48, 32, 38, 38, 32,118, 97,108, 32, 62, 61, 32, 45, 49, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61,
+ 32, 97, 99,111,115, 40,118, 97,108, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95, 97,116, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,111,
+117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 97,116, 97,
+110, 40,118, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,112,111,119, 40,102,108,111, 97,116, 32,118,
+ 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,105,102, 32, 40,118, 97,108, 49, 32, 62, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 32,
+ 61, 32,112,111,119, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,
+108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,108,111,103, 40,102,108,111, 97,116, 32,
+118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,
+ 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,108, 49, 32, 62, 32, 48, 46, 48, 32, 32, 38, 38, 32,118, 97,108, 50, 32, 62, 32,
+ 48, 46, 48, 41, 10, 9, 9,111,117,116,118, 97,108, 61, 32,108,111,103, 50, 40,118, 97,108, 49, 41, 32, 47, 32,108,111,103, 50,
+ 40,118, 97,108, 50, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116,118, 97,108, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,
+118,111,105,100, 32,109, 97,116,104, 95,109, 97,120, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
+118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,109, 97,120, 40,118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,
+104, 95,109,105,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,118, 97,108, 50, 44, 32,111,117,
+116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109,105,110, 40,
+118, 97,108, 49, 44, 32,118, 97,108, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104, 95,114,111,117,110,100, 40,
+102,108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
+111,117,116,118, 97,108, 61, 32,102,108,111,111,114, 40,118, 97,108, 32, 43, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,118,111,105,
+100, 32,109, 97,116,104, 95,108,101,115,115, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111,
+ 97,116, 32,118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102,
+ 40,118, 97,108, 49, 32, 60, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,
+108,115,101, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109, 97,116,104,
+ 95,103,114,101, 97,116,101,114, 95,116,104, 97,110, 40,102,108,111, 97,116, 32,118, 97,108, 49, 44, 32,102,108,111, 97,116, 32,
+118, 97,108, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,105,102, 40,118, 97,
+108, 49, 32, 62, 32,118, 97,108, 50, 41, 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101,
+ 10, 9, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,113,117,101,101,122,101,
+ 40,102,108,111, 97,116, 32,118, 97,108, 44, 32,102,108,111, 97,116, 32,119,105,100,116,104, 44, 32,102,108,111, 97,116, 32, 99,
+101,110,116,101,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,
+ 97,108, 32, 61, 32, 49, 46, 48, 47, 40, 49, 46, 48, 32, 43, 32,112,111,119, 40, 50, 46, 55, 49, 56, 50, 56, 49, 56, 51, 44, 32,
+ 45, 40, 40,118, 97,108, 45, 99,101,110,116,101,114, 41, 42,119,105,100,116,104, 41, 41, 41, 59, 10,125, 10, 10,118,111,105,100,
+ 32,118,101, 99, 95,109, 97,116,104, 95, 97,100,100, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,
+111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
+108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 49,
+ 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,105,
+100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118,
+ 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,111,117,116,118, 97,108,
+ 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91,
+ 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,125, 10, 10,118,111,
+105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99,
51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116,
32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,118, 50, 59, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,
-116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59, 10,
-125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,115,117, 98, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101,
- 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 45, 32,118, 50, 59, 10, 9,
-111,117,116,118, 97,108, 32, 61, 32, 40, 97, 98,115, 40,111,117,116,118,101, 99, 91, 48, 93, 41, 32, 43, 32, 97, 98,115, 40,111,
-117,116,118,101, 99, 91, 49, 93, 41, 32, 43, 32, 97, 98,115, 40,111,117,116,118,101, 99, 91, 50, 93, 41, 41, 47, 51, 46, 48, 59,
- 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95, 97,118,101,114, 97,103,101, 40,118,101, 99, 51, 32,118,
- 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118, 49, 32, 43, 32,
-118, 50, 59, 10, 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,
-117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32,118,101, 99, 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50,
- 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
-118, 97,108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,
-101, 99, 95,109, 97,116,104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,
-108, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-118,101, 99, 95,109, 97,116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,
-101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10,
- 9,111,117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,
-111,114,109, 97,108,105,122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,
-103, 97,116,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,
-117,116,118, 32, 61, 32, 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,
-114, 44, 32,118,101, 99, 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,
-116, 32,102,108,111, 97,116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59,
- 10, 9,111,117,116,100,111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,
-105,100, 32, 99,117,114,118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101,
- 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,
-111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40,
- 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10,
- 9,111,117,116,118,101, 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,
- 40,118,101, 99, 46,121, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32,
- 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49,
- 46, 48, 41, 42, 48, 46, 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,
-111,117,116,118,101, 99, 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46,
- 48, 45,102, 97, 99, 41, 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111,
- 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,
-101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108,
- 46,114, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101,
- 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111,
-108, 46,103, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,
-101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99,
-111,108, 46, 98, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,
-114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102,
- 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108,
- 42,102, 97, 99, 41, 32, 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,
-108, 46, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,
-108,111, 97,116, 32,118, 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,
-117,116,118, 97,108, 32, 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99,
- 51, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,
-108, 32, 61, 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,
-111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,
-125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100,
- 32,115,101,116, 95,114,103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123,
- 10, 9,111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,
-116, 95,114,103, 98, 97, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
-111,117,116,118, 97,108, 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,
- 98,108,101,110,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
- 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61,
- 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97,
- 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116,
- 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,
-118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44,
- 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32,
- 99,111,108, 49, 32, 43, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,
-111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97,
- 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99,
- 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46,
- 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108,
- 49, 32, 42, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49,
- 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99,
- 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52,
- 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48,
- 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59,
- 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97,
- 99,109, 41, 32, 43, 32,102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,
-101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,
-108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,
-101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32,
- 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102,
- 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108,
- 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50,
- 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32,
- 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,
-111,108, 50, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,
-117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,
-109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,
-111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46,
- 48, 32, 45, 32, 99,111,108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10,
- 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42,
- 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9,
- 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
- 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,
- 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
+117,116,118, 97,108, 32, 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10, 9,111,117,116,118,101, 99, 32,
+ 61, 32,110,111,114,109, 97,108,105,122,101, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99,
+ 95,109, 97,116,104, 95,100,111,116, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,
+118,101, 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123,
+ 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40, 48, 44, 32, 48, 44, 32, 48, 41, 59, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,100,111,116, 40,118, 49, 44, 32,118, 50, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,
+104, 95, 99,114,111,115,115, 40,118,101, 99, 51, 32,118, 49, 44, 32,118,101, 99, 51, 32,118, 50, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,111,117,116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,
+111,117,116,118,101, 99, 32, 61, 32, 99,114,111,115,115, 40,118, 49, 44, 32,118, 50, 41, 59, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32,108,101,110,103,116,104, 40,111,117,116,118,101, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,
+116,104, 95,110,111,114,109, 97,108,105,122,101, 40,118,101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,
+116,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,
+108, 32, 61, 32,108,101,110,103,116,104, 40,118, 41, 59, 10, 9,111,117,116,118,101, 99, 32, 61, 32,110,111,114,109, 97,108,105,
+122,101, 40,118, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118,101, 99, 95,109, 97,116,104, 95,110,101,103, 97,116,101, 40,118,
+101, 99, 51, 32,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 41, 10,123, 10, 9,111,117,116,118, 32, 61, 32,
+ 45,118, 59, 10,125, 10, 10,118,111,105,100, 32,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,100,105,114, 44, 32,118,101, 99,
+ 51, 32,110,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114, 44, 32,111,117,116, 32,102,108,111, 97,
+116, 32,111,117,116,100,111,116, 41, 10,123, 10, 9,111,117,116,110,111,114, 32, 61, 32,100,105,114, 59, 10, 9,111,117,116,100,
+111,116, 32, 61, 32, 45,100,111,116, 40,100,105,114, 44, 32,110,111,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,
+118,101,115, 95,118,101, 99, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,
+112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99,
+ 41, 10,123, 10, 9,111,117,116,118,101, 99, 46,120, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109,
+ 97,112, 44, 32, 40,118,101, 99, 46,120, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,120, 59, 10, 9,111,117,116,118,101,
+ 99, 46,121, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,121,
+ 32, 43, 32, 49, 46, 48, 41, 42, 48, 46, 53, 41, 46,121, 59, 10, 9,111,117,116,118,101, 99, 46,122, 32, 61, 32,116,101,120,116,
+117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32, 40,118,101, 99, 46,122, 32, 43, 32, 49, 46, 48, 41, 42, 48, 46,
+ 53, 41, 46,122, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32, 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116,118,101, 99,
+ 32, 61, 32, 40,111,117,116,118,101, 99, 42,102, 97, 99, 41, 32, 43, 32, 40,118,101, 99, 42, 40, 49, 46, 48, 45,102, 97, 99, 41,
+ 41, 59, 10, 10,125, 10, 10,118,111,105,100, 32, 99,117,114,118,101,115, 95,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99,
+ 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,117,114,118,101,109, 97,112, 44, 32,
+111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,
+101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,
+118,101,109, 97,112, 44, 32, 99,111,108, 46,114, 41, 46, 97, 41, 46,114, 59, 10, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,
+116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,
+114,118,101,109, 97,112, 44, 32, 99,111,108, 46,103, 41, 46, 97, 41, 46,103, 59, 10, 9,111,117,116, 99,111,108, 46, 98, 32, 61,
+ 32,116,101,120,116,117,114,101, 49, 68, 40, 99,117,114,118,101,109, 97,112, 44, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,
+117,114,118,101,109, 97,112, 44, 32, 99,111,108, 46, 98, 41, 46, 97, 41, 46, 98, 59, 10, 10, 9,105,102, 32, 40,102, 97, 99, 32,
+ 33, 61, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32, 40,111,117,116, 99,111,108, 42,102, 97, 99, 41, 32,
+ 43, 32, 40, 99,111,108, 42, 40, 49, 46, 48, 45,102, 97, 99, 41, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32,
+ 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 40,102,108,111, 97,116, 32,118,
+ 97,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32,
+ 61, 32,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 40,118,101, 99, 51, 32, 99,111,108, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,
+108, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,
+116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 59, 10,
+125, 10, 10,118,111,105,100, 32,115,101,116, 95,118, 97,108,117,101, 95,122,101,114,111, 40,111,117,116, 32,102,108,111, 97,116,
+ 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,
+100, 32,115,101,116, 95,118, 97,108,117,101, 95,111,110,101, 40,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,
+103, 98, 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118,
+ 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,116, 95,114,103, 98, 97,
+ 95,122,101,114,111, 40,111,117,116, 32,118,101, 99, 52, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108,
+ 32, 61, 32,118,101, 99, 52, 40, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,108,101,110,100, 40,
+102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112,
+ 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,
+111,108, 49, 44, 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108,
+ 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 97,100,100, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,
+118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,
+117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32,
+ 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 43,
+ 32, 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,109,117,108,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99,
+ 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
+111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48,
+ 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 42, 32, 99,111,
+108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,105,120, 95,115, 99,114,101,101,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52,
+ 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,
+108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41,
+ 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116,
+ 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101, 99, 52, 40,102, 97, 99,109, 41, 32, 43, 32,
+102, 97, 99, 42, 40,118,101, 99, 52, 40, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 50, 41, 41, 42, 40,118,101, 99, 52, 40, 49, 46,
+ 48, 41, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,
+125, 10, 10,118,111,105,100, 32,109,105,120, 95,111,118,101,114,108, 97,121, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,
116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49,
- 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32,
- 99,111,108, 50, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,
-125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,
- 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108,
- 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59,
- 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,
-111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,
-117,116, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,
-116, 99,111,108, 46,114, 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48,
- 41, 32,111,117,116, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,
- 42,111,117,116, 99,111,108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32,
- 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,
-102, 97, 99, 42,111,117,116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120,
- 95,100,105,102,102, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
+ 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48,
+ 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,
+ 42, 99,111,108, 50, 46,114, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 32,
+ 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,108, 50, 46,114, 41,
+ 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,
+103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 42, 61, 32,102, 97, 99,109, 32, 43, 32, 50, 46,
+ 48, 42,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61,
+ 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48, 32, 45, 32, 99,111,
+108, 50, 46,103, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,
+116, 99,111,108, 46, 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 42, 61, 32,102, 97, 99,109,
+ 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,
+108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99, 42, 40, 49, 46, 48,
+ 32, 45, 32, 99,111,108, 50, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,105,120, 95,115,117, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,
+108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,
+123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 49, 44, 32, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 44, 32,
+102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,
+100, 32,109,105,120, 95,100,105,118, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,
+118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,
+ 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,
+116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,
+111,108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,111,108, 46,
+114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,108, 46,114,
+ 47, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 50, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,117,116, 99,
+111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99, 42,111,117,116, 99,111,
+108, 46,103, 47, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,111,
+117,116, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32, 43, 32,102, 97, 99, 42,111,117,
+116, 99,111,108, 46, 98, 47, 99,111,108, 50, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100,105,102,102, 40,
+102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44,
+ 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112,
+ 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,
+111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,
+116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,100, 97,114,
+107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
+ 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
+109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98, 32, 61,
+ 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10, 9,111,
+117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,
+103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,
+111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,
+108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 46,114,103, 98,
+ 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97, 99, 41, 59, 10,
+ 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,
+100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52,
32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61,
32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61,
- 32,109,105,120, 40, 99,111,108, 49, 44, 32, 97, 98,115, 40, 99,111,108, 49, 32, 45, 32, 99,111,108, 50, 41, 44, 32,102, 97, 99,
- 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-105,120, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101,
- 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99,
- 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,111,108,
- 46,114,103, 98, 32, 61, 32,109,105,110, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,102, 97,
- 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,105,120, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,
-118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102,
- 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,116, 99,
-111,108, 46,114,103, 98, 32, 61, 32,109, 97,120, 40, 99,111,108, 49, 46,114,103, 98, 44, 32, 99,111,108, 50, 46,114,103, 98, 42,
-102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10,125, 10, 10,118,111,105,
-100, 32,109,105,120, 95,100,111,100,103,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49,
+ 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
+ 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,
+ 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46,
+ 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,114, 47,116,109,112,
+ 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,
+115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116,
+ 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46,
+ 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41,
+ 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,
+109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116,
+ 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32,
+ 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,123,
+ 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59,
+ 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,
+ 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 47,116,
+109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,
+101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,
+105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49,
44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10,
- 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,111,117,
-116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46,
- 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108,
- 50, 46,114, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,
-114, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108,
- 46,114, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48,
- 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,
-105,102, 40,111,117,116, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,
-112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60,
- 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101,
- 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,111,108, 46,103, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10,
- 9, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116,
- 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 9,125, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 33, 61, 32,
- 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 42, 99,
-111,108, 50, 46, 98, 59, 10, 9, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,
-108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32,111,117,116, 99,
-111,108, 46, 98, 47,116,109,112, 41, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49,
- 46, 48, 59, 10, 9, 9,101,108,115,101, 10, 9, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10, 9,125,
- 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 98,117,114,110, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99,
- 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
-111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48,
- 41, 59, 10, 9,102,108,111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59,
- 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43,
- 32,102, 97, 99, 42, 99,111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,
-117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40,
- 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48,
- 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,
-109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,
-101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109,
- 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9,
- 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61,
- 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60,
- 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102,
- 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,
-108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97,
- 99,109, 32, 43, 32,102, 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41,
- 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112,
- 32, 61, 32, 40, 49, 46, 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41,
- 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,
-105,102, 40,116,109,112, 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10,
- 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,105,120, 95,104,117,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101,
- 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99,
- 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,
-102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108,
- 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,
-111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33,
- 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,
-118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,
-103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,
-117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,
-111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,
-101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32,
- 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102,
- 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44,
- 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59,
- 10, 10, 9,105,102, 40,104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,
-115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,
-104,115,118, 46,121, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98,
- 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,
-108, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
+ 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,
+111, 97,116, 32,116,109,112, 44, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116,
+ 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99, 42, 99,
+111,108, 50, 46,114, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,
+114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32, 45, 32,
+ 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10, 9, 9,
+111,117,116, 99,111,108, 46,114, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62, 32, 49,
+ 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,
+116, 99,111,108, 46,114, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102, 97, 99,
+ 42, 99,111,108, 50, 46,103, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,
+108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46, 48, 32,
+ 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48, 41, 10,
+ 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112, 32, 62,
+ 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10, 9, 9,
+111,117,116, 99,111,108, 46,103, 32, 61, 32,116,109,112, 59, 10, 10, 9,116,109,112, 32, 61, 32,102, 97, 99,109, 32, 43, 32,102,
+ 97, 99, 42, 99,111,108, 50, 46, 98, 59, 10, 9,105,102, 40,116,109,112, 32, 60, 61, 32, 48, 46, 48, 41, 10, 9, 9,111,117,116,
+ 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40, 40,116,109,112, 32, 61, 32, 40, 49, 46,
+ 48, 32, 45, 32, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 47,116,109,112, 41, 41, 32, 60, 32, 48, 46, 48,
+ 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 48, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,116,109,112,
+ 32, 62, 32, 49, 46, 48, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 10,
+ 9, 9,111,117,116, 99,111,108, 46, 98, 32, 61, 32,116,109,112, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,104,117,
+101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61,
- 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,
-103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,
-118, 40, 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,
-118, 46,122, 32, 43, 32,102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,
-118, 44, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,
-111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,
-117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102,
- 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48,
- 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,
-104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50,
- 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9,
- 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,
-120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,
-104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108,
- 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,
-111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,
-102,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,
-108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108,
- 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32,
- 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46,
- 48, 41, 59, 10, 9,118,101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50,
- 41, 42, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,
-111,108, 49, 32, 43, 32,102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108,
- 49, 32, 43, 32, 99,111,108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,
-114, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108,
- 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,
-109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,
-108, 49, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,
-114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48,
- 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43,
- 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40,
- 99,111,108, 50, 46,103, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103,
- 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,
-115,101, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48,
- 42, 40, 99,111,108, 50, 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32,
- 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50,
- 46, 48, 42, 40, 99,111,108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,
-111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41,
- 32, 45, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,
-102, 97, 99, 44, 32,115, 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99,
- 52, 32,111,117,116, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10,
- 9,111,117,116, 99,111,108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97,
- 99, 41, 59, 10, 9,111,117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,
-100, 32,114,103, 98,116,111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
-111,117,116,118, 97,108, 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46,
- 51, 53, 32, 43, 32, 99,111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59,
- 32, 47, 42, 32,107,101,101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,
-105,116,104, 32,116,101,120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100,
- 32,105,110,118,101,114,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116,
- 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,
-120, 40, 99,111,108, 46,120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45,
- 32, 99,111,108, 46,120,121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,
-119, 59, 10,125, 10, 10,118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,
-111, 97,116, 32,115, 97,116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44,
- 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,
-101, 99, 52, 32,104,115,118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59,
- 10, 10, 9,104,115,118, 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,
-118, 91, 48, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,
-115,118, 91, 48, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93,
- 32, 42, 61, 32,115, 97,116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61,
- 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93,
- 61, 32, 48, 46, 48, 59, 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118,
- 91, 50, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,
-118, 91, 50, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,
-114,103, 98, 40,104,115,118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120,
- 40, 99,111,108, 44, 32,111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,
-114, 97,116,101, 95,114,103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,
-111,117,116, 32,102,108,111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61,
- 32, 99,111,108, 46,114, 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,
-125, 10, 10,118,111,105,100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111,
- 97,116, 32,103, 44, 32,102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9,
- 99,111,108, 32, 61, 32,118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,
-100, 32,111,117,116,112,117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,
-112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32,
- 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 47, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,
-118,101, 99, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32,
- 61, 32,118,101, 99, 46,121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100,
- 95,108,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41,
- 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10,
- 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101,
- 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61,
- 32,109, 97,120, 40, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,
-118, 97,108, 32, 42, 61, 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,
-111,111,100, 95,115,105,110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,
-101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109,
- 97,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,
-120, 32, 43, 32,118,101, 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50,
- 48, 46, 48, 59, 10, 9,102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97,
- 41, 59, 10, 10, 9,118, 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,
-105, 44, 32,119,105, 44, 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40,
- 48, 46, 48, 44, 32, 48, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,
-105,109, 97,103,101, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,
-117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,
-117,114,101, 50, 68, 40,105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49,
- 46, 48, 41, 41, 42, 48, 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,
-108, 46,120, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109,
- 97,108, 46,121, 32, 61, 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,
-109, 97,108, 46,122, 32, 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10,
- 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,
-111,114, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,
-116,116,111,114, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,
-116,117,118, 44, 32,111,117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100,
- 32,102,111,114, 32,110,111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101,
- 97,118,105,110,103, 32,111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118,
- 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46,
- 48, 41, 44, 32, 48, 46, 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48,
- 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,
-109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,
-111,114,114,101,115,112,111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115,
- 32,110,101,103, 97,116,101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,
-100,101,114, 32,110,111,114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,
-108, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,
-101,120, 99,111, 95,116, 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,
-101, 99, 51, 32,111,117,116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,
-110,111,114,109, 97,108,105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,
-116,101,120, 99,111, 95,103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101,
- 99, 51, 32, 99,111, 44, 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,
-108, 32, 61, 32, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,
-121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,
-101,119,105,110,118,109, 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111,
- 44, 32,111,117,116, 32,118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,
-111, 98,105,110,118,109, 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46,
- 48, 41, 41, 41, 46,120,121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99,
- 51, 32,118,110, 44, 32,118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123,
- 10, 9,114,101,102, 32, 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41,
- 42,118,110, 59, 10,125, 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,
-109, 97,108, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,
-108,101,110,100,101,114, 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32,
- 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,
-108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,
-111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,
-102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,
-109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120,
- 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,
-114,103, 98, 95,109,117,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101,
- 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32,
- 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,
-111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,
-117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,
-108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109,
- 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41,
- 32, 45, 32, 40,118,101, 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41,
- 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,
-111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,
-102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,
-109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46,
- 53, 41, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32,
- 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,
-108, 46,114, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46,
- 48, 32, 45, 32,116,101,120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59,
- 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32,
- 61, 32,111,117,116, 99,111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 46,103, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,
-102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41,
- 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,
- 98, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102,
- 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10,
- 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
- 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,
-111,108, 46, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51,
- 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,105,110, 99,111,108, 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116,
- 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,
-117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,
-110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,
-111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,
-116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32,
- 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,
-105,110, 99,111,108, 46,114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,
-117,116, 99,111,108, 46,114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33,
- 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43,
- 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120,
- 99,111,108, 46, 98, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116,
- 99,111,108, 46, 98, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,
-125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,
+ 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,
+101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,
+ 99,111,108, 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41,
+ 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,
+104,115,118, 46,120, 32, 61, 32,104,115,118, 50, 46,120, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118,
+ 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40,111,117,116, 99,111,108, 44,
+ 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61, 32, 99,111,108, 49, 46, 97, 59,
+ 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115, 97,116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,
+101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,
+116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49,
+ 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99, 59, 10, 10, 9,
+111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59,
+ 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,105,102, 40,
+104,115,118, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108,
+ 50, 44, 32,104,115,118, 50, 41, 59, 10, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,121, 32,
+ 43, 32,102, 97, 99, 42,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,
+111,117,116, 99,111,108, 41, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,118, 97,108, 40,102,108,111, 97,
+116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99,
+ 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45,
+ 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,115,118, 50, 59, 10, 9,114,103, 98, 95,116,111, 95,
+104,115,118, 40, 99,111,108, 49, 44, 32,104,115,118, 41, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50,
+ 44, 32,104,115,118, 50, 41, 59, 10, 10, 9,104,115,118, 46,122, 32, 61, 32,102, 97, 99,109, 42,104,115,118, 46,122, 32, 43, 32,
+102, 97, 99, 42,104,115,118, 50, 46,122, 59, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,118, 44, 32,111,117,116,
+ 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95, 99,111,108,111,114, 40,102,108,111, 97,116, 32,102, 97,
+ 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116, 32,118,101, 99,
+ 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46,
+ 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,
+ 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,118,101, 99, 52, 32,104,115,118, 44, 32,104,
+115,118, 50, 44, 32,116,109,112, 59, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 50, 44, 32,104,115,118, 50,
+ 41, 59, 10, 10, 9,105,102, 40,104,115,118, 50, 46,121, 32, 33, 61, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,114,103, 98, 95,116,
+111, 95,104,115,118, 40,111,117,116, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 9, 9,104,115,118, 46,120, 32, 61, 32,104,115,
+118, 50, 46,120, 59, 10, 9, 9,104,115,118, 46,121, 32, 61, 32,104,115,118, 50, 46,121, 59, 10, 9, 9,104,115,118, 95,116,111,
+ 95,114,103, 98, 40,104,115,118, 44, 32,116,109,112, 41, 59, 32, 10, 10, 9, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120,
+ 40,111,117,116, 99,111,108, 44, 32,116,109,112, 44, 32,102, 97, 99, 41, 59, 10, 9, 9,111,117,116, 99,111,108, 46, 97, 32, 61,
+ 32, 99,111,108, 49, 46, 97, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,115,111,102,116, 40,102,108,111,
+ 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,
+116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97,
+ 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32,
+ 45, 32,102, 97, 99, 59, 10, 10, 9,118,101, 99, 52, 32,111,110,101, 61, 32,118,101, 99, 52, 40, 49, 46, 48, 41, 59, 10, 9,118,
+101, 99, 52, 32,115, 99,114, 61, 32,111,110,101, 32, 45, 32, 40,111,110,101, 32, 45, 32, 99,111,108, 50, 41, 42, 40,111,110,101,
+ 32, 45, 32, 99,111,108, 49, 41, 59, 10, 9,111,117,116, 99,111,108, 32, 61, 32,102, 97, 99,109, 42, 99,111,108, 49, 32, 43, 32,
+102, 97, 99, 42, 40, 40,111,110,101, 32, 45, 32, 99,111,108, 49, 41, 42, 99,111,108, 50, 42, 99,111,108, 49, 32, 43, 32, 99,111,
+108, 49, 42,115, 99,114, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,105,120, 95,108,105,110,101, 97,114, 40,102,108,111, 97,
+116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 49, 44, 32,118,101, 99, 52, 32, 99,111,108, 50, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99,
+ 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32, 99,111,108, 49, 59, 10, 10, 9,
+105,102, 40, 99,111,108, 50, 46,114, 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108,
+ 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10,
+ 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46,114, 61, 32, 99,111,108, 49, 46,114, 32, 43, 32,102, 97, 99, 42, 40,
+ 50, 46, 48, 42, 40, 99,111,108, 50, 46,114, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46,103,
+ 32, 62, 32, 48, 46, 53, 41, 10, 9, 9,111,117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99,
+ 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46,103, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,
+117,116, 99,111,108, 46,103, 61, 32, 99,111,108, 49, 46,103, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50,
+ 46,103, 41, 32, 45, 32, 49, 46, 48, 41, 59, 10, 10, 9,105,102, 40, 99,111,108, 50, 46, 98, 32, 62, 32, 48, 46, 53, 41, 10, 9,
+ 9,111,117,116, 99,111,108, 46, 98, 61, 32, 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,
+108, 50, 46, 98, 32, 45, 32, 48, 46, 53, 41, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,111,117,116, 99,111,108, 46, 98, 61, 32,
+ 99,111,108, 49, 46, 98, 32, 43, 32,102, 97, 99, 42, 40, 50, 46, 48, 42, 40, 99,111,108, 50, 46, 98, 41, 32, 45, 32, 49, 46, 48,
+ 41, 59, 10,125, 10, 10,118,111,105,100, 32,118, 97,108,116,111,114,103, 98, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,115,
+ 97,109,112,108,101,114, 49, 68, 32, 99,111,108,111,114,109, 97,112, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,
+111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116, 97,108,112,104, 97, 41, 10,123, 10, 9,111,117,116, 99,111,
+108, 32, 61, 32,116,101,120,116,117,114,101, 49, 68, 40, 99,111,108,111,114,109, 97,112, 44, 32,102, 97, 99, 41, 59, 10, 9,111,
+117,116, 97,108,112,104, 97, 32, 61, 32,111,117,116, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,114,103, 98,116,
+111, 98,119, 40,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,
+ 41, 32, 32, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32, 99,111,108,111,114, 46,114, 42, 48, 46, 51, 53, 32, 43, 32, 99,
+111,108,111,114, 46,103, 42, 48, 46, 52, 53, 32, 43, 32, 99,111,108,111,114, 46, 98, 42, 48, 46, 50, 59, 32, 47, 42, 32,107,101,
+101,112, 32,116,104,101,115,101, 32,102, 97, 99,116,111,114,115, 32,105,110, 32,115,121,110, 99, 32,119,105,116,104, 32,116,101,
+120,116,117,114,101, 46,104, 58, 82, 71, 66, 84, 79, 66, 87, 32, 42, 47, 10,125, 10, 10,118,111,105,100, 32,105,110,118,101,114,
+116, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,
+111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,111,108, 46,120,121,122, 32, 61, 32,109,105,120, 40, 99,111,108, 46,
+120,121,122, 44, 32,118,101, 99, 51, 40, 49, 46, 48, 44, 32, 49, 46, 48, 44, 32, 49, 46, 48, 41, 32, 45, 32, 99,111,108, 46,120,
+121,122, 44, 32,102, 97, 99, 41, 59, 10, 9,111,117,116, 99,111,108, 46,119, 32, 61, 32, 99,111,108, 46,119, 59, 10,125, 10, 10,
+118,111,105,100, 32,104,117,101, 95,115, 97,116, 40,102,108,111, 97,116, 32,104,117,101, 44, 32,102,108,111, 97,116, 32,115, 97,
+116, 44, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,102,108,111, 97,116, 32,102, 97, 99, 44, 32,118,101, 99, 52, 32,
+ 99,111,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,104,115,
+118, 59, 10, 10, 9,114,103, 98, 95,116,111, 95,104,115,118, 40, 99,111,108, 44, 32,104,115,118, 41, 59, 10, 10, 9,104,115,118,
+ 91, 48, 93, 32, 43, 61, 32, 40,104,117,101, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,105,102, 40,104,115,118, 91, 48, 93, 62, 49,
+ 46, 48, 41, 32,104,115,118, 91, 48, 93, 45, 61, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 48, 93, 60,
+ 48, 46, 48, 41, 32,104,115,118, 91, 48, 93, 43, 61, 32, 49, 46, 48, 59, 10, 9,104,115,118, 91, 49, 93, 32, 42, 61, 32,115, 97,
+116, 59, 10, 9,105,102, 40,104,115,118, 91, 49, 93, 62, 49, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 49, 46, 48, 59, 32,
+101,108,115,101, 32,105,102, 40,104,115,118, 91, 49, 93, 60, 48, 46, 48, 41, 32,104,115,118, 91, 49, 93, 61, 32, 48, 46, 48, 59,
+ 10, 9,104,115,118, 91, 50, 93, 32, 42, 61, 32,118, 97,108,117,101, 59, 10, 9,105,102, 40,104,115,118, 91, 50, 93, 62, 49, 46,
+ 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 49, 46, 48, 59, 32,101,108,115,101, 32,105,102, 40,104,115,118, 91, 50, 93, 60, 48,
+ 46, 48, 41, 32,104,115,118, 91, 50, 93, 61, 32, 48, 46, 48, 59, 10, 10, 9,104,115,118, 95,116,111, 95,114,103, 98, 40,104,115,
+118, 44, 32,111,117,116, 99,111,108, 41, 59, 10, 10, 9,111,117,116, 99,111,108, 32, 61, 32,109,105,120, 40, 99,111,108, 44, 32,
+111,117,116, 99,111,108, 44, 32,102, 97, 99, 41, 59, 10,125, 10, 10,118,111,105,100, 32,115,101,112, 97,114, 97,116,101, 95,114,
+103, 98, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,114, 44, 32,111,117,116, 32,102,108,
+111, 97,116, 32,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 98, 41, 10,123, 10, 9,114, 32, 61, 32, 99,111,108, 46,114,
+ 59, 10, 9,103, 32, 61, 32, 99,111,108, 46,103, 59, 10, 9, 98, 32, 61, 32, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,
+100, 32, 99,111,109, 98,105,110,101, 95,114,103, 98, 40,102,108,111, 97,116, 32,114, 44, 32,102,108,111, 97,116, 32,103, 44, 32,
+102,108,111, 97,116, 32, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108, 41, 10,123, 10, 9, 99,111,108, 32, 61, 32,
+118,101, 99, 52, 40,114, 44, 32,103, 44, 32, 98, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,111,117,116,112,
+117,116, 95,110,111,100,101, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,
+117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,101, 99, 52,
+ 40,114,103, 98, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
+ 42, 32, 84, 69, 88, 84, 85, 82, 69, 83, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47, 10, 10,118,111,105,
+100, 32,116,101,120,116,117,114,101, 95,102,108,105,112, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 46,
+121,120,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,108,105,110, 40,118,
+101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,
+116,118, 97,108, 32, 61, 32, 40, 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,
+116,101,120,116,117,114,101, 95, 98,108,101,110,100, 95,113,117, 97,100, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,111,117,116,118, 97,108, 41, 10,123, 10, 9,111,117,116,118, 97,108, 32, 61, 32,109, 97,120, 40, 40,
+ 49, 46, 48, 43,118,101, 99, 46,120, 41, 47, 50, 46, 48, 44, 32, 48, 46, 48, 41, 59, 10, 9,111,117,116,118, 97,108, 32, 42, 61,
+ 32,111,117,116,118, 97,108, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,119,111,111,100, 95,115,105,
+110, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116,
+ 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10,
+ 9,102,108,111, 97,116, 32, 97, 32, 61, 32,115,113,114,116, 40,118,101, 99, 46,120, 42,118,101, 99, 46,120, 32, 43, 32,118,101,
+ 99, 46,121, 42,118,101, 99, 46,121, 32, 43, 32,118,101, 99, 46,122, 42,118,101, 99, 46,122, 41, 42, 50, 48, 46, 48, 59, 10, 9,
+102,108,111, 97,116, 32,119,105, 32, 61, 32, 48, 46, 53, 32, 43, 32, 48, 46, 53, 42,115,105,110, 40, 97, 41, 59, 10, 10, 9,118,
+ 97,108,117,101, 32, 61, 32,119,105, 59, 10, 9, 99,111,108,111,114, 32, 61, 32,118,101, 99, 52, 40,119,105, 44, 32,119,105, 44,
+ 32,119,105, 44, 32, 49, 46, 48, 41, 59, 10, 9,110,111,114,109, 97,108, 32, 61, 32,118,101, 99, 51, 40, 48, 46, 48, 44, 32, 48,
+ 46, 48, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120,116,117,114,101, 95,105,109, 97,103,101, 40,
+118,101, 99, 51, 32,118,101, 99, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111,
+ 97,116, 32,118, 97,108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,110,111,114,109, 97,108, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,
+105,109, 97, 44, 32, 40,118,101, 99, 46,120,121, 32, 43, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 41, 42, 48,
+ 46, 53, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 59, 10, 10, 9,110,111,114,109, 97,108, 46,120, 32, 61, 32,
+ 50, 46, 48, 42, 40, 99,111,108,111,114, 46,114, 32, 45, 32, 48, 46, 53, 41, 59, 10, 9,110,111,114,109, 97,108, 46,121, 32, 61,
+ 32, 50, 46, 48, 42, 40, 48, 46, 53, 32, 45, 32, 99,111,108,111,114, 46,103, 41, 59, 10, 9,110,111,114,109, 97,108, 46,122, 32,
+ 61, 32, 50, 46, 48, 42, 40, 99,111,108,111,114, 46, 98, 32, 45, 32, 48, 46, 53, 41, 59, 10,125, 10, 10, 47, 42, 42, 42, 42, 42,
+ 42, 42, 42, 42, 42, 42, 42, 42, 32, 77, 84, 69, 88, 32, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 47,
+ 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,111,114, 99,111, 40,118,101, 99, 51, 32, 97,116,116,111,114, 99,111, 44, 32,
+111,117,116, 32,118,101, 99, 51, 32,111,114, 99,111, 41, 10,123, 10, 9,111,114, 99,111, 32, 61, 32, 97,116,116,111,114, 99,111,
+ 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,117,118, 40,118,101, 99, 50, 32, 97,116,116,117,118, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,117,118, 41, 10,123, 10, 9, 47, 42, 32,100,105,115, 97, 98,108,101,100, 32,102,111,114, 32,110,
+111,119, 44, 32,119,111,114,107,115, 32,116,111,103,101,116,104,101,114, 32,119,105,116,104, 32,108,101, 97,118,105,110,103, 32,
+111,117,116, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 10, 9, 32, 32, 32,117,118, 32, 61, 32,118,101, 99,
+ 51, 40, 97,116,116,117,118, 42, 50, 46, 48, 32, 45, 32,118,101, 99, 50, 40, 49, 46, 48, 44, 32, 49, 46, 48, 41, 44, 32, 48, 46,
+ 48, 41, 59, 32, 42, 47, 10, 9,117,118, 32, 61, 32,118,101, 99, 51, 40, 97,116,116,117,118, 44, 32, 48, 46, 48, 41, 59, 10,125,
+ 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 99,111,114,114,101,115,112,
+111,110,100,115, 32,116,111, 32,115,104,105, 45, 62,111,114,110, 44, 32,119,104,105, 99,104, 32,105,115, 32,110,101,103, 97,116,
+101,100, 32,115,111, 32, 99, 97,110, 99,101,108,115, 10, 9, 32, 32, 32,111,117,116, 32, 98,108,101,110,100,101,114, 32,110,111,
+114,109, 97,108, 32,110,101,103, 97,116,105,111,110, 32, 42, 47, 10, 9,111,117,116,110,111,114,109, 97,108, 32, 61, 32,110,111,
+114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,116,
+ 97,110,103,101,110,116, 40,118,101, 99, 52, 32,116, 97,110,103,101,110,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,
+116,116, 97,110,103,101,110,116, 41, 10,123, 10, 9,111,117,116,116, 97,110,103,101,110,116, 32, 61, 32,110,111,114,109, 97,108,
+105,122,101, 40,116, 97,110,103,101,110,116, 46,120,121,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,
+103,108,111, 98, 97,108, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44,
+ 32,111,117,116, 32,118,101, 99, 51, 32,103,108,111, 98, 97,108, 41, 10,123, 10, 9,103,108,111, 98, 97,108, 32, 61, 32, 40,118,
+105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 46,120,121,122, 59, 10,125, 10,
+ 10,118,111,105,100, 32,116,101,120, 99,111, 95,111, 98,106,101, 99,116, 40,109, 97,116, 52, 32,118,105,101,119,105,110,118,109,
+ 97,116, 44, 32,109, 97,116, 52, 32,111, 98,105,110,118,109, 97,116, 44, 32,118,101, 99, 51, 32, 99,111, 44, 32,111,117,116, 32,
+118,101, 99, 51, 32,111, 98,106,101, 99,116, 41, 10,123, 10, 9,111, 98,106,101, 99,116, 32, 61, 32, 40,111, 98,105,110,118,109,
+ 97,116, 42, 40,118,105,101,119,105,110,118,109, 97,116, 42,118,101, 99, 52, 40, 99,111, 44, 32, 49, 46, 48, 41, 41, 41, 46,120,
+121,122, 59, 10,125, 10, 10,118,111,105,100, 32,116,101,120, 99,111, 95,114,101,102,108, 40,118,101, 99, 51, 32,118,110, 44, 32,
+118,101, 99, 51, 32,118,105,101,119, 44, 32,111,117,116, 32,118,101, 99, 51, 32,114,101,102, 41, 10,123, 10, 9,114,101,102, 32,
+ 61, 32,118,105,101,119, 32, 45, 32, 50, 46, 48, 42,100,111,116, 40,118,110, 44, 32,118,105,101,119, 41, 42,118,110, 59, 10,125,
+ 10, 10,118,111,105,100, 32,115,104, 97,100,101, 95,110,111,114,109, 40,118,101, 99, 51, 32,110,111,114,109, 97,108, 44, 32,111,
+117,116, 32,118,101, 99, 51, 32,111,117,116,110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 42, 32, 98,108,101,110,100,101,114,
+ 32,114,101,110,100,101,114, 32,110,111,114,109, 97,108, 32,105,115, 32,110,101,103, 97,116,101,100, 32, 42, 47, 10, 9,111,117,
+116,110,111,114,109, 97,108, 32, 61, 32, 45,110,111,114,109, 97,108,105,122,101, 40,110,111,114,109, 97,108, 41, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 98,108,101,110,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108,
+ 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,
+102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46,
+ 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,
+102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,109,117,
+108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,
+111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,
+103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,
+102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 99,114,101,101,110, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44,
+ 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102,
+ 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48,
+ 45,102, 97, 99,103, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32, 40,118,101,
+ 99, 51, 40,102, 97, 99,109, 41, 32, 43, 32,102, 97, 99,116, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,116,101,120,
+ 99,111,108, 41, 41, 42, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,111,118,101,114,108, 97,121, 40,118,101, 99, 51, 32,111,117,116, 99,111,108,
+ 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,
+102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46,
+ 48, 45,102, 97, 99,103, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46,114, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,
+110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97,
+ 99,116, 42,116,101,120, 99,111,108, 46,114, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,114, 32, 61, 32,
+ 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,
+120, 99,111,108, 46,114, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46,114, 41, 59, 10, 10, 9,105,102, 40,
+111,117,116, 99,111,108, 46,103, 32, 60, 32, 48, 46, 53, 41, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,
+111,108, 46,103, 42, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 41, 59,
+ 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108, 46,103, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43,
+ 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 46,103, 41, 41, 42, 40, 49, 46, 48,
+ 32, 45, 32,111,117,116, 99,111,108, 46,103, 41, 59, 10, 10, 9,105,102, 40,111,117,116, 99,111,108, 46, 98, 32, 60, 32, 48, 46,
+ 53, 41, 10, 9, 9,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 42, 40,102, 97, 99,109, 32, 43, 32,
+ 50, 46, 48, 42,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 41, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,
+108, 46, 98, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,109, 32, 43, 32, 50, 46, 48, 42,102, 97, 99,116, 42, 40, 49, 46,
+ 48, 32, 45, 32,116,101,120, 99,111,108, 46, 98, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 46, 98, 41, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,117, 98, 40,118,101, 99, 51, 32,111,117,116, 99,111,
108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,
-116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116,
- 32,102, 97, 99,109, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49,
- 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43,
- 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,
-111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
+116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108,
+ 32, 61, 32, 45,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125,
+ 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95, 97,100,100, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44,
+ 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,105,110, 99,111,108, 32, 61,
+ 32,102, 97, 99,116, 42,102, 97, 99,103, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,118, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109,
+ 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97,
+ 99,116, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,114, 32, 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46,
+114, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,114, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46,
+114, 47,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46,103, 32, 33, 61, 32, 48, 46, 48, 41,
+ 32,105,110, 99,111,108, 46,103, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46,103, 32, 43, 32,102, 97, 99,116, 42,
+111,117,116, 99,111,108, 46,103, 47,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40,116,101,120, 99,111,108, 46, 98, 32,
+ 33, 61, 32, 48, 46, 48, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 46, 98, 32,
+ 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 46, 98, 47,116,101,120, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,
+100, 32,109,116,101,120, 95,114,103, 98, 95,100,105,102,102, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99,
+ 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103,
+ 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59,
+ 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,
+116, 59, 10, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42,
+ 97, 98,115, 40,116,101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
+101,120, 95,114,103, 98, 95,100, 97,114,107, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,
+120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,
+116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108,
+ 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97,
+ 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,
+111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,
+115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97,
+ 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,103, 41,
+ 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,
+117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,
+105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108,
+ 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,
+105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97,
99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,
109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102, 97, 99,109, 32, 61, 32,
49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,114, 59,
- 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,
+ 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108, 46,114, 32, 61, 32, 99,
111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,114, 59, 10, 9, 99,111,
-108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116,
+108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116,
99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108,
46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,
-108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98,
+108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,110, 99,111,108, 46, 98,
32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116, 99,111,108, 46, 98, 59,
- 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,108,105,103,104,116, 40,118,101, 99, 51, 32,111,117,116,
- 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,
-111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111,
- 97,116, 32,102, 97, 99,109, 44, 32, 99,111,108, 59, 10, 10, 9,102, 97, 99,116, 32, 42, 61, 32,102, 97, 99,103, 59, 10, 9,102,
- 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120,
- 99,111,108, 46,114, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46,114, 41, 32,105,110, 99,111,108,
- 46,114, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46,114, 32, 61, 32,111,117,116, 99,111,108, 46,
-114, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 46,103, 59, 10, 9,105,102, 40, 99,111,108,
- 32, 62, 32,111,117,116, 99,111,108, 46,103, 41, 32,105,110, 99,111,108, 46,103, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101,
- 32,105,110, 99,111,108, 46,103, 32, 61, 32,111,117,116, 99,111,108, 46,103, 59, 10, 9, 99,111,108, 32, 61, 32,102, 97, 99,116,
- 42,116,101,120, 99,111,108, 46, 98, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 46, 98, 41, 32,105,
-110, 99,111,108, 46, 98, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 46, 98, 32, 61, 32,111,117,116,
- 99,111,108, 46, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51,
- 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,
-118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32,
- 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,
-111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52,
- 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,
-111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44,
- 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,
-101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97,
- 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59,
- 10, 10, 9,109,105,120, 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,
-108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41,
- 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,
-109,116,101,120, 95,114,103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51,
- 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44,
- 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,
-109,105,120, 95, 99,111,108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,104,117,101, 40,118,101, 99, 51, 32,111,117,116, 99,111,
+108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32,
+ 99,111,108, 59, 10, 10, 9,109,105,120, 95,104,117,101, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,
+117,116, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32,
+ 99,111,108, 41, 59, 10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115, 97,116, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+103, 44, 32,111,117,116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10,
+ 10, 9,109,105,120, 95,115, 97,116, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108,
44, 32, 49, 46, 48, 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59,
10, 9,105,110, 99,111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,
-102, 97, 99,116, 32, 42, 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102,
- 97, 99,116, 59, 10, 10, 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,
-116,109,112, 32, 61, 32,102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,
-109, 32, 61, 32,116,109,112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,
-108,101,110,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111,
- 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118,
- 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,
-110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,
-117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44,
- 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10,
- 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97,
- 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,
-102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 41, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,
- 99,114,101,101,110, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32,
- 45, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40,
- 49, 46, 48, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,
-101, 95,115,117, 98, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-102, 97, 99,116, 32, 61, 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,
-111,108, 32, 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,
- 97,100,100, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,
-102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,
-116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,
-108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97,
- 99,116, 32, 61, 32,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32,
- 43, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118,
- 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111,
- 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,
-110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101,
- 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,
-120, 99,111,108, 32, 33, 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,
-111,108, 32, 43, 32,102, 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9,
- 9,105,110, 99,111,108, 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101,
- 95,100,105,102,102, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108,
- 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,
-118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,
-105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,
-101,120, 99,111,108, 32, 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,
-108,117,101, 95,100, 97,114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120,
- 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,
-101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59,
- 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40,
- 99,111,108, 32, 60, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,
-105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,
-117,101, 95,108,105,103,104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120,
- 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,
-101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59,
- 10, 10, 9,102,108,111, 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40,
- 99,111,108, 32, 62, 32,111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,
-105,110, 99,111,108, 32, 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,
-117,101, 95, 99,108, 97,109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116,
- 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102,
- 97, 99, 44, 32, 48, 46, 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,
-109,112, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,
-123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,
-104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114,
- 32, 61, 32,104, 97,114, 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,
-117,108,116,105,112,108,121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111,
- 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102,
- 40,104, 97,114, 32, 60, 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,
-105,102, 40,104, 97,114, 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10,
- 9,101,108,115,101, 32,111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120,
- 95, 97,108,112,104, 97, 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,
-111, 97,116, 32, 97,108,112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44,
- 32,102,108,111, 97,116, 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123,
- 10, 9,111,117,116, 99,111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59,
- 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44,
- 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,
-116,121, 32, 61, 32,100,111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,
-114,103, 98, 46,114,103, 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,
-101,114,116, 40,102,108,111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
-118, 97,108,117,101, 41, 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,
-117,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52,
- 32,105,110,114,103, 98, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,
-103, 98, 32, 61, 32,118,101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44,
- 32,105,110,114,103, 98, 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,
-101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,
-115,105,116,121, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,
-102,108,111, 97,116, 32,111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,
-116, 32, 61, 32,105,110,116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,
-110,116,101,110,115,105,116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,
-115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,
-116,101,110, 99,105,108, 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,
-111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,
-117,116,114,103, 98, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,
-117,116,114,103, 98, 32, 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110,
- 99,105,108, 41, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116,
- 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,
-116,101,120, 99,111, 44, 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120,
- 99,111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125,
- 10, 10,118,111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,
-120, 99,111, 44, 32,118,101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,
-111, 41, 10,123, 10, 9,111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,
-118,111,105,100, 32,109,116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,
-117,116, 32,118,101, 99, 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51,
- 40,118,101, 99, 46,120,121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101,
- 99, 46,122, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,
-120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,
-108,117,101, 44, 32,111,117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,
-116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101,
- 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51,
- 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,
-110,111,114,109, 97,108, 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,
-114,101,100, 32, 99,104, 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,
-111,114,109, 97,108, 32,109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,
-115,105,100,101, 32,119,111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,
-111,110,101, 32, 98,101, 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,
-111,114,109, 97,108, 32,117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,
-111,117,108,100, 32,116,104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,
-101, 32,109,117,115,116, 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,
-114, 32, 61, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,
-111,114,109, 97,108, 32, 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,
-114, 46,103, 44, 32, 99,111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32,
- 48, 46, 53, 41, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115,
- 95,105,110,105,116, 40, 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,
-111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77,
- 97,103,110,105,116,117,100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99,
- 32, 61, 32,118, 78, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10,
- 10, 47, 42, 42, 32,104,101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,
-101, 32,117,112,112,101,114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,
-120, 52, 32,109, 97,116,114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109,
- 52, 41, 10,123, 10, 9,109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,
-122, 59, 10, 9,109, 51, 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,
-109, 52, 91, 50, 93, 46,120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,
-116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,
-102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,
-109, 97,116, 52, 32,109, 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,
-109, 79, 98,106, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,
-111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99,
- 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,
-103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44,
- 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99,
- 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51,
- 32,111, 98,106, 50,118,105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106,
- 41, 59, 10, 9,109, 97,116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106,
- 73,110,118, 32, 42, 32,109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83,
- 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10,
- 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40,
- 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,
-101, 40, 32,115,117,114,102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49,
- 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,
- 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,
-111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114,
- 97,110,115,102,111,114,109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,
-121, 41, 32,117,115,105,110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32,
- 42, 47, 10, 9,118, 82, 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61,
- 32,118, 82, 50, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119,
- 50,111, 98,106, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,
-102, 68,101,116, 41, 32, 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61,
- 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77,
- 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,
-116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,
-112, 95,105,110,105,116, 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,
-111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,
-108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97,
- 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118,
- 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,
-116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,
-118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,
-101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10,
- 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41,
- 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,
-108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108,
- 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118,
- 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101,
- 40, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32,
- 61, 32,115,105,103,110, 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,
-102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118,
- 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,
-101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,
-103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,
-100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51,
- 32,115,117,114,102, 95,112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9,
- 9, 9, 9, 32, 32, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,
-101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,
-116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,
- 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82,
- 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32,
- 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,
-112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,
-102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47,
- 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120,
- 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109,
- 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,
-109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118,
- 82, 49, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,
-102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,
-102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59,
- 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,
-101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,
-116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,
-108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,
-111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99,
- 50, 32, 83, 84,108,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,
-116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99,
- 50, 32, 83, 84,117,108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,
-121, 41, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,
-111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41,
- 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41,
- 44, 32, 72,108,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97,
- 44, 32, 83, 84,117,108, 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32,
- 42, 32, 40, 72,108,114, 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40,
- 72,117,108, 32, 45, 32, 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,
-112, 53, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,
-108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
- 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32,
- 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121,
- 41, 59, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59,
- 10, 10, 9,118,101, 99, 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,
-108, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101,
- 99, 50, 32, 83, 84,114, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32,
- 59, 10, 9,118,101, 99, 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,
-101,120, 68,121, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46,
- 53, 32, 42, 32, 84,101,120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100,
- 44, 72,117, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,
- 99, 41, 44, 32, 72, 99, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109,
- 97, 44, 32, 83, 84,108, 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101,
- 50, 68, 40,105,109, 97, 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,
-120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,
-119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10,
- 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32,
- 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
+116,101,120, 95,114,103, 98, 95,118, 97,108, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,
+120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,
+116, 32,118,101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120,
+ 95,118, 97,108, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48,
+ 41, 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,
+111,108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,
+103, 98, 95, 99,111,108,111,114, 40,118,101, 99, 51, 32,111,117,116, 99,111,108, 44, 32,118,101, 99, 51, 32,116,101,120, 99,111,
+108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,118,
+101, 99, 51, 32,105,110, 99,111,108, 41, 10,123, 10, 9,118,101, 99, 52, 32, 99,111,108, 59, 10, 10, 9,109,105,120, 95, 99,111,
+108,111,114, 40,102, 97, 99,116, 42,102, 97, 99,103, 44, 32,118,101, 99, 52, 40,111,117,116, 99,111,108, 44, 32, 49, 46, 48, 41,
+ 44, 32,118,101, 99, 52, 40,116,101,120, 99,111,108, 44, 32, 49, 46, 48, 41, 44, 32, 99,111,108, 41, 59, 10, 9,105,110, 99,111,
+108, 46,114,103, 98, 32, 61, 32, 99,111,108, 46,114,103, 98, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,
+108,117,101, 95,118, 97,114,115, 40,105,110,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 97, 99,109, 41, 10,123, 10, 9,102, 97, 99,116, 32, 42,
+ 61, 32, 97, 98,115, 40,102, 97, 99,103, 41, 59, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 45,102, 97, 99,116, 59, 10, 10,
+ 9,105,102, 40,102, 97, 99,103, 32, 60, 32, 48, 46, 48, 41, 32,123, 10, 9, 9,102,108,111, 97,116, 32,116,109,112, 32, 61, 32,
+102, 97, 99,116, 59, 10, 9, 9,102, 97, 99,116, 32, 61, 32,102, 97, 99,109, 59, 10, 9, 9,102, 97, 99,109, 32, 61, 32,116,109,
+112, 59, 10, 9,125, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 98,108,101,110,100, 40,102,
+108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,
+111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118,
+ 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32, 61,
+ 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,109,117,108, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44,
+ 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116,
+ 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116,
+ 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97,
+ 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61, 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10,
+ 9,105,110, 99,111,108, 32, 61, 32, 40,102, 97, 99,109, 32, 43, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 41, 42,111,117,
+116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115, 99,114,101,101,110, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,109, 32, 61,
+ 32, 49, 46, 48, 32, 45, 32,102, 97, 99,103, 59, 10, 9,105,110, 99,111,108, 32, 61, 32, 49, 46, 48, 32, 45, 32, 40,102, 97, 99,
+109, 32, 43, 32,102, 97, 99,116, 42, 40, 49, 46, 48, 32, 45, 32,116,101,120, 99,111,108, 41, 41, 42, 40, 49, 46, 48, 32, 45, 32,
+111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,117, 98, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61,
+ 32, 45,102, 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,
+117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 97,100,100, 40,102,108,
+111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,
+102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,
+108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,
+114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102, 97, 99,116, 32, 61, 32,102,
+ 97, 99,116, 59, 10, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 32, 43, 32,111,117,116, 99,
+111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,118, 40,102,108,111, 97,116,
+ 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,116, 32,102, 97, 99,
+116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110, 99,111,108, 41, 10,
+123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,118, 97,114,115, 40,
+102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,102, 40,116,101,120, 99,111,108, 32, 33,
+ 61, 32, 48, 46, 48, 41, 10, 9, 9,105,110, 99,111,108, 32, 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102,
+ 97, 99,116, 42,111,117,116, 99,111,108, 47,116,101,120, 99,111,108, 59, 10, 9,101,108,115,101, 10, 9, 9,105,110, 99,111,108,
+ 32, 61, 32, 48, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100,105,102,102, 40,
+102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,108,111, 97,
+116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,105,110,
+ 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,117,101, 95,
+118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,105,110, 99,111,108, 32,
+ 61, 32,102, 97, 99,109, 42,111,117,116, 99,111,108, 32, 43, 32,102, 97, 99,116, 42, 97, 98,115, 40,116,101,120, 99,111,108, 32,
+ 45, 32,111,117,116, 99,111,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,100, 97,
+114,107, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,
+108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,
+117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111,
+ 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 60, 32,
+111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32,
+ 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,108,105,103,
+104,116, 40,102,108,111, 97,116, 32,111,117,116, 99,111,108, 44, 32,102,108,111, 97,116, 32,116,101,120, 99,111,108, 44, 32,102,
+108,111, 97,116, 32,102, 97, 99,116, 44, 32,102,108,111, 97,116, 32,102, 97, 99,103, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,105,110, 99,111,108, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,109, 59, 10, 9,109,116,101,120, 95,118, 97,108,
+117,101, 95,118, 97,114,115, 40,102, 97, 99,116, 44, 32,102, 97, 99,103, 44, 32,102, 97, 99,109, 41, 59, 10, 10, 9,102,108,111,
+ 97,116, 32, 99,111,108, 32, 61, 32,102, 97, 99,116, 42,116,101,120, 99,111,108, 59, 10, 9,105,102, 40, 99,111,108, 32, 62, 32,
+111,117,116, 99,111,108, 41, 32,105,110, 99,111,108, 32, 61, 32, 99,111,108, 59, 32,101,108,115,101, 32,105,110, 99,111,108, 32,
+ 61, 32,111,117,116, 99,111,108, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,
+109,112, 95,112,111,115,105,116,105,118,101, 40,102,108,111, 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116,
+ 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,102, 97, 99, 32, 61, 32,109, 97,120, 40,102, 97, 99, 44, 32, 48, 46,
+ 48, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95, 99,108, 97,109,112, 40,102,108,111,
+ 97,116, 32,102, 97, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,102, 97, 99, 41, 10,123, 10, 9,111,117,116,
+102, 97, 99, 32, 61, 32, 99,108, 97,109,112, 40,102, 97, 99, 44, 32, 48, 46, 48, 44, 32, 49, 46, 48, 41, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,100,105,118,105,100,101, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,
+117,116, 32,102,108,111, 97,116, 32,111,117,116,104, 97,114, 41, 10,123, 10, 9,111,117,116,104, 97,114, 32, 61, 32,104, 97,114,
+ 47, 49, 50, 56, 46, 48, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,104, 97,114, 95,109,117,108,116,105,112,108,
+121, 95, 99,108, 97,109,112, 40,102,108,111, 97,116, 32,104, 97,114, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,
+104, 97,114, 41, 10,123, 10, 9,104, 97,114, 32, 42, 61, 32, 49, 50, 56, 46, 48, 59, 10, 10, 9,105,102, 40,104, 97,114, 32, 60,
+ 32, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,105,102, 40,104, 97,114,
+ 32, 62, 32, 53, 49, 49, 46, 48, 41, 32,111,117,116,104, 97,114, 32, 61, 32, 53, 49, 49, 46, 48, 59, 10, 9,101,108,115,101, 32,
+111,117,116,104, 97,114, 32, 61, 32,104, 97,114, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 97,108,112,104, 97,
+ 95,102,114,111,109, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32, 97,108,
+112,104, 97, 41, 10,123, 10, 9, 97,108,112,104, 97, 32, 61, 32, 99,111,108, 46, 97, 59, 10,125, 10, 10,118,111,105,100, 32,109,
+116,101,120, 95, 97,108,112,104, 97, 95,116,111, 95, 99,111,108, 40,118,101, 99, 52, 32, 99,111,108, 44, 32,102,108,111, 97,116,
+ 32, 97,108,112,104, 97, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116, 99,111,108, 41, 10,123, 10, 9,111,117,116, 99,
+111,108, 32, 61, 32,118,101, 99, 52, 40, 99,111,108, 46,114,103, 98, 44, 32, 97,108,112,104, 97, 41, 59, 10,125, 10, 10,118,111,
+105,100, 32,109,116,101,120, 95,114,103, 98,116,111,105,110,116, 40,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,
+108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,105,110,116,101,110,115,105,116,121, 32, 61, 32,100,
+111,116, 40,118,101, 99, 51, 40, 48, 46, 51, 53, 44, 32, 48, 46, 52, 53, 44, 32, 48, 46, 50, 41, 44, 32,114,103, 98, 46,114,103,
+ 98, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,105,110,118,101,114,116, 40,102,108,
+111, 97,116, 32,105,110,118, 97,108,117,101, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,111,117,116,118, 97,108,117,101, 41,
+ 10,123, 10, 9,111,117,116,118, 97,108,117,101, 32, 61, 32, 49, 46, 48, 32, 45, 32,105,110,118, 97,108,117,101, 59, 10,125, 10,
+ 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,105,110,118,101,114,116, 40,118,101, 99, 52, 32,105,110,114,103, 98,
+ 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41, 10,123, 10, 9,111,117,116,114,103, 98, 32, 61, 32,118,
+101, 99, 52, 40,118,101, 99, 51, 40, 49, 46, 48, 41, 32, 45, 32,105,110,114,103, 98, 46,114,103, 98, 44, 32,105,110,114,103, 98,
+ 46, 97, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,118, 97,108,117,101, 95,115,116,101,110, 99,105,108, 40,
+102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,102,108,111, 97,116, 32,105,110,116,101,110,115,105,116,121, 44, 32,
+111,117,116, 32,102,108,111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,
+111,117,116,105,110,116,101,110,115,105,116,121, 41, 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,105,110,
+116,101,110,115,105,116,121, 59, 10, 9,111,117,116,105,110,116,101,110,115,105,116,121, 32, 61, 32,105,110,116,101,110,115,105,
+116,121, 42,115,116,101,110, 99,105,108, 59, 10, 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,
+108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,114,103, 98, 95,115,116,101,110, 99,105,108,
+ 40,102,108,111, 97,116, 32,115,116,101,110, 99,105,108, 44, 32,118,101, 99, 52, 32,114,103, 98, 44, 32,111,117,116, 32,102,108,
+111, 97,116, 32,111,117,116,115,116,101,110, 99,105,108, 44, 32,111,117,116, 32,118,101, 99, 52, 32,111,117,116,114,103, 98, 41,
+ 10,123, 10, 9,102,108,111, 97,116, 32,102, 97, 99,116, 32, 61, 32,114,103, 98, 46, 97, 59, 10, 9,111,117,116,114,103, 98, 32,
+ 61, 32,118,101, 99, 52, 40,114,103, 98, 46,114,103, 98, 44, 32,114,103, 98, 46, 97, 42,115,116,101,110, 99,105,108, 41, 59, 10,
+ 9,111,117,116,115,116,101,110, 99,105,108, 32, 61, 32,115,116,101,110, 99,105,108, 42,102, 97, 99,116, 59, 10,125, 10, 10,118,
+111,105,100, 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,111,102,115, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44,
+ 32,118,101, 99, 51, 32,111,102,115, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10,
+ 9,111,117,116,116,101,120, 99,111, 32, 61, 32,116,101,120, 99,111, 32, 43, 32,111,102,115, 59, 10,125, 10, 10,118,111,105,100,
+ 32,109,116,101,120, 95,109, 97,112,112,105,110,103, 95,115,105,122,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,118,
+101, 99, 51, 32,115,105,122,101, 44, 32,111,117,116, 32,118,101, 99, 51, 32,111,117,116,116,101,120, 99,111, 41, 10,123, 10, 9,
+111,117,116,116,101,120, 99,111, 32, 61, 32,115,105,122,101, 42,116,101,120, 99,111, 59, 10,125, 10, 10,118,111,105,100, 32,109,
+116,101,120, 95, 50,100, 95,109, 97,112,112,105,110,103, 40,118,101, 99, 51, 32,118,101, 99, 44, 32,111,117,116, 32,118,101, 99,
+ 51, 32,111,117,116,118,101, 99, 41, 10,123, 10, 9,111,117,116,118,101, 99, 32, 61, 32,118,101, 99, 51, 40,118,101, 99, 46,120,
+121, 42, 48, 46, 53, 32, 43, 32,118,101, 99, 50, 40, 48, 46, 53, 44, 32, 48, 46, 53, 41, 44, 32,118,101, 99, 46,122, 41, 59, 10,
+125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,105,109, 97,103,101, 40,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115,
+ 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,118, 97,108,117,101, 44, 32,111,
+117,116, 32,118,101, 99, 52, 32, 99,111,108,111,114, 41, 10,123, 10, 9, 99,111,108,111,114, 32, 61, 32,116,101,120,116,117,114,
+101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118, 97,108,117,101, 32, 61, 32, 49, 46, 48,
+ 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95,110,111,114,109, 97,108, 40,118,101, 99, 51, 32,116,101,120, 99,111,
+ 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,111,117,116, 32,118,101, 99, 51, 32,110,111,114,109, 97,108,
+ 41, 10,123, 10, 9, 47, 47, 32, 84,104,101, 32,105,110,118,101,114,116, 32,111,102, 32,116,104,101, 32,114,101,100, 32, 99,104,
+ 97,110,110,101,108, 32,105,115, 32,116,111, 32,109, 97,107,101, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,
+109, 97,112, 32, 99,111,109,112,108,105, 97,110,116, 32,119,105,116,104, 32,116,104,101, 32,111,117,116,115,105,100,101, 32,119,
+111,114,108,100, 46, 10, 9, 47, 47, 32, 73,116, 32,110,101,101,100,115, 32,116,111, 32, 98,101, 32,100,111,110,101, 32, 98,101,
+ 99, 97,117,115,101, 32,105,110, 32, 66,108,101,110,100,101,114, 10, 9, 47, 47, 32,116,104,101, 32,110,111,114,109, 97,108, 32,
+117,115,101,100, 32,112,111,105,110,116,115, 32,105,110,119, 97,114,100, 46, 10, 9, 47, 47, 32, 83,104,111,117,108,100, 32,116,
+104,105,115, 32,101,118,101,114, 32, 99,104, 97,110,103,101, 32,116,104,105,115, 32,110,101,103, 97,116,101, 32,109,117,115,116,
+ 32, 98,101, 32,114,101,109,111,118,101,100, 46, 10, 32, 32, 32, 32,118,101, 99, 52, 32, 99,111,108,111,114, 32, 61, 32,116,101,
+120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,110,111,114,109, 97,108, 32,
+ 61, 32, 50, 46, 48, 42, 40,118,101, 99, 51, 40, 45, 99,111,108,111,114, 46,114, 44, 32, 99,111,108,111,114, 46,103, 44, 32, 99,
+111,108,111,114, 46, 98, 41, 32, 45, 32,118,101, 99, 51, 40, 45, 48, 46, 53, 44, 32, 48, 46, 53, 44, 32, 48, 46, 53, 41, 41, 59,
+ 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,110,111,114,109, 97,108,115, 95,105,110,105,116, 40,
+ 32,118,101, 99, 51, 32,118, 78, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78,111,114,103, 44, 32,111,117,116, 32,118,101,
+ 99, 51, 32,118, 78, 97, 99, 99, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,
+100,101, 32, 41, 10,123, 10, 9,118, 78,111,114,103, 32, 61, 32,118, 78, 59, 10, 9,118, 78, 97, 99, 99, 32, 61, 32,118, 78, 59,
+ 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 49, 46, 48, 59, 10,125, 10, 10, 47, 42, 42, 32,104,
+101,108,112,101,114, 32,109,101,116,104,111,100, 32,116,111, 32,101,120,116,114, 97, 99,116, 32,116,104,101, 32,117,112,112,101,
+114, 32,108,101,102,116, 32, 51,120, 51, 32,109, 97,116,114,105,120, 32,102,114,111,109, 32, 97, 32, 52,120, 52, 32,109, 97,116,
+114,105,120, 32, 42, 47, 10,109, 97,116, 51, 32,116,111, 95,109, 97,116, 51, 40,109, 97,116, 52, 32,109, 52, 41, 10,123, 10, 9,
+109, 97,116, 51, 32,109, 51, 59, 10, 9,109, 51, 91, 48, 93, 32, 61, 32,109, 52, 91, 48, 93, 46,120,121,122, 59, 10, 9,109, 51,
+ 91, 49, 93, 32, 61, 32,109, 52, 91, 49, 93, 46,120,121,122, 59, 10, 9,109, 51, 91, 50, 93, 32, 61, 32,109, 52, 91, 50, 93, 46,
+120,121,122, 59, 10, 9,114,101,116,117,114,110, 32,109, 51, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,
+109,112, 95,105,110,105,116, 95,111, 98,106,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44,
+ 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,109, 97,116, 52, 32,109,
+ 86,105,101,119, 44, 32,109, 97,116, 52, 32,109, 86,105,101,119, 73,110,118, 44, 32,109, 97,116, 52, 32,109, 79, 98,106, 44, 32,
+109, 97,116, 52, 32,109, 79, 98,106, 73,110,118, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102, 80,
+114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10,
+ 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,
+101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9, 9, 9,
+ 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 50, 44,
+ 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,109, 97,116, 51, 32,111, 98,106, 50,118,
+105,101,119, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 86,105,101,119, 32, 42, 32,109, 79, 98,106, 41, 59, 10, 9,109, 97,
+116, 51, 32,118,105,101,119, 50,111, 98,106, 32, 61, 32,116,111, 95,109, 97,116, 51, 40,109, 79, 98,106, 73,110,118, 32, 42, 32,
+109, 86,105,101,119, 73,110,118, 41, 59, 10, 9, 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,118,105,101,
+119, 50,111, 98,106, 32, 42, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,
+118, 83,105,103,109, 97, 84, 32, 61, 32,118,105,101,119, 50,111, 98,106, 32, 42, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,
+112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32,115,117,114,
+102, 95,110,111,114,109, 32, 42, 32,111, 98,106, 50,118,105,101,119, 32, 41, 59, 10, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,
+115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40,
+ 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118,
+ 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10, 9, 10, 9, 47, 42, 32,112,114,101,116,114, 97,110,115,102,111,114,
+109, 32,118, 78, 97, 99, 99, 32, 40,105,110, 32,109,116,101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 41, 32,117,115,105,
+110,103, 32,116,104,101, 32,105,110,118,101,114,115,101, 32,116,114, 97,110,115,112,111,115,101,100, 32, 42, 47, 10, 9,118, 82,
+ 49, 32, 61, 32,118, 82, 49, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 82, 50, 32, 61, 32,118, 82, 50, 32, 42,
+ 32,118,105,101,119, 50,111, 98,106, 59, 10, 9,118, 78, 32, 61, 32,118, 78, 32, 42, 32,118,105,101,119, 50,111, 98,106, 59, 10,
+ 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 32,
+ 42, 32,108,101,110,103,116,104, 40,118, 78, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99,
+ 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,
+100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77,
+ 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,105,110,105,116,
+ 95,116,101,120,116,117,114,101,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,112,111,115, 44, 32,118,101,
+ 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,102,108,111, 97,116, 32,102,
+ 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44,
+ 10, 9, 9, 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,
+117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,117,116, 44, 32, 10, 9, 9,
+ 9, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118,
+ 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 51, 32,118, 83,
+105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99, 51, 32,
+118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59, 10, 9,118,101, 99,
+ 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109, 97,108,105,122,101,100, 32,
+105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,108, 32, 42, 47, 10, 9, 10,
+ 9,118, 82, 49, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84,
+ 44, 32,118, 78, 32, 41, 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32,110,111,114,109, 97,108,105,122,101, 40, 32, 99,114,111,115,
+115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32, 41, 59, 10, 9,102, 68,101,116, 32, 61, 32,115,105,103,110,
+ 40, 32,100,111,116, 40,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 41, 32, 41, 59, 10, 9, 10, 9,102,108,111, 97,116, 32,
+102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59, 10, 9,118, 78, 97, 99, 99, 95,111,
+117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,116,117,100,101, 32, 47, 32,102, 80,
+114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,
+101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120,
+ 95, 98,117,109,112, 95,105,110,105,116, 95,118,105,101,119,115,112, 97, 99,101, 40, 32,118,101, 99, 51, 32,115,117,114,102, 95,
+112,111,115, 44, 32,118,101, 99, 51, 32,115,117,114,102, 95,110,111,114,109, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,
+102,108,111, 97,116, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 44, 32,118,101, 99, 51, 32,118, 78,
+ 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 80,114,101,
+118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 44, 32,111,117,116, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,111,
+117,116, 44, 32, 10, 9, 9, 9, 9, 9, 9, 9, 32, 32, 32,111,117,116, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,111,117,116,
+ 32,118,101, 99, 51, 32,118, 82, 50, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,102, 68,101,116, 32, 41, 32, 10,123, 10, 9,
+118,101, 99, 51, 32,118, 83,105,103,109, 97, 83, 32, 61, 32,100, 70,100,120, 40, 32,115,117,114,102, 95,112,111,115, 32, 41, 59,
+ 10, 9,118,101, 99, 51, 32,118, 83,105,103,109, 97, 84, 32, 61, 32,100, 70,100,121, 40, 32,115,117,114,102, 95,112,111,115, 32,
+ 41, 59, 10, 9,118,101, 99, 51, 32,118, 78, 32, 61, 32,115,117,114,102, 95,110,111,114,109, 59, 32, 47, 42, 32,110,111,114,109,
+ 97,108,105,122,101,100, 32,105,110,116,101,114,112,111,108, 97,116,101,100, 32,118,101,114,116,101,120, 32,110,111,114,109, 97,
+108, 32, 42, 47, 10, 9, 10, 9,118, 82, 49, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 83,105,103,109, 97, 84, 44, 32,118, 78,
+ 32, 41, 59, 10, 9,118, 82, 50, 32, 61, 32, 99,114,111,115,115, 40, 32,118, 78, 44, 32,118, 83,105,103,109, 97, 83, 32, 41, 32,
+ 59, 10, 9,102, 68,101,116, 32, 61, 32,100,111,116, 32, 40, 32,118, 83,105,103,109, 97, 83, 44, 32,118, 82, 49, 32, 41, 59, 10,
+ 9, 10, 9,102,108,111, 97,116, 32,102, 77, 97,103,110,105,116,117,100,101, 32, 61, 32, 97, 98,115, 40,102, 68,101,116, 41, 59,
+ 10, 9,118, 78, 97, 99, 99, 95,111,117,116, 32, 61, 32,118, 78, 97, 99, 99, 95,105,110, 32, 42, 32, 40,102, 77, 97,103,110,105,
+116,117,100,101, 32, 47, 32,102, 80,114,101,118, 77, 97,103,110,105,116,117,100,101, 95,105,110, 41, 59, 10, 9,102, 80,114,101,
+118, 77, 97,103,110,105,116,117,100,101, 95,111,117,116, 32, 61, 32,102, 77, 97,103,110,105,116,117,100,101, 59, 10,125, 10, 10,
+118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 51, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44,
+ 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32,
+ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,
+115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,118,101, 99, 50, 32, 83, 84,108,108,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108,114, 32, 61, 32,116,101,120, 99,111, 46,
+120,121, 32, 43, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,117,108,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 32, 59, 10, 9,
+ 10, 9,102,108,111, 97,116, 32, 72,108,108, 44, 72,108,114, 44, 72,117,108, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,
+101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,108, 41, 44, 32, 72,108,108, 32, 41, 59, 10, 9,114,103, 98,
+116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,114, 41, 44, 32, 72,108,114, 32,
+ 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117,108,
+ 41, 44, 32, 72,117,108, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,108,114,
+ 32, 45, 32, 72,108,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,117,108, 32, 45, 32,
+ 72,108,108, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,112, 95,116, 97,112, 53, 40, 32,118,101,
+ 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,109, 97, 44, 32,102,108,111, 97,116, 32,104,
+ 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,111,117,116,
+ 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41, 32, 10,123, 10, 9,
+118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9,118,101,
+ 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 10, 9,118,101, 99,
+ 50, 32, 83, 84, 99, 32, 61, 32,116,101,120, 99,111, 46,120,121, 59, 10, 9,118,101, 99, 50, 32, 83, 84,108, 32, 61, 32,116,101,
+120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99, 50, 32, 83, 84,114,
+ 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,120, 32, 59, 10, 9,118,101, 99,
+ 50, 32, 83, 84,100, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 45, 32, 48, 46, 53, 32, 42, 32, 84,101,120, 68,121, 32, 59,
+ 10, 9,118,101, 99, 50, 32, 83, 84,117, 32, 61, 32,116,101,120, 99,111, 46,120,121, 32, 43, 32, 48, 46, 53, 32, 42, 32, 84,101,
+120, 68,121, 32, 59, 10, 9, 10, 9,102,108,111, 97,116, 32, 72, 99, 44, 72,108, 44, 72,114, 44, 72,100, 44, 72,117, 59, 10, 9,
+114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84, 99, 41, 44, 32, 72, 99,
+ 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,108,
+ 41, 44, 32, 72,108, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50, 68, 40,105,109, 97,
+ 44, 32, 83, 84,114, 41, 44, 32, 72,114, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,116,117,114,101, 50,
+ 68, 40,105,109, 97, 44, 32, 83, 84,100, 41, 44, 32, 72,100, 32, 41, 59, 10, 9,114,103, 98,116,111, 98,119, 40, 32,116,101,120,
+116,117,114,101, 50, 68, 40,105,109, 97, 44, 32, 83, 84,117, 41, 44, 32, 72,117, 32, 41, 59, 10, 9, 10, 9,100, 66,115, 32, 61,
+ 32,104, 83, 99, 97,108,101, 32, 42, 32, 40, 72,114, 32, 45, 32, 72,108, 41, 59, 10, 9,100, 66,116, 32, 61, 32,104, 83, 99, 97,
+108,101, 32, 42, 32, 40, 72,117, 32, 45, 32, 72,100, 41, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,101,120, 95, 98,117,109,
+112, 95,100,101,114,105,118, 40, 32,118,101, 99, 51, 32,116,101,120, 99,111, 44, 32,115, 97,109,112,108,101,114, 50, 68, 32,105,
+109, 97, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,120, 44, 32,102,108,111, 97,116, 32,105,109, 97, 95,121, 44, 32,102,108,
+111, 97,116, 32,104, 83, 99, 97,108,101, 44, 32, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
+ 32, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,115, 44, 32,111,117,116, 32,102,108,111, 97,116, 32,100, 66,116, 32, 41,
+ 32, 10,123, 10, 9,102,108,111, 97,116, 32,115, 32, 61, 32, 49, 46, 48, 59, 9, 9, 47, 47, 32,110,101,103, 97,116,101, 32,116,
+104,105,115, 32,105,102, 32,102,108,105,112,112,101,100, 32,116,101,120,116,117,114,101, 32, 99,111,111,114,100,105,110, 97,116,
+101, 10, 9,118,101, 99, 50, 32, 84,101,120, 68,120, 32, 61, 32,100, 70,100,120, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10,
+ 9,118,101, 99, 50, 32, 84,101,120, 68,121, 32, 61, 32,100, 70,100,121, 40,116,101,120, 99,111, 46,120,121, 41, 59, 10, 9, 10,
+ 9, 47, 47, 32,116,104,105,115, 32,118, 97,114,105, 97,110,116, 32,117,115,105,110,103, 32, 97, 32,100,101,114,105,118, 97,116,
+105,118,101, 32,109, 97,112, 32,105,115, 32,100,101,115, 99,114,105, 98,101,100, 32,104,101,114,101, 10, 9, 47, 47, 32,104,116,
+116,112, 58, 47, 47,109,109,105,107,107,101,108,115,101,110, 51,100, 46, 98,108,111,103,115,112,111,116, 46, 99,111,109, 47, 50,
+ 48, 49, 49, 47, 48, 55, 47,100,101,114,105,118, 97,116,105,118,101, 45,109, 97,112,115, 46,104,116,109,108, 10, 9,118,101, 99,
+ 50, 32,100,105,109, 32, 61, 32,118,101, 99, 50, 40,105,109, 97, 95,120, 44, 32,105,109, 97, 95,121, 41, 59, 10, 9,118,101, 99,
+ 50, 32,100, 66,100,117,118, 32, 61, 32,104, 83, 99, 97,108,101, 42,100,105,109, 42, 40, 50, 46, 48, 42,116,101,120,116,117,114,
+101, 50, 68, 40,105,109, 97, 44, 32,116,101,120, 99,111, 46,120,121, 41, 46,120,121, 45, 49, 46, 48, 41, 59, 10, 9, 10, 9,100,
+ 66,115, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,120, 46,120, 32, 43, 32,115, 42,100, 66,100,117,118, 46,121,
+ 42, 84,101,120, 68,120, 46,121, 59, 10, 9,100, 66,116, 32, 61, 32,100, 66,100,117,118, 46,120, 42, 84,101,120, 68,121, 46,120,
+ 32, 43, 32,115, 42,100, 66,100,117,118, 46,121, 42, 84,101,120, 68,121, 46,121, 59, 10,125, 10, 10,118,111,105,100, 32,109,116,
101,120, 95, 98,117,109,112, 95, 97,112,112,108,121, 40, 32,102,108,111, 97,116, 32,102, 68,101,116, 44, 32,102,108,111, 97,116,
32,100, 66,115, 44, 32,102,108,111, 97,116, 32,100, 66,116, 44, 32,118,101, 99, 51, 32,118, 82, 49, 44, 32,118,101, 99, 51, 32,
118, 82, 50, 44, 32,118,101, 99, 51, 32,118, 78, 97, 99, 99, 95,105,110, 44, 10, 9, 9, 9, 9, 9, 32, 32,111,117,116, 32,118,
diff --git a/source/blender/ikplugin/CMakeLists.txt b/source/blender/ikplugin/CMakeLists.txt
index da5c2f69635..dc637aedd6d 100644
--- a/source/blender/ikplugin/CMakeLists.txt
+++ b/source/blender/ikplugin/CMakeLists.txt
@@ -25,10 +25,10 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
+ .
+ ../blenkernel
../blenlib
../makesdna
- ../blenkernel
- ../ikplugin
../../../intern/guardedalloc
../../../intern/iksolver/extern
)
diff --git a/source/blender/imbuf/CMakeLists.txt b/source/blender/imbuf/CMakeLists.txt
index 16bc7854617..1547d2ee9ce 100644
--- a/source/blender/imbuf/CMakeLists.txt
+++ b/source/blender/imbuf/CMakeLists.txt
@@ -32,13 +32,12 @@ endif()
set(INC
.
../avi
- ../blenlib
../blenkernel
+ ../blenlib
../blenloader
../makesdna
- ../../../intern/memutil
../../../intern/guardedalloc
- ../../../intern/ffmpeg
+ ../../../intern/memutil
)
set(INC_SYS
@@ -56,6 +55,8 @@ set(SRC
intern/filetype.c
intern/filter.c
intern/imageprocess.c
+ intern/indexer.c
+ intern/indexer_dv.c
intern/iris.c
intern/jp2.c
intern/jpeg.c
@@ -82,6 +83,7 @@ set(SRC
intern/IMB_anim.h
intern/IMB_filetype.h
intern/IMB_filter.h
+ intern/IMB_indexer.h
intern/IMB_metadata.h
intern/cineon/cin_debug_stuff.h
intern/cineon/cineonfile.h
@@ -114,28 +116,43 @@ if(WITH_IMAGE_OPENEXR)
endif()
if(WITH_IMAGE_TIFF)
- list(APPEND INC_SYS ${TIFF_INCLUDE_DIR})
+ list(APPEND INC_SYS
+ ${TIFF_INCLUDE_DIR}
+ )
add_definitions(-DWITH_TIFF)
endif()
if(WITH_IMAGE_OPENJPEG)
- list(APPEND INC_SYS ${OPENJPEG_INC})
+ list(APPEND INC_SYS
+ ${OPENJPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENJPEG)
endif()
if(WITH_IMAGE_REDCODE)
- list(APPEND INC_SYS ${REDCODE_INC})
+ list(APPEND INC_SYS
+ ${REDCODE_INC}
+ )
add_definitions(-DWITH_REDCODE)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${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_SYS ${FFMPEG_INC})
+ list(APPEND INC
+ ../../../intern/ffmpeg
+ )
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
diff --git a/source/blender/imbuf/IMB_imbuf.h b/source/blender/imbuf/IMB_imbuf.h
index 5d61452e149..2c926f2d94b 100644
--- a/source/blender/imbuf/IMB_imbuf.h
+++ b/source/blender/imbuf/IMB_imbuf.h
@@ -133,6 +133,7 @@ struct ImBuf *IMB_allocImBuf(unsigned int x, unsigned int y,
*/
void IMB_refImBuf(struct ImBuf *ibuf);
+struct ImBuf * IMB_makeSingleUser(struct ImBuf *ibuf);
/**
*
@@ -193,17 +194,70 @@ void IMB_rectblend(struct ImBuf *dbuf, struct ImBuf *sbuf, int destx,
int desty, int srcx, int srcy, int width, int height, IMB_BlendMode mode);
/**
+ *
+ * @attention Defined in indexer.c
+ */
+
+typedef enum IMB_Timecode_Type {
+ IMB_TC_NONE = 0, /* don't use timecode files at all */
+ IMB_TC_RECORD_RUN = 1, /* use images in the order as they are recorded
+ (currently, this is the only one implemented
+ and is a sane default)
+ */
+ IMB_TC_FREE_RUN = 2, /* use global timestamp written by recording
+ device (prosumer camcorders e.g. can do
+ that) */
+ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN = 4,
+ /* interpolate a global timestamp using the
+ record date and time written by recording
+ device (*every* consumer camcorder can do
+ that :) )*/
+ IMB_TC_MAX_SLOT = 3
+} IMB_Timecode_Type;
+
+typedef enum IMB_Proxy_Size {
+ IMB_PROXY_NONE = 0,
+ IMB_PROXY_25 = 1,
+ IMB_PROXY_50 = 2,
+ IMB_PROXY_75 = 4,
+ IMB_PROXY_100 = 8,
+ IMB_PROXY_MAX_SLOT = 4
+} IMB_Proxy_Size;
+
+/* defaults to BL_proxy within the directory of the animation */
+void IMB_anim_set_index_dir(struct anim * anim, const char * dir);
+
+int IMB_anim_index_get_frame_index(struct anim * anim, IMB_Timecode_Type tc,
+ int position);
+
+/* will rebuild all used indices and proxies at once */
+void IMB_anim_index_rebuild(struct anim * anim,
+ IMB_Timecode_Type build_tcs,
+ IMB_Proxy_Size build_preview_sizes,
+ int build_quality,
+ short *stop, short *do_update, float *progress);
+
+/**
* Return the length (in frames) of the given @a anim.
*/
-int IMB_anim_get_duration(struct anim *anim);
+int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc);
+
+
+/**
+ * Return the fps contained in movie files (function rval is FALSE,
+ * and frs_sec and frs_sec_base untouched if none available!)
+ */
+int IMB_anim_get_fps(struct anim * anim,
+ short * frs_sec, float * frs_sec_base);
/**
*
* @attention Defined in anim.c
*/
-struct anim *IMB_open_anim(const char *name, int ib_flags);
+struct anim *IMB_open_anim(const char *name, int ib_flags, int streamindex);
void IMB_close_anim(struct anim *anim);
+
/**
*
* @attention Defined in anim.c
@@ -218,7 +272,10 @@ int IMB_anim_get_preseek(struct anim *anim);
* @attention Defined in anim.c
*/
-struct ImBuf *IMB_anim_absolute(struct anim *anim, int position);
+struct ImBuf *IMB_anim_absolute(
+ struct anim *anim, int position,
+ IMB_Timecode_Type tc /* = 1 = IMB_TC_RECORD_RUN */,
+ IMB_Proxy_Size preview_size /* = 0 = IMB_PROXY_NONE */);
/**
*
@@ -231,12 +288,6 @@ struct ImBuf *IMB_anim_previewframe(struct anim *anim);
*
* @attention Defined in anim.c
*/
-void IMB_free_anim_ibuf(struct anim *anim);
-
-/**
- *
- * @attention Defined in anim.c
- */
void IMB_free_anim(struct anim *anim);
/**
@@ -252,7 +303,7 @@ void IMB_filter(struct ImBuf *ibuf);
void IMB_filterN(struct ImBuf *out, struct ImBuf *in);
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);
+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);
@@ -338,6 +389,7 @@ 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
@@ -442,11 +494,12 @@ 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);
+void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2);
/* defined in metadata.c */
int IMB_metadata_change_field(struct ImBuf *img, const char *key, const char *field);
diff --git a/source/blender/imbuf/intern/IMB_anim.h b/source/blender/imbuf/intern/IMB_anim.h
index fba0772dd93..8436846bf2e 100644
--- a/source/blender/imbuf/intern/IMB_anim.h
+++ b/source/blender/imbuf/intern/IMB_anim.h
@@ -127,19 +127,22 @@
#define MAXNUMSTREAMS 50
struct _AviMovie;
+struct anim_index;
struct anim {
int ib_flags;
int curtype;
int curposition; /* index 0 = 1e, 1 = 2e, enz. */
int duration;
+ short frs_sec;
+ float frs_sec_base;
int x, y;
/* voor op nummer */
char name[256];
/* voor sequence */
char first[256];
-
+
/* movie */
void *movie;
void *track;
@@ -148,9 +151,7 @@ struct anim {
size_t framesize;
int interlacing;
int preseek;
-
- /* data */
- struct ImBuf * ibuf1, * ibuf2;
+ int streamindex;
/* avi */
struct _AviMovie *avi;
@@ -179,11 +180,26 @@ struct anim {
AVFrame *pFrameDeinterlaced;
struct SwsContext *img_convert_ctx;
int videoStream;
+
+ struct ImBuf * last_frame;
+ int64_t last_pts;
+ int64_t next_pts;
+ int64_t next_undecoded_pts;
+ AVPacket next_packet;
#endif
#ifdef WITH_REDCODE
struct redcode_handle * redcodeCtx;
#endif
+
+ char index_dir[256];
+
+ int proxies_tried;
+ int indices_tried;
+
+ struct anim * proxy_anim[IMB_PROXY_MAX_SLOT];
+ struct anim_index * curr_idx[IMB_TC_MAX_SLOT];
+
};
#endif
diff --git a/source/blender/imbuf/intern/IMB_indexer.h b/source/blender/imbuf/intern/IMB_indexer.h
new file mode 100644
index 00000000000..f55420fd106
--- /dev/null
+++ b/source/blender/imbuf/intern/IMB_indexer.h
@@ -0,0 +1,133 @@
+/**
+ * $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): Peter Schlaile
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+
+#ifndef IMB_INDEXER_H
+#define IMB_INDEXER_H
+
+#ifdef WIN32
+#include <io.h>
+#endif
+
+#include <stdlib.h>
+#include <stdio.h>
+#include "BKE_utildefines.h"
+#include "IMB_anim.h"
+
+/*
+ seperate animation index files to solve the following problems:
+
+ a) different timecodes within one file (like DTS/PTS, Timecode-Track,
+ "implicit" timecodes within DV-files and HDV-files etc.)
+ b) seeking difficulties within ffmpeg for files with timestamp holes
+ c) broken files that miss several frames / have varying framerates
+ d) use proxies accordingly
+
+ ... we need index files, that provide us with
+
+ the binary(!) position, where we have to seek into the file *and*
+ the continuous frame number (ignoring the holes) starting from the
+ beginning of the file, so that we know, which proxy frame to serve.
+
+ This index has to be only built once for a file and is written into
+ the BL_proxy directory structure for later reuse in different blender files.
+
+*/
+
+typedef struct anim_index_entry {
+ int frameno;
+ unsigned long long seek_pos;
+ unsigned long long seek_pos_dts;
+ unsigned long long pts;
+} anim_index_entry;
+
+struct anim_index {
+ char name[256];
+
+ int num_entries;
+ struct anim_index_entry * entries;
+};
+
+struct anim_index_builder;
+
+typedef struct anim_index_builder {
+ FILE * fp;
+ char name[FILE_MAXDIR + FILE_MAXFILE];
+ char temp_name[FILE_MAXDIR + FILE_MAXFILE];
+
+ void * private_data;
+
+ void (*delete_priv_data)(struct anim_index_builder * idx);
+ void (*proc_frame)(struct anim_index_builder * idx,
+ unsigned char * buffer,
+ int data_size,
+ struct anim_index_entry * entry);
+} anim_index_builder;
+
+anim_index_builder * IMB_index_builder_create(const char * name);
+void IMB_index_builder_add_entry(anim_index_builder * fp,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts);
+
+void IMB_index_builder_proc_frame(anim_index_builder * fp,
+ unsigned char * buffer,
+ int data_size,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts);
+
+void IMB_index_builder_finish(anim_index_builder * fp, int rollback);
+
+struct anim_index * IMB_indexer_open(const char * name);
+unsigned long long IMB_indexer_get_seek_pos(
+ struct anim_index * idx, int frameno_index);
+unsigned long long IMB_indexer_get_seek_pos_dts(
+ struct anim_index * idx, int frameno_index);
+
+int IMB_indexer_get_frame_index(struct anim_index * idx, int frameno);
+unsigned long long IMB_indexer_get_pts(struct anim_index * idx,
+ int frame_index);
+int IMB_indexer_get_duration(struct anim_index * idx);
+
+int IMB_indexer_can_scan(struct anim_index * idx,
+ int old_frame_index, int new_frame_index);
+
+void IMB_indexer_close(struct anim_index * idx);
+
+void IMB_free_indices(struct anim * anim);
+
+int IMB_anim_index_get_frame_index(
+ struct anim * anim, IMB_Timecode_Type tc, int position);
+
+struct anim * IMB_anim_open_proxy(
+ struct anim * anim, IMB_Proxy_Size preview_size);
+struct anim_index * IMB_anim_open_index(
+ struct anim * anim, IMB_Timecode_Type tc);
+
+int IMB_proxy_size_to_array_index(IMB_Proxy_Size pr_size);
+int IMB_timecode_to_array_index(IMB_Timecode_Type tc);
+
+#endif
diff --git a/source/blender/imbuf/intern/allocimbuf.c b/source/blender/imbuf/intern/allocimbuf.c
index 59772771f3b..6ce6c9409d1 100644
--- a/source/blender/imbuf/intern/allocimbuf.c
+++ b/source/blender/imbuf/intern/allocimbuf.c
@@ -177,6 +177,19 @@ void IMB_refImBuf(ImBuf *ibuf)
ibuf->refcounter++;
}
+ImBuf * IMB_makeSingleUser(ImBuf *ibuf)
+{
+ ImBuf * rval;
+
+ if (!ibuf || ibuf->refcounter == 0) { return ibuf; }
+
+ rval = IMB_dupImBuf(ibuf);
+
+ IMB_freeImBuf(ibuf);
+
+ return rval;
+}
+
short addzbufImBuf(ImBuf *ibuf)
{
int size;
diff --git a/source/blender/imbuf/intern/anim_movie.c b/source/blender/imbuf/intern/anim_movie.c
index 919b0eb0c29..c4fe1523e90 100644
--- a/source/blender/imbuf/intern/anim_movie.c
+++ b/source/blender/imbuf/intern/anim_movie.c
@@ -57,6 +57,7 @@
#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
+#include <math.h>
#ifndef _WIN32
#include <dirent.h>
#else
@@ -66,6 +67,7 @@
#include "BLI_blenlib.h" /* BLI_remlink BLI_filesize BLI_addtail
BLI_countlist BLI_stringdec */
#include "BLI_utildefines.h"
+#include "BLI_math_base.h"
#include "MEM_guardedalloc.h"
@@ -90,6 +92,7 @@
#include "IMB_allocimbuf.h"
#include "IMB_anim.h"
+#include "IMB_indexer.h"
#ifdef WITH_FFMPEG
#include <libavformat/avformat.h>
@@ -304,15 +307,6 @@ static void free_anim_avi (struct anim *anim) {
anim->duration = 0;
}
-void IMB_free_anim_ibuf(struct anim * anim) {
- if (anim == NULL) return;
-
- if (anim->ibuf1) IMB_freeImBuf(anim->ibuf1);
- if (anim->ibuf2) IMB_freeImBuf(anim->ibuf2);
-
- anim->ibuf1 = anim->ibuf2 = NULL;
-}
-
#ifdef WITH_FFMPEG
static void free_anim_ffmpeg(struct anim * anim);
#endif
@@ -326,7 +320,6 @@ void IMB_free_anim(struct anim * anim) {
return;
}
- IMB_free_anim_ibuf(anim);
free_anim_movie(anim);
free_anim_avi(anim);
@@ -339,6 +332,7 @@ void IMB_free_anim(struct anim * anim) {
#ifdef WITH_REDCODE
free_anim_redcode(anim);
#endif
+ IMB_free_indices(anim);
MEM_freeN(anim);
}
@@ -350,13 +344,14 @@ void IMB_close_anim(struct anim * anim) {
}
-struct anim * IMB_open_anim( const char * name, int ib_flags) {
+struct anim * IMB_open_anim( const char * name, int ib_flags, int streamindex) {
struct anim * anim;
anim = (struct anim*)MEM_callocN(sizeof(struct anim), "anim struct");
if (anim != NULL) {
- strcpy(anim->name, name); /* fixme: possible buffer overflow here? */
+ BLI_strncpy(anim->name, name, sizeof(anim->name));
anim->ib_flags = ib_flags;
+ anim->streamindex = streamindex;
}
return(anim);
}
@@ -368,10 +363,13 @@ static int startavi (struct anim *anim) {
#if defined(_WIN32) && !defined(FREE_WINDOWS)
HRESULT hr;
int i, firstvideo = -1;
+ int streamcount;
BYTE abFormat[1024];
LONG l;
LPBITMAPINFOHEADER lpbi;
AVISTREAMINFO avis;
+
+ streamcount = anim->streamindex;
#endif
anim->avi = MEM_callocN (sizeof(AviMovie),"animavi");
@@ -396,6 +394,10 @@ static int startavi (struct anim *anim) {
AVIStreamInfo(anim->pavi[i], &avis, sizeof(avis));
if ((avis.fccType == streamtypeVIDEO) && (firstvideo == -1)) {
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
anim->pgf = AVIStreamGetFrameOpen(anim->pavi[i], NULL);
if (anim->pgf) {
firstvideo = i;
@@ -496,14 +498,14 @@ static ImBuf * avi_fetchibuf (struct anim *anim, int position) {
for (y=0; y < anim->y; y++) {
memcpy (&(ibuf->rect)[((anim->y-y)-1)*anim->x], &tmp[y*anim->x],
- anim->x * 4);
+ anim->x * 4);
}
MEM_freeN (tmp);
}
-
+
ibuf->profile = IB_PROFILE_SRGB;
-
+
return ibuf;
}
@@ -517,6 +519,9 @@ static int startffmpeg(struct anim * anim) {
AVCodec *pCodec;
AVFormatContext *pFormatCtx;
AVCodecContext *pCodecCtx;
+ int frs_num;
+ double frs_den;
+ int streamcount;
#ifdef FFMPEG_SWSCALE_COLOR_SPACE_SUPPORT
/* The following for color space determination */
@@ -527,6 +532,8 @@ static int startffmpeg(struct anim * anim) {
if (anim == 0) return(-1);
+ streamcount = anim->streamindex;
+
do_init_ffmpeg();
if(av_open_input_file(&pFormatCtx, anim->name, NULL, 0, NULL)!=0) {
@@ -541,12 +548,17 @@ static int startffmpeg(struct anim * anim) {
av_dump_format(pFormatCtx, 0, anim->name, 0);
- /* Find the first video stream */
- videoStream=-1;
- for(i=0; i<pFormatCtx->nb_streams; i++)
- if(pFormatCtx->streams[i]->codec->codec_type
+ /* Find the video stream */
+ videoStream = -1;
+
+ for(i = 0; i < pFormatCtx->nb_streams; i++)
+ if (pFormatCtx->streams[i]->codec->codec_type
== AVMEDIA_TYPE_VIDEO) {
- videoStream=i;
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
+ videoStream = i;
break;
}
@@ -557,16 +569,16 @@ static int startffmpeg(struct anim * anim) {
pCodecCtx = pFormatCtx->streams[videoStream]->codec;
- /* Find the decoder for the video stream */
- pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
- if(pCodec==NULL) {
+ /* Find the decoder for the video stream */
+ pCodec = avcodec_find_decoder(pCodecCtx->codec_id);
+ if(pCodec == NULL) {
av_close_input_file(pFormatCtx);
return -1;
}
pCodecCtx->workaround_bugs = 1;
- if(avcodec_open(pCodecCtx, pCodec)<0) {
+ if(avcodec_open(pCodecCtx, pCodec) < 0) {
av_close_input_file(pFormatCtx);
return -1;
}
@@ -575,6 +587,19 @@ static int startffmpeg(struct anim * anim) {
* av_q2d(pFormatCtx->streams[videoStream]->r_frame_rate)
/ AV_TIME_BASE);
+ frs_num = pFormatCtx->streams[videoStream]->r_frame_rate.num;
+ frs_den = pFormatCtx->streams[videoStream]->r_frame_rate.den;
+
+ frs_den *= AV_TIME_BASE;
+
+ while (frs_num % 10 == 0 && frs_den >= 2.0 && frs_num > 10) {
+ frs_num /= 10;
+ frs_den /= 10;
+ }
+
+ anim->frs_sec = frs_num;
+ anim->frs_sec_base = frs_den;
+
anim->params = 0;
anim->x = pCodecCtx->width;
@@ -584,6 +609,11 @@ static int startffmpeg(struct anim * anim) {
anim->framesize = anim->x * anim->y * 4;
anim->curposition = -1;
+ anim->last_frame = 0;
+ anim->last_pts = -1;
+ anim->next_pts = -1;
+ anim->next_undecoded_pts = -1;
+ anim->next_packet.stream_index = -1;
anim->pFormatCtx = pFormatCtx;
anim->pCodecCtx = pCodecCtx;
@@ -666,10 +696,19 @@ static int startffmpeg(struct anim * anim) {
return (0);
}
-static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
- int * filter_y)
+/* postprocess the image in anim->pFrame and do color conversion
+ and deinterlacing stuff.
+
+ Output is anim->last_frame
+*/
+
+static void ffmpeg_postprocess(struct anim * anim)
{
AVFrame * input = anim->pFrame;
+ ImBuf * ibuf = anim->last_frame;
+ int filter_y = 0;
+
+ ibuf->profile = IB_PROFILE_SRGB;
/* This means the data wasnt read properly,
this check stops crashing */
@@ -690,12 +729,16 @@ static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
anim->pCodecCtx->width,
anim->pCodecCtx->height)
< 0) {
- *filter_y = 1;
+ filter_y = TRUE;
} else {
input = anim->pFrameDeinterlaced;
}
}
+ avpicture_fill((AVPicture*) anim->pFrameRGB,
+ (unsigned char*) ibuf->rect,
+ PIX_FMT_RGBA, anim->x, anim->y);
+
if (ENDIAN_ORDER == B_ENDIAN) {
int * dstStride = anim->pFrameRGB->linesize;
uint8_t** dst = anim->pFrameRGB->data;
@@ -774,150 +817,359 @@ static void ffmpeg_postprocess(struct anim * anim, ImBuf * ibuf,
}
}
}
+
+ if (filter_y) {
+ IMB_filtery(ibuf);
+ }
}
-static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position) {
- ImBuf * ibuf;
- int frameFinished;
- AVPacket packet;
+/* decode one video frame and load the next packet into anim->packet,
+ so that we can obtain next_pts and next undecoded pts */
+
+static int ffmpeg_decode_video_frame(struct anim * anim)
+{
+ int frameFinished = 0;
+ int rval = 0;
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG, " DECODE VIDEO FRAME\n");
+
+ anim->next_undecoded_pts = -1;
+
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ " DECODE: cached next packet\n");
+
+ avcodec_decode_video2(anim->pCodecCtx,
+ anim->pFrame, &frameFinished,
+ &anim->next_packet);
+
+ if (frameFinished) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME DONE: "
+ "next_pts=%lld pkt_pts=%lld\n",
+ (anim->pFrame->pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pts,
+ (anim->pFrame->pkt_pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pkt_pts);
+ anim->next_pts =
+ av_get_pts_from_frame(anim->pFormatCtx,
+ anim->pFrame);
+ }
+
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
+
+ while((rval = av_read_frame(anim->pFormatCtx, &anim->next_packet)) >= 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ "%sREAD: strID=%d (VID: %d) dts=%lld pts=%lld "
+ "%s\n",
+ (anim->next_packet.stream_index == anim->videoStream)
+ ? "->" : " ",
+ anim->next_packet.stream_index,
+ anim->videoStream,
+ (anim->next_packet.dts == AV_NOPTS_VALUE) ? -1:
+ anim->next_packet.dts,
+ (anim->next_packet.pts == AV_NOPTS_VALUE) ? -1:
+ anim->next_packet.pts,
+ (anim->next_packet.flags & AV_PKT_FLAG_KEY) ?
+ " KEY" : "");
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ if (frameFinished) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME finished, we leave\n");
+ anim->next_undecoded_pts
+ = anim->next_packet.dts;
+ break;
+ }
+
+ avcodec_decode_video2(
+ anim->pCodecCtx,
+ anim->pFrame, &frameFinished,
+ &anim->next_packet);
+
+ if (frameFinished) {
+ anim->next_pts = av_get_pts_from_frame(
+ anim->pFormatCtx, anim->pFrame);
+
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " FRAME DONE: next_pts=%lld "
+ "pkt_pts=%lld, guessed_pts=%lld\n",
+ (anim->pFrame->pts == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pts,
+ (anim->pFrame->pkt_pts
+ == AV_NOPTS_VALUE) ?
+ -1 : anim->pFrame->pkt_pts,
+ anim->next_pts);
+ }
+ }
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
+
+ if (rval < 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR, " DECODE READ FAILED: av_read_frame() "
+ "returned error: %d\n", rval);
+ }
+ return (rval >= 0);
+}
+
+static void ffmpeg_decode_video_frame_scan(
+ struct anim * anim, int64_t pts_to_search)
+{
+ /* there seem to exist *very* silly GOP lengths out in the wild... */
+ int count = 1000;
+
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ "SCAN start: considering pts=%lld in search of %lld\n",
+ anim->next_pts, pts_to_search);
+
+ while (count > 0 && anim->next_pts < pts_to_search) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG,
+ " WHILE: pts=%lld in search of %lld\n",
+ anim->next_pts, pts_to_search);
+ if (!ffmpeg_decode_video_frame(anim)) {
+ break;
+ }
+ count--;
+ }
+ if (count == 0) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR,
+ "SCAN failed: completely lost in stream, "
+ "bailing out at PTS=%lld, searching for PTS=%lld\n",
+ anim->next_pts, pts_to_search);
+ }
+ if (anim->next_pts == pts_to_search) {
+ av_log(anim->pFormatCtx,
+ AV_LOG_DEBUG, "SCAN HAPPY: we found our PTS!\n");
+ } else {
+ av_log(anim->pFormatCtx,
+ AV_LOG_ERROR, "SCAN UNHAPPY: PTS not matched!\n");
+ }
+}
+
+static int match_format(const char *name, AVFormatContext * pFormatCtx)
+{
+ const char *p;
+ int len, namelen;
+
+ const char *names = pFormatCtx->iformat->name;
+
+ if (!name || !names)
+ return 0;
+
+ namelen = strlen(name);
+ while ((p = strchr(names, ','))) {
+ len = MAX2(p - names, namelen);
+ if (!BLI_strncasecmp(name, names, len))
+ return 1;
+ names = p+1;
+ }
+ return !BLI_strcasecmp(name, names);
+}
+
+static int ffmpeg_seek_by_byte(AVFormatContext *pFormatCtx)
+{
+ static const char * byte_seek_list [] = { "dv", "mpegts", 0 };
+ const char ** p;
+
+ if (pFormatCtx->iformat->flags & AVFMT_TS_DISCONT) {
+ return TRUE;
+ }
+
+ p = byte_seek_list;
+
+ while (*p) {
+ if (match_format(*p++, pFormatCtx)) {
+ return TRUE;
+ }
+ }
+
+ return FALSE;
+}
+
+static ImBuf * ffmpeg_fetchibuf(struct anim * anim, int position,
+ IMB_Timecode_Type tc) {
int64_t pts_to_search = 0;
- int pos_found = 1;
- int filter_y = 0;
- int seek_by_bytes= 0;
- int preseek_count = 0;
+ double frame_rate;
+ double pts_time_base;
+ long long st_time;
+ struct anim_index * tc_index = 0;
+ AVStream * v_st;
+ int new_frame_index;
+ int old_frame_index;
if (anim == 0) return (0);
- ibuf = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect);
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG, "FETCH: pos=%d\n", position);
- avpicture_fill((AVPicture*) anim->pFrameRGB,
- (unsigned char*) ibuf->rect,
- PIX_FMT_RGBA, anim->x, anim->y);
-
- if (position != anim->curposition + 1) {
- if (position > anim->curposition + 1
- && anim->preseek
- && position - (anim->curposition + 1) < anim->preseek) {
- while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
- if (packet.stream_index == anim->videoStream) {
- avcodec_decode_video2(
- anim->pCodecCtx,
- anim->pFrame, &frameFinished,
- &packet);
-
- if (frameFinished) {
- anim->curposition++;
- }
- }
- av_free_packet(&packet);
- if (position == anim->curposition+1) {
- break;
- }
- }
+ if (tc != IMB_TC_NONE) {
+ tc_index = IMB_anim_open_index(anim, tc);
+ }
+
+ v_st = anim->pFormatCtx->streams[anim->videoStream];
+
+ frame_rate = av_q2d(v_st->r_frame_rate);
+
+ st_time = anim->pFormatCtx->start_time;
+ pts_time_base = av_q2d(v_st->time_base);
+
+ if (tc_index) {
+ new_frame_index = IMB_indexer_get_frame_index(
+ tc_index, position);
+ old_frame_index = IMB_indexer_get_frame_index(
+ tc_index, anim->curposition);
+ pts_to_search = IMB_indexer_get_pts(
+ tc_index, new_frame_index);
+ } else {
+ pts_to_search = (long long)
+ floor(((double) position) / pts_time_base / frame_rate + 0.5);
+
+ if (st_time != AV_NOPTS_VALUE) {
+ pts_to_search += st_time / pts_time_base
+ / AV_TIME_BASE;
}
}
-/* disable seek_by_bytes for now, since bitrates are guessed wrong!
- also: MPEG2TS-seeking was fixed in later versions of ffmpeg, so problem
- is somewhat fixed by now (until we add correct timecode management code...)
-*/
-#if 0
- seek_by_bytes = !!(anim->pFormatCtx->iformat->flags & AVFMT_TS_DISCONT);
-#else
- seek_by_bytes = FALSE;
-#endif
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: looking for PTS=%lld "
+ "(pts_timebase=%g, frame_rate=%g, st_time=%lld)\n",
+ pts_to_search, pts_time_base, frame_rate, st_time);
+
+ if (anim->last_frame &&
+ anim->last_pts <= pts_to_search && anim->next_pts > pts_to_search){
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: frame repeat: last: %lld next: %lld\n",
+ anim->last_pts, anim->next_pts);
+ IMB_refImBuf(anim->last_frame);
+ anim->curposition = position;
+ return anim->last_frame;
+ }
+
+ IMB_freeImBuf(anim->last_frame);
+
+ if (anim->next_pts <= pts_to_search &&
+ anim->next_undecoded_pts > pts_to_search) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: no seek necessary: "
+ "next: %lld next undecoded: %lld\n",
+ anim->next_pts, anim->next_undecoded_pts);
+
+ /* we are already done :) */
+
+ } else if (position > anim->curposition + 1
+ && anim->preseek
+ && !tc_index
+ && position - (anim->curposition + 1) < anim->preseek) {
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: within preseek interval (no index)\n");
+
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
+ } else if (tc_index &&
+ IMB_indexer_can_scan(tc_index, old_frame_index,
+ new_frame_index)) {
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "FETCH: within preseek interval "
+ "(index tells us)\n");
- if (position != anim->curposition + 1) {
- double frame_rate =
- av_q2d(anim->pFormatCtx->streams[anim->videoStream]
- ->r_frame_rate);
- double pts_time_base = av_q2d(anim->pFormatCtx->streams[anim->videoStream]->time_base);
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
+ } else if (position != anim->curposition + 1) {
long long pos;
- long long st_time = anim->pFormatCtx->start_time;
int ret;
- if (seek_by_bytes) {
- pos = position - anim->preseek;
- if (pos < 0) {
- pos = 0;
- }
- preseek_count = position - pos;
+ if (tc_index) {
+ unsigned long long dts;
+
+ pos = IMB_indexer_get_seek_pos(
+ tc_index, new_frame_index);
+ dts = IMB_indexer_get_seek_pos_dts(
+ tc_index, new_frame_index);
+
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "TC INDEX seek pos = %lld\n", pos);
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "TC INDEX seek dts = %lld\n", dts);
- pos *= anim->pFormatCtx->bit_rate / frame_rate;
- pos /= 8;
+ if (ffmpeg_seek_by_byte(anim->pFormatCtx)) {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "... using BYTE pos\n");
+
+ ret = av_seek_frame(anim->pFormatCtx,
+ -1,
+ pos, AVSEEK_FLAG_BYTE);
+ av_update_cur_dts(anim->pFormatCtx, v_st, dts);
+ } else {
+ av_log(anim->pFormatCtx, AV_LOG_DEBUG,
+ "... using DTS pos\n");
+ ret = av_seek_frame(anim->pFormatCtx,
+ anim->videoStream,
+ dts, AVSEEK_FLAG_BACKWARD);
+ }
} else {
pos = (long long) (position - anim->preseek)
* AV_TIME_BASE / frame_rate;
if (pos < 0) {
pos = 0;
}
-
+
if (st_time != AV_NOPTS_VALUE) {
pos += st_time;
}
- }
- ret = av_seek_frame(anim->pFormatCtx, -1,
- pos,
- AVSEEK_FLAG_BACKWARD | (
- seek_by_bytes
- ? AVSEEK_FLAG_ANY
- | AVSEEK_FLAG_BYTE : 0));
- if (ret < 0) {
- fprintf(stderr, "error while seeking: %d\n", ret);
+ ret = av_seek_frame(anim->pFormatCtx, -1,
+ pos, AVSEEK_FLAG_BACKWARD);
}
- pts_to_search = (long long)
- (((double) position) / pts_time_base / frame_rate);
- if (st_time != AV_NOPTS_VALUE) {
- pts_to_search += st_time / pts_time_base/ AV_TIME_BASE;
+ if (ret < 0) {
+ av_log(anim->pFormatCtx, AV_LOG_ERROR,
+ "FETCH: "
+ "error while seeking to DTS = %lld "
+ "(frameno = %d, PTS = %lld): errcode = %d\n",
+ pos, position, pts_to_search, ret);
}
- pos_found = 0;
avcodec_flush_buffers(anim->pCodecCtx);
- }
- while(av_read_frame(anim->pFormatCtx, &packet)>=0) {
- if(packet.stream_index == anim->videoStream) {
- avcodec_decode_video2(anim->pCodecCtx,
- anim->pFrame, &frameFinished,
- &packet);
+ anim->next_pts = -1;
- if (seek_by_bytes && preseek_count > 0) {
- preseek_count--;
- }
+ if (anim->next_packet.stream_index == anim->videoStream) {
+ av_free_packet(&anim->next_packet);
+ anim->next_packet.stream_index = -1;
+ }
- if (frameFinished && !pos_found) {
- if (seek_by_bytes) {
- if (!preseek_count) {
- pos_found = 1;
- anim->curposition = position;
- }
- } else {
- if (packet.dts >= pts_to_search) {
- pos_found = 1;
- anim->curposition = position;
- }
- }
- }
+ /* memset(anim->pFrame,...) ?? */
- if(frameFinished && pos_found == 1) {
- ffmpeg_postprocess(anim, ibuf, &filter_y);
- av_free_packet(&packet);
- break;
- }
+ if (ret >= 0) {
+ ffmpeg_decode_video_frame_scan(anim, pts_to_search);
}
-
- av_free_packet(&packet);
+ } else if (position == 0 && anim->curposition == -1) {
+ /* first frame without seeking special case... */
+ ffmpeg_decode_video_frame(anim);
}
- if (filter_y && ibuf) {
- IMB_filtery(ibuf);
- }
+ anim->last_frame = IMB_allocImBuf(anim->x, anim->y, 32, IB_rect);
- ibuf->profile = IB_PROFILE_SRGB;
+ ffmpeg_postprocess(anim);
- return(ibuf);
+ anim->last_pts = anim->next_pts;
+
+ ffmpeg_decode_video_frame(anim);
+
+ anim->curposition = position;
+
+ IMB_refImBuf(anim->last_frame);
+
+ return anim->last_frame;
}
static void free_anim_ffmpeg(struct anim * anim) {
@@ -934,6 +1186,10 @@ static void free_anim_ffmpeg(struct anim * anim) {
}
av_free(anim->pFrameDeinterlaced);
sws_freeContext(anim->img_convert_ctx);
+ IMB_freeImBuf(anim->last_frame);
+ if (anim->next_packet.stream_index != -1) {
+ av_free_packet(&anim->next_packet);
+ }
}
anim->duration = 0;
}
@@ -1063,16 +1319,19 @@ struct ImBuf * IMB_anim_previewframe(struct anim * anim) {
struct ImBuf * ibuf = NULL;
int position = 0;
- ibuf = IMB_anim_absolute(anim, 0);
+ ibuf = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (ibuf) {
IMB_freeImBuf(ibuf);
position = anim->duration / 2;
- ibuf = IMB_anim_absolute(anim, position);
+ ibuf = IMB_anim_absolute(anim, position, IMB_TC_NONE,
+ IMB_PROXY_NONE);
}
return ibuf;
}
-struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
+struct ImBuf * IMB_anim_absolute(struct anim * anim, int position,
+ IMB_Timecode_Type tc,
+ IMB_Proxy_Size preview_size) {
struct ImBuf * ibuf = NULL;
char head[256], tail[256];
unsigned short digits;
@@ -1095,6 +1354,18 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
if (position < 0) return(NULL);
if (position >= anim->duration) return(NULL);
+ if (preview_size != IMB_PROXY_NONE) {
+ struct anim * proxy = IMB_anim_open_proxy(anim, preview_size);
+
+ if (proxy) {
+ position = IMB_anim_index_get_frame_index(
+ anim, tc, position);
+ return IMB_anim_absolute(
+ proxy, position,
+ IMB_TC_NONE, IMB_PROXY_NONE);
+ }
+ }
+
switch(anim->curtype) {
case ANIM_SEQUENCE:
pic = an_stringdec(anim->first, head, tail, &digits);
@@ -1127,7 +1398,7 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
#endif
#ifdef WITH_FFMPEG
case ANIM_FFMPEG:
- ibuf = ffmpeg_fetchibuf(anim, position);
+ ibuf = ffmpeg_fetchibuf(anim, position, tc);
if (ibuf)
anim->curposition = position;
filter_y = 0; /* done internally */
@@ -1151,8 +1422,29 @@ struct ImBuf * IMB_anim_absolute(struct anim * anim, int position) {
/***/
-int IMB_anim_get_duration(struct anim *anim) {
- return anim->duration;
+int IMB_anim_get_duration(struct anim *anim, IMB_Timecode_Type tc) {
+ struct anim_index * idx;
+ if (tc == IMB_TC_NONE) {
+ return anim->duration;
+ }
+
+ idx = IMB_anim_open_index(anim, tc);
+ if (!idx) {
+ return anim->duration;
+ }
+
+ return IMB_indexer_get_duration(idx);
+}
+
+int IMB_anim_get_fps(struct anim * anim,
+ short * frs_sec, float * frs_sec_base)
+{
+ if (anim->frs_sec) {
+ *frs_sec = anim->frs_sec;
+ *frs_sec_base = anim->frs_sec_base;
+ return TRUE;
+ }
+ return FALSE;
}
void IMB_anim_set_preseek(struct anim * anim, int preseek)
diff --git a/source/blender/imbuf/intern/cineon/CMakeLists.txt b/source/blender/imbuf/intern/cineon/CMakeLists.txt
index 079f34af773..4f7f20beecf 100644
--- a/source/blender/imbuf/intern/cineon/CMakeLists.txt
+++ b/source/blender/imbuf/intern/cineon/CMakeLists.txt
@@ -29,8 +29,8 @@ set(INC
..
../..
../../../blenkernel
- ../../../blenloader
../../../blenlib
+ ../../../blenloader
../../../makesdna
../../../../../intern/guardedalloc
)
diff --git a/source/blender/imbuf/intern/cineon/cineonlib.c b/source/blender/imbuf/intern/cineon/cineonlib.c
index 922cfcf9629..b4da39ac41e 100644
--- a/source/blender/imbuf/intern/cineon/cineonlib.c
+++ b/source/blender/imbuf/intern/cineon/cineonlib.c
@@ -36,6 +36,9 @@
#include <netinet/in.h> /* htonl() */
#endif
#include <string.h> /* memset */
+
+#include "BLI_utildefines.h"
+
#include "cin_debug_stuff.h"
#include "logmemfile.h"
@@ -288,7 +291,7 @@ initCineonGenericHeader(CineonFile* cineon, CineonGenericHeader* header, const c
}
static void
-dumpCineonGenericHeader(CineonGenericHeader* header) {
+UNUSED_FUNCTION(dumpCineonGenericHeader)(CineonGenericHeader* header) {
dumpCineonFileInfo(&header->fileInfo);
dumpCineonImageInfo(&header->imageInfo);
dumpCineonFormatInfo(&header->formatInfo);
diff --git a/source/blender/imbuf/intern/cineon/logImageCore.h b/source/blender/imbuf/intern/cineon/logImageCore.h
index f05c19c4f47..cbc7cb9d64a 100644
--- a/source/blender/imbuf/intern/cineon/logImageCore.h
+++ b/source/blender/imbuf/intern/cineon/logImageCore.h
@@ -38,8 +38,12 @@ extern "C" {
#endif
#include "BLO_sys_types.h" // for intptr_t support
+
+#ifdef _MSC_VER
#undef ntohl
#undef htonl
+#endif
+
typedef int (GetRowFn)(LogImageFile* logImage, unsigned short* row, int lineNum);
typedef int (SetRowFn)(LogImageFile* logImage, const unsigned short* row, int lineNum);
typedef void (CloseFn)(LogImageFile* logImage);
diff --git a/source/blender/imbuf/intern/dds/CMakeLists.txt b/source/blender/imbuf/intern/dds/CMakeLists.txt
index fd2b94547b4..53822b830f7 100644
--- a/source/blender/imbuf/intern/dds/CMakeLists.txt
+++ b/source/blender/imbuf/intern/dds/CMakeLists.txt
@@ -28,9 +28,8 @@ set(INC
.
..
../..
- intern/include
- ../../../blenlib
../../../blenkernel
+ ../../../blenlib
../../../makesdna
../../../../../intern/guardedalloc
)
diff --git a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
index 971658ff482..44e029bd7ce 100644
--- a/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
+++ b/source/blender/imbuf/intern/dds/DirectDrawSurface.cpp
@@ -1426,12 +1426,12 @@ void DirectDrawSurface::printInfo() const
if (header.flags & DDSD_LINEARSIZE) printf("\tDDSD_LINEARSIZE\n");
if (header.flags & DDSD_MIPMAPCOUNT) printf("\tDDSD_MIPMAPCOUNT\n");
- printf("Height: %d\n", header.height);
- printf("Width: %d\n", header.width);
- printf("Depth: %d\n", header.depth);
- if (header.flags & DDSD_PITCH) printf("Pitch: %d\n", header.pitch);
- else if (header.flags & DDSD_LINEARSIZE) printf("Linear size: %d\n", header.pitch);
- printf("Mipmap count: %d\n", header.mipmapcount);
+ printf("Height: %u\n", header.height);
+ printf("Width: %u\n", header.width);
+ printf("Depth: %u\n", header.depth);
+ if (header.flags & DDSD_PITCH) printf("Pitch: %u\n", header.pitch);
+ else if (header.flags & DDSD_LINEARSIZE) printf("Linear size: %u\n", header.pitch);
+ printf("Mipmap count: %u\n", header.mipmapcount);
printf("Pixel Format:\n");
printf("\tFlags: 0x%.8X\n", header.pf.flags);
@@ -1468,7 +1468,7 @@ void DirectDrawSurface::printInfo() const
}
else
{
- printf("\tBit count: %d\n", header.pf.bitcount);
+ printf("\tBit count: %u\n", header.pf.bitcount);
}
printf("\tRed mask: 0x%.8X\n", header.pf.rmask);
@@ -1522,7 +1522,7 @@ void DirectDrawSurface::printInfo() const
if (header.reserved[7] == FOURCC_UVER)
{
- printf("User Version: %d\n", header.reserved[8]);
+ printf("User Version: %u\n", header.reserved[8]);
}
}
diff --git a/source/blender/imbuf/intern/divers.c b/source/blender/imbuf/intern/divers.c
index 90ee2692cf0..7fc7669601d 100644
--- a/source/blender/imbuf/intern/divers.c
+++ b/source/blender/imbuf/intern/divers.c
@@ -490,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 d12360e5a7e..2677913caed 100644
--- a/source/blender/imbuf/intern/filter.c
+++ b/source/blender/imbuf/intern/filter.c
@@ -1,5 +1,7 @@
/*
*
+ * $Id$
+ *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -21,7 +23,7 @@
*
* The Original Code is: all of this file.
*
- * Contributor(s): none yet.
+ * Contributor(s): Morten Mikkelsen.
*
* ***** END GPL LICENSE BLOCK *****
* filter.c
@@ -326,121 +328,136 @@ void IMB_mask_clear(ImBuf *ibuf, char *mask, int val)
}
}
-#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;}
+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);
+
+ 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;
+ }
+ }
+
+ 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)
+void IMB_filter_extend(struct ImBuf *ibuf, char *mask, int filter)
{
- register char *row1, *row2, *row3;
- register char *cp;
- int rowlen, x, y;
-
- rowlen= ibuf->x;
-
-
- 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;
+ 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= 1;
+ /*k= 0;
+ for(i = -n; i <= n; i++)
+ for(j = -n; j <= n; j++)
+ weight[k++] = sqrt((float) i * i + j * j);
+ */
+ weight[0]=1; weight[1]=2; weight[2]=1;
+ weight[3]=2; weight[4]=0; weight[5]=2;
+ weight[6]=1; weight[7]=2; weight[8]=1;
+
+ /* run passes */
+ for(r = 0; cannot_early_out == 1 && r < filter; r++) {
+ 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;
+ }
}
}
- fp+=4;
-
- if(x!=0) {
- row1f+=4; row2f+=4; row3f+=4;
- }
}
}
- MEM_freeN(temprect);
- }
- 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;
- }
- }
- 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 */
diff --git a/source/blender/imbuf/intern/indexer.c b/source/blender/imbuf/intern/indexer.c
new file mode 100644
index 00000000000..3528318ba81
--- /dev/null
+++ b/source/blender/imbuf/intern/indexer.c
@@ -0,0 +1,1142 @@
+/*
+ * $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.
+ *
+ * Peter Schlaile <peter [at] schlaile [dot] de> 2011
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "IMB_indexer.h"
+#include "IMB_anim.h"
+#include "AVI_avi.h"
+#include "imbuf.h"
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include "BLI_blenlib.h"
+#include "BLI_math_base.h"
+#include "BLI_string.h"
+#include "MEM_guardedalloc.h"
+#include "DNA_userdef_types.h"
+#include "BKE_global.h"
+#include <stdlib.h>
+
+#ifdef WITH_FFMPEG
+
+#include "ffmpeg_compat.h"
+
+#endif //WITH_FFMPEG
+
+
+static char magic[] = "BlenMIdx";
+static char temp_ext [] = "_part";
+
+static int proxy_sizes[] = { IMB_PROXY_25, IMB_PROXY_50, IMB_PROXY_75,
+ IMB_PROXY_100 };
+static float proxy_fac[] = { 0.25, 0.50, 0.75, 1.00 };
+
+#ifdef WITH_FFMPEG
+static int tc_types[] = { IMB_TC_RECORD_RUN, IMB_TC_FREE_RUN,
+ IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN };
+#endif
+
+#define INDEX_FILE_VERSION 1
+
+/* ----------------------------------------------------------------------
+ - special indexers
+ ----------------------------------------------------------------------
+ */
+
+extern void IMB_indexer_dv_new(anim_index_builder * idx);
+
+
+/* ----------------------------------------------------------------------
+ - time code index functions
+ ---------------------------------------------------------------------- */
+
+anim_index_builder * IMB_index_builder_create(const char * name)
+{
+
+ anim_index_builder * rv
+ = MEM_callocN( sizeof(struct anim_index_builder),
+ "index builder");
+
+ fprintf(stderr, "Starting work on index: %s\n", name);
+
+ BLI_strncpy(rv->name, name, sizeof(rv->name));
+ BLI_strncpy(rv->temp_name, name, sizeof(rv->temp_name));
+
+ strcat(rv->temp_name, temp_ext);
+
+ BLI_make_existing_file(rv->temp_name);
+
+ rv->fp = fopen(rv->temp_name, "w");
+
+ if (!rv->fp) {
+ fprintf(stderr, "Couldn't open index target: %s! "
+ "Index build broken!\n", rv->temp_name);
+ MEM_freeN(rv);
+ return NULL;
+ }
+
+ fprintf(rv->fp, "%s%c%.3d", magic, (ENDIAN_ORDER==B_ENDIAN)?'V':'v',
+ INDEX_FILE_VERSION);
+
+ return rv;
+}
+
+void IMB_index_builder_add_entry(anim_index_builder * fp,
+ int frameno,unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts)
+{
+ fwrite(&frameno, sizeof(int), 1, fp->fp);
+ fwrite(&seek_pos, sizeof(unsigned long long), 1, fp->fp);
+ fwrite(&seek_pos_dts, sizeof(unsigned long long), 1, fp->fp);
+ fwrite(&pts, sizeof(unsigned long long), 1, fp->fp);
+}
+
+void IMB_index_builder_proc_frame(anim_index_builder * fp,
+ unsigned char * buffer,
+ int data_size,
+ int frameno, unsigned long long seek_pos,
+ unsigned long long seek_pos_dts,
+ unsigned long long pts)
+{
+ if (fp->proc_frame) {
+ anim_index_entry e;
+ e.frameno = frameno;
+ e.seek_pos = seek_pos;
+ e.seek_pos_dts = seek_pos_dts;
+ e.pts = pts;
+
+ fp->proc_frame(fp, buffer, data_size, &e);
+ } else {
+ IMB_index_builder_add_entry(fp, frameno, seek_pos,
+ seek_pos_dts, pts);
+ }
+}
+
+void IMB_index_builder_finish(anim_index_builder * fp, int rollback)
+{
+ if (fp->delete_priv_data) {
+ fp->delete_priv_data(fp);
+ }
+
+ fclose(fp->fp);
+
+ if (rollback) {
+ unlink(fp->temp_name);
+ } else {
+ rename(fp->temp_name, fp->name);
+ }
+
+ MEM_freeN(fp);
+}
+
+struct anim_index * IMB_indexer_open(const char * name)
+{
+ char header[13];
+ struct anim_index * idx;
+ FILE * fp = fopen(name, "rb");
+ int i;
+
+ if (!fp) {
+ return 0;
+ }
+
+ if (fread(header, 12, 1, fp) != 1) {
+ fclose(fp);
+ return 0;
+ }
+
+ header[12] = 0;
+
+ if (memcmp(header, magic, 8) != 0) {
+ fclose(fp);
+ return 0;
+ }
+
+ if (atoi(header+9) != INDEX_FILE_VERSION) {
+ fclose(fp);
+ return 0;
+ }
+
+ idx = MEM_callocN( sizeof(struct anim_index), "anim_index");
+
+ BLI_strncpy(idx->name, name, sizeof(idx->name));
+
+ fseek(fp, 0, SEEK_END);
+
+ idx->num_entries = (ftell(fp) - 12)
+ / (sizeof(int) // framepos
+ + sizeof(unsigned long long) // seek_pos
+ + sizeof(unsigned long long) // seek_pos_dts
+ + sizeof(unsigned long long) // pts
+ );
+
+ fseek(fp, 12, SEEK_SET);
+
+ idx->entries = MEM_callocN( sizeof(struct anim_index_entry)
+ * idx->num_entries, "anim_index_entries");
+
+ for (i = 0; i < idx->num_entries; i++) {
+ fread(&idx->entries[i].frameno,
+ sizeof(int), 1, fp);
+ fread(&idx->entries[i].seek_pos,
+ sizeof(unsigned long long), 1, fp);
+ fread(&idx->entries[i].seek_pos_dts,
+ sizeof(unsigned long long), 1, fp);
+ fread(&idx->entries[i].pts,
+ sizeof(unsigned long long), 1, fp);
+ }
+
+ if (((ENDIAN_ORDER == B_ENDIAN) != (header[8] == 'V'))) {
+ for (i = 0; i < idx->num_entries; i++) {
+ SWITCH_INT(idx->entries[i].frameno);
+ SWITCH_INT64(idx->entries[i].seek_pos);
+ SWITCH_INT64(idx->entries[i].seek_pos_dts);
+ SWITCH_INT64(idx->entries[i].pts);
+ }
+ }
+
+ fclose(fp);
+
+ return idx;
+}
+
+unsigned long long IMB_indexer_get_seek_pos(
+ struct anim_index * idx, int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].seek_pos;
+}
+
+unsigned long long IMB_indexer_get_seek_pos_dts(
+ struct anim_index * idx, int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].seek_pos_dts;
+}
+
+int IMB_indexer_get_frame_index(struct anim_index * idx, int frameno)
+{
+ int len = idx->num_entries;
+ int half;
+ int middle;
+ int first = 0;
+
+ /* bsearch (lower bound) the right index */
+
+ while (len > 0) {
+ half = len >> 1;
+ middle = first;
+
+ middle += half;
+
+ if (idx->entries[middle].frameno < frameno) {
+ first = middle;
+ ++first;
+ len = len - half - 1;
+ } else {
+ len = half;
+ }
+ }
+
+ if (first == idx->num_entries) {
+ return idx->num_entries - 1;
+ } else {
+ return first;
+ }
+}
+
+unsigned long long IMB_indexer_get_pts(struct anim_index * idx,
+ int frame_index)
+{
+ if (frame_index < 0) {
+ frame_index = 0;
+ }
+ if (frame_index >= idx->num_entries) {
+ frame_index = idx->num_entries - 1;
+ }
+ return idx->entries[frame_index].pts;
+}
+
+int IMB_indexer_get_duration(struct anim_index * idx)
+{
+ if (idx->num_entries == 0) {
+ return 0;
+ }
+ return idx->entries[idx->num_entries-1].frameno + 1;
+}
+
+int IMB_indexer_can_scan(struct anim_index * idx,
+ int old_frame_index, int new_frame_index)
+{
+ /* makes only sense, if it is the same I-Frame and we are not
+ trying to run backwards in time... */
+ return (IMB_indexer_get_seek_pos(idx, old_frame_index)
+ == IMB_indexer_get_seek_pos(idx, new_frame_index) &&
+ old_frame_index < new_frame_index);
+}
+
+void IMB_indexer_close(struct anim_index * idx)
+{
+ MEM_freeN(idx->entries);
+ MEM_freeN(idx);
+}
+
+int IMB_proxy_size_to_array_index(IMB_Proxy_Size pr_size)
+{
+ switch (pr_size) {
+ case IMB_PROXY_NONE: /* if we got here, something is broken anyways,
+ so sane defaults... */
+ return 0;
+ case IMB_PROXY_25:
+ return 0;
+ case IMB_PROXY_50:
+ return 1;
+ case IMB_PROXY_75:
+ return 2;
+ case IMB_PROXY_100:
+ return 3;
+ default:
+ return 0;
+ };
+ return 0;
+}
+
+int IMB_timecode_to_array_index(IMB_Timecode_Type tc)
+{
+ switch (tc) {
+ case IMB_TC_NONE: /* if we got here, something is broken anyways,
+ so sane defaults... */
+ return 0;
+ case IMB_TC_RECORD_RUN:
+ return 0;
+ case IMB_TC_FREE_RUN:
+ return 1;
+ case IMB_TC_INTERPOLATED_REC_DATE_FREE_RUN:
+ return 2;
+ default:
+ return 0;
+ };
+ return 0;
+}
+
+
+/* ----------------------------------------------------------------------
+ - rebuild helper functions
+ ---------------------------------------------------------------------- */
+
+static void get_index_dir(struct anim * anim, char * index_dir)
+{
+ if (!anim->index_dir[0]) {
+ char fname[FILE_MAXFILE];
+ BLI_strncpy(index_dir, anim->name, FILE_MAXDIR);
+ BLI_splitdirstring(index_dir, fname);
+ BLI_join_dirfile(index_dir, FILE_MAXDIR, index_dir, "BL_proxy");
+ BLI_join_dirfile(index_dir, FILE_MAXDIR, index_dir, fname);
+ } else {
+ BLI_strncpy(index_dir, anim->index_dir, FILE_MAXDIR);
+ }
+}
+
+static void get_proxy_filename(struct anim * anim, IMB_Proxy_Size preview_size,
+ char * fname, int temp)
+{
+ char index_dir[FILE_MAXDIR];
+ int i = IMB_proxy_size_to_array_index(preview_size);
+
+ char proxy_name[256];
+ char proxy_temp_name[256];
+ char stream_suffix[20];
+
+ stream_suffix[0] = 0;
+
+ if (anim->streamindex > 0) {
+ BLI_snprintf(stream_suffix, 20, "_st%d", anim->streamindex);
+ }
+
+ BLI_snprintf(proxy_name, 256, "proxy_%d%s.avi",
+ (int) (proxy_fac[i] * 100), stream_suffix);
+ BLI_snprintf(proxy_temp_name, 256, "proxy_%d%s_part.avi",
+ (int) (proxy_fac[i] * 100), stream_suffix);
+
+ get_index_dir(anim, index_dir);
+
+ BLI_join_dirfile(fname, FILE_MAXFILE + FILE_MAXDIR, index_dir,
+ temp ? proxy_temp_name : proxy_name);
+}
+
+static void get_tc_filename(struct anim * anim, IMB_Timecode_Type tc,
+ char * fname)
+{
+ char index_dir[FILE_MAXDIR];
+ int i = IMB_timecode_to_array_index(tc);
+ const char * index_names[] = {
+ "record_run%s.blen_tc", "free_run%s.blen_tc",
+ "interp_free_run%s.blen_tc" };
+
+ char stream_suffix[20];
+ char index_name[256];
+
+ stream_suffix[0] = 0;
+
+ if (anim->streamindex > 0) {
+ BLI_snprintf(stream_suffix, 20, "_st%d", anim->streamindex);
+ }
+
+ BLI_snprintf(index_name, 256, index_names[i], stream_suffix);
+
+ get_index_dir(anim, index_dir);
+
+ BLI_join_dirfile(fname, FILE_MAXFILE + FILE_MAXDIR,
+ index_dir, index_name);
+}
+
+/* ----------------------------------------------------------------------
+ - ffmpeg rebuilder
+ ---------------------------------------------------------------------- */
+
+#ifdef WITH_FFMPEG
+
+struct proxy_output_ctx {
+ AVFormatContext* of;
+ AVStream* st;
+ AVCodecContext* c;
+ AVCodec* codec;
+ struct SwsContext * sws_ctx;
+ AVFrame* frame;
+ uint8_t* video_buffer;
+ int video_buffersize;
+ int cfra;
+ int proxy_size;
+ int orig_height;
+ struct anim * anim;
+};
+
+// work around stupid swscaler 16 bytes alignment bug...
+
+static int round_up(int x, int mod)
+{
+ return x + ((mod - (x % mod)) % mod);
+}
+
+static struct proxy_output_ctx * alloc_proxy_output_ffmpeg(
+ struct anim * anim,
+ AVStream * st, int proxy_size, int width, int height,
+ int quality)
+{
+ struct proxy_output_ctx * rv = MEM_callocN(
+ sizeof(struct proxy_output_ctx), "alloc_proxy_output");
+
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ // JPEG requires this
+ width = round_up(width, 8);
+ height = round_up(height, 8);
+
+ rv->proxy_size = proxy_size;
+ rv->anim = anim;
+
+ get_proxy_filename(rv->anim, rv->proxy_size, fname, TRUE);
+ BLI_make_existing_file(fname);
+
+ rv->of = avformat_alloc_context();
+ rv->of->oformat = av_guess_format("avi", NULL, NULL);
+
+ BLI_snprintf(rv->of->filename, sizeof(rv->of->filename), "%s", fname);
+
+ fprintf(stderr, "Starting work on proxy: %s\n", rv->of->filename);
+
+ rv->st = av_new_stream(rv->of, 0);
+ rv->c = rv->st->codec;
+ rv->c->codec_type = AVMEDIA_TYPE_VIDEO;
+ rv->c->codec_id = CODEC_ID_MJPEG;
+ rv->c->width = width;
+ rv->c->height = height;
+
+ rv->of->oformat->video_codec = rv->c->codec_id;
+ rv->codec = avcodec_find_encoder(rv->c->codec_id);
+
+ if (!rv->codec) {
+ fprintf(stderr, "No ffmpeg MJPEG encoder available? "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return NULL;
+ }
+
+ if (rv->codec->pix_fmts) {
+ rv->c->pix_fmt = rv->codec->pix_fmts[0];
+ } else {
+ rv->c->pix_fmt = PIX_FMT_YUVJ420P;
+ }
+
+ rv->c->sample_aspect_ratio
+ = rv->st->sample_aspect_ratio
+ = st->codec->sample_aspect_ratio;
+
+ rv->c->time_base.den = 25;
+ rv->c->time_base.num = 1;
+ rv->st->time_base = rv->c->time_base;
+
+ if (rv->of->flags & AVFMT_GLOBALHEADER) {
+ rv->c->flags |= CODEC_FLAG_GLOBAL_HEADER;
+ }
+
+ if (av_set_parameters(rv->of, NULL) < 0) {
+ fprintf(stderr, "Couldn't set output parameters? "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return 0;
+ }
+
+ if (avio_open(&rv->of->pb, fname, AVIO_FLAG_WRITE) < 0) {
+ fprintf(stderr, "Couldn't open outputfile! "
+ "Proxy not built!\n");
+ av_free(rv->of);
+ return 0;
+ }
+
+ avcodec_open(rv->c, rv->codec);
+
+ rv->video_buffersize = 2000000;
+ rv->video_buffer = (uint8_t*)MEM_mallocN(
+ rv->video_buffersize, "FFMPEG video buffer");
+
+ rv->orig_height = st->codec->height;
+
+ if (st->codec->width != width || st->codec->height != height
+ || st->codec->pix_fmt != rv->c->pix_fmt) {
+ rv->frame = avcodec_alloc_frame();
+ avpicture_fill((AVPicture*) rv->frame,
+ MEM_mallocN(avpicture_get_size(
+ rv->c->pix_fmt,
+ round_up(width, 16), height),
+ "alloc proxy output frame"),
+ rv->c->pix_fmt, round_up(width, 16), height);
+
+ rv->sws_ctx = sws_getContext(
+ st->codec->width,
+ st->codec->height,
+ st->codec->pix_fmt,
+ width, height,
+ rv->c->pix_fmt,
+ SWS_FAST_BILINEAR | SWS_PRINT_INFO,
+ NULL, NULL, NULL);
+ }
+
+ av_write_header(rv->of);
+
+ return rv;
+}
+
+static int add_to_proxy_output_ffmpeg(
+ struct proxy_output_ctx * ctx, AVFrame * frame)
+{
+ int outsize = 0;
+
+ if (!ctx) {
+ return 0;
+ }
+
+ if (ctx->sws_ctx && frame &&
+ (frame->data[0] || frame->data[1] ||
+ frame->data[2] || frame->data[3])) {
+ sws_scale(ctx->sws_ctx, (const uint8_t * const*) frame->data,
+ frame->linesize, 0, ctx->orig_height,
+ ctx->frame->data, ctx->frame->linesize);
+ }
+
+ frame = ctx->sws_ctx ? (frame ? ctx->frame : 0) : frame;
+
+ if (frame) {
+ frame->pts = ctx->cfra++;
+ }
+
+ outsize = avcodec_encode_video(
+ ctx->c, ctx->video_buffer, ctx->video_buffersize,
+ frame);
+
+ if (outsize < 0) {
+ fprintf(stderr, "Error encoding proxy frame %d for '%s'\n",
+ ctx->cfra - 1, ctx->of->filename);
+ return 0;
+ }
+
+ if (outsize != 0) {
+ AVPacket packet;
+ av_init_packet(&packet);
+
+ if (ctx->c->coded_frame->pts != AV_NOPTS_VALUE) {
+ packet.pts = av_rescale_q(ctx->c->coded_frame->pts,
+ ctx->c->time_base,
+ ctx->st->time_base);
+ }
+ if (ctx->c->coded_frame->key_frame)
+ packet.flags |= AV_PKT_FLAG_KEY;
+
+ packet.stream_index = ctx->st->index;
+ packet.data = ctx->video_buffer;
+ packet.size = outsize;
+
+ if (av_interleaved_write_frame(ctx->of, &packet) != 0) {
+ fprintf(stderr, "Error writing proxy frame %d "
+ "into '%s'\n", ctx->cfra - 1,
+ ctx->of->filename);
+ return 0;
+ }
+
+ return 1;
+ } else {
+ return 0;
+ }
+}
+
+static void free_proxy_output_ffmpeg(struct proxy_output_ctx * ctx,
+ int rollback)
+{
+ int i;
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ char fname_tmp[FILE_MAXDIR+FILE_MAXFILE];
+
+ if (!ctx) {
+ return;
+ }
+
+ if (!rollback) {
+ while (add_to_proxy_output_ffmpeg(ctx, NULL)) ;
+ }
+
+ avcodec_flush_buffers(ctx->c);
+
+ av_write_trailer(ctx->of);
+
+ avcodec_close(ctx->c);
+
+ for (i = 0; i < ctx->of->nb_streams; i++) {
+ if (&ctx->of->streams[i]) {
+ av_freep(&ctx->of->streams[i]);
+ }
+ }
+
+ if (ctx->of->oformat) {
+ if (!(ctx->of->oformat->flags & AVFMT_NOFILE)) {
+ avio_close(ctx->of->pb);
+ }
+ }
+ av_free(ctx->of);
+
+ MEM_freeN(ctx->video_buffer);
+
+ if (ctx->sws_ctx) {
+ sws_freeContext(ctx->sws_ctx);
+
+ MEM_freeN(ctx->frame->data[0]);
+ av_free(ctx->frame);
+ }
+
+ get_proxy_filename(ctx->anim, ctx->proxy_size,
+ fname_tmp, TRUE);
+
+ if (rollback) {
+ unlink(fname_tmp);
+ } else {
+ get_proxy_filename(ctx->anim, ctx->proxy_size,
+ fname, FALSE);
+ rename(fname_tmp, fname);
+ }
+
+ MEM_freeN(ctx);
+}
+
+
+static int index_rebuild_ffmpeg(struct anim * anim,
+ IMB_Timecode_Type tcs_in_use,
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update,
+ float *progress)
+{
+ int i, videoStream;
+ unsigned long long seek_pos = 0;
+ unsigned long long last_seek_pos = 0;
+ unsigned long long seek_pos_dts = 0;
+ unsigned long long seek_pos_pts = 0;
+ unsigned long long last_seek_pos_dts = 0;
+ unsigned long long start_pts = 0;
+ double frame_rate;
+ double pts_time_base;
+ int frameno = 0;
+ int start_pts_set = FALSE;
+
+ AVFormatContext *iFormatCtx;
+ AVCodecContext *iCodecCtx;
+ AVCodec *iCodec;
+ AVStream *iStream;
+ AVFrame* in_frame = 0;
+ AVPacket next_packet;
+ int streamcount;
+
+ struct proxy_output_ctx * proxy_ctx[IMB_PROXY_MAX_SLOT];
+ anim_index_builder * indexer [IMB_TC_MAX_SLOT];
+
+ int num_proxy_sizes = IMB_PROXY_MAX_SLOT;
+ int num_indexers = IMB_TC_MAX_SLOT;
+ uint64_t stream_size;
+
+ memset(proxy_ctx, 0, sizeof(proxy_ctx));
+ memset(indexer, 0, sizeof(indexer));
+
+ if(av_open_input_file(&iFormatCtx, anim->name, NULL, 0, NULL) != 0) {
+ return 0;
+ }
+
+ if (av_find_stream_info(iFormatCtx) < 0) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ streamcount = anim->streamindex;
+
+ /* Find the video stream */
+ videoStream = -1;
+ for (i = 0; i < iFormatCtx->nb_streams; i++)
+ if(iFormatCtx->streams[i]->codec->codec_type
+ == AVMEDIA_TYPE_VIDEO) {
+ if (streamcount > 0) {
+ streamcount--;
+ continue;
+ }
+ videoStream = i;
+ break;
+ }
+
+ if (videoStream == -1) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ iStream = iFormatCtx->streams[videoStream];
+ iCodecCtx = iStream->codec;
+
+ iCodec = avcodec_find_decoder(iCodecCtx->codec_id);
+
+ if (iCodec == NULL) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ iCodecCtx->workaround_bugs = 1;
+
+ if (avcodec_open(iCodecCtx, iCodec) < 0) {
+ av_close_input_file(iFormatCtx);
+ return 0;
+ }
+
+ in_frame = avcodec_alloc_frame();
+
+ stream_size = avio_size(iFormatCtx->pb);
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ proxy_ctx[i] = alloc_proxy_output_ffmpeg(
+ anim, iStream, proxy_sizes[i],
+ iCodecCtx->width * proxy_fac[i],
+ iCodecCtx->height * proxy_fac[i],
+ quality);
+ if (!proxy_ctx[i]) {
+ proxy_sizes_in_use &= ~proxy_sizes[i];
+ }
+ }
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ get_tc_filename(anim, tc_types[i], fname);
+
+ indexer[i] = IMB_index_builder_create(fname);
+ if (!indexer[i]) {
+ tcs_in_use &= ~tc_types[i];
+ }
+ }
+ }
+
+ frame_rate = av_q2d(iStream->r_frame_rate);
+ pts_time_base = av_q2d(iStream->time_base);
+
+ while(av_read_frame(iFormatCtx, &next_packet) >= 0) {
+ int frame_finished = 0;
+ float next_progress = ((int)floor(((double) next_packet.pos) * 100 /
+ ((double) stream_size)+0.5)) / 100;
+
+ if (*progress != next_progress) {
+ *progress = next_progress;
+ *do_update = 1;
+ }
+
+ if (*stop) {
+ av_free_packet(&next_packet);
+ break;
+ }
+
+ if (next_packet.stream_index == videoStream) {
+ if (next_packet.flags & AV_PKT_FLAG_KEY) {
+ last_seek_pos = seek_pos;
+ last_seek_pos_dts = seek_pos_dts;
+ seek_pos = next_packet.pos;
+ seek_pos_dts = next_packet.dts;
+ seek_pos_pts = next_packet.pts;
+ }
+
+ avcodec_decode_video2(
+ iCodecCtx, in_frame, &frame_finished,
+ &next_packet);
+ }
+
+ if (frame_finished) {
+ unsigned long long s_pos = seek_pos;
+ unsigned long long s_dts = seek_pos_dts;
+ unsigned long long pts
+ = av_get_pts_from_frame(iFormatCtx, in_frame);
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ add_to_proxy_output_ffmpeg(
+ proxy_ctx[i], in_frame);
+ }
+
+ if (!start_pts_set) {
+ start_pts = pts;
+ start_pts_set = TRUE;
+ }
+
+ frameno = (pts - start_pts)
+ * pts_time_base * frame_rate;
+
+ /* decoding starts *always* on I-Frames,
+ so: P-Frames won't work, even if all the
+ information is in place, when we seek
+ to the I-Frame presented *after* the P-Frame,
+ but located before the P-Frame within
+ the stream */
+
+ if (pts < seek_pos_pts) {
+ s_pos = last_seek_pos;
+ s_dts = last_seek_pos_dts;
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ IMB_index_builder_proc_frame(
+ indexer[i],
+ next_packet.data,
+ next_packet.size,
+ frameno, s_pos, s_dts, pts);
+ }
+ }
+ }
+ av_free_packet(&next_packet);
+ }
+
+ for (i = 0; i < num_indexers; i++) {
+ if (tcs_in_use & tc_types[i]) {
+ IMB_index_builder_finish(indexer[i], *stop);
+ }
+ }
+
+ for (i = 0; i < num_proxy_sizes; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ free_proxy_output_ffmpeg(proxy_ctx[i], *stop);
+ }
+ }
+
+ av_free(in_frame);
+
+ return 1;
+}
+
+#endif
+
+/* ----------------------------------------------------------------------
+ - internal AVI (fallback) rebuilder
+ ---------------------------------------------------------------------- */
+
+static AviMovie * alloc_proxy_output_avi(
+ struct anim * anim, char * filename, int width, int height,
+ int quality)
+{
+ int x, y;
+ AviFormat format;
+ double framerate;
+ AviMovie * avi;
+ short frs_sec = 25; /* it doesn't really matter for proxies,
+ but sane defaults help anyways...*/
+ float frs_sec_base = 1.0;
+
+ IMB_anim_get_fps(anim, &frs_sec, &frs_sec_base);
+
+ x = width;
+ y = height;
+
+ framerate= (double) frs_sec / (double) frs_sec_base;
+
+ avi = MEM_mallocN (sizeof(AviMovie), "avimovie");
+
+ format = AVI_FORMAT_MJPEG;
+
+ if (AVI_open_compress (filename, avi, 1, format) != AVI_ERROR_NONE) {
+ MEM_freeN(avi);
+ return 0;
+ }
+
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_WIDTH, &x);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_HEIGHT, &y);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_QUALITY, &quality);
+ AVI_set_compress_option (avi, AVI_OPTION_TYPE_MAIN, 0, AVI_OPTION_FRAMERATE, &framerate);
+
+ avi->interlace= 0;
+ avi->odd_fields= 0;
+
+ return avi;
+}
+
+static void index_rebuild_fallback(struct anim * anim,
+ IMB_Timecode_Type UNUSED(tcs_in_use),
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update,
+ float *progress)
+{
+ int cnt = IMB_anim_get_duration(anim, IMB_TC_NONE);
+ int i, pos;
+ AviMovie * proxy_ctx[IMB_PROXY_MAX_SLOT];
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ char fname_tmp[FILE_MAXDIR+FILE_MAXFILE];
+
+ memset(proxy_ctx, 0, sizeof(proxy_ctx));
+
+ /* since timecode indices only work with ffmpeg right now,
+ don't know a sensible fallback here...
+
+ so no proxies, no game to play...
+ */
+ if (proxy_sizes_in_use == IMB_PROXY_NONE) {
+ return;
+ }
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+
+ get_proxy_filename(anim, proxy_sizes[i], fname, TRUE);
+ BLI_make_existing_file(fname);
+
+ proxy_ctx[i] = alloc_proxy_output_avi(
+ anim, fname,
+ anim->x * proxy_fac[i],
+ anim->y * proxy_fac[i],
+ quality);
+ }
+ }
+
+ for (pos = 0; pos < cnt; pos++) {
+ struct ImBuf * ibuf = IMB_anim_absolute(
+ anim, pos, IMB_TC_NONE, IMB_PROXY_NONE);
+ int next_progress = (int) ((double) pos / (double) cnt);
+
+ if (*progress != next_progress) {
+ *progress = next_progress;
+ *do_update = 1;
+ }
+
+ if (*stop) {
+ break;
+ }
+
+ IMB_flipy(ibuf);
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ int x = anim->x * proxy_fac[i];
+ int y = anim->y * proxy_fac[i];
+
+ struct ImBuf * s_ibuf = IMB_scalefastImBuf(
+ ibuf, x, y);
+
+ IMB_convert_rgba_to_abgr(s_ibuf);
+
+ AVI_write_frame (proxy_ctx[i], pos,
+ AVI_FORMAT_RGB32,
+ s_ibuf->rect, x * y * 4);
+
+ /* note that libavi free's the buffer... */
+ s_ibuf->rect = 0;
+
+ IMB_freeImBuf(s_ibuf);
+ }
+ }
+ }
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (proxy_sizes_in_use & proxy_sizes[i]) {
+ AVI_close_compress (proxy_ctx[i]);
+ MEM_freeN (proxy_ctx[i]);
+
+ get_proxy_filename(anim, proxy_sizes[i],
+ fname_tmp, TRUE);
+ get_proxy_filename(anim, proxy_sizes[i],
+ fname, FALSE);
+
+ if (*stop) {
+ unlink(fname_tmp);
+ } else {
+ rename(fname_tmp, fname);
+ }
+ }
+ }
+}
+
+/* ----------------------------------------------------------------------
+ - public API
+ ---------------------------------------------------------------------- */
+
+void IMB_anim_index_rebuild(struct anim * anim, IMB_Timecode_Type tcs_in_use,
+ IMB_Proxy_Size proxy_sizes_in_use,
+ int quality,
+ short *stop, short *do_update, float *progress)
+{
+ switch (anim->curtype) {
+#ifdef WITH_FFMPEG
+ case ANIM_FFMPEG:
+ index_rebuild_ffmpeg(anim, tcs_in_use, proxy_sizes_in_use,
+ quality, stop, do_update, progress);
+ break;
+#endif
+ default:
+ index_rebuild_fallback(anim, tcs_in_use, proxy_sizes_in_use,
+ quality, stop, do_update, progress);
+ break;
+ }
+}
+
+void IMB_free_indices(struct anim * anim)
+{
+ int i;
+
+ for (i = 0; i < IMB_PROXY_MAX_SLOT; i++) {
+ if (anim->proxy_anim[i]) {
+ IMB_close_anim(anim->proxy_anim[i]);
+ anim->proxy_anim[i] = 0;
+ }
+ }
+
+ for (i = 0; i < IMB_TC_MAX_SLOT; i++) {
+ if (anim->curr_idx[i]) {
+ IMB_indexer_close(anim->curr_idx[i]);
+ anim->curr_idx[i] = 0;
+ }
+ }
+
+
+ anim->proxies_tried = 0;
+ anim->indices_tried = 0;
+}
+
+void IMB_anim_set_index_dir(struct anim * anim, const char * dir)
+{
+ if (strcmp(anim->index_dir, dir) == 0) {
+ return;
+ }
+ BLI_strncpy(anim->index_dir, dir, sizeof(anim->index_dir));
+
+ IMB_free_indices(anim);
+}
+
+struct anim * IMB_anim_open_proxy(
+ struct anim * anim, IMB_Proxy_Size preview_size)
+{
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ int i = IMB_proxy_size_to_array_index(preview_size);
+
+ if (anim->proxy_anim[i]) {
+ return anim->proxy_anim[i];
+ }
+
+ if (anim->proxies_tried & preview_size) {
+ return NULL;
+ }
+
+ get_proxy_filename(anim, preview_size, fname, FALSE);
+
+ anim->proxy_anim[i] = IMB_open_anim(fname, 0, 0);
+
+ anim->proxies_tried |= preview_size;
+
+ return anim->proxy_anim[i];
+}
+
+struct anim_index * IMB_anim_open_index(
+ struct anim * anim, IMB_Timecode_Type tc)
+{
+ char fname[FILE_MAXDIR+FILE_MAXFILE];
+ int i = IMB_timecode_to_array_index(tc);
+
+ if (anim->curr_idx[i]) {
+ return anim->curr_idx[i];
+ }
+
+ if (anim->indices_tried & tc) {
+ return 0;
+ }
+
+ get_tc_filename(anim, tc, fname);
+
+ anim->curr_idx[i] = IMB_indexer_open(fname);
+
+ anim->indices_tried |= tc;
+
+ return anim->curr_idx[i];
+}
+
+int IMB_anim_index_get_frame_index(struct anim * anim, IMB_Timecode_Type tc,
+ int position)
+{
+ struct anim_index * idx = IMB_anim_open_index(anim, tc);
+
+ if (!idx) {
+ return position;
+ }
+
+ return IMB_indexer_get_frame_index(idx, position);
+}
+
diff --git a/source/blender/imbuf/intern/indexer_dv.c b/source/blender/imbuf/intern/indexer_dv.c
new file mode 100644
index 00000000000..d1202136d56
--- /dev/null
+++ b/source/blender/imbuf/intern/indexer_dv.c
@@ -0,0 +1,392 @@
+/*
+ * $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.
+ *
+ * Peter Schlaile <peter [at] schlaile [dot] de> 2011
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+*/
+
+#include "IMB_indexer.h"
+#include "MEM_guardedalloc.h"
+#include "BLI_utildefines.h"
+#include <time.h>
+
+typedef struct indexer_dv_bitstream {
+ unsigned char* buffer;
+ int bit_pos;
+} indexer_dv_bitstream;
+
+static indexer_dv_bitstream bitstream_new(unsigned char* buffer_)
+{
+ indexer_dv_bitstream rv;
+
+ rv.buffer = buffer_;
+ rv.bit_pos = 0;
+
+ return rv;
+}
+
+static unsigned long bitstream_get_bits(indexer_dv_bitstream * This, int num)
+{
+ int byte_pos = This->bit_pos >> 3;
+ unsigned long i =
+ This->buffer[byte_pos] | (This->buffer[byte_pos + 1] << 8) |
+ (This->buffer[byte_pos + 2] << 16) |
+ (This->buffer[byte_pos + 3] << 24);
+ int rval = (i >> (This->bit_pos & 0x7)) & ((1 << num) - 1);
+ This->bit_pos += num;
+ return rval;
+}
+
+static int parse_num(indexer_dv_bitstream * b, int numbits) {
+ return bitstream_get_bits(b, numbits);
+}
+
+static int parse_bcd(indexer_dv_bitstream * b, int n)
+{
+ char s[256];
+ char * p = s + (n+3)/4;
+
+ *p-- = 0;
+
+ while (n > 4) {
+ char a;
+ int v = bitstream_get_bits(b, 4);
+
+ n -= 4;
+ a = '0' + v;
+
+ if (a > '9') {
+ bitstream_get_bits(b, n);
+ return -1;
+ }
+
+ *p-- = a;
+ }
+ if (n) {
+ char a;
+ int v = bitstream_get_bits(b, n);
+ a = '0' + v;
+ if (a > '9') {
+ return -1;
+ }
+ *p-- = a;
+ }
+
+ return atol(s);
+}
+
+typedef struct indexer_dv_context
+{
+ int rec_curr_frame;
+ int rec_curr_second;
+ int rec_curr_minute;
+ int rec_curr_hour;
+
+ int rec_curr_day;
+ int rec_curr_month;
+ int rec_curr_year;
+
+ char got_record_date;
+ char got_record_time;
+
+ time_t ref_time_read;
+ time_t ref_time_read_new;
+ int curr_frame;
+
+ time_t gap_start;
+ int gap_frame;
+
+ int frameno_offset;
+
+ anim_index_entry backbuffer[31];
+ int fsize;
+
+ anim_index_builder * idx;
+} indexer_dv_context;
+
+static void parse_packet(indexer_dv_context * This, unsigned char * p)
+{
+ indexer_dv_bitstream b;
+ int type = p[0];
+
+ b = bitstream_new(p + 1);
+
+ switch (type) {
+ case 0x62: // Record date
+ parse_num(&b, 8);
+ This->rec_curr_day = parse_bcd(&b, 6);
+ parse_num(&b, 2);
+ This->rec_curr_month = parse_bcd(&b, 5);
+ parse_num(&b, 3);
+ This->rec_curr_year = parse_bcd(&b, 8);
+ if (This->rec_curr_year < 25) {
+ This->rec_curr_year += 2000;
+ } else {
+ This->rec_curr_year += 1900;
+ }
+ This->got_record_date = 1;
+ break;
+ case 0x63: // Record time
+ This->rec_curr_frame = parse_bcd(&b, 6);
+ parse_num(&b, 2);
+ This->rec_curr_second = parse_bcd(&b, 7);
+ parse_num(&b, 1);
+ This->rec_curr_minute = parse_bcd(&b, 7);
+ parse_num(&b, 1);
+ This->rec_curr_hour = parse_bcd(&b, 6);
+ This->got_record_time = 1;
+ break;
+ }
+}
+
+static void parse_header_block(indexer_dv_context * This, unsigned char* target)
+{
+ int i;
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+}
+
+static void parse_subcode_blocks(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i,j;
+
+ for (j = 0; j < 2; j++) {
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+ }
+}
+
+static void parse_vaux_blocks(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i,j;
+
+ for (j = 0; j < 3; j++) {
+ for (i = 3; i < 80; i += 5) {
+ if (target[i] != 0xff) {
+ parse_packet(This, target + i);
+ }
+ }
+ target += 80;
+ }
+}
+
+static void parse_audio_headers(
+ indexer_dv_context * This, unsigned char* target)
+{
+ int i;
+
+ for(i = 0; i < 9; i++) {
+ if (target[3] != 0xff) {
+ parse_packet(This, target + 3);
+ }
+ target += 16 * 80;
+ }
+}
+
+static void parse_frame(indexer_dv_context * This,
+ unsigned char * framebuffer, int isPAL)
+{
+ int numDIFseq = isPAL ? 12 : 10;
+ unsigned char* target = framebuffer;
+ int ds;
+
+ for (ds = 0; ds < numDIFseq; ds++) {
+ parse_header_block(This, target);
+ target += 1 * 80;
+ parse_subcode_blocks(This, target);
+ target += 2 * 80;
+ parse_vaux_blocks(This, target);
+ target += 3 * 80;
+ parse_audio_headers(This, target);
+ target += 144 * 80;
+ }
+}
+
+static void inc_frame(int * frame, time_t * t, int isPAL)
+{
+ if ((isPAL && *frame >= 25) || (!isPAL && *frame >= 30)) {
+ fprintf(stderr, "Ouchie: inc_frame: invalid_frameno: %d\n",
+ *frame);
+ }
+ (*frame)++;
+ if (isPAL && *frame >= 25) {
+ (*t)++;
+ *frame = 0;
+ } else if (!isPAL && *frame >= 30) {
+ (*t)++;
+ *frame = 0;
+ }
+}
+
+static void write_index(indexer_dv_context * This, anim_index_entry * entry)
+{
+ IMB_index_builder_add_entry(
+ This->idx, entry->frameno + This->frameno_offset,
+ entry->seek_pos, entry->seek_pos_dts, entry->pts);
+}
+
+static void fill_gap(indexer_dv_context * This, int isPAL)
+{
+ int i;
+
+ for (i = 0; i < This->fsize; i++) {
+ if (This->gap_start == This->ref_time_read &&
+ This->gap_frame == This->curr_frame) {
+ fprintf(stderr,
+ "indexer_dv::fill_gap: "
+ "can't seek backwards !\n");
+ break;
+ }
+ inc_frame(&This->gap_frame, &This->gap_start, isPAL);
+ }
+
+ while (This->gap_start != This->ref_time_read ||
+ This->gap_frame != This->curr_frame) {
+ inc_frame(&This->gap_frame, &This->gap_start, isPAL);
+ This->frameno_offset++;
+ }
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer + i);
+ }
+ This->fsize = 0;
+}
+
+static void proc_frame(indexer_dv_context * This,
+ unsigned char* UNUSED(framebuffer), int isPAL)
+{
+ struct tm recDate;
+ time_t t;
+
+ if (!This->got_record_date || !This->got_record_time) {
+ return;
+ }
+
+ recDate.tm_sec = This->rec_curr_second;
+ recDate.tm_min = This->rec_curr_minute;
+ recDate.tm_hour = This->rec_curr_hour;
+ recDate.tm_mday = This->rec_curr_day;
+ recDate.tm_mon = This->rec_curr_month - 1;
+ recDate.tm_year = This->rec_curr_year - 1900;
+ recDate.tm_wday = -1;
+ recDate.tm_yday = -1;
+ recDate.tm_isdst = -1;
+
+ t = mktime(&recDate);
+ if (t == -1) {
+ return;
+ }
+
+ This->ref_time_read_new = t;
+
+ if (This->ref_time_read < 0) {
+ This->ref_time_read = This->ref_time_read_new;
+ This->curr_frame = 0;
+ } else {
+ if (This->ref_time_read_new - This->ref_time_read == 1) {
+ This->curr_frame = 0;
+ This->ref_time_read = This->ref_time_read_new;
+ if (This->gap_frame >= 0) {
+ fill_gap(This, isPAL);
+ This->gap_frame = -1;
+ }
+ } else if (This->ref_time_read_new == This->ref_time_read) {
+ // do nothing
+ } else {
+ This->gap_start = This->ref_time_read;
+ This->gap_frame = This->curr_frame;
+ This->ref_time_read = This->ref_time_read_new;
+ This->curr_frame = -1;
+ }
+ }
+}
+
+static void indexer_dv_proc_frame(anim_index_builder * idx,
+ unsigned char * buffer,
+ int UNUSED(data_size),
+ struct anim_index_entry * entry)
+{
+ int isPAL;
+
+ indexer_dv_context * This = (indexer_dv_context *) idx->private_data;
+
+ isPAL = (buffer[3] & 0x80);
+
+ This->got_record_date = FALSE;
+ This->got_record_time = FALSE;
+
+ parse_frame(This, buffer, isPAL);
+ proc_frame(This, buffer, isPAL);
+
+ if (This->curr_frame >= 0) {
+ write_index(This, entry);
+ inc_frame(&This->curr_frame, &This->ref_time_read, isPAL);
+ } else {
+ This->backbuffer[This->fsize++] = *entry;
+ if (This->fsize >= 31) {
+ int i;
+
+ fprintf(stderr, "indexer_dv::indexer_dv_proc_frame: "
+ "backbuffer overrun, emergency flush");
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer+i);
+ }
+ This->fsize = 0;
+ }
+ }
+}
+
+static void indexer_dv_delete(anim_index_builder * idx)
+{
+ int i = 0;
+ indexer_dv_context * This = (indexer_dv_context *) idx->private_data;
+
+ for (i = 0; i < This->fsize; i++) {
+ write_index(This, This->backbuffer+i);
+ }
+
+ MEM_freeN(This);
+}
+
+void IMB_indexer_dv_new(anim_index_builder * idx)
+{
+ indexer_dv_context * rv = MEM_callocN(
+ sizeof(indexer_dv_context), "index_dv builder context");
+
+ rv->ref_time_read = -1;
+ rv->curr_frame = -1;
+ rv->gap_frame = -1;
+ rv->idx = idx;
+
+ idx->private_data = rv;
+ idx->proc_frame = indexer_dv_proc_frame;
+ idx->delete_priv_data = indexer_dv_delete;
+}
diff --git a/source/blender/imbuf/intern/openexr/CMakeLists.txt b/source/blender/imbuf/intern/openexr/CMakeLists.txt
index c1140bc59a9..3be5219ae44 100644
--- a/source/blender/imbuf/intern/openexr/CMakeLists.txt
+++ b/source/blender/imbuf/intern/openexr/CMakeLists.txt
@@ -30,9 +30,8 @@ set(INC
../..
../../../blenkernel
../../../blenlib
- intern/include
- ../../../../../intern/guardedalloc
../../../makesdna
+ ../../../../../intern/guardedalloc
)
set(INC_SYS
@@ -44,7 +43,9 @@ set(SRC
)
if(WITH_IMAGE_OPENEXR)
- list(APPEND INC_SYS ${OPENEXR_INC})
+ list(APPEND INC_SYS
+ ${OPENEXR_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_OPENEXR)
endif()
diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
index 9fd6cd1c3fa..88f6508d356 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;
@@ -487,7 +487,7 @@ void IMB_exr_add_channel(void *handle, const char *layname, const char *passname
}
/* only used for writing temp. render results (not image files) */
-void IMB_exr_begin_write(void *handle, const char *filename, int width, int height, int compress)
+int IMB_exr_begin_write(void *handle, const char *filename, int width, int height, int compress)
{
ExrHandle *data= (ExrHandle *)handle;
Header header (width, height);
@@ -504,8 +504,17 @@ void IMB_exr_begin_write(void *handle, const char *filename, int width, int heig
/* header.lineOrder() = DECREASING_Y; this crashes in windows for file read! */
header.insert ("BlenderMultiChannel", StringAttribute ("Blender V2.55.1 and newer"));
-
- data->ofile = new OutputFile(filename, header);
+
+ /* avoid crash/abort when we dont have permission to write here */
+ try {
+ data->ofile = new OutputFile(filename, header);
+ }
+ catch (const std::exception &exc) {
+ std::cerr << "IMB_exr_begin_write: ERROR: " << exc.what() << std::endl;
+ data->ofile = NULL;
+ }
+
+ return (data->ofile != NULL);
}
void IMB_exrtile_begin_write(void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley)
diff --git a/source/blender/imbuf/intern/openexr/openexr_multi.h b/source/blender/imbuf/intern/openexr/openexr_multi.h
index 3d95bb7c306..58c5e0f2a3e 100644
--- a/source/blender/imbuf/intern/openexr/openexr_multi.h
+++ b/source/blender/imbuf/intern/openexr/openexr_multi.h
@@ -50,7 +50,7 @@ void * IMB_exr_get_handle (void);
void IMB_exr_add_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect);
int IMB_exr_begin_read (void *handle, const char *filename, int *width, int *height);
-void IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress);
+int IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress);
void IMB_exrtile_begin_write (void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley);
void IMB_exr_set_channel (void *handle, const char *layname, const char *passname, int xstride, int ystride, float *rect);
@@ -75,7 +75,7 @@ void * IMB_exr_get_handle (void) {return NULL;}
void IMB_exr_add_channel (void *handle, const char *layname, const char *channame, int xstride, int ystride, float *rect) { (void)handle; (void)layname; (void)channame; (void)xstride; (void)ystride; (void)rect; }
int IMB_exr_begin_read (void *handle, const char *filename, int *width, int *height) { (void)handle; (void)filename; (void)width; (void)height; return 0;}
-void IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress) { (void)handle; (void)filename; (void)width; (void)height; (void)compress; }
+int IMB_exr_begin_write (void *handle, const char *filename, int width, int height, int compress) { (void)handle; (void)filename; (void)width; (void)height; (void)compress; return 0;}
void IMB_exrtile_begin_write (void *handle, const char *filename, int mipmap, int width, int height, int tilex, int tiley) { (void)handle; (void)filename; (void)mipmap; (void)width; (void)height; (void)tilex; (void)tiley; }
void IMB_exr_set_channel (void *handle, char *layname, const char *channame, int xstride, int ystride, float *rect) { (void)handle; (void)layname; (void)channame; (void)xstride; (void)ystride; (void)rect; }
diff --git a/source/blender/imbuf/intern/rectop.c b/source/blender/imbuf/intern/rectop.c
index 44af7ffdb3f..db2ae3a5114 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;
@@ -482,7 +482,7 @@ void IMB_rectfill(struct ImBuf *drect, float col[4])
}
-void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, float *col, int x1, int y1, int x2, int y2)
+void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height, const float col[4], int x1, int y1, int x2, int y2)
{
int i, j;
float a; /* alpha */
@@ -509,6 +509,8 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
unsigned char *pixel;
unsigned char chr=0, chg=0, chb=0;
float fr=0, fg=0, fb=0;
+
+ const int alphaint= FTOCHAR(a);
if (a == 1.0f) {
chr = FTOCHAR(col[0]);
@@ -527,10 +529,13 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
pixel[0] = chr;
pixel[1] = chg;
pixel[2] = chb;
+ pixel[3] = 255;
} else {
+ int alphatest;
pixel[0] = (char)((fr + ((float)pixel[0]*aich))*255.0f);
pixel[1] = (char)((fg + ((float)pixel[1]*aich))*255.0f);
pixel[2] = (char)((fb + ((float)pixel[2]*aich))*255.0f);
+ pixel[3] = (char)((alphatest= ((int)pixel[3] + alphaint)) < 255 ? alphatest : 255);
}
}
}
@@ -546,10 +551,13 @@ void buf_rectfill_area(unsigned char *rect, float *rectf, int width, int height,
pixel[0] = col[0];
pixel[1] = col[1];
pixel[2] = col[2];
+ pixel[3] = 1.0f;
} else {
+ float alphatest;
pixel[0] = (col[0]*a) + (pixel[0]*ai);
pixel[1] = (col[1]*a) + (pixel[1]*ai);
pixel[2] = (col[2]*a) + (pixel[2]*ai);
+ pixel[3] = (alphatest= (pixel[3] + a)) < 1.0f ? alphatest : 1.0f;
}
}
}
@@ -561,3 +569,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/thumbs.c b/source/blender/imbuf/intern/thumbs.c
index 1d91f34f4fa..2ab7e55d1f8 100644
--- a/source/blender/imbuf/intern/thumbs.c
+++ b/source/blender/imbuf/intern/thumbs.c
@@ -317,9 +317,9 @@ ImBuf* IMB_thumb_create(const char* path, ThumbSize size, ThumbSource source, Im
}
} else if (THB_SOURCE_MOVIE == source) {
struct anim * anim = NULL;
- anim = IMB_open_anim(path, IB_rect | IB_metadata);
+ anim = IMB_open_anim(path, IB_rect | IB_metadata, 0);
if (anim != NULL) {
- img = IMB_anim_absolute(anim, 0);
+ img = IMB_anim_absolute(anim, 0, IMB_TC_NONE, IMB_PROXY_NONE);
if (img == NULL) {
printf("not an anim; %s\n", path);
} else {
diff --git a/source/blender/imbuf/intern/tiff.c b/source/blender/imbuf/intern/tiff.c
index 36130aa0dbf..7beb853fe62 100644
--- a/source/blender/imbuf/intern/tiff.c
+++ b/source/blender/imbuf/intern/tiff.c
@@ -646,7 +646,7 @@ void imb_loadtiletiff(ImBuf *ibuf, unsigned char *mem, size_t size, int tx, int
}
}
else
- printf("imb_loadtiff: mipmap level %d has unexpected size %dx%d instead of %dx%d\n", ibuf->miplevel, width, height, ibuf->x, ibuf->y);
+ printf("imb_loadtiff: mipmap level %d has unexpected size %ux%u instead of %dx%d\n", ibuf->miplevel, width, height, ibuf->x, ibuf->y);
}
else
printf("imb_loadtiff: could not find mipmap level %d\n", ibuf->miplevel);
diff --git a/source/blender/imbuf/intern/util.c b/source/blender/imbuf/intern/util.c
index 6e5e87d7e5c..85d31f18a03 100644
--- a/source/blender/imbuf/intern/util.c
+++ b/source/blender/imbuf/intern/util.c
@@ -113,6 +113,7 @@ const char *imb_ext_movie[] = {
".m4v",
".m2v",
".m2t",
+ ".m2ts",
".mts",
".mv",
".avs",
@@ -142,6 +143,9 @@ const char *imb_ext_audio[] = {
".flac",
".wma",
".eac3",
+ ".aif",
+ ".aiff",
+ ".m4a",
NULL};
static int IMB_ispic_name(const char *name)
@@ -217,7 +221,7 @@ void silence_log_ffmpeg(int quiet)
}
else
{
- av_log_set_level(AV_LOG_INFO);
+ av_log_set_level(AV_LOG_DEBUG);
}
}
@@ -230,9 +234,10 @@ void do_init_ffmpeg(void)
av_register_all();
avdevice_register_all();
- if ((G.f & G_DEBUG) == 0)
- {
+ if ((G.f & G_DEBUG) == 0) {
silence_log_ffmpeg(1);
+ } else {
+ silence_log_ffmpeg(0);
}
}
}
diff --git a/source/blender/imbuf/intern/writeimage.c b/source/blender/imbuf/intern/writeimage.c
index cd660e11f26..b933e6d93ee 100644
--- a/source/blender/imbuf/intern/writeimage.c
+++ b/source/blender/imbuf/intern/writeimage.c
@@ -55,7 +55,6 @@ short IMB_saveiff(struct ImBuf *ibuf, const char *name, int flags)
if(ibuf->rect==NULL && ibuf->rect_float)
IMB_rect_from_float(ibuf);
}
- /* TODO. have const char for image write funcs */
return type->save(ibuf, name, flags);
}
}
diff --git a/source/blender/makesdna/DNA_ID.h b/source/blender/makesdna/DNA_ID.h
index 4cf9f47041b..8fd9f49cd0a 100644
--- a/source/blender/makesdna/DNA_ID.h
+++ b/source/blender/makesdna/DNA_ID.h
@@ -178,6 +178,7 @@ typedef struct PreviewImage {
#define ID_SCRN MAKE_ID2('S', 'N') /* (depreciated?) */
#define ID_VF MAKE_ID2('V', 'F') /* VectorFont */
#define ID_TXT MAKE_ID2('T', 'X') /* Text */
+#define ID_SPK MAKE_ID2('S', 'K') /* Speaker */
#define ID_SO MAKE_ID2('S', 'O') /* Sound */
#define ID_GR MAKE_ID2('G', 'R') /* Group */
#define ID_ID MAKE_ID2('I', 'D') /* (internal use only) */
diff --git a/source/blender/makesdna/DNA_action_types.h b/source/blender/makesdna/DNA_action_types.h
index 0716d1ddbf2..a820e59779f 100644
--- a/source/blender/makesdna/DNA_action_types.h
+++ b/source/blender/makesdna/DNA_action_types.h
@@ -1,6 +1,4 @@
-/*
- * $Id$
- *
+/*
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -519,6 +517,9 @@ typedef struct bDopeSheet {
int filterflag; /* flags to use for filtering data */
int flag; /* standard flags */
+
+ int renameIndex; /* index+1 of channel to rename - only gets set by renaming operator */
+ int pad;
} bDopeSheet;
@@ -552,6 +553,7 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_NOARM = (1<<18),
ADS_FILTER_NONTREE = (1<<19),
ADS_FILTER_NOTEX = (1<<20),
+ ADS_FILTER_NOSPK = (1<<21),
/* NLA-specific filters */
ADS_FILTER_NLA_NOACT = (1<<25), /* if the AnimData block has no NLA data, don't include to just show Action-line */
@@ -561,12 +563,13 @@ typedef enum eDopeSheet_FilterFlag {
ADS_FILTER_BY_FCU_NAME = (1<<27), /* for F-Curves, filter by the displayed name (i.e. to isolate all Location curves only) */
/* combination filters (some only used at runtime) */
- ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM)
+ ADS_FILTER_NOOBDATA = (ADS_FILTER_NOCAM|ADS_FILTER_NOMAT|ADS_FILTER_NOLAM|ADS_FILTER_NOCUR|ADS_FILTER_NOPART|ADS_FILTER_NOARM|ADS_FILTER_NOSPK)
} eDopeSheet_FilterFlag;
/* DopeSheet general flags */
typedef enum eDopeSheet_Flag {
- ADS_FLAG_SUMMARY_COLLAPSED = (1<<0) /* when summary is shown, it is collapsed, so all other channels get hidden */
+ ADS_FLAG_SUMMARY_COLLAPSED = (1<<0), /* when summary is shown, it is collapsed, so all other channels get hidden */
+ ADS_FLAG_SHOW_DBFILTERS = (1<<1) /* show filters for datablocks */
} eDopeSheet_Flag;
diff --git a/source/blender/makesdna/DNA_actuator_types.h b/source/blender/makesdna/DNA_actuator_types.h
index 7aa8e59effb..239903208ec 100644
--- a/source/blender/makesdna/DNA_actuator_types.h
+++ b/source/blender/makesdna/DNA_actuator_types.h
@@ -56,9 +56,12 @@ typedef struct bActionActuator {
char frameProp[32]; /* Set this property to the actions current frame */
short blendin; /* Number of frames of blending */
short priority; /* Execution priority */
+ short layer; /* Animation layer */
short end_reset; /* Ending the actuator (negative pulse) wont reset the the action to its starting frame */
short strideaxis; /* Displacement axis */
+ short pad;
float stridelength; /* Displacement incurred by cycle */ // not in use
+ float layer_weight; /* How much of the previous layer to use for blending. (<0 = disable, 0 = add mode) */
} bActionActuator;
typedef struct Sound3D
@@ -120,6 +123,7 @@ typedef struct bObjectActuator {
struct Object *reference;
} bObjectActuator;
+/* deprecated, handled by bActionActuator now */
typedef struct bIpoActuator {
short flag, type;
float sta, end;
@@ -133,7 +137,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_anim_types.h b/source/blender/makesdna/DNA_anim_types.h
index 4b649031f97..e1dfd652900 100644
--- a/source/blender/makesdna/DNA_anim_types.h
+++ b/source/blender/makesdna/DNA_anim_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -62,6 +60,11 @@ typedef struct FModifier {
short flag; /* settings for the modifier */
float influence; /* the amount that the modifier should influence the value */
+
+ float sfra; /* start frame of restricted frame-range */
+ float efra; /* end frame of restricted frame-range */
+ float blendin; /* number of frames from sfra before modifier takes full influence */
+ float blendout; /* number of frames from efra before modifier fades out */
} FModifier;
/* Types of F-Curve modifier
@@ -86,13 +89,17 @@ typedef enum eFModifier_Types {
/* F-Curve Modifier Settings */
typedef enum eFModifier_Flags {
/* modifier is not able to be evaluated for some reason, and should be skipped (internal) */
- FMODIFIER_FLAG_DISABLED = (1<<0),
+ FMODIFIER_FLAG_DISABLED = (1<<0),
/* modifier's data is expanded (in UI) */
- FMODIFIER_FLAG_EXPANDED = (1<<1),
+ FMODIFIER_FLAG_EXPANDED = (1<<1),
/* modifier is active one (in UI) for editing purposes */
- FMODIFIER_FLAG_ACTIVE = (1<<2),
+ FMODIFIER_FLAG_ACTIVE = (1<<2),
/* user wants modifier to be skipped */
- FMODIFIER_FLAG_MUTED = (1<<3)
+ FMODIFIER_FLAG_MUTED = (1<<3),
+ /* restrict range that F-Modifier can be considered over */
+ FMODIFIER_FLAG_RANGERESTRICT = (1<<4),
+ /* use influence control */
+ FMODIFIER_FLAG_USEINFLUENCE = (1<<5)
} eFModifier_Flags;
/* --- */
@@ -280,8 +287,12 @@ typedef enum eDriverTarget_Flag {
DTAR_FLAG_STRUCT_REF = (1<<0),
/* idtype can only be 'Object' */
DTAR_FLAG_ID_OB_ONLY = (1<<1),
- /* toggles localspace (where transforms are manually obtained) */
+
+ /* "localspace" flags */
+ /* base flag - basically "pre parent+constraints" */
DTAR_FLAG_LOCALSPACE = (1<<2),
+ /* include constraints transformed to space including parents */
+ DTAR_FLAG_LOCAL_CONSTS = (1<<3),
} eDriverTarget_Flag;
/* Transform Channels for Driver Targets */
@@ -460,7 +471,9 @@ typedef enum eFCurve_Flags {
FCURVE_PROTECTED = (1<<3),
/* fcurve will not be evaluated for the next round */
FCURVE_MUTED = (1<<4),
+
/* fcurve uses 'auto-handles', which stay horizontal... */
+ // DEPRECATED
FCURVE_AUTO_HANDLES = (1<<5),
/* skip evaluation, as RNA-path cannot be resolved (similar to muting, but cannot be set by user) */
@@ -570,6 +583,8 @@ typedef struct NlaStrip {
short type; /* type of NLA strip */
+ void *speaker_handle; /* handle for speaker objects */
+
int flag; /* settings */
int pad2;
} NlaStrip;
@@ -636,7 +651,10 @@ typedef enum eNlaStrip_Type {
/* 'transition' - blends between the adjacent strips */
NLASTRIP_TYPE_TRANSITION,
/* 'meta' - a strip which acts as a container for a few others */
- NLASTRIP_TYPE_META
+ NLASTRIP_TYPE_META,
+
+ /* 'emit sound' - a strip which is used for timing when speaker emits sounds */
+ NLASTRIP_TYPE_SOUND
} eNlaStrip_Type;
/* NLA Tracks ------------------------------------- */
diff --git a/source/blender/makesdna/DNA_armature_types.h b/source/blender/makesdna/DNA_armature_types.h
index 3547101612f..442fc3ddcce 100644
--- a/source/blender/makesdna/DNA_armature_types.h
+++ b/source/blender/makesdna/DNA_armature_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -96,7 +94,9 @@ typedef struct bArmature {
void *sketch; /* sketch struct for etch-a-ton */
int flag;
- int drawtype;
+ int drawtype;
+ int gevertdeformer; /* how vertex deformation is handled in the ge */
+ int pad;
short deformflag;
short pathflag;
@@ -136,9 +136,16 @@ typedef enum eArmature_Drawtype {
ARM_OCTA = 0,
ARM_LINE,
ARM_B_BONE,
- ARM_ENVELOPE
+ ARM_ENVELOPE,
+ ARM_WIRE
} eArmature_Drawtype;
+/* armature->gevertdeformer */
+typedef enum eArmature_VertDeformer {
+ ARM_VDEF_BLENDER,
+ ARM_VDEF_BGE_CPU
+} eArmature_VertDeformer;
+
/* armature->deformflag */
typedef enum eArmature_DeformFlag {
ARM_DEF_VGROUP = (1<<0),
diff --git a/source/blender/makesdna/DNA_constraint_types.h b/source/blender/makesdna/DNA_constraint_types.h
index 1d752fce4ef..1be2c811a1b 100644
--- a/source/blender/makesdna/DNA_constraint_types.h
+++ b/source/blender/makesdna/DNA_constraint_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -677,7 +675,10 @@ typedef enum eRotLimit_Flags {
/* distance limit constraint */
/* bDistLimitConstraint->flag */
typedef enum eDistLimit_Flag {
- LIMITDIST_USESOFT = (1<<0)
+ /* "soft" cushion effect when reaching the limit sphere */ // NOT IMPLEMENTED!
+ LIMITDIST_USESOFT = (1<<0),
+ /* as for all Limit constraints - allow to be used during transform? */
+ LIMITDIST_TRANSFORM = (1<<1)
} eDistLimit_Flag;
/* bDistLimitConstraint->mode */
diff --git a/source/blender/makesdna/DNA_curve_types.h b/source/blender/makesdna/DNA_curve_types.h
index b51612037fc..a38b33e6640 100644
--- a/source/blender/makesdna/DNA_curve_types.h
+++ b/source/blender/makesdna/DNA_curve_types.h
@@ -314,7 +314,7 @@ typedef enum eBezTriple_Handle {
HD_AUTO,
HD_VECT,
HD_ALIGN,
- HD_AUTO_ANIM /* not real handle type, but is just used as dummy item for anim code */
+ HD_AUTO_ANIM /* auto-clamped handles for animation */
} eBezTriple_Handle;
/* interpolation modes (used only for BezTriple->ipo) */
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 6eb5f64ffc3..b259d592864 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
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_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h
index 5dba9154a3a..43a4b99bc33 100644
--- a/source/blender/makesdna/DNA_ipo_types.h
+++ b/source/blender/makesdna/DNA_ipo_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
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 ac5e411e18b..d41d23f1ee6 100644
--- a/source/blender/makesdna/DNA_modifier_types.h
+++ b/source/blender/makesdna/DNA_modifier_types.h
@@ -625,6 +625,7 @@ typedef struct MultiresModifierData {
typedef enum {
eMultiresModifierFlag_ControlEdges = (1<<0),
+ eMultiresModifierFlag_PlainUv = (1<<1),
} MultiresModifierFlag;
typedef struct FluidsimModifierData {
@@ -712,16 +713,16 @@ typedef struct ShapeKeyModifierData {
typedef struct SolidifyModifierData {
ModifierData modifier;
- char defgrp_name[32]; /* name of vertex group to use */
+ char defgrp_name[32]; /* name of vertex group to use */
float offset; /* new surface offset level*/
float offset_fac; /* midpoint of the offset */
+ float offset_fac_vg; /* factor for the minimum weight to use when vgroups are used, avoids 0.0 weights giving duplicate geometry */
float crease_inner;
float crease_outer;
float crease_rim;
int flag;
short mat_ofs;
short mat_ofs_rim;
- int pad;
} SolidifyModifierData;
#define MOD_SOLIDIFY_RIM (1<<0)
diff --git a/source/blender/makesdna/DNA_nla_types.h b/source/blender/makesdna/DNA_nla_types.h
index c64dda2afd0..b92cf5c67e4 100644
--- a/source/blender/makesdna/DNA_nla_types.h
+++ b/source/blender/makesdna/DNA_nla_types.h
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h
index 03387c3a63a..3a51a6a56a4 100644
--- a/source/blender/makesdna/DNA_node_types.h
+++ b/source/blender/makesdna/DNA_node_types.h
@@ -38,26 +38,29 @@
#include "DNA_vec_types.h"
#include "DNA_listBase.h"
+struct ID;
struct ListBase;
struct SpaceNode;
struct bNodeLink;
struct bNodeType;
-struct bNodeGroup;
+struct bNodeTreeExec;
struct AnimData;
struct bGPdata;
struct uiBlock;
#define NODE_MAXSTR 32
-
typedef struct bNodeStack {
float vec[4];
- float min, max; /* min/max for values (UI writes it, execute might use it) */
+ float min, max;
void *data;
short hasinput; /* when input has link, tagged before executing */
short hasoutput; /* when output is linked, tagged before executing */
short datatype; /* type of data pointer */
short sockettype; /* type of socket stack comes from, to remap linking different sockets */
+ short is_copy; /* data is a copy of external data (no freeing) */
+ short external; /* data is used by external nodes (no freeing) */
+ short pad[2];
} bNodeStack;
/* ns->datatype, shadetree only */
@@ -68,50 +71,58 @@ typedef struct bNodeSocket {
struct bNodeSocket *next, *prev, *new_sock;
char name[32];
- bNodeStack ns; /* custom data for inputs, only UI writes in this */
+
+ void *storage; /* custom storage */
short type, flag;
short limit; /* max. number of links */
-
- /* stack data info (only during execution!) */
- short stack_type; /* type of stack reference */
- /* XXX only one of stack_ptr or stack_index is used (depending on stack_type).
- * could store the index in the pointer with SET_INT_IN_POINTER (a bit ugly).
- * (union won't work here, not supported by DNA)
- */
- struct bNodeStack *stack_ptr; /* constant input value */
- short stack_index; /* local stack index or external input number */
short pad1;
float locx, locy;
- /* internal data to retrieve relations and groups */
+ void *default_value; /* default input value used for unlinked sockets */
+
+ /* execution data */
+ short stack_index; /* local stack index */
+ short pad2;
+ int pad3;
+ void *cache; /* cached data from execution */
+ /* internal data to retrieve relations and groups */
int own_index; /* group socket identifiers, to find matching pairs after reading files */
- struct bNodeSocket *groupsock;
int to_index; /* XXX deprecated, only used for restoring old group node links */
- int pad2;
+ struct bNodeSocket *groupsock;
- struct bNodeLink *link; /* a link pointer, set in nodeSolveOrder() */
+ struct bNodeLink *link; /* a link pointer, set in ntreeUpdateTree */
+
+ /* DEPRECATED only needed for do_versions */
+ bNodeStack ns; /* custom data for inputs, only UI writes in this */
} bNodeSocket;
/* sock->type */
-#define SOCK_VALUE 0
-#define SOCK_VECTOR 1
-#define SOCK_RGBA 2
+#define SOCK_FLOAT 0
+#define SOCK_VECTOR 1
+#define SOCK_RGBA 2
+#define SOCK_INT 3
+#define SOCK_BOOLEAN 4
+#define SOCK_MESH 5
+#define NUM_SOCKET_TYPES 6 /* must be last! */
+
+/* socket side (input/output) */
+#define SOCK_IN 1
+#define SOCK_OUT 2
/* sock->flag, first bit is select */
- /* hidden is user defined, to hide unused */
+ /* hidden is user defined, to hide unused */
#define SOCK_HIDDEN 2
- /* only used now for groups... */
-#define SOCK_IN_USE 4
- /* unavailable is for dynamic sockets */
+ /* only used now for groups... */
+#define SOCK_IN_USE 4 /* XXX deprecated */
+ /* unavailable is for dynamic sockets */
#define SOCK_UNAVAIL 8
-
-/* sock->stack_type */
-#define SOCK_STACK_LOCAL 1 /* part of the local tree stack */
-#define SOCK_STACK_EXTERN 2 /* use input stack pointer */
-#define SOCK_STACK_CONST 3 /* use pointer to constant input value */
+ /* dynamic socket (can be modified by user) */
+#define SOCK_DYNAMIC 16
+ /* group socket should not be exposed */
+#define SOCK_INTERNAL 32
typedef struct bNodePreview {
unsigned char *rect;
@@ -119,7 +130,6 @@ typedef struct bNodePreview {
int pad;
} bNodePreview;
-
/* limit data in bNode to what we want to see saved? */
typedef struct bNode {
struct bNode *next, *prev, *new_node;
@@ -132,11 +142,14 @@ typedef struct bNode {
short nr; /* number of this node in list, used for UI exec events */
ListBase inputs, outputs;
+ struct bNode *parent; /* parent node */
struct ID *id; /* optional link to libdata */
void *storage; /* custom data, must be struct, for storage in file */
float locx, locy; /* root offset for drawing */
- float width, miniwidth;
+ float width, height; /* node custom width and height */
+ float miniwidth; /* node width if hidden */
+ int pad;
char label[32]; /* custom user-defined label */
short custom1, custom2; /* to be abused for buttons */
float custom3, custom4;
@@ -151,7 +164,6 @@ typedef struct bNode {
struct uiBlock *block; /* runtime during drawing */
struct bNodeType *typeinfo; /* lookup of callbacks and defaults */
-
} bNode;
/* node->flag */
@@ -163,11 +175,17 @@ typedef struct bNode {
#define NODE_ACTIVE_ID 32
#define NODE_DO_OUTPUT 64
#define NODE_GROUP_EDIT 128
- /* free test flag, undefined */
+ /* free test flag, undefined */
#define NODE_TEST 256
- /* composite: don't do node but pass on buffer(s) */
+ /* composite: don't do node but pass on buffer(s) */
#define NODE_MUTED 512
-#define NODE_CUSTOM_NAME 1024 /* deprecated! */
+#define NODE_CUSTOM_NAME 1024 /* deprecated! */
+ /* group node types: use const outputs by default */
+#define NODE_CONST_OUTPUT (1<<11)
+ /* node is always behind others */
+#define NODE_BACKGROUND (1<<12)
+ /* automatic flag for nodes included in transforms */
+#define NODE_TRANSFORM (1<<13)
typedef struct bNodeLink {
struct bNodeLink *next, *prev;
@@ -175,10 +193,14 @@ typedef struct bNodeLink {
bNode *fromnode, *tonode;
bNodeSocket *fromsock, *tosock;
- int flag, pad;
-
+ int flag;
+ int pad;
} bNodeLink;
+/* link->flag */
+#define NODE_LINK_VALID 1 /* link has been successfully validated */
+#define NODE_LINKFLAG_HILITE 2
+
/* 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 {
@@ -189,19 +211,24 @@ typedef struct bNodeTree {
ListBase nodes, links;
- bNodeStack *stack; /* stack is only while executing, no read/write in file */
- struct ListBase *threadstack; /* same as above */
-
int type, init; /* set init on fileread */
- int stacksize; /* amount of elements in stack */
int cur_index; /* sockets in groups have unique identifiers, adding new sockets always
will increase this counter */
- int flag, pad;
+ int flag;
+ int update; /* update flags */
+
+ int nodetype; /* specific node type this tree is used for */
- ListBase alltypes; /* type definitions */
ListBase inputs, outputs; /* external sockets for group nodes */
-
- int pad2[2];
+
+ /* execution data */
+ /* XXX It would be preferable to completely move this data out of the underlying node tree,
+ * so node tree execution could finally run independent of the tree itself. This would allow node trees
+ * to be merely linked by other data (materials, textures, etc.), as ID data is supposed to.
+ * Execution data is generated from the tree once at execution start and can then be used
+ * as long as necessary, even while the tree is being modified.
+ */
+ struct bNodeTreeExec *execdata;
/* callbacks */
void (*progress)(void *, float progress);
@@ -212,20 +239,59 @@ typedef struct bNodeTree {
} bNodeTree;
/* ntree->type, index */
-#define NTREE_SHADER 0
-#define NTREE_COMPOSIT 1
-#define NTREE_TEXTURE 2
+#define NTREE_SHADER 0
+#define NTREE_COMPOSIT 1
+#define NTREE_TEXTURE 2
+#define NUM_NTREE_TYPES 3
/* ntree->init, flag */
-#define NTREE_TYPE_INIT 1
-#define NTREE_EXEC_INIT 2
+#define NTREE_TYPE_INIT 1
/* ntree->flag */
#define NTREE_DS_EXPAND 1 /* for animation editors */
-/* XXX not nice, but needed as a temporary flag
+/* XXX not nice, but needed as a temporary flags
* for group updates after library linking.
*/
-#define NTREE_DO_VERSIONS 1024
+#define NTREE_DO_VERSIONS_GROUP_EXPOSE 1024
+
+/* ntree->update */
+#define NTREE_UPDATE 0xFFFF /* generic update flag (includes all others) */
+#define NTREE_UPDATE_LINKS 1 /* links have been added or removed */
+#define NTREE_UPDATE_NODES 2 /* nodes or sockets have been added or removed */
+#define NTREE_UPDATE_GROUP_IN 16 /* group inputs have changed */
+#define NTREE_UPDATE_GROUP_OUT 32 /* group outputs have changed */
+#define NTREE_UPDATE_GROUP 48 /* group has changed (generic flag including all other group flags) */
+
+
+/* socket value structs for input buttons */
+
+typedef struct bNodeSocketValueInt {
+ int subtype; /* RNA subtype */
+ int value;
+ int min, max;
+} bNodeSocketValueInt;
+
+typedef struct bNodeSocketValueFloat {
+ int subtype; /* RNA subtype */
+ float value;
+ float min, max;
+} bNodeSocketValueFloat;
+
+typedef struct bNodeSocketValueBoolean {
+ char value;
+ char pad[3];
+} bNodeSocketValueBoolean;
+
+typedef struct bNodeSocketValueVector {
+ int subtype; /* RNA subtype */
+ float value[3];
+ float min, max;
+} bNodeSocketValueVector;
+
+typedef struct bNodeSocketValueRGBA {
+ float value[4];
+} bNodeSocketValueRGBA;
+
/* data structs, for node->storage */
@@ -350,7 +416,6 @@ typedef struct TexNodeOutput {
char name[32];
} TexNodeOutput;
-
/* comp channel matte */
#define CMP_NODE_CHANNEL_MATTE_CS_RGB 1
#define CMP_NODE_CHANNEL_MATTE_CS_HSV 2
diff --git a/source/blender/makesdna/DNA_object_fluidsim.h b/source/blender/makesdna/DNA_object_fluidsim.h
index 6f4c16cb7f3..578bf8dd415 100644
--- a/source/blender/makesdna/DNA_object_fluidsim.h
+++ b/source/blender/makesdna/DNA_object_fluidsim.h
@@ -69,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) */
@@ -161,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 f75dab9440c..8750ee9e906 100644
--- a/source/blender/makesdna/DNA_object_types.h
+++ b/source/blender/makesdna/DNA_object_types.h
@@ -252,12 +252,11 @@ 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 */
@@ -293,10 +292,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 */
@@ -313,6 +308,8 @@ extern Object workob;
#define OB_LAMP 10
#define OB_CAMERA 11
+#define OB_SPEAKER 12
+
// #define OB_WAVE 21
#define OB_LATTICE 22
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 ccc306e777b..be44b87d48e 100644
--- a/source/blender/makesdna/DNA_scene_types.h
+++ b/source/blender/makesdna/DNA_scene_types.h
@@ -126,6 +126,8 @@ typedef struct FFMpegCodecData {
int video_bitrate;
int audio_bitrate;
int audio_mixrate;
+ int audio_channels;
+ int audio_pad;
float audio_volume;
int gop_size;
int flags;
@@ -147,6 +149,8 @@ typedef struct AudioData {
int distance_model;
short flag;
short pad;
+ float volume;
+ float pad2;
} AudioData;
typedef struct SceneRenderLayer {
@@ -201,6 +205,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 +258,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 +320,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 +343,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;
@@ -457,7 +451,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
@@ -477,7 +472,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;
RecastData recastData;
} GameData;
@@ -509,6 +505,7 @@ typedef struct GameData {
#define OBSTSIMULATION_TOI_cells 2
/* GameData.flag */
+#define GAME_RESTRICT_ANIM_UPDATES (1 << 0)
#define GAME_ENABLE_ALL_FRAMES (1 << 1)
#define GAME_SHOW_DEBUG_PROPS (1 << 2)
#define GAME_SHOW_FRAMERATE (1 << 3)
@@ -525,6 +522,7 @@ typedef struct GameData {
#define GAME_SHOW_MOUSE (1 << 14)
#define GAME_SHOW_OBSTACLE_SIMULATION (1 << 15)
#define GAME_GLSL_NO_COLOR_MANAGEMENT (1 << 15)
+/* Note: GameData.flag is a short (max 16 flags). To add more flags, GameData.flag needs to be an int */
/* GameData.matmode */
#define GAME_MAT_TEXFACE 0
@@ -837,6 +835,7 @@ typedef struct Scene {
void *sound_scene;
void *sound_scene_handle;
void *sound_scrub_handle;
+ void *speaker_handles;
void *fps_info; /* (runtime) info/cache used for presenting playback framerate info to the user */
@@ -1109,6 +1108,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
@@ -1141,7 +1141,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
@@ -1162,9 +1163,10 @@ typedef struct Scene {
#define F_DUPLI 3
/* audio->flag */
-#define AUDIO_MUTE 1
-#define AUDIO_SYNC 2
-#define AUDIO_SCRUB 4
+#define AUDIO_MUTE (1<<0)
+#define AUDIO_SYNC (1<<1)
+#define AUDIO_SCRUB (1<<2)
+#define AUDIO_VOLUME_ANIMATED (1<<3)
#define FFMPEG_MULTIPLEX_AUDIO 1 /* deprecated, you can choose none as audiocodec now */
#define FFMPEG_AUTOSPLIT_OUTPUT 2
diff --git a/source/blender/makesdna/DNA_sdna_types.h b/source/blender/makesdna/DNA_sdna_types.h
index e5f924b5fa6..829d1eee03b 100644
--- a/source/blender/makesdna/DNA_sdna_types.h
+++ b/source/blender/makesdna/DNA_sdna_types.h
@@ -54,7 +54,10 @@ typedef struct SDNA {
(sp[2], sp[3]), (sp[4], sp[5]), .. are the member
type and name numbers respectively */
-
+
+ struct GHash *structs_map; /* ghash for faster lookups,
+ requires WITH_DNA_GHASH to be used for now */
+
/* wrong place for this really, its a simple
* cache for findstruct_nr.
*/
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h
index 3e7654bcf47..588e8458de1 100644
--- a/source/blender/makesdna/DNA_sequence_types.h
+++ b/source/blender/makesdna/DNA_sequence_types.h
@@ -71,12 +71,19 @@ typedef struct StripColorBalance {
} StripColorBalance;
typedef struct StripProxy {
- char dir[160];
- char file[80];
- struct anim *anim;
- short size;
- short quality;
- int pad;
+ char dir[160]; // custom directory for index and proxy files
+ // (defaults to BL_proxy)
+
+ char file[80]; // custom file
+ struct anim *anim; // custom proxy anim file
+
+ short tc; // time code in use
+
+ short quality; // proxy build quality
+ short build_size_flags;// size flags (see below) of all proxies
+ // to build
+ short build_tc_flags; // time code flags (see below) of all tc indices
+ // to build
} StripProxy;
typedef struct Strip {
@@ -128,11 +135,12 @@ typedef struct Sequence {
int startstill, endstill;
int machine, depth; /*machine - the strip channel, depth - the depth in the sequence when dealing with metastrips */
int startdisp, enddisp; /*starting and ending points in the sequence*/
- float sat, pad;
+ float sat;
float mul, handsize;
/* is sfra needed anymore? - it looks like its only used in one place */
int sfra; /* starting frame according to the timeline of the scene. */
int anim_preseek;
+ int streamindex; /* streamindex for movie or sound files with several streams */
Strip *strip;
@@ -155,7 +163,7 @@ typedef struct Sequence {
void *scene_sound;
float volume;
- float level, pan; /* level in dB (0=full), pan -1..1 */
+ float pitch, pan; /* pitch (-0.1..10), pan -2..2 */
int scenenr; /* for scene selection */
int multicam_source; /* for multicam source selection */
float strobe;
@@ -209,14 +217,9 @@ typedef struct GlowVars {
typedef struct TransformVars {
float ScalexIni;
float ScaleyIni;
- float ScalexFin; /* deprecated - old transform strip */
- float ScaleyFin; /* deprecated - old transform strip */
float xIni;
- float xFin; /* deprecated - old transform strip */
float yIni;
- float yFin; /* deprecated - old transform strip */
float rotIni;
- float rotFin; /* deprecated - old transform strip */
int percent;
int interpolation;
int uniform_scale; /* preserve aspect/ratio when scaling */
@@ -276,6 +279,12 @@ typedef struct SpeedControlVars {
#define SEQ_USE_PROXY_CUSTOM_FILE (1<<21)
#define SEQ_USE_EFFECT_DEFAULT_FADE (1<<22)
+// flags for whether those properties are animated or not
+#define SEQ_AUDIO_VOLUME_ANIMATED (1<<24)
+#define SEQ_AUDIO_PITCH_ANIMATED (1<<25)
+#define SEQ_AUDIO_PAN_ANIMATED (1<<26)
+#define SEQ_AUDIO_DRAW_WAVEFORM (1<<27)
+
#define SEQ_INVALID_EFFECT (1<<31)
/* convenience define for all selection flags */
@@ -288,6 +297,19 @@ typedef struct SpeedControlVars {
#define SEQ_COLOR_BALANCE_INVERSE_GAMMA 2
#define SEQ_COLOR_BALANCE_INVERSE_LIFT 4
+/* !!! has to be same as IMB_imbuf.h IMB_PROXY_... and IMB_TC_... */
+
+#define SEQ_PROXY_IMAGE_SIZE_25 1
+#define SEQ_PROXY_IMAGE_SIZE_50 2
+#define SEQ_PROXY_IMAGE_SIZE_75 4
+#define SEQ_PROXY_IMAGE_SIZE_100 8
+
+#define SEQ_PROXY_TC_NONE 0
+#define SEQ_PROXY_TC_RECORD_RUN 1
+#define SEQ_PROXY_TC_FREE_RUN 2
+#define SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN 4
+#define SEQ_PROXY_TC_ALL 7
+
/* seq->type WATCH IT: SEQ_EFFECT BIT is used to determine if this is an effect strip!!! */
#define SEQ_IMAGE 0
#define SEQ_META 1
diff --git a/source/blender/makesdna/DNA_sound_types.h b/source/blender/makesdna/DNA_sound_types.h
index 3e5f82a8052..4f727b3586b 100644
--- a/source/blender/makesdna/DNA_sound_types.h
+++ b/source/blender/makesdna/DNA_sound_types.h
@@ -85,6 +85,11 @@ typedef struct bSound {
void *cache;
/**
+ * Waveform display data.
+ */
+ void *waveform;
+
+ /**
* The audaspace handle that should actually be played back.
* Should be cache if cache != NULL; otherwise it's handle
*/
@@ -106,7 +111,9 @@ typedef enum eSound_Type {
#define SND_DRAWFRAMES 1
#define SND_CFRA_NUM 2
-#define SOUND_FLAGS_3D (1 << 3)
+#define SOUND_FLAGS_3D (1 << 3) /* deprecated! used for sound actuator loading */
+#define SOUND_FLAGS_CACHING (1 << 4)
+#define SOUND_FLAGS_MONO (1 << 5)
/* to DNA_sound_types.h*/
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index e120cd14775..66b10bcbf21 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -267,7 +267,7 @@ typedef struct SpaceImage {
float centx, centy; /* storage for offset while render drawing */
short curtile; /* the currently active tile of the image when tile is enabled, is kept in sync with the active faces tile */
- short imtypenr;
+ short pad;
short lock;
short pin;
char dt_uv; /* UV draw type */
@@ -696,18 +696,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) */ /* deprecated */
+#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)
@@ -753,7 +754,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)
@@ -929,6 +930,7 @@ enum {
#define SEQ_PROXY_RENDER_SIZE_25 25
#define SEQ_PROXY_RENDER_SIZE_50 50
#define SEQ_PROXY_RENDER_SIZE_75 75
+#define SEQ_PROXY_RENDER_SIZE_100 99
#define SEQ_PROXY_RENDER_SIZE_FULL 100
diff --git a/source/blender/makesdna/DNA_speaker_types.h b/source/blender/makesdna/DNA_speaker_types.h
new file mode 100644
index 00000000000..fecc65885c5
--- /dev/null
+++ b/source/blender/makesdna/DNA_speaker_types.h
@@ -0,0 +1,69 @@
+/*
+ * $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): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+#ifndef DNA_SPEAKER_TYPES_H
+#define DNA_SPEAKER_TYPES_H
+
+/** \file DNA_speaker_types.h
+ * \ingroup DNA
+ */
+
+#include "DNA_ID.h"
+
+struct AnimData;
+struct bSound;
+
+typedef struct Speaker {
+ ID id;
+ struct AnimData *adt; /* animation data (must be immediately after id for utilities to use it) */
+
+ struct bSound *sound;
+
+ // not animatable properties
+ float volume_max;
+ float volume_min;
+ float distance_max;
+ float distance_reference;
+ float attenuation;
+ float cone_angle_outer;
+ float cone_angle_inner;
+ float cone_volume_outer;
+
+ // animatable properties
+ float volume;
+ float pitch;
+
+ // flag
+ short flag;
+ short pad1[3];
+} Speaker;
+
+/* **************** SPEAKER ********************* */
+
+/* flag */
+#define SPK_DS_EXPAND (1<<0)
+#define SPK_MUTED (1<<1)
+#define SPK_RELATIVE (1<<2)
+
+#endif /* DNA_SPEAKER_TYPES_H */
+
diff --git a/source/blender/makesdna/DNA_texture_types.h b/source/blender/makesdna/DNA_texture_types.h
index e81a9979c12..6e850a07d94 100644
--- a/source/blender/makesdna/DNA_texture_types.h
+++ b/source/blender/makesdna/DNA_texture_types.h
@@ -342,6 +342,7 @@ typedef struct TexMapping {
#define TEX_NORMALMAP 2048
#define TEX_GAUSS_MIP 4096
#define TEX_FILTER_MIN 8192
+#define TEX_DERIVATIVEMAP 16384
/* texfilter */
// TXF_BOX -> blender's old texture filtering method
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 50e66f91028..43dc532d4f6 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -197,7 +197,7 @@ typedef struct ThemeSpace {
char grid[4];
char wire[4], select[4];
- char lamp[4];
+ char lamp[4], speaker[4], pad2[4];
char active[4], group[4], group_active[4], transform[4];
char vertex[4], vertex_select[4];
char edge[4], edge_select[4];
@@ -210,17 +210,20 @@ typedef struct ThemeSpace {
char bone_solid[4], bone_pose[4];
char strip[4], strip_select[4];
char cframe[4];
+
char nurb_uline[4], nurb_vline[4];
char act_spline[4], nurb_sel_uline[4], nurb_sel_vline[4], lastsel_point[4];
- char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4];
- char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4];
+
+ char handle_free[4], handle_auto[4], handle_vect[4], handle_align[4], handle_auto_clamped[4];
+ char handle_sel_free[4], handle_sel_auto[4], handle_sel_vect[4], handle_sel_align[4], handle_sel_auto_clamped[4];
+
char ds_channel[4], ds_subchannel[4]; // dopesheet
char console_output[4], console_input[4], console_info[4], console_error[4];
char console_cursor[4];
char vertex_size, outline_width, facedot_size;
- char bpad;
+ char noodle_curving;
char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
char syntaxv[4], syntaxc[4];
@@ -305,7 +308,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];
@@ -341,7 +344,8 @@ typedef struct UserDef {
struct ListBase themes;
struct ListBase uifonts;
struct ListBase uistyles;
- struct ListBase keymaps;
+ struct ListBase keymaps; /* deprecated in favor of user_keymaps */
+ struct ListBase user_keymaps;
struct ListBase addons;
char keyconfigstr[64];
@@ -365,7 +369,6 @@ typedef struct UserDef {
short recent_files; /* maximum number of recently used files to remember */
short smooth_viewtx; /* miliseconds to spend spinning the view */
short glreslimit;
- short ndof_pan, ndof_rotate;
short curssize;
short color_picker_type;
short ipo_new; /* interpolation mode for newly added F-Curves */
@@ -375,7 +378,11 @@ typedef struct UserDef {
short scrcastwait; /* milliseconds between screencast snapshots */
short widget_unit; /* defaults to 20 for 72 DPI setting */
- short pad[3];
+ short anisotropic_filter;
+ /*short pad[3]; */
+
+ float ndof_sensitivity; /* overall sensitivity of 3D mouse */
+ int ndof_flag; /* flags for 3D mouse */
char versemaster[160];
char verseuser[160];
@@ -384,8 +391,7 @@ typedef struct UserDef {
short autokey_mode; /* autokeying mode */
short autokey_flag; /* flags for autokeying */
- short text_render, pad9; /*options for text rendering*/
- float pad10;
+ short text_render, pad9[3]; /*options for text rendering*/
struct ColorBand coba_weight; /* from texture.h */
@@ -578,6 +584,31 @@ extern UserDef U; /* from blenkernel blender.c */
#define TH_OLDSKOOL 3
#define TH_SHADED 4
+/* ndof_flag (3D mouse options) */
+#define NDOF_SHOW_GUIDE (1 << 0)
+#define NDOF_FLY_HELICOPTER (1 << 1)
+#define NDOF_LOCK_HORIZON (1 << 2)
+/* the following might not need to be saved between sessions,
+ but they do need to live somewhere accessible... */
+#define NDOF_SHOULD_PAN (1 << 3)
+#define NDOF_SHOULD_ZOOM (1 << 4)
+#define NDOF_SHOULD_ROTATE (1 << 5)
+/* orbit navigation modes
+ only two options, so it's sort of a hyrbrid bool/enum
+ if ((U.ndof_flag & NDOF_ORBIT_MODE) == NDOF_OM_OBJECT)... */
+/*
+#define NDOF_ORBIT_MODE (1 << 6)
+#define NDOF_OM_TARGETCAMERA 0
+#define NDOF_OM_OBJECT NDOF_ORBIT_MODE
+*/
+/* actually... users probably don't care about what the mode
+ is called, just that it feels right */
+#define NDOF_ORBIT_INVERT_AXES (1 << 6)
+/* zoom is up/down if this flag is set (otherwise forward/backward) */
+#define NDOF_ZOOM_UPDOWN (1 << 7)
+#define NDOF_ZOOM_INVERT (1 << 8)
+
+
#ifdef __cplusplus
}
#endif
diff --git a/source/blender/makesdna/DNA_view3d_types.h b/source/blender/makesdna/DNA_view3d_types.h
index 7379493003d..3c8d20a6f16 100644
--- a/source/blender/makesdna/DNA_view3d_types.h
+++ b/source/blender/makesdna/DNA_view3d_types.h
@@ -130,7 +130,11 @@ typedef struct RegionView3D {
float twangle[3];
- float padf;
+ /* active rotation from NDOF or elsewhere */
+ float rot_angle;
+ float rot_axis[3];
+
+ char pad2[4];
} RegionView3D;
@@ -190,11 +194,10 @@ typedef struct View3D {
/* drawflags, denoting state */
short zbuf, transp, xray;
- 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 */
-
+ char pad3[2];
+
void *properties_storage; /* Nkey panel stores stuff here (runtime only!) */
-
+
/* XXX depricated? */
struct bGPdata *gpd; /* Grease-Pencil Data (annotation layers) */
@@ -244,6 +247,7 @@ typedef struct View3D {
#define V3D_SOLID_TEX 8
#define V3D_DISPGP 16
#define V3D_LOCK_CAMERA 32
+#define V3D_RENDER_SHADOW 64 /* This is a runtime only flag that's used to tell draw_mesh_object() that we're doing a shadow pass instead of a regular draw */
/* 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 31e59f18626..47ebf111eba 100644
--- a/source/blender/makesdna/DNA_windowmanager_types.h
+++ b/source/blender/makesdna/DNA_windowmanager_types.h
@@ -144,7 +144,9 @@ typedef struct wmWindowManager {
ListBase drags; /* active dragged items */
ListBase keyconfigs; /* known key configurations */
- struct wmKeyConfig *defaultconf; /* default configuration, not saved */
+ struct wmKeyConfig *defaultconf; /* default configuration */
+ struct wmKeyConfig *addonconf; /* addon configuration */
+ struct wmKeyConfig *userconf; /* user configuration */
ListBase timers; /* active timers */
struct wmTimer *autosavetimer; /* timer for auto save */
@@ -239,15 +241,26 @@ typedef struct wmKeyMapItem {
struct PointerRNA *ptr; /* rna pointer to access properties */
} wmKeyMapItem;
+/* used instead of wmKeyMapItem for diff keymaps */
+typedef struct wmKeyMapDiffItem {
+ struct wmKeyMapDiffItem *next, *prev;
+
+ wmKeyMapItem *remove_item;
+ wmKeyMapItem *add_item;
+} wmKeyMapDiffItem;
+
/* wmKeyMapItem.flag */
-#define KMI_INACTIVE 1
-#define KMI_EXPANDED 2
+#define KMI_INACTIVE 1
+#define KMI_EXPANDED 2
+#define KMI_USER_MODIFIED 4
+#define KMI_UPDATE 8
/* stored in WM, the actively used keymaps */
typedef struct wmKeyMap {
struct wmKeyMap *next, *prev;
ListBase items;
+ ListBase diff_items;
char idname[64]; /* global editor keymaps, or for more per space/region */
short spaceid; /* same IDs as in DNA_space_types.h */
@@ -263,9 +276,12 @@ typedef struct wmKeyMap {
/* wmKeyMap.flag */
#define KEYMAP_MODAL 1 /* modal map, not using operatornames */
-#define KEYMAP_USER 2 /* user created keymap */
+#define KEYMAP_USER 2 /* user keymap */
#define KEYMAP_EXPANDED 4
#define KEYMAP_CHILDREN_EXPANDED 8
+#define KEYMAP_DIFF 16 /* diff keymap for user preferences */
+#define KEYMAP_USER_MODIFIED 32 /* keymap has user modifications */
+#define KEYMAP_UPDATE 64
typedef struct wmKeyConfig {
struct wmKeyConfig *next, *prev;
@@ -304,14 +320,20 @@ typedef struct wmOperator {
} wmOperator;
-/* operator type exec(), invoke() modal(), return values */
-#define OPERATOR_RUNNING_MODAL 1
-#define OPERATOR_CANCELLED 2
-#define OPERATOR_FINISHED 4
+
+/* operator type return flags: exec(), invoke() modal(), return values */
+#define OPERATOR_RUNNING_MODAL (1<<0)
+#define OPERATOR_CANCELLED (1<<1)
+#define OPERATOR_FINISHED (1<<2)
/* add this flag if the event should pass through */
-#define OPERATOR_PASS_THROUGH 8
+#define OPERATOR_PASS_THROUGH (1<<3)
/* in case operator got executed outside WM code... like via fileselect */
-#define OPERATOR_HANDLED 16
+#define OPERATOR_HANDLED (1<<4)
+
+#define OPERATOR_FLAGS_ALL ((1<<5)-1)
+
+/* sanity checks for debug mode only */
+#define OPERATOR_RETVAL_CHECK(ret) BLI_assert(ret != 0 && (ret & OPERATOR_FLAGS_ALL) == ret)
/* wmOperator flag */
#define OP_GRAB_POINTER 1
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index 429db63b526..5edebfe3903 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -27,12 +27,17 @@
# message(STATUS "Configuring makesdna")
+# add_definitions(-DWITH_DNA_GHASH)
+
blender_include_dirs(
../../../../intern/guardedalloc
../../blenloader
+ ../../blenlib
..
)
+
+# -----------------------------------------------------------------------------
# Build makesdna executable
set(SRC
makesdna.c
@@ -56,6 +61,8 @@ add_custom_command(
DEPENDS makesdna
)
+
+# -----------------------------------------------------------------------------
# Build bf_dna library
set(INC
@@ -72,3 +79,22 @@ set(SRC
)
blender_add_lib(bf_dna "${SRC}" "${INC}" "${INC_SYS}")
+
+
+# -----------------------------------------------------------------------------
+# Build bf_dna_blenlib library
+set(INC
+
+)
+
+set(INC_SYS
+
+)
+
+set(SRC
+ ../../blenlib/intern/BLI_mempool.c
+ ../../blenlib/intern/listbase.c
+ ../../blenlib/intern/BLI_ghash.c
+)
+
+blender_add_lib(bf_dna_blenlib "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/makesdna/intern/SConscript b/source/blender/makesdna/intern/SConscript
index e51ee53e078..8185676cbfc 100644
--- a/source/blender/makesdna/intern/SConscript
+++ b/source/blender/makesdna/intern/SConscript
@@ -67,5 +67,6 @@ else:
else:
dna.Command ('dna.c', '', root_build_dir+os.sep+"makesdna.exe $TARGET")
+# TODO, get WITH_DNA_GHASH working, see CMake's 'WITH_DNA_GHASH'
obj = ['intern/dna.c', 'intern/dna_genfile.c']
Return ('obj')
diff --git a/source/blender/makesdna/intern/dna_genfile.c b/source/blender/makesdna/intern/dna_genfile.c
index 4e9b023b326..ebcfce84e37 100644
--- a/source/blender/makesdna/intern/dna_genfile.c
+++ b/source/blender/makesdna/intern/dna_genfile.c
@@ -42,6 +42,10 @@
#include "MEM_guardedalloc.h" // for MEM_freeN MEM_mallocN MEM_callocN
+#ifdef WITH_DNA_GHASH
+# include "BLI_ghash.h"
+#endif
+
#include "DNA_genfile.h"
#include "DNA_sdna_types.h" // for SDNA ;-)
@@ -197,7 +201,11 @@ void DNA_sdna_free(SDNA *sdna)
MEM_freeN((void *)sdna->names);
MEM_freeN(sdna->types);
MEM_freeN(sdna->structs);
-
+
+#ifdef WITH_DNA_GHASH
+ BLI_ghash_free(sdna->structs_map, NULL, NULL);
+#endif
+
MEM_freeN(sdna);
}
@@ -275,24 +283,30 @@ static short *findstruct_name(SDNA *sdna, const char *str)
int DNA_struct_find_nr(SDNA *sdna, const char *str)
{
short *sp= NULL;
- int a;
if(sdna->lastfind<sdna->nr_structs) {
sp= sdna->structs[sdna->lastfind];
if(strcmp( sdna->types[ sp[0] ], str )==0) return sdna->lastfind;
}
- for(a=0; a<sdna->nr_structs; a++) {
+#ifdef WITH_DNA_GHASH
+ return (intptr_t)BLI_ghash_lookup(sdna->structs_map, str) - 1;
+#else
+ {
+ int a;
- sp= sdna->structs[a];
-
- if(strcmp( sdna->types[ sp[0] ], str )==0) {
- sdna->lastfind= a;
- return a;
+ for(a=0; a<sdna->nr_structs; a++) {
+
+ sp= sdna->structs[a];
+
+ if(strcmp( sdna->types[ sp[0] ], str )==0) {
+ sdna->lastfind= a;
+ return a;
+ }
}
}
-
return -1;
+#endif
}
/* ************************* END DIV ********************** */
@@ -481,6 +495,16 @@ static void init_structDNA(SDNA *sdna, int do_endian_swap)
sp[10]= 9;
}
}
+
+#ifdef WITH_DNA_GHASH
+ /* create a ghash lookup to speed up */
+ sdna->structs_map= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "init_structDNA gh");
+
+ for(nr = 0; nr < sdna->nr_structs; nr++) {
+ sp= sdna->structs[nr];
+ BLI_ghash_insert(sdna->structs_map, (void *)sdna->types[sp[0]], (void *)(nr + 1));
+ }
+#endif
}
}
diff --git a/source/blender/makesdna/intern/makesdna.c b/source/blender/makesdna/intern/makesdna.c
index 8b841b67e54..694b403c7c5 100644
--- a/source/blender/makesdna/intern/makesdna.c
+++ b/source/blender/makesdna/intern/makesdna.c
@@ -132,23 +132,24 @@ const char *includefiles[] = {
"DNA_anim_types.h",
"DNA_boid_types.h",
"DNA_smoke_types.h",
+ "DNA_speaker_types.h",
// empty string to indicate end of includefiles
""
};
-int maxdata= 500000, maxnr= 50000;
-int nr_names=0;
-int nr_types=0;
-int nr_structs=0;
-char **names, *namedata; /* at address names[a] is string a */
-char **types, *typedata; /* at address types[a] is string a */
-short *typelens; /* at typelens[a] is de length of type a */
-short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits) */
-short **structs, *structdata; /* at sp= structs[a] is the first address of a struct definition
- sp[0] is type number
- sp[1] is amount of elements
- sp[2] sp[3] is typenr, namenr (etc) */
+static int maxdata= 500000, maxnr= 50000;
+static int nr_names=0;
+static int nr_types=0;
+static int nr_structs=0;
+static char **names, *namedata; /* at address names[a] is string a */
+static char **types, *typedata; /* at address types[a] is string a */
+static short *typelens; /* at typelens[a] is de length of type a */
+static short *alphalens; /* contains sizes as they are calculated on the DEC Alpha (64 bits), infact any 64bit system */
+static short **structs, *structdata;/* at sp= structs[a] is the first address of a struct definition
+ sp[0] is type number
+ sp[1] is amount of elements
+ sp[2] sp[3] is typenr, namenr (etc) */
/**
* Variable to control debug output of makesdna.
* debugSDNA:
@@ -157,8 +158,8 @@ short **structs, *structdata; /* at sp= structs[a] is the first address of a str
* - 2 = full trace, tell which names and types were found
* - 4 = full trace, plus all gritty details
*/
-int debugSDNA = 0;
-int additional_slen_offset;
+static int debugSDNA = 0;
+static int additional_slen_offset;
/* ************************************************************************** */
/* Functions */
@@ -670,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);
}
}
@@ -713,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) {
@@ -743,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) ) {
@@ -877,7 +890,7 @@ void printStructLenghts(void)
}
-int make_structDNA(char *baseDirectory, FILE *file)
+static int make_structDNA(char *baseDirectory, FILE *file)
{
int len, i;
short *sp;
@@ -1184,4 +1197,5 @@ int main(int argc, char ** argv)
#include "DNA_anim_types.h"
#include "DNA_boid_types.h"
#include "DNA_smoke_types.h"
+#include "DNA_speaker_types.h"
/* end of list */
diff --git a/source/blender/makesrna/RNA_access.h b/source/blender/makesrna/RNA_access.h
index ca19a86e42c..477ee2fe43e 100644
--- a/source/blender/makesrna/RNA_access.h
+++ b/source/blender/makesrna/RNA_access.h
@@ -327,10 +327,13 @@ extern StructRNA RNA_NearSensor;
extern StructRNA RNA_NlaStrip;
extern StructRNA RNA_NlaTrack;
extern StructRNA RNA_Node;
+extern StructRNA RNA_NodeForLoop;
extern StructRNA RNA_NodeGroup;
extern StructRNA RNA_NodeLink;
extern StructRNA RNA_NodeSocket;
+extern StructRNA RNA_NodeSocketPanel;
extern StructRNA RNA_NodeTree;
+extern StructRNA RNA_NodeWhileLoop;
extern StructRNA RNA_NoiseTexture;
extern StructRNA RNA_NorController;
extern StructRNA RNA_Object;
@@ -376,7 +379,6 @@ extern StructRNA RNA_PropertyGroupItem;
extern StructRNA RNA_PropertySensor;
extern StructRNA RNA_PythonConstraint;
extern StructRNA RNA_PythonController;
-extern StructRNA RNA_RGBANodeSocket;
extern StructRNA RNA_RadarSensor;
extern StructRNA RNA_RandomSensor;
extern StructRNA RNA_RaySensor;
@@ -392,6 +394,7 @@ extern StructRNA RNA_Scene;
extern StructRNA RNA_SceneGameData;
extern StructRNA RNA_SceneRenderLayer;
extern StructRNA RNA_SceneSequence;
+extern StructRNA RNA_SceneObjects;
extern StructRNA RNA_Scopes;
extern StructRNA RNA_Screen;
extern StructRNA RNA_ScrewModifier;
@@ -463,6 +466,7 @@ extern StructRNA RNA_SpaceTimeline;
extern StructRNA RNA_SpaceUVEditor;
extern StructRNA RNA_SpaceUserPreferences;
extern StructRNA RNA_SpaceView3D;
+extern StructRNA RNA_Speaker;
extern StructRNA RNA_SpeedControlSequence;
extern StructRNA RNA_Spline;
extern StructRNA RNA_SplineIKConstraint;
@@ -551,9 +555,7 @@ extern StructRNA RNA_UserPreferencesFilePaths;
extern StructRNA RNA_UserPreferencesSystem;
extern StructRNA RNA_UserPreferencesView;
extern StructRNA RNA_UserSolidLight;
-extern StructRNA RNA_ValueNodeSocket;
extern StructRNA RNA_VectorFont;
-extern StructRNA RNA_VectorNodeSocket;
extern StructRNA RNA_VertexGroup;
extern StructRNA RNA_VertexGroupElement;
extern StructRNA RNA_VertexPaint;
@@ -597,6 +599,8 @@ extern const PointerRNA PointerRNA_NULL;
/* Structs */
+StructRNA *RNA_struct_find(const char *identifier);
+
const char *RNA_struct_identifier(StructRNA *type);
const char *RNA_struct_ui_name(StructRNA *type);
const char *RNA_struct_ui_description(StructRNA *type);
@@ -653,7 +657,7 @@ 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);
+int RNA_property_array_check(PropertyRNA *prop);
int RNA_property_multi_array_length(PointerRNA *ptr, PropertyRNA *prop, int dimension);
int RNA_property_array_dimension(PointerRNA *ptr, PropertyRNA *prop, int length[]);
char RNA_property_array_item_char(PropertyRNA *prop, int index);
@@ -701,6 +705,10 @@ void RNA_property_update(struct bContext *C, PointerRNA *ptr, PropertyRNA *prop)
void RNA_property_update_main(struct Main *bmain, struct Scene *scene, PointerRNA *ptr, PropertyRNA *prop);
int RNA_property_update_check(struct PropertyRNA *prop);
+void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop);
+void RNA_property_update_cache_flush(struct Main *bmain, struct Scene *scene);
+void RNA_property_update_cache_free(void);
+
/* Property Data */
int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop);
@@ -716,6 +724,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);
@@ -726,6 +735,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);
diff --git a/source/blender/makesrna/RNA_enum_types.h b/source/blender/makesrna/RNA_enum_types.h
index fc415dc8082..2300b72910d 100644
--- a/source/blender/makesrna/RNA_enum_types.h
+++ b/source/blender/makesrna/RNA_enum_types.h
@@ -54,10 +54,12 @@ extern EnumPropertyItem constraint_type_items[];
extern EnumPropertyItem boidrule_type_items[];
extern EnumPropertyItem image_type_items[];
+extern EnumPropertyItem image_color_mode_items[];
extern EnumPropertyItem beztriple_keyframe_type_items[];
extern EnumPropertyItem beztriple_handle_type_items[];
extern EnumPropertyItem beztriple_interpolation_mode_items[];
+extern EnumPropertyItem keyframe_handle_type_items[];
extern EnumPropertyItem keyingset_path_grouping_items[];
@@ -97,11 +99,15 @@ extern EnumPropertyItem wm_report_items[];
extern EnumPropertyItem transform_mode_types[];
+extern EnumPropertyItem posebone_rotmode_items[];
+
extern EnumPropertyItem property_type_items[];
+extern EnumPropertyItem property_subtype_items[];
extern EnumPropertyItem property_unit_items[];
extern EnumPropertyItem viewport_shade_items[];
+extern EnumPropertyItem nodetree_type_items[];
extern EnumPropertyItem node_socket_type_items[];
extern EnumPropertyItem node_math_items[];
diff --git a/source/blender/makesrna/RNA_types.h b/source/blender/makesrna/RNA_types.h
index ec213d6a496..4a18518dde9 100644
--- a/source/blender/makesrna/RNA_types.h
+++ b/source/blender/makesrna/RNA_types.h
@@ -99,7 +99,10 @@ typedef enum PropertyUnit {
#define RNA_ENUM_BITFLAG_SIZE 32
-/* also update enums in bpy_props.c when adding items here */
+/* also update enums in bpy_props.c when adding items here
+ * watch it: these values are written to files as part of
+ * node socket button subtypes!
+ */
typedef enum PropertySubType {
PROP_NONE = 0,
@@ -281,7 +284,7 @@ typedef struct ParameterList {
typedef struct ParameterIterator {
struct ParameterList *parms;
- PointerRNA funcptr;
+ /* PointerRNA funcptr; */ /*UNUSED*/
void *data;
int size, offset;
diff --git a/source/blender/makesrna/SConscript b/source/blender/makesrna/SConscript
index b706db5e64c..10b20fc795a 100644
--- a/source/blender/makesrna/SConscript
+++ b/source/blender/makesrna/SConscript
@@ -9,6 +9,7 @@ objs += o
incs = '#/intern/guardedalloc #/intern/memutil #/intern/audaspace/intern ../blenkernel ../blenlib ../makesdna intern .'
incs += ' ../windowmanager ../editors/include ../gpu ../imbuf ../ikplugin ../blenfont ../blenloader'
incs += ' ../render/extern/include'
+incs += ' ../nodes'
incs += ' #/extern/glew/include'
defs = []
@@ -54,7 +55,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index 4e4ff396e71..c2b46a3b69a 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -78,6 +78,7 @@ set(DEFSRC
rna_smoke.c
rna_sound.c
rna_space.c
+ rna_speaker.c
rna_test.c
rna_text.c
rna_texture.c
@@ -100,6 +101,7 @@ set(APISRC
rna_main_api.c
rna_material_api.c
rna_mesh_api.c
+ rna_texture_api.c
rna_object_api.c
rna_pose_api.c
rna_scene_api.c
@@ -171,13 +173,25 @@ 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_SYS ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
@@ -186,7 +200,7 @@ if(NOT WITH_MOD_FLUID)
endif()
if(WITH_FFTW3)
- add_definitions(-DFFTW3=1)
+ add_definitions(-DWITH_FFTW3)
endif()
if(WITH_SDL)
@@ -231,6 +245,7 @@ blender_include_dirs_sys(
add_executable(makesrna ${SRC} ${SRC_RNA_INC} ${SRC_DNA_INC})
target_link_libraries(makesrna bf_dna)
+target_link_libraries(makesrna bf_dna_blenlib)
# Output rna_*_gen.c
# note (linux only): with crashes try add this after COMMAND: valgrind --leak-check=full --track-origins=yes
diff --git a/source/blender/makesrna/intern/SConscript b/source/blender/makesrna/intern/SConscript
index 421c3a60691..5c2580e4b90 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']
@@ -69,7 +71,7 @@ if env['WITH_BF_GAMEENGINE']:
defs.append('WITH_GAMEENGINE')
if env['WITH_BF_FFTW3']:
- defs.append('FFTW3=1')
+ defs.append('WITH_FFTW3')
if env['WITH_BF_SDL']:
defs.append('WITH_SDL')
@@ -89,7 +91,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
@@ -138,7 +140,7 @@ targetpath = root_build_dir+'/makesrna'
if not (root_build_dir[0]==os.sep or root_build_dir[1]==':'):
targetpath = '#' + targetpath
-if env['OURPLATFORM'] == 'linux2' and root_build_dir[0]==os.sep:
+if env['OURPLATFORM'] == 'linux' and root_build_dir[0]==os.sep:
makesrna = makesrna_tool.Program (target = targetpath, source = source_files, LIBS=['bf_intern_guardedalloc', 'bf_dna', 'bf_blenlib'])
else:
makesrna = makesrna_tool.Program (target = targetpath, source = source_files, LIBS=['bf_intern_guardedalloc', 'bf_dna', 'bf_blenlib'])
diff --git a/source/blender/makesrna/intern/makesrna.c b/source/blender/makesrna/intern/makesrna.c
index f3f539feb99..bc30210bfbb 100644
--- a/source/blender/makesrna/intern/makesrna.c
+++ b/source/blender/makesrna/intern/makesrna.c
@@ -66,7 +66,7 @@ static int file_older(const char *file1, const char *file2)
return (st1.st_mtime < st2.st_mtime);
}
-const char *makesrna_path= NULL;
+static const char *makesrna_path= NULL;
static int replace_if_different(char *tmpfile, const char *dep_files[])
{
@@ -569,7 +569,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
if(prop->flag & PROP_DYNAMIC)
fprintf(f, "void %s(PointerRNA *ptr, %s values[])\n", func, rna_type_type(prop));
else
- fprintf(f, "void %s(PointerRNA *ptr, %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+ fprintf(f, "void %s(PointerRNA *ptr, %s values[%u])\n", func, rna_type_type(prop), prop->totarraylength);
fprintf(f, "{\n");
if(manualfunc) {
@@ -587,7 +587,7 @@ static char *rna_def_property_get_func(FILE *f, StructRNA *srna, PropertyRNA *pr
}
else {
fprintf(f, " int i;\n\n");
- fprintf(f, " for(i=0; i<%d; i++) {\n", prop->totarraylength);
+ fprintf(f, " for(i=0; i<%u; i++) {\n", prop->totarraylength);
}
if(dp->dnaarraylength == 1) {
@@ -644,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) {
@@ -652,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;
}
}
@@ -663,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;
}
}
@@ -754,7 +783,7 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
if(prop->flag & PROP_DYNAMIC)
fprintf(f, "void %s(PointerRNA *ptr, const %s values[])\n", func, rna_type_type(prop));
else
- fprintf(f, "void %s(PointerRNA *ptr, const %s values[%d])\n", func, rna_type_type(prop), prop->totarraylength);
+ fprintf(f, "void %s(PointerRNA *ptr, const %s values[%u])\n", func, rna_type_type(prop), prop->totarraylength);
fprintf(f, "{\n");
if(manualfunc) {
@@ -767,12 +796,14 @@ static char *rna_def_property_set_func(FILE *f, StructRNA *srna, PropertyRNA *pr
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");
- fprintf(f, " for(i=0; i<%d; i++) {\n", prop->totarraylength);
+ rna_clamp_value_range(f, prop);
+ fprintf(f, " for(i=0; i<%u; i++) {\n", prop->totarraylength);
}
if(dp->dnaarraylength == 1) {
@@ -833,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);
}
@@ -1292,7 +1324,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
//fprintf(f, "void %sset(PointerRNA *ptr, int value);\n", func);
}
else if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "void %sget(PointerRNA *ptr, int values[%d]);\n", func, prop->totarraylength);
+ fprintf(f, "void %sget(PointerRNA *ptr, int values[%u]);\n", func, prop->totarraylength);
//fprintf(f, "void %sset(PointerRNA *ptr, const int values[%d]);\n", func, prop->arraylength);
}
else {
@@ -1307,7 +1339,7 @@ static void rna_def_property_funcs_header(FILE *f, StructRNA *srna, PropertyDefR
//fprintf(f, "void %sset(PointerRNA *ptr, float value);\n", func);
}
else if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "void %sget(PointerRNA *ptr, float values[%d]);\n", func, prop->totarraylength);
+ fprintf(f, "void %sget(PointerRNA *ptr, float values[%u]);\n", func, prop->totarraylength);
//fprintf(f, "void %sset(PointerRNA *ptr, const float values[%d]);\n", func, prop->arraylength);
}
else {
@@ -1388,21 +1420,21 @@ static void rna_def_property_funcs_header_cpp(FILE *f, StructRNA *srna, Property
if(!prop->arraydimension)
fprintf(f, "\tinline bool %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<int, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_INT: {
if(!prop->arraydimension)
fprintf(f, "\tinline int %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<int, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<int, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_FLOAT: {
if(!prop->arraydimension)
fprintf(f, "\tinline float %s(void);", rna_safe_id(prop->identifier));
else
- fprintf(f, "\tinline Array<float, %d> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tinline Array<float, %u> %s(void);", prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
@@ -1463,21 +1495,21 @@ static void rna_def_property_funcs_impl_cpp(FILE *f, StructRNA *srna, PropertyDe
if(!prop->arraydimension)
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, rna_safe_id(prop->identifier));
+ fprintf(f, "\tBOOLEAN_ARRAY_PROPERTY(%s, %u, %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, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tINT_ARRAY_PROPERTY(%s, %u, %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, rna_safe_id(prop->identifier));
else
- fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %d, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
+ fprintf(f, "\tFLOAT_ARRAY_PROPERTY(%s, %u, %s)", srna->identifier, prop->totarraylength, rna_safe_id(prop->identifier));
break;
}
case PROP_ENUM: {
@@ -1996,7 +2028,7 @@ static void rna_generate_static_parameter_prototypes(BlenderRNA *brna, StructRNA
fprintf(f, "int %s%s_len, ", pout ? "*" : "", dparm->prop->identifier);
if(!(flag & PROP_DYNAMIC) && dparm->prop->arraydimension)
- fprintf(f, "%s%s %s[%d]", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), dparm->prop->identifier, dparm->prop->totarraylength);
+ fprintf(f, "%s%s %s[%u]", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), dparm->prop->identifier, dparm->prop->totarraylength);
else
fprintf(f, "%s%s %s%s", rna_type_struct(dparm->prop), rna_parameter_type_name(dparm->prop), ptrstr, dparm->prop->identifier);
@@ -2097,7 +2129,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static int rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static int rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(bprop->defaultarray)
@@ -2117,7 +2149,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static int rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static int rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(iprop->defaultarray)
@@ -2137,7 +2169,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
unsigned int i;
if(prop->arraydimension && prop->totarraylength) {
- fprintf(f, "static float rna_%s%s_%s_default[%d] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
+ fprintf(f, "static float rna_%s%s_%s_default[%u] = {\n\t", srna->identifier, strnest, prop->identifier, prop->totarraylength);
for(i=0; i<prop->totarraylength; i++) {
if(fprop->defaultarray)
@@ -2168,7 +2200,7 @@ static void rna_generate_property(FILE *f, StructRNA *srna, const char *nest, Pr
rna_print_c_string(f, prop->name); fprintf(f, ",\n\t");
rna_print_c_string(f, prop->description); fprintf(f, ",\n\t");
fprintf(f, "%d,\n", prop->icon);
- fprintf(f, "\t%s, %s|%s, %s, %d, {%d, %d, %d}, %d,\n", RNA_property_typename(prop->type), rna_property_subtypename(prop->subtype), rna_property_subtype_unit(prop->subtype), rna_function_string(prop->getlength), prop->arraydimension, prop->arraylength[0], prop->arraylength[1], prop->arraylength[2], prop->totarraylength);
+ fprintf(f, "\t%s, %s|%s, %s, %u, {%u, %u, %u}, %u,\n", RNA_property_typename(prop->type), rna_property_subtypename(prop->subtype), rna_property_subtype_unit(prop->subtype), rna_function_string(prop->getlength), prop->arraydimension, prop->arraylength[0], prop->arraylength[1], prop->arraylength[2], prop->totarraylength);
fprintf(f, "\t%s%s, %d, %s, %s,\n", (prop->flag & PROP_CONTEXT_UPDATE)? "(UpdateFunc)": "", rna_function_string(prop->update), prop->noteflag, rna_function_string(prop->editable), rna_function_string(prop->itemeditable));
if(prop->flag & PROP_RAW_ACCESS) rna_set_raw_offset(f, srna, prop);
@@ -2385,7 +2417,7 @@ typedef struct RNAProcessItem {
static RNAProcessItem PROCESS_ITEMS[]= {
{"rna_rna.c", NULL, RNA_def_rna},
{"rna_ID.c", NULL, RNA_def_ID},
- {"rna_texture.c", NULL, RNA_def_texture},
+ {"rna_texture.c", "rna_texture_api.c", RNA_def_texture},
{"rna_action.c", "rna_action_api.c", RNA_def_action},
{"rna_animation.c", "rna_animation_api.c", RNA_def_animation},
{"rna_animviz.c", NULL, RNA_def_animviz},
@@ -2429,6 +2461,7 @@ static RNAProcessItem PROCESS_ITEMS[]= {
{"rna_sequencer.c", "rna_sequencer_api.c", RNA_def_sequencer},
{"rna_smoke.c", NULL, RNA_def_smoke},
{"rna_space.c", NULL, RNA_def_space},
+ {"rna_speaker.c", NULL, RNA_def_speaker},
{"rna_test.c", NULL, RNA_def_test},
{"rna_text.c", NULL, RNA_def_text},
{"rna_timeline.c", NULL, RNA_def_timeline_marker},
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 174cf95e755..82217cdc3e4 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -35,6 +35,7 @@
#include "DNA_ID.h"
#include "DNA_vfont_types.h"
+#include "DNA_material_types.h"
#include "DNA_object_types.h"
#include "WM_types.h"
@@ -66,6 +67,7 @@ EnumPropertyItem id_type_items[] = {
{ID_PA, "PARTICLE", ICON_PARTICLE_DATA, "Particle", ""},
{ID_SCE, "SCENE", ICON_SCENE_DATA, "Scene", ""},
{ID_SCR, "SCREEN", ICON_SPLITSCREEN, "Screen", ""},
+ {ID_SPK, "SPEAKER", ICON_SPEAKER, "Speaker", ""},
{ID_SO, "SOUND", ICON_PLAY_AUDIO, "Sound", ""},
{ID_TXT, "TEXT", ICON_TEXT, "Text", ""},
{ID_TE, "TEXTURE", ICON_TEXTURE_DATA, "Texture", ""},
@@ -136,6 +138,7 @@ short RNA_type_to_ID_code(StructRNA *type)
if(RNA_struct_is_a(type, &RNA_ParticleSettings)) return ID_PA;
if(RNA_struct_is_a(type, &RNA_Scene)) return ID_SCE;
if(RNA_struct_is_a(type, &RNA_Screen)) return ID_SCR;
+ if(RNA_struct_is_a(type, &RNA_Speaker)) return ID_SPK;
if(RNA_struct_is_a(type, &RNA_Sound)) return ID_SO;
if(RNA_struct_is_a(type, &RNA_Text)) return ID_TXT;
if(RNA_struct_is_a(type, &RNA_Texture)) return ID_TE;
@@ -169,6 +172,7 @@ StructRNA *ID_code_to_RNA_type(short idcode)
case ID_PA: return &RNA_ParticleSettings;
case ID_SCE: return &RNA_Scene;
case ID_SCR: return &RNA_Screen;
+ case ID_SPK: return &RNA_Speaker;
case ID_SO: return &RNA_Sound;
case ID_TXT: return &RNA_Text;
case ID_TE: return &RNA_Texture;
@@ -410,15 +414,16 @@ 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, MAXMAT, "", "Index of material to remove.", 0, MAXMAT);
RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "material", "Material", "", "Material to add.");
+ RNA_def_boolean(func, "update_data", 0, "", "Update data by re-adjusting the material slots assigned.");
+ 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 ab11f88e0f6..e7d0c5cdec2 100644
--- a/source/blender/makesrna/intern/rna_access.c
+++ b/source/blender/makesrna/intern/rna_access.c
@@ -85,7 +85,9 @@ void RNA_init(void)
void RNA_exit(void)
{
StructRNA *srna;
-
+
+ RNA_property_update_cache_free();
+
for(srna=BLENDER_RNA.structs.first; srna; srna=srna->cont.next) {
if(srna->cont.prophash) {
BLI_ghash_free(srna->cont.prophash, NULL, NULL);
@@ -288,7 +290,7 @@ static int rna_ensure_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
}
}
-static int rna_ensure_property_array_check(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
+static int rna_ensure_property_array_check(PropertyRNA *prop)
{
if(prop->magic == RNA_MAGIC) {
return (prop->getlength || prop->totarraylength) ? 1:0;
@@ -473,6 +475,17 @@ static const char *rna_ensure_property_name(PropertyRNA *prop)
/* Structs */
+StructRNA *RNA_struct_find(const char *identifier)
+{
+ StructRNA *type;
+ if (identifier) {
+ for (type = BLENDER_RNA.structs.first; type; type = type->cont.next)
+ if (strcmp(type->identifier, identifier)==0)
+ return type;
+ }
+ return NULL;
+}
+
const char *RNA_struct_identifier(StructRNA *type)
{
return type->identifier;
@@ -765,9 +778,9 @@ int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
return rna_ensure_property_array_length(ptr, prop);
}
-int RNA_property_array_check(PointerRNA *ptr, PropertyRNA *prop)
+int RNA_property_array_check(PropertyRNA *prop)
{
- return rna_ensure_property_array_check(ptr, prop);
+ return rna_ensure_property_array_check(prop);
}
/* used by BPY to make an array from the python object */
@@ -1364,13 +1377,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'
@@ -1391,6 +1404,112 @@ void RNA_property_update_main(Main *bmain, Scene *scene, PointerRNA *ptr, Proper
rna_property_update(NULL, bmain, scene, ptr, prop);
}
+
+/* RNA Updates Cache ------------------------ */
+/* Overview of RNA Update cache system:
+ *
+ * RNA Update calls need to be cached in order to maintain reasonable performance
+ * of the animation system (i.e. maintaining a somewhat interactive framerate)
+ * while still allowing updates to be called (necessary in particular for modifier
+ * property updates to actually work).
+ *
+ * The cache is structured with a dual-layer structure
+ * - L1 = PointerRNA used as key; id.data is used (it should always be defined,
+ * and most updates end up using just that anyways)
+ * - L2 = Update functions to be called on those PointerRNA's
+ */
+
+/* cache element */
+typedef struct tRnaUpdateCacheElem {
+ struct tRnaUpdateCacheElem *next, *prev;
+
+ PointerRNA ptr; /* L1 key - id as primary, data secondary/ignored? */
+ ListBase L2Funcs; /* L2 functions (LinkData<RnaUpdateFuncRef>) */
+} tRnaUpdateCacheElem;
+
+/* cache global (tRnaUpdateCacheElem's) - only accessible using these API calls */
+static ListBase rna_updates_cache = {NULL, NULL};
+
+/* ........................... */
+
+void RNA_property_update_cache_add(PointerRNA *ptr, PropertyRNA *prop)
+{
+ tRnaUpdateCacheElem *uce = NULL;
+ UpdateFunc fn = NULL;
+ LinkData *ld;
+ short is_rna = (prop->magic == RNA_MAGIC);
+
+ /* sanity check */
+ if (ELEM(NULL, ptr, prop))
+ return;
+
+ prop= rna_ensure_property(prop);
+
+ /* we can only handle update calls with no context args for now (makes animsys updates easier) */
+ if ((is_rna == 0) || (prop->update == NULL) || (prop->flag & PROP_CONTEXT_UPDATE))
+ return;
+ fn = prop->update;
+
+ /* find cache element for which key matches... */
+ for (uce = rna_updates_cache.first; uce; uce = uce->next) {
+ /* just match by id only for now, since most update calls that we'll encounter only really care about this */
+ // TODO: later, the cache might need to have some nesting on L1 to cope better with these problems + some tagging to indicate we need this
+ if (uce->ptr.id.data == ptr->id.data)
+ break;
+ }
+ if (uce == NULL) {
+ /* create new instance */
+ uce = MEM_callocN(sizeof(tRnaUpdateCacheElem), "tRnaUpdateCacheElem");
+ BLI_addtail(&rna_updates_cache, uce);
+
+ /* copy pointer */
+ RNA_pointer_create(ptr->id.data, ptr->type, ptr->data, &uce->ptr);
+ }
+
+ /* check on the update func */
+ for (ld = uce->L2Funcs.first; ld; ld = ld->next) {
+ /* stop on match - function already cached */
+ if (fn == ld->data)
+ return;
+ }
+ /* else... if still here, we need to add it */
+ BLI_addtail(&uce->L2Funcs, BLI_genericNodeN(fn));
+}
+
+void RNA_property_update_cache_flush(Main *bmain, Scene *scene)
+{
+ tRnaUpdateCacheElem *uce;
+
+ // TODO: should we check that bmain and scene are valid? The above stuff doesn't!
+
+ /* execute the cached updates */
+ for (uce = rna_updates_cache.first; uce; uce = uce->next) {
+ LinkData *ld;
+
+ for (ld = uce->L2Funcs.first; ld; ld = ld->next) {
+ UpdateFunc fn = (UpdateFunc)ld->data;
+ fn(bmain, scene, &uce->ptr);
+ }
+ }
+}
+
+void RNA_property_update_cache_free(void)
+{
+ tRnaUpdateCacheElem *uce, *ucn;
+
+ for (uce = rna_updates_cache.first; uce; uce = ucn) {
+ ucn = uce->next;
+
+ /* free L2 cache */
+ BLI_freelistN(&uce->L2Funcs);
+
+ /* remove self */
+ BLI_freelinkN(&rna_updates_cache, uce);
+ }
+}
+
+/* ---------------------------------------------------------------------- */
+
/* Property Data */
int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
@@ -1399,6 +1518,7 @@ int RNA_property_boolean_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr)))
return IDP_Int(idprop);
@@ -1414,6 +1534,7 @@ void RNA_property_boolean_set(PointerRNA *ptr, PropertyRNA *prop, int value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
/* just incase other values are passed */
if(value) value= 1;
@@ -1440,6 +1561,7 @@ void RNA_property_boolean_get_array(PointerRNA *ptr, PropertyRNA *prop, int *val
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1463,6 +1585,7 @@ int RNA_property_boolean_get_index(PointerRNA *ptr, PropertyRNA *prop, int index
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1486,6 +1609,7 @@ void RNA_property_boolean_set_array(PointerRNA *ptr, PropertyRNA *prop, const in
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1519,6 +1643,7 @@ void RNA_property_boolean_set_index(PointerRNA *ptr, PropertyRNA *prop, int inde
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_array(ptr, prop, tmp);
@@ -1541,6 +1666,7 @@ int RNA_property_boolean_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) == 0);
return bprop->defaultvalue;
}
@@ -1550,6 +1676,7 @@ void RNA_property_boolean_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA
BooleanPropertyRNA *bprop= (BooleanPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= bprop->defaultvalue;
@@ -1565,6 +1692,7 @@ int RNA_property_boolean_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_BOOLEAN);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_boolean_get_default_array(ptr, prop, tmp);
@@ -1588,6 +1716,7 @@ int RNA_property_int_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr)))
return IDP_Int(idprop);
@@ -1603,6 +1732,9 @@ void RNA_property_int_set(PointerRNA *ptr, PropertyRNA *prop, int value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_int_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr)))
IDP_Int(idprop)= value;
@@ -1626,6 +1758,7 @@ void RNA_property_int_get_array(PointerRNA *ptr, PropertyRNA *prop, int *values)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1643,12 +1776,50 @@ 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];
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_int_get_array(ptr, prop, tmp);
@@ -1672,6 +1843,7 @@ void RNA_property_int_set_array(PointerRNA *ptr, PropertyRNA *prop, const int *v
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1705,6 +1877,7 @@ void RNA_property_int_set_index(PointerRNA *ptr, PropertyRNA *prop, int index, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_int_get_array(ptr, prop, tmp);
@@ -1733,6 +1906,7 @@ void RNA_property_int_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *pr
IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_INT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= iprop->defaultvalue;
@@ -1769,6 +1943,7 @@ float RNA_property_float_get(PointerRNA *ptr, PropertyRNA *prop)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(idprop->type == IDP_FLOAT)
@@ -1788,6 +1963,9 @@ void RNA_property_float_set(PointerRNA *ptr, PropertyRNA *prop, float value)
IDProperty *idprop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
+ /* useful to check on bad values but set function should clamp */
+ /* BLI_assert(RNA_property_float_clamp(ptr, prop, &value) == 0); */
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(idprop->type == IDP_FLOAT)
@@ -1817,6 +1995,7 @@ void RNA_property_float_get_array(PointerRNA *ptr, PropertyRNA *prop, float *val
int i;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0)
@@ -1839,12 +2018,50 @@ 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];
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_array(ptr, prop, tmp);
@@ -1870,6 +2087,7 @@ void RNA_property_float_set_array(PointerRNA *ptr, PropertyRNA *prop, const floa
int i;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if((idprop=rna_idproperty_check(&prop, ptr))) {
if(prop->arraydimension == 0) {
@@ -1913,6 +2131,7 @@ void RNA_property_float_set_index(PointerRNA *ptr, PropertyRNA *prop, int index,
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_array(ptr, prop, tmp);
@@ -1935,6 +2154,7 @@ float RNA_property_float_get_default(PointerRNA *UNUSED(ptr), PropertyRNA *prop)
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) == 0);
return fprop->defaultvalue;
}
@@ -1944,6 +2164,7 @@ void RNA_property_float_get_default_array(PointerRNA *UNUSED(ptr), PropertyRNA *
FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(prop->arraydimension == 0)
values[0]= fprop->defaultvalue;
@@ -1959,6 +2180,7 @@ float RNA_property_float_get_default_index(PointerRNA *ptr, PropertyRNA *prop, i
int len= rna_ensure_property_array_length(ptr, prop);
BLI_assert(RNA_property_type(prop) == PROP_FLOAT);
+ BLI_assert(RNA_property_array_check(prop) != 0);
if(len <= RNA_MAX_ARRAY_LENGTH) {
RNA_property_float_get_default_array(ptr, prop, tmp);
@@ -2003,10 +2225,19 @@ char *RNA_property_string_get_alloc(PointerRNA *ptr, PropertyRNA *prop, char *fi
if(length+1 < fixedlen)
buf= fixedbuf;
else
- buf= MEM_callocN(sizeof(char)*(length+1), "RNA_string_get_alloc");
+ buf= MEM_mallocN(sizeof(char)*(length+1), "RNA_string_get_alloc");
+
+#ifndef NDEBUG
+ /* safety check to ensure the string is actually set */
+ buf[length]= 255;
+#endif
RNA_property_string_get(ptr, prop, buf);
+#ifndef NDEBUG
+ BLI_assert(buf[length] == '\0');
+#endif
+
return buf;
}
@@ -2761,7 +2992,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;
@@ -3114,7 +3345,7 @@ static char *rna_path_token(const char **path, char *fixedbuf, int fixedlen, int
/* 2 kinds of lookups now, quoted or unquoted */
quote= *p;
- if(quote != '"')
+ if(quote != '"') /* " - this comment is hack for Aligorith's text editor's sanity */
quote= 0;
if(quote==0) {
@@ -3929,10 +4160,13 @@ void RNA_string_get(PointerRNA *ptr, const char *name, char *value)
{
PropertyRNA *prop= RNA_struct_find_property(ptr, name);
- if(prop)
+ if(prop) {
RNA_property_string_get(ptr, prop, value);
- else
+ }
+ else {
printf("RNA_string_get: %s.%s not found.\n", ptr->type->identifier, name);
+ value[0]= '\0';
+ }
}
char *RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen)
@@ -4165,11 +4399,18 @@ char *RNA_property_as_string(bContext *C, PointerRNA *ptr, PropertyRNA *prop)
break;
case PROP_STRING:
{
- /* string arrays dont exist */
+ char *buf_esc;
char *buf;
- buf = RNA_property_string_get_alloc(ptr, prop, NULL, -1);
- BLI_dynstr_appendf(dynstr, "\"%s\"", buf);
+ int length;
+
+ length= RNA_property_string_length(ptr, prop);
+ buf= MEM_mallocN(sizeof(char)*(length+1), "RNA_property_as_string");
+ buf_esc= MEM_mallocN(sizeof(char)*(length*2+1), "RNA_property_as_string esc");
+ RNA_property_string_get(ptr, prop, buf);
+ BLI_strescape(buf_esc, buf, length*2+1);
MEM_freeN(buf);
+ BLI_dynstr_appendf(dynstr, "\"%s\"", buf_esc);
+ MEM_freeN(buf_esc);
break;
}
case PROP_ENUM:
@@ -4329,15 +4570,15 @@ ParameterList *RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSE
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:
@@ -4403,7 +4644,8 @@ int RNA_parameter_list_ret_count(ParameterList *parms)
void RNA_parameter_list_begin(ParameterList *parms, ParameterIterator *iter)
{
- RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr);
+ /* may be useful but unused now */
+ /* RNA_pointer_create(NULL, &RNA_Function, parms->func, &iter->funcptr); */ /*UNUSED*/
iter->parms= parms;
iter->parm= parms->func->cont.properties.first;
diff --git a/source/blender/makesrna/intern/rna_action.c b/source/blender/makesrna/intern/rna_action.c
index 7fdb96fda6e..815a9c92968 100644
--- a/source/blender/makesrna/intern/rna_action.c
+++ b/source/blender/makesrna/intern/rna_action.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -191,8 +189,9 @@ static void rna_Action_active_pose_marker_index_range(PointerRNA *ptr, int *min,
static void rna_Action_frame_range_get(PointerRNA *ptr,float *values)
-{
- calc_action_range(ptr->id.data, values, values+1, 1);
+{ /* don't include modifiers because they too easily can have very large
+ * ranges: MINAFRAMEF to MAXFRAMEF. */
+ calc_action_range(ptr->id.data, values, values+1, FALSE);
}
@@ -257,10 +256,18 @@ static void rna_def_dopesheet(BlenderRNA *brna)
RNA_def_struct_ui_text(srna, "DopeSheet", "Settings for filtering the channels shown in Animation Editors");
/* Source of DopeSheet data */
+ // XXX: make this obsolete?
prop= RNA_def_property(srna, "source", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "ID");
RNA_def_property_ui_text(prop, "Source", "ID-Block representing source data, currently ID_SCE (for Dopesheet), and ID_SC (for Grease Pencil)");
+ /* Show datablock filters */
+ prop= RNA_def_property(srna, "show_datablock_filters", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ADS_FLAG_SHOW_DBFILTERS);
+ RNA_def_property_ui_text(prop, "Show Datablock Filters", "Show options for whether channels related to certain types of data are included");
+ RNA_def_property_ui_icon(prop, ICON_DISCLOSURE_TRI_RIGHT, -1);
+ RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN, NULL);
+
/* General Filtering Settings */
prop= RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "filterflag", ADS_FILTER_ONLYSEL);
@@ -409,6 +416,12 @@ static void rna_def_dopesheet(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Display Node", "Include visualization of Node related Animation data");
RNA_def_property_ui_icon(prop, ICON_NODETREE, 0);
RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
+
+ prop= RNA_def_property(srna, "show_speakers", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "filterflag", ADS_FILTER_NOSPK);
+ RNA_def_property_ui_text(prop, "Display Speaker", "Include visualization of Speaker related Animation data");
+ RNA_def_property_ui_icon(prop, ICON_SPEAKER, 0);
+ RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
}
static void rna_def_action_group(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_actuator.c b/source/blender/makesrna/intern/rna_actuator.c
index 18e73ebe8b3..3214d31a53c 100644
--- a/source/blender/makesrna/intern/rna_actuator.c
+++ b/source/blender/makesrna/intern/rna_actuator.c
@@ -49,7 +49,6 @@ EnumPropertyItem actuator_type_items[] ={
{ACT_CAMERA, "CAMERA", 0, "Camera", ""},
{ACT_CONSTRAINT, "CONSTRAINT", 0, "Constraint", ""},
{ACT_EDIT_OBJECT, "EDIT_OBJECT", 0, "Edit Object", ""},
- {ACT_IPO, "FCURVE", 0, "F-Curve", ""},
{ACT_2DFILTER, "FILTER_2D", 0, "Filter 2D", ""},
{ACT_GAME, "GAME", 0, "Game", ""},
{ACT_MESSAGE, "MESSAGE", 0, "Message", ""},
@@ -58,7 +57,6 @@ EnumPropertyItem actuator_type_items[] ={
{ACT_PROPERTY, "PROPERTY", 0, "Property", ""},
{ACT_RANDOM, "RANDOM", 0, "Random", ""},
{ACT_SCENE, "SCENE", 0, "Scene", ""},
- {ACT_SHAPEACTION, "SHAPE_ACTION", 0, "Shape Action", ""},
{ACT_SOUND, "SOUND", 0, "Sound", ""},
{ACT_STATE, "STATE", 0, "State", ""},
{ACT_VISIBILITY, "VISIBILITY", 0, "Visibility", ""},
@@ -78,8 +76,6 @@ static StructRNA* rna_Actuator_refine(struct PointerRNA *ptr)
return &RNA_ActionActuator;
case ACT_OBJECT:
return &RNA_ObjectActuator;
- case ACT_IPO:
- return &RNA_FCurveActuator;
case ACT_CAMERA:
return &RNA_CameraActuator;
case ACT_SOUND:
@@ -104,8 +100,6 @@ static StructRNA* rna_Actuator_refine(struct PointerRNA *ptr)
return &RNA_Filter2DActuator;
case ACT_PARENT:
return &RNA_ParentActuator;
- case ACT_SHAPEACTION:
- return &RNA_ShapeActionActuator;
case ACT_STATE:
return &RNA_StateActuator;
case ACT_ARMATURE:
@@ -332,31 +326,30 @@ static void rna_Actuator_constraint_detect_material_set(struct PointerRNA *ptr,
}
}
-static void rna_FcurveActuator_add_set(struct PointerRNA *ptr, int value)
+static void rna_ActionActuator_add_set(struct PointerRNA *ptr, int value)
{
bActuator *act = (bActuator *)ptr->data;
- bIpoActuator *ia = act->data;
+ bActionActuator *aa = act->data;
if(value == 1){
- ia->flag &= ~ACT_IPOFORCE;
- ia->flag |= ACT_IPOADD;
+ aa->flag &= ~ACT_IPOFORCE;
+ aa->flag |= ACT_IPOADD;
}else
- ia->flag &= ~ACT_IPOADD;
+ aa->flag &= ~ACT_IPOADD;
}
-static void rna_FcurveActuator_force_set(struct PointerRNA *ptr, int value)
+static void rna_ActionActuator_force_set(struct PointerRNA *ptr, int value)
{
bActuator *act = (bActuator *)ptr->data;
- bIpoActuator *ia = act->data;
+ bActionActuator *aa = act->data;
if(value == 1){
- ia->flag &= ~ACT_IPOADD;
- ia->flag |= ACT_IPOFORCE;
+ aa->flag &= ~ACT_IPOADD;
+ aa->flag |= ACT_IPOFORCE;
}else
- ia->flag &= ~ACT_IPOFORCE;
+ aa->flag &= ~ACT_IPOFORCE;
}
-
static void rna_ObjectActuator_type_set(struct PointerRNA *ptr, int value)
{
bActuator *act= (bActuator *)ptr->data;
@@ -429,15 +422,14 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, Property
if (ob != NULL) {
if (ob->type==OB_ARMATURE) {
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ARMATURE);
}
}
-
+
+ RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_ACTION);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_CAMERA);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_CONSTRAINT);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_EDIT_OBJECT);
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_IPO);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_2DFILTER);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_GAME);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_MESSAGE);
@@ -448,12 +440,6 @@ EnumPropertyItem *rna_Actuator_type_itemf(bContext *C, PointerRNA *ptr, Property
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SCENE);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STEERING);
- if (ob != NULL) {
- if (ob->type==OB_MESH){
- RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SHAPEACTION);
- }
- }
-
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_SOUND);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_STATE);
RNA_enum_items_add_value(&item, &totitem, actuator_type_items, ACT_VISIBILITY);
@@ -632,11 +618,44 @@ static void rna_def_action_actuator(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Priority", "Execution priority - lower numbers will override actions with higher numbers. With 2 or more actions at once, the overriding channels must be lower in the stack");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ prop= RNA_def_property(srna, "layer", PROP_INT, PROP_NONE);
+ RNA_def_property_range(prop, 0, 7); /* This should match BL_ActionManager::MAX_ACTION_LAYERS - 1 */
+ RNA_def_property_ui_text(prop, "Layer", "The animation layer to play the action on");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "layer_weight", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.0, 1.0);
+ RNA_def_property_ui_text(prop, "Layer Weight", "How much of the previous layer to blend into this one (0 = add mode)");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
prop= RNA_def_property(srna, "frame_property", PROP_STRING, PROP_NONE);
RNA_def_property_string_sdna(prop, NULL, "frameProp");
RNA_def_property_ui_text(prop, "Frame Property", "Assign the action's current frame number to this property");
RNA_def_property_update(prop, NC_LOGIC, NULL);
+ /* booleans */
+ prop= RNA_def_property(srna, "use_additive", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOADD);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ActionActuator_add_set");
+ RNA_def_property_ui_text(prop, "Add", "Action is added to the current loc/rot/scale in global or local coordinate according to Local flag");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "use_force", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOFORCE);
+ RNA_def_property_boolean_funcs(prop, NULL, "rna_ActionActuator_force_set");
+ RNA_def_property_ui_text(prop, "Force", "Apply Action as a global or local force depending on the local option (dynamic objects only)");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "use_local", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOLOCAL);
+ RNA_def_property_ui_text(prop, "L", "Let the Action act in local coordinates, used in Force and Add mode");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
+ prop= RNA_def_property(srna, "apply_to_children", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOCHILD);
+ RNA_def_property_ui_text(prop, "Child", "Update Action on all children Objects as well");
+ RNA_def_property_update(prop, NC_LOGIC, NULL);
+
#ifdef __NLA_ACTION_BY_MOTION_ACTUATOR
prop= RNA_def_property(srna, "stride_length", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "stridelength");
@@ -831,76 +850,6 @@ static void rna_def_object_actuator(BlenderRNA *brna)
RNA_def_property_update(prop, NC_LOGIC, NULL);
}
-static void rna_def_fcurve_actuator(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- static EnumPropertyItem prop_type_items[] ={
- {ACT_IPO_PLAY, "PLAY", 0, "Play", ""},
- {ACT_IPO_PINGPONG, "PINGPONG", 0, "Ping Pong", ""},
- {ACT_IPO_FLIPPER, "FLIPPER", 0, "Flipper", ""},
- {ACT_IPO_LOOP_STOP, "STOP", 0, "Loop Stop", ""},
- {ACT_IPO_LOOP_END, "END", 0, "Loop End", ""},
-// {ACT_IPO_KEY2KEY, "IPOCHILD", 0, "Key to Key", ""},
- {ACT_IPO_FROM_PROP, "PROP", 0, "Property", ""},
- {0, NULL, 0, NULL, NULL}};
-
- srna= RNA_def_struct(brna, "FCurveActuator", "Actuator");
- RNA_def_struct_ui_text(srna, "F-Curve Actuator", "Actuator to animate the object");
- RNA_def_struct_sdna_from(srna, "bIpoActuator", "data");
-
- prop= RNA_def_property(srna, "play_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "type");
- RNA_def_property_enum_items(prop, prop_type_items);
- RNA_def_property_ui_text(prop, "F-Curve Type", "Specify the way you want to play the animation");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "frame_start", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "sta");
- RNA_def_property_ui_range(prop, 1.0, MAXFRAME, 100, 2);
- RNA_def_property_ui_text(prop, "Start Frame", "");
- RNA_def_property_update(prop, NC_SCENE, NULL);
-
- prop= RNA_def_property(srna, "frame_end", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "end");
- RNA_def_property_ui_range(prop, 1.0, MAXFRAME, 100, 2);
- RNA_def_property_ui_text(prop, "End Frame", "");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "property", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "name");
- RNA_def_property_ui_text(prop, "Property", "Use this property to define the F-Curve position");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "frame_property", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "frameProp");
- RNA_def_property_ui_text(prop, "Frame Property", "Assign the action's current frame number to this property");
-
- /* booleans */
- prop= RNA_def_property(srna, "use_additive", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOADD);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_FcurveActuator_add_set");
- RNA_def_property_ui_text(prop, "Add", "F-Curve is added to the current loc/rot/scale in global or local coordinate according to Local flag");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "use_force", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOFORCE);
- RNA_def_property_boolean_funcs(prop, NULL, "rna_FcurveActuator_force_set");
- RNA_def_property_ui_text(prop, "Force", "Apply F-Curve as a global or local force depending on the local option (dynamic objects only)");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "use_local", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOLOCAL);
- RNA_def_property_ui_text(prop, "L", "Let the F-Curve act in local coordinates, used in Force and Add mode");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-
- prop= RNA_def_property(srna, "apply_to_children", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", ACT_IPOCHILD);
- RNA_def_property_ui_text(prop, "Child", "Update F-Curve on all children Objects as well");
- RNA_def_property_update(prop, NC_LOGIC, NULL);
-}
-
static void rna_def_camera_actuator(BlenderRNA *brna)
{
StructRNA *srna;
@@ -938,6 +887,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");
@@ -2068,7 +2024,6 @@ void RNA_def_actuator(BlenderRNA *brna)
rna_def_action_actuator(brna);
rna_def_object_actuator(brna);
- rna_def_fcurve_actuator(brna);
rna_def_camera_actuator(brna);
rna_def_sound_actuator(brna);
rna_def_property_actuator(brna);
diff --git a/source/blender/makesrna/intern/rna_animation.c b/source/blender/makesrna/intern/rna_animation.c
index 7f817aa5b4b..0395a54be8e 100644
--- a/source/blender/makesrna/intern/rna_animation.c
+++ b/source/blender/makesrna/intern/rna_animation.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -74,36 +72,7 @@ static int rna_AnimData_action_editable(PointerRNA *ptr)
static void rna_AnimData_action_set(PointerRNA *ptr, PointerRNA value)
{
ID *ownerId = (ID *)ptr->id.data;
- AnimData *adt = (AnimData *)ptr->data;
-
- /* assume that AnimData's action can in fact be edited... */
- if ((value.data) && (ownerId)) {
- bAction *act = (bAction *)value.data;
-
- /* action must have same type as owner */
- if (ownerId) {
- if (ELEM(act->idroot, 0, GS(ownerId->name))) {
- /* can set */
- adt->action = act;
- }
- else {
- /* cannot set */
- printf("ERROR: Couldn't set Action '%s' onto ID '%s', as it doesn't have suitably rooted paths for this purpose\n",
- act->id.name+2, ownerId->name);
- }
- }
- else {
- /* cannot tell if we can set, so let's just be generous... */
- printf("Warning: Set Action '%s' onto AnimData block with an unknown ID-owner. May have attached invalid data\n",
- act->id.name+2);
-
- adt->action = act;
- }
- }
- else {
- /* just clearing the action... */
- adt->action = NULL;
- }
+ BKE_animdata_set_action(NULL, ownerId, value.data);
}
/* ****************************** */
@@ -695,7 +664,7 @@ static void rna_def_keyingset(BlenderRNA *brna)
/* Name */
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_ui_text(prop, "Name", "");
- RNA_def_struct_ui_icon(srna, ICON_KEY_HLT); // TODO: we need a dedicated icon
+ RNA_def_struct_ui_icon(srna, ICON_KEYINGSET);
RNA_def_struct_name_property(srna, prop);
RNA_def_property_update(prop, NC_SCENE|ND_KEYINGSET|NA_RENAME, NULL);
diff --git a/source/blender/makesrna/intern/rna_animation_api.c b/source/blender/makesrna/intern/rna_animation_api.c
index 4f1a94d62c5..714a74ec424 100644
--- a/source/blender/makesrna/intern/rna_animation_api.c
+++ b/source/blender/makesrna/intern/rna_animation_api.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -41,16 +39,43 @@
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
+
#ifdef RNA_RUNTIME
-#include "BKE_animsys.h"
+#include "BKE_context.h"
+#include "BKE_report.h"
+
+#include "ED_keyframing.h"
+
+static void rna_KeyingSet_context_refresh(KeyingSet *ks, bContext *C, ReportList *reports)
+{
+ // TODO: enable access to providing a list of overrides (dsources)?
+ int success = ANIM_validate_keyingset(C, NULL, ks);
+
+ if (success != 0) {
+ switch (success) {
+ case MODIFYKEY_INVALID_CONTEXT:
+ BKE_report(reports, RPT_ERROR, "Invalid context for Keying Set");
+ break;
+
+ case MODIFYKEY_MISSING_TYPEINFO:
+ BKE_report(reports, RPT_ERROR, "Incomplete built-in Keying Set. Appears to be missing type info");
+ break;
+ }
+ }
+}
#else
void RNA_api_keyingset(StructRNA *srna)
{
-// FunctionRNA *func;
-// PropertyRNA *parm;
+ FunctionRNA *func;
+ //PropertyRNA *parm;
+
+ /* validate relative Keying Set (used to ensure paths are ok for context) */
+ func= RNA_def_function(srna, "refresh", "rna_KeyingSet_context_refresh");
+ RNA_def_function_ui_description(func, "Refresh Keying Set to ensure that it is valid for the current context. Call before each use of one");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
}
#endif
diff --git a/source/blender/makesrna/intern/rna_animviz.c b/source/blender/makesrna/intern/rna_animviz.c
index 5e8c5692abe..e65b137e846 100644
--- a/source/blender/makesrna/intern/rna_animviz.c
+++ b/source/blender/makesrna/intern/rna_animviz.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
diff --git a/source/blender/makesrna/intern/rna_armature.c b/source/blender/makesrna/intern/rna_armature.c
index 2060f75f9de..e2399b5b57c 100644
--- a/source/blender/makesrna/intern/rna_armature.c
+++ b/source/blender/makesrna/intern/rna_armature.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -509,6 +507,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);
@@ -516,6 +515,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);
@@ -814,6 +814,11 @@ static void rna_def_armature(BlenderRNA *brna)
{ARM_LINE, "STICK", 0, "Stick", "Display bones as simple 2D lines with dots"},
{ARM_B_BONE, "BBONE", 0, "B-Bone", "Display bones as boxes, showing subdivision and B-Splines"},
{ARM_ENVELOPE, "ENVELOPE", 0, "Envelope", "Display bones as extruded spheres, showing deformation influence volume"},
+ {ARM_WIRE, "WIRE", 0, "Wire", "Display bones as thin wires, showing subdivision and B-Splines"},
+ {0, NULL, 0, NULL, NULL}};
+ static EnumPropertyItem prop_vdeformer[] = {
+ {ARM_VDEF_BLENDER, "BLENDER", 0, "Blender", "Uses Blender's armature vertex deformation"},
+ {ARM_VDEF_BGE_CPU, "BGE_CPU", 0, "BGE", "Uses vertex deformation code optimized for the BGE"},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem prop_ghost_type_items[] = {
{ARM_GHOST_CUR, "CURRENT_FRAME", 0, "Around Frame", "Display Ghosts of poses within a fixed number of frames around the current frame"},
@@ -861,6 +866,13 @@ static void rna_def_armature(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Draw Type", "");
RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
+
+ prop= RNA_def_property(srna, "vert_deformer", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "gevertdeformer");
+ RNA_def_property_enum_items(prop, prop_vdeformer);
+ RNA_def_property_ui_text(prop, "Vertex Deformer", "");
+ RNA_def_property_update(prop, 0, "rna_Armature_redraw_data");
+ RNA_def_property_flag(prop, PROP_LIB_EXCEPTION);
// XXX depreceated ....... old animviz for armatures only
prop= RNA_def_property(srna, "ghost_type", PROP_ENUM, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_camera.c b/source/blender/makesrna/intern/rna_camera.c
index 1705e2e5376..37912f810fc 100644
--- a/source/blender/makesrna/intern/rna_camera.c
+++ b/source/blender/makesrna/intern/rna_camera.c
@@ -133,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 1ce4108bab2..1b2396a4215 100644
--- a/source/blender/makesrna/intern/rna_cloth.c
+++ b/source/blender/makesrna/intern/rna_cloth.c
@@ -294,6 +294,7 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", CLOTH_SIMSETTINGS_FLAG_GOAL);
RNA_def_property_ui_text(prop, "Pin Cloth", "Enable pinning of cloth vertices to other objects/positions");
RNA_def_property_update(prop, 0, "rna_cloth_pinning_changed");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
prop= RNA_def_property(srna, "pin_stiffness", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "goalspring");
@@ -313,6 +314,7 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "flags", CLOTH_SIMSETTINGS_FLAG_SCALING);
RNA_def_property_ui_text(prop, "Stiffness Scaling", "If enabled, stiffness can be scaled along a weight painted vertex group");
RNA_def_property_update(prop, 0, "rna_cloth_update");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
prop= RNA_def_property(srna, "spring_damping", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "Cdis");
diff --git a/source/blender/makesrna/intern/rna_constraint.c b/source/blender/makesrna/intern/rna_constraint.c
index a75ff601d08..22d9a19f933 100644
--- a/source/blender/makesrna/intern/rna_constraint.c
+++ b/source/blender/makesrna/intern/rna_constraint.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -85,7 +83,7 @@ static EnumPropertyItem target_space_pchan_items[] = {
static EnumPropertyItem owner_space_pchan_items[] = {
{0, "WORLD", 0, "World Space", "The constraint is applied relative to the world coordinate system"},
{2, "POSE", 0, "Pose Space", "The constraint is applied in Pose Space, the object transformation is ignored"},
- {3, "LOCAL_WITH_PARENT", 0, "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
+ {3, "LOCAL_WITH_PARENT", 0, "Local With Parent", "The constraint is applied relative to the local coordinate system of the object, with the parent transformation added"},
{1, "LOCAL", 0, "Local Space", "The constraint is applied relative to the local coordinate sytem of the object"},
{0, NULL, 0, NULL, NULL}};
@@ -357,6 +355,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;
@@ -419,6 +418,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)
@@ -1026,6 +1032,12 @@ static void rna_def_constraint_locked_track(BlenderRNA *brna)
srna= RNA_def_struct(brna, "LockedTrackConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Locked Track Constraint", "Points toward the target along the track axis, while locking the other axis");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bLockTrackConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
@@ -1370,7 +1382,7 @@ static void rna_def_constraint_clamp_to(BlenderRNA *brna)
RNA_def_struct_sdna_from(srna, "bClampToConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
- RNA_def_property_pointer_sdna(prop, NULL, "tar"); // TODO: curve only for set function!
+ RNA_def_property_pointer_sdna(prop, NULL, "tar");
RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_Curve_object_poll");
RNA_def_property_ui_text(prop, "Target", "Target Object");
RNA_def_property_flag(prop, PROP_EDITABLE);
@@ -1763,6 +1775,12 @@ static void rna_def_constraint_distance_limit(BlenderRNA *brna)
srna= RNA_def_struct(brna, "LimitDistanceConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Limit Distance Constraint", "Limits the distance from target object");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bDistLimitConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
@@ -1787,6 +1805,11 @@ static void rna_def_constraint_distance_limit(BlenderRNA *brna)
RNA_def_property_enum_items(prop, constraint_distance_items);
RNA_def_property_ui_text(prop, "Limit Mode", "Distances in relation to sphere of influence to allow");
RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
+ prop= RNA_def_property(srna, "use_transform_limit", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", LIMITDIST_TRANSFORM);
+ RNA_def_property_ui_text(prop, "For Transform", "Transforms are affected by this constraint as well");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
}
static void rna_def_constraint_shrinkwrap(BlenderRNA *brna)
@@ -1855,6 +1878,12 @@ static void rna_def_constraint_damped_track(BlenderRNA *brna)
srna= RNA_def_struct(brna, "DampedTrackConstraint", "Constraint");
RNA_def_struct_ui_text(srna, "Damped Track Constraint", "Points toward target by taking the shortest rotation path");
+
+ prop= RNA_def_property(srna, "head_tail", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, "bConstraint", "headtail");
+ RNA_def_property_ui_text(prop, "Head/Tail", "Target along length of bone: Head=0, Tail=1");
+ RNA_def_property_update(prop, NC_OBJECT|ND_CONSTRAINT, "rna_Constraint_update");
+
RNA_def_struct_sdna_from(srna, "bDampTrackConstraint", "data");
prop= RNA_def_property(srna, "target", PROP_POINTER, PROP_NONE);
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 df9071d7825..3cf6feb005c 100644
--- a/source/blender/makesrna/intern/rna_curve.c
+++ b/source/blender/makesrna/intern/rna_curve.c
@@ -47,9 +47,17 @@
EnumPropertyItem beztriple_handle_type_items[] = {
{HD_FREE, "FREE", 0, "Free", ""},
+ {HD_VECT, "VECTOR", 0, "Vector", ""},
+ {HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
{HD_AUTO, "AUTO", 0, "Auto", ""},
+ {0, NULL, 0, NULL, NULL}};
+
+EnumPropertyItem keyframe_handle_type_items[] = {
+ {HD_FREE, "FREE", 0, "Free", ""},
{HD_VECT, "VECTOR", 0, "Vector", ""},
{HD_ALIGN, "ALIGNED", 0, "Aligned", ""},
+ {HD_AUTO, "AUTO", 0, "Automatic", ""},
+ {HD_AUTO_ANIM, "AUTO_CLAMPED", 0, "Auto Clamped", "Auto handles clamped to not overshoot"},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem beztriple_interpolation_mode_items[] = {
@@ -233,6 +241,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 +249,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 +289,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)
@@ -650,7 +659,7 @@ static char *rna_TextBox_path(PointerRNA *ptr)
int index= (int)(tb - cu->tb);
if (index >= 0 && index < cu->totbox)
- return BLI_sprintfN("textboxes[%d]", index);
+ return BLI_sprintfN("text_boxes[%d]", index);
else
return BLI_strdup("");
}
@@ -979,19 +988,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 +1012,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 +1455,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 8e9c7e287d6..758ddc9ac6a 100644
--- a/source/blender/makesrna/intern/rna_define.c
+++ b/source/blender/makesrna/intern/rna_define.c
@@ -1049,7 +1049,7 @@ void RNA_def_property_array(PropertyRNA *prop, int length)
}
if(prop->arraydimension > 1) {
- fprintf(stderr, "RNA_def_property_array: \"%s.%s\", array dimensions has been set to %d but would be overwritten as 1.\n", srna->identifier, prop->identifier, prop->arraydimension);
+ fprintf(stderr, "RNA_def_property_array: \"%s.%s\", array dimensions has been set to %u but would be overwritten as 1.\n", srna->identifier, prop->identifier, prop->arraydimension);
DefRNA.error= 1;
return;
}
diff --git a/source/blender/makesrna/intern/rna_fcurve.c b/source/blender/makesrna/intern/rna_fcurve.c
index a46f84a22d2..e922a007249 100644
--- a/source/blender/makesrna/intern/rna_fcurve.c
+++ b/source/blender/makesrna/intern/rna_fcurve.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -139,6 +137,7 @@ static void rna_DriverTarget_update_data(Main *bmain, Scene *scene, PointerRNA *
/* find the driver this belongs to and update it */
for (fcu=adt->drivers.first; fcu; fcu=fcu->next) {
driver= fcu->driver;
+ fcu->flag &= ~FCURVE_DISABLED;
if (driver) {
// FIXME: need to be able to search targets for required one...
@@ -454,6 +453,30 @@ static void rna_FModifier_active_set(PointerRNA *ptr, int UNUSED(value))
fm->flag |= FMODIFIER_FLAG_ACTIVE;
}
+static void rna_FModifier_start_frame_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= MINAFRAMEF;
+ *max= (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)? fcm->efra : MAXFRAMEF;
+}
+
+static void rna_FModifier_end_frame_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= (fcm->flag & FMODIFIER_FLAG_RANGERESTRICT)? fcm->sfra : MINAFRAMEF;
+ *max= MAXFRAMEF;
+}
+
+static void rna_FModifier_blending_range(PointerRNA *ptr, float *min, float *max)
+{
+ FModifier *fcm= (FModifier*)ptr->data;
+
+ *min= 0.0f;
+ *max= fcm->efra - fcm->sfra;
+}
+
static void rna_FModifier_active_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
FModifier *fm, *fmo= (FModifier*)ptr->data;
@@ -571,15 +594,15 @@ static void rna_FKeyframe_points_add(FCurve *fcu, int tot)
else {
fcu->bezt= MEM_callocN(sizeof(BezTriple) * tot, "rna_FKeyframe_points_add");
}
-
+
bezt= fcu->bezt + fcu->totvert;
fcu->totvert += tot;
-
+
while(tot--) {
/* defaults, no userprefs gives pradictable results for API */
bezt->f1= bezt->f2= bezt->f3= SELECT;
bezt->ipo= BEZT_IPO_BEZ;
- bezt->h1= bezt->h2= HD_AUTO;
+ bezt->h1= bezt->h2= HD_AUTO_ANIM;
bezt++;
}
}
@@ -1015,6 +1038,51 @@ static void rna_def_fmodifier(BlenderRNA *brna)
RNA_def_property_boolean_funcs(prop, NULL, "rna_FModifier_active_set");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, "rna_FModifier_active_update");
RNA_def_property_ui_icon(prop, ICON_RADIOBUT_OFF, 1);
+
+ /* restricted range */
+ prop= RNA_def_property(srna, "use_restricted_range", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", FMODIFIER_FLAG_RANGERESTRICT);
+ RNA_def_property_ui_text(prop, "Restrict Frame Range", "F-Curve Modifier is only applied for the specified frame range to help mask off effects in order to chain them");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+ RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); // XXX: depends on UI implementation
+
+ prop= RNA_def_property(srna, "frame_start", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "sfra");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_start_frame_range");
+ RNA_def_property_ui_text(prop, "Start Frame", "Frame that modifier's influence starts (if Restrict Frame Range is in use)");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "frame_end", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "efra");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_end_frame_range");
+ RNA_def_property_ui_text(prop, "End Frame", "Frame that modifier's influence ends (if Restrict Frame Range is in use)");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "blend_in", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "blendin");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_blending_range");
+ RNA_def_property_ui_text(prop, "Blend In", "Number of frames from start frame for influence to take effect");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ prop= RNA_def_property(srna, "blend_out", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "blendout");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_FModifier_blending_range");
+ RNA_def_property_ui_text(prop, "Blend Out", "Number of frames from start frame for influence to fade out");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+
+ /* influence */
+ prop= RNA_def_property(srna, "use_influence", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", FMODIFIER_FLAG_USEINFLUENCE);
+ RNA_def_property_ui_text(prop, "Use Influence", "F-Curve Modifier's effects will be tempered by a default factor");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
+ RNA_def_property_ui_icon(prop, ICON_TRIA_RIGHT, 1); // XXX: depends on UI implementation
+
+ prop= RNA_def_property(srna, "influence", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "influence");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_float_default(prop, 1.0f);
+ RNA_def_property_ui_text(prop, "Influence", "Amount of influence F-Curve Modifier will have when not fading in/out");
+ RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
}
/* *********************** */
@@ -1035,6 +1103,12 @@ static void rna_def_drivertarget(BlenderRNA *brna)
{DTAR_TRANSCHAN_SCALEY, "SCALE_Y", 0, "Y Scale", ""},
{DTAR_TRANSCHAN_SCALEZ, "SCALE_Z", 0, "Z Scale", ""},
{0, NULL, 0, NULL, NULL}};
+
+ static EnumPropertyItem prop_local_space_items[] = {
+ {0, "WORLD_SPACE", 0, "World Space", "Transforms include effects of parenting/restpose and constraints"},
+ {DTAR_FLAG_LOCALSPACE, "TRANSFORM_SPACE", 0, "Transform Space", "Transforms don't include parenting/restpose or constraints"},
+ {DTAR_FLAG_LOCALSPACE|DTAR_FLAG_LOCAL_CONSTS, "LOCAL_SPACE", 0, "Local Space", "Transforms include effects of constraints but not parenting/restpose"},
+ {0, NULL, 0, NULL, NULL}};
srna= RNA_def_struct(brna, "DriverTarget", NULL);
RNA_def_struct_ui_text(srna, "Driver Target", "Source of input values for driver variables");
@@ -1075,9 +1149,10 @@ static void rna_def_drivertarget(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Type", "Driver variable type");
RNA_def_property_update(prop, 0, "rna_DriverTarget_update_data");
- prop= RNA_def_property(srna, "use_local_space_transform", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", DTAR_FLAG_LOCALSPACE);
- RNA_def_property_ui_text(prop, "Local Space", "Use transforms in Local Space (as opposed to the worldspace default)");
+ prop= RNA_def_property(srna, "transform_space", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_bitflag_sdna(prop, NULL, "flag");
+ RNA_def_property_enum_items(prop, prop_local_space_items);
+ RNA_def_property_ui_text(prop, "Transform Space", "Space in which transforms are used");
RNA_def_property_update(prop, 0, "rna_DriverTarget_update_data");
}
@@ -1167,6 +1242,7 @@ static void rna_def_channeldriver(BlenderRNA *brna)
srna= RNA_def_struct(brna, "Driver", NULL);
RNA_def_struct_sdna(srna, "ChannelDriver");
RNA_def_struct_ui_text(srna, "Driver", "Driver for the value of a setting based on an external value");
+ RNA_def_struct_ui_icon(srna, ICON_DRIVER);
/* Enums */
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
@@ -1242,12 +1318,12 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
/* Boolean values */
prop= RNA_def_property(srna, "select_left_handle", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "f1", 0);
- RNA_def_property_ui_text(prop, "Handle 1 selected", "Handle 1 selection status");
+ RNA_def_property_ui_text(prop, "Handle 1 selected", "Left handle selection status");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_SELECTED, NULL);
prop= RNA_def_property(srna, "select_right_handle", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "f3", 0);
- RNA_def_property_ui_text(prop, "Handle 2 selected", "Handle 2 selection status");
+ RNA_def_property_ui_text(prop, "Handle 2 selected", "Right handle selection status");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_SELECTED, NULL);
prop= RNA_def_property(srna, "select_control_point", PROP_BOOLEAN, PROP_NONE);
@@ -1258,14 +1334,14 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
/* Enums */
prop= RNA_def_property(srna, "handle_left_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "h1");
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 1 Type", "Handle types");
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
+ RNA_def_property_ui_text(prop, "Left Handle Type", "Handle types");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
prop= RNA_def_property(srna, "handle_right_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "h2");
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
- RNA_def_property_ui_text(prop, "Handle 2 Type", "Handle types");
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
+ RNA_def_property_ui_text(prop, "Right Handle Type", "Handle types");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
prop= RNA_def_property(srna, "interpolation", PROP_ENUM, PROP_NONE);
@@ -1277,14 +1353,14 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "hide");
RNA_def_property_enum_items(prop, beztriple_keyframe_type_items);
- RNA_def_property_ui_text(prop, "Type", "The type of keyframe");
+ RNA_def_property_ui_text(prop, "Type", "The type of keyframe (for visual purposes only");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
/* Vector values */
prop= RNA_def_property(srna, "handle_left", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_FKeyframe_handle1_get", "rna_FKeyframe_handle1_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 1", "Coordinates of the first handle");
+ RNA_def_property_ui_text(prop, "Left Handle", "Coordinates of the left handle (before the control point)");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
prop= RNA_def_property(srna, "co", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
@@ -1296,7 +1372,7 @@ static void rna_def_fkeyframe(BlenderRNA *brna)
prop= RNA_def_property(srna, "handle_right", PROP_FLOAT, PROP_COORDS); /* keyframes are dimensionless */
RNA_def_property_array(prop, 2);
RNA_def_property_float_funcs(prop, "rna_FKeyframe_handle2_get", "rna_FKeyframe_handle2_set", NULL);
- RNA_def_property_ui_text(prop, "Handle 2", "Coordinates of the second handle");
+ RNA_def_property_ui_text(prop, "Right Handle", "Coordinates of the right handle (after the control point)");
RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME|NA_EDITED, NULL);
}
@@ -1463,11 +1539,6 @@ static void rna_def_fcurve(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Muted", "F-Curve is not evaluated");
RNA_def_property_update(prop, NC_ANIMATION|ND_ANIMCHAN|NA_EDITED, NULL);
- prop= RNA_def_property(srna, "use_auto_handle_clamp", PROP_BOOLEAN, PROP_NONE);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", FCURVE_AUTO_HANDLES);
- RNA_def_property_ui_text(prop, "Auto Clamped Handles", "All auto-handles for F-Curve are clamped");
- RNA_def_property_update(prop, NC_ANIMATION|ND_KEYFRAME_PROP, NULL);
-
prop= RNA_def_property(srna, "hide", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", FCURVE_VISIBLE);
RNA_def_property_ui_text(prop, "Hide", "F-Curve and its keyframes are hidden in the Graph Editor graphs");
diff --git a/source/blender/makesrna/intern/rna_fluidsim.c b/source/blender/makesrna/intern/rna_fluidsim.c
index 7c93ae4168b..ccb24d7dd9b 100644
--- a/source/blender/makesrna/intern/rna_fluidsim.c
+++ b/source/blender/makesrna/intern/rna_fluidsim.c
@@ -184,7 +184,11 @@ static void rna_DomainFluidSettings_memory_estimate_get(PointerRNA *ptr, char *v
static int rna_DomainFluidSettings_memory_estimate_length(PointerRNA *ptr)
{
- return 32;
+#ifdef DISABLE_ELBEEM
+ return 0;
+#else
+ return 31;
+#endif
}
static char *rna_FluidSettings_path(PointerRNA *ptr)
@@ -312,7 +316,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");
@@ -384,6 +388,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);
diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c
index 423b4e4f76b..9811d7bd797 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
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 a52849b3366..eac4932ac43 100644
--- a/source/blender/makesrna/intern/rna_image.c
+++ b/source/blender/makesrna/intern/rna_image.c
@@ -502,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");
diff --git a/source/blender/makesrna/intern/rna_internal.h b/source/blender/makesrna/intern/rna_internal.h
index 9175806e2bb..78b8c67d92c 100644
--- a/source/blender/makesrna/intern/rna_internal.h
+++ b/source/blender/makesrna/intern/rna_internal.h
@@ -168,6 +168,7 @@ void RNA_def_sensor(struct BlenderRNA *brna);
void RNA_def_sequencer(struct BlenderRNA *brna);
void RNA_def_smoke(struct BlenderRNA *brna);
void RNA_def_space(struct BlenderRNA *brna);
+void RNA_def_speaker(struct BlenderRNA *brna);
void RNA_def_test(struct BlenderRNA *brna);
void RNA_def_text(struct BlenderRNA *brna);
void RNA_def_texture(struct BlenderRNA *brna);
@@ -238,9 +239,12 @@ void RNA_api_image(struct StructRNA *srna);
void RNA_api_operator(struct StructRNA *srna);
void RNA_api_macro(struct StructRNA *srna);
void RNA_api_keyconfig(struct StructRNA *srna);
+void RNA_api_keyconfigs(struct StructRNA *srna);
void RNA_api_keyingset(struct StructRNA *srna);
void RNA_api_keymap(struct StructRNA *srna);
+void RNA_api_keymaps(struct StructRNA *srna);
void RNA_api_keymapitem(struct StructRNA *srna);
+void RNA_api_keymapitems(struct StructRNA *srna);
void RNA_api_area(struct StructRNA *srna);
void RNA_api_main(struct StructRNA *srna);
void RNA_api_material(StructRNA *srna);
@@ -257,6 +261,8 @@ void RNA_api_wm(struct StructRNA *srna);
void RNA_api_sensor(struct StructRNA *srna);
void RNA_api_controller(struct StructRNA *srna);
void RNA_api_actuator(struct StructRNA *srna);
+void RNA_api_texture(struct StructRNA *srna);
+void RNA_api_environment_map(struct StructRNA *srna);
/* main collection functions */
void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop);
@@ -279,6 +285,7 @@ void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop);
+void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop);
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop);
diff --git a/source/blender/makesrna/intern/rna_internal_types.h b/source/blender/makesrna/intern/rna_internal_types.h
index 6ff7bc20b05..249833ae94b 100644
--- a/source/blender/makesrna/intern/rna_internal_types.h
+++ b/source/blender/makesrna/intern/rna_internal_types.h
@@ -179,7 +179,8 @@ struct PropertyRNA {
* 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 tuple */
+ /* python handle to hold all callbacks
+ * (in a pointer array at the moment, may later be a tuple) */
void *py_data;
};
diff --git a/source/blender/makesrna/intern/rna_main.c b/source/blender/makesrna/intern/rna_main.c
index bb13a3b1bf1..021aa9660ed 100644
--- a/source/blender/makesrna/intern/rna_main.c
+++ b/source/blender/makesrna/intern/rna_main.c
@@ -187,6 +187,12 @@ static void rna_Main_text_begin(CollectionPropertyIterator *iter, PointerRNA *pt
rna_iterator_listbase_begin(iter, &bmain->text, NULL);
}
+static void rna_Main_speaker_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
+{
+ Main *bmain= (Main*)ptr->data;
+ rna_iterator_listbase_begin(iter, &bmain->speaker, NULL);
+}
+
static void rna_Main_sound_begin(CollectionPropertyIterator *iter, PointerRNA *ptr)
{
Main *bmain= (Main*)ptr->data;
@@ -297,6 +303,7 @@ void RNA_def_main(BlenderRNA *brna)
{"shape_keys", "Key", "rna_Main_key_begin", "Shape Keys", "Shape Key datablocks.", NULL},
{"scripts", "ID", "rna_Main_script_begin", "Scripts", "Script datablocks (DEPRECATED).", NULL},
{"texts", "Text", "rna_Main_text_begin", "Texts", "Text datablocks.", RNA_def_main_texts},
+ {"speakers", "Speaker", "rna_Main_speaker_begin", "Speakers", "Speaker datablocks.", RNA_def_main_speakers},
{"sounds", "Sound", "rna_Main_sound_begin", "Sounds", "Sound datablocks.", RNA_def_main_sounds},
{"armatures", "Armature", "rna_Main_armature_begin", "Armatures", "Armature datablocks.", RNA_def_main_armatures},
{"actions", "Action", "rna_Main_action_begin", "Actions", "Action datablocks.", RNA_def_main_actions},
diff --git a/source/blender/makesrna/intern/rna_main_api.c b/source/blender/makesrna/intern/rna_main_api.c
index 8ac620c2fcf..1ba6905ea37 100644
--- a/source/blender/makesrna/intern/rna_main_api.c
+++ b/source/blender/makesrna/intern/rna_main_api.c
@@ -38,6 +38,7 @@
#include "RNA_define.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
+#include "rna_internal.h"
#include "BKE_utildefines.h"
@@ -63,6 +64,7 @@
#include "BKE_particle.h"
#include "BKE_font.h"
#include "BKE_node.h"
+#include "BKE_speaker.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
@@ -71,6 +73,7 @@
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_object_types.h"
+#include "DNA_speaker_types.h"
#include "DNA_text_types.h"
#include "DNA_texture_types.h"
#include "DNA_group_types.h"
@@ -147,6 +150,9 @@ Object *rna_Main_objects_new(Main *UNUSED(bmain), ReportList *reports, const cha
case ID_LA:
type= OB_LAMP;
break;
+ case ID_SPK:
+ type= OB_SPEAKER;
+ break;
case ID_CA:
type= OB_CAMERA;
break;
@@ -208,9 +214,7 @@ void rna_Main_materials_remove(Main *bmain, ReportList *reports, struct Material
struct bNodeTree *rna_Main_nodetree_new(Main *UNUSED(bmain), const char *name, int type)
{
- bNodeTree *tree = ntreeAddTree(name, type, TRUE);
-
-// ntreeMakeGroupSockets(tree);
+ bNodeTree *tree = ntreeAddTree(name, type, NODE_GROUP);
id_us_min(&tree->id);
return tree;
@@ -406,6 +410,22 @@ void rna_Main_groups_remove(Main *bmain, Group *group)
/* XXX python now has invalid pointer? */
}
+Speaker *rna_Main_speakers_new(Main *UNUSED(bmain), const char *name)
+{
+ Speaker *speaker= add_speaker(name);
+ id_us_min(&speaker->id);
+ return speaker;
+}
+void rna_Main_speakers_remove(Main *bmain, ReportList *reports, Speaker *speaker)
+{
+ if(ID_REAL_USERS(speaker) <= 0)
+ free_libblock(&bmain->speaker, speaker);
+ else
+ BKE_reportf(reports, RPT_ERROR, "Speaker \"%s\" must have zero users to be removed, found %d.", speaker->id.name+2, ID_REAL_USERS(speaker));
+
+ /* XXX python now has invalid pointer? */
+}
+
Text *rna_Main_texts_new(Main *UNUSED(bmain), const char *name)
{
return add_empty_text(name);
@@ -502,6 +522,7 @@ void rna_Main_groups_tag(Main *bmain, int value) { tag_main_lb(&bmain->group, va
void rna_Main_shape_keys_tag(Main *bmain, int value) { tag_main_lb(&bmain->key, value); }
void rna_Main_scripts_tag(Main *bmain, int value) { tag_main_lb(&bmain->script, value); }
void rna_Main_texts_tag(Main *bmain, int value) { tag_main_lb(&bmain->text, value); }
+void rna_Main_speakers_tag(Main *bmain, int value) { tag_main_lb(&bmain->speaker, value); }
void rna_Main_sounds_tag(Main *bmain, int value) { tag_main_lb(&bmain->sound, value); }
void rna_Main_armatures_tag(Main *bmain, int value) { tag_main_lb(&bmain->armature, value); }
void rna_Main_actions_tag(Main *bmain, int value) { tag_main_lb(&bmain->action, value); }
@@ -1076,6 +1097,37 @@ void RNA_def_main_groups(BlenderRNA *brna, PropertyRNA *cprop)
parm= RNA_def_boolean(func, "value", 0, "Value", "");
RNA_def_property_flag(parm, PROP_REQUIRED);
}
+
+void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
+{
+ StructRNA *srna;
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ RNA_def_property_srna(cprop, "BlendDataSpeakers");
+ srna= RNA_def_struct(brna, "BlendDataSpeakers", NULL);
+ RNA_def_struct_sdna(srna, "Main");
+ RNA_def_struct_ui_text(srna, "Main Speakers", "Collection of speakers");
+
+ func= RNA_def_function(srna, "new", "rna_Main_speakers_new");
+ RNA_def_function_ui_description(func, "Add a new speaker to the main database");
+ parm= RNA_def_string(func, "name", "Speaker", 0, "", "New name for the datablock.");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ /* return type */
+ parm= RNA_def_pointer(func, "speaker", "Speaker", "", "New speaker datablock.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "rna_Main_speakers_remove");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ RNA_def_function_ui_description(func, "Remove a speaker from the current blendfile.");
+ parm= RNA_def_pointer(func, "speaker", "Speaker", "", "Speaker to remove.");
+ RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
+
+ func= RNA_def_function(srna, "tag", "rna_Main_speakers_tag");
+ parm= RNA_def_boolean(func, "value", 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+}
+
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
diff --git a/source/blender/makesrna/intern/rna_material.c b/source/blender/makesrna/intern/rna_material.c
index b86a91967a6..f407aba82fb 100644
--- a/source/blender/makesrna/intern/rna_material.c
+++ b/source/blender/makesrna/intern/rna_material.c
@@ -1675,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);
diff --git a/source/blender/makesrna/intern/rna_mesh.c b/source/blender/makesrna/intern/rna_mesh.c
index 2d3c3fe7a3a..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"
@@ -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)
@@ -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;
@@ -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_modifier.c b/source/blender/makesrna/intern/rna_modifier.c
index 749ece4d635..ab89ec43740 100644
--- a/source/blender/makesrna/intern/rna_modifier.c
+++ b/source/blender/makesrna/intern/rna_modifier.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -407,7 +408,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)
@@ -581,6 +583,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[])
@@ -779,6 +809,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)
@@ -1368,10 +1403,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");
@@ -1968,10 +2009,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");
}
@@ -2221,6 +2269,13 @@ static void rna_def_modifier_solidify(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Thickness", "Thickness of the shell");
RNA_def_property_update(prop, 0, "rna_Modifier_update");
+ prop= RNA_def_property(srna, "thickness_vertex_group", PROP_FLOAT, PROP_FACTOR);
+ RNA_def_property_float_sdna(prop, NULL, "offset_fac_vg");
+ RNA_def_property_range(prop, 0.0, 1.0);
+ RNA_def_property_ui_range(prop, 0, 1, 0.1, 3);
+ RNA_def_property_ui_text(prop, "Vertex Group Factor", "Thickness factor to use for zero vertex group influence");
+ RNA_def_property_update(prop, 0, "rna_Modifier_update");
+
prop= RNA_def_property(srna, "offset", PROP_FLOAT, PROP_FACTOR);
RNA_def_property_float_sdna(prop, NULL, "offset_fac");
RNA_def_property_range(prop, -FLT_MAX, FLT_MAX);
@@ -2314,7 +2369,7 @@ static void rna_def_modifier_screw(BlenderRNA *brna)
prop= RNA_def_property(srna, "steps", PROP_INT, PROP_UNSIGNED);
RNA_def_property_range(prop, 2, 10000);
- RNA_def_property_ui_range(prop, 2, 512, 1, 0);
+ RNA_def_property_ui_range(prop, 3, 512, 1, 0);
RNA_def_property_ui_text(prop, "Steps", "Number of steps in the revolution");
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 71bff06a864..ef4adde6fb4 100644
--- a/source/blender/makesrna/intern/rna_nla.c
+++ b/source/blender/makesrna/intern/rna_nla.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -222,6 +220,29 @@ static void rna_NlaStrip_blend_out_set(PointerRNA *ptr, float value)
data->blendout= value;
}
+static int rna_NlaStrip_action_editable(PointerRNA *ptr)
+{
+ NlaStrip *strip = (NlaStrip *)ptr->data;
+
+ /* strip actions shouldn't be editable if NLA tweakmode is on */
+ if (ptr->id.data) {
+ AnimData *adt = BKE_animdata_from_id(ptr->id.data);
+
+ if (adt) {
+ /* active action is only editable when it is not a tweaking strip */
+ if ((adt->flag & ADT_NLA_EDIT_ON) || (adt->actstrip) || (adt->tmpact))
+ return 0;
+ }
+ }
+
+ /* check for clues that strip probably shouldn't be used... */
+ if (strip->flag & NLASTRIP_FLAG_TWEAKUSER)
+ return 0;
+
+ /* should be ok, though we may still miss some cases */
+ return 1;
+}
+
static void rna_NlaStrip_action_start_frame_set(PointerRNA *ptr, float value)
{
NlaStrip *data= (NlaStrip*)ptr->data;
@@ -357,6 +378,7 @@ static void rna_def_nlastrip(BlenderRNA *brna)
{NLASTRIP_TYPE_CLIP, "CLIP", 0, "Action Clip", "NLA Strip references some Action"},
{NLASTRIP_TYPE_TRANSITION, "TRANSITION", 0, "Transition", "NLA Strip 'transitions' between adjacent strips"},
{NLASTRIP_TYPE_META, "META", 0, "Meta", "NLA Strip acts as a container for adjacent strips"},
+ {NLASTRIP_TYPE_SOUND, "SOUND", 0, "Sound Clip", "NLA Strip representing a sound event for speakers"},
{0, NULL, 0, NULL, NULL}};
/* struct definition */
@@ -428,6 +450,7 @@ static void rna_def_nlastrip(BlenderRNA *brna)
RNA_def_property_pointer_sdna(prop, NULL, "act");
RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_Action_id_poll");
RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_editable_func(prop, "rna_NlaStrip_action_editable");
RNA_def_property_ui_text(prop, "Action", "Action referenced by this strip");
RNA_def_property_update(prop, NC_ANIMATION|ND_NLA, NULL); /* this will do? */
diff --git a/source/blender/makesrna/intern/rna_nodetree.c b/source/blender/makesrna/intern/rna_nodetree.c
index d0b60c7f153..49a0458977a 100644
--- a/source/blender/makesrna/intern/rna_nodetree.c
+++ b/source/blender/makesrna/intern/rna_nodetree.c
@@ -30,13 +30,17 @@
#include <stdlib.h>
#include <string.h>
+#include "RNA_access.h"
#include "RNA_define.h"
#include "RNA_enum_types.h"
#include "rna_internal.h"
+#include "rna_internal_types.h"
#include "DNA_material_types.h"
+#include "DNA_mesh_types.h"
#include "DNA_node_types.h"
+#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_texture_types.h"
@@ -53,9 +57,16 @@
#include "MEM_guardedalloc.h"
+EnumPropertyItem nodetree_type_items[] = {
+ {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes" },
+ {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes" },
+ {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes" },
+ {0, NULL, 0, NULL, NULL}
+};
+
EnumPropertyItem node_socket_type_items[] = {
- {SOCK_VALUE, "VALUE", 0, "Value", ""},
+ {SOCK_FLOAT, "VALUE", 0, "Value", ""},
{SOCK_VECTOR, "VECTOR", 0, "Vector", ""},
{SOCK_RGBA, "RGBA", 0, "RGBA", ""},
{0, NULL, 0, NULL, NULL}};
@@ -99,6 +110,41 @@ EnumPropertyItem node_filter_items[] = {
{6, "SHADOW", 0, "Shadow", ""},
{0, NULL, 0, NULL, NULL}};
+
+/* Add any new socket value subtype here.
+ * When adding a new subtype here, make sure you also add it
+ * to the subtype definitions in DNA_node_types.h.
+ * This macro is used by the RNA and the internal converter functions
+ * to define all socket subtypes. The SUBTYPE macro must be defined
+ * before using this macro, and undefined afterwards.
+ */
+#define NODE_DEFINE_SUBTYPES_INT \
+SUBTYPE(INT, Int, NONE, None) \
+SUBTYPE(INT, Int, UNSIGNED, Unsigned)
+
+#define NODE_DEFINE_SUBTYPES_FLOAT \
+SUBTYPE(FLOAT, Float, NONE, None) \
+SUBTYPE(FLOAT, Float, UNSIGNED, Unsigned) \
+SUBTYPE(FLOAT, Float, PERCENTAGE, Percentage) \
+SUBTYPE(FLOAT, Float, FACTOR, Factor) \
+SUBTYPE(FLOAT, Float, ANGLE, Angle) \
+SUBTYPE(FLOAT, Float, TIME, Time) \
+SUBTYPE(FLOAT, Float, DISTANCE, Distance)
+
+#define NODE_DEFINE_SUBTYPES_VECTOR \
+SUBTYPE(VECTOR, Vector, NONE, None) \
+SUBTYPE(VECTOR, Vector, TRANSLATION, Translation) \
+SUBTYPE(VECTOR, Vector, DIRECTION, Direction) \
+SUBTYPE(VECTOR, Vector, VELOCITY, Velocity) \
+SUBTYPE(VECTOR, Vector, ACCELERATION, Acceleration) \
+SUBTYPE(VECTOR, Vector, EULER, Euler) \
+SUBTYPE(VECTOR, Vector, XYZ, XYZ)
+
+#define NODE_DEFINE_SUBTYPES \
+NODE_DEFINE_SUBTYPES_INT \
+NODE_DEFINE_SUBTYPES_FLOAT \
+NODE_DEFINE_SUBTYPES_VECTOR
+
#ifdef RNA_RUNTIME
#include "BLI_linklist.h"
@@ -121,32 +167,18 @@ static StructRNA *rna_Node_refine(struct PointerRNA *ptr)
#include "rna_nodetree_types.h"
- #undef DefNode
-
case NODE_GROUP:
return &RNA_NodeGroup;
+ case NODE_FORLOOP:
+ return &RNA_NodeForLoop;
+ case NODE_WHILELOOP:
+ return &RNA_NodeWhileLoop;
default:
return &RNA_Node;
}
}
-static StructRNA *rna_NodeSocketType_refine(struct PointerRNA *ptr)
-{
- bNodeSocket *ns= (bNodeSocket*)ptr->data;
-
- switch(ns->type) {
- case SOCK_VALUE:
- return &RNA_ValueNodeSocket;
- case SOCK_VECTOR:
- return &RNA_VectorNodeSocket;
- case SOCK_RGBA:
- return &RNA_RGBANodeSocket;
- default:
- return &RNA_UnknownType;
- }
-}
-
static StructRNA *rna_NodeTree_refine(struct PointerRNA *ptr)
{
bNodeTree *ntree= (bNodeTree*)ptr->data;
@@ -170,6 +202,46 @@ static char *rna_Node_path(PointerRNA *ptr)
return BLI_sprintfN("nodes[\"%s\"]", node->name);
}
+static StructRNA *rna_NodeSocket_refine(PointerRNA *ptr)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+
+ if (sock->default_value) {
+ /* This returns the refined socket type with the full definition
+ * of the default input value with type and subtype.
+ */
+
+ #define SUBTYPE(socktype, stypename, id, idname) \
+ { \
+ bNodeSocketValue##stypename *value= (bNodeSocketValue##stypename*)sock->default_value; \
+ if (value->subtype==PROP_##id) \
+ return &RNA_NodeSocket##stypename##idname; \
+ }
+
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ NODE_DEFINE_SUBTYPES_FLOAT
+ break;
+ case SOCK_INT:
+ NODE_DEFINE_SUBTYPES_INT
+ break;
+ case SOCK_BOOLEAN:
+ return &RNA_NodeSocketBoolean;
+ break;
+ case SOCK_VECTOR:
+ NODE_DEFINE_SUBTYPES_VECTOR
+ break;
+ case SOCK_RGBA:
+ return &RNA_NodeSocketRGBA;
+ break;
+ }
+
+ #undef SUBTYPE
+ }
+
+ return &RNA_NodeSocket;
+}
+
static char *rna_NodeSocket_path(PointerRNA *ptr)
{
bNodeTree *ntree= (bNodeTree*)ptr->id.data;
@@ -275,7 +347,7 @@ static void rna_NodeGroup_update(Main *bmain, Scene *scene, PointerRNA *ptr)
bNodeTree *ntree= (bNodeTree*)ptr->id.data;
bNode *node= (bNode*)ptr->data;
- nodeGroupVerify((bNodeTree *)node->id);
+ ntreeUpdateTree((bNodeTree *)node->id);
node_update(bmain, scene, ntree, node);
}
@@ -313,18 +385,42 @@ static void rna_NodeGroupSocket_update(Main *bmain, Scene *scene, PointerRNA *pt
bNodeSocket *sock= (bNodeSocket*)ptr->data;
bNode *node;
- nodeGroupVerify(ntree);
+ ntreeUpdateTree(ntree);
if (nodeFindNode(ntree, sock, &node, NULL, NULL))
node_update(bmain, scene, ntree, node);
}
-static void rna_NodeSocket_defvalue_range(PointerRNA *ptr, float *min, float *max)
+static void rna_NodeLink_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ bNodeTree *ntree= (bNodeTree*)ptr->id.data;
+
+ ntree->update |= NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+}
+
+static void rna_NodeSocketInt_range(PointerRNA *ptr, int *min, int *max)
{
bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueInt *val= (bNodeSocketValueInt*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
+}
- *min = sock->ns.min;
- *max = sock->ns.max;
+static void rna_NodeSocketFloat_range(PointerRNA *ptr, float *min, float *max)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueFloat *val= (bNodeSocketValueFloat*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
+}
+
+static void rna_NodeSocketVector_range(PointerRNA *ptr, float *min, float *max)
+{
+ bNodeSocket *sock= (bNodeSocket*)ptr->data;
+ bNodeSocketValueVector *val= (bNodeSocketValueVector*)sock->default_value;
+ *min = val->min;
+ *max = val->max;
}
static void rna_Node_mapping_update(Main *bmain, Scene *scene, PointerRNA *ptr)
@@ -454,18 +550,22 @@ static EnumPropertyItem *rna_Node_channel_itemf(bContext *UNUSED(C), PointerRNA
static bNode *rna_NodeTree_node_new(bNodeTree *ntree, bContext *UNUSED(C), ReportList *reports, int type, bNodeTree *group)
{
bNode *node;
+ bNodeTemplate ntemp;
if (type == NODE_GROUP && group == NULL) {
BKE_reportf(reports, RPT_ERROR, "node type \'GROUP\' missing group argument");
return NULL;
}
- node = nodeAddNodeType(ntree, type, group, NULL);
-
+
+ ntemp.type = type;
+ ntemp.ngroup = group;
+ node = nodeAddNode(ntree, &ntemp);
+
if (node == NULL) {
BKE_reportf(reports, RPT_ERROR, "Unable to create node");
}
else {
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree); /* update group node socket links*/
NodeTagChanged(ntree, node);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
@@ -495,7 +595,7 @@ static bNode *rna_NodeTree_node_composite_new(bNodeTree *ntree, bContext *C, Rep
}
ntreeCompositForceHidden(ntree, CTX_data_scene(C));
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(ntree);
}
return node;
@@ -523,7 +623,7 @@ static void rna_NodeTree_node_remove(bNodeTree *ntree, ReportList *reports, bNod
id_us_min(node->id);
nodeFreeNode(ntree, node);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree); /* update group node socket links*/
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -551,9 +651,7 @@ static bNodeLink *rna_NodeTree_link_new(bNodeTree *ntree, ReportList *reports, b
if(ret) {
NodeTagChanged(ntree, tonode);
- nodeGroupVerify(ntree); /* update group node socket links*/
-
- ntreeSolveOrder(ntree);
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -567,8 +665,7 @@ static void rna_NodeTree_link_remove(bNodeTree *ntree, ReportList *reports, bNod
}
else {
nodeRemLink(ntree, link);
- ntreeSolveOrder(ntree);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
}
@@ -577,9 +674,10 @@ static void rna_NodeTree_link_remove(bNodeTree *ntree, ReportList *reports, bNod
static bNodeSocket *rna_NodeTree_input_new(bNodeTree *ntree, ReportList *UNUSED(reports), const char *name, int type)
{
/* XXX should check if tree is a group here! no good way to do this currently. */
- bNodeSocket *gsock= nodeGroupAddSocket(ntree, name, type, SOCK_IN);
+ bNodeSocket *gsock= node_group_add_socket(ntree, name, type, SOCK_IN);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -587,9 +685,10 @@ static bNodeSocket *rna_NodeTree_input_new(bNodeTree *ntree, ReportList *UNUSED(
static bNodeSocket *rna_NodeTree_output_new(bNodeTree *ntree, ReportList *UNUSED(reports), const char *name, int type)
{
/* XXX should check if tree is a group here! no good way to do this currently. */
- bNodeSocket *gsock= nodeGroupAddSocket(ntree, name, type, SOCK_OUT);
+ bNodeSocket *gsock= node_group_add_socket(ntree, name, type, SOCK_OUT);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -606,11 +705,12 @@ static bNodeSocket *rna_NodeTree_input_expose(bNodeTree *ntree, ReportList *repo
BKE_reportf(reports, RPT_ERROR, "Socket is not an input");
else {
/* XXX should check if tree is a group here! no good way to do this currently. */
- gsock = nodeGroupAddSocket(ntree, sock->name, sock->type, SOCK_IN);
+ gsock = node_group_add_socket(ntree, sock->name, sock->type, SOCK_IN);
if (add_link)
nodeAddLink(ntree, NULL, gsock, node, sock);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_IN;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -629,11 +729,12 @@ static bNodeSocket *rna_NodeTree_output_expose(bNodeTree *ntree, ReportList *rep
BKE_reportf(reports, RPT_ERROR, "Socket is not an output");
else {
/* XXX should check if tree is a group here! no good way to do this currently. */
- gsock = nodeGroupAddSocket(ntree, sock->name, sock->type, SOCK_OUT);
+ gsock = node_group_add_socket(ntree, sock->name, sock->type, SOCK_OUT);
if (add_link)
nodeAddLink(ntree, node, sock, NULL, gsock);
- nodeGroupVerify(ntree); /* update group node socket links*/
+ ntree->update |= NTREE_UPDATE_GROUP_OUT;
+ ntreeUpdateTree(ntree);
WM_main_add_notifier(NC_NODE|NA_EDITED, ntree);
return gsock;
}
@@ -668,14 +769,16 @@ static EnumPropertyItem node_ycc_items[] = {
{ 2, "JFIF", 0, "Jpeg", ""},
{0, NULL, 0, NULL, NULL}};
-#define MaxNodes 1000
+#define MaxNodes 50000
enum
{
Category_GroupNode,
+ Category_LoopNode,
+ Category_LayoutNode,
Category_ShaderNode,
Category_CompositorNode,
- Category_TextureNode
+ Category_TextureNode,
};
typedef struct NodeInfo
@@ -715,9 +818,10 @@ static void init(void)
#include "rna_nodetree_types.h"
- #undef DefNode
-
reg_node(NODE_GROUP, Category_GroupNode, "GROUP", "NodeGroup", "Node", "Group", "");
+ reg_node(NODE_FORLOOP, Category_LoopNode, "FORLOOP", "NodeForLoop", "Node", "ForLoop", "");
+ reg_node(NODE_WHILELOOP, Category_LoopNode, "WHILELOOP", "NodeWhileLoop", "Node", "WhileLoop", "");
+ reg_node(NODE_FRAME, Category_LayoutNode, "FRAME", "NodeFrame", "Node", "Frame", "");
}
static StructRNA* def_node(BlenderRNA *brna, int node_id)
@@ -732,7 +836,7 @@ static StructRNA* def_node(BlenderRNA *brna, int node_id)
return srna;
}
-void alloc_node_type_items(EnumPropertyItem *items, int category)
+static void alloc_node_type_items(EnumPropertyItem *items, int category)
{
int i;
int count = 3;
@@ -793,6 +897,41 @@ static void def_group(StructRNA *srna)
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
}
+static void def_forloop(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop = RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "id");
+ RNA_def_property_struct_type(prop, "NodeTree");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Node Tree", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+}
+
+static void def_whileloop(StructRNA *srna)
+{
+ PropertyRNA *prop;
+
+ prop = RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "id");
+ RNA_def_property_struct_type(prop, "NodeTree");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Node Tree", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+
+ prop = RNA_def_property(srna, "max_iterations", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "custom1");
+ RNA_def_property_range(prop, 0.0f, 10000000.0f);
+ RNA_def_property_ui_text(prop, "Max. Iterations", "Limit for number of iterations");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroup_update");
+}
+
+static void def_frame(StructRNA *srna)
+{
+// PropertyRNA *prop;
+
+}
static void def_math(StructRNA *srna)
{
@@ -2221,6 +2360,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");
@@ -2229,6 +2369,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");
@@ -2508,94 +2649,112 @@ static void rna_def_node_socket(BlenderRNA *brna)
srna = RNA_def_struct(brna, "NodeSocket", NULL);
RNA_def_struct_ui_text(srna, "Node Socket", "Input or output socket of a node");
- RNA_def_struct_refine_func(srna, "rna_NodeSocketType_refine");
RNA_def_struct_sdna(srna, "bNodeSocket");
+ RNA_def_struct_refine_func(srna, "rna_NodeSocket_refine");
RNA_def_struct_ui_icon(srna, ICON_PLUG);
RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
+ prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "type");
+ RNA_def_property_enum_items(prop, node_socket_type_items);
+ RNA_def_property_enum_default(prop, 0);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Type", "Node Socket type");
+
prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
/* XXX must be editable for group sockets. if necessary use a special rna definition for these */
// RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Name", "Socket name");
RNA_def_struct_name_property(srna, prop);
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeGroupSocket_update");
-
- /* can add back if there is any use in reading them */
-#if 0
- prop = RNA_def_property(srna, "min", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.min");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Minimum Value", "");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
-
- prop = RNA_def_property(srna, "max", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.max");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Maximum Value", "");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
-#endif
-
- prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_enum_items(prop, node_socket_type_items);
- RNA_def_property_ui_text(prop, "Type", "Node Socket type");
}
-static void rna_def_node_socket_value(BlenderRNA *brna)
+static void rna_def_node_socket_subtype(BlenderRNA *brna, int type, int subtype, const char *name, const char *ui_name)
{
StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "ValueNodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "Value Node Socket", "Input or output socket of a node");
+ PropertyRNA *prop=NULL;
+ PropertySubType propsubtype= PROP_NONE;
+
+ #define SUBTYPE(socktype, stypename, id, idname) { PROP_##id, #id, 0, #idname, ""},
+ static EnumPropertyItem subtype_items[] = {
+ NODE_DEFINE_SUBTYPES
+ {0, NULL, 0, NULL, NULL}
+ };
+ #undef SUBTYPE
+
+ #define SUBTYPE(socktype, stypename, id, idname) if (subtype==PROP_##id) propsubtype = PROP_##id;
+ NODE_DEFINE_SUBTYPES
+ #undef SUBTYPE
+
+ srna = RNA_def_struct(brna, name, "NodeSocket");
+ RNA_def_struct_ui_text(srna, ui_name, "Input or output socket of a node");
RNA_def_struct_sdna(srna, "bNodeSocket");
RNA_def_struct_ui_icon(srna, ICON_PLUG);
RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_NONE);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 1);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
-}
-
-static void rna_def_node_socket_vector(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "VectorNodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "Vector Node Socket", "Input or output socket of a node");
- RNA_def_struct_sdna(srna, "bNodeSocket");
- RNA_def_struct_ui_icon(srna, ICON_PLUG);
- RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_XYZ);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 3);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
-}
-
-static void rna_def_node_socket_rgba(BlenderRNA *brna)
-{
- StructRNA *srna;
- PropertyRNA *prop;
-
- srna = RNA_def_struct(brna, "RGBANodeSocket", "NodeSocket");
- RNA_def_struct_ui_text(srna, "RGBA Node Socket", "Input or output socket of a node");
- RNA_def_struct_sdna(srna, "bNodeSocket");
- RNA_def_struct_ui_icon(srna, ICON_PLUG);
- RNA_def_struct_path_func(srna, "rna_NodeSocket_path");
-
- prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_COLOR);
- RNA_def_property_float_sdna(prop, NULL, "ns.vec");
- RNA_def_property_array(prop, 4);
- RNA_def_property_ui_text(prop, "Default Value", "Default value of the socket when no link is attached");
- RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
- RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocket_defvalue_range");
+
+ switch (type) {
+ case SOCK_INT:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueInt", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_INT, propsubtype);
+ RNA_def_property_int_sdna(prop, NULL, "value");
+ RNA_def_property_int_funcs(prop, NULL, NULL, "rna_NodeSocketInt_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_FLOAT:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueFloat", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, propsubtype);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketFloat_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_BOOLEAN:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueBoolean", "default_value");
+
+ prop = RNA_def_property(srna, "default_value", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "value", 1);
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_VECTOR:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueVector", "default_value");
+
+ prop = RNA_def_property(srna, "subtype", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "subtype");
+ RNA_def_property_enum_items(prop, subtype_items);
+ RNA_def_property_ui_text(prop, "Subtype", "Subtype defining the socket value details");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, propsubtype);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_float_funcs(prop, NULL, NULL, "rna_NodeSocketVector_range");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ case SOCK_RGBA:
+ RNA_def_struct_sdna_from(srna, "bNodeSocketValueRGBA", "default_value");
+
+ prop = RNA_def_property(srna, "default_value", PROP_FLOAT, PROP_COLOR);
+ RNA_def_property_float_sdna(prop, NULL, "value");
+ RNA_def_property_ui_text(prop, "Default Value", "");
+ RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_NodeSocket_update");
+ break;
+ }
}
static void rna_def_node(BlenderRNA *brna)
@@ -2623,6 +2782,11 @@ static void rna_def_node(BlenderRNA *brna)
RNA_def_property_string_funcs(prop, NULL, NULL, "rna_Node_name_set");
RNA_def_property_update(prop, NC_NODE|NA_EDITED, "rna_Node_update");
+ prop = RNA_def_property(srna, "label", PROP_STRING, PROP_NONE);
+ RNA_def_property_string_sdna(prop, NULL, "label");
+ RNA_def_property_ui_text(prop, "Label", "Optional custom node label");
+ RNA_def_property_update(prop, NC_NODE, "rna_Node_update");
+
prop = RNA_def_property(srna, "inputs", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "inputs", NULL);
RNA_def_property_struct_type(prop, "NodeSocket");
@@ -2632,18 +2796,19 @@ static void rna_def_node(BlenderRNA *brna)
RNA_def_property_collection_sdna(prop, NULL, "outputs", NULL);
RNA_def_property_struct_type(prop, "NodeSocket");
RNA_def_property_ui_text(prop, "Outputs", "");
-
- prop = RNA_def_property(srna, "label", PROP_STRING, PROP_NONE);
- RNA_def_property_string_sdna(prop, NULL, "label");
- RNA_def_property_ui_text(prop, "Label", "Optional custom node label");
- RNA_def_property_update(prop, NC_NODE, "rna_Node_update");
+
+ prop = RNA_def_property(srna, "parent", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "parent");
+ RNA_def_property_struct_type(prop, "Node");
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Parent", "Parent this node is attached to");
}
static void rna_def_node_link(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
-
+
srna = RNA_def_struct(brna, "NodeLink", NULL);
RNA_def_struct_ui_text(srna, "NodeLink", "Link between nodes in a node tree");
RNA_def_struct_sdna(srna, "bNodeLink");
@@ -2685,7 +2850,7 @@ static void rna_def_group_sockets_api(BlenderRNA *brna, PropertyRNA *cprop, int
RNA_def_function_ui_description(func, "Add a socket to the group tree.");
RNA_def_function_flag(func, FUNC_USE_REPORTS);
RNA_def_string(func, "name", "Socket", 32, "Name", "Name of the socket");
- RNA_def_enum(func, "type", node_socket_type_items, SOCK_VALUE, "Type", "Type of socket");
+ RNA_def_enum(func, "type", node_socket_type_items, SOCK_FLOAT, "Type", "Type of socket");
/* return value */
parm= RNA_def_pointer(func, "socket", "NodeSocket", "", "New socket.");
RNA_def_function_return(func, parm);
@@ -2706,12 +2871,6 @@ static void rna_def_nodetree(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static EnumPropertyItem nodetree_type_items[] = {
- {NTREE_SHADER, "SHADER", 0, "Shader", ""},
- {NTREE_COMPOSIT, "COMPOSITE", 0, "Composite", ""},
- {NTREE_TEXTURE, "TEXTURE", 0, "Texture", ""},
- {0, NULL, 0, NULL, NULL}};
-
srna = RNA_def_struct(brna, "NodeTree", "ID");
RNA_def_struct_ui_text(srna, "Node Tree", "Node tree consisting of linked nodes used for materials, textures and compositing");
RNA_def_struct_sdna(srna, "bNodeTree");
@@ -2734,6 +2893,7 @@ static void rna_def_nodetree(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_NODE, NULL);
prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -2823,15 +2983,23 @@ void RNA_def_nodetree(BlenderRNA *brna)
{
init();
rna_def_nodetree(brna);
+
rna_def_node_socket(brna);
- rna_def_node_socket_value(brna);
- rna_def_node_socket_vector(brna);
- rna_def_node_socket_rgba(brna);
+
+ /* Generate RNA definitions for all socket subtypes */
+ #define SUBTYPE(socktype, stypename, id, idname) \
+ rna_def_node_socket_subtype(brna, SOCK_##socktype, PROP_##id, "NodeSocket"#stypename#idname, #idname" "#stypename" Node Socket");
+ NODE_DEFINE_SUBTYPES
+ #undef SUBTYPE
+ rna_def_node_socket_subtype(brna, SOCK_BOOLEAN, 0, "NodeSocketBoolean", "Boolean Node Socket");
+ rna_def_node_socket_subtype(brna, SOCK_RGBA, 0, "NodeSocketRGBA", "RGBA Node Socket");
+
rna_def_node(brna);
rna_def_node_link(brna);
rna_def_shader_node(brna);
rna_def_compositor_node(brna);
rna_def_texture_node(brna);
+
rna_def_composite_nodetree(brna);
rna_def_shader_nodetree(brna);
rna_def_texture_nodetree(brna);
@@ -2840,10 +3008,14 @@ void RNA_def_nodetree(BlenderRNA *brna)
#include "rna_nodetree_types.h"
- #undef DefNode
-
define_specific_node(brna, NODE_GROUP, def_group);
+ define_specific_node(brna, NODE_FORLOOP, def_forloop);
+ define_specific_node(brna, NODE_WHILELOOP, def_whileloop);
+ define_specific_node(brna, NODE_FRAME, def_frame);
}
+/* clean up macro definition */
+#undef NODE_DEFINE_SUBTYPES
+
#endif
diff --git a/source/blender/makesrna/intern/rna_nodetree_types.h b/source/blender/makesrna/intern/rna_nodetree_types.h
index d48df85697a..a624d1d6403 100644
--- a/source/blender/makesrna/intern/rna_nodetree_types.h
+++ b/source/blender/makesrna/intern/rna_nodetree_types.h
@@ -26,7 +26,12 @@
* \ingroup RNA
*/
-
+
+/* Empty definitions for undefined macros to avoid warnings */
+#ifndef DefNode
+#define DefNode(Category, ID, DefFunc, EnumName, StructName, UIName, UIDesc)
+#endif
+
/* Tree type Node ID RNA def function Enum name Struct name UI Name UI Description */
DefNode( ShaderNode, SH_NODE_OUTPUT, 0, "OUTPUT", Output, "Output", "" )
DefNode( ShaderNode, SH_NODE_MATERIAL, def_sh_material, "MATERIAL", Material, "Material", "" )
@@ -138,3 +143,6 @@ DefNode( TextureNode, TEX_NODE_DECOMPOSE, 0, "DECOM
DefNode( TextureNode, TEX_NODE_VALTONOR, 0, "VALTONOR", ValToNor, "Val to Nor", "" )
DefNode( TextureNode, TEX_NODE_SCALE, 0, "SCALE", Scale, "Scale", "" )
+
+/* undefine macros */
+#undef DefNode
diff --git a/source/blender/makesrna/intern/rna_object.c b/source/blender/makesrna/intern/rna_object.c
index 74b2103a198..571f8d36305 100644
--- a/source/blender/makesrna/intern/rna_object.c
+++ b/source/blender/makesrna/intern/rna_object.c
@@ -115,6 +115,7 @@ EnumPropertyItem object_type_items[] = {
{0, "", 0, NULL, NULL},
{OB_CAMERA, "CAMERA", 0, "Camera", ""},
{OB_LAMP, "LAMP", 0, "Lamp", ""},
+ {OB_SPEAKER, "SPEAKER", 0, "Speaker", ""},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem object_type_curve_items[] = {
@@ -131,6 +132,7 @@ EnumPropertyItem object_type_curve_items[] = {
#include "DNA_key_types.h"
#include "DNA_constraint_types.h"
#include "DNA_lattice_types.h"
+#include "DNA_node_types.h"
#include "BKE_armature.h"
#include "BKE_bullet.h"
@@ -270,11 +272,16 @@ static void rna_Base_select_update(Main *UNUSED(bmain), Scene *UNUSED(scene), Po
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);
}
}
@@ -284,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;
@@ -360,6 +367,7 @@ static StructRNA *rna_Object_data_typef(PointerRNA *ptr)
case OB_CAMERA: return &RNA_Camera;
case OB_LATTICE: return &RNA_Lattice;
case OB_ARMATURE: return &RNA_Armature;
+ case OB_SPEAKER: return &RNA_Speaker;
default: return &RNA_ID;
}
}
@@ -478,7 +486,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)
@@ -1030,8 +1038,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)
@@ -1842,7 +1855,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");
@@ -2032,19 +2044,27 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Input Matrix", "Matrix access to location, rotation and scale (including deltas), before constraints and parenting are applied.");
RNA_def_property_float_funcs(prop, "rna_Object_matrix_basis_get", "rna_Object_matrix_basis_set", NULL);
RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
-
- /* collections */
- prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_struct_type(prop, "Constraint");
- RNA_def_property_ui_text(prop, "Constraints", "Constraints affecting the transformation of the object");
-// RNA_def_property_collection_funcs(prop, 0, 0, 0, 0, 0, 0, 0, "constraints__add", "constraints__remove");
- rna_def_object_constraints(brna, prop);
+ /*parent_inverse*/
+ prop= RNA_def_property(srna, "matrix_parent_inverse", PROP_FLOAT, PROP_MATRIX);
+ RNA_def_property_float_sdna(prop, NULL, "parentinv");
+ RNA_def_property_multi_array(prop, 2, rna_matrix_dimsize_4x4);
+ RNA_def_property_ui_text(prop, "Matrix", "Inverse of object's parent matrix at time of parenting");
+ RNA_def_property_update(prop, NC_OBJECT|ND_TRANSFORM, "rna_Object_internal_update");
+
+ /* modifiers */
prop= RNA_def_property(srna, "modifiers", PROP_COLLECTION, PROP_NONE);
RNA_def_property_struct_type(prop, "Modifier");
RNA_def_property_ui_text(prop, "Modifiers", "Modifiers affecting the geometric data of the object");
rna_def_object_modifiers(brna, prop);
+ /* constraints */
+ prop= RNA_def_property(srna, "constraints", PROP_COLLECTION, PROP_NONE);
+ RNA_def_property_struct_type(prop, "Constraint");
+ RNA_def_property_ui_text(prop, "Constraints", "Constraints affecting the transformation of the object");
+// RNA_def_property_collection_funcs(prop, 0, 0, 0, 0, 0, 0, 0, "constraints__add", "constraints__remove");
+ rna_def_object_constraints(brna, prop);
+
/* game engine */
prop= RNA_def_property(srna, "game", PROP_POINTER, PROP_NONE);
RNA_def_property_flag(prop, PROP_NEVER_NULL);
@@ -2281,12 +2301,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 */
@@ -2295,6 +2315,7 @@ static void rna_def_object(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_OBJECT|ND_DRAW, NULL);
/* pose */
prop= RNA_def_property(srna, "pose_library", PROP_POINTER, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_object_api.c b/source/blender/makesrna/intern/rna_object_api.c
index d6af04f2475..d48f1c93da8 100644
--- a/source/blender/makesrna/intern/rna_object_api.c
+++ b/source/blender/makesrna/intern/rna_object_api.c
@@ -45,7 +45,9 @@
// #include "ED_mesh.h"
+
#ifdef RNA_RUNTIME
+#include "BLI_math.h"
#include "BKE_main.h"
#include "BKE_global.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,28 @@ 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);
+ /* default is sqrt(FLT_MAX) */
+ RNA_def_float(func, "max_dist", 1.844674352395373e+19, 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 5d3c29b736b..490d9c38840 100644
--- a/source/blender/makesrna/intern/rna_object_force.c
+++ b/source/blender/makesrna/intern/rna_object_force.c
@@ -43,7 +43,7 @@
#include "WM_api.h"
#include "WM_types.h"
-EnumPropertyItem effector_shape_items[] = {
+static EnumPropertyItem effector_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Surface", ""},
@@ -51,20 +51,23 @@ EnumPropertyItem effector_shape_items[] = {
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem curve_shape_items[] = {
+#ifdef RNA_RUNTIME
+
+/* type spesific return values only used from functions */
+static EnumPropertyItem curve_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Curve", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem empty_shape_items[] = {
+static EnumPropertyItem empty_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem vortex_shape_items[] = {
+static EnumPropertyItem vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Surface falloff (New)", ""},
@@ -72,21 +75,19 @@ EnumPropertyItem vortex_shape_items[] = {
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem curve_vortex_shape_items[] = {
+static EnumPropertyItem curve_vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{PFIELD_SHAPE_SURFACE, "SURFACE", 0, "Curve (New)", ""},
{0, NULL, 0, NULL, NULL}
};
-EnumPropertyItem empty_vortex_shape_items[] = {
+static EnumPropertyItem empty_vortex_shape_items[] = {
{PFIELD_SHAPE_POINT, "POINT", 0, "Point", ""},
{PFIELD_SHAPE_PLANE, "PLANE", 0, "Plane", ""},
{0, NULL, 0, NULL, NULL}
};
-#ifdef RNA_RUNTIME
-
#include "MEM_guardedalloc.h"
#include "DNA_modifier_types.h"
@@ -770,7 +771,6 @@ static void rna_def_pointcache(BlenderRNA *brna)
prop= RNA_def_property(srna, "compression", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, point_cache_compress_items);
RNA_def_property_ui_text(prop, "Cache Compression", "Compression method to be used");
- RNA_def_property_update(prop, 0, NULL);
/* flags */
prop= RNA_def_property(srna, "is_baked", PROP_BOOLEAN, PROP_NONE);
@@ -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);
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c
index 4913e98a0af..77fa975761f 100644
--- a/source/blender/makesrna/intern/rna_particle.c
+++ b/source/blender/makesrna/intern/rna_particle.c
@@ -33,6 +33,7 @@
#include "limits.h"
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -1757,11 +1758,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");
@@ -1910,6 +1906,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 +1959,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 949415fbf29..0dd8218d1b9 100644
--- a/source/blender/makesrna/intern/rna_pose.c
+++ b/source/blender/makesrna/intern/rna_pose.c
@@ -1,6 +1,4 @@
/*
- * $Id$
- *
* ***** BEGIN GPL LICENSE BLOCK *****
*
* This program is free software; you can redistribute it and/or
@@ -45,6 +43,20 @@
#include "WM_types.h"
+
+
+// XXX: this RNA enum define is currently duplicated for objects, since there is some text here which is not applicable
+EnumPropertyItem posebone_rotmode_items[] = {
+ {ROT_MODE_QUAT, "QUATERNION", 0, "Quaternion (WXYZ)", "No Gimbal Lock (default)"},
+ {ROT_MODE_XYZ, "XYZ", 0, "XYZ Euler", "XYZ Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_XZY, "XZY", 0, "XZY Euler", "XZY Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_YXZ, "YXZ", 0, "YXZ Euler", "YXZ Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_YZX, "YZX", 0, "YZX Euler", "YZX Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_ZXY, "ZXY", 0, "ZXY Euler", "ZXY Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_ZYX, "ZYX", 0, "ZYX Euler", "ZYX Rotation Order. Prone to Gimbal Lock"},
+ {ROT_MODE_AXISANGLE, "AXIS_ANGLE", 0, "Axis Angle", "Axis Angle (W+XYZ). Defines a rotation around some axis defined by 3D-Vector"},
+ {0, NULL, 0, NULL, NULL}};
+
#ifdef RNA_RUNTIME
#include "BIK_api.h"
@@ -585,6 +597,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)
@@ -698,19 +729,7 @@ static void rna_def_pose_channel_constraints(BlenderRNA *brna, PropertyRNA *cpro
}
static void rna_def_pose_channel(BlenderRNA *brna)
-{
- // XXX: this RNA enum define is currently duplicated for objects, since there is some text here which is not applicable
- static EnumPropertyItem prop_rotmode_items[] = {
- {ROT_MODE_QUAT, "QUATERNION", 0, "Quaternion (WXYZ)", "No Gimbal Lock (default)"},
- {ROT_MODE_XYZ, "XYZ", 0, "XYZ Euler", "XYZ Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_XZY, "XZY", 0, "XZY Euler", "XZY Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_YXZ, "YXZ", 0, "YXZ Euler", "YXZ Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_YZX, "YZX", 0, "YZX Euler", "YZX Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_ZXY, "ZXY", 0, "ZXY Euler", "ZXY Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_ZYX, "ZYX", 0, "ZYX Euler", "ZYX Rotation Order. Prone to Gimbal Lock"},
- {ROT_MODE_AXISANGLE, "AXIS_ANGLE", 0, "Axis Angle", "Axis Angle (W+XYZ). Defines a rotation around some axis defined by 3D-Vector"},
- {0, NULL, 0, NULL, NULL}};
-
+{
static float default_quat[4] = {1,0,0,0}; /* default quaternion values */
static float default_axisAngle[4] = {0,0,1,0}; /* default axis-angle rotation values */
static float default_scale[3] = {1,1,1}; /* default scale values */
@@ -788,7 +807,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
* having a single one is better for Keyframing and other property-management situations...
*/
prop= RNA_def_property(srna, "rotation_axis_angle", PROP_FLOAT, PROP_AXISANGLE);
- RNA_def_property_array(prop, 4); // TODO: maybe we'll need to define the 'default value' getter too...
+ RNA_def_property_array(prop, 4);
RNA_def_property_float_funcs(prop, "rna_PoseChannel_rotation_axis_angle_get", "rna_PoseChannel_rotation_axis_angle_set", NULL);
RNA_def_property_editable_array_func(prop, "rna_PoseChannel_rotation_4d_editable");
RNA_def_property_float_array_default(prop, default_axisAngle);
@@ -805,7 +824,7 @@ static void rna_def_pose_channel(BlenderRNA *brna)
prop= RNA_def_property(srna, "rotation_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "rotmode");
- RNA_def_property_enum_items(prop, prop_rotmode_items); // XXX move to using a single define of this someday
+ RNA_def_property_enum_items(prop, posebone_rotmode_items); // XXX move to using a single define of this someday
RNA_def_property_enum_funcs(prop, NULL, "rna_PoseChannel_rotation_mode_set", NULL);
RNA_def_property_editable_func(prop, "rna_PoseChannel_proxy_editable"); // XXX... disabled, since proxy-locked layers are currently used for ensuring proxy-syncing too
RNA_def_property_ui_text(prop, "Rotation Mode", "");
@@ -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_render.c b/source/blender/makesrna/intern/rna_render.c
index 6638a9d76d3..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"
@@ -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);
@@ -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 b4da3a02442..7f85a2fa1d7 100644
--- a/source/blender/makesrna/intern/rna_rna.c
+++ b/source/blender/makesrna/intern/rna_rna.c
@@ -46,6 +46,42 @@ EnumPropertyItem property_type_items[] = {
{PROP_COLLECTION, "COLLECTION", 0, "Collection", ""},
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem property_subtype_items[] = {
+ {PROP_NONE, "NONE", 0, "None", ""},
+
+ /* strings */
+ {PROP_FILEPATH, "FILEPATH", 0, "File Path", ""},
+ {PROP_DIRPATH, "DIRPATH", 0, "Directory Path", ""},
+ {PROP_FILENAME, "FILENAME", 0, "File Name", ""},
+
+ /* numbers */
+ {PROP_UNSIGNED, "UNSIGNED", 0, "Unsigned", ""},
+ {PROP_PERCENTAGE, "PERCENTAGE", 0, "Percentage", ""},
+ {PROP_FACTOR, "FACTOR", 0, "Factor", ""},
+ {PROP_ANGLE, "ANGLE", 0, "Angle", ""},
+ {PROP_TIME, "TIME", 0, "Time", ""},
+ {PROP_DISTANCE, "DISTANCE", 0, "Distance", ""},
+
+ /* number arrays */
+ {PROP_COLOR, "COLOR", 0, "Color", ""},
+ {PROP_TRANSLATION, "TRANSLATION", 0, "Translation", ""},
+ {PROP_DIRECTION, "DIRECTION", 0, "Direction", ""},
+ {PROP_VELOCITY, "VELOCITY", 0, "Velocity", ""},
+ {PROP_ACCELERATION, "ACCELERATION", 0, "Acceleration", ""},
+ {PROP_MATRIX, "MATRIX", 0, "Matrix", ""},
+ {PROP_EULER, "EULER", 0, "Euler Angles", ""},
+ {PROP_QUATERNION, "QUATERNION", 0, "Quaternion", ""},
+ {PROP_AXISANGLE, "AXISANGLE", 0, "Axis-Angle", ""},
+ {PROP_XYZ, "XYZ", 0, "XYZ", ""},
+ {PROP_XYZ_LENGTH, "XYZ_LENGTH", 0, "XYZ Length", ""},
+ {PROP_COLOR_GAMMA, "COLOR_GAMMA", 0, "Color", ""},
+ {PROP_COORDS, "COORDS", 0, "Coordinates", ""},
+
+ /* booleans */
+ {PROP_LAYER, "LAYER", 0, "Layer", ""},
+ {PROP_LAYER_MEMBER, "LAYER_MEMBER", 0, "Layer Member", ""},
+ {0, NULL, 0, NULL, NULL}};
+
EnumPropertyItem property_unit_items[] = {
{PROP_UNIT_NONE, "NONE", 0, "None", ""},
{PROP_UNIT_LENGTH, "LENGTH", 0, "Length", ""},
@@ -1067,7 +1103,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 8018fab3999..197ddd2ba06 100644
--- a/source/blender/makesrna/intern/rna_scene.c
+++ b/source/blender/makesrna/intern/rna_scene.c
@@ -46,7 +46,9 @@
#ifdef WITH_QUICKTIME
#include "quicktime_export.h"
-#include "AUD_C-API.h"
+# ifdef WITH_AUDASPACE
+# include "AUD_Space.h"
+# endif
#endif
#ifdef WITH_FFMPEG
@@ -134,7 +136,9 @@ EnumPropertyItem image_type_items[] = {
#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
#ifdef WITH_FFMPEG
{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"},
@@ -152,6 +156,12 @@ EnumPropertyItem image_type_items[] = {
#endif
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem image_color_mode_items[] ={
+ {R_PLANESBW, "BW", 0, "BW", "Images get saved in 8 bits grayscale (only PNG, JPEG, TGA, TIF)"},
+ {R_PLANES24, "RGB", 0, "RGB", "Images are saved with RGB (color) data"},
+ {R_PLANES32, "RGBA", 0, "RGBA", "Images are saved with RGB and Alpha data (if supported)"},
+ {0, NULL, 0, NULL, NULL}};
+
#ifdef RNA_RUNTIME
#include "DNA_anim_types.h"
@@ -179,6 +189,7 @@ EnumPropertyItem image_type_items[] = {
#include "BKE_mesh.h"
#include "BKE_sound.h"
#include "BKE_screen.h"
+#include "BKE_sequencer.h"
#include "BKE_animsys.h"
#include "WM_api.h"
@@ -329,6 +340,26 @@ static void rna_Scene_layer_update(Main *bmain, Scene *scene, PointerRNA *ptr)
DAG_on_visible_update(bmain, FALSE);
}
+static void rna_Scene_fps_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
+{
+ sound_update_fps(scene);
+ seq_update_sound_bounds_all(scene);
+}
+
+static void rna_Scene_listener_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *UNUSED(ptr))
+{
+ sound_update_scene_listener(scene);
+}
+
+static void rna_Scene_volume_set(PointerRNA *ptr, float value)
+{
+ Scene *scene= (Scene*)(ptr->data);
+
+ scene->audio.volume = value;
+ if(scene->sound_scene)
+ sound_set_scene_volume(scene, value);
+}
+
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;
@@ -409,11 +440,10 @@ 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 *UNUSED(ptr))
+static void rna_Scene_frame_update(Main *bmain, Scene *UNUSED(current_scene), PointerRNA *ptr)
{
- //Scene *scene= ptr->id.data;
- //ED_update_for_newframe(C);
- sound_seek_scene(C);
+ Scene *scene= (Scene*)ptr->id.data;
+ sound_seek_scene(bmain, scene);
}
static PointerRNA rna_Scene_active_keying_set_get(PointerRNA *ptr)
@@ -697,8 +727,8 @@ static void rna_RenderSettings_active_layer_set(PointerRNA *ptr, PointerRNA valu
{
RenderData *rd= (RenderData*)ptr->data;
SceneRenderLayer *srl= (SceneRenderLayer*)value.data;
-
- rd->actlay = BLI_findindex(&rd->layers, srl);
+ const int index= BLI_findindex(&rd->layers, srl);
+ if (index != -1) rd->actlay= index;
}
static void rna_RenderSettings_engine_set(PointerRNA *ptr, int value)
@@ -988,9 +1018,8 @@ static TimeMarker *rna_TimeLine_add(Scene *scene, const char name[])
static void rna_TimeLine_remove(Scene *scene, ReportList *reports, TimeMarker *marker)
{
- /* try to remove the F-Curve from the action */
if (!BLI_remlink_safe(&scene->markers, marker)) {
- BKE_reportf(reports, RPT_ERROR, "TimelineMarker '%s' not found in action '%s'", marker->name, scene->id.name+2);
+ BKE_reportf(reports, RPT_ERROR, "TimelineMarker '%s' not found in scene '%s'", marker->name, scene->id.name+2);
return;
}
@@ -1048,10 +1077,14 @@ static void rna_def_tool_settings(BlenderRNA *brna)
{UV_SELECT_FACE, "FACE", ICON_UV_FACESEL, "Face", "Face selection mode"},
{UV_SELECT_ISLAND, "ISLAND", ICON_UV_ISLANDSEL, "Island", "Island selection mode"},
{0, NULL, 0, NULL, NULL}};
-
+
+ /* the construction of this enum is quite special - everything is stored as bitflags,
+ * with 1st position only for for on/off (and exposed as boolean), while others are mutually
+ * exclusive options but which will only have any effect when autokey is enabled
+ */
static EnumPropertyItem auto_key_items[] = {
- {AUTOKEY_MODE_NORMAL, "ADD_REPLACE_KEYS", 0, "Add & Replace", ""},
- {AUTOKEY_MODE_EDITKEYS, "REPLACE_KEYS", 0, "Replace", ""},
+ {AUTOKEY_MODE_NORMAL & ~AUTOKEY_ON, "ADD_REPLACE_KEYS", 0, "Add & Replace", ""},
+ {AUTOKEY_MODE_EDITKEYS & ~AUTOKEY_ON, "REPLACE_KEYS", 0, "Replace", ""},
{0, NULL, 0, NULL, NULL}};
static EnumPropertyItem retarget_roll_items[] = {
@@ -1174,6 +1207,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);
@@ -1188,7 +1227,7 @@ static void rna_def_tool_settings(BlenderRNA *brna)
RNA_def_property_ui_icon(prop, ICON_REC, 0);
prop= RNA_def_property(srna, "auto_keying_mode", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_sdna(prop, NULL, "autokey_mode");
+ RNA_def_property_enum_bitflag_sdna(prop, NULL, "autokey_mode");
RNA_def_property_enum_items(prop, auto_key_items);
RNA_def_property_ui_text(prop, "Auto-Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones");
@@ -1199,7 +1238,7 @@ static void rna_def_tool_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_keyframe_insert_keyingset", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_flag", AUTOKEY_FLAG_ONLYKEYINGSET);
RNA_def_property_ui_text(prop, "Auto Keyframe Insert Keying Set", "Automatic keyframe insertion using active Keying Set only");
- RNA_def_property_ui_icon(prop, ICON_KEY_HLT, 0); // XXX: we need a dedicated icon
+ RNA_def_property_ui_icon(prop, ICON_KEYINGSET, 0);
/* UV */
prop= RNA_def_property(srna, "uv_select_mode", PROP_ENUM, PROP_NONE);
@@ -1400,7 +1439,7 @@ void rna_def_render_layer_common(StructRNA *srna, int scene)
prop= RNA_def_property(srna, "layers_zmask", PROP_BOOLEAN, PROP_LAYER);
RNA_def_property_boolean_sdna(prop, NULL, "lay_zmask", 1);
RNA_def_property_array(prop, 20);
- RNA_def_property_ui_text(prop, "Zmask Layers", "Zmask scene layers");
+ RNA_def_property_ui_text(prop, "Zmask Layers", "Zmask scene layers for solid faces");
if(scene) RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
else RNA_def_property_clear_flag(prop, PROP_EDITABLE);
@@ -1508,6 +1547,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");
@@ -1976,6 +2021,10 @@ static void rna_def_scene_game_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_auto_start", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_GameSettings_auto_start_get", "rna_GameSettings_auto_start_set");
RNA_def_property_ui_text(prop, "Auto Start", "Automatically start game at load time");
+
+ prop= RNA_def_property(srna, "restrict_animation_updates", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", GAME_RESTRICT_ANIM_UPDATES);
+ RNA_def_property_ui_text(prop, "Restrict Animation Updates", "Restrict the number of animation updates to the animation FPS. This is better for performance, but can cause issues with smooth playback.");
/* materials */
prop= RNA_def_property(srna, "material_mode", PROP_ENUM, PROP_NONE);
@@ -2081,7 +2130,7 @@ static void rna_def_render_layers(BlenderRNA *brna, PropertyRNA *cprop)
prop= RNA_def_property(srna, "active", PROP_POINTER, PROP_UNSIGNED);
RNA_def_property_struct_type(prop, "SceneRenderLayer");
RNA_def_property_pointer_funcs(prop, "rna_RenderSettings_active_layer_get", "rna_RenderSettings_active_layer_set", NULL, NULL);
- RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL);
RNA_def_property_ui_text(prop, "Active Render Layer", "Active Render Layer");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
@@ -2107,13 +2156,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{R_ALPHAPREMUL, "PREMUL", 0, "Premultiplied", "Transparent RGB pixels are multiplied by the alpha channel"},
{R_ALPHAKEY, "STRAIGHT", 0, "Straight Alpha", "Transparent RGB and alpha pixels are unmodified"},
{0, NULL, 0, NULL, NULL}};
-
- static EnumPropertyItem color_mode_items[] ={
- {R_PLANESBW, "BW", 0, "BW", "Images get saved in 8 bits grayscale (only PNG, JPEG, TGA, TIF)"},
- {R_PLANES24, "RGB", 0, "RGB", "Images are saved with RGB (color) data"},
- {R_PLANES32, "RGBA", 0, "RGBA", "Images are saved with RGB and Alpha data (if supported)"},
- {0, NULL, 0, NULL, NULL}};
-
+
static EnumPropertyItem display_mode_items[] ={
{R_OUTPUT_SCREEN, "SCREEN", 0, "Full Screen", "Images are rendered in full Screen"},
{R_OUTPUT_AREA, "AREA", 0, "Image Editor", "Images are rendered in Image Editor"},
@@ -2290,6 +2333,14 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
{0, NULL, 0, NULL, NULL}};
#endif
+ static EnumPropertyItem audio_channel_items[] = {
+ {1, "MONO", 0, "Mono", "Set audio channels to mono"},
+ {2, "STEREO", 0, "Stereo", "Set audio channels to stereo"},
+ {4, "SURROUND4", 0, "4 Channels", "Set audio channels to 4 channels"},
+ {6, "SURROUND51", 0, "5.1 Surround", "Set audio channels to 5.1 surround sound"},
+ {8, "SURROUND71", 0, "7.1 Surround", "Set audio channels to 7.1 surround sound"},
+ {0, NULL, 0, NULL, NULL}};
+
static EnumPropertyItem engine_items[] = {
{0, "BLENDER_RENDER", 0, "Blender Render", "Use the Blender internal rendering engine for rendering"},
{0, NULL, 0, NULL, NULL}};
@@ -2302,7 +2353,7 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
prop= RNA_def_property(srna, "color_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "planes");
- RNA_def_property_enum_items(prop, color_mode_items);
+ RNA_def_property_enum_items(prop, image_color_mode_items);
RNA_def_property_ui_text(prop, "Color Mode", "Choose BW for saving greyscale images, RGB for saving red, green and blue channels, AND RGBA for saving red, green, blue + alpha channels");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
@@ -2560,43 +2611,53 @@ static void rna_def_scene_render_data(BlenderRNA *brna)
/* FFMPEG Audio*/
prop= RNA_def_property(srna, "ffmpeg_audio_codec", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "ffcodecdata.audio_codec");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_enum_items(prop, ffmpeg_audio_codec_items);
RNA_def_property_ui_text(prop, "Audio Codec", "FFMpeg audio codec to use");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
prop= RNA_def_property(srna, "ffmpeg_audio_bitrate", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_bitrate");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 32, 384);
RNA_def_property_ui_text(prop, "Bitrate", "Audio bitrate(kb/s)");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
- prop= RNA_def_property(srna, "ffmpeg_audio_mixrate", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_mixrate");
- RNA_def_property_range(prop, 8000, 192000);
- RNA_def_property_ui_text(prop, "Samplerate", "Audio samplerate(samples/s)");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
-
prop= RNA_def_property(srna, "ffmpeg_audio_volume", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "ffcodecdata.audio_volume");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.0f, 1.0f);
RNA_def_property_ui_text(prop, "Volume", "Audio volume");
RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
-
#endif
+ // the following two "ffmpeg" settings are general audio settings
+ prop= RNA_def_property(srna, "ffmpeg_audio_mixrate", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "ffcodecdata.audio_mixrate");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 8000, 192000);
+ RNA_def_property_ui_text(prop, "Samplerate", "Audio samplerate(samples/s)");
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+
+ prop= RNA_def_property(srna, "ffmpeg_audio_channels", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "ffcodecdata.audio_channels");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_enum_items(prop, audio_channel_items);
+ RNA_def_property_ui_text(prop, "Audio Channels", "Sets the audio channel count");
+
prop= RNA_def_property(srna, "fps", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "frs_sec");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 1, 120);
RNA_def_property_ui_text(prop, "FPS", "Framerate, expressed in frames per second");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_fps_update");
prop= RNA_def_property(srna, "fps_base", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "frs_sec_base");
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.1f, 120.0f);
RNA_def_property_ui_text(prop, "FPS Base", "Framerate base");
- RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_RENDER_OPTIONS, "rna_Scene_fps_update");
/* frame mapping */
prop= RNA_def_property(srna, "frame_map_old", PROP_INT, PROP_NONE);
@@ -2923,7 +2984,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);
@@ -3359,8 +3420,7 @@ 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", "Current Frame");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
+ RNA_def_property_ui_text(prop, "Current Frame", "Current Frame, to update animation data from python frame_set() instead");
RNA_def_property_update(prop, NC_SCENE|ND_FRAME, "rna_Scene_frame_update");
prop= RNA_def_property(srna, "frame_subframe", PROP_FLOAT, PROP_TIME);
@@ -3535,21 +3595,31 @@ void RNA_def_scene(BlenderRNA *brna)
prop= RNA_def_property(srna, "audio_doppler_speed", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "audio.speed_of_sound");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.01f, FLT_MAX);
RNA_def_property_ui_text(prop, "Speed of Sound", "Speed of sound for Doppler effect calculation");
- RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
prop= RNA_def_property(srna, "audio_doppler_factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "audio.doppler_factor");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_range(prop, 0.0, FLT_MAX);
RNA_def_property_ui_text(prop, "Doppler Factor", "Pitch factor for Doppler effect calculation");
- RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
prop= RNA_def_property(srna, "audio_distance_model", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_bitflag_sdna(prop, NULL, "audio.distance_model");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
RNA_def_property_enum_items(prop, audio_distance_model_items);
RNA_def_property_ui_text(prop, "Distance Model", "Distance model for distance attenuation calculation");
+ RNA_def_property_update(prop, NC_SCENE, "rna_Scene_listener_update");
+
+ prop= RNA_def_property(srna, "audio_volume", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "audio.volume");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Volume", "Audio volume");
RNA_def_property_update(prop, NC_SCENE, NULL);
+ RNA_def_property_float_funcs(prop, NULL, "rna_Scene_volume_set", NULL);
/* Game Settings */
prop= RNA_def_property(srna, "game_settings", PROP_POINTER, PROP_NONE);
@@ -3569,6 +3639,7 @@ void RNA_def_scene(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil Data", "Grease Pencil datablock");
+ RNA_def_property_update(prop, NC_SCENE, NULL);
/* Transform Orientations */
prop= RNA_def_property(srna, "orientations", PROP_COLLECTION, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_scene_api.c b/source/blender/makesrna/intern/rna_scene_api.c
index c2194636cd3..fd7987c18a2 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
@@ -111,7 +111,8 @@ void RNA_api_scene(StructRNA *srna)
#ifdef WITH_COLLADA
/* 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.");
+ 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 be4adb405e2..59707f05e6f 100644
--- a/source/blender/makesrna/intern/rna_screen.c
+++ b/source/blender/makesrna/intern/rna_screen.c
@@ -68,13 +68,13 @@ static void rna_Screen_scene_set(PointerRNA *ptr, PointerRNA value)
sc->newscene= value.data;
}
-static void rna_Screen_scene_update(bContext *C, PointerRNA *ptr)
+static void rna_Screen_scene_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
bScreen *sc= (bScreen*)ptr->data;
/* exception: can't set screens inside of area/region handers */
if(sc->newscene) {
- WM_event_add_notifier(C, NC_SCENE|ND_SCENEBROWSE, sc->newscene);
+ WM_main_add_notifier(NC_SCENE|ND_SCENEBROWSE, sc->newscene);
sc->newscene= NULL;
}
}
@@ -231,7 +231,6 @@ static void rna_def_screen(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE|PROP_NEVER_NULL);
RNA_def_property_pointer_funcs(prop, NULL, "rna_Screen_scene_set", NULL, NULL);
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 */
diff --git a/source/blender/makesrna/intern/rna_sensor.c b/source/blender/makesrna/intern/rna_sensor.c
index 5cc8539f187..1f64603d6b4 100644
--- a/source/blender/makesrna/intern/rna_sensor.c
+++ b/source/blender/makesrna/intern/rna_sensor.c
@@ -803,7 +803,7 @@ static void rna_def_joystick_sensor(BlenderRNA *brna)
prop= RNA_def_property(srna, "axis_number", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "axis");
RNA_def_property_ui_text(prop, "Axis Number", "Specify which axis pair to use, 1 is usually the main direction input");
- RNA_def_property_range(prop, 1, 2);
+ RNA_def_property_range(prop, 1, 8);
RNA_def_property_update(prop, NC_LOGIC, NULL);
prop= RNA_def_property(srna, "axis_threshold", PROP_INT, PROP_NONE);
diff --git a/source/blender/makesrna/intern/rna_sequencer.c b/source/blender/makesrna/intern/rna_sequencer.c
index 4171189d928..627c2274965 100644
--- a/source/blender/makesrna/intern/rna_sequencer.c
+++ b/source/blender/makesrna/intern/rna_sequencer.c
@@ -43,6 +43,7 @@
#include "BKE_animsys.h"
#include "BKE_global.h"
#include "BKE_sequencer.h"
+#include "BKE_sound.h"
#include "MEM_guardedalloc.h"
@@ -51,16 +52,6 @@
#ifdef RNA_RUNTIME
-static float to_dB(float x)
-{
- return logf(x * x + 1e-30f) * 4.34294480f;
-}
-
-static float from_dB(float x)
-{
- return expf(x * 0.11512925f);
-}
-
/* build a temp referene to the parent */
static void meta_tmp_ref(Sequence *seq_par, Sequence *seq)
{
@@ -245,6 +236,10 @@ static void rna_Sequence_use_proxy_set(PointerRNA *ptr, int value)
seq->flag |= SEQ_USE_PROXY;
if(seq->strip->proxy == NULL) {
seq->strip->proxy = MEM_callocN(sizeof(struct StripProxy), "StripProxy");
+ seq->strip->proxy->quality = 90;
+ seq->strip->proxy->build_tc_flags = SEQ_PROXY_TC_ALL;
+ seq->strip->proxy->build_size_flags
+ = SEQ_PROXY_IMAGE_SIZE_25;
}
} else {
seq->flag ^= SEQ_USE_PROXY;
@@ -511,18 +506,31 @@ static int rna_Sequence_proxy_filepath_length(PointerRNA *ptr)
return strlen(path)+1;
}
-static float rna_Sequence_attenuation_get(PointerRNA *ptr)
+static void rna_Sequence_volume_set(PointerRNA *ptr, float value)
+{
+ Sequence *seq= (Sequence*)(ptr->data);
+
+ seq->volume = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_volume(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_VOLUME_ANIMATED) != 0);
+}
+
+static void rna_Sequence_pitch_set(PointerRNA *ptr, float value)
{
Sequence *seq= (Sequence*)(ptr->data);
- return to_dB(seq->volume);
+ seq->pitch = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_pitch(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_PITCH_ANIMATED) != 0);
}
-static void rna_Sequence_attenuation_set(PointerRNA *ptr, float value)
+static void rna_Sequence_pan_set(PointerRNA *ptr, float value)
{
Sequence *seq= (Sequence*)(ptr->data);
- seq->volume = from_dB(value);
+ seq->pan = value;
+ if(seq->scene_sound)
+ sound_set_scene_sound_pan(seq->scene_sound, value, (seq->flag & SEQ_AUDIO_PAN_ANIMATED) != 0);
}
@@ -556,9 +564,6 @@ static void rna_Sequence_update(Main *UNUSED(bmain), Scene *scene, PointerRNA *p
Editing *ed= seq_give_editing(scene, FALSE);
free_imbuf_seq(scene, &ed->seqbase, FALSE, TRUE);
-
- if(RNA_struct_is_a(ptr->type, &RNA_SoundSequence))
- seq_update_sound(scene, ptr->data);
}
static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene, PointerRNA *ptr)
@@ -568,14 +573,14 @@ static void rna_Sequence_update_reopen_files(Main *UNUSED(bmain), Scene *scene,
free_imbuf_seq(scene, &ed->seqbase, FALSE, FALSE);
if(RNA_struct_is_a(ptr->type, &RNA_SoundSequence))
- seq_update_sound(scene, ptr->data);
+ seq_update_sound_bounds(scene, ptr->data);
}
static void rna_Sequence_mute_update(Main *bmain, Scene *scene, PointerRNA *ptr)
{
Editing *ed= seq_give_editing(scene, FALSE);
- seq_update_muting(scene, ed);
+ seq_update_muting(ed);
rna_Sequence_update(bmain, scene, ptr);
}
@@ -587,6 +592,34 @@ static void rna_Sequence_filepath_update(Main *bmain, Scene *scene, PointerRNA *
rna_Sequence_update(bmain, scene, ptr);
}
+static int seqproxy_seq_cmp_cb(Sequence *seq, void *arg_pt)
+{
+ struct { Sequence *seq; void *seq_proxy; } *data= arg_pt;
+
+ if(seq->strip && seq->strip->proxy == data->seq_proxy) {
+ data->seq= seq;
+ return -1; /* done so bail out */
+ }
+ return 1;
+}
+
+static void rna_Sequence_tcindex_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ Editing *ed= seq_give_editing(scene, FALSE);
+ Sequence *seq;
+
+ struct { Sequence *seq; void *seq_proxy; } data;
+
+ data.seq= NULL;
+ data.seq_proxy = ptr->data;
+
+ seqbase_recursive_apply(&ed->seqbase, seqproxy_seq_cmp_cb, &data);
+ seq= data.seq;
+
+ reload_sequence_new_file(scene, seq, FALSE);
+ rna_Sequence_frame_change_update(scene, seq);
+}
+
/* do_versions? */
static float rna_Sequence_opacity_get(PointerRNA *ptr)
{
@@ -680,6 +713,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)
@@ -772,6 +822,19 @@ static void rna_def_strip_proxy(BlenderRNA *brna)
{
StructRNA *srna;
PropertyRNA *prop;
+
+ static const EnumPropertyItem seq_tc_items[]= {
+ {SEQ_PROXY_TC_NONE, "NONE", 0, "No TC in use", ""},
+ {SEQ_PROXY_TC_RECORD_RUN, "RECORD_RUN", 0, "Record Run",
+ "use images in the order as they are recorded"},
+ {SEQ_PROXY_TC_FREE_RUN, "FREE_RUN", 0, "Free Run",
+ "use global timestamp written by recording device"},
+ {SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN, "FREE_RUN_REC_DATE",
+ 0, "Free Run (rec date)",
+ "interpolate a global timestamp using the "
+ "record date and time written by recording "
+ "device"},
+ {0, NULL, 0, NULL, NULL}};
srna = RNA_def_struct(brna, "SequenceProxy", NULL);
RNA_def_struct_ui_text(srna, "Sequence Proxy", "Proxy parameters for a sequence strip");
@@ -787,6 +850,46 @@ static void rna_def_strip_proxy(BlenderRNA *brna)
RNA_def_property_string_funcs(prop, "rna_Sequence_proxy_filepath_get", "rna_Sequence_proxy_filepath_length", "rna_Sequence_proxy_filepath_set");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+
+ prop= RNA_def_property(srna, "build_25", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_25);
+ RNA_def_property_ui_text(prop, "25%", "Build 25% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_50", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_50);
+ RNA_def_property_ui_text(prop, "50%", "Build 50% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_75", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_75);
+ RNA_def_property_ui_text(prop, "75%", "Build 75% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_100", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_size_flags", SEQ_PROXY_IMAGE_SIZE_100);
+ RNA_def_property_ui_text(prop, "100%", "Build 100% proxy resolution");
+
+ prop= RNA_def_property(srna, "build_record_run", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_RECORD_RUN);
+ RNA_def_property_ui_text(prop, "Rec Run", "Build record run time code index");
+
+ prop= RNA_def_property(srna, "build_free_run", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_FREE_RUN);
+ RNA_def_property_ui_text(prop, "Free Run", "Build free run time code index");
+
+ prop= RNA_def_property(srna, "build_free_run_rec_date", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "build_tc_flags", SEQ_PROXY_TC_INTERP_REC_DATE_FREE_RUN);
+ RNA_def_property_ui_text(prop, "Free Run (Rec Date)", "Build free run time code index using Record Date/Time");
+
+ prop= RNA_def_property(srna, "quality", PROP_INT, PROP_UNSIGNED);
+ RNA_def_property_int_sdna(prop, NULL, "quality");
+ RNA_def_property_ui_text(prop, "Quality", "JPEG Quality of proxies to build");
+ RNA_def_property_ui_range(prop, 1, 100, 1, 0);
+
+ prop= RNA_def_property(srna, "timecode", PROP_ENUM, PROP_NONE);
+ RNA_def_property_enum_sdna(prop, NULL, "tc");
+ RNA_def_property_enum_items(prop, seq_tc_items);
+ RNA_def_property_ui_text(prop, "Timecode", "");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_tcindex_update");
+
}
static void rna_def_strip_color_balance(BlenderRNA *brna)
@@ -931,6 +1034,11 @@ static void rna_def_sequence(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lock", "Lock strip so that it can't be transformed");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+ prop= RNA_def_property(srna, "waveform", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_AUDIO_DRAW_WAVEFORM);
+ RNA_def_property_ui_text(prop, "Draw Waveform", "Whether to draw the sound's waveform.");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, NULL);
+
/* strip positioning */
prop= RNA_def_property(srna, "frame_final_duration", PROP_INT, PROP_TIME);
@@ -1191,7 +1299,7 @@ static void rna_def_proxy(StructRNA *srna)
prop= RNA_def_property(srna, "use_proxy", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SEQ_USE_PROXY);
- RNA_def_property_ui_text(prop, "Use Proxy", "Use a preview proxy for this strip");
+ RNA_def_property_ui_text(prop, "Use Proxy / Timecode", "Use a preview proxy and/or timecode index for this strip");
RNA_def_property_boolean_funcs(prop, NULL, "rna_Sequence_use_proxy_set");
prop= RNA_def_property(srna, "proxy", PROP_POINTER, PROP_NONE);
@@ -1313,6 +1421,12 @@ static void rna_def_movie(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "MPEG Preseek", "For MPEG movies, preseek this many frames");
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+ prop= RNA_def_property(srna, "streamindex", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "streamindex");
+ RNA_def_property_range(prop, 0, 20);
+ RNA_def_property_ui_text(prop, "Streamindex", "For files with several movie streams, use the stream with the given index");
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update_reopen_files");
+
prop= RNA_def_property(srna, "elements", PROP_COLLECTION, PROP_NONE);
RNA_def_property_collection_sdna(prop, NULL, "strip->stripdata", NULL);
RNA_def_property_struct_type(prop, "SequenceElement");
@@ -1348,13 +1462,21 @@ static void rna_def_sound(BlenderRNA *brna)
RNA_def_property_float_sdna(prop, NULL, "volume");
RNA_def_property_range(prop, 0.0f, 100.0f);
RNA_def_property_ui_text(prop, "Volume", "Playback volume of the sound");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_volume_set", NULL);
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
- prop= RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
- RNA_def_property_range(prop, -100.0f, +40.0f);
- RNA_def_property_ui_text(prop, "Attenuation/dB", "Attenuation in decibel");
- RNA_def_property_float_funcs(prop, "rna_Sequence_attenuation_get", "rna_Sequence_attenuation_set", NULL);
+ prop= RNA_def_property(srna, "pitch", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pitch");
+ RNA_def_property_range(prop, 0.1f, 10.0f);
+ RNA_def_property_ui_text(prop, "Pitch", "Playback pitch of the sound");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_pitch_set", NULL);
+ RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
+ prop= RNA_def_property(srna, "pan", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pan");
+ RNA_def_property_range(prop, -2.0f, 2.0f);
+ RNA_def_property_ui_text(prop, "Pan", "Playback panning of the sound (only for Mono sources)");
+ RNA_def_property_float_funcs(prop, NULL, "rna_Sequence_pan_set", NULL);
RNA_def_property_update(prop, NC_SCENE|ND_SEQUENCER, "rna_Sequence_update");
prop= RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
@@ -1460,10 +1582,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.0), DEG2RAD(90.0));
+#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");
diff --git a/source/blender/makesrna/intern/rna_smoke.c b/source/blender/makesrna/intern/rna_smoke.c
index 43d1aa24229..93ffa62a4c6 100644
--- a/source/blender/makesrna/intern/rna_smoke.c
+++ b/source/blender/makesrna/intern/rna_smoke.c
@@ -121,7 +121,7 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
static EnumPropertyItem prop_noise_type_items[] = {
{MOD_SMOKE_NOISEWAVE, "NOISEWAVE", 0, "Wavelet", ""},
-#if FFTW3 == 1
+#ifdef WITH_FFTW3
{MOD_SMOKE_NOISEFFT, "NOISEFFT", 0, "FFT", ""},
#endif
/* {MOD_SMOKE_NOISECURL, "NOISECURL", 0, "Curl", ""}, */
@@ -241,13 +241,12 @@ static void rna_def_smoke_domain_settings(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "cache_comp");
RNA_def_property_enum_items(prop, smoke_cache_comp_items);
RNA_def_property_ui_text(prop, "Cache Compression", "Compression method to be used");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "collision_extents", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "border_collisions");
RNA_def_property_enum_items(prop, smoke_domain_colli_items);
RNA_def_property_ui_text(prop, "Border Collisions", "Selects which domain border will be treated as collision object.");
- RNA_def_property_update(prop, 0, NULL);
+ RNA_def_property_update(prop, NC_OBJECT|ND_MODIFIER, "rna_Smoke_reset");
prop= RNA_def_property(srna, "effector_weights", PROP_POINTER, PROP_NONE);
RNA_def_property_struct_type(prop, "EffectorWeights");
@@ -290,14 +289,12 @@ static void rna_def_smoke_flow_settings(BlenderRNA *brna)
RNA_def_property_range(prop, 0.001, 1);
RNA_def_property_ui_range(prop, 0.001, 1.0, 1.0, 4);
RNA_def_property_ui_text(prop, "Density", "");
- RNA_def_property_update(prop, 0, NULL); // NC_OBJECT|ND_MODIFIER
prop= RNA_def_property(srna, "temperature", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "temp");
RNA_def_property_range(prop, -10, 10);
RNA_def_property_ui_range(prop, -10, 10, 1, 1);
RNA_def_property_ui_text(prop, "Temp. Diff.", "Temperature difference to ambient temperature");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "particle_system", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "psys");
@@ -309,24 +306,20 @@ static void rna_def_smoke_flow_settings(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_outflow", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "type", MOD_SMOKE_FLOW_TYPE_OUTFLOW);
RNA_def_property_ui_text(prop, "Outflow", "Deletes smoke from simulation");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "use_absolute", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_FLOW_ABSOLUTE);
RNA_def_property_ui_text(prop, "Absolute Density", "Only allows given density value in emitter area.");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "initial_velocity", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flags", MOD_SMOKE_FLOW_INITVELOCITY);
RNA_def_property_ui_text(prop, "Initial Velocity", "Smoke inherits it's velocity from the emitter particle");
- RNA_def_property_update(prop, 0, NULL);
prop= RNA_def_property(srna, "velocity_factor", PROP_FLOAT, PROP_NONE);
RNA_def_property_float_sdna(prop, NULL, "vel_multi");
RNA_def_property_range(prop, -2.0, 2.0);
RNA_def_property_ui_range(prop, -2.0, 2.0, 0.05, 5);
RNA_def_property_ui_text(prop, "Multiplier", "Multiplier to adjust velocity passed to smoke");
- RNA_def_property_update(prop, 0, NULL);
}
static void rna_def_smoke_coll_settings(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_sound.c b/source/blender/makesrna/intern/rna_sound.c
index 97339058794..3a18fb0e7c0 100644
--- a/source/blender/makesrna/intern/rna_sound.c
+++ b/source/blender/makesrna/intern/rna_sound.c
@@ -41,7 +41,7 @@
#include "BKE_sound.h"
#include "BKE_context.h"
-static void rna_Sound_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+static void rna_Sound_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
{
sound_load(bmain, (bSound*)ptr->data);
}
@@ -49,18 +49,23 @@ static void rna_Sound_filepath_update(Main *bmain, Scene *scene, PointerRNA *ptr
static int rna_Sound_caching_get(PointerRNA *ptr)
{
bSound *sound = (bSound*)(ptr->data);
- return sound->cache != NULL;
+ return (sound->flags & SOUND_FLAGS_CACHING) != 0;
}
static void rna_Sound_caching_set(PointerRNA *ptr, const int value)
{
bSound *sound = (bSound*)(ptr->data);
if(value)
- sound_cache(sound, 0);
+ sound_cache(sound);
else
sound_delete_cache(sound);
}
+static void rna_Sound_caching_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
+{
+ sound_update_sequencer(bmain, (bSound*)(ptr->data));
+}
+
#else
static void rna_def_sound(BlenderRNA *brna)
@@ -78,7 +83,7 @@ static void rna_def_sound(BlenderRNA *brna)
prop= RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
RNA_def_property_string_sdna(prop, NULL, "name");
RNA_def_property_ui_text(prop, "File Path", "Sound sample file used by this Sound datablock");
- RNA_def_property_update(prop, 0, "rna_Sound_filepath_update");
+ RNA_def_property_update(prop, 0, "rna_Sound_update");
prop= RNA_def_property(srna, "packed_file", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "packedfile");
@@ -87,7 +92,12 @@ static void rna_def_sound(BlenderRNA *brna)
prop= RNA_def_property(srna, "use_memory_cache", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_Sound_caching_get", "rna_Sound_caching_set");
RNA_def_property_ui_text(prop, "Caching", "The sound file is decoded and loaded into RAM");
- RNA_def_property_update(prop, 0, "rna_Sound_filepath_update");
+ RNA_def_property_update(prop, 0, "rna_Sound_caching_update");
+
+ prop= RNA_def_property(srna, "mono", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flags", SOUND_FLAGS_MONO);
+ RNA_def_property_ui_text(prop, "Mono", "If the file contains multiple audio channels they are rendered to a single one.");
+ RNA_def_property_update(prop, 0, "rna_Sound_update");
}
void RNA_def_sound(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_space.c b/source/blender/makesrna/intern/rna_space.c
index 8ab480df425..249cdb28ae1 100644
--- a/source/blender/makesrna/intern/rna_space.c
+++ b/source/blender/makesrna/intern/rna_space.c
@@ -48,6 +48,8 @@
#include "WM_api.h"
#include "WM_types.h"
+#include "RNA_enum_types.h"
+
EnumPropertyItem space_type_items[] = {
{SPACE_EMPTY, "EMPTY", 0, "Empty", ""},
{SPACE_VIEW3D, "VIEW_3D", 0, "3D View", ""},
@@ -119,6 +121,7 @@ EnumPropertyItem viewport_shade_items[] = {
#include "BKE_paint.h"
#include "ED_image.h"
+#include "ED_node.h"
#include "ED_screen.h"
#include "ED_view3d.h"
#include "ED_sequencer.h"
@@ -591,7 +594,8 @@ static void rna_SpaceTextEditor_text_set(PointerRNA *ptr, PointerRNA value)
SpaceText *st= (SpaceText*)(ptr->data);
st->text= value.data;
- st->top= 0;
+
+ WM_main_add_notifier(NC_TEXT|NA_SELECTED, st->text);
}
static void rna_SpaceTextEditor_updateEdited(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
@@ -700,7 +704,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 */
@@ -804,10 +808,9 @@ static void rna_SpaceDopeSheetEditor_mode_update(Main *UNUSED(bmain), Scene *sce
/* Space Graph Editor */
-static void rna_SpaceGraphEditor_display_mode_update(bContext *C, PointerRNA *UNUSED(ptr))
+static void rna_SpaceGraphEditor_display_mode_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
- //SpaceIpo *sipo= (SpaceIpo*)(ptr->data);
- ScrArea *sa= CTX_wm_area(C);
+ ScrArea *sa= rna_area_from_space(ptr);
/* after changing view mode, must force recalculation of F-Curve colors
* which can only be achieved using refresh as opposed to redraw
@@ -821,11 +824,10 @@ static int rna_SpaceGraphEditor_has_ghost_curves_get(PointerRNA *ptr)
return (sipo->ghostCurves.first != NULL);
}
-static void rna_Sequencer_display_mode_update(bContext *C, PointerRNA *ptr)
+static void rna_Sequencer_view_type_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
- int view = RNA_enum_get(ptr, "view_type");
-
- ED_sequencer_update_view(C, view);
+ ScrArea *sa= rna_area_from_space(ptr);
+ ED_area_tag_refresh(sa);
}
static float rna_BackgroundImage_opacity_get(PointerRNA *ptr)
@@ -840,6 +842,24 @@ static void rna_BackgroundImage_opacity_set(PointerRNA *ptr, float value)
bgpic->blend = 1.0f - value;
}
+/* Space Node Editor */
+
+static int rna_SpaceNodeEditor_node_tree_poll(PointerRNA *ptr, PointerRNA value)
+{
+ SpaceNode *snode= (SpaceNode*)ptr->data;
+ bNodeTree *ntree= (bNodeTree*)value.data;
+
+ /* exclude group trees, only trees of the active type */
+ return (ntree->nodetype==0 && ntree->type == snode->treetype);
+}
+
+static void rna_SpaceNodeEditor_node_tree_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ SpaceNode *snode= (SpaceNode*)ptr->data;
+
+ ED_node_tree_update(snode, scene);
+}
+
static EnumPropertyItem *rna_SpaceProperties_texture_context_itemf(bContext *C, PointerRNA *UNUSED(ptr), PropertyRNA *UNUSED(prop), int *free)
{
Scene *scene = CTX_data_scene(C);
@@ -990,7 +1010,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);
@@ -1616,6 +1641,7 @@ static void rna_def_space_image(BlenderRNA *brna)
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_struct_type(prop, "GreasePencil");
RNA_def_property_ui_text(prop, "Grease Pencil", "Grease pencil data for this space");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_IMAGE, NULL);
prop= RNA_def_property(srna, "use_grease_pencil", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SI_DISPGP);
@@ -1669,6 +1695,7 @@ static void rna_def_space_sequencer(BlenderRNA *brna)
{SEQ_PROXY_RENDER_SIZE_25, "PROXY_25", 0, "Proxy size 25%", ""},
{SEQ_PROXY_RENDER_SIZE_50, "PROXY_50", 0, "Proxy size 50%", ""},
{SEQ_PROXY_RENDER_SIZE_75, "PROXY_75", 0, "Proxy size 75%", ""},
+ {SEQ_PROXY_RENDER_SIZE_100, "PROXY_100", 0, "Proxy size 100%", ""},
{SEQ_PROXY_RENDER_SIZE_FULL, "FULL", 0, "No proxy, full render", ""},
{0, NULL, 0, NULL, NULL}};
@@ -1681,8 +1708,7 @@ static void rna_def_space_sequencer(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "view");
RNA_def_property_enum_items(prop, view_type_items);
RNA_def_property_ui_text(prop, "View Type", "The type of the Sequencer view (sequencer, preview or both)");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
- RNA_def_property_update(prop, 0, "rna_Sequencer_display_mode_update");
+ RNA_def_property_update(prop, 0, "rna_Sequencer_view_type_update");
/* display type, fairly important */
prop= RNA_def_property(srna, "display_mode", PROP_ENUM, PROP_NONE);
@@ -1872,11 +1898,12 @@ static void rna_def_space_dopesheet(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
+ // XXX: action-editor is currently for object-level only actions, so show that using object-icon hint
static EnumPropertyItem mode_items[] = {
- {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"},
+ {SACTCONT_DOPESHEET, "DOPESHEET", ICON_OOPS, "DopeSheet", "DopeSheet Editor"},
+ {SACTCONT_ACTION, "ACTION", ICON_OBJECT_DATA, "Action Editor", "Action Editor"},
+ {SACTCONT_SHAPEKEY, "SHAPEKEY", ICON_SHAPEKEY_DATA, "ShapeKey Editor", "ShapeKey Editor"},
+ {SACTCONT_GPENCIL, "GPENCIL", ICON_GREASEPENCIL, "Grease Pencil", "Grease Pencil"},
{0, NULL, 0, NULL, NULL}};
@@ -1955,8 +1982,8 @@ static void rna_def_space_graph(BlenderRNA *brna)
PropertyRNA *prop;
static EnumPropertyItem mode_items[] = {
- {SIPO_MODE_ANIMATION, "FCURVES", 0, "F-Curve Editor", "Edit f-curves"},
- {SIPO_MODE_DRIVERS, "DRIVERS", 0, "Drivers", "Edit drivers"},
+ {SIPO_MODE_ANIMATION, "FCURVES", ICON_IPO, "F-Curve Editor", "Edit animation/keyframes displayed as 2D curves"},
+ {SIPO_MODE_DRIVERS, "DRIVERS", ICON_DRIVER, "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 */
@@ -1978,7 +2005,6 @@ static void rna_def_space_graph(BlenderRNA *brna)
RNA_def_property_enum_sdna(prop, NULL, "mode");
RNA_def_property_enum_items(prop, mode_items);
RNA_def_property_ui_text(prop, "Mode", "Editing context being displayed");
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, "rna_SpaceGraphEditor_display_mode_update");
/* display */
@@ -2013,9 +2039,9 @@ static void rna_def_space_graph(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Only Selected Keyframes Handles", "Only show and edit handles of selected keyframes");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
- prop= RNA_def_property(srna, "use_fancy_drawing", PROP_BOOLEAN, PROP_NONE);
+ prop= RNA_def_property(srna, "use_beauty_drawing", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", SIPO_BEAUTYDRAW_OFF);
- RNA_def_property_ui_text(prop, "Use Fancy Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
+ RNA_def_property_ui_text(prop, "Use High Quality Drawing", "Draw F-Curves using Anti-Aliasing and other fancy effects. Disable for better performance");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_GRAPH, NULL);
/* editing */
@@ -2125,7 +2151,7 @@ static void rna_def_space_time(BlenderRNA *brna)
/* view settings */
prop= RNA_def_property(srna, "show_only_selected", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_ONLYACTSEL);
- RNA_def_property_ui_text(prop, "Only Selected channels", "Show keyframes for active Object and/or its selected channels only");
+ RNA_def_property_ui_text(prop, "Only Selected Channels", "Show keyframes for active Object and/or its selected bones only");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_TIME, NULL);
prop= RNA_def_property(srna, "show_frame_indicator", PROP_BOOLEAN, PROP_NONE);
@@ -2409,12 +2435,6 @@ static void rna_def_space_node(BlenderRNA *brna)
StructRNA *srna;
PropertyRNA *prop;
- static EnumPropertyItem tree_type_items[] = {
- {NTREE_SHADER, "MATERIAL", ICON_MATERIAL, "Material", "Material nodes"},
- {NTREE_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture nodes"},
- {NTREE_COMPOSIT, "COMPOSITING", ICON_RENDERLAYERS, "Compositing", "Compositing nodes"},
- {0, NULL, 0, NULL, NULL}};
-
static EnumPropertyItem texture_type_items[] = {
{SNODE_TEX_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Edit texture nodes from Object"},
{SNODE_TEX_WORLD, "WORLD", ICON_WORLD_DATA, "World", "Edit texture nodes from World"},
@@ -2433,7 +2453,7 @@ static void rna_def_space_node(BlenderRNA *brna)
prop= RNA_def_property(srna, "tree_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "treetype");
- RNA_def_property_enum_items(prop, tree_type_items);
+ RNA_def_property_enum_items(prop, nodetree_type_items);
RNA_def_property_ui_text(prop, "Tree Type", "Node tree type to display and edit");
RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, NULL);
@@ -2454,8 +2474,10 @@ static void rna_def_space_node(BlenderRNA *brna)
prop= RNA_def_property(srna, "node_tree", PROP_POINTER, PROP_NONE);
RNA_def_property_pointer_sdna(prop, NULL, "nodetree");
- RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_pointer_funcs(prop, NULL, NULL, NULL, "rna_SpaceNodeEditor_node_tree_poll");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Node Tree", "Node tree being displayed and edited");
+ RNA_def_property_update(prop, NC_SPACE|ND_SPACE_NODE, "rna_SpaceNodeEditor_node_tree_update");
prop= RNA_def_property(srna, "show_backdrop", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", SNODE_BACKDRAW);
diff --git a/source/blender/makesrna/intern/rna_speaker.c b/source/blender/makesrna/intern/rna_speaker.c
new file mode 100644
index 00000000000..60208de5aa5
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_speaker.c
@@ -0,0 +1,172 @@
+/*
+ * $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): Jörg Müller.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/makesrna/intern/rna_speaker.c
+ * \ingroup RNA
+ */
+
+
+#include <stdlib.h>
+
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "rna_internal.h"
+
+#include "DNA_speaker_types.h"
+#include "DNA_sound_types.h"
+
+#ifdef RNA_RUNTIME
+
+#include "MEM_guardedalloc.h"
+
+#include "BKE_depsgraph.h"
+#include "BKE_main.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+
+#else
+
+static void rna_def_speaker(BlenderRNA *brna)
+{
+ StructRNA *srna;
+ PropertyRNA *prop;
+
+ srna= RNA_def_struct(brna, "Speaker", "ID");
+ RNA_def_struct_ui_text(srna, "Speaker", "Speaker datablock for 3D audio speaker objects");
+ RNA_def_struct_ui_icon(srna, ICON_SPEAKER);
+
+ prop= RNA_def_property(srna, "muted", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SPK_MUTED);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Mute", "Mutes the speaker.");
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ /* This shouldn't be changed actually, hiding it!
+ prop= RNA_def_property(srna, "relative", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", SPK_RELATIVE);
+ RNA_def_property_ui_text(prop, "Relative", "Whether the source is relative to the camera or not.");
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");*/
+
+ prop= RNA_def_property(srna, "sound", PROP_POINTER, PROP_NONE);
+ RNA_def_property_pointer_sdna(prop, NULL, "sound");
+ RNA_def_property_struct_type(prop, "Sound");
+ RNA_def_property_flag(prop, PROP_EDITABLE);
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_ui_text(prop, "Sound", "Sound datablock used by this speaker.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_sound_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume_max", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume_max");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Maximum Volume", "Maximum volume, no matter how near the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_max_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume_min", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume_min");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Minimum Volume", "Minimum volume, no matter how far away the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_min_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "distance_max", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "distance_max");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Maximum Distance", "Maximum distance for volume calculation, no matter how far away the object is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_distance_max_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "distance_reference", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "distance_reference");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Reference Distance", "Reference distance at which volume is 100 %.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_distance_reference_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "attenuation", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "attenuation");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, FLT_MAX);
+ RNA_def_property_ui_text(prop, "Attenuation", "How strong the distance affects volume, depending on distance model.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_attenuation_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_angle_outer", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_angle_outer");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 360.0f);
+ RNA_def_property_ui_text(prop, "Outer Cone Angle", "Outer angle of the cone in degrees, outside this cone the volume is the outer cone volume, between inner and outer cone the volume is interpolated.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_angle_outer_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_angle_inner", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_angle_inner");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 360.0f);
+ RNA_def_property_ui_text(prop, "Inner Cone Angle", "Inner angle of the cone in degrees, inside the cone the volume is 100 %.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_angle_inner_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "cone_volume_outer", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "cone_volume_outer");
+ RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Outer Cone Volume", "Volume outside the outer cone.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_cone_volume_outer_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "volume", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "volume");
+ RNA_def_property_range(prop, 0.0f, 1.0f);
+ RNA_def_property_ui_text(prop, "Volume", "How loud the sound is.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_volume_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ prop= RNA_def_property(srna, "pitch", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_float_sdna(prop, NULL, "pitch");
+ RNA_def_property_range(prop, 0.1f, 10.0f);
+ RNA_def_property_ui_text(prop, "Pitch", "Playback pitch of the sound.");
+ // RNA_def_property_float_funcs(prop, NULL, "rna_Speaker_pitch_set", NULL);
+ // RNA_def_property_update(prop, 0, "rna_Speaker_update");
+
+ /* common */
+ rna_def_animdata_common(srna);
+}
+
+
+void RNA_def_speaker(BlenderRNA *brna)
+{
+ rna_def_speaker(brna);
+}
+
+#endif
+
diff --git a/source/blender/makesrna/intern/rna_texture.c b/source/blender/makesrna/intern/rna_texture.c
index 3a80207ba15..890be76c49a 100644
--- a/source/blender/makesrna/intern/rna_texture.c
+++ b/source/blender/makesrna/intern/rna_texture.c
@@ -32,6 +32,7 @@
#include <stdlib.h>
#include "RNA_define.h"
+#include "RNA_enum_types.h"
#include "rna_internal.h"
@@ -135,6 +136,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)
@@ -662,6 +664,13 @@ static void rna_def_environment_map(BlenderRNA *brna)
RNA_def_property_range(prop, 0, 5);
RNA_def_property_ui_text(prop, "Depth", "Number of times a map will be rendered recursively (mirror effects.)");
RNA_def_property_update(prop, 0, "rna_Texture_update");
+
+ prop= RNA_def_property(srna, "is_valid", PROP_BOOLEAN, 0);
+ RNA_def_property_boolean_sdna(prop, NULL, "ok", 2);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "Validity", "True if this map is ready for use, False if it needs rendering.");
+
+ RNA_api_environment_map(srna);
}
static EnumPropertyItem prop_noise_basis_items[] = {
@@ -1146,6 +1155,12 @@ static void rna_def_texture_image(BlenderRNA *brna)
RNA_def_property_boolean_sdna(prop, NULL, "imaflag", TEX_NORMALMAP);
RNA_def_property_ui_text(prop, "Normal Map", "Uses image RGB values for normal mapping");
RNA_def_property_update(prop, 0, "rna_Texture_update");
+
+ /* Derivative Map */
+ prop= RNA_def_property(srna, "use_derivative_map", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "imaflag", TEX_DERIVATIVEMAP);
+ RNA_def_property_ui_text(prop, "Derivative Map", "Uses red and green as derivative values");
+ RNA_def_property_update(prop, 0, "rna_Texture_update");
}
static void rna_def_texture_plugin(BlenderRNA *brna)
@@ -1805,6 +1820,8 @@ static void rna_def_texture(BlenderRNA *brna)
rna_def_texture_pointdensity(brna);
rna_def_texture_voxeldata(brna);
/* XXX add more types here .. */
+
+ RNA_api_texture(srna);
}
void RNA_def_texture(BlenderRNA *brna)
diff --git a/source/blender/makesrna/intern/rna_texture_api.c b/source/blender/makesrna/intern/rna_texture_api.c
new file mode 100644
index 00000000000..8c63d5da8fd
--- /dev/null
+++ b/source/blender/makesrna/intern/rna_texture_api.c
@@ -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): Tom Edwards
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/makesrna/intern/rna_texture_api.c
+ * \ingroup RNA
+ */
+
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
+
+#include "RNA_define.h"
+#include "BKE_utildefines.h"
+
+#ifdef RNA_RUNTIME
+
+#include "IMB_imbuf.h"
+#include "IMB_imbuf_types.h"
+#include "DNA_scene_types.h"
+#include "BKE_context.h"
+#include "BKE_global.h"
+#include "RE_pipeline.h"
+#include "RE_shader_ext.h"
+
+void save_envmap(struct EnvMap *env, bContext *C, ReportList *reports, const char* filepath, struct Scene *scene, float layout[12])
+{
+ if (scene == NULL) {
+ scene = CTX_data_scene(C);
+ }
+
+ RE_WriteEnvmapResult(reports, scene, env, filepath, scene->r.imtype, layout);
+}
+
+void clear_envmap(struct EnvMap *env, bContext *C)
+{
+ Main *bmain = CTX_data_main(C);
+ Tex *tex;
+
+ BKE_free_envmapdata(env);
+
+ for (tex=bmain->tex.first; tex; tex=tex->id.next)
+ if (tex->env == env) {
+ WM_event_add_notifier(C, NC_TEXTURE|NA_EDITED, tex);
+ break;
+ }
+}
+
+void texture_evaluate(struct Tex *tex, float value[3], float color_r[3])
+{
+ TexResult texres= {0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0, NULL};
+ multitex_ext(tex, value, NULL, NULL, 1, &texres);
+
+ color_r[0] = texres.tr;
+ color_r[1] = texres.tg;
+ color_r[2] = texres.tb;
+ color_r[3] = texres.tin;
+}
+
+#else
+
+void RNA_api_texture(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "evaluate", "texture_evaluate");
+ RNA_def_function_ui_description(func, "Evaluate the texture at the coordinates given");
+
+ parm= RNA_def_float_vector(func, "value", 3, NULL, -FLT_MAX, FLT_MAX, "", "", -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ /* return location and normal */
+ parm= RNA_def_float_vector(func, "result", 4, NULL, -FLT_MAX, FLT_MAX, "Result", NULL, -1e4, 1e4);
+ RNA_def_property_flag(parm, PROP_THICK_WRAP);
+ RNA_def_function_output(func, parm);
+
+}
+
+void RNA_api_environment_map(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ static const float default_layout[] = { 0,0, 1,0, 2,0, 0,1, 1,1, 2,1 };
+
+ func= RNA_def_function(srna, "clear", "clear_envmap");
+ RNA_def_function_ui_description(func, "Discard the environment map and free it from memory.");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT);
+
+
+ func= RNA_def_function(srna,"save", "save_envmap");
+ RNA_def_function_ui_description(func, "Save the environment map to disc using the scene render settings.");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
+
+ parm= RNA_def_string_file_name(func,"filepath","",FILE_MAX,"File path","Location of the output file");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ RNA_def_pointer(func, "scene", "Scene", "", "Overrides the scene from which image parameters are taken.");
+
+ parm = RNA_def_float_array(func, "layout", 12, default_layout, 0.0f, 0.0f, "File layout", "Flat array describing the X,Y position of each cube face in the output image, where 1 is the size of a face. Order is [+Z -Z +Y -X -Y +X]. Use -1 to skip a face.", 0.0f, 0.0f);
+}
+
+#endif
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index b67805c97b9..7d0502f1be9 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -117,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();
@@ -245,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);
}
@@ -348,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");
}
@@ -864,6 +878,21 @@ static void rna_def_userdef_theme_spaces_curves(StructRNA *srna, short incl_nurb
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Align handle selected color", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ if (incl_nurbs == 0) {
+ /* assume that when nurbs are off, this is for 2D (i.e. anim) editors */
+ prop= RNA_def_property(srna, "handle_auto_clamped", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "handle_auto_clamped");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Auto-Clamped handle color", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop= RNA_def_property(srna, "handle_sel_auto_clamped", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_float_sdna(prop, NULL, "handle_sel_auto_clamped");
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Auto-Clamped handle selected color", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+ }
prop= RNA_def_property(srna, "lastsel_point", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "lastsel_point");
@@ -905,6 +934,11 @@ static void rna_def_userdef_theme_space_view3d(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Lamp", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+ prop= RNA_def_property(srna, "speaker", PROP_FLOAT, PROP_COLOR_GAMMA);
+ RNA_def_property_array(prop, 3);
+ RNA_def_property_ui_text(prop, "Speaker", "");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
+
prop= RNA_def_property(srna, "object_selected", PROP_FLOAT, PROP_COLOR_GAMMA);
RNA_def_property_float_sdna(prop, NULL, "select");
RNA_def_property_array(prop, 3);
@@ -1337,6 +1371,13 @@ static void rna_def_userdef_theme_space_node(BlenderRNA *brna)
RNA_def_property_array(prop, 3);
RNA_def_property_ui_text(prop, "Group Node", "");
RNA_def_property_update(prop, 0, "rna_userdef_update");
+
+ prop= RNA_def_property(srna, "noodle_curving", PROP_INT, PROP_NONE);
+ RNA_def_property_int_sdna(prop, NULL, "noodle_curving");
+ RNA_def_property_int_default(prop, 5);
+ RNA_def_property_range(prop, 0, 10);
+ RNA_def_property_ui_text(prop, "Noodle curving", "Curving of the noodle");
+ RNA_def_property_update(prop, 0, "rna_userdef_update");
}
static void rna_def_userdef_theme_space_logic(BlenderRNA *brna)
@@ -2102,19 +2143,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");
@@ -2201,13 +2245,13 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
/* auto keyframing */
prop= RNA_def_property(srna, "use_auto_keying", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_mode", AUTOKEY_ON);
- RNA_def_property_ui_text(prop, "Auto Keying Enable", "Automatic keyframe insertion for Objects and Bones");
+ RNA_def_property_ui_text(prop, "Auto Keying Enable", "Automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)");
RNA_def_property_ui_icon(prop, ICON_REC, 0);
prop= RNA_def_property(srna, "auto_keying_mode", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, auto_key_modes);
RNA_def_property_enum_funcs(prop, "rna_userdef_autokeymode_get", "rna_userdef_autokeymode_set", NULL);
- RNA_def_property_ui_text(prop, "Auto Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones");
+ RNA_def_property_ui_text(prop, "Auto Keying Mode", "Mode of automatic keyframe insertion for Objects and Bones (default setting used for new Scenes)");
prop= RNA_def_property(srna, "use_keyframe_insert_available", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "autokey_flag", AUTOKEY_FLAG_INSERTAVAIL);
@@ -2229,12 +2273,12 @@ static void rna_def_userdef_edit(BlenderRNA *brna)
prop= RNA_def_property(srna, "keyframe_new_interpolation_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_items(prop, beztriple_interpolation_mode_items);
RNA_def_property_enum_sdna(prop, NULL, "ipo_new");
- RNA_def_property_ui_text(prop, "New Interpolation Type", "");
+ RNA_def_property_ui_text(prop, "New Interpolation Type", "Interpolation mode used for first keyframe on newly added F-Curves. Subsequent keyframes take interpolation from preceeding keyframe");
prop= RNA_def_property(srna, "keyframe_new_handle_type", PROP_ENUM, PROP_NONE);
- RNA_def_property_enum_items(prop, beztriple_handle_type_items);
+ RNA_def_property_enum_items(prop, keyframe_handle_type_items);
RNA_def_property_enum_sdna(prop, NULL, "keyhandles_new");
- RNA_def_property_ui_text(prop, "New Handles Type", "");
+ RNA_def_property_ui_text(prop, "New Handles Type", "Handle type for handles of new keyframes");
/* frame numbers */
prop= RNA_def_property(srna, "use_negative_frames", PROP_BOOLEAN, PROP_NONE);
@@ -2339,6 +2383,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"},
@@ -2561,6 +2613,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");
@@ -2705,17 +2764,43 @@ static void rna_def_userdef_input(BlenderRNA *brna)
RNA_def_property_int_sdna(prop, NULL, "dragthreshold");
RNA_def_property_range(prop, 3, 40);
RNA_def_property_ui_text(prop, "Drag Threshold", "Amount of pixels you have to drag before dragging UI items happens");
-
- prop= RNA_def_property(srna, "ndof_pan_speed", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ndof_pan");
- RNA_def_property_range(prop, 0, 200);
- RNA_def_property_ui_text(prop, "NDof Pan Speed", "The overall panning speed of an NDOF device, as percent of standard");
- prop= RNA_def_property(srna, "ndof_rotate_speed", PROP_INT, PROP_NONE);
- RNA_def_property_int_sdna(prop, NULL, "ndof_rotate");
- RNA_def_property_range(prop, 0, 200);
- RNA_def_property_ui_text(prop, "NDof Rotation Speed", "The overall rotation speed of an NDOF device, as percent of standard");
-
+ /* 3D mouse settings */
+ /* global options */
+ prop= RNA_def_property(srna, "ndof_sensitivity", PROP_FLOAT, PROP_NONE);
+ RNA_def_property_range(prop, 0.25f, 4.0f);
+ RNA_def_property_ui_text(prop, "Sensitivity", "Overall sensitivity of the 3D Mouse");
+
+ prop= RNA_def_property(srna, "ndof_zoom_updown", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ZOOM_UPDOWN);
+ RNA_def_property_ui_text(prop, "Zoom = Up/Down", "Zoom using up/down on the device (otherwise forward/backward)");
+
+ prop= RNA_def_property(srna, "ndof_zoom_invert", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ZOOM_INVERT);
+ RNA_def_property_ui_text(prop, "Invert Zoom", "Zoom using opposite direction");
+
+ /* 3D view */
+ prop= RNA_def_property(srna, "ndof_show_guide", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_SHOW_GUIDE);
+ RNA_def_property_ui_text(prop, "Show Navigation Guide", "Display the center and axis during rotation");
+ /* TODO: update description when fly-mode visuals are in place ("projected position in fly mode")*/
+
+ /* 3D view: orbit */
+ prop= RNA_def_property(srna, "ndof_orbit_invert_axes", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_ORBIT_INVERT_AXES);
+ RNA_def_property_ui_text(prop, "Invert Axes", "Toggle between moving the viewpoint or moving the scene being viewed");
+ /* in 3Dx docs, this is called 'object mode' vs. 'target camera mode' */
+
+ /* 3D view: fly */
+ prop= RNA_def_property(srna, "ndof_lock_horizon", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_LOCK_HORIZON);
+ RNA_def_property_ui_text(prop, "Lock Horizon", "Keep horizon level while flying with 3D Mouse");
+
+ prop= RNA_def_property(srna, "ndof_fly_helicopter", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "ndof_flag", NDOF_FLY_HELICOPTER);
+ RNA_def_property_ui_text(prop, "Helicopter Mode", "Device up/down directly controls your Z position");
+
+
prop= RNA_def_property(srna, "mouse_double_click_time", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "dbl_click_time");
RNA_def_property_range(prop, 1, 1000);
@@ -2743,12 +2828,6 @@ static void rna_def_userdef_input(BlenderRNA *brna)
RNA_def_property_range(prop, 0, 32);
RNA_def_property_ui_text(prop, "Wheel Scroll Lines", "The number of lines scrolled at a time with the mouse wheel");
- /* U.keymaps - custom keymaps that have been edited from default configs */
- prop= RNA_def_property(srna, "edited_keymaps", PROP_COLLECTION, PROP_NONE);
- RNA_def_property_collection_sdna(prop, NULL, "keymaps", NULL);
- RNA_def_property_struct_type(prop, "KeyMap");
- RNA_def_property_ui_text(prop, "Edited Keymaps", "");
-
prop= RNA_def_property(srna, "active_keyconfig", PROP_STRING, PROP_DIRPATH);
RNA_def_property_string_sdna(prop, NULL, "keyconfigstr");
RNA_def_property_ui_text(prop, "Key Config", "The name of the active key configuration");
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 7ea4701dec3..a595b121d1a 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -106,6 +106,46 @@ EnumPropertyItem event_timer_type_items[]= {
{TIMER2, "TIMER2", 0, "Timer 2", ""},
{0, NULL, 0, NULL, NULL}};
+EnumPropertyItem event_ndof_type_items[]= {
+ /* buttons on all 3dconnexion devices */
+ {NDOF_BUTTON_MENU, "NDOF_BUTTON_MENU", 0, "Menu", ""},
+ {NDOF_BUTTON_FIT, "NDOF_BUTTON_FIT", 0, "Fit", ""},
+ /* view buttons */
+ {NDOF_BUTTON_TOP, "NDOF_BUTTON_TOP", 0, "Top", ""},
+ {NDOF_BUTTON_BOTTOM, "NDOF_BUTTON_BOTTOM", 0, "Bottom", ""},
+ {NDOF_BUTTON_LEFT, "NDOF_BUTTON_LEFT", 0, "Left", ""},
+ {NDOF_BUTTON_RIGHT, "NDOF_BUTTON_RIGHT", 0, "Right", ""},
+ {NDOF_BUTTON_FRONT, "NDOF_BUTTON_FRONT", 0, "Front", ""},
+ {NDOF_BUTTON_BACK, "NDOF_BUTTON_BACK", 0, "Back", ""},
+ /* more views */
+ {NDOF_BUTTON_ISO1, "NDOF_BUTTON_ISO1", 0, "ISO 1", ""},
+ {NDOF_BUTTON_ISO2, "NDOF_BUTTON_ISO2", 0, "ISO 2", ""},
+ /* 90 degree rotations */
+ {NDOF_BUTTON_ROLL_CW, "NDOF_BUTTON_ROLL_CW", 0, "Roll CW", ""},
+ {NDOF_BUTTON_ROLL_CCW, "NDOF_BUTTON_ROLL_CCW", 0, "Roll CCW", ""},
+ {NDOF_BUTTON_SPIN_CW, "NDOF_BUTTON_SPIN_CW", 0, "Spin CW", ""},
+ {NDOF_BUTTON_SPIN_CCW, "NDOF_BUTTON_SPIN_CCW", 0, "Spin CCW", ""},
+ {NDOF_BUTTON_TILT_CW, "NDOF_BUTTON_TILT_CW", 0, "Tilt CW", ""},
+ {NDOF_BUTTON_TILT_CCW, "NDOF_BUTTON_TILT_CCW", 0, "Tilt CCW", ""},
+ /* device control */
+ {NDOF_BUTTON_ROTATE, "NDOF_BUTTON_ROTATE", 0, "Rotate", ""},
+ {NDOF_BUTTON_PANZOOM, "NDOF_BUTTON_PANZOOM", 0, "Pan/Zoom", ""},
+ {NDOF_BUTTON_DOMINANT, "NDOF_BUTTON_DOMINANT", 0, "Dominant", ""},
+ {NDOF_BUTTON_PLUS, "NDOF_BUTTON_PLUS", 0, "Plus", ""},
+ {NDOF_BUTTON_MINUS, "NDOF_BUTTON_MINUS", 0, "Minus", ""},
+ /* general-purpose buttons */
+ {NDOF_BUTTON_1, "NDOF_BUTTON_1", 0, "Button 1", ""},
+ {NDOF_BUTTON_2, "NDOF_BUTTON_2", 0, "Button 2", ""},
+ {NDOF_BUTTON_3, "NDOF_BUTTON_3", 0, "Button 3", ""},
+ {NDOF_BUTTON_4, "NDOF_BUTTON_4", 0, "Button 4", ""},
+ {NDOF_BUTTON_5, "NDOF_BUTTON_5", 0, "Button 5", ""},
+ {NDOF_BUTTON_6, "NDOF_BUTTON_6", 0, "Button 6", ""},
+ {NDOF_BUTTON_7, "NDOF_BUTTON_7", 0, "Button 7", ""},
+ {NDOF_BUTTON_8, "NDOF_BUTTON_8", 0, "Button 8", ""},
+ {NDOF_BUTTON_9, "NDOF_BUTTON_9", 0, "Button 9", ""},
+ {NDOF_BUTTON_10, "NDOF_BUTTON_10", 0, "Button 10", ""},
+ {0, NULL, 0, NULL, NULL}};
+
/* not returned: CAPSLOCKKEY, UNKNOWNKEY */
EnumPropertyItem event_type_items[] = {
@@ -256,6 +296,44 @@ EnumPropertyItem event_type_items[] = {
{TIMER0, "TIMER0", 0, "Timer 0", ""},
{TIMER1, "TIMER1", 0, "Timer 1", ""},
{TIMER2, "TIMER2", 0, "Timer 2", ""},
+ {0, "", 0, NULL, NULL},
+ /* buttons on all 3dconnexion devices */
+ {NDOF_BUTTON_MENU, "NDOF_BUTTON_MENU", 0, "Menu", ""},
+ {NDOF_BUTTON_FIT, "NDOF_BUTTON_FIT", 0, "Fit", ""},
+ /* view buttons */
+ {NDOF_BUTTON_TOP, "NDOF_BUTTON_TOP", 0, "Top", ""},
+ {NDOF_BUTTON_BOTTOM, "NDOF_BUTTON_BOTTOM", 0, "Bottom", ""},
+ {NDOF_BUTTON_LEFT, "NDOF_BUTTON_LEFT", 0, "Left", ""},
+ {NDOF_BUTTON_RIGHT, "NDOF_BUTTON_RIGHT", 0, "Right", ""},
+ {NDOF_BUTTON_FRONT, "NDOF_BUTTON_FRONT", 0, "Front", ""},
+ {NDOF_BUTTON_BACK, "NDOF_BUTTON_BACK", 0, "Back", ""},
+ /* more views */
+ {NDOF_BUTTON_ISO1, "NDOF_BUTTON_ISO1", 0, "ISO 1", ""},
+ {NDOF_BUTTON_ISO2, "NDOF_BUTTON_ISO2", 0, "ISO 2", ""},
+ /* 90 degree rotations */
+ {NDOF_BUTTON_ROLL_CW, "NDOF_BUTTON_ROLL_CW", 0, "Roll CW", ""},
+ {NDOF_BUTTON_ROLL_CCW, "NDOF_BUTTON_ROLL_CCW", 0, "Roll CCW", ""},
+ {NDOF_BUTTON_SPIN_CW, "NDOF_BUTTON_SPIN_CW", 0, "Spin CW", ""},
+ {NDOF_BUTTON_SPIN_CCW, "NDOF_BUTTON_SPIN_CCW", 0, "Spin CCW", ""},
+ {NDOF_BUTTON_TILT_CW, "NDOF_BUTTON_TILT_CW", 0, "Tilt CW", ""},
+ {NDOF_BUTTON_TILT_CCW, "NDOF_BUTTON_TILT_CCW", 0, "Tilt CCW", ""},
+ /* device control */
+ {NDOF_BUTTON_ROTATE, "NDOF_BUTTON_ROTATE", 0, "Rotate", ""},
+ {NDOF_BUTTON_PANZOOM, "NDOF_BUTTON_PANZOOM", 0, "Pan/Zoom", ""},
+ {NDOF_BUTTON_DOMINANT, "NDOF_BUTTON_DOMINANT", 0, "Dominant", ""},
+ {NDOF_BUTTON_PLUS, "NDOF_BUTTON_PLUS", 0, "Plus", ""},
+ {NDOF_BUTTON_MINUS, "NDOF_BUTTON_MINUS", 0, "Minus", ""},
+ /* general-purpose buttons */
+ {NDOF_BUTTON_1, "NDOF_BUTTON_1", 0, "Button 1", ""},
+ {NDOF_BUTTON_2, "NDOF_BUTTON_2", 0, "Button 2", ""},
+ {NDOF_BUTTON_3, "NDOF_BUTTON_3", 0, "Button 3", ""},
+ {NDOF_BUTTON_4, "NDOF_BUTTON_4", 0, "Button 4", ""},
+ {NDOF_BUTTON_5, "NDOF_BUTTON_5", 0, "Button 5", ""},
+ {NDOF_BUTTON_6, "NDOF_BUTTON_6", 0, "Button 6", ""},
+ {NDOF_BUTTON_7, "NDOF_BUTTON_7", 0, "Button 7", ""},
+ {NDOF_BUTTON_8, "NDOF_BUTTON_8", 0, "Button 8", ""},
+ {NDOF_BUTTON_9, "NDOF_BUTTON_9", 0, "Button 9", ""},
+ {NDOF_BUTTON_10, "NDOF_BUTTON_10", 0, "Button 10", ""},
{0, NULL, 0, NULL, NULL}};
EnumPropertyItem keymap_propvalue_items[] = {
@@ -303,6 +381,7 @@ EnumPropertyItem wm_report_items[] = {
#define KMI_TYPE_TWEAK 2
#define KMI_TYPE_TEXTINPUT 3
#define KMI_TYPE_TIMER 4
+#define KMI_TYPE_NDOF 5
#ifdef RNA_RUNTIME
@@ -403,13 +482,13 @@ static void rna_Window_screen_set(PointerRNA *ptr, PointerRNA value)
win->newscreen= value.data;
}
-static void rna_Window_screen_update(bContext *C, PointerRNA *ptr)
+static void rna_Window_screen_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *ptr)
{
wmWindow *win= (wmWindow*)ptr->data;
/* exception: can't set screens inside of area/region handers */
if(win->newscreen) {
- WM_event_add_notifier(C, NC_SCREEN|ND_SCREENBROWSE, win->newscreen);
+ WM_main_add_notifier(NC_SCREEN|ND_SCREENBROWSE, win->newscreen);
win->newscreen= NULL;
}
}
@@ -433,6 +512,7 @@ static int rna_wmKeyMapItem_map_type_get(PointerRNA *ptr)
if(ISKEYBOARD(kmi->type)) return KMI_TYPE_KEYBOARD;
if(ISTWEAK(kmi->type)) return KMI_TYPE_TWEAK;
if(ISMOUSE(kmi->type)) return KMI_TYPE_MOUSE;
+ if(ISNDOF(kmi->type)) return KMI_TYPE_NDOF;
if(kmi->type == KM_TEXTINPUT) return KMI_TYPE_TEXTINPUT;
return KMI_TYPE_KEYBOARD;
}
@@ -464,6 +544,10 @@ static void rna_wmKeyMapItem_map_type_set(PointerRNA *ptr, int value)
kmi->type= TIMER;
kmi->val= KM_NOTHING;
break;
+ case KMI_TYPE_NDOF:
+ kmi->type = NDOF_BUTTON_MENU;
+ kmi->val = KM_NOTHING;
+ break;
}
}
}
@@ -475,6 +559,7 @@ static EnumPropertyItem *rna_KeyMapItem_type_itemf(bContext *UNUSED(C), PointerR
if(map_type == KMI_TYPE_MOUSE) return event_mouse_type_items;
if(map_type == KMI_TYPE_TWEAK) return event_tweak_type_items;
if(map_type == KMI_TYPE_TIMER) return event_timer_type_items;
+ if(map_type == KMI_TYPE_NDOF) return event_ndof_type_items;
else return event_type_items;
}
@@ -482,7 +567,7 @@ static EnumPropertyItem *rna_KeyMapItem_value_itemf(bContext *UNUSED(C), Pointer
{
int map_type= rna_wmKeyMapItem_map_type_get(ptr);
- if(map_type == KMI_TYPE_MOUSE || map_type == KMI_TYPE_KEYBOARD) return event_keymouse_value_items;
+ if(map_type == KMI_TYPE_MOUSE || map_type == KMI_TYPE_KEYBOARD || map_type == KMI_TYPE_NDOF) return event_keymouse_value_items;
if(map_type == KMI_TYPE_TWEAK) return event_tweak_value_items;
else return event_value_items;
}
@@ -493,22 +578,6 @@ static EnumPropertyItem *rna_KeyMapItem_propvalue_itemf(bContext *C, PointerRNA
wmKeyConfig *kc;
wmKeyMap *km;
- /* check user keymaps */
- for(km=U.keymaps.first; km; km=km->next) {
- wmKeyMapItem *kmi;
- for (kmi=km->items.first; kmi; kmi=kmi->next) {
- if (kmi == ptr->data) {
- if (!km->modal_items) {
- if (!WM_keymap_user_init(wm, km)) {
- return keymap_propvalue_items; /* ERROR */
- }
- }
-
- return km->modal_items;
- }
- }
- }
-
for(kc=wm->keyconfigs.first; kc; kc=kc->next) {
for(km=kc->keymaps.first; km; km=km->next) {
/* only check if it's a modal keymap */
@@ -569,12 +638,13 @@ 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 *UNUSED(ptr), PointerRNA value)
+static void rna_WindowManager_active_keyconfig_set(PointerRNA *ptr, PointerRNA value)
{
+ wmWindowManager *wm= ptr->data;
wmKeyConfig *kc= value.data;
if(kc)
- BLI_strncpy(U.keyconfigstr, kc->idname, sizeof(U.keyconfigstr));
+ WM_keyconfig_set_active(wm, kc->idname);
}
static void rna_wmKeyMapItem_idname_get(PointerRNA *ptr, char *value)
@@ -610,20 +680,14 @@ static void rna_wmKeyMapItem_name_get(PointerRNA *ptr, char *value)
{
wmKeyMapItem *kmi= ptr->data;
wmOperatorType *ot= WM_operatortype_find(kmi->idname, 1);
-
- if (ot)
- strcpy(value, ot->name);
+ strcpy(value, ot ? ot->name : kmi->idname);
}
static int rna_wmKeyMapItem_name_length(PointerRNA *ptr)
{
wmKeyMapItem *kmi= ptr->data;
wmOperatorType *ot= WM_operatortype_find(kmi->idname, 1);
-
- if (ot)
- return strlen(ot->name);
- else
- return 0;
+ return strlen(ot ? ot->name : kmi->idname);
}
static int rna_KeyMapItem_userdefined_get(PointerRNA *ptr)
@@ -940,7 +1004,7 @@ static StructRNA *rna_Operator_register(Main *bmain, ReportList *reports, void *
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;
@@ -1045,93 +1109,6 @@ static StructRNA* rna_MacroOperator_refine(PointerRNA *opr)
return (op->type && op->type->ext.srna)? op->type->ext.srna: &RNA_Macro;
}
-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 */
- if (km->flag & KEYMAP_MODAL) {
- BKE_report(reports, RPT_ERROR, "Not a non-modal keymap.");
- return NULL;
- }
-
- WM_operator_bl_idname(idname_bl, idname);
-
- if(shift) modifier |= KM_SHIFT;
- if(ctrl) modifier |= KM_CTRL;
- if(alt) modifier |= KM_ALT;
- if(oskey) modifier |= KM_OSKEY;
-
- if(any) modifier = KM_ANY;
-
- 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)
-{
- wmWindowManager *wm = CTX_wm_manager(C);
- int modifier= 0;
- int propvalue = 0;
-
- /* only modal maps */
- if ((km->flag & KEYMAP_MODAL) == 0) {
- BKE_report(reports, RPT_ERROR, "Not a modal keymap.");
- return NULL;
- }
-
- if (!km->modal_items) {
- if(!WM_keymap_user_init(wm, km)) {
- BKE_report(reports, RPT_ERROR, "User defined keymap doesn't correspond to a system keymap.");
- return NULL;
- }
- }
-
- if (!km->modal_items) {
- BKE_report(reports, RPT_ERROR, "No property values defined.");
- return NULL;
- }
-
-
- if(RNA_enum_value_from_id(km->modal_items, propvalue_str, &propvalue)==0) {
- BKE_report(reports, RPT_WARNING, "Property value not in enumeration.");
- }
-
- if(shift) modifier |= KM_SHIFT;
- if(ctrl) modifier |= KM_CTRL;
- if(alt) modifier |= KM_ALT;
- if(oskey) modifier |= KM_OSKEY;
-
- if(any) modifier = KM_ANY;
-
- return WM_modalkeymap_add_item(km, type, value, modifier, keymodifier, propvalue);
-}
-
-static wmKeyMap *rna_keymap_new(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid, int modal)
-{
- if (modal == 0) {
- return WM_keymap_find(keyconf, idname, spaceid, regionid);
- } else {
- return WM_modalkeymap_add(keyconf, idname, NULL); /* items will be lazy init */
- }
-}
-
-static wmKeyMap *rna_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
-{
- return WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
-}
-
-static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *UNUSED(keyconf), const char *idname)
-{
- wmOperatorType *ot = WM_operatortype_find(idname, 0);
-
- if (!ot)
- return NULL;
- else
- return ot->modalkeymap;
-}
-
/* just to work around 'const char *' warning and to ensure this is a python op */
static void rna_Operator_bl_idname_set(PointerRNA *ptr, const char *value)
{
@@ -1157,6 +1134,12 @@ static void rna_Operator_bl_description_set(PointerRNA *ptr, const char *value)
else assert(!"setting the bl_description on a non-builtin operator");
}
+static void rna_KeyMapItem_update(Main *bmain, Scene *scene, PointerRNA *ptr)
+{
+ wmKeyMapItem *kmi= ptr->data;
+ WM_keyconfig_update_tag(NULL, kmi);
+}
+
#else /* RNA_RUNTIME */
static void rna_def_operator(BlenderRNA *brna)
@@ -1471,7 +1454,6 @@ static void rna_def_window(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Screen", "Active screen showing in the window");
RNA_def_property_flag(prop, PROP_EDITABLE);
RNA_def_property_pointer_funcs(prop, NULL, "rna_Window_screen_set", NULL, NULL);
- RNA_def_property_flag(prop, PROP_CONTEXT_UPDATE);
RNA_def_property_update(prop, 0, "rna_Window_screen_update");
}
@@ -1481,9 +1463,6 @@ static void rna_def_wm_keyconfigs(BlenderRNA *brna, PropertyRNA *cprop)
StructRNA *srna;
PropertyRNA *prop;
- FunctionRNA *func;
- PropertyRNA *parm;
-
RNA_def_property_srna(cprop, "KeyConfigurations");
srna= RNA_def_struct(brna, "KeyConfigurations", NULL);
RNA_def_struct_sdna(srna, "wmWindowManager");
@@ -1493,23 +1472,24 @@ static void rna_def_wm_keyconfigs(BlenderRNA *brna, PropertyRNA *cprop)
RNA_def_property_struct_type(prop, "KeyConfig");
RNA_def_property_pointer_funcs(prop, "rna_WindowManager_active_keyconfig_get", "rna_WindowManager_active_keyconfig_set", NULL, NULL);
RNA_def_property_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "Active KeyConfig", "Active wm KeyConfig");
+ RNA_def_property_ui_text(prop, "Active KeyConfig", "Active key configuration (preset)");
prop= RNA_def_property(srna, "default", PROP_POINTER, PROP_NEVER_NULL);
RNA_def_property_pointer_sdna(prop, NULL, "defaultconf");
RNA_def_property_struct_type(prop, "KeyConfig");
- RNA_def_property_ui_text(prop, "Default Key Configuration", "");
+ RNA_def_property_ui_text(prop, "Default Key Configuration", "Default builtin key configuration");
+
+ prop= RNA_def_property(srna, "addon", PROP_POINTER, PROP_NEVER_NULL);
+ RNA_def_property_pointer_sdna(prop, NULL, "addonconf");
+ RNA_def_property_struct_type(prop, "KeyConfig");
+ RNA_def_property_ui_text(prop, "Addon Key Configuration", "Key configuration that can be extended by addons, and is added to the active configuration when handling events");
+
+ prop= RNA_def_property(srna, "user", PROP_POINTER, PROP_NEVER_NULL);
+ RNA_def_property_pointer_sdna(prop, NULL, "userconf");
+ RNA_def_property_struct_type(prop, "KeyConfig");
+ RNA_def_property_ui_text(prop, "User Key Configuration", "Final key configuration that combines keymaps from the active and addon configurations, and can be edited by the user");
- /* funcs */
- func= RNA_def_function(srna, "new", "WM_keyconfig_new_user"); // add_keyconfig
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Added key configuration.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "remove", "WM_keyconfig_remove"); // remove_keyconfig
- parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Removed key configuration.");
- RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_api_keyconfigs(srna);
}
static void rna_def_windowmanager(BlenderRNA *brna)
@@ -1546,113 +1526,37 @@ static void rna_def_windowmanager(BlenderRNA *brna)
static void rna_def_keymap_items(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
-// PropertyRNA *prop;
-
- FunctionRNA *func;
- PropertyRNA *parm;
RNA_def_property_srna(cprop, "KeyMapItems");
srna= RNA_def_struct(brna, "KeyMapItems", NULL);
RNA_def_struct_sdna(srna, "wmKeyMap");
RNA_def_struct_ui_text(srna, "KeyMap Items", "Collection of keymap items");
- func= RNA_def_function(srna, "new", "rna_KeyMap_item_new");
- RNA_def_function_flag(func, FUNC_USE_REPORTS);
- parm= RNA_def_string(func, "idname", "", 0, "Operator Identifier", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_boolean(func, "any", 0, "Any", "");
- RNA_def_boolean(func, "shift", 0, "Shift", "");
- RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
- RNA_def_boolean(func, "alt", 0, "Alt", "");
- RNA_def_boolean(func, "oskey", 0, "OS Key", "");
- RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "new_modal", "rna_KeyMap_item_new_modal");
- RNA_def_function_flag(func, FUNC_USE_CONTEXT|FUNC_USE_REPORTS);
- parm= RNA_def_string(func, "propvalue", "", 0, "Property Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_boolean(func, "any", 0, "Any", "");
- RNA_def_boolean(func, "shift", 0, "Shift", "");
- RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
- RNA_def_boolean(func, "alt", 0, "Alt", "");
- RNA_def_boolean(func, "oskey", 0, "OS Key", "");
- RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "remove", "WM_keymap_remove_item");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
-
- func= RNA_def_function(srna, "from_id", "WM_keymap_item_find_id");
- parm= RNA_def_property(func, "id", PROP_INT, PROP_NONE);
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_property_ui_text(parm, "id", "ID of the item");
- parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
- RNA_def_function_return(func, parm);
-
+ RNA_api_keymapitems(srna);
}
static void rna_def_wm_keymaps(BlenderRNA *brna, PropertyRNA *cprop)
{
StructRNA *srna;
- //PropertyRNA *prop;
-
- FunctionRNA *func;
- PropertyRNA *parm;
-
RNA_def_property_srna(cprop, "KeyMaps");
srna= RNA_def_struct(brna, "KeyMaps", NULL);
RNA_def_struct_sdna(srna, "wmKeyConfig");
RNA_def_struct_ui_text(srna, "Key Maps", "Collection of keymaps");
- func= RNA_def_function(srna, "new", "rna_keymap_new"); // add_keymap
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
- RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- RNA_def_boolean(func, "modal", 0, "Modal", "");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Added key map.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "find", "rna_keymap_find"); // find_keymap
- parm= RNA_def_string(func, "name", "", 0, "Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
- RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
- RNA_def_function_return(func, parm);
-
- func= RNA_def_function(srna, "find_modal", "rna_keymap_find_modal"); // find_keymap_modal
- parm= RNA_def_string(func, "name", "", 0, "Operator Name", "");
- RNA_def_property_flag(parm, PROP_REQUIRED);
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
- RNA_def_function_return(func, parm);
-
+ RNA_api_keymaps(srna);
}
static void rna_def_keyconfig(BlenderRNA *brna)
{
StructRNA *srna;
- // FunctionRNA *func;
- // PropertyRNA *parm;
PropertyRNA *prop;
static EnumPropertyItem map_type_items[] = {
{KMI_TYPE_KEYBOARD, "KEYBOARD", 0, "Keyboard", ""},
{KMI_TYPE_TWEAK, "TWEAK", 0, "Tweak", ""},
{KMI_TYPE_MOUSE, "MOUSE", 0, "Mouse", ""},
+ {KMI_TYPE_NDOF, "NDOF", 0, "NDOF", ""},
{KMI_TYPE_TEXTINPUT, "TEXTINPUT", 0, "Text Input", ""},
{KMI_TYPE_TIMER, "TIMER", 0, "Timer", ""},
{0, NULL, 0, NULL, NULL}};
@@ -1708,8 +1612,8 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Items", "Items in the keymap, linking an operator to an input event");
rna_def_keymap_items(brna, prop);
- prop= RNA_def_property(srna, "is_user_defined", PROP_BOOLEAN, PROP_NEVER_NULL);
- RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYMAP_USER);
+ prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NEVER_NULL);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", KEYMAP_USER_MODIFIED);
RNA_def_property_ui_text(prop, "User Defined", "Keymap is defined by the user");
prop= RNA_def_property(srna, "is_modal", PROP_BOOLEAN, PROP_NONE);
@@ -1740,7 +1644,10 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Identifier", "Identifier of operator to call on input event");
RNA_def_property_string_funcs(prop, "rna_wmKeyMapItem_idname_get", "rna_wmKeyMapItem_idname_length", "rna_wmKeyMapItem_idname_set");
RNA_def_struct_name_property(srna, prop);
-
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
+
+ /* this is infact the operator name, but if the operator can't be found we
+ * fallback on the operator ID */
prop= RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "Name", "Name of operator to call on input event");
@@ -1750,62 +1657,73 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_struct_type(prop, "OperatorProperties");
RNA_def_property_pointer_funcs(prop, "rna_KeyMapItem_properties_get", NULL, NULL, NULL);
RNA_def_property_ui_text(prop, "Properties", "Properties to set when the operator is called");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "map_type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "maptype");
RNA_def_property_enum_items(prop, map_type_items);
RNA_def_property_enum_funcs(prop, "rna_wmKeyMapItem_map_type_get", "rna_wmKeyMapItem_map_type_set", NULL);
RNA_def_property_ui_text(prop, "Map Type", "Type of event mapping");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "type");
RNA_def_property_enum_items(prop, event_type_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_type_itemf");
RNA_def_property_ui_text(prop, "Type", "Type of event");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "value", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "val");
RNA_def_property_enum_items(prop, event_value_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_value_itemf");
RNA_def_property_ui_text(prop, "Value", "");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "id", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "id");
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
RNA_def_property_ui_text(prop, "id", "ID of the item");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "any", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_funcs(prop, "rna_KeyMapItem_any_getf", "rna_KeyMapItem_any_setf");
RNA_def_property_ui_text(prop, "Any", "Any modifier keys pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "shift", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "shift", 0);
// RNA_def_property_enum_sdna(prop, NULL, "shift");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Shift", "Shift key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "ctrl", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "ctrl", 0);
// RNA_def_property_enum_sdna(prop, NULL, "ctrl");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Ctrl", "Control key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "alt", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "alt", 0);
// RNA_def_property_enum_sdna(prop, NULL, "alt");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "Alt", "Alt key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "oskey", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "oskey", 0);
// RNA_def_property_enum_sdna(prop, NULL, "oskey");
// RNA_def_property_enum_items(prop, keymap_modifiers_items);
RNA_def_property_ui_text(prop, "OS Key", "Operating system key pressed");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "key_modifier", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "keymodifier");
RNA_def_property_enum_items(prop, event_type_items);
RNA_def_property_ui_text(prop, "Key Modifier", "Regular key pressed as a modifier");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "show_expanded", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_EXPANDED);
@@ -1817,15 +1735,22 @@ static void rna_def_keyconfig(BlenderRNA *brna)
RNA_def_property_enum_items(prop, keymap_propvalue_items);
RNA_def_property_enum_funcs(prop, NULL, NULL, "rna_KeyMapItem_propvalue_itemf");
RNA_def_property_ui_text(prop, "Property Value", "The value this event translates to in a modal keymap");
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
prop= RNA_def_property(srna, "active", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", KMI_INACTIVE);
RNA_def_property_ui_text(prop, "Active", "Activate or deactivate item");
RNA_def_property_ui_icon(prop, ICON_CHECKBOX_DEHLT, 1);
+ RNA_def_property_update(prop, 0, "rna_KeyMapItem_update");
+
+ prop= RNA_def_property(srna, "is_user_modified", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_sdna(prop, NULL, "flag", KMI_USER_MODIFIED);
+ RNA_def_property_clear_flag(prop, PROP_EDITABLE);
+ RNA_def_property_ui_text(prop, "User Modified", "Is this keymap item modified by the user");
prop= RNA_def_property(srna, "is_user_defined", PROP_BOOLEAN, PROP_NONE);
RNA_def_property_clear_flag(prop, PROP_EDITABLE);
- RNA_def_property_ui_text(prop, "User Defined", "Is this keymap item user defined (doesn't just override a builtin item)");
+ RNA_def_property_ui_text(prop, "User Defined", "Is this keymap item user defined (doesn't just replace a builtin item)");
RNA_def_property_boolean_funcs(prop, "rna_KeyMapItem_userdefined_get", NULL);
RNA_api_keymapitem(srna);
diff --git a/source/blender/makesrna/intern/rna_wm_api.c b/source/blender/makesrna/intern/rna_wm_api.c
index e250cc84aa3..89e946f498a 100644
--- a/source/blender/makesrna/intern/rna_wm_api.c
+++ b/source/blender/makesrna/intern/rna_wm_api.c
@@ -84,6 +84,85 @@ void rna_event_timer_remove(struct wmWindowManager *wm, wmTimer *timer)
WM_event_remove_timer(wm, timer->win, timer);
}
+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 */
+ if (km->flag & KEYMAP_MODAL) {
+ BKE_report(reports, RPT_ERROR, "Not a non-modal keymap.");
+ return NULL;
+ }
+
+ WM_operator_bl_idname(idname_bl, idname);
+
+ if(shift) modifier |= KM_SHIFT;
+ if(ctrl) modifier |= KM_CTRL;
+ if(alt) modifier |= KM_ALT;
+ if(oskey) modifier |= KM_OSKEY;
+
+ if(any) modifier = KM_ANY;
+
+ return WM_keymap_add_item(km, idname_bl, type, value, modifier, keymodifier);
+}
+
+static wmKeyMapItem *rna_KeyMap_item_new_modal(wmKeyMap *km, ReportList *reports, const char *propvalue_str, int type, int value, int any, int shift, int ctrl, int alt, int oskey, int keymodifier)
+{
+ int modifier= 0;
+ int propvalue = 0;
+
+ /* only modal maps */
+ if ((km->flag & KEYMAP_MODAL) == 0) {
+ BKE_report(reports, RPT_ERROR, "Not a modal keymap.");
+ return NULL;
+ }
+
+ if (!km->modal_items) {
+ BKE_report(reports, RPT_ERROR, "No property values defined.");
+ return NULL;
+ }
+
+
+ if(RNA_enum_value_from_id(km->modal_items, propvalue_str, &propvalue)==0) {
+ BKE_report(reports, RPT_WARNING, "Property value not in enumeration.");
+ }
+
+ if(shift) modifier |= KM_SHIFT;
+ if(ctrl) modifier |= KM_CTRL;
+ if(alt) modifier |= KM_ALT;
+ if(oskey) modifier |= KM_OSKEY;
+
+ if(any) modifier = KM_ANY;
+
+ return WM_modalkeymap_add_item(km, type, value, modifier, keymodifier, propvalue);
+}
+
+static wmKeyMap *rna_keymap_new(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid, int modal)
+{
+ if (modal == 0) {
+ return WM_keymap_find(keyconf, idname, spaceid, regionid);
+ } else {
+ return WM_modalkeymap_add(keyconf, idname, NULL); /* items will be lazy init */
+ }
+}
+
+static wmKeyMap *rna_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid)
+{
+ return WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
+}
+
+static wmKeyMap *rna_keymap_find_modal(wmKeyConfig *UNUSED(keyconf), const char *idname)
+{
+ wmOperatorType *ot = WM_operatortype_find(idname, 0);
+
+ if (!ot)
+ return NULL;
+ else
+ return ot->modalkeymap;
+}
+
#else
#define WM_GEN_INVOKE_EVENT (1<<0)
@@ -205,7 +284,7 @@ void RNA_api_operator(StructRNA *srna)
/* check */
func= RNA_def_function(srna, "check", NULL);
- RNA_def_function_ui_description(func, "Check the operator settings.");
+ RNA_def_function_ui_description(func, "Check the operator settings, return True to signal a change to redraw.");
RNA_def_function_flag(func, FUNC_REGISTER_OPTIONAL);
parm= RNA_def_pointer(func, "context", "Context", "", "");
RNA_def_property_flag(parm, PROP_REQUIRED|PROP_NEVER_NULL);
@@ -301,11 +380,8 @@ void RNA_api_keymap(StructRNA *srna)
parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Active key map.");
RNA_def_function_return(func, parm);
- func= RNA_def_function(srna, "copy_to_user", "WM_keymap_copy_to_user");
- parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "User editable key map.");
- RNA_def_function_return(func, parm);
-
- RNA_def_function(srna, "restore_to_default", "WM_keymap_restore_to_default");
+ func= RNA_def_function(srna, "restore_to_default", "WM_keymap_restore_to_default");
+ RNA_def_function_flag(func, FUNC_USE_CONTEXT);
func= RNA_def_function(srna, "restore_item_to_default", "rna_keymap_restore_item_to_default");
RNA_def_function_flag(func, FUNC_USE_CONTEXT);
@@ -324,5 +400,102 @@ void RNA_api_keymapitem(StructRNA *srna)
parm= RNA_def_boolean(func, "result", 0, "Comparison result", "");
RNA_def_function_return(func, parm);
}
+
+void RNA_api_keymapitems(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "rna_KeyMap_item_new");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ parm= RNA_def_string(func, "idname", "", 0, "Operator Identifier", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_boolean(func, "any", 0, "Any", "");
+ RNA_def_boolean(func, "shift", 0, "Shift", "");
+ RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
+ RNA_def_boolean(func, "alt", 0, "Alt", "");
+ RNA_def_boolean(func, "oskey", 0, "OS Key", "");
+ RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "new_modal", "rna_KeyMap_item_new_modal");
+ RNA_def_function_flag(func, FUNC_USE_REPORTS);
+ parm= RNA_def_string(func, "propvalue", "", 0, "Property Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "type", event_type_items, 0, "Type", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_enum(func, "value", event_value_items, 0, "Value", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_boolean(func, "any", 0, "Any", "");
+ RNA_def_boolean(func, "shift", 0, "Shift", "");
+ RNA_def_boolean(func, "ctrl", 0, "Ctrl", "");
+ RNA_def_boolean(func, "alt", 0, "Alt", "");
+ RNA_def_boolean(func, "oskey", 0, "OS Key", "");
+ RNA_def_enum(func, "key_modifier", event_type_items, 0, "Key Modifier", "");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "Added key map item.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "WM_keymap_remove_item");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+
+ func= RNA_def_function(srna, "from_id", "WM_keymap_item_find_id");
+ parm= RNA_def_property(func, "id", PROP_INT, PROP_NONE);
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_property_ui_text(parm, "id", "ID of the item");
+ parm= RNA_def_pointer(func, "item", "KeyMapItem", "Item", "");
+ RNA_def_function_return(func, parm);
+}
+
+void RNA_api_keymaps(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "rna_keymap_new"); // add_keymap
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
+ RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
+ RNA_def_boolean(func, "modal", 0, "Modal", "");
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Added key map.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "find", "rna_keymap_find"); // find_keymap
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ RNA_def_enum(func, "space_type", space_type_items, SPACE_EMPTY, "Space Type", "");
+ RNA_def_enum(func, "region_type", region_type_items, RGN_TYPE_WINDOW, "Region Type", "");
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "find_modal", "rna_keymap_find_modal"); // find_keymap_modal
+ parm= RNA_def_string(func, "name", "", 0, "Operator Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_pointer(func, "keymap", "KeyMap", "Key Map", "Corresponding key map.");
+ RNA_def_function_return(func, parm);
+}
+
+void RNA_api_keyconfigs(StructRNA *srna)
+{
+ FunctionRNA *func;
+ PropertyRNA *parm;
+
+ func= RNA_def_function(srna, "new", "WM_keyconfig_new_user"); // add_keyconfig
+ parm= RNA_def_string(func, "name", "", 0, "Name", "");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+ parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Added key configuration.");
+ RNA_def_function_return(func, parm);
+
+ func= RNA_def_function(srna, "remove", "WM_keyconfig_remove"); // remove_keyconfig
+ parm= RNA_def_pointer(func, "keyconfig", "KeyConfig", "Key Configuration", "Removed key configuration.");
+ RNA_def_property_flag(parm, PROP_REQUIRED);
+}
+
#endif
diff --git a/source/blender/makesrna/intern/rna_world.c b/source/blender/makesrna/intern/rna_world.c
index 72b54dce473..11ec327c306 100644
--- a/source/blender/makesrna/intern/rna_world.c
+++ b/source/blender/makesrna/intern/rna_world.c
@@ -360,7 +360,7 @@ static void rna_def_lighting(BlenderRNA *brna)
prop= RNA_def_property(srna, "samples", PROP_INT, PROP_NONE);
RNA_def_property_int_sdna(prop, NULL, "aosamp");
- RNA_def_property_range(prop, 1, 32);
+ RNA_def_property_range(prop, 1, 128);
RNA_def_property_ui_text(prop, "Samples", "Amount of ray samples. Higher values give smoother results and longer rendering times");
RNA_def_property_update(prop, 0, "rna_World_update");
diff --git a/source/blender/modifiers/CMakeLists.txt b/source/blender/modifiers/CMakeLists.txt
index 15c8d05f27d..52755f02056 100644
--- a/source/blender/modifiers/CMakeLists.txt
+++ b/source/blender/modifiers/CMakeLists.txt
@@ -25,17 +25,19 @@
# ***** END GPL LICENSE BLOCK *****
set(INC
- . ./intern
+ .
+ intern
+ ../blenkernel
+ ../blenkernel/intern
../blenlib
../blenloader
../makesdna
- ../blenkernel
- ../blenkernel/intern
+ ../makesrna
../render/extern/include
../editors/include
../gpu
- ../../../intern/guardedalloc
../../../intern/elbeem/extern
+ ../../../intern/guardedalloc
../../../extern/recastnavigation/Recast/Include
)
@@ -103,7 +105,9 @@ 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)
diff --git a/source/blender/modifiers/SConscript b/source/blender/modifiers/SConscript
index 5d40803fb59..f90e637d151 100644
--- a/source/blender/modifiers/SConscript
+++ b/source/blender/modifiers/SConscript
@@ -6,7 +6,7 @@ sources = env.Glob('intern/*.c') + env.Glob('intern/*.cpp')
incs = '. ./intern'
incs += ' #/intern/guardedalloc #/intern/decimation/extern #/intern/bsp/extern #/intern/elbeem/extern #/extern/glew/include'
incs += ' ../render/extern/include ../blenloader'
-incs += ' ../include ../blenlib ../makesdna ../blenkernel ../blenkernel/intern'
+incs += ' ../include ../blenlib ../makesdna ../makesrna ../blenkernel ../blenkernel/intern'
incs += ' ../editors/include ../gpu'
incs += ' #extern/recastnavigation/Recast/Include'
diff --git a/source/blender/modifiers/intern/MOD_armature.c b/source/blender/modifiers/intern/MOD_armature.c
index a0ee047e319..0b46d950950 100644
--- a/source/blender/modifiers/intern/MOD_armature.c
+++ b/source/blender/modifiers/intern/MOD_armature.c
@@ -213,4 +213,5 @@ ModifierTypeInfo modifierType_Armature = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_array.c b/source/blender/modifiers/intern/MOD_array.c
index 90954fef1c7..c7fa75478f0 100644
--- a/source/blender/modifiers/intern/MOD_array.c
+++ b/source/blender/modifiers/intern/MOD_array.c
@@ -826,4 +826,5 @@ ModifierTypeInfo modifierType_Array = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_bevel.c b/source/blender/modifiers/intern/MOD_bevel.c
index 323ed71dd74..277f404f64d 100644
--- a/source/blender/modifiers/intern/MOD_bevel.c
+++ b/source/blender/modifiers/intern/MOD_bevel.c
@@ -150,4 +150,5 @@ ModifierTypeInfo modifierType_Bevel = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_boolean.c b/source/blender/modifiers/intern/MOD_boolean.c
index 4b4d0124aae..761f8dd0add 100644
--- a/source/blender/modifiers/intern/MOD_boolean.c
+++ b/source/blender/modifiers/intern/MOD_boolean.c
@@ -197,4 +197,5 @@ ModifierTypeInfo modifierType_Boolean = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_build.c b/source/blender/modifiers/intern/MOD_build.c
index e293be5886d..1c56d81a798 100644
--- a/source/blender/modifiers/intern/MOD_build.c
+++ b/source/blender/modifiers/intern/MOD_build.c
@@ -299,5 +299,6 @@ ModifierTypeInfo modifierType_Build = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_cast.c b/source/blender/modifiers/intern/MOD_cast.c
index 5cb352ef482..4061128b5ad 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) {
@@ -638,4 +632,5 @@ ModifierTypeInfo modifierType_Cast = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_cloth.c b/source/blender/modifiers/intern/MOD_cloth.c
index 30ddb3f7b9c..f5493162322 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,6 @@ ModifierTypeInfo modifierType_Cloth = {
/* dependsOnTime */ dependsOnTime,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL,
+ /* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_collision.c b/source/blender/modifiers/intern/MOD_collision.c
index 83ba8a12163..f4a9ea62ead 100644
--- a/source/blender/modifiers/intern/MOD_collision.c
+++ b/source/blender/modifiers/intern/MOD_collision.c
@@ -267,4 +267,5 @@ ModifierTypeInfo modifierType_Collision = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_curve.c b/source/blender/modifiers/intern/MOD_curve.c
index ecd10250c00..d928c239eac 100644
--- a/source/blender/modifiers/intern/MOD_curve.c
+++ b/source/blender/modifiers/intern/MOD_curve.c
@@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Curve = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c
index ba9dbfc31ad..e3c39752bd1 100644
--- a/source/blender/modifiers/intern/MOD_decimate.c
+++ b/source/blender/modifiers/intern/MOD_decimate.c
@@ -218,4 +218,5 @@ ModifierTypeInfo modifierType_Decimate = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_displace.c b/source/blender/modifiers/intern/MOD_displace.c
index 02845ecaab7..fb7aeacecc8 100644
--- a/source/blender/modifiers/intern/MOD_displace.c
+++ b/source/blender/modifiers/intern/MOD_displace.c
@@ -134,6 +134,12 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
+static void foreachTexLink(ModifierData *md, Object *ob,
+ TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static int isDisabled(ModifierData *md, int UNUSED(useRenderParams))
{
DisplaceModifierData *dmd = (DisplaceModifierData*) md;
@@ -169,18 +175,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 +193,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,7 +204,7 @@ 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);
@@ -292,4 +289,5 @@ ModifierTypeInfo modifierType_Displace = {
/* dependsOnNormals */ dependsOnNormals,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/modifiers/intern/MOD_edgesplit.c b/source/blender/modifiers/intern/MOD_edgesplit.c
index 8d0aea41b5c..db491742265 100644
--- a/source/blender/modifiers/intern/MOD_edgesplit.c
+++ b/source/blender/modifiers/intern/MOD_edgesplit.c
@@ -1311,4 +1311,5 @@ ModifierTypeInfo modifierType_EdgeSplit = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_explode.c b/source/blender/modifiers/intern/MOD_explode.c
index f1bc0d33fd8..3d01661bc79 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];
@@ -1037,4 +1037,5 @@ ModifierTypeInfo modifierType_Explode = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_fluidsim.c b/source/blender/modifiers/intern/MOD_fluidsim.c
index 354dc33ffe0..cce288b4ad5 100644
--- a/source/blender/modifiers/intern/MOD_fluidsim.c
+++ b/source/blender/modifiers/intern/MOD_fluidsim.c
@@ -162,4 +162,5 @@ ModifierTypeInfo modifierType_Fluidsim = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_fluidsim_util.c b/source/blender/modifiers/intern/MOD_fluidsim_util.c
index 61345427d1c..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;
diff --git a/source/blender/modifiers/intern/MOD_hook.c b/source/blender/modifiers/intern/MOD_hook.c
index 082c199b16f..785abc7d4d1 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.
*
@@ -303,4 +289,5 @@ ModifierTypeInfo modifierType_Hook = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_lattice.c b/source/blender/modifiers/intern/MOD_lattice.c
index 694f8fb3e52..31c17fb7376 100644
--- a/source/blender/modifiers/intern/MOD_lattice.c
+++ b/source/blender/modifiers/intern/MOD_lattice.c
@@ -156,4 +156,5 @@ ModifierTypeInfo modifierType_Lattice = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_mask.c b/source/blender/modifiers/intern/MOD_mask.c
index b36d6848533..b7cdac9e246 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) */
@@ -419,4 +407,5 @@ ModifierTypeInfo modifierType_Mask = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_meshdeform.c b/source/blender/modifiers/intern/MOD_meshdeform.c
index ba73f3fa0d1..8a0e64e7ee4 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;
@@ -464,4 +463,5 @@ ModifierTypeInfo modifierType_MeshDeform = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_mirror.c b/source/blender/modifiers/intern/MOD_mirror.c
index b1c765e5c9b..7cde87b20d9 100644
--- a/source/blender/modifiers/intern/MOD_mirror.c
+++ b/source/blender/modifiers/intern/MOD_mirror.c
@@ -363,4 +363,5 @@ ModifierTypeInfo modifierType_Mirror = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_multires.c b/source/blender/modifiers/intern/MOD_multires.c
index 134574ae6c4..48b1112cad2 100644
--- a/source/blender/modifiers/intern/MOD_multires.c
+++ b/source/blender/modifiers/intern/MOD_multires.c
@@ -131,4 +131,5 @@ ModifierTypeInfo modifierType_Multires = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_none.c b/source/blender/modifiers/intern/MOD_none.c
index 48c5b9a4c08..8fed2150a75 100644
--- a/source/blender/modifiers/intern/MOD_none.c
+++ b/source/blender/modifiers/intern/MOD_none.c
@@ -77,4 +77,5 @@ ModifierTypeInfo modifierType_None = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_particleinstance.c b/source/blender/modifiers/intern/MOD_particleinstance.c
index 46d53e0db15..b0b43e018f7 100644
--- a/source/blender/modifiers/intern/MOD_particleinstance.c
+++ b/source/blender/modifiers/intern/MOD_particleinstance.c
@@ -350,4 +350,5 @@ ModifierTypeInfo modifierType_ParticleInstance = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_particlesystem.c b/source/blender/modifiers/intern/MOD_particlesystem.c
index 533bfd203b5..5635ba33d80 100644
--- a/source/blender/modifiers/intern/MOD_particlesystem.c
+++ b/source/blender/modifiers/intern/MOD_particlesystem.c
@@ -242,4 +242,5 @@ ModifierTypeInfo modifierType_ParticleSystem = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_screw.c b/source/blender/modifiers/intern/MOD_screw.c
index 17e350482f0..486c98f82a0 100644
--- a/source/blender/modifiers/intern/MOD_screw.c
+++ b/source/blender/modifiers/intern/MOD_screw.c
@@ -275,7 +275,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
if (fabsf(screw_ofs) <= (FLT_EPSILON*100.0f) && fabsf(fabsf(angle) - ((float)M_PI * 2.0f)) <= (FLT_EPSILON*100.0f)) {
close= 1;
step_tot--;
- if(step_tot < 2) step_tot= 2;
+ if(step_tot < 3) step_tot= 3;
maxVerts = totvert * step_tot; /* -1 because we're joining back up */
maxEdges = (totvert * step_tot) + /* these are the edges between new verts */
@@ -286,7 +286,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
}
else {
close= 0;
- if(step_tot < 2) step_tot= 2;
+ if(step_tot < 3) step_tot= 3;
maxVerts = totvert * step_tot; /* -1 because we're joining back up */
maxEdges = (totvert * (step_tot-1)) + /* these are the edges between new verts */
@@ -903,4 +903,5 @@ ModifierTypeInfo modifierType_Screw = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_shapekey.c b/source/blender/modifiers/intern/MOD_shapekey.c
index 94d23de6573..6e55466c1e4 100644
--- a/source/blender/modifiers/intern/MOD_shapekey.c
+++ b/source/blender/modifiers/intern/MOD_shapekey.c
@@ -148,5 +148,6 @@ ModifierTypeInfo modifierType_ShapeKey = {
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_shrinkwrap.c b/source/blender/modifiers/intern/MOD_shrinkwrap.c
index e1fc4bc969f..ba25df19b3e 100644
--- a/source/blender/modifiers/intern/MOD_shrinkwrap.c
+++ b/source/blender/modifiers/intern/MOD_shrinkwrap.c
@@ -186,4 +186,5 @@ ModifierTypeInfo modifierType_Shrinkwrap = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_simpledeform.c b/source/blender/modifiers/intern/MOD_simpledeform.c
index ea4771b679a..b2e3c9532b6 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)
{
@@ -395,4 +385,5 @@ ModifierTypeInfo modifierType_SimpleDeform = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_smoke.c b/source/blender/modifiers/intern/MOD_smoke.c
index d8e94e92bfa..2e156d82ec6 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);
+ }
}
}
@@ -184,4 +189,5 @@ ModifierTypeInfo modifierType_Smoke = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL
};
diff --git a/source/blender/modifiers/intern/MOD_smooth.c b/source/blender/modifiers/intern/MOD_smooth.c
index 5f76fad14b1..16898a80b53 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 */
@@ -273,4 +270,5 @@ ModifierTypeInfo modifierType_Smooth = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_softbody.c b/source/blender/modifiers/intern/MOD_softbody.c
index 25996286735..c475328676b 100644
--- a/source/blender/modifiers/intern/MOD_softbody.c
+++ b/source/blender/modifiers/intern/MOD_softbody.c
@@ -87,4 +87,5 @@ ModifierTypeInfo modifierType_Softbody = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_solidify.c b/source/blender/modifiers/intern/MOD_solidify.c
index 1b7b724835c..afe6da8b38a 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"
@@ -231,16 +232,17 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
float (*vert_nors)[3]= NULL;
- float const ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
- float const ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float ofs_orig= - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float ofs_new= smd->offset - (((-smd->offset_fac + 1.0f) * 0.5f) * smd->offset);
+ const float offset_fac_vg= smd->offset_fac_vg;
+ const float offset_fac_vg_inv= 1.0f - smd->offset_fac_vg;
/* weights */
- MDeformVert *dvert= 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);
@@ -391,8 +393,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
dv= dvert;
for(i=0; i<numVerts; i++, mv++) {
if(dv) {
- if(defgrp_invert) scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
- else scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+ if(defgrp_invert) scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ else scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
dv++;
}
VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -405,8 +408,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
dv= dvert;
for(i=0; i<numVerts; i++, mv++) {
if(dv) {
- if(defgrp_invert) scalar_short_vgroup = scalar_short * (1.0f - defvert_find_weight(dv, defgrp_index));
- else scalar_short_vgroup = scalar_short * defvert_find_weight(dv, defgrp_index);
+ if(defgrp_invert) scalar_short_vgroup = 1.0f - defvert_find_weight(dv, defgrp_index);
+ else scalar_short_vgroup = defvert_find_weight(dv, defgrp_index);
+ scalar_short_vgroup= (offset_fac_vg + (scalar_short_vgroup * offset_fac_vg_inv)) * scalar_short;
dv++;
}
VECADDFAC(mv->co, mv->co, mv->no, scalar_short_vgroup);
@@ -466,15 +470,21 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob,
/* vertex group support */
if(dvert) {
+ float scalar;
+
dv= dvert;
if(defgrp_invert) {
for(i=0; i<numVerts; i++, dv++) {
- vert_angles[i] *= (1.0f - defvert_find_weight(dv, defgrp_index));
+ scalar= 1.0f - defvert_find_weight(dv, defgrp_index);
+ scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
}
}
else {
for(i=0; i<numVerts; i++, dv++) {
- vert_angles[i] *= defvert_find_weight(dv, defgrp_index);
+ scalar= defvert_find_weight(dv, defgrp_index);
+ scalar= offset_fac_vg + (scalar * offset_fac_vg_inv);
+ vert_angles[i] *= scalar;
}
}
}
@@ -689,5 +699,6 @@ ModifierTypeInfo modifierType_Solidify = {
/* dependsOnTime */ NULL,
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
- /* foreachIDLink */ NULL
+ /* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_subsurf.c b/source/blender/modifiers/intern/MOD_subsurf.c
index f780721ca07..6c825b213b8 100644
--- a/source/blender/modifiers/intern/MOD_subsurf.c
+++ b/source/blender/modifiers/intern/MOD_subsurf.c
@@ -152,4 +152,6 @@ ModifierTypeInfo modifierType_Subsurf = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
+
diff --git a/source/blender/modifiers/intern/MOD_surface.c b/source/blender/modifiers/intern/MOD_surface.c
index 382358b179e..e30b7f2392d 100644
--- a/source/blender/modifiers/intern/MOD_surface.c
+++ b/source/blender/modifiers/intern/MOD_surface.c
@@ -192,4 +192,5 @@ ModifierTypeInfo modifierType_Surface = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ NULL,
/* foreachIDLink */ NULL,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_util.c b/source/blender/modifiers/intern/MOD_util.c
index d008fcfc929..74fc022c343 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 a5d2e0b38c7..912c14adfdd 100644
--- a/source/blender/modifiers/intern/MOD_uvproject.c
+++ b/source/blender/modifiers/intern/MOD_uvproject.c
@@ -42,6 +42,7 @@
#include "DNA_object_types.h"
#include "BLI_math.h"
+#include "BLI_string.h"
#include "BLI_uvproject.h"
#include "BLI_utildefines.h"
@@ -83,6 +84,7 @@ static void copyData(ModifierData *md, ModifierData *target)
tumd->aspecty = umd->aspecty;
tumd->scalex = umd->scalex;
tumd->scaley = umd->scaley;
+ BLI_strncpy(tumd->uvlayer_name, umd->uvlayer_name, sizeof(umd->uvlayer_name));
}
static CustomDataMask requiredDataMask(Object *UNUSED(ob), ModifierData *UNUSED(md))
@@ -432,4 +434,5 @@ ModifierTypeInfo modifierType_UVProject = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ NULL,
};
diff --git a/source/blender/modifiers/intern/MOD_warp.c b/source/blender/modifiers/intern/MOD_warp.c
index 27add27deb1..c1c3604d598 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);
@@ -140,6 +140,11 @@ static void foreachIDLink(ModifierData *md, Object *ob, IDWalkFunc walk, void *u
walk(userData, ob, (ID **)&wmd->map_object);
}
+static void foreachTexLink(ModifierData *md, Object *ob, TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static void updateDepgraph(ModifierData *md, DagForest *forest, struct Scene *UNUSED(scene),
Object *UNUSED(ob), DagNode *obNode)
{
@@ -174,14 +179,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 +228,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;
@@ -362,4 +369,5 @@ ModifierTypeInfo modifierType_Warp = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/modifiers/intern/MOD_wave.c b/source/blender/modifiers/intern/MOD_wave.c
index 6dfe5314131..4b5769ff603 100644
--- a/source/blender/modifiers/intern/MOD_wave.c
+++ b/source/blender/modifiers/intern/MOD_wave.c
@@ -126,6 +126,12 @@ static void foreachIDLink(ModifierData *md, Object *ob,
foreachObjectLink(md, ob, (ObjectWalkFunc)walk, userData);
}
+static void foreachTexLink(ModifierData *md, Object *ob,
+ TexWalkFunc walk, void *userData)
+{
+ walk(userData, ob, md, "texture");
+}
+
static void updateDepgraph(ModifierData *md, DagForest *forest,
Scene *UNUSED(scene),
Object *UNUSED(ob),
@@ -256,7 +262,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 +287,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;
@@ -470,4 +472,5 @@ ModifierTypeInfo modifierType_Wave = {
/* dependsOnNormals */ NULL,
/* foreachObjectLink */ foreachObjectLink,
/* foreachIDLink */ foreachIDLink,
+ /* foreachTexLink */ foreachTexLink,
};
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index d2b58d61112..82848c6a5d7 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -38,122 +38,146 @@ set(INC
set(INC_SYS
${GLEW_INCLUDE_PATH}
+ intern
+ composite
+ shader
+ texture
)
set(SRC
- intern/CMP_nodes/CMP_alphaOver.c
- intern/CMP_nodes/CMP_bilateralblur.c
- intern/CMP_nodes/CMP_blur.c
- intern/CMP_nodes/CMP_brightness.c
- intern/CMP_nodes/CMP_channelMatte.c
- intern/CMP_nodes/CMP_chromaMatte.c
- intern/CMP_nodes/CMP_colorMatte.c
- intern/CMP_nodes/CMP_colorSpill.c
- intern/CMP_nodes/CMP_colorbalance.c
- intern/CMP_nodes/CMP_composite.c
- intern/CMP_nodes/CMP_crop.c
- intern/CMP_nodes/CMP_curves.c
- intern/CMP_nodes/CMP_defocus.c
- intern/CMP_nodes/CMP_diffMatte.c
- intern/CMP_nodes/CMP_dilate.c
- intern/CMP_nodes/CMP_directionalblur.c
- intern/CMP_nodes/CMP_displace.c
- intern/CMP_nodes/CMP_distanceMatte.c
- intern/CMP_nodes/CMP_filter.c
- intern/CMP_nodes/CMP_flip.c
- intern/CMP_nodes/CMP_gamma.c
- intern/CMP_nodes/CMP_glare.c
- intern/CMP_nodes/CMP_hueSatVal.c
- intern/CMP_nodes/CMP_huecorrect.c
- intern/CMP_nodes/CMP_idMask.c
- intern/CMP_nodes/CMP_image.c
- intern/CMP_nodes/CMP_invert.c
- intern/CMP_nodes/CMP_lensdist.c
- intern/CMP_nodes/CMP_levels.c
- intern/CMP_nodes/CMP_lummaMatte.c
- intern/CMP_nodes/CMP_mapUV.c
- intern/CMP_nodes/CMP_mapValue.c
- intern/CMP_nodes/CMP_math.c
- intern/CMP_nodes/CMP_mixrgb.c
- intern/CMP_nodes/CMP_normal.c
- intern/CMP_nodes/CMP_normalize.c
- intern/CMP_nodes/CMP_outputFile.c
- intern/CMP_nodes/CMP_premulkey.c
- intern/CMP_nodes/CMP_rgb.c
- intern/CMP_nodes/CMP_rotate.c
- intern/CMP_nodes/CMP_scale.c
- intern/CMP_nodes/CMP_sepcombHSVA.c
- intern/CMP_nodes/CMP_sepcombRGBA.c
- intern/CMP_nodes/CMP_sepcombYCCA.c
- intern/CMP_nodes/CMP_sepcombYUVA.c
- intern/CMP_nodes/CMP_setalpha.c
- intern/CMP_nodes/CMP_splitViewer.c
- intern/CMP_nodes/CMP_texture.c
- intern/CMP_nodes/CMP_tonemap.c
- intern/CMP_nodes/CMP_translate.c
- intern/CMP_nodes/CMP_valToRgb.c
- intern/CMP_nodes/CMP_value.c
- intern/CMP_nodes/CMP_vecBlur.c
- intern/CMP_nodes/CMP_viewer.c
- intern/CMP_nodes/CMP_zcombine.c
- intern/CMP_util.c
- intern/SHD_nodes/SHD_camera.c
- intern/SHD_nodes/SHD_curves.c
- intern/SHD_nodes/SHD_dynamic.c
- intern/SHD_nodes/SHD_geom.c
- intern/SHD_nodes/SHD_hueSatVal.c
- intern/SHD_nodes/SHD_invert.c
- intern/SHD_nodes/SHD_mapping.c
- intern/SHD_nodes/SHD_material.c
- intern/SHD_nodes/SHD_math.c
- intern/SHD_nodes/SHD_mixRgb.c
- intern/SHD_nodes/SHD_normal.c
- intern/SHD_nodes/SHD_output.c
- intern/SHD_nodes/SHD_rgb.c
- intern/SHD_nodes/SHD_sepcombRGB.c
- intern/SHD_nodes/SHD_squeeze.c
- intern/SHD_nodes/SHD_texture.c
- intern/SHD_nodes/SHD_valToRgb.c
- intern/SHD_nodes/SHD_value.c
- intern/SHD_nodes/SHD_vectMath.c
- intern/SHD_util.c
- intern/TEX_nodes/TEX_at.c
- intern/TEX_nodes/TEX_bricks.c
- intern/TEX_nodes/TEX_checker.c
- intern/TEX_nodes/TEX_compose.c
- intern/TEX_nodes/TEX_coord.c
- intern/TEX_nodes/TEX_curves.c
- intern/TEX_nodes/TEX_decompose.c
- intern/TEX_nodes/TEX_distance.c
- intern/TEX_nodes/TEX_hueSatVal.c
- intern/TEX_nodes/TEX_image.c
- intern/TEX_nodes/TEX_invert.c
- intern/TEX_nodes/TEX_math.c
- intern/TEX_nodes/TEX_mixRgb.c
- intern/TEX_nodes/TEX_output.c
- intern/TEX_nodes/TEX_proc.c
- intern/TEX_nodes/TEX_rotate.c
- intern/TEX_nodes/TEX_scale.c
- intern/TEX_nodes/TEX_texture.c
- intern/TEX_nodes/TEX_translate.c
- intern/TEX_nodes/TEX_valToNor.c
- intern/TEX_nodes/TEX_valToRgb.c
- intern/TEX_nodes/TEX_viewer.c
- intern/TEX_util.c
+ composite/nodes/node_composite_alphaOver.c
+ composite/nodes/node_composite_bilateralblur.c
+ composite/nodes/node_composite_blur.c
+ composite/nodes/node_composite_brightness.c
+ composite/nodes/node_composite_channelMatte.c
+ composite/nodes/node_composite_chromaMatte.c
+ composite/nodes/node_composite_colorMatte.c
+ composite/nodes/node_composite_colorSpill.c
+ composite/nodes/node_composite_colorbalance.c
+ composite/nodes/node_composite_common.c
+ composite/nodes/node_composite_composite.c
+ composite/nodes/node_composite_crop.c
+ composite/nodes/node_composite_curves.c
+ composite/nodes/node_composite_defocus.c
+ composite/nodes/node_composite_diffMatte.c
+ composite/nodes/node_composite_dilate.c
+ composite/nodes/node_composite_directionalblur.c
+ composite/nodes/node_composite_displace.c
+ composite/nodes/node_composite_distanceMatte.c
+ composite/nodes/node_composite_filter.c
+ composite/nodes/node_composite_flip.c
+ composite/nodes/node_composite_gamma.c
+ composite/nodes/node_composite_glare.c
+ composite/nodes/node_composite_hueSatVal.c
+ composite/nodes/node_composite_huecorrect.c
+ composite/nodes/node_composite_idMask.c
+ composite/nodes/node_composite_image.c
+ composite/nodes/node_composite_invert.c
+ composite/nodes/node_composite_lensdist.c
+ composite/nodes/node_composite_levels.c
+ composite/nodes/node_composite_lummaMatte.c
+ composite/nodes/node_composite_mapUV.c
+ composite/nodes/node_composite_mapValue.c
+ composite/nodes/node_composite_math.c
+ composite/nodes/node_composite_mixrgb.c
+ composite/nodes/node_composite_normal.c
+ composite/nodes/node_composite_normalize.c
+ composite/nodes/node_composite_outputFile.c
+ composite/nodes/node_composite_premulkey.c
+ composite/nodes/node_composite_rgb.c
+ composite/nodes/node_composite_rotate.c
+ composite/nodes/node_composite_scale.c
+ composite/nodes/node_composite_sepcombHSVA.c
+ composite/nodes/node_composite_sepcombRGBA.c
+ composite/nodes/node_composite_sepcombYCCA.c
+ composite/nodes/node_composite_sepcombYUVA.c
+ composite/nodes/node_composite_setalpha.c
+ composite/nodes/node_composite_splitViewer.c
+ composite/nodes/node_composite_texture.c
+ composite/nodes/node_composite_tonemap.c
+ composite/nodes/node_composite_translate.c
+ composite/nodes/node_composite_valToRgb.c
+ composite/nodes/node_composite_value.c
+ composite/nodes/node_composite_vecBlur.c
+ composite/nodes/node_composite_viewer.c
+ composite/nodes/node_composite_zcombine.c
+ composite/node_composite_tree.c
+ composite/node_composite_util.c
+
+ shader/nodes/node_shader_camera.c
+ shader/nodes/node_shader_common.c
+ shader/nodes/node_shader_curves.c
+ shader/nodes/node_shader_dynamic.c
+ shader/nodes/node_shader_geom.c
+ shader/nodes/node_shader_hueSatVal.c
+ shader/nodes/node_shader_invert.c
+ shader/nodes/node_shader_mapping.c
+ shader/nodes/node_shader_material.c
+ shader/nodes/node_shader_math.c
+ shader/nodes/node_shader_mixRgb.c
+ shader/nodes/node_shader_normal.c
+ shader/nodes/node_shader_output.c
+ shader/nodes/node_shader_rgb.c
+ shader/nodes/node_shader_sepcombRGB.c
+ shader/nodes/node_shader_squeeze.c
+ shader/nodes/node_shader_texture.c
+ shader/nodes/node_shader_valToRgb.c
+ shader/nodes/node_shader_value.c
+ shader/nodes/node_shader_vectMath.c
+ shader/node_shader_tree.c
+ shader/node_shader_util.c
+
+ texture/nodes/node_texture_at.c
+ texture/nodes/node_texture_bricks.c
+ texture/nodes/node_texture_checker.c
+ texture/nodes/node_texture_common.c
+ texture/nodes/node_texture_compose.c
+ texture/nodes/node_texture_coord.c
+ texture/nodes/node_texture_curves.c
+ texture/nodes/node_texture_decompose.c
+ texture/nodes/node_texture_distance.c
+ texture/nodes/node_texture_hueSatVal.c
+ texture/nodes/node_texture_image.c
+ texture/nodes/node_texture_invert.c
+ texture/nodes/node_texture_math.c
+ texture/nodes/node_texture_mixRgb.c
+ texture/nodes/node_texture_output.c
+ texture/nodes/node_texture_proc.c
+ texture/nodes/node_texture_rotate.c
+ texture/nodes/node_texture_scale.c
+ texture/nodes/node_texture_texture.c
+ texture/nodes/node_texture_translate.c
+ texture/nodes/node_texture_valToNor.c
+ texture/nodes/node_texture_valToRgb.c
+ texture/nodes/node_texture_viewer.c
+ texture/node_texture_tree.c
+ texture/node_texture_util.c
+
intern/node_util.c
+ intern/node_exec.c
+ intern/node_common.c
+ intern/node_socket.c
+
+ composite/node_composite_util.h
+ shader/node_shader_util.h
+ texture/node_texture_util.h
- CMP_node.h
- SHD_node.h
- TEX_node.h
- intern/CMP_util.h
- intern/SHD_util.h
- intern/TEX_util.h
+ NOD_composite.h
+ NOD_shader.h
+ NOD_texture.h
+ NOD_socket.h
intern/node_util.h
+ intern/node_exec.h
+ intern/node_common.h
)
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
+ list(APPEND INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_PYTHON)
endif()
diff --git a/source/blender/nodes/CMP_node.h b/source/blender/nodes/NOD_composite.h
index 65c9236710f..11ffcc9027f 100644
--- a/source/blender/nodes/CMP_node.h
+++ b/source/blender/nodes/NOD_composite.h
@@ -30,18 +30,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file CMP_node.h
+/** \file NOD_composite.h
* \ingroup nodes
*/
-#ifndef CMP_NODE_H
-#define CMP_NODE_H
+#ifndef NOD_composite_H
+#define NOD_composite_H
#include "BKE_node.h"
+extern bNodeTreeType ntreeType_Composite;
+
/* ****************** types array for all composite nodes ****************** */
+void register_node_type_cmp_group(ListBase *lb);
+void register_node_type_cmp_forloop(ListBase *lb);
+void register_node_type_cmp_whileloop(ListBase *lb);
+
void register_node_type_cmp_rlayers(ListBase *lb);
void register_node_type_cmp_image(ListBase *lb);
void register_node_type_cmp_texture(ListBase *lb);
diff --git a/source/blender/nodes/SHD_node.h b/source/blender/nodes/NOD_shader.h
index 80e5eec6893..6c5ea79e1ee 100644
--- a/source/blender/nodes/SHD_node.h
+++ b/source/blender/nodes/NOD_shader.h
@@ -30,19 +30,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file SHD_node.h
+/** \file NOD_shader.h
* \ingroup nodes
*/
-#ifndef SHD_NODE_H
-#define SHD_NODE_H
+#ifndef NOD_SHADER_H
+#define NOD_SHADER_H
#include "BKE_node.h"
+extern struct bNodeTreeType ntreeType_Shader;
+
/* the type definitions array */
/* ****************** types array for all shaders ****************** */
+void register_node_type_sh_group(ListBase *lb);
+void register_node_type_sh_forloop(ListBase *lb);
+void register_node_type_sh_whileloop(ListBase *lb);
+
void register_node_type_sh_output(ListBase *lb);
void register_node_type_sh_material(ListBase *lb);
void register_node_type_sh_camera(ListBase *lb);
diff --git a/source/blender/nodes/NOD_socket.h b/source/blender/nodes/NOD_socket.h
new file mode 100644
index 00000000000..9ddf159cd9c
--- /dev/null
+++ b/source/blender/nodes/NOD_socket.h
@@ -0,0 +1,90 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file NOD_socket.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NOD_SOCKET_H_
+#define NOD_SOCKET_H_
+
+#include "DNA_listBase.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "RNA_types.h"
+
+struct bNodeTree;
+struct bNode;
+struct bNodeStack;
+
+void node_socket_type_init(struct bNodeSocketType *types[]);
+
+struct bNodeSocket *nodeAddInputInt(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, int value, int min, int max);
+struct bNodeSocket *nodeAddOutputInt(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, float value, float min, float max);
+struct bNodeSocket *nodeAddOutputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name, char value);
+struct bNodeSocket *nodeAddOutputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputVector(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype, float x, float y, float z, float min, float max);
+struct bNodeSocket *nodeAddOutputVector(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name, float r, float g, float b, float a);
+struct bNodeSocket *nodeAddOutputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *nodeAddInputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name);
+struct bNodeSocket *nodeAddOutputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name);
+
+struct bNodeSocket *node_add_input_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp);
+struct bNodeSocket *node_add_output_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp);
+
+void node_verify_socket_templates(struct bNodeTree *ntree, struct bNode *node);
+
+
+/* Socket Converters */
+
+#define SOCK_VECTOR_X 1
+#define SOCK_VECTOR_Y 2
+#define SOCK_VECTOR_Z 3
+
+#define SOCK_RGBA_R 1
+#define SOCK_RGBA_G 2
+#define SOCK_RGBA_B 3
+#define SOCK_RGBA_A 4
+
+#define SOCK_MESH_VERT_CO 1
+#define SOCK_MESH_VERT_NO 2
+
+#endif
diff --git a/source/blender/nodes/TEX_node.h b/source/blender/nodes/NOD_texture.h
index 23a6b4427af..d098c241583 100644
--- a/source/blender/nodes/TEX_node.h
+++ b/source/blender/nodes/NOD_texture.h
@@ -30,18 +30,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file TEX_node.h
+/** \file NOD_texture.h
* \ingroup nodes
*/
-#ifndef TEX_NODE_H
-#define TEX_NODE_H
+#ifndef NOD_TEXTURE_H
+#define NOD_TEXTURE_H
#include "BKE_node.h"
+extern bNodeTreeType ntreeType_Texture;
+
/* ****************** types array for all texture nodes ****************** */
+void register_node_type_tex_group(ListBase *lb);
+void register_node_type_tex_forloop(ListBase *lb);
+void register_node_type_tex_whileloop(ListBase *lb);
+
void register_node_type_tex_math(ListBase *lb);
void register_node_type_tex_mix_rgb(ListBase *lb);
void register_node_type_tex_valtorgb(ListBase *lb);
diff --git a/source/blender/nodes/SConscript b/source/blender/nodes/SConscript
index 4bed612144c..0cbc7b80933 100644
--- a/source/blender/nodes/SConscript
+++ b/source/blender/nodes/SConscript
@@ -2,11 +2,11 @@
Import ('env')
sources = env.Glob('intern/*.c')
-cmpsources = env.Glob('intern/CMP_nodes/*.c')
-shdsources = env.Glob('intern/SHD_nodes/*.c')
-texsources = env.Glob('intern/TEX_nodes/*.c')
-
+cmpsources = env.Glob('composite/*.c') + env.Glob('composite/nodes/*.c')
+shdsources = env.Glob('shader/*.c') + env.Glob('shader/nodes/*.c')
+texsources = env.Glob('texture/*.c') + env.Glob('texture/nodes/*.c')
incs = '. ./intern '
+incs += './composite ./shader ./texture '
incs += '#/intern/guardedalloc ../editors/include ../blenlib ../makesdna'
incs += ' ../render/extern/include ../makesrna '
incs += ' ../imbuf ../avi '
@@ -26,7 +26,7 @@ if env['WITH_BF_PYTHON']:
if env['BF_DEBUG']:
defs.append('_DEBUG')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
diff --git a/source/blender/nodes/composite/node_composite_tree.c b/source/blender/nodes/composite/node_composite_tree.c
new file mode 100644
index 00000000000..4fc5e23e26a
--- /dev/null
+++ b/source/blender/nodes/composite/node_composite_tree.c
@@ -0,0 +1,828 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/composite/node_composite_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <stdio.h>
+
+#include "DNA_anim_types.h"
+#include "DNA_scene_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_threads.h"
+
+#include "BKE_animsys.h"
+#include "BKE_colortools.h"
+#include "BKE_fcurve.h"
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+
+#include "PIL_time.h"
+
+#include "RNA_access.h"
+
+#include "NOD_composite.h"
+#include "node_composite_util.h"
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Scene *sce;
+ for(sce= main->scene.first; sce; sce= sce->id.next) {
+ if(sce->nodetree) {
+ func(calldata, &sce->id, sce->nodetree);
+ }
+ }
+}
+
+static void free_node_cache(bNodeTree *UNUSED(ntree), bNode *node)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(sock->cache) {
+ free_compbuf(sock->cache);
+ sock->cache= NULL;
+ }
+ }
+}
+
+static void free_cache(bNodeTree *ntree)
+{
+ bNode *node;
+ for(node= ntree->nodes.first; node; node= node->next)
+ free_node_cache(ntree, node);
+}
+
+static void update_node(bNodeTree *ntree, bNode *node)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ if(sock->cache) {
+ //free_compbuf(sock->cache);
+ //sock->cache= NULL;
+ }
+ }
+ node->need_exec= 1;
+
+ /* individual node update call */
+ if (node->typeinfo->updatefunc)
+ node->typeinfo->updatefunc(ntree, node);
+}
+
+/* local tree then owns all compbufs */
+static void localize(bNodeTree *UNUSED(localtree), bNodeTree *ntree)
+{
+ bNode *node;
+ bNodeSocket *sock;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ /* ensure new user input gets handled ok */
+ node->need_exec= 0;
+
+ /* move over the compbufs */
+ /* right after ntreeCopyTree() oldsock pointers are valid */
+
+ if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
+ if(node->id) {
+ if(node->flag & NODE_DO_OUTPUT)
+ node->new_node->id= (ID *)copy_image((Image *)node->id);
+ else
+ node->new_node->id= NULL;
+ }
+ }
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ sock->new_sock->cache= sock->cache;
+ compbuf_set_node(sock->new_sock->cache, node->new_node);
+
+ sock->cache= NULL;
+ sock->new_sock->new_sock= sock;
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if( (lnode->exec & NODE_READY) && !(lnode->exec & NODE_SKIPPED) ) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+
+ if(lnode->preview && lnode->preview->rect) {
+ nodeFreePreview(lnode->new_node);
+ lnode->new_node->preview= lnode->preview;
+ lnode->preview= NULL;
+ }
+ }
+ }
+ }
+}
+
+static void local_merge(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+ bNodeSocket *lsock;
+
+ /* move over the compbufs and previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ if(ELEM(lnode->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER)) {
+ if(lnode->id && (lnode->flag & NODE_DO_OUTPUT)) {
+ /* image_merge does sanity check for pointers */
+ BKE_image_merge((Image *)lnode->new_node->id, (Image *)lnode->id);
+ }
+ }
+
+ for(lsock= lnode->outputs.first; lsock; lsock= lsock->next) {
+ if(ntreeOutputExists(lnode->new_node, lsock->new_sock)) {
+ lsock->new_sock->cache= lsock->cache;
+ compbuf_set_node(lsock->new_sock->cache, lnode->new_node);
+ lsock->cache= NULL;
+ lsock->new_sock= NULL;
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Composite = {
+ /* type */ NTREE_COMPOSIT,
+ /* idname */ "NTCompositing Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ free_cache,
+ /* free_node_cache */ free_node_cache,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ localize,
+ /* local_sync */ local_sync,
+ /* local_merge */ local_merge,
+ /* update */ NULL,
+ /* update_node */ update_node
+};
+
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+struct bNodeTreeExec *ntreeCompositBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+ bNodeSocket *sock;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ exec = ntree_exec_begin(ntree);
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next) {
+ /* initialize needed for groups */
+ node->exec= 0;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ bNodeStack *ns= node_get_socket_stack(exec->stack, sock);
+ if(ns && sock->cache) {
+ ns->data= sock->cache;
+ sock->cache= NULL;
+ }
+ }
+ /* cannot initialize them while using in threads */
+ if(ELEM4(node->type, CMP_NODE_TIME, CMP_NODE_CURVE_VEC, CMP_NODE_CURVE_RGB, CMP_NODE_HUECORRECT)) {
+ curvemapping_initialize(node->storage);
+ if(node->type==CMP_NODE_CURVE_RGB)
+ curvemapping_premultiply(node->storage, 0);
+ }
+ }
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeCompositEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNode *node;
+ bNodeStack *ns;
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next) {
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ if(ns && ns->data) {
+ sock->cache= ns->data;
+ ns->data= NULL;
+ }
+ }
+ if(node->type==CMP_NODE_CURVE_RGB)
+ curvemapping_premultiply(node->storage, 1);
+
+ node->need_exec= 0;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+/* ***************************** threaded version for execute composite nodes ************* */
+/* these are nodes without input, only giving values */
+/* or nodes with only value inputs */
+static int node_only_value(bNode *node)
+{
+ bNodeSocket *sock;
+
+ if(ELEM3(node->type, CMP_NODE_TIME, CMP_NODE_VALUE, CMP_NODE_RGB))
+ return 1;
+
+ /* doing this for all node types goes wrong. memory free errors */
+ if(node->inputs.first && node->type==CMP_NODE_MAP_VALUE) {
+ int retval= 1;
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ if(sock->link)
+ retval &= node_only_value(sock->link->fromnode);
+ }
+ return retval;
+ }
+ return 0;
+}
+
+/* not changing info, for thread callback */
+typedef struct ThreadData {
+ bNodeStack *stack;
+ RenderData *rd;
+} ThreadData;
+
+static void *exec_composite_node(void *nodeexec_v)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec= nodeexec_v;
+ bNode *node= nodeexec->node;
+ ThreadData *thd= (ThreadData *)node->threaddata;
+
+ node_get_stack(node, thd->stack, nsin, nsout);
+
+ if((node->flag & NODE_MUTED) && (!node_only_value(node))) {
+ /* viewers we execute, for feedback to user */
+ if(ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER))
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ else
+ node_compo_pass_on(node, nsin, nsout);
+ }
+ else if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(thd->rd, 0, node, nodeexec->data, nsin, nsout);
+
+ node->exec |= NODE_READY;
+ return 0;
+}
+
+/* return total of executable nodes, for timecursor */
+static int setExecutableNodes(bNodeTree *ntree, ThreadData *thd)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNode *node;
+ bNodeSocket *sock;
+ int totnode= 0, group_edit= 0;
+
+ /* note; do not add a dependency sort here, the stack was created already */
+
+ /* if we are in group edit, viewer nodes get skipped when group has viewer */
+ for(node= ntree->nodes.first; node; node= node->next)
+ if(node->type==NODE_GROUP && (node->flag & NODE_GROUP_EDIT))
+ if(ntreeHasType((bNodeTree *)node->id, CMP_NODE_VIEWER))
+ group_edit= 1;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ int a;
+
+ node_get_stack(node, thd->stack, nsin, nsout);
+
+ /* test the outputs */
+ /* skip value-only nodes (should be in type!) */
+ if(!node_only_value(node)) {
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(nsout[a]->data==NULL && nsout[a]->hasoutput) {
+ node->need_exec= 1;
+ break;
+ }
+ }
+ }
+
+ /* test the inputs */
+ for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
+ /* skip viewer nodes in bg render or group edit */
+ if( ELEM(node->type, CMP_NODE_VIEWER, CMP_NODE_SPLITVIEWER) && (G.background || group_edit))
+ node->need_exec= 0;
+ /* is sock in use? */
+ else if(sock->link) {
+ bNodeLink *link= sock->link;
+
+ /* this is the test for a cyclic case */
+ if(link->fromnode==NULL || link->tonode==NULL);
+ else if(link->fromnode->level >= link->tonode->level && link->tonode->level!=0xFFF) {
+ if(link->fromnode->need_exec) {
+ node->need_exec= 1;
+ break;
+ }
+ }
+ else {
+ node->need_exec= 0;
+ printf("Node %s skipped, cyclic dependency\n", node->name);
+ }
+ }
+ }
+
+ if(node->need_exec) {
+
+ /* free output buffers */
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(nsout[a]->data) {
+ free_compbuf(nsout[a]->data);
+ nsout[a]->data= NULL;
+ }
+ }
+ totnode++;
+ /* printf("node needs exec %s\n", node->name); */
+
+ /* tag for getExecutableNode() */
+ node->exec= 0;
+ }
+ else {
+ /* tag for getExecutableNode() */
+ node->exec= NODE_READY|NODE_FINISHED|NODE_SKIPPED;
+
+ }
+ }
+
+ /* last step: set the stack values for only-value nodes */
+ /* just does all now, compared to a full buffer exec this is nothing */
+ if(totnode) {
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->need_exec==0 && node_only_value(node)) {
+ if(node->typeinfo->execfunc) {
+ node_get_stack(node, thd->stack, nsin, nsout);
+ node->typeinfo->execfunc(thd->rd, node, nsin, nsout);
+ }
+ }
+ }
+ }
+
+ return totnode;
+}
+
+/* while executing tree, free buffers from nodes that are not needed anymore */
+static void freeExecutableNode(bNodeTree *ntree, bNodeTreeExec *exec)
+{
+ /* node outputs can be freed when:
+ - not a render result or image node
+ - when node outputs go to nodes all being set NODE_FINISHED
+ */
+ bNode *node;
+ bNodeSocket *sock;
+
+ /* set exec flag for finished nodes that might need freed */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type!=CMP_NODE_R_LAYERS)
+ if(node->exec & NODE_FINISHED)
+ node->exec |= NODE_FREEBUFS;
+ }
+ /* clear this flag for input links that are not done yet */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if((node->exec & NODE_FINISHED)==0) {
+ for(sock= node->inputs.first; sock; sock= sock->next)
+ if(sock->link)
+ sock->link->fromnode->exec &= ~NODE_FREEBUFS;
+ }
+ }
+ /* now we can free buffers */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->exec & NODE_FREEBUFS) {
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ bNodeStack *ns= node_get_socket_stack(exec->stack, sock);
+ if(ns && ns->data) {
+ free_compbuf(ns->data);
+ ns->data= NULL;
+ // printf("freed buf node %s \n", node->name);
+ }
+ }
+ }
+ }
+}
+
+static bNodeExec *getExecutableNode(bNodeTreeExec *exec)
+{
+ bNodeExec *nodeexec;
+ bNodeSocket *sock;
+ int n;
+
+ for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ if(nodeexec->node->exec==0) {
+ /* input sockets should be ready */
+ for(sock= nodeexec->node->inputs.first; sock; sock= sock->next) {
+ if(sock->link && sock->link->fromnode)
+ if((sock->link->fromnode->exec & NODE_READY)==0)
+ break;
+ }
+ if(sock==NULL)
+ return nodeexec;
+ }
+ }
+ return NULL;
+}
+
+/* check if texture nodes need exec or end */
+static void ntree_composite_texnode(bNodeTree *ntree, int init)
+{
+ bNode *node;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==CMP_NODE_TEXTURE && node->id) {
+ Tex *tex= (Tex *)node->id;
+ if(tex->nodetree && tex->use_nodes) {
+ /* has internal flag to detect it only does it once */
+ if(init) {
+ if (!tex->nodetree->execdata)
+ tex->nodetree->execdata = ntreeTexBeginExecTree(tex->nodetree, 1);
+ }
+ else
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
+ tex->nodetree->execdata = NULL;
+ }
+ }
+ }
+
+}
+
+/* optimized tree execute test for compositing */
+void ntreeCompositExecTree(bNodeTree *ntree, RenderData *rd, int do_preview)
+{
+ bNodeExec *nodeexec;
+ bNode *node;
+ ListBase threads;
+ ThreadData thdata;
+ int totnode, curnode, rendering= 1, n;
+ bNodeTreeExec *exec= NULL;
+
+ if(ntree==NULL) return;
+
+ if(do_preview)
+ ntreeInitPreview(ntree, 0, 0);
+
+ if (!ntree->execdata) {
+ /* XXX this is the top-level tree, so we use the ntree->execdata pointer. */
+ exec = ntreeCompositBeginExecTree(ntree, 1);
+ }
+ ntree_composite_texnode(ntree, 1);
+
+ /* prevent unlucky accidents */
+ if(G.background)
+ rd->scemode &= ~R_COMP_CROP;
+
+ /* setup callerdata for thread callback */
+ thdata.rd= rd;
+ thdata.stack= exec->stack;
+
+ /* fixed seed, for example noise texture */
+ BLI_srandom(rd->cfra);
+
+ /* sets need_exec tags in nodes */
+ curnode = totnode= setExecutableNodes(ntree, &thdata);
+
+ BLI_init_threads(&threads, exec_composite_node, rd->threads);
+
+ while(rendering) {
+
+ if(BLI_available_threads(&threads)) {
+ nodeexec= getExecutableNode(exec);
+ if(nodeexec) {
+ node = nodeexec->node;
+ if(ntree->progress && totnode)
+ ntree->progress(ntree->prh, (1.0 - curnode/(float)totnode));
+ if(ntree->stats_draw) {
+ char str[64];
+ sprintf(str, "Compositing %d %s", curnode, node->name);
+ ntree->stats_draw(ntree->sdh, str);
+ }
+ curnode--;
+
+ node->threaddata = &thdata;
+ node->exec= NODE_PROCESSING;
+ BLI_insert_thread(&threads, nodeexec);
+ }
+ else
+ PIL_sleep_ms(50);
+ }
+ else
+ PIL_sleep_ms(50);
+
+ rendering= 0;
+ /* test for ESC */
+ if(ntree->test_break && ntree->test_break(ntree->tbh)) {
+ for(node= ntree->nodes.first; node; node= node->next)
+ node->exec |= NODE_READY;
+ }
+
+ /* check for ready ones, and if we need to continue */
+ for(n=0, nodeexec=exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->exec & NODE_READY) {
+ if((node->exec & NODE_FINISHED)==0) {
+ BLI_remove_thread(&threads, nodeexec); /* this waits for running thread to finish btw */
+ node->exec |= NODE_FINISHED;
+
+ /* freeing unused buffers */
+ if(rd->scemode & R_COMP_FREE)
+ freeExecutableNode(ntree, exec);
+ }
+ }
+ else rendering= 1;
+ }
+ }
+
+ BLI_end_threads(&threads);
+
+ /* XXX top-level tree uses the ntree->execdata pointer */
+ ntreeCompositEndExecTree(exec, 1);
+}
+
+/* *********************************************** */
+
+/* clumsy checking... should do dynamic outputs once */
+static void force_hidden_passes(bNode *node, int passflag)
+{
+ bNodeSocket *sock;
+
+ for(sock= node->outputs.first; sock; sock= sock->next)
+ sock->flag &= ~SOCK_UNAVAIL;
+
+ sock= BLI_findlink(&node->outputs, RRES_OUT_Z);
+ if(!(passflag & SCE_PASS_Z)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_NORMAL);
+ if(!(passflag & SCE_PASS_NORMAL)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_VEC);
+ if(!(passflag & SCE_PASS_VECTOR)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_UV);
+ if(!(passflag & SCE_PASS_UV)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_RGBA);
+ if(!(passflag & SCE_PASS_RGBA)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_DIFF);
+ if(!(passflag & SCE_PASS_DIFFUSE)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_SPEC);
+ if(!(passflag & SCE_PASS_SPEC)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_SHADOW);
+ if(!(passflag & SCE_PASS_SHADOW)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_AO);
+ if(!(passflag & SCE_PASS_AO)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_REFLECT);
+ if(!(passflag & SCE_PASS_REFLECT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_REFRACT);
+ if(!(passflag & SCE_PASS_REFRACT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_INDIRECT);
+ 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);
+ if(!(passflag & SCE_PASS_EMIT)) sock->flag |= SOCK_UNAVAIL;
+ sock= BLI_findlink(&node->outputs, RRES_OUT_ENV);
+ if(!(passflag & SCE_PASS_ENVIRONMENT)) sock->flag |= SOCK_UNAVAIL;
+
+}
+
+/* based on rules, force sockets hidden always */
+void ntreeCompositForceHidden(bNodeTree *ntree, Scene *curscene)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if( node->type==CMP_NODE_R_LAYERS) {
+ Scene *sce= node->id?(Scene *)node->id:curscene;
+ SceneRenderLayer *srl= BLI_findlink(&sce->r.layers, node->custom1);
+ if(srl)
+ force_hidden_passes(node, srl->passflag);
+ }
+ else if( node->type==CMP_NODE_IMAGE) {
+ Image *ima= (Image *)node->id;
+ if(ima) {
+ if(ima->rr) {
+ ImageUser *iuser= node->storage;
+ RenderLayer *rl= BLI_findlink(&ima->rr->layers, iuser->layer);
+ if(rl)
+ force_hidden_passes(node, rl->passflag);
+ else
+ force_hidden_passes(node, 0);
+ }
+ else if(ima->type!=IMA_TYPE_MULTILAYER) { /* if ->rr not yet read we keep inputs */
+ force_hidden_passes(node, RRES_OUT_Z);
+ }
+ else
+ force_hidden_passes(node, 0);
+ }
+ else
+ force_hidden_passes(node, 0);
+ }
+ }
+
+}
+
+/* called from render pipeline, to tag render input and output */
+/* need to do all scenes, to prevent errors when you re-render 1 scene */
+void ntreeCompositTagRender(Scene *curscene)
+{
+ Scene *sce;
+
+ for(sce= G.main->scene.first; sce; sce= sce->id.next) {
+ if(sce->nodetree) {
+ bNode *node;
+
+ for(node= sce->nodetree->nodes.first; node; node= node->next) {
+ if(node->id==(ID *)curscene || node->type==CMP_NODE_COMPOSITE)
+ NodeTagChanged(sce->nodetree, node);
+ else if(node->type==CMP_NODE_TEXTURE) /* uses scene sizex/sizey */
+ NodeTagChanged(sce->nodetree, node);
+ }
+ }
+ }
+}
+
+static int node_animation_properties(bNodeTree *ntree, bNode *node)
+{
+ bNodeSocket *sock;
+ const ListBase *lb;
+ Link *link;
+ PointerRNA ptr;
+ PropertyRNA *prop;
+
+ /* check to see if any of the node's properties have fcurves */
+ RNA_pointer_create((ID *)ntree, &RNA_Node, node, &ptr);
+ lb = RNA_struct_type_properties(ptr.type);
+
+ for (link=lb->first; link; link=link->next) {
+ int driven, len=1, index;
+ prop = (PropertyRNA *)link;
+
+ if (RNA_property_array_check(prop))
+ len = RNA_property_array_length(&ptr, prop);
+
+ for (index=0; index<len; index++) {
+ if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ }
+ }
+
+ /* now check node sockets */
+ for (sock = node->inputs.first; sock; sock=sock->next) {
+ int driven, len=1, index;
+
+ RNA_pointer_create((ID *)ntree, &RNA_NodeSocket, sock, &ptr);
+ prop = RNA_struct_find_property(&ptr, "default_value");
+ if (prop) {
+ if (RNA_property_array_check(prop))
+ len = RNA_property_array_length(&ptr, prop);
+
+ for (index=0; index<len; index++) {
+ if (rna_get_fcurve(&ptr, prop, index, NULL, &driven)) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ }
+ }
+ }
+
+ return 0;
+}
+
+/* tags nodes that have animation capabilities */
+int ntreeCompositTagAnimated(bNodeTree *ntree)
+{
+ bNode *node;
+ int tagged= 0;
+
+ if(ntree==NULL) return 0;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+
+ tagged = node_animation_properties(ntree, node);
+
+ /* otherwise always tag these node types */
+ if(node->type==CMP_NODE_IMAGE) {
+ Image *ima= (Image *)node->id;
+ if(ima && ELEM(ima->source, IMA_SRC_MOVIE, IMA_SRC_SEQUENCE)) {
+ NodeTagChanged(ntree, node);
+ tagged= 1;
+ }
+ }
+ else if(node->type==CMP_NODE_TIME) {
+ NodeTagChanged(ntree, node);
+ tagged= 1;
+ }
+ /* here was tag render layer, but this is called after a render, so re-composites fail */
+ else if(node->type==NODE_GROUP) {
+ if( ntreeCompositTagAnimated((bNodeTree *)node->id) ) {
+ NodeTagChanged(ntree, node);
+ }
+ }
+ }
+
+ return tagged;
+}
+
+
+/* called from image window preview */
+void ntreeCompositTagGenerators(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if( ELEM(node->type, CMP_NODE_R_LAYERS, CMP_NODE_IMAGE))
+ NodeTagChanged(ntree, node);
+ }
+}
+
+/* XXX after render animation system gets a refresh, this call allows composite to end clean */
+void ntreeClearTags(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ node->need_exec= 0;
+ if(node->type==NODE_GROUP)
+ ntreeClearTags((bNodeTree *)node->id);
+ }
+}
diff --git a/source/blender/nodes/intern/CMP_util.c b/source/blender/nodes/composite/node_composite_util.c
index 78025f4d964..78f97c5289e 100644
--- a/source/blender/nodes/intern/CMP_util.c
+++ b/source/blender/nodes/composite/node_composite_util.c
@@ -27,12 +27,12 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_util.c
+/** \file blender/nodes/composite/node_composite_util.c
* \ingroup nodes
*/
-#include "CMP_util.h"
+#include "node_composite_util.h"
CompBuf *alloc_compbuf(int sizex, int sizey, int type, int alloc)
{
@@ -67,7 +67,7 @@ CompBuf *dupalloc_compbuf(CompBuf *cbuf)
{
CompBuf *dupbuf= alloc_compbuf(cbuf->x, cbuf->y, cbuf->type, 1);
if(dupbuf) {
- memmove(dupbuf->rect, cbuf->rect, cbuf->type*sizeof(float)*cbuf->x*cbuf->y);
+ memcpy(dupbuf->rect, cbuf->rect, cbuf->type*sizeof(float)*cbuf->x*cbuf->y);
dupbuf->xof= cbuf->xof;
dupbuf->yof= cbuf->yof;
@@ -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;
@@ -156,7 +156,7 @@ void node_compo_pass_on(bNode *node, bNodeStack **nsin, bNodeStack **nsout)
if(valbuf || colbuf || vecbuf) {
for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
if(nsout[a]->hasoutput) {
- if(sock->type==SOCK_VALUE && valbuf) {
+ if(sock->type==SOCK_FLOAT && valbuf) {
nsout[a]->data= pass_on_compbuf(valbuf);
valbuf= 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/CMP_util.h b/source/blender/nodes/composite/node_composite_util.h
index 3f37eae2af9..57ebe2191dd 100644
--- a/source/blender/nodes/intern/CMP_util.h
+++ b/source/blender/nodes/composite/node_composite_util.h
@@ -27,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_util.h
+/** \file blender/nodes/composite/node_composite_util.h
* \ingroup nodes
*/
-#ifndef CMP_NODE_UTILS_H_
-#define CMP_NODE_UTILS_H_
+#ifndef NODE_COMPOSITE_UTIL_H_
+#define NODE_COMPOSITE_UTIL_H_
#include <stdlib.h>
#include <string.h>
@@ -70,7 +70,6 @@
#include "BKE_library.h"
#include "BKE_object.h"
-#include "../CMP_node.h"
#include "node_util.h"
#include "IMB_imbuf_types.h"
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c b/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
index 9dcdfaf21e6..551f716e72b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
+++ b/source/blender/nodes/composite/nodes/node_composite_alphaOver.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_alphaOver.c
+/** \file blender/nodes/composite/nodes/node_composite_alphaOver.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** ALPHAOVER ******************** */
-static bNodeSocketType cmp_node_alphaover_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_alphaover_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_alphaover_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_alphaover_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -140,7 +140,7 @@ static void node_composit_exec_alphaover(void *UNUSED(data), bNode *node, bNodeS
}
}
-static void node_alphaover_init(bNode* node)
+static void node_alphaover_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeTwoFloats), "NodeTwoFloats");
}
@@ -149,8 +149,8 @@ void register_node_type_cmp_alphaover(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ALPHAOVER, "AlphaOver", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_alphaover_in, cmp_node_alphaover_out);
+ node_type_base(&ntype, CMP_NODE_ALPHAOVER, "AlphaOver", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_alphaover_in, cmp_node_alphaover_out);
node_type_size(&ntype, 80, 40, 120);
node_type_init(&ntype, node_alphaover_init);
node_type_storage(&ntype, "NodeTwoFloats", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
index c106b437e17..e8e6e164983 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_bilateralblur.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_bilateralblur.c
+/** \file blender/nodes/composite/nodes/node_composite_bilateralblur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** BILATERALBLUR ******************** */
-static bNodeSocketType cmp_node_bilateralblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Determinator", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_bilateralblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Determinator", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_bilateralblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_bilateralblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -247,7 +247,7 @@ static void node_composit_exec_bilateralblur(void *UNUSED(data), bNode *node, bN
free_compbuf(new);
}
-static void node_composit_init_bilateralblur(bNode* node)
+static void node_composit_init_bilateralblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeBilateralBlurData *nbbd= MEM_callocN(sizeof(NodeBilateralBlurData), "node bilateral blur data");
node->storage= nbbd;
@@ -259,8 +259,8 @@ void register_node_type_cmp_bilateralblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BILATERALBLUR, "Bilateral Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_bilateralblur_in, cmp_node_bilateralblur_out);
+ node_type_base(&ntype, CMP_NODE_BILATERALBLUR, "Bilateral Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_bilateralblur_in, cmp_node_bilateralblur_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_bilateralblur);
node_type_storage(&ntype, "NodeBilateralBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c b/source/blender/nodes/composite/nodes/node_composite_blur.c
index 2b33126b3a7..cd37404e677 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_blur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_blur.c
@@ -28,21 +28,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_blur.c
+/** \file blender/nodes/composite/nodes/node_composite_blur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** BLUR ******************** */
-static bNodeSocketType cmp_node_blur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_blur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Size", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_blur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_blur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -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;
}
@@ -713,7 +713,7 @@ static void node_composit_exec_blur(void *data, bNode *node, bNodeStack **in, bN
generate_preview(data, node, out[0]->data);
}
-static void node_composit_init_blur(bNode* node)
+static void node_composit_init_blur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeBlurData), "node blur data");
}
@@ -722,8 +722,8 @@ void register_node_type_cmp_blur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BLUR, "Blur", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_blur_in, cmp_node_blur_out);
+ node_type_base(&ntype, CMP_NODE_BLUR, "Blur", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_blur_in, cmp_node_blur_out);
node_type_size(&ntype, 120, 80, 200);
node_type_init(&ntype, node_composit_init_blur);
node_type_storage(&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_brightness.c b/source/blender/nodes/composite/nodes/node_composite_brightness.c
index 50a8d05b03d..55d890e6d31 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_brightness.c
+++ b/source/blender/nodes/composite/nodes/node_composite_brightness.c
@@ -28,24 +28,24 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_brightness.c
+/** \file blender/nodes/composite/nodes/node_composite_brightness.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Brigh and contrsast ******************** */
-static bNodeSocketType cmp_node_brightcontrast_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Bright", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Contrast", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate cmp_node_brightcontrast_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Bright", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Contrast", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_brightcontrast_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_brightcontrast_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -100,8 +100,8 @@ void register_node_type_cmp_brightcontrast(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_brightcontrast_in, cmp_node_brightcontrast_out);
+ node_type_base(&ntype, CMP_NODE_BRIGHTCONTRAST, "Bright/Contrast", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_brightcontrast_in, cmp_node_brightcontrast_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_brightcontrast);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c b/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
index b32c531d8f9..1e3992a7185 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_channelMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_channelMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_channelMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Channel Matte Node ********************************* */
-static bNodeSocketType cmp_node_channel_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_channel_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_channel_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_channel_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -97,6 +97,7 @@ static void do_channel_matte(bNode *node, float *out, float *in)
default:
break;
}
+ break;
}
default:
break;
@@ -186,7 +187,7 @@ static void node_composit_exec_channel_matte(void *data, bNode *node, bNodeStack
}
-static void node_composit_init_channel_matte(bNode *node)
+static void node_composit_init_channel_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage=c;
@@ -205,8 +206,8 @@ void register_node_type_cmp_channel_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CHANNEL_MATTE, "Channel Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_channel_matte_in, cmp_node_channel_matte_out);
+ node_type_base(&ntype, CMP_NODE_CHANNEL_MATTE, "Channel Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_channel_matte_in, cmp_node_channel_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_channel_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
index 03230f2e212..49c90e85621 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_chromaMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_chromaMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_chromaMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Chroma Key ********************************************************** */
-static bNodeSocketType cmp_node_chroma_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_chroma_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_chroma_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_chroma_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -178,7 +178,7 @@ static void node_composit_exec_chroma_matte(void *data, bNode *node, bNodeStack
}
-static void node_composit_init_chroma_matte(bNode *node)
+static void node_composit_init_chroma_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -193,8 +193,8 @@ void register_node_type_cmp_chroma_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CHROMA_MATTE, "Chroma Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_chroma_in, cmp_node_chroma_out);
+ node_type_base(&ntype, CMP_NODE_CHROMA_MATTE, "Chroma Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_chroma_in, cmp_node_chroma_out);
node_type_size(&ntype, 200, 80, 300);
node_type_init(&ntype, node_composit_init_chroma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c b/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
index 55d77a902b9..b17052ed542 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_colorMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Color Key ********************************************************** */
-static bNodeSocketType cmp_node_color_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_color_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -114,7 +114,7 @@ static void node_composit_exec_color_matte(void *data, bNode *node, bNodeStack *
free_compbuf(cbuf);
}
-static void node_composit_init_color_matte(bNode *node)
+static void node_composit_init_color_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node color");
node->storage= c;
@@ -129,8 +129,8 @@ void register_node_type_cmp_color_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLOR_MATTE, "Color Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_color_in, cmp_node_color_out);
+ node_type_base(&ntype, CMP_NODE_COLOR_MATTE, "Color Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_color_in, cmp_node_color_out);
node_type_size(&ntype, 200, 80, 300);
node_type_init(&ntype, node_composit_init_color_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c b/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
index 905d97709c3..418d6802cec 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorSpill.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorSpill.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorSpill.c
+/** \file blender/nodes/composite/nodes/node_composite_colorSpill.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
#define avg(a,b) ((a+b)/2)
/* ******************* Color Spill Supression ********************************* */
-static bNodeSocketType cmp_node_color_spill_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_spill_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{-1,0,""}
};
-static bNodeSocketType cmp_node_color_spill_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_color_spill_out[]={
+ {SOCK_RGBA,0,"Image"},
{-1,0,""}
};
@@ -315,7 +315,7 @@ static void node_composit_exec_color_spill(void *UNUSED(data), bNode *node, bNod
free_compbuf(spillmap);
}
-static void node_composit_init_color_spill(bNode *node)
+static void node_composit_init_color_spill(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeColorspill *ncs= MEM_callocN(sizeof(NodeColorspill), "node colorspill");
node->storage=ncs;
@@ -330,8 +330,8 @@ void register_node_type_cmp_color_spill(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLOR_SPILL, "Color Spill", NODE_CLASS_MATTE, NODE_OPTIONS,
- cmp_node_color_spill_in, cmp_node_color_spill_out);
+ node_type_base(&ntype, CMP_NODE_COLOR_SPILL, "Color Spill", NODE_CLASS_MATTE, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_color_spill_in, cmp_node_color_spill_out);
node_type_size(&ntype, 140, 80, 200);
node_type_init(&ntype, node_composit_init_color_spill);
node_type_storage(&ntype, "NodeColorspill", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c b/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
index 4074ea2fa29..6bce18c14ef 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_colorbalance.c
+++ b/source/blender/nodes/composite/nodes/node_composite_colorbalance.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_colorbalance.c
+/** \file blender/nodes/composite/nodes/node_composite_colorbalance.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Color Balance ********************************* */
-static bNodeSocketType cmp_node_colorbalance_in[]={
- {SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_colorbalance_in[]={
+ {SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_colorbalance_out[]={
- {SOCK_RGBA,0,"Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_colorbalance_out[]={
+ {SOCK_RGBA,0,"Image"},
{-1,0,""}
};
@@ -175,7 +175,7 @@ static void node_composit_exec_colorbalance(void *UNUSED(data), bNode *node, bNo
}
}
-static void node_composit_init_colorbalance(bNode *node)
+static void node_composit_init_colorbalance(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeColorBalance *n= node->storage= MEM_callocN(sizeof(NodeColorBalance), "node colorbalance");
@@ -188,8 +188,8 @@ void register_node_type_cmp_colorbalance(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_colorbalance_in, cmp_node_colorbalance_out);
+ node_type_base(&ntype, CMP_NODE_COLORBALANCE, "Color Balance", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_colorbalance_in, cmp_node_colorbalance_out);
node_type_size(&ntype, 400, 200, 400);
node_type_init(&ntype, node_composit_init_colorbalance);
node_type_storage(&ntype, "NodeColorBalance", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/composite/nodes/node_composite_common.c b/source/blender/nodes/composite/nodes/node_composite_common.c
new file mode 100644
index 00000000000..8067f7e92be
--- /dev/null
+++ b/source/blender/nodes/composite/nodes/node_composite_common.c
@@ -0,0 +1,373 @@
+/*
+ * $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): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/composite/nodes/node_composite_common.c
+ * \ingroup cmpnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_composite_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+#if 0
+static void PRINT_BUFFERS(bNodeTreeExec *exec)
+{
+ bNodeTree *ntree= exec->nodetree;
+ bNode *node;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int i;
+
+ printf("-------------- DEBUG --------------\n");
+ for (sock=ntree->inputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("%d. Tree Input %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (sock=ntree->outputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("%d. Tree Output %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (node=ntree->nodes.first; node; node=node->next) {
+ printf("Node %s:\n", node->name);
+ for (sock=node->inputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("\t%d. Input %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ for (sock=node->outputs.first, i=0; sock; sock=sock->next, ++i) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ printf("\t%d. Output %s", i, sock->name);
+ if (ns->external)
+ printf(" (external)");
+ printf(": data=%p\n", ns->data);
+ }
+ }
+}
+#endif
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+static void move_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+ to->is_copy = from->is_copy;
+
+ zero_v4(from->vec);
+ from->data = NULL;
+ from->datatype = 0;
+ from->is_copy = 0;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNodeTreeExec *exec;
+ bNodeSocket *sock;
+ bNodeStack *ns;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeCompositBeginExecTree(ngroup, 0);
+
+ /* tag group outputs as external to prevent freeing */
+ for (sock=ngroup->outputs.first; sock; sock=sock->next) {
+ if (!(sock->flag & SOCK_INTERNAL)) {
+ ns = node_get_socket_stack(exec->stack, sock);
+ ns->external = 1;
+ }
+ }
+
+ return exec;
+}
+
+static void group_freeexec(bNode *node, void *nodedata)
+{
+ bNodeTreeExec *gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeCompositEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ * This is a shallow copy, no buffers are duplicated here!
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_move_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ move_stack(out[a], ns);
+ }
+ }
+}
+
+/* Free internal buffers */
+static void group_free_internal(bNodeTreeExec *gexec) {
+ bNodeStack *ns;
+ int i;
+
+ for (i=0, ns=gexec->stack; i < gexec->stacksize; ++i, ++ns) {
+ if (!ns->external && !ns->is_copy) {
+ if (ns->data) {
+ free_compbuf(ns->data);
+ ns->data = NULL;
+ }
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ group_copy_inputs(node, in, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+/* Move the results from the previous iteration back to the input sockets. */
+static void loop_iteration_reset(bNodeTree *ngroup, bNodeStack *gstack)
+{
+ bNodeSocket *gin, *gout;
+ bNodeStack *nsin, *nsout;
+
+ gin = ngroup->inputs.first;
+ gout = ngroup->outputs.first;
+
+ while (gin && gout) {
+ /* skip static (non-looping) sockets */
+ while (gin && !(gin->flag & SOCK_DYNAMIC))
+ gin=gin->next;
+ while (gout && !(gout->flag & SOCK_DYNAMIC))
+ gout=gout->next;
+
+ if (gin && gout) {
+ nsin = node_get_socket_stack(gstack, gin);
+ nsout = node_get_socket_stack(gstack, gout);
+
+ move_stack(nsin, nsout);
+
+ gin=gin->next;
+ gout=gout->next;
+ }
+ }
+}
+
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ int totiterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(exec->stack, sock);
+
+ group_copy_inputs(node, in, exec->stack);
+ for (iteration=0; iteration < totiterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+
+ if (iteration > 0)
+ loop_iteration_reset(exec->nodetree, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+ }
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(exec->stack, sock);
+
+ iteration = 0;
+ group_copy_inputs(node, in, exec->stack);
+ while (condition && iteration < node->custom1) {
+ if (iteration > 0)
+ loop_iteration_reset(exec->nodetree, exec->stack);
+ ntreeExecNodes(exec, data, thread);
+ group_free_internal(exec);
+
+// PRINT_BUFFERS(exec);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+ group_move_outputs(node, out, exec->stack);
+}
+
+void register_node_type_cmp_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c b/source/blender/nodes/composite/nodes/node_composite_composite.c
index fb68f56ae64..492e5c28459 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_composite.c
+++ b/source/blender/nodes/composite/nodes/node_composite_composite.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_composite.c
+/** \file blender/nodes/composite/nodes/node_composite_composite.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** COMPOSITE ******************** */
-static bNodeSocketType cmp_node_composite_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_composite_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
@@ -103,8 +103,8 @@ void register_node_type_cmp_composite(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- cmp_node_composite_in, NULL);
+ node_type_base(&ntype, CMP_NODE_COMPOSITE, "Composite", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_composite_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_exec(&ntype, node_composit_exec_composite);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_crop.c b/source/blender/nodes/composite/nodes/node_composite_crop.c
index 0331217f0cb..b8c539b6d66 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_crop.c
+++ b/source/blender/nodes/composite/nodes/node_composite_crop.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_crop.c
+/** \file blender/nodes/composite/nodes/node_composite_crop.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Crop ******************** */
-static bNodeSocketType cmp_node_crop_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_crop_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_crop_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_crop_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -103,7 +103,7 @@ static void node_composit_exec_crop(void *UNUSED(data), bNode *node, bNodeStack
}
}
-static void node_composit_init_crop(bNode* node)
+static void node_composit_init_crop(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeTwoXYs *nxy= MEM_callocN(sizeof(NodeTwoXYs), "node xy data");
node->storage= nxy;
@@ -117,8 +117,8 @@ void register_node_type_cmp_crop(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CROP, "Crop", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_crop_in, cmp_node_crop_out);
+ node_type_base(&ntype, CMP_NODE_CROP, "Crop", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_crop_in, cmp_node_crop_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_crop);
node_type_storage(&ntype, "NodeTwoXYs", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c b/source/blender/nodes/composite/nodes/node_composite_curves.c
index 921c5e21fea..58074eaca57 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_curves.c
+++ b/source/blender/nodes/composite/nodes/node_composite_curves.c
@@ -27,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_curves.c
+/** \file blender/nodes/composite/nodes/node_composite_curves.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** CURVE Time ******************** */
/* custom1 = sfra, custom2 = efra */
-static bNodeSocketType cmp_node_time_out[]= {
- { SOCK_VALUE, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_time_out[]= {
+ { SOCK_FLOAT, 0, "Fac"},
{ -1, 0, "" }
};
@@ -57,7 +57,7 @@ static void node_composit_exec_curves_time(void *data, bNode *node, bNodeStack *
}
-static void node_composit_init_curves_time(bNode* node)
+static void node_composit_init_curves_time(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1;
node->custom2= 250;
@@ -68,8 +68,8 @@ void register_node_type_cmp_curve_time(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_time_out);
+ node_type_base(&ntype, CMP_NODE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_time_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_curves_time);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -82,13 +82,13 @@ void register_node_type_cmp_curve_time(ListBase *lb)
/* **************** CURVE VEC ******************** */
-static bNodeSocketType cmp_node_curve_vec_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_vec_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_curve_vec_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_vec_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -100,7 +100,7 @@ static void node_composit_exec_curve_vec(void *UNUSED(data), bNode *node, bNodeS
curvemapping_evaluate_premulRGBF(node->storage, out[0]->vec, in[0]->vec);
}
-static void node_composit_init_curve_vec(bNode* node)
+static void node_composit_init_curve_vec(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
}
@@ -109,8 +109,8 @@ void register_node_type_cmp_curve_vec(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_curve_vec_in, cmp_node_curve_vec_out);
+ node_type_base(&ntype, CMP_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_curve_vec_in, cmp_node_curve_vec_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_vec);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -121,16 +121,16 @@ void register_node_type_cmp_curve_vec(ListBase *lb)
/* **************** CURVE RGB ******************** */
-static bNodeSocketType cmp_node_curve_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Black Level", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "White Level", 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Black Level", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "White Level", 1.0f, 1.0f, 1.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_curve_rgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_curve_rgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -187,7 +187,7 @@ static void node_composit_exec_curve_rgb(void *UNUSED(data), bNode *node, bNodeS
}
-static void node_composit_init_curve_rgb(bNode* node)
+static void node_composit_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -196,8 +196,8 @@ void register_node_type_cmp_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_curve_rgb_in, cmp_node_curve_rgb_out);
+ node_type_base(&ntype, CMP_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_curve_rgb_in, cmp_node_curve_rgb_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_composit_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c b/source/blender/nodes/composite/nodes/node_composite_defocus.c
index f249e2cff6c..84a084591c5 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_defocus.c
+++ b/source/blender/nodes/composite/nodes/node_composite_defocus.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_defocus.c
+/** \file blender/nodes/composite/nodes/node_composite_defocus.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ************ qdn: Defocus node ****************** */
-static bNodeSocketType cmp_node_defocus_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_defocus_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_defocus_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_defocus_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -857,7 +857,7 @@ static void node_composit_exec_defocus(void *UNUSED(data), bNode *node, bNodeSta
if (zbuf_use && (zbuf_use != zbuf)) free_compbuf(zbuf_use);
}
-static void node_composit_init_defocus(bNode* node)
+static void node_composit_init_defocus(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
/* qdn: defocus node */
NodeDefocus *nbd = MEM_callocN(sizeof(NodeDefocus), "node defocus data");
@@ -878,8 +878,8 @@ void register_node_type_cmp_defocus(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DEFOCUS, "Defocus", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_defocus_in, cmp_node_defocus_out);
+ node_type_base(&ntype, CMP_NODE_DEFOCUS, "Defocus", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_defocus_in, cmp_node_defocus_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_defocus);
node_type_storage(&ntype, "NodeDefocus", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c b/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
index 296053298da..23bcf57e2bc 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_diffMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_diffMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_diffMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_diffMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* channel Difference Matte ********************************* */
-static bNodeSocketType cmp_node_diff_matte_in[]={
- {SOCK_RGBA,1,"Image 1", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Image 2", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_diff_matte_in[]={
+ {SOCK_RGBA,1,"Image 1", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Image 2", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_diff_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_diff_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -125,7 +125,7 @@ static void node_composit_exec_diff_matte(void *data, bNode *node, bNodeStack **
free_compbuf(imbuf2);
}
-static void node_composit_init_diff_matte(bNode *node)
+static void node_composit_init_diff_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -137,8 +137,8 @@ void register_node_type_cmp_diff_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DIFF_MATTE, "Difference Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_diff_matte_in, cmp_node_diff_matte_out);
+ node_type_base(&ntype, CMP_NODE_DIFF_MATTE, "Difference Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_diff_matte_in, cmp_node_diff_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_diff_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c b/source/blender/nodes/composite/nodes/node_composite_dilate.c
index f5d16ff0ab8..c774045a12f 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_dilate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_dilate.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_dilate.c
+/** \file blender/nodes/composite/nodes/node_composite_dilate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Dilate/Erode ******************** */
-static bNodeSocketType cmp_node_dilateerode_in[]= {
- { SOCK_VALUE, 1, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dilateerode_in[]= {
+ { SOCK_FLOAT, 1, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_dilateerode_out[]= {
- { SOCK_VALUE, 0, "Mask", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dilateerode_out[]= {
+ { SOCK_FLOAT, 0, "Mask"},
{ -1, 0, "" }
};
@@ -152,8 +152,8 @@ void register_node_type_cmp_dilateerode(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DILATEERODE, "Dilate/Erode", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_dilateerode_in, cmp_node_dilateerode_out);
+ node_type_base(&ntype, CMP_NODE_DILATEERODE, "Dilate/Erode", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_dilateerode_in, cmp_node_dilateerode_out);
node_type_size(&ntype, 130, 100, 320);
node_type_exec(&ntype, node_composit_exec_dilateerode);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c b/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
index 2a8bbcc9ad5..1a5e3150f53 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_directionalblur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_directionalblur.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_directionalblur.c
+/** \file blender/nodes/composite/nodes/node_composite_directionalblur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_dblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.f, 0.f, 1.f},
+static bNodeSocketTemplate cmp_node_dblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_dblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_dblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -122,7 +123,7 @@ static void node_composit_exec_dblur(void *UNUSED(data), bNode *node, bNodeStack
out[0]->data= dblur(node, new, ndbd->iter, ndbd->wrap, ndbd->center_x, ndbd->center_y, ndbd->distance, ndbd->angle, ndbd->spin, ndbd->zoom);
}
-static void node_composit_init_dblur(bNode* node)
+static void node_composit_init_dblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeDBlurData *ndbd= MEM_callocN(sizeof(NodeDBlurData), "node dblur data");
node->storage= ndbd;
@@ -134,8 +135,8 @@ void register_node_type_cmp_dblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DBLUR, "Directional Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_dblur_in, cmp_node_dblur_out);
+ node_type_base(&ntype, CMP_NODE_DBLUR, "Directional Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_dblur_in, cmp_node_dblur_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_dblur);
node_type_storage(&ntype, "NodeDBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c b/source/blender/nodes/composite/nodes/node_composite_displace.c
index 9139edf8560..28d220eb4c9 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_displace.c
+++ b/source/blender/nodes/composite/nodes/node_composite_displace.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_displace.c
+/** \file blender/nodes/composite/nodes/node_composite_displace.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Displace ******************** */
-static bNodeSocketType cmp_node_displace_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
- { SOCK_VALUE, 1, "Y Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f},
+static bNodeSocketTemplate cmp_node_displace_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_VECTOR, 1, "Vector", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_TRANSLATION},
+ { SOCK_FLOAT, 1, "X Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Y Scale", 0.0f, 0.0f, 0.0f, 0.0f, -1000.0f, 1000.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_displace_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_displace_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -188,8 +188,8 @@ void register_node_type_cmp_displace(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DISPLACE, "Displace", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_displace_in, cmp_node_displace_out);
+ node_type_base(&ntype, CMP_NODE_DISPLACE, "Displace", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_displace_in, cmp_node_displace_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_displace);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
index 5f7613464c1..b186be5500b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_distanceMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_distanceMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_distanceMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* channel Distance Matte ********************************* */
-static bNodeSocketType cmp_node_distance_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_distance_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ {SOCK_RGBA,1,"Key Color", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_distance_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_distance_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -122,7 +122,7 @@ static void node_composit_exec_distance_matte(void *data, bNode *node, bNodeStac
free_compbuf(inbuf);
}
-static void node_composit_init_distance_matte(bNode *node)
+static void node_composit_init_distance_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage= c;
@@ -134,8 +134,8 @@ void register_node_type_cmp_distance_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_DIST_MATTE, "Distance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_distance_matte_in, cmp_node_distance_matte_out);
+ node_type_base(&ntype, CMP_NODE_DIST_MATTE, "Distance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_distance_matte_in, cmp_node_distance_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_distance_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c b/source/blender/nodes/composite/nodes/node_composite_filter.c
index 915cb01d2d4..64a4c69b671 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_filter.c
+++ b/source/blender/nodes/composite/nodes/node_composite_filter.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_filter.c
+/** \file blender/nodes/composite/nodes/node_composite_filter.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** FILTER ******************** */
-static bNodeSocketType cmp_node_filter_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_filter_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_filter_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_filter_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -226,8 +226,8 @@ void register_node_type_cmp_filter(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_FILTER, "Filter", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_filter_in, cmp_node_filter_out);
+ node_type_base(&ntype, CMP_NODE_FILTER, "Filter", NODE_CLASS_OP_FILTER, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_filter_in, cmp_node_filter_out);
node_type_size(&ntype, 80, 40, 120);
node_type_label(&ntype, node_filter_label);
node_type_exec(&ntype, node_composit_exec_filter);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c b/source/blender/nodes/composite/nodes/node_composite_flip.c
index b5fd7b46e03..931aacbe6fd 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_flip.c
+++ b/source/blender/nodes/composite/nodes/node_composite_flip.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_flip.c
+/** \file blender/nodes/composite/nodes/node_composite_flip.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Flip ******************** */
-static bNodeSocketType cmp_node_flip_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_flip_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_flip_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_flip_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -94,8 +94,8 @@ void register_node_type_cmp_flip(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_FLIP, "Flip", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_flip_in, cmp_node_flip_out);
+ node_type_base(&ntype, CMP_NODE_FLIP, "Flip", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_flip_in, cmp_node_flip_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_flip);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c b/source/blender/nodes/composite/nodes/node_composite_gamma.c
index 261257d3b5f..f1dd3d40c09 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_gamma.c
+++ b/source/blender/nodes/composite/nodes/node_composite_gamma.c
@@ -28,22 +28,22 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_gamma.c
+/** \file blender/nodes/composite/nodes/node_composite_gamma.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Gamma Tools ******************** */
-static bNodeSocketType cmp_node_gamma_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Gamma", 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f},
+static bNodeSocketTemplate cmp_node_gamma_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Gamma", 1.0f, 0.0f, 0.0f, 0.0f, 0.001f, 10.0f, PROP_UNSIGNED},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_gamma_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_gamma_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -81,8 +81,8 @@ void register_node_type_cmp_gamma(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_gamma_in, cmp_node_gamma_out);
+ node_type_base(&ntype, CMP_NODE_GAMMA, "Gamma", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_gamma_in, cmp_node_gamma_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_gamma);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c b/source/blender/nodes/composite/nodes/node_composite_glare.c
index 1a339b45a05..98a41e4af69 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_glare.c
+++ b/source/blender/nodes/composite/nodes/node_composite_glare.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_glare.c
+/** \file blender/nodes/composite/nodes/node_composite_glare.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_glare_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_glare_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_glare_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_glare_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -467,13 +468,14 @@ static void node_composit_exec_glare(void *UNUSED(data), bNode *node, bNodeStack
case 2:
default:
streaks(ndg, new, src);
+ break;
}
free_compbuf(src);
out[0]->data = new;
}
-static void node_composit_init_glare(bNode* node)
+static void node_composit_init_glare(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeGlare *ndg = MEM_callocN(sizeof(NodeGlare), "node glare data");
ndg->quality = 1;
@@ -493,8 +495,8 @@ void register_node_type_cmp_glare(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_GLARE, "Glare", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_glare_in, cmp_node_glare_out);
+ node_type_base(&ntype, CMP_NODE_GLARE, "Glare", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_glare_in, cmp_node_glare_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_glare);
node_type_storage(&ntype, "NodeGlare", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
index 7b5511c699c..1d060726b67 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_hueSatVal.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_hueSatVal.c
+/** \file blender/nodes/composite/nodes/node_composite_hueSatVal.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Hue Saturation ******************** */
-static bNodeSocketType cmp_node_hue_sat_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_hue_sat_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_hue_sat_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_hue_sat_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -95,7 +95,7 @@ static void node_composit_exec_hue_sat(void *UNUSED(data), bNode *node, bNodeSta
}
}
-static void node_composit_init_hue_sat(bNode* node)
+static void node_composit_init_hue_sat(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeHueSat *nhs= MEM_callocN(sizeof(NodeHueSat), "node hue sat");
node->storage= nhs;
@@ -108,8 +108,8 @@ void register_node_type_cmp_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_hue_sat_in, cmp_node_hue_sat_out);
+ node_type_base(&ntype, CMP_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_hue_sat_in, cmp_node_hue_sat_out);
node_type_size(&ntype, 150, 80, 250);
node_type_init(&ntype, node_composit_init_hue_sat);
node_type_storage(&ntype, "NodeHueSat", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c b/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
index edf6c454285..13a606e2c68 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_huecorrect.c
+++ b/source/blender/nodes/composite/nodes/node_composite_huecorrect.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_huecorrect.c
+/** \file blender/nodes/composite/nodes/node_composite_huecorrect.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_huecorrect_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_huecorrect_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_huecorrect_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_huecorrect_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -137,7 +137,7 @@ static void node_composit_exec_huecorrect(void *UNUSED(data), bNode *node, bNode
}
-static void node_composit_init_huecorrect(bNode* node)
+static void node_composit_init_huecorrect(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
CurveMapping *cumapping = node->storage= curvemapping_add(1, 0.0f, 0.0f, 1.0f, 1.0f);
int c;
@@ -157,8 +157,8 @@ void register_node_type_cmp_huecorrect(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_huecorrect_in, cmp_node_huecorrect_out);
+ node_type_base(&ntype, CMP_NODE_HUECORRECT, "Hue Correct", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_huecorrect_in, cmp_node_huecorrect_out);
node_type_size(&ntype, 320, 140, 400);
node_type_init(&ntype, node_composit_init_huecorrect);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c b/source/blender/nodes/composite/nodes/node_composite_idMask.c
index 72d0de7d15e..43f78a90add 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_idMask.c
+++ b/source/blender/nodes/composite/nodes/node_composite_idMask.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_idMask.c
+/** \file blender/nodes/composite/nodes/node_composite_idMask.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** ID Mask ******************** */
-static bNodeSocketType cmp_node_idmask_in[]= {
- { SOCK_VALUE, 1, "ID value", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_idmask_in[]= {
+ { SOCK_FLOAT, 1, "ID value", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_idmask_out[]= {
- { SOCK_VALUE, 0, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_idmask_out[]= {
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -113,8 +113,8 @@ void register_node_type_cmp_idmask(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_idmask_in, cmp_node_idmask_out);
+ node_type_base(&ntype, CMP_NODE_ID_MASK, "ID Mask", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_idmask_in, cmp_node_idmask_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_idmask);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_image.c b/source/blender/nodes/composite/nodes/node_composite_image.c
index 3caaad26bae..6149947233e 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_image.c
+++ b/source/blender/nodes/composite/nodes/node_composite_image.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_image.c
+/** \file blender/nodes/composite/nodes/node_composite_image.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** IMAGE (and RenderResult, multilayer image) ******************** */
-static bNodeSocketType cmp_node_rlayers_out[]= {
+static bNodeSocketTemplate cmp_node_rlayers_out[]= {
{ SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ SOCK_VECTOR, 0, "Speed", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
@@ -52,8 +52,9 @@ static bNodeSocketType cmp_node_rlayers_out[]= {
{ SOCK_RGBA, 0, "Reflect", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
{ 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, "Mist", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "IndexOB", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 0, "IndexMA", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 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},
{ -1, 0, "" }
@@ -73,7 +74,7 @@ static CompBuf *node_composit_get_image(RenderData *rd, Image *ima, ImageUser *i
ibuf= BKE_image_get_ibuf(ima, iuser);
if(ibuf==NULL || (ibuf->rect==NULL && ibuf->rect_float==NULL)) {
- return NULL;
+ return NULL;
}
if (ibuf->rect_float == NULL) {
@@ -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)
@@ -292,7 +295,7 @@ static void node_composit_exec_image(void *data, bNode *node, bNodeStack **UNUSE
}
}
-static void node_composit_init_image(bNode* node)
+static void node_composit_init_image(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -306,8 +309,8 @@ void register_node_type_cmp_image(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, cmp_node_rlayers_out);
+ node_type_base(&ntype, CMP_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rlayers_out);
node_type_size(&ntype, 120, 80, 300);
node_type_init(&ntype, node_composit_init_image);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
@@ -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)
@@ -435,8 +440,8 @@ void register_node_type_cmp_rlayers(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, cmp_node_rlayers_out);
+ node_type_base(&ntype, CMP_NODE_R_LAYERS, "Render Layers", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rlayers_out);
node_type_size(&ntype, 150, 100, 300);
node_type_exec(&ntype, node_composit_exec_rlayers);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_invert.c b/source/blender/nodes/composite/nodes/node_composite_invert.c
index 27b0324dfe0..fa64c9ec1b1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_invert.c
+++ b/source/blender/nodes/composite/nodes/node_composite_invert.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_invert.c
+/** \file blender/nodes/composite/nodes/node_composite_invert.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** INVERT ******************** */
-static bNodeSocketType cmp_node_invert_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_invert_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_invert_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_invert_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -114,7 +114,7 @@ static void node_composit_exec_invert(void *UNUSED(data), bNode *node, bNodeStac
}
}
-static void node_composit_init_invert(bNode *node)
+static void node_composit_init_invert(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1 |= CMP_CHAN_RGB;
}
@@ -124,8 +124,8 @@ void register_node_type_cmp_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_invert_in, cmp_node_invert_out);
+ node_type_base(&ntype, CMP_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_invert_in, cmp_node_invert_out);
node_type_size(&ntype, 120, 120, 140);
node_type_init(&ntype, node_composit_init_invert);
node_type_exec(&ntype, node_composit_exec_invert);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c b/source/blender/nodes/composite/nodes/node_composite_lensdist.c
index 3a005210c6a..7d6c945a9e3 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_lensdist.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lensdist.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_lensdist.c
+/** \file blender/nodes/composite/nodes/node_composite_lensdist.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_lensdist_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Distort", 0.f, 0.f, 0.f, 0.f, -0.999f, 1.f},
- { SOCK_VALUE, 1, "Dispersion", 0.f, 0.f, 0.f, 0.f, 0.f, 1.f},
+static bNodeSocketTemplate cmp_node_lensdist_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Distort", 0.f, 0.f, 0.f, 0.f, -0.999f, 1.f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Dispersion", 0.f, 0.f, 0.f, 0.f, 0.f, 1.f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_lensdist_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_lensdist_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -183,7 +184,7 @@ static void node_composit_exec_lensdist(void *UNUSED(data), bNode *node, bNodeSt
}
-static void node_composit_init_lensdist(bNode* node)
+static void node_composit_init_lensdist(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeLensDist *nld = MEM_callocN(sizeof(NodeLensDist), "node lensdist data");
nld->jit = nld->proj = nld->fit = 0;
@@ -195,8 +196,8 @@ void register_node_type_cmp_lensdist(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_LENSDIST, "Lens Distortion", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_lensdist_in, cmp_node_lensdist_out);
+ node_type_base(&ntype, CMP_NODE_LENSDIST, "Lens Distortion", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_lensdist_in, cmp_node_lensdist_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_lensdist);
node_type_storage(&ntype, "NodeLensDist", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_levels.c b/source/blender/nodes/composite/nodes/node_composite_levels.c
index 2c9f7d97f09..e34788ff62b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_levels.c
+++ b/source/blender/nodes/composite/nodes/node_composite_levels.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_levels.c
+/** \file blender/nodes/composite/nodes/node_composite_levels.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** LEVELS ******************** */
-static bNodeSocketType cmp_node_view_levels_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_view_levels_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_view_levels_out[]={
- {SOCK_VALUE, 0,"Mean",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE, 0,"Std Dev",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_view_levels_out[]={
+ {SOCK_FLOAT, 0,"Mean"},
+ {SOCK_FLOAT, 0,"Std Dev"},
{-1,0,""}
};
@@ -52,7 +52,7 @@ static void rgb_tobw(float r, float g, float b, float* out)
*out= r*0.35f + g*0.45f + b*0.2f;
}
-static void fill_bins(bNode* node, CompBuf* in, int* bins, int colorcor)
+static void fill_bins(bNode* node, CompBuf* in, int* bins)
{
float value[4];
int ivalue=0;
@@ -68,39 +68,29 @@ static void fill_bins(bNode* node, CompBuf* in, int* bins, int colorcor)
if(value[3] > 0.0) { /* don't count transparent pixels */
switch(node->custom1) {
case 1: { /* all colors */
- if(colorcor)
- linearrgb_to_srgb_v3_v3(&value[0],&value[0]);
rgb_tobw(value[0],value[1],value[2], &value[0]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
break;
}
case 2: { /* red channel */
- if(colorcor)
- value[0]=linearrgb_to_srgb(value[0]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
break;
}
case 3: { /* green channel */
- if(colorcor)
- value[1]=linearrgb_to_srgb(value[1]);
value[1]=value[1]*255; /* scale to 0-255 range */
ivalue=(int)value[1];
break;
}
case 4: /*blue channel */
{
- if(colorcor)
- value[2]=linearrgb_to_srgb(value[2]);
value[2]=value[2]*255; /* scale to 0-255 range */
ivalue=(int)value[2];
break;
}
case 5: /* luminence */
{
- if(colorcor)
- linearrgb_to_srgb_v3_v3(&value[0],&value[0]);
rgb_to_yuv(value[0],value[1],value[2], &value[0], &value[1], &value[2]);
value[0]=value[0]*255; /* scale to 0-255 range */
ivalue=(int)value[0];
@@ -285,7 +275,6 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
{
CompBuf* cbuf;
CompBuf* histogram;
- RenderData *rd=data;
float mean, std_dev;
int bins[256];
int x;
@@ -302,7 +291,7 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
}
/*fill bins */
- fill_bins(node, in[0]->data, bins, rd->color_mgt_flag & R_COLOR_MANAGEMENT);
+ fill_bins(node, in[0]->data, bins);
/* draw the histogram chart */
draw_histogram(node, histogram, bins);
@@ -328,7 +317,7 @@ static void node_composit_exec_view_levels(void *data, bNode *node, bNodeStack *
free_compbuf(histogram);
}
-static void node_composit_init_view_levels(bNode* node)
+static void node_composit_init_view_levels(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1=1; /*All channels*/
}
@@ -337,8 +326,8 @@ void register_node_type_cmp_view_levels(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_OPTIONS|NODE_PREVIEW,
- cmp_node_view_levels_in, cmp_node_view_levels_out);
+ node_type_base(&ntype, CMP_NODE_VIEW_LEVELS, "Levels", NODE_CLASS_OUTPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_view_levels_in, cmp_node_view_levels_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_view_levels);
node_type_storage(&ntype, "ImageUser", NULL, NULL);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
index 34e58791932..cac2a386801 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c
+++ b/source/blender/nodes/composite/nodes/node_composite_lummaMatte.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_lummaMatte.c
+/** \file blender/nodes/composite/nodes/node_composite_lummaMatte.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* ******************* Luma Matte Node ********************************* */
-static bNodeSocketType cmp_node_luma_matte_in[]={
- {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_luma_matte_in[]={
+ {SOCK_RGBA,1,"Image", 0.8f, 0.8f, 0.8f, 1.0f},
{-1,0,""}
};
-static bNodeSocketType cmp_node_luma_matte_out[]={
- {SOCK_RGBA,0,"Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- {SOCK_VALUE,0,"Matte",0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_luma_matte_out[]={
+ {SOCK_RGBA,0,"Image"},
+ {SOCK_FLOAT,0,"Matte"},
{-1,0,""}
};
@@ -100,7 +100,7 @@ static void node_composit_exec_luma_matte(void *data, bNode *node, bNodeStack **
free_compbuf(cbuf);
}
-static void node_composit_init_luma_matte(bNode *node)
+static void node_composit_init_luma_matte(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeChroma *c= MEM_callocN(sizeof(NodeChroma), "node chroma");
node->storage=c;
@@ -112,8 +112,8 @@ void register_node_type_cmp_luma_matte(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_LUMA_MATTE, "Luminance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_luma_matte_in, cmp_node_luma_matte_out);
+ node_type_base(&ntype, CMP_NODE_LUMA_MATTE, "Luminance Key", NODE_CLASS_MATTE, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_luma_matte_in, cmp_node_luma_matte_out);
node_type_size(&ntype, 200, 80, 250);
node_type_init(&ntype, node_composit_init_luma_matte);
node_type_storage(&ntype, "NodeChroma", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c b/source/blender/nodes/composite/nodes/node_composite_mapUV.c
index 6b2c561b14a..b1cae62274b 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mapUV.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapUV.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mapUV.c
+/** \file blender/nodes/composite/nodes/node_composite_mapUV.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Map UV ******************** */
-static bNodeSocketType cmp_node_mapuv_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mapuv_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_VECTOR, 1, "UV", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_mapuv_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mapuv_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -168,8 +168,8 @@ void register_node_type_cmp_mapuv(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MAP_UV, "Map UV", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_mapuv_in, cmp_node_mapuv_out);
+ node_type_base(&ntype, CMP_NODE_MAP_UV, "Map UV", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_mapuv_in, cmp_node_mapuv_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_mapuv);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c b/source/blender/nodes/composite/nodes/node_composite_mapValue.c
index f14e0fbd804..95e0f3dadd1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mapValue.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mapValue.c
@@ -27,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mapValue.c
+/** \file blender/nodes/composite/nodes/node_composite_mapValue.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** MAP VALUE ******************** */
-static bNodeSocketType cmp_node_map_value_in[]= {
- { SOCK_VALUE, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_map_value_in[]= {
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_map_value_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_map_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -79,7 +79,7 @@ static void node_composit_exec_map_value(void *UNUSED(data), bNode *node, bNodeS
}
-static void node_composit_init_map_value(bNode* node)
+static void node_composit_init_map_value(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_mapping();
}
@@ -88,8 +88,8 @@ void register_node_type_cmp_map_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MAP_VALUE, "Map Value", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_map_value_in, cmp_node_map_value_out);
+ node_type_base(&ntype, CMP_NODE_MAP_VALUE, "Map Value", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_map_value_in, cmp_node_map_value_out);
node_type_size(&ntype, 100, 60, 150);
node_type_init(&ntype, node_composit_init_map_value);
node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_math.c b/source/blender/nodes/composite/nodes/node_composite_math.c
index 96fa13d99f0..a8a631bdbad 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_math.c
+++ b/source/blender/nodes/composite/nodes/node_composite_math.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_math.c
+/** \file blender/nodes/composite/nodes/node_composite_math.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType cmp_node_math_in[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_math_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -10000.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_math_out[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_math_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -144,8 +144,7 @@ static void do_math(bNode *node, float *out, float *in, float *in2)
if( in2[0] != 0.0f )
out[0]= floorf(in[0] / in2[0] + 0.5f) * in2[0];
else
- floorf(in[0] + 0.5f);
-
+ out[0]= floorf(in[0] + 0.5f);
}
break;
case 15: /* Less Than */
@@ -201,8 +200,8 @@ void register_node_type_cmp_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_math_in, cmp_node_math_out);
+ node_type_base(&ntype, CMP_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_math_in, cmp_node_math_out);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_exec(&ntype, node_composit_exec_math);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c b/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
index d2454b37c29..eaab24d628a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_mixrgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_mixrgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_mixrgb.c
+/** \file blender/nodes/composite/nodes/node_composite_mixrgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType cmp_node_mix_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 5.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mix_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 5.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_mix_rgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_mix_rgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -88,8 +88,8 @@ void register_node_type_cmp_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_mix_rgb_in, cmp_node_mix_rgb_out);
+ node_type_base(&ntype, CMP_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_mix_rgb_in, cmp_node_mix_rgb_out);
node_type_size(&ntype, 110, 60, 120);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, node_composit_exec_mix_rgb);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c b/source/blender/nodes/composite/nodes/node_composite_normal.c
index f53d3041947..adf087019dc 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_normal.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normal.c
@@ -27,30 +27,30 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_normal.c
+/** \file blender/nodes/composite/nodes/node_composite_normal.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** NORMAL ******************** */
-static bNodeSocketType cmp_node_normal_in[]= {
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normal_in[]= {
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_normal_out[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VALUE, 0, "Dot", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normal_out[]= {
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_FLOAT, 0, "Dot"},
{ -1, 0, "" }
};
static void do_normal(bNode *node, float *out, float *in)
{
bNodeSocket *sock= node->outputs.first;
- float *nor= sock->ns.vec;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
/* render normals point inside... the widget points outside */
out[0]= -INPR(nor, in);
@@ -60,12 +60,13 @@ static void do_normal(bNode *node, float *out, float *in)
static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
/* stack order input: normal */
/* stack order output: normal, value */
/* input no image? then only vector op */
if(in[0]->data==NULL) {
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, nor);
/* render normals point inside... the widget points outside */
out[1]->vec[0]= -INPR(out[0]->vec, in[0]->vec);
}
@@ -82,12 +83,23 @@ static void node_composit_exec_normal(void *UNUSED(data), bNode *node, bNodeStac
}
+static void init(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ float *nor= ((bNodeSocketValueVector*)sock->default_value)->value;
+
+ nor[0] = 0.0f;
+ nor[1] = 0.0f;
+ nor[2] = 1.0f;
+}
+
void register_node_type_cmp_normal(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_normal_in, cmp_node_normal_out);
+ node_type_base(&ntype, CMP_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_normal_in, cmp_node_normal_out);
+ node_type_init(&ntype, init);
node_type_size(&ntype, 100, 60, 200);
node_type_exec(&ntype, node_composit_exec_normal);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_normalize.c b/source/blender/nodes/composite/nodes/node_composite_normalize.c
index 22ebd924f09..3a913b1a0a2 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_normalize.c
+++ b/source/blender/nodes/composite/nodes/node_composite_normalize.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_normalize.c
+/** \file blender/nodes/composite/nodes/node_composite_normalize.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** NORMALIZE single channel, useful for Z buffer ******************** */
-static bNodeSocketType cmp_node_normalize_in[]= {
- { SOCK_VALUE, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normalize_in[]= {
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_normalize_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_normalize_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -107,8 +107,8 @@ void register_node_type_cmp_normalize(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_NORMALIZE, "Normalize", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- cmp_node_normalize_in, cmp_node_normalize_out);
+ node_type_base(&ntype, CMP_NODE_NORMALIZE, "Normalize", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_normalize_in, cmp_node_normalize_out);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, node_composit_exec_normalize);
node_type_storage(&ntype, "TexMapping", NULL, NULL);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c b/source/blender/nodes/composite/nodes/node_composite_outputFile.c
index 1d52e694ea9..20203f66b5a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_outputFile.c
+++ b/source/blender/nodes/composite/nodes/node_composite_outputFile.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_outputFile.c
+/** \file blender/nodes/composite/nodes/node_composite_outputFile.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** OUTPUT FILE ******************** */
-static bNodeSocketType cmp_node_output_file_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_output_file_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
@@ -93,7 +93,7 @@ static void node_composit_exec_output_file(void *data, bNode *node, bNodeStack *
}
}
-static void node_composit_init_output_file(bNode *node)
+static void node_composit_init_output_file(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
Scene *scene= (Scene *)node->id;
NodeImageFile *nif= MEM_callocN(sizeof(NodeImageFile), "node image file");
@@ -113,8 +113,8 @@ void register_node_type_cmp_output_file(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_output_file_in, NULL);
+ node_type_base(&ntype, CMP_NODE_OUTPUT_FILE, "File Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_output_file_in, NULL);
node_type_size(&ntype, 140, 80, 300);
node_type_init(&ntype, node_composit_init_output_file);
node_type_storage(&ntype, "NodeImageFile", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c b/source/blender/nodes/composite/nodes/node_composite_premulkey.c
index 15d2ac25180..a3f958e04d9 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_premulkey.c
+++ b/source/blender/nodes/composite/nodes/node_composite_premulkey.c
@@ -28,21 +28,21 @@
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_premulkey.c
+/** \file blender/nodes/composite/nodes/node_composite_premulkey.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Premul and Key Alpha Convert ******************** */
-static bNodeSocketType cmp_node_premulkey_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_premulkey_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_premulkey_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_premulkey_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -67,8 +67,8 @@ void register_node_type_cmp_premulkey(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_premulkey_in, cmp_node_premulkey_out);
+ node_type_base(&ntype, CMP_NODE_PREMULKEY, "Alpha Convert", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_premulkey_in, cmp_node_premulkey_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_premulkey);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c b/source/blender/nodes/composite/nodes/node_composite_rgb.c
index 36b7988c4e0..b9287a4978e 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rgb.c
@@ -27,33 +27,46 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_rgb.c
+/** \file blender/nodes/composite/nodes/node_composite_rgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** RGB ******************** */
-static bNodeSocketType cmp_node_rgb_out[]= {
- { SOCK_RGBA, 0, "RGBA", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rgb_out[]= {
+ { SOCK_RGBA, 0, "RGBA", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
+static void node_composit_init_rgb(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
+ /* uses the default value of the output socket, must be initialized here */
+ col[0] = 0.5f;
+ col[1] = 0.5f;
+ col[2] = 0.5f;
+ col[3] = 1.0f;
+}
+
static void node_composit_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
- QUATCOPY(out[0]->vec, sock->ns.vec);
+ QUATCOPY(out[0]->vec, col);
}
void register_node_type_cmp_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_rgb_out);
+ node_type_base(&ntype, CMP_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_rgb_out);
+ node_type_init(&ntype, node_composit_init_rgb);
node_type_size(&ntype, 140, 80, 140);
node_type_exec(&ntype, node_composit_exec_rgb);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c b/source/blender/nodes/composite/nodes/node_composite_rotate.c
index b6b1764ff0f..2bbb77cd1da 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_rotate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_rotate.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_rotate.c
+/** \file blender/nodes/composite/nodes/node_composite_rotate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Rotate ******************** */
-static bNodeSocketType cmp_node_rotate_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Degr", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_rotate_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Degr", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_ANGLE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_rotate_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rotate_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -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;
}
}
@@ -121,7 +122,7 @@ static void node_composit_exec_rotate(void *UNUSED(data), bNode *node, bNodeStac
}
}
-static void node_composit_init_rotate(bNode *node)
+static void node_composit_init_rotate(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1; /* Bilinear Filter*/
}
@@ -130,8 +131,8 @@ void register_node_type_cmp_rotate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_rotate_in, cmp_node_rotate_out);
+ node_type_base(&ntype, CMP_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_rotate_in, cmp_node_rotate_out);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_rotate);
node_type_exec(&ntype, node_composit_exec_rotate);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c b/source/blender/nodes/composite/nodes/node_composite_scale.c
index b6030cc5a5f..b6ad36f957f 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_scale.c
+++ b/source/blender/nodes/composite/nodes/node_composite_scale.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_scale.c
+/** \file blender/nodes/composite/nodes/node_composite_scale.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Scale ******************** */
#define CMP_SCALE_MAX 12000
-static bNodeSocketType cmp_node_scale_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX},
- { SOCK_VALUE, 1, "Y", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX},
+static bNodeSocketTemplate cmp_node_scale_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "X", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Y", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, CMP_SCALE_MAX, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_scale_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_scale_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -118,8 +118,8 @@ void register_node_type_cmp_scale(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_scale_in, cmp_node_scale_out);
+ node_type_base(&ntype, CMP_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_scale_in, cmp_node_scale_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_scale);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
index 87c4ed1dac0..6b1813d2142 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombHSVA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombHSVA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE HSVA ******************** */
-static bNodeSocketType cmp_node_sephsva_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sephsva_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sephsva_out[]= {
- { SOCK_VALUE, 0, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sephsva_out[]= {
+ { SOCK_FLOAT, 0, "H"},
+ { SOCK_FLOAT, 0, "S"},
+ { SOCK_FLOAT, 0, "V"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -105,8 +105,8 @@ void register_node_type_cmp_sephsva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_sephsva_in, cmp_node_sephsva_out);
+ node_type_base(&ntype, CMP_NODE_SEPHSVA, "Separate HSVA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_sephsva_in, cmp_node_sephsva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sephsva);
@@ -115,15 +115,15 @@ void register_node_type_cmp_sephsva(ListBase *lb)
/* **************** COMBINE HSVA ******************** */
-static bNodeSocketType cmp_node_combhsva_in[]= {
- { SOCK_VALUE, 1, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combhsva_in[]= {
+ { SOCK_FLOAT, 1, "H", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "S", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combhsva_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combhsva_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -175,8 +175,8 @@ void register_node_type_cmp_combhsva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combhsva_in, cmp_node_combhsva_out);
+ node_type_base(&ntype, CMP_NODE_COMBHSVA, "Combine HSVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combhsva_in, cmp_node_combhsva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combhsva);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
index 11afd1eaaef..a60f6b81c95 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombRGBA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombRGBA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE RGBA ******************** */
-static bNodeSocketType cmp_node_seprgba_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_seprgba_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_seprgba_out[]= {
- { SOCK_VALUE, 0, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_seprgba_out[]= {
+ { SOCK_FLOAT, 0, "R"},
+ { SOCK_FLOAT, 0, "G"},
+ { SOCK_FLOAT, 0, "B"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -83,8 +83,8 @@ void register_node_type_cmp_seprgba(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_seprgba_in, cmp_node_seprgba_out);
+ node_type_base(&ntype, CMP_NODE_SEPRGBA, "Separate RGBA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_seprgba_in, cmp_node_seprgba_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_seprgba);
@@ -94,15 +94,15 @@ void register_node_type_cmp_seprgba(ListBase *lb)
/* **************** COMBINE RGBA ******************** */
-static bNodeSocketType cmp_node_combrgba_in[]= {
- { SOCK_VALUE, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combrgba_in[]= {
+ { SOCK_FLOAT, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combrgba_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combrgba_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -151,8 +151,8 @@ void register_node_type_cmp_combrgba(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combrgba_in, cmp_node_combrgba_out);
+ node_type_base(&ntype, CMP_NODE_COMBRGBA, "Combine RGBA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combrgba_in, cmp_node_combrgba_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combrgba);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
index 81591602dae..5e042f54fb0 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombYCCA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombYCCA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE YCCA ******************** */
-static bNodeSocketType cmp_node_sepycca_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepycca_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sepycca_out[]= {
- { SOCK_VALUE, 0, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Cb", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Cr", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepycca_out[]= {
+ { SOCK_FLOAT, 0, "Y"},
+ { SOCK_FLOAT, 0, "Cb"},
+ { SOCK_FLOAT, 0, "Cr"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -154,8 +154,8 @@ void register_node_type_cmp_sepycca(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_sepycca_in, cmp_node_sepycca_out);
+ node_type_base(&ntype, CMP_NODE_SEPYCCA, "Separate YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_sepycca_in, cmp_node_sepycca_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sepycca);
@@ -165,15 +165,15 @@ void register_node_type_cmp_sepycca(ListBase *lb)
/* **************** COMBINE YCCA ******************** */
-static bNodeSocketType cmp_node_combycca_in[]= {
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Cb", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Cr", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combycca_in[]= {
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Cb", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Cr", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combycca_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combycca_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -301,8 +301,8 @@ void register_node_type_cmp_combycca(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combycca_in, cmp_node_combycca_out);
+ node_type_base(&ntype, CMP_NODE_COMBYCCA, "Combine YCbCrA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combycca_in, cmp_node_combycca_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combycca);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
index 8687e307df3..70bc36a020d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c
+++ b/source/blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_sepcombYUVA.c
+/** \file blender/nodes/composite/nodes/node_composite_sepcombYUVA.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SEPARATE YUVA ******************** */
-static bNodeSocketType cmp_node_sepyuva_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepyuva_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_sepyuva_out[]= {
- { SOCK_VALUE, 0, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "A", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_sepyuva_out[]= {
+ { SOCK_FLOAT, 0, "Y"},
+ { SOCK_FLOAT, 0, "U"},
+ { SOCK_FLOAT, 0, "V"},
+ { SOCK_FLOAT, 0, "A"},
{ -1, 0, "" }
};
@@ -105,8 +105,8 @@ void register_node_type_cmp_sepyuva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTOR, 0,
- cmp_node_sepyuva_in, cmp_node_sepyuva_out);
+ node_type_base(&ntype, CMP_NODE_SEPYUVA, "Separate YUVA", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_sepyuva_in, cmp_node_sepyuva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_sepyuva);
@@ -116,15 +116,15 @@ void register_node_type_cmp_sepyuva(ListBase *lb)
/* **************** COMBINE YUVA ******************** */
-static bNodeSocketType cmp_node_combyuva_in[]= {
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combyuva_in[]= {
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "U", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "V", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "A", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_combyuva_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_combyuva_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -176,8 +176,8 @@ void register_node_type_cmp_combyuva(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_combyuva_in, cmp_node_combyuva_out);
+ node_type_base(&ntype, CMP_NODE_COMBYUVA, "Combine YUVA", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_combyuva_in, cmp_node_combyuva_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_composit_exec_combyuva);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c b/source/blender/nodes/composite/nodes/node_composite_setalpha.c
index bb8533a79f6..8264d4d4dea 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_setalpha.c
+++ b/source/blender/nodes/composite/nodes/node_composite_setalpha.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_setalpha.c
+/** \file blender/nodes/composite/nodes/node_composite_setalpha.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SET ALPHA ******************** */
-static bNodeSocketType cmp_node_setalpha_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_setalpha_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_setalpha_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_setalpha_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -79,8 +79,8 @@ void register_node_type_cmp_setalpha(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_setalpha_in, cmp_node_setalpha_out);
+ node_type_base(&ntype, CMP_NODE_SETALPHA, "Set Alpha", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_setalpha_in, cmp_node_setalpha_out);
node_type_size(&ntype, 120, 40, 140);
node_type_exec(&ntype, node_composit_exec_setalpha);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c b/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
index 13cb3bcfed5..e73caa542b7 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_splitViewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_splitViewer.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_splitViewer.c
+/** \file blender/nodes/composite/nodes/node_composite_splitViewer.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** SPLIT VIEWER ******************** */
-static bNodeSocketType cmp_node_splitviewer_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_splitviewer_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -141,7 +141,7 @@ static void node_composit_exec_splitviewer(void *data, bNode *node, bNodeStack *
}
}
-static void node_composit_init_splitviewer(bNode* node)
+static void node_composit_init_splitviewer(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -155,8 +155,8 @@ void register_node_type_cmp_splitviewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_SPLITVIEWER, "SplitViewer", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- cmp_node_splitviewer_in, NULL);
+ node_type_base(&ntype, CMP_NODE_SPLITVIEWER, "SplitViewer", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_splitviewer_in, NULL);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, node_composit_init_splitviewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c b/source/blender/nodes/composite/nodes/node_composite_texture.c
index 46e71b8b8e5..1dbbd56d2f1 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_texture.c
+++ b/source/blender/nodes/composite/nodes/node_composite_texture.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_texture.c
+/** \file blender/nodes/composite/nodes/node_composite_texture.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** TEXTURE ******************** */
-static bNodeSocketType cmp_node_texture_in[]= {
- { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f},
- { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 1.0f, -10.0f, 10.0f},
+static bNodeSocketTemplate cmp_node_texture_in[]= {
+ { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_TRANSLATION},
+ { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 1.0f, -10.0f, 10.0f, PROP_XYZ},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_texture_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA , 0, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_texture_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
+ { SOCK_RGBA , 0, "Color"},
{ -1, 0, "" }
};
@@ -148,8 +148,8 @@ void register_node_type_cmp_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- cmp_node_texture_in, cmp_node_texture_out);
+ node_type_base(&ntype, CMP_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_texture_in, cmp_node_texture_out);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, node_composit_exec_texture);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c b/source/blender/nodes/composite/nodes/node_composite_tonemap.c
index f15811ec790..ba2dc9c5c79 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_tonemap.c
+++ b/source/blender/nodes/composite/nodes/node_composite_tonemap.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_tonemap.c
+/** \file blender/nodes/composite/nodes/node_composite_tonemap.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
-static bNodeSocketType cmp_node_tonemap_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_tonemap_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_tonemap_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_tonemap_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -147,7 +148,7 @@ static void node_composit_exec_tonemap(void *UNUSED(data), bNode *node, bNodeSta
free_compbuf(img);
}
-static void node_composit_init_tonemap(bNode* node)
+static void node_composit_init_tonemap(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeTonemap *ntm = MEM_callocN(sizeof(NodeTonemap), "node tonemap data");
ntm->type = 1;
@@ -167,8 +168,8 @@ void register_node_type_cmp_tonemap(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_tonemap_in, cmp_node_tonemap_out);
+ node_type_base(&ntype, CMP_NODE_TONEMAP, "Tonemap", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_tonemap_in, cmp_node_tonemap_out);
node_type_size(&ntype, 150, 120, 200);
node_type_init(&ntype, node_composit_init_tonemap);
node_type_storage(&ntype, "NodeTonemap", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c b/source/blender/nodes/composite/nodes/node_composite_translate.c
index eb69523e7a9..872667a4e17 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_translate.c
+++ b/source/blender/nodes/composite/nodes/node_composite_translate.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_translate.c
+/** \file blender/nodes/composite/nodes/node_composite_translate.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Translate ******************** */
-static bNodeSocketType cmp_node_translate_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "X", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
- { SOCK_VALUE, 1, "Y", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_translate_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "X", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Y", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_translate_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_translate_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -65,8 +65,8 @@ void register_node_type_cmp_translate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- cmp_node_translate_in, cmp_node_translate_out);
+ node_type_base(&ntype, CMP_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_translate_in, cmp_node_translate_out);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, node_composit_exec_translate);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c b/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
index 1e1c8c61b46..edd315e5a92 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_valToRgb.c
+++ b/source/blender/nodes/composite/nodes/node_composite_valToRgb.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_valToRgb.c
+/** \file blender/nodes/composite/nodes/node_composite_valToRgb.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType cmp_node_valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_valtorgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -80,7 +80,7 @@ static void node_composit_exec_valtorgb(void *UNUSED(data), bNode *node, bNodeSt
}
}
-static void node_composit_init_valtorgb(bNode* node)
+static void node_composit_init_valtorgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_colorband(1);
}
@@ -89,8 +89,8 @@ void register_node_type_cmp_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- cmp_node_valtorgb_in, cmp_node_valtorgb_out);
+ node_type_base(&ntype, CMP_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_valtorgb_in, cmp_node_valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, node_composit_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -102,12 +102,12 @@ void register_node_type_cmp_valtorgb(ListBase *lb)
/* **************** RGBTOBW ******************** */
-static bNodeSocketType cmp_node_rgbtobw_in[]= {
+static bNodeSocketTemplate cmp_node_rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -143,8 +143,8 @@ void register_node_type_cmp_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
+ node_type_base(&ntype, CMP_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, cmp_node_rgbtobw_in, cmp_node_rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_rgbtobw);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_value.c b/source/blender/nodes/composite/nodes/node_composite_value.c
index 46762065bb4..0bb558cfa9d 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_value.c
+++ b/source/blender/nodes/composite/nodes/node_composite_value.c
@@ -27,32 +27,42 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_value.c
+/** \file blender/nodes/composite/nodes/node_composite_value.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VALUE ******************** */
-static bNodeSocketType cmp_node_value_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
+static void node_composit_init_value(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value = 0.5f;
+}
+
static void node_composit_exec_value(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float val= ((bNodeSocketValueFloat*)sock->default_value)->value;
- out[0]->vec[0]= sock->ns.vec[0];
+ out[0]->vec[0]= val;
}
void register_node_type_cmp_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, cmp_node_value_out);
+ node_type_base(&ntype, CMP_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, cmp_node_value_out);
+ node_type_init(&ntype, node_composit_init_value);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_value);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c b/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
index c43bfa2435a..26fcffa93ac 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_vecBlur.c
+++ b/source/blender/nodes/composite/nodes/node_composite_vecBlur.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_vecBlur.c
+/** \file blender/nodes/composite/nodes/node_composite_vecBlur.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VECTOR BLUR ******************** */
-static bNodeSocketType cmp_node_vecblur_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Speed", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_vecblur_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_VECTOR, 1, "Speed", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_VELOCITY},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_vecblur_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_vecblur_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -87,7 +87,7 @@ static void node_composit_exec_vecblur(void *UNUSED(data), bNode *node, bNodeSta
free_compbuf(img);
}
-static void node_composit_init_vecblur(bNode* node)
+static void node_composit_init_vecblur(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
NodeBlurData *nbd= MEM_callocN(sizeof(NodeBlurData), "node blur data");
node->storage= nbd;
@@ -100,8 +100,8 @@ void register_node_type_cmp_vecblur(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VECBLUR, "Vector Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS,
- cmp_node_vecblur_in, cmp_node_vecblur_out);
+ node_type_base(&ntype, CMP_NODE_VECBLUR, "Vector Blur", NODE_CLASS_OP_FILTER, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_vecblur_in, cmp_node_vecblur_out);
node_type_size(&ntype, 120, 80, 200);
node_type_init(&ntype, node_composit_init_vecblur);
node_type_storage(&ntype, "NodeBlurData", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c b/source/blender/nodes/composite/nodes/node_composite_viewer.c
index c4e719efbf9..8b052c5db35 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_viewer.c
+++ b/source/blender/nodes/composite/nodes/node_composite_viewer.c
@@ -27,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_viewer.c
+/** \file blender/nodes/composite/nodes/node_composite_viewer.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** VIEWER ******************** */
-static bNodeSocketType cmp_node_viewer_in[]= {
- { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate cmp_node_viewer_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Z", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
@@ -124,7 +124,7 @@ static void node_composit_exec_viewer(void *data, bNode *node, bNodeStack **in,
}
}
-static void node_composit_init_viewer(bNode* node)
+static void node_composit_init_viewer(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -137,8 +137,8 @@ void register_node_type_cmp_viewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- cmp_node_viewer_in, NULL);
+ node_type_base(&ntype, CMP_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, cmp_node_viewer_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_init(&ntype, node_composit_init_viewer);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
@@ -146,5 +146,3 @@ void register_node_type_cmp_viewer(ListBase *lb)
nodeRegisterType(lb, &ntype);
}
-
-
diff --git a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c b/source/blender/nodes/composite/nodes/node_composite_zcombine.c
index 0fae0fcd4d5..220b770198a 100644
--- a/source/blender/nodes/intern/CMP_nodes/CMP_zcombine.c
+++ b/source/blender/nodes/composite/nodes/node_composite_zcombine.c
@@ -27,26 +27,26 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/CMP_nodes/CMP_zcombine.c
+/** \file blender/nodes/composite/nodes/node_composite_zcombine.c
* \ingroup cmpnodes
*/
-#include "../CMP_util.h"
+#include "node_composite_util.h"
/* **************** Z COMBINE ******************** */
/* lazy coder note: node->custom2 is abused to send signal */
-static bNodeSocketType cmp_node_zcombine_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_zcombine_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
+ { SOCK_FLOAT, 1, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType cmp_node_zcombine_out[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Z", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 10000.0f},
+static bNodeSocketTemplate cmp_node_zcombine_out[]= {
+ { SOCK_RGBA, 0, "Image"},
+ { SOCK_FLOAT, 0, "Z"},
{ -1, 0, "" }
};
@@ -228,8 +228,8 @@ void register_node_type_cmp_zcombine(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- cmp_node_zcombine_in, cmp_node_zcombine_out);
+ node_type_base(&ntype, CMP_NODE_ZCOMBINE, "Z Combine", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, cmp_node_zcombine_in, cmp_node_zcombine_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_composit_exec_zcombine);
diff --git a/source/blender/nodes/intern/SHD_util.c b/source/blender/nodes/intern/SHD_util.c
deleted file mode 100644
index cf7c64c9d5e..00000000000
--- a/source/blender/nodes/intern/SHD_util.c
+++ /dev/null
@@ -1,214 +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) 2005 Blender Foundation.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file blender/nodes/intern/SHD_util.c
- * \ingroup nodes
- */
-
-
-#include "SHD_util.h"
-
-
-
-
-
-/* ****** */
-
-void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
-{
- float *from= ns->vec;
-
- if(type_in==SOCK_VALUE) {
- if(ns->sockettype==SOCK_VALUE)
- *in= *from;
- else
- *in= 0.333333f*(from[0]+from[1]+from[2]);
- }
- else if(type_in==SOCK_VECTOR) {
- if(ns->sockettype==SOCK_VALUE) {
- in[0]= from[0];
- in[1]= from[0];
- in[2]= from[0];
- }
- else {
- VECCOPY(in, from);
- }
- }
- else { /* type_in==SOCK_RGBA */
- if(ns->sockettype==SOCK_RGBA) {
- QUATCOPY(in, from);
- }
- else if(ns->sockettype==SOCK_VALUE) {
- in[0]= from[0];
- in[1]= from[0];
- in[2]= from[0];
- in[3]= 1.0f;
- }
- else {
- VECCOPY(in, from);
- in[3]= 1.0f;
- }
- }
-}
-
-
-/* ******************* execute and parse ************ */
-
-void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
-{
- ShaderCallData scd;
-
- /* convert caller data to struct */
- scd.shi= shi;
- scd.shr= shr;
-
- /* each material node has own local shaderesult, with optional copying */
- memset(shr, 0, sizeof(ShadeResult));
-
- ntreeExecTree(ntree, &scd, shi->thread); /* threads */
-
- /* 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;
- if(shr->combined[2]<0.0f) shr->combined[2]= 0.0f;
-
-}
-
-/* go over all used Geometry and Texture nodes, and return a texco flag */
-/* no group inside needed, this function is called for groups too */
-void ntreeShaderGetTexcoMode(bNodeTree *ntree, int r_mode, short *texco, int *mode)
-{
- bNode *node;
- bNodeSocket *sock;
- int a;
-
- ntreeSocketUseFlags(ntree);
-
- for(node= ntree->nodes.first; node; node= node->next) {
- if(node->type==SH_NODE_TEXTURE) {
- if((r_mode & R_OSA) && node->id) {
- Tex *tex= (Tex *)node->id;
- if ELEM3(tex->type, TEX_IMAGE, TEX_PLUGIN, TEX_ENVMAP)
- *texco |= TEXCO_OSA|NEED_UV;
- }
- /* usability exception... without input we still give the node orcos */
- sock= node->inputs.first;
- if(sock==NULL || sock->link==NULL)
- *texco |= TEXCO_ORCO|NEED_UV;
- }
- else if(node->type==SH_NODE_GEOMETRY) {
- /* note; sockets always exist for the given type! */
- for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
- if(sock->flag & SOCK_IN_USE) {
- switch(a) {
- case GEOM_OUT_GLOB:
- *texco |= TEXCO_GLOB|NEED_UV; break;
- case GEOM_OUT_VIEW:
- *texco |= TEXCO_VIEW|NEED_UV; break;
- case GEOM_OUT_ORCO:
- *texco |= TEXCO_ORCO|NEED_UV; break;
- case GEOM_OUT_UV:
- *texco |= TEXCO_UV|NEED_UV; break;
- case GEOM_OUT_NORMAL:
- *texco |= TEXCO_NORM|NEED_UV; break;
- case GEOM_OUT_VCOL:
- *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break;
- }
- }
- }
- }
- }
-}
-
-/* nodes that use ID data get synced with local data */
-void nodeShaderSynchronizeID(bNode *node, int copyto)
-{
- if(node->id==NULL) return;
-
- if(ELEM(node->type, SH_NODE_MATERIAL, SH_NODE_MATERIAL_EXT)) {
- bNodeSocket *sock;
- Material *ma= (Material *)node->id;
- int a;
-
- /* hrmf, case in loop isnt super fast, but we dont edit 100s of material at same time either! */
- for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
- if(!(sock->flag & SOCK_HIDDEN)) {
- if(copyto) {
- switch(a) {
- case MAT_IN_COLOR:
- VECCOPY(&ma->r, sock->ns.vec); break;
- case MAT_IN_SPEC:
- VECCOPY(&ma->specr, sock->ns.vec); break;
- case MAT_IN_REFL:
- ma->ref= sock->ns.vec[0]; break;
- case MAT_IN_MIR:
- VECCOPY(&ma->mirr, sock->ns.vec); break;
- case MAT_IN_AMB:
- ma->amb= sock->ns.vec[0]; break;
- case MAT_IN_EMIT:
- ma->emit= sock->ns.vec[0]; break;
- case MAT_IN_SPECTRA:
- ma->spectra= sock->ns.vec[0]; break;
- case MAT_IN_RAY_MIRROR:
- ma->ray_mirror= sock->ns.vec[0]; break;
- case MAT_IN_ALPHA:
- ma->alpha= sock->ns.vec[0]; break;
- case MAT_IN_TRANSLUCENCY:
- ma->translucency= sock->ns.vec[0]; break;
- }
- }
- else {
- switch(a) {
- case MAT_IN_COLOR:
- VECCOPY(sock->ns.vec, &ma->r); break;
- case MAT_IN_SPEC:
- VECCOPY(sock->ns.vec, &ma->specr); break;
- case MAT_IN_REFL:
- sock->ns.vec[0]= ma->ref; break;
- case MAT_IN_MIR:
- VECCOPY(sock->ns.vec, &ma->mirr); break;
- case MAT_IN_AMB:
- sock->ns.vec[0]= ma->amb; break;
- case MAT_IN_EMIT:
- sock->ns.vec[0]= ma->emit; break;
- case MAT_IN_SPECTRA:
- sock->ns.vec[0]= ma->spectra; break;
- case MAT_IN_RAY_MIRROR:
- sock->ns.vec[0]= ma->ray_mirror; break;
- case MAT_IN_ALPHA:
- sock->ns.vec[0]= ma->alpha; break;
- case MAT_IN_TRANSLUCENCY:
- sock->ns.vec[0]= ma->translucency; break;
- }
- }
- }
- }
- }
-
-}
diff --git a/source/blender/nodes/intern/node_common.c b/source/blender/nodes/intern/node_common.c
new file mode 100644
index 00000000000..07f3eb943cc
--- /dev/null
+++ b/source/blender/nodes/intern/node_common.c
@@ -0,0 +1,983 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_common.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_action_types.h"
+#include "DNA_anim_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_string.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_action.h"
+#include "BKE_animsys.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
+#include "BLI_math.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "RNA_access.h"
+#include "RNA_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "node_common.h"
+#include "node_exec.h"
+#include "NOD_socket.h"
+
+/**** Group ****/
+
+bNodeSocket *node_group_find_input(bNode *gnode, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+ for (sock=gnode->inputs.first; sock; sock=sock->next)
+ if (sock->groupsock == gsock)
+ return sock;
+ return NULL;
+}
+
+bNodeSocket *node_group_find_output(bNode *gnode, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+ for (sock=gnode->outputs.first; sock; sock=sock->next)
+ if (sock->groupsock == gsock)
+ return sock;
+ return NULL;
+}
+
+bNodeSocket *node_group_add_extern_socket(bNodeTree *UNUSED(ntree), ListBase *lb, int in_out, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+
+ if (gsock->flag & SOCK_INTERNAL)
+ return NULL;
+
+ sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+
+ /* make a copy of the group socket */
+ *sock = *gsock;
+ sock->link = NULL;
+ sock->next = sock->prev = NULL;
+ sock->new_sock = NULL;
+
+ /* group sockets are dynamically added */
+ sock->flag |= SOCK_DYNAMIC;
+
+ sock->own_index = gsock->own_index;
+ sock->groupsock = gsock;
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+
+ if (gsock->default_value)
+ sock->default_value = MEM_dupallocN(gsock->default_value);
+
+ if(lb)
+ BLI_addtail(lb, sock);
+
+ return sock;
+}
+
+bNode *node_group_make_from_selected(bNodeTree *ntree)
+{
+ bNodeLink *link, *linkn;
+ bNode *node, *gnode, *nextn;
+ bNodeTree *ngroup;
+ bNodeSocket *gsock;
+ ListBase anim_basepaths = {NULL, NULL};
+ float min[2], max[2];
+ int totnode=0;
+ bNodeTemplate ntemp;
+
+ INIT_MINMAX2(min, max);
+
+ /* is there something to group? also do some clearing */
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->flag & NODE_SELECT) {
+ /* no groups in groups */
+ if(node->type==NODE_GROUP)
+ return NULL;
+ DO_MINMAX2( (&node->locx), min, max);
+ totnode++;
+ }
+ node->done= 0;
+ }
+ if(totnode==0) return NULL;
+
+ /* check if all connections are OK, no unselected node has both
+ inputs and outputs to a selection */
+ for(link= ntree->links.first; link; link= link->next) {
+ if(link->fromnode && link->tonode && link->fromnode->flag & NODE_SELECT)
+ link->tonode->done |= 1;
+ if(link->fromnode && link->tonode && link->tonode->flag & NODE_SELECT)
+ link->fromnode->done |= 2;
+ }
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if((node->flag & NODE_SELECT)==0)
+ if(node->done==3)
+ break;
+ }
+ if(node)
+ return NULL;
+
+ /* OK! new nodetree */
+ ngroup= ntreeAddTree("NodeGroup", ntree->type, NODE_GROUP);
+
+ /* move nodes over */
+ for(node= ntree->nodes.first; node; node= nextn) {
+ nextn= node->next;
+ if(node->flag & NODE_SELECT) {
+ /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (ntree->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&ntree->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* change node-collection membership */
+ BLI_remlink(&ntree->nodes, node);
+ BLI_addtail(&ngroup->nodes, node);
+
+ node->locx-= 0.5f*(min[0]+max[0]);
+ node->locy-= 0.5f*(min[1]+max[1]);
+ }
+ }
+
+ /* move animation data over */
+ if (ntree->adt) {
+ LinkData *ld, *ldn=NULL;
+
+ BKE_animdata_separate_by_basepath(&ntree->id, &ngroup->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+ }
+
+ /* make group node */
+ ntemp.type = NODE_GROUP;
+ ntemp.ngroup = ngroup;
+ gnode= nodeAddNode(ntree, &ntemp);
+ gnode->locx= 0.5f*(min[0]+max[0]);
+ gnode->locy= 0.5f*(min[1]+max[1]);
+
+ /* relink external sockets */
+ for(link= ntree->links.first; link; link= linkn) {
+ linkn= link->next;
+
+ if(link->fromnode && link->tonode && (link->fromnode->flag & link->tonode->flag & NODE_SELECT)) {
+ BLI_remlink(&ntree->links, link);
+ BLI_addtail(&ngroup->links, link);
+ }
+ else if(link->tonode && (link->tonode->flag & NODE_SELECT)) {
+ gsock = node_group_expose_socket(ngroup, link->tosock, SOCK_IN);
+ link->tosock->link = nodeAddLink(ngroup, NULL, gsock, link->tonode, link->tosock);
+ link->tosock = node_group_add_extern_socket(ntree, &gnode->inputs, SOCK_IN, gsock);
+ link->tonode = gnode;
+ }
+ else if(link->fromnode && (link->fromnode->flag & NODE_SELECT)) {
+ /* search for existing group node socket */
+ for (gsock=ngroup->outputs.first; gsock; gsock=gsock->next)
+ if (gsock->link && gsock->link->fromsock==link->fromsock)
+ break;
+ if (!gsock) {
+ gsock = node_group_expose_socket(ngroup, link->fromsock, SOCK_OUT);
+ gsock->link = nodeAddLink(ngroup, link->fromnode, link->fromsock, NULL, gsock);
+ link->fromsock = node_group_add_extern_socket(ntree, &gnode->outputs, SOCK_OUT, gsock);
+ }
+ else
+ link->fromsock = node_group_find_output(gnode, gsock);
+ link->fromnode = gnode;
+ }
+ }
+
+ ngroup->update |= NTREE_UPDATE;
+ ntreeUpdateTree(ngroup);
+ ntree->update |= NTREE_UPDATE_NODES|NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+
+ return gnode;
+}
+
+/* XXX This is a makeshift function to have useful initial group socket values.
+ * In the end this should be implemented by a flexible socket data conversion system,
+ * which is yet to be implemented. The idea is that beside default standard conversions,
+ * such as int-to-float, it should be possible to quickly select a conversion method or
+ * a chain of conversions for each input, whenever there is more than one option.
+ * E.g. a vector-to-float conversion could use either of the x/y/z components or
+ * the vector length.
+ *
+ * In the interface this could be implemented by a pseudo-script textbox on linked inputs,
+ * with quick selection from a predefined list of conversion options. Some Examples:
+ * - vector component 'z' (vector->float): "z"
+ * - greyscale color (float->color): "grey"
+ * - color luminance (color->float): "lum"
+ * - matrix column 2 length (matrix->vector->float): "col[1].len"
+ * - mesh vertex coordinate 'y' (mesh->vertex->vector->float): "vertex.co.y"
+ *
+ * The actual conversion is then done by a series of conversion functions,
+ * which are defined in the socket type structs.
+ */
+static void convert_socket_value(bNodeSocket *from, bNodeSocket *to)
+{
+ /* XXX only one of these pointers is valid! just putting them here for convenience */
+ bNodeSocketValueFloat *fromfloat= (bNodeSocketValueFloat*)from->default_value;
+ bNodeSocketValueInt *fromint= (bNodeSocketValueInt*)from->default_value;
+ bNodeSocketValueBoolean *frombool= (bNodeSocketValueBoolean*)from->default_value;
+ bNodeSocketValueVector *fromvector= (bNodeSocketValueVector*)from->default_value;
+ bNodeSocketValueRGBA *fromrgba= (bNodeSocketValueRGBA*)from->default_value;
+
+ bNodeSocketValueFloat *tofloat= (bNodeSocketValueFloat*)to->default_value;
+ bNodeSocketValueInt *toint= (bNodeSocketValueInt*)to->default_value;
+ bNodeSocketValueBoolean *tobool= (bNodeSocketValueBoolean*)to->default_value;
+ bNodeSocketValueVector *tovector= (bNodeSocketValueVector*)to->default_value;
+ bNodeSocketValueRGBA *torgba= (bNodeSocketValueRGBA*)to->default_value;
+
+ switch (from->type) {
+ case SOCK_FLOAT:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromfloat->value;
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromfloat->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromfloat->value > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = fromfloat->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = fromfloat->value;
+ break;
+ }
+ break;
+ case SOCK_INT:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = (float)fromint->value;
+ break;
+ case SOCK_INT:
+ toint->value = fromint->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromint->value > 0);
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = (float)fromint->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = (float)fromint->value;
+ break;
+ }
+ break;
+ case SOCK_BOOLEAN:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = (float)frombool->value;
+ break;
+ case SOCK_INT:
+ toint->value = (int)frombool->value;
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = frombool->value;
+ break;
+ case SOCK_VECTOR:
+ tovector->value[0] = tovector->value[1] = tovector->value[2] = (float)frombool->value;
+ break;
+ case SOCK_RGBA:
+ torgba->value[0] = torgba->value[1] = torgba->value[2] = torgba->value[3] = (float)frombool->value;
+ break;
+ }
+ break;
+ case SOCK_VECTOR:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromvector->value[0];
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromvector->value[0];
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromvector->value[0] > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(tovector->value, fromvector->value);
+ break;
+ case SOCK_RGBA:
+ copy_v3_v3(torgba->value, fromvector->value);
+ torgba->value[3] = 1.0f;
+ break;
+ }
+ break;
+ case SOCK_RGBA:
+ switch (to->type) {
+ case SOCK_FLOAT:
+ tofloat->value = fromrgba->value[0];
+ break;
+ case SOCK_INT:
+ toint->value = (int)fromrgba->value[0];
+ break;
+ case SOCK_BOOLEAN:
+ tobool->value = (fromrgba->value[0] > 0.0f);
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(tovector->value, fromrgba->value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(torgba->value, fromrgba->value);
+ break;
+ }
+ break;
+ }
+}
+
+static void copy_socket_value(bNodeSocket *from, bNodeSocket *to)
+{
+ /* XXX only one of these pointers is valid! just putting them here for convenience */
+ bNodeSocketValueFloat *fromfloat= (bNodeSocketValueFloat*)from->default_value;
+ bNodeSocketValueInt *fromint= (bNodeSocketValueInt*)from->default_value;
+ bNodeSocketValueBoolean *frombool= (bNodeSocketValueBoolean*)from->default_value;
+ bNodeSocketValueVector *fromvector= (bNodeSocketValueVector*)from->default_value;
+ bNodeSocketValueRGBA *fromrgba= (bNodeSocketValueRGBA*)from->default_value;
+
+ bNodeSocketValueFloat *tofloat= (bNodeSocketValueFloat*)to->default_value;
+ bNodeSocketValueInt *toint= (bNodeSocketValueInt*)to->default_value;
+ bNodeSocketValueBoolean *tobool= (bNodeSocketValueBoolean*)to->default_value;
+ bNodeSocketValueVector *tovector= (bNodeSocketValueVector*)to->default_value;
+ bNodeSocketValueRGBA *torgba= (bNodeSocketValueRGBA*)to->default_value;
+
+ if (from->type != to->type)
+ return;
+
+ switch (from->type) {
+ case SOCK_FLOAT:
+ *tofloat = *fromfloat;
+ break;
+ case SOCK_INT:
+ *toint = *fromint;
+ break;
+ case SOCK_BOOLEAN:
+ *tobool = *frombool;
+ break;
+ case SOCK_VECTOR:
+ *tovector = *fromvector;
+ break;
+ case SOCK_RGBA:
+ *torgba = *fromrgba;
+ break;
+ }
+}
+
+/* returns 1 if its OK */
+int node_group_ungroup(bNodeTree *ntree, bNode *gnode)
+{
+ bNodeLink *link, *linkn;
+ bNode *node, *nextn;
+ bNodeTree *ngroup, *wgroup;
+ ListBase anim_basepaths = {NULL, NULL};
+
+ ngroup= (bNodeTree *)gnode->id;
+ if(ngroup==NULL) return 0;
+
+ /* clear new pointers, set in copytree */
+ for(node= ntree->nodes.first; node; node= node->next)
+ node->new_node= NULL;
+
+ /* wgroup is a temporary copy of the NodeTree we're merging in
+ * - all of wgroup's nodes are transferred across to their new home
+ * - ngroup (i.e. the source NodeTree) is left unscathed
+ */
+ wgroup= ntreeCopyTree(ngroup);
+
+ /* add the nodes into the ntree */
+ for(node= wgroup->nodes.first; node; node= nextn) {
+ nextn= node->next;
+
+ /* keep track of this node's RNA "base" path (the part of the pat identifying the node)
+ * if the old nodetree has animation data which potentially covers this node
+ */
+ if (wgroup->adt) {
+ PointerRNA ptr;
+ char *path;
+
+ RNA_pointer_create(&wgroup->id, &RNA_Node, node, &ptr);
+ path = RNA_path_from_ID_to_struct(&ptr);
+
+ if (path)
+ BLI_addtail(&anim_basepaths, BLI_genericNodeN(path));
+ }
+
+ /* migrate node */
+ BLI_remlink(&wgroup->nodes, node);
+ BLI_addtail(&ntree->nodes, node);
+
+ node->locx+= gnode->locx;
+ node->locy+= gnode->locy;
+
+ node->flag |= NODE_SELECT;
+ }
+
+ /* restore external links to and from the gnode */
+ for(link= ntree->links.first; link; link= link->next) {
+ if (link->fromnode==gnode) {
+ if (link->fromsock->groupsock) {
+ bNodeSocket *gsock= link->fromsock->groupsock;
+ if (gsock->link) {
+ if (gsock->link->fromnode) {
+ /* NB: using the new internal copies here! the groupsock pointer still maps to the old tree */
+ link->fromnode = (gsock->link->fromnode ? gsock->link->fromnode->new_node : NULL);
+ link->fromsock = gsock->link->fromsock->new_sock;
+ }
+ else {
+ /* group output directly maps to group input */
+ bNodeSocket *insock= node_group_find_input(gnode, gsock->link->fromsock);
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ }
+ }
+ else {
+ /* copy the default input value from the group socket default to the external socket */
+ convert_socket_value(gsock, link->tosock);
+ }
+ }
+ }
+ }
+ /* remove internal output links, these are not used anymore */
+ for(link=wgroup->links.first; link; link= linkn) {
+ linkn = link->next;
+ if (!link->tonode)
+ nodeRemLink(wgroup, link);
+ }
+ /* restore links from internal nodes */
+ for(link= wgroup->links.first; link; link= link->next) {
+ /* indicates link to group input */
+ if (!link->fromnode) {
+ /* NB: can't use find_group_node_input here,
+ * because gnode sockets still point to the old tree!
+ */
+ bNodeSocket *insock;
+ for (insock= gnode->inputs.first; insock; insock= insock->next)
+ if (insock->groupsock->new_sock == link->fromsock)
+ break;
+ if (insock->link) {
+ link->fromnode = insock->link->fromnode;
+ link->fromsock = insock->link->fromsock;
+ }
+ else {
+ /* copy the default input value from the group node socket default to the internal socket */
+ convert_socket_value(insock, link->tosock);
+ nodeRemLink(wgroup, link);
+ }
+ }
+ }
+
+ /* add internal links to the ntree */
+ for(link= wgroup->links.first; link; link= linkn) {
+ linkn= link->next;
+ BLI_remlink(&wgroup->links, link);
+ BLI_addtail(&ntree->links, link);
+ }
+
+ /* and copy across the animation */
+ if (wgroup->adt) {
+ LinkData *ld, *ldn=NULL;
+ bAction *waction;
+
+ /* firstly, wgroup needs to temporary dummy action that can be destroyed, as it shares copies */
+ waction = wgroup->adt->action = copy_action(wgroup->adt->action);
+
+ /* now perform the moving */
+ BKE_animdata_separate_by_basepath(&wgroup->id, &ntree->id, &anim_basepaths);
+
+ /* paths + their wrappers need to be freed */
+ for (ld = anim_basepaths.first; ld; ld = ldn) {
+ ldn = ld->next;
+
+ MEM_freeN(ld->data);
+ BLI_freelinkN(&anim_basepaths, ld);
+ }
+
+ /* free temp action too */
+ free_libblock(&G.main->action, waction);
+ }
+
+ /* delete the group instance. this also removes old input links! */
+ nodeFreeNode(ntree, gnode);
+
+ /* free the group tree (takes care of user count) */
+ free_libblock(&G.main->nodetree, wgroup);
+
+ ntree->update |= NTREE_UPDATE_NODES|NTREE_UPDATE_LINKS;
+ ntreeUpdateTree(ntree);
+
+ return 1;
+}
+
+bNodeSocket *node_group_add_socket(bNodeTree *ngroup, const char *name, int type, int in_out)
+{
+ bNodeSocketType *stype = ntreeGetSocketType(type);
+ bNodeSocket *gsock = MEM_callocN(sizeof(bNodeSocket), "bNodeSocket");
+
+ strncpy(gsock->name, name, sizeof(gsock->name));
+ gsock->type = type;
+ /* group sockets are dynamically added */
+ gsock->flag |= SOCK_DYNAMIC;
+
+ gsock->next = gsock->prev = NULL;
+ gsock->new_sock = NULL;
+ gsock->link = NULL;
+ /* assign new unique index */
+ gsock->own_index = ngroup->cur_index++;
+ gsock->limit = (in_out==SOCK_IN ? 0xFFF : 1);
+
+ if (stype->value_structsize > 0)
+ gsock->default_value = MEM_callocN(stype->value_structsize, "default socket value");
+
+ BLI_addtail(in_out==SOCK_IN ? &ngroup->inputs : &ngroup->outputs, gsock);
+
+ ngroup->update |= (in_out==SOCK_IN ? NTREE_UPDATE_GROUP_IN : NTREE_UPDATE_GROUP_OUT);
+
+ return gsock;
+}
+
+bNodeSocket *node_group_expose_socket(bNodeTree *ngroup, bNodeSocket *sock, int in_out)
+{
+ bNodeSocket *gsock= node_group_add_socket(ngroup, sock->name, sock->type, in_out);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ return gsock;
+}
+
+void node_group_expose_all_sockets(bNodeTree *ngroup)
+{
+ bNode *node;
+ bNodeSocket *sock, *gsock;
+
+ for (node=ngroup->nodes.first; node; node=node->next) {
+ for (sock=node->inputs.first; sock; sock=sock->next) {
+ if (!sock->link && !(sock->flag & SOCK_HIDDEN)) {
+ gsock = node_group_add_socket(ngroup, sock->name, sock->type, SOCK_IN);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ sock->link = nodeAddLink(ngroup, NULL, gsock, node, sock);
+ }
+ }
+ for (sock=node->outputs.first; sock; sock=sock->next) {
+ if (nodeCountSocketLinks(ngroup, sock)==0 && !(sock->flag & SOCK_HIDDEN)) {
+ gsock = node_group_add_socket(ngroup, sock->name, sock->type, SOCK_OUT);
+
+ /* initialize the default value. */
+ copy_socket_value(sock, gsock);
+
+ gsock->link = nodeAddLink(ngroup, node, sock, NULL, gsock);
+ }
+ }
+ }
+}
+
+void node_group_remove_socket(bNodeTree *ngroup, bNodeSocket *gsock, int in_out)
+{
+ nodeRemSocketLinks(ngroup, gsock);
+
+ switch (in_out) {
+ case SOCK_IN:
+ BLI_remlink(&ngroup->inputs, gsock);
+ ngroup->update |= NTREE_UPDATE_GROUP_IN;
+ break;
+ case SOCK_OUT:
+ BLI_remlink(&ngroup->outputs, gsock);
+ ngroup->update |= NTREE_UPDATE_GROUP_OUT;
+ break;
+ }
+
+ if (gsock->default_value)
+ MEM_freeN(gsock->default_value);
+
+ MEM_freeN(gsock);
+}
+
+/* groups display their internal tree name as label */
+const char *node_group_label(bNode *node)
+{
+ return (node->id)? node->id->name+2: "Missing Datablock";
+}
+
+int node_group_valid(bNodeTree *ntree, bNodeTemplate *ntemp)
+{
+ bNodeTemplate childtemp;
+ bNode *node;
+
+ /* regular groups cannot be recursive */
+ if (ntree == ntemp->ngroup)
+ return 0;
+
+ /* make sure all children are valid */
+ for (node=ntemp->ngroup->nodes.first; node; node=node->next) {
+ childtemp = nodeMakeTemplate(node);
+ if (!nodeValid(ntree, &childtemp))
+ return 0;
+ }
+
+ return 1;
+}
+
+bNodeTemplate node_group_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_GROUP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+void node_group_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ node->id = (ID*)ntemp->ngroup;
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+static bNodeSocket *group_verify_socket(bNodeTree *ntree, ListBase *lb, int in_out, bNodeSocket *gsock)
+{
+ bNodeSocket *sock;
+
+ /* group sockets tagged as internal are not exposed ever */
+ if (gsock->flag & SOCK_INTERNAL)
+ return NULL;
+
+ for(sock= lb->first; sock; sock= sock->next) {
+ if(sock->own_index==gsock->own_index)
+ break;
+ }
+ if(sock) {
+ sock->groupsock = gsock;
+
+ strcpy(sock->name, gsock->name);
+ sock->type= gsock->type;
+
+ /* XXX hack: group socket input/output roles are inverted internally,
+ * need to change the limit value when making actual node sockets from them.
+ */
+ sock->limit = (in_out==SOCK_IN ? 1 : 0xFFF);
+
+ BLI_remlink(lb, sock);
+
+ return sock;
+ }
+ else {
+ return node_group_add_extern_socket(ntree, NULL, in_out, gsock);
+ }
+}
+
+static void group_verify_socket_list(bNodeTree *ntree, bNode *node, ListBase *lb, int in_out, ListBase *glb)
+{
+ bNodeSocket *sock, *nextsock, *gsock;
+
+ /* step by step compare */
+ for (gsock= glb->first; gsock; gsock=gsock->next) {
+ /* abusing new_sock pointer for verification here! only used inside this function */
+ gsock->new_sock= group_verify_socket(ntree, lb, in_out, gsock);
+ }
+ /* leftovers are removed */
+ for (sock=lb->first; sock; sock=nextsock) {
+ nextsock=sock->next;
+ if (sock->flag & SOCK_DYNAMIC)
+ nodeRemoveSocket(ntree, node, sock);
+ }
+ /* and we put back the verified sockets */
+ for (gsock= glb->first; gsock; gsock=gsock->next) {
+ if (gsock->new_sock) {
+ BLI_addtail(lb, gsock->new_sock);
+ gsock->new_sock = NULL;
+ }
+ }
+}
+
+/* make sure all group node in ntree, which use ngroup, are sync'd */
+void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id)
+{
+ /* check inputs and outputs, and remove or insert them */
+ if (node->id==id) {
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ group_verify_socket_list(ntree, node, &node->inputs, SOCK_IN, &ngroup->inputs);
+ group_verify_socket_list(ntree, node, &node->outputs, SOCK_OUT, &ngroup->outputs);
+ }
+}
+
+struct bNodeTree *node_group_edit_get(bNode *node)
+{
+ if (node->flag & NODE_GROUP_EDIT)
+ return (bNodeTree*)node->id;
+ else
+ return NULL;
+}
+
+struct bNodeTree *node_group_edit_set(bNode *node, int edit)
+{
+ if (edit) {
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ if (ngroup) {
+ if(ngroup->id.lib)
+ ntreeMakeLocal(ngroup);
+
+ node->flag |= NODE_GROUP_EDIT;
+ }
+ return ngroup;
+ }
+ else {
+ node->flag &= ~NODE_GROUP_EDIT;
+ return NULL;
+ }
+}
+
+void node_group_edit_clear(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNode *inode;
+
+ node->flag &= ~NODE_GROUP_EDIT;
+
+ if (ngroup)
+ for (inode=ngroup->nodes.first; inode; inode=inode->next)
+ nodeGroupEditClear(inode);
+}
+
+void node_group_link(bNodeTree *ntree, bNodeSocket *sock, int in_out)
+{
+ node_group_expose_socket(ntree, sock, in_out);
+}
+
+/**** For Loop ****/
+
+/* Essentially a group node with slightly different behavior.
+ * The internal tree is executed several times, with each output being re-used
+ * as an input in the next iteration. For this purpose, input and output socket
+ * lists are kept identical!
+ */
+
+bNodeTemplate node_forloop_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_FORLOOP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+void node_forloop_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ bNodeSocket *sock;
+
+ node->id = (ID*)ntemp->ngroup;
+
+ sock = nodeAddInputFloat(ntree, node, "Iterations", PROP_UNSIGNED, 1, 0, 10000);
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+void node_forloop_init_tree(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ sock = node_group_add_socket(ntree, "Iteration", SOCK_FLOAT, SOCK_IN);
+ sock->flag |= SOCK_INTERNAL;
+}
+
+static void loop_sync(bNodeTree *ntree, int sync_in_out)
+{
+ bNodeSocket *sock, *sync, *nsync, *mirror;
+ ListBase *sync_lb;
+
+ if (sync_in_out==SOCK_IN) {
+ sock = ntree->outputs.first;
+
+ sync = ntree->inputs.first;
+ sync_lb = &ntree->inputs;
+ }
+ else {
+ sock = ntree->inputs.first;
+
+ sync = ntree->outputs.first;
+ sync_lb = &ntree->outputs;
+ }
+
+ /* NB: the sock->storage pointer is used here directly to store the own_index int
+ * out the mirrored socket counterpart!
+ */
+
+ while (sock) {
+ /* skip static and internal sockets on the sync side (preserves socket order!) */
+ while (sync && ((sync->flag & SOCK_INTERNAL) || !(sync->flag & SOCK_DYNAMIC)))
+ sync = sync->next;
+
+ if (!(sync->flag & SOCK_INTERNAL) && (sync->flag & SOCK_DYNAMIC)) {
+ if (sock->storage==NULL) {
+ /* if mirror index is 0, the sockets is newly added and a new mirror must be created. */
+ mirror = node_group_expose_socket(ntree, sock, sync_in_out);
+ /* store the mirror index */
+ sock->storage = SET_INT_IN_POINTER(mirror->own_index);
+ mirror->storage = SET_INT_IN_POINTER(sock->own_index);
+ /* move mirror to the right place */
+ BLI_remlink(sync_lb, mirror);
+ if (sync)
+ BLI_insertlinkbefore(sync_lb, sync, mirror);
+ else
+ BLI_addtail(sync_lb, mirror);
+ }
+ else {
+ /* look up the mirror socket */
+ for (mirror=sync; mirror; mirror=mirror->next)
+ if (mirror->own_index == GET_INT_FROM_POINTER(sock->storage))
+ break;
+ /* make sure the name is the same (only for identification by user, no deeper meaning) */
+ strcpy(mirror->name, sock->name);
+ /* fix the socket order if necessary */
+ if (mirror != sync) {
+ BLI_remlink(sync_lb, mirror);
+ BLI_insertlinkbefore(sync_lb, sync, mirror);
+ }
+ else
+ sync = sync->next;
+ }
+ }
+
+ sock = sock->next;
+ }
+
+ /* remaining sockets in sync_lb are leftovers from deleted sockets, remove them */
+ while (sync) {
+ nsync = sync->next;
+ if (!(sync->flag & SOCK_INTERNAL) && (sync->flag & SOCK_DYNAMIC))
+ node_group_remove_socket(ntree, sync, sync_in_out);
+ sync = nsync;
+ }
+}
+
+void node_loop_update_tree(bNodeTree *ngroup)
+{
+ /* make sure inputs & outputs are identical */
+ if (ngroup->update & NTREE_UPDATE_GROUP_IN)
+ loop_sync(ngroup, SOCK_OUT);
+ if (ngroup->update & NTREE_UPDATE_GROUP_OUT)
+ loop_sync(ngroup, SOCK_IN);
+}
+
+void node_whileloop_init(bNodeTree *ntree, bNode *node, bNodeTemplate *ntemp)
+{
+ bNodeSocket *sock;
+
+ node->id = (ID*)ntemp->ngroup;
+
+ sock = nodeAddInputFloat(ntree, node, "Condition", PROP_NONE, 1, 0, 1);
+
+ /* max iterations */
+ node->custom1 = 10000;
+
+ /* NB: group socket input/output roles are inverted internally!
+ * Group "inputs" work as outputs in links and vice versa.
+ */
+ if (ntemp->ngroup) {
+ bNodeSocket *gsock;
+ for (gsock=ntemp->ngroup->inputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->inputs, SOCK_IN, gsock);
+ for (gsock=ntemp->ngroup->outputs.first; gsock; gsock=gsock->next)
+ node_group_add_extern_socket(ntree, &node->outputs, SOCK_OUT, gsock);
+ }
+}
+
+void node_whileloop_init_tree(bNodeTree *ntree)
+{
+ bNodeSocket *sock;
+ sock = node_group_add_socket(ntree, "Condition", SOCK_FLOAT, SOCK_OUT);
+ sock->flag |= SOCK_INTERNAL;
+}
+
+bNodeTemplate node_whileloop_template(bNode *node)
+{
+ bNodeTemplate ntemp;
+ ntemp.type = NODE_WHILELOOP;
+ ntemp.ngroup = (bNodeTree*)node->id;
+ return ntemp;
+}
+
+/**** FRAME ****/
+
+void register_node_type_frame(ListBase *lb)
+{
+ /* frame type is used for all tree types, needs dynamic allocation */
+ bNodeType *ntype= MEM_callocN(sizeof(bNodeType), "frame node type");
+
+ node_type_base(ntype, NODE_FRAME, "Frame", NODE_CLASS_LAYOUT, NODE_BACKGROUND);
+ node_type_size(ntype, 150, 100, 0);
+
+ ntype->needs_free = 1;
+ nodeRegisterType(lb, ntype);
+}
diff --git a/source/blender/nodes/intern/node_common.h b/source/blender/nodes/intern/node_common.h
new file mode 100644
index 00000000000..2723c595380
--- /dev/null
+++ b/source/blender/nodes/intern/node_common.h
@@ -0,0 +1,66 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toenne.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_common.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NODE_COMMON_H_
+#define NODE_COMMON_H_
+
+#include "DNA_listBase.h"
+
+struct bNodeTree;
+
+struct bNodeSocket *node_group_add_extern_socket(struct bNodeTree *ntree, ListBase *lb, int in_out, struct bNodeSocket *gsock);
+
+void node_group_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+void node_forloop_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+void node_whileloop_init(struct bNodeTree *ntree, struct bNode *node, struct bNodeTemplate *ntemp);
+
+void node_forloop_init_tree(struct bNodeTree *ntree);
+void node_whileloop_init_tree(struct bNodeTree *ntree);
+
+const char *node_group_label(struct bNode *node);
+
+struct bNodeTemplate node_group_template(struct bNode *node);
+struct bNodeTemplate node_forloop_template(struct bNode *node);
+struct bNodeTemplate node_whileloop_template(struct bNode *node);
+
+int node_group_valid(struct bNodeTree *ntree, struct bNodeTemplate *ntemp);
+void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
+
+struct bNodeTree *node_group_edit_get(struct bNode *node);
+struct bNodeTree *node_group_edit_set(struct bNode *node, int edit);
+void node_group_edit_clear(bNode *node);
+
+void node_loop_update_tree(struct bNodeTree *ngroup);
+
+#endif
diff --git a/source/blender/nodes/intern/node_exec.c b/source/blender/nodes/intern/node_exec.c
new file mode 100644
index 00000000000..608347bc258
--- /dev/null
+++ b/source/blender/nodes/intern/node_exec.c
@@ -0,0 +1,309 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_exec.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "node_exec.h"
+
+
+/* for a given socket, find the actual stack entry */
+bNodeStack *node_get_socket_stack(bNodeStack *stack, bNodeSocket *sock)
+{
+ return stack + sock->stack_index;
+}
+
+void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
+{
+ bNodeSocket *sock;
+
+ /* build pointer stack */
+ if (in) {
+ for(sock= node->inputs.first; sock; sock= sock->next) {
+ *(in++) = node_get_socket_stack(stack, sock);
+ }
+ }
+
+ if (out) {
+ for(sock= node->outputs.first; sock; sock= sock->next) {
+ *(out++) = node_get_socket_stack(stack, sock);
+ }
+ }
+}
+
+void node_init_input_index(bNodeSocket *sock, int *index)
+{
+ if (sock->link && sock->link->fromsock) {
+ sock->stack_index = sock->link->fromsock->stack_index;
+ }
+ else {
+ sock->stack_index = (*index)++;
+ }
+}
+
+void node_init_output_index(bNodeSocket *sock, int *index)
+{
+ sock->stack_index = (*index)++;
+}
+
+/* basic preparation of socket stacks */
+static struct bNodeStack *setup_stack(bNodeStack *stack, bNodeSocket *sock)
+{
+ bNodeStack *ns = node_get_socket_stack(stack, sock);
+ float null_value[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+
+ /* don't mess with remote socket stacks, these are initialized by other nodes! */
+ if (sock->link)
+ return ns;
+
+ ns->sockettype = sock->type;
+
+ if (sock->default_value) {
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ ns->vec[0] = ((bNodeSocketValueFloat*)sock->default_value)->value;
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(ns->vec, ((bNodeSocketValueVector*)sock->default_value)->value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(ns->vec, ((bNodeSocketValueRGBA*)sock->default_value)->value);
+ break;
+ }
+ }
+ else {
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ ns->vec[0] = 0.0f;
+ break;
+ case SOCK_VECTOR:
+ copy_v3_v3(ns->vec, null_value);
+ break;
+ case SOCK_RGBA:
+ copy_v4_v4(ns->vec, null_value);
+ break;
+ }
+ }
+
+ return ns;
+}
+
+bNodeTreeExec *ntree_exec_begin(bNodeTree *ntree)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+ bNodeExec *nodeexec;
+ bNodeSocket *sock, *gsock;
+ bNodeStack *ns;
+ int index= 0;
+ bNode **nodelist;
+ int totnodes, n;
+
+ if((ntree->init & NTREE_TYPE_INIT)==0)
+ ntreeInitTypes(ntree);
+
+ /* get a dependency-sorted list of nodes */
+ ntreeGetDependencyList(ntree, &nodelist, &totnodes);
+
+ /* XXX could let callbacks do this for specialized data */
+ exec = MEM_callocN(sizeof(bNodeTreeExec), "node tree execution data");
+ /* backpointer to node tree */
+ exec->nodetree = ntree;
+
+ /* group inputs essentially work as outputs */
+ for(gsock=ntree->inputs.first; gsock; gsock = gsock->next)
+ node_init_output_index(gsock, &index);
+ /* set stack indexes */
+ for(n=0; n < totnodes; ++n) {
+ node = nodelist[n];
+
+ node->stack_index = index;
+
+ /* init node socket stack indexes */
+ for (sock=node->inputs.first; sock; sock=sock->next)
+ node_init_input_index(sock, &index);
+ for (sock=node->outputs.first; sock; sock=sock->next)
+ node_init_output_index(sock, &index);
+ }
+ /* group outputs essentially work as inputs */
+ for(gsock=ntree->outputs.first; gsock; gsock = gsock->next)
+ node_init_input_index(gsock, &index);
+
+ /* allocated exec data pointers for nodes */
+ exec->totnodes = totnodes;
+ exec->nodeexec = MEM_callocN(exec->totnodes * sizeof(bNodeExec), "node execution data");
+ /* allocate data pointer for node stack */
+ exec->stacksize = index;
+ exec->stack = MEM_callocN(exec->stacksize * sizeof(bNodeStack), "bNodeStack");
+
+ /* prepare group tree inputs */
+ for (sock=ntree->inputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ if (ns->hasoutput)
+ ns->hasinput = 1;
+ }
+ /* prepare all internal nodes for execution */
+ for(n=0, nodeexec= exec->nodeexec; n < totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node = nodelist[n];
+
+ /* tag inputs */
+ for (sock=node->inputs.first; sock; sock=sock->next) {
+ /* disable the node if an input link is invalid */
+ if(sock->link && !(sock->link->flag & NODE_LINK_VALID))
+ node->need_exec= 0;
+
+ ns = setup_stack(exec->stack, sock);
+ if (ns->hasoutput)
+ ns->hasinput = 1;
+ }
+
+ /* tag all outputs */
+ for (sock=node->outputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ ns->hasoutput = 1;
+ }
+
+ if(node->typeinfo->initexecfunc)
+ nodeexec->data = node->typeinfo->initexecfunc(node);
+ }
+ /* prepare group tree outputs */
+ for (sock=ntree->outputs.first; sock; sock=sock->next) {
+ ns = setup_stack(exec->stack, sock);
+ ns->hasoutput = 1;
+ }
+
+ if (nodelist)
+ MEM_freeN(nodelist);
+
+ return exec;
+}
+
+void ntree_exec_end(bNodeTreeExec *exec)
+{
+ bNodeExec *nodeexec;
+ int n;
+
+ if (exec->stack)
+ MEM_freeN(exec->stack);
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ if (nodeexec->node->typeinfo->freeexecfunc)
+ nodeexec->node->typeinfo->freeexecfunc(nodeexec->node, nodeexec->data);
+ }
+
+ if (exec->nodeexec)
+ MEM_freeN(exec->nodeexec);
+
+ MEM_freeN(exec);
+}
+
+/**** Compositor/Material/Texture trees ****/
+
+bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread)
+{
+ ListBase *lb= &exec->threadstack[thread];
+ bNodeThreadStack *nts;
+
+ for(nts=lb->first; nts; nts=nts->next) {
+ if(!nts->used) {
+ nts->used= 1;
+ break;
+ }
+ }
+
+ if (!nts) {
+ nts= MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack");
+ nts->stack= MEM_dupallocN(exec->stack);
+ nts->used= 1;
+ BLI_addtail(lb, nts);
+ }
+
+ return nts;
+}
+
+void ntreeReleaseThreadStack(bNodeThreadStack *nts)
+{
+ nts->used = 0;
+}
+
+void ntreeExecNodes(bNodeTreeExec *exec, void *callerdata, int thread)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+
+ /* nodes are presorted, so exec is in order of list */
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->need_exec) {
+ node_get_stack(node, exec->stack, nsin, nsout);
+ if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(callerdata, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(callerdata, thread, node, nodeexec->data, nsin, nsout);
+ }
+ }
+}
+
+void ntreeExecThreadNodes(bNodeTreeExec *exec, bNodeThreadStack *nts, void *callerdata, int thread)
+{
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+
+ /* nodes are presorted, so exec is in order of list */
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+ if(node->need_exec) {
+ node_get_stack(node, nts->stack, nsin, nsout);
+ if(node->typeinfo->execfunc)
+ node->typeinfo->execfunc(callerdata, node, nsin, nsout);
+ else if (node->typeinfo->newexecfunc)
+ node->typeinfo->newexecfunc(callerdata, thread, node, nodeexec->data, nsin, nsout);
+ }
+ }
+}
diff --git a/source/blender/nodes/intern/node_exec.h b/source/blender/nodes/intern/node_exec.h
new file mode 100644
index 00000000000..567c6ae56cf
--- /dev/null
+++ b/source/blender/nodes/intern/node_exec.h
@@ -0,0 +1,90 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_exec.h
+ * \ingroup nodes
+ */
+
+
+#ifndef NODE_EXEC_H_
+#define NODE_EXEC_H_
+
+#include "DNA_listBase.h"
+
+#include "BLI_utildefines.h"
+
+#include "BKE_node.h"
+
+#include "RNA_types.h"
+
+struct bNodeTree;
+struct bNode;
+struct bNodeStack;
+
+/* Node execution data */
+typedef struct bNodeExec {
+ struct bNode *node; /* backpointer to node */
+ void *data; /* custom data storage */
+} bNodeExec;
+
+/* Execution Data for each instance of node tree execution */
+typedef struct bNodeTreeExec {
+ struct bNodeTree *nodetree; /* backpointer to node tree */
+
+ int totnodes; /* total node count */
+ struct bNodeExec *nodeexec; /* per-node execution data */
+
+ int stacksize;
+ struct bNodeStack *stack; /* socket data stack */
+ /* only used by material and texture trees to keep one stack for each thread */
+ ListBase *threadstack; /* one instance of the stack for each thread */
+} bNodeTreeExec;
+
+/* stores one stack copy for each thread (material and texture trees) */
+typedef struct bNodeThreadStack {
+ struct bNodeThreadStack *next, *prev;
+ struct bNodeStack *stack;
+ int used;
+} bNodeThreadStack;
+
+struct bNodeStack *node_get_socket_stack(struct bNodeStack *stack, struct bNodeSocket *sock);
+void node_get_stack(struct bNode *node, struct bNodeStack *stack, struct bNodeStack **in, struct bNodeStack **out);
+void node_init_input_index(struct bNodeSocket *sock, int *index);
+void node_init_output_index(struct bNodeSocket *sock, int *index);
+
+struct bNodeTreeExec *ntree_exec_begin(struct bNodeTree *ntree);
+void ntree_exec_end(struct bNodeTreeExec *exec);
+
+void ntreeExecNodes(struct bNodeTreeExec *exec, void *callerdata, int thread);
+
+struct bNodeThreadStack *ntreeGetThreadStack(struct bNodeTreeExec *exec, int thread);
+void ntreeReleaseThreadStack(struct bNodeThreadStack *nts);
+void ntreeExecThreadNodes(struct bNodeTreeExec *exec, struct bNodeThreadStack *nts, void *callerdata, int thread);
+
+#endif
diff --git a/source/blender/nodes/intern/node_socket.c b/source/blender/nodes/intern/node_socket.c
new file mode 100644
index 00000000000..aabaf5b86de
--- /dev/null
+++ b/source/blender/nodes/intern/node_socket.c
@@ -0,0 +1,433 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): Lukas Toennne
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/intern/node_socket.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "DNA_mesh_types.h"
+#include "DNA_meshdata_types.h"
+#include "DNA_object_types.h"
+#include "DNA_scene_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_DerivedMesh.h"
+#include "BKE_node.h"
+
+#include "RNA_access.h"
+#include "RNA_types.h"
+
+#include "MEM_guardedalloc.h"
+
+#include "NOD_socket.h"
+
+/****************** FLOAT ******************/
+
+static bNodeSocketType node_socket_type_float = {
+ /* type */ SOCK_FLOAT,
+ /* ui_name */ "Float",
+ /* ui_description */ "Floating Point",
+ /* ui_icon */ 0,
+ /* ui_color */ {160,160,160,255},
+
+ /* value_structname */ "bNodeSocketValueFloat",
+ /* value_structsize */ sizeof(bNodeSocketValueFloat),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** VECTOR ******************/
+
+static bNodeSocketType node_socket_type_vector = {
+ /* type */ SOCK_VECTOR,
+ /* ui_name */ "Vector",
+ /* ui_description */ "3-dimensional floating point vector",
+ /* ui_icon */ 0,
+ /* ui_color */ {100,100,200,255},
+
+ /* value_structname */ "bNodeSocketValueVector",
+ /* value_structsize */ sizeof(bNodeSocketValueVector),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** RGBA ******************/
+
+static bNodeSocketType node_socket_type_rgba = {
+ /* type */ SOCK_RGBA,
+ /* ui_name */ "RGBA",
+ /* ui_description */ "RGBA color",
+ /* ui_icon */ 0,
+ /* ui_color */ {200,200,40,255},
+
+ /* value_structname */ "bNodeSocketValueRGBA",
+ /* value_structsize */ sizeof(bNodeSocketValueRGBA),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** INT ******************/
+
+static bNodeSocketType node_socket_type_int = {
+ /* type */ SOCK_INT,
+ /* ui_name */ "Int",
+ /* ui_description */ "Integer",
+ /* ui_icon */ 0,
+ /* ui_color */ {17,133,37,255},
+
+ /* value_structname */ "bNodeSocketValueInt",
+ /* value_structsize */ sizeof(bNodeSocketValueInt),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** BOOLEAN ******************/
+
+static bNodeSocketType node_socket_type_boolean = {
+ /* type */ SOCK_BOOLEAN,
+ /* ui_name */ "Boolean",
+ /* ui_description */ "Boolean",
+ /* ui_icon */ 0,
+ /* ui_color */ {158,139,63,255},
+
+ /* value_structname */ "bNodeSocketValueBoolean",
+ /* value_structsize */ sizeof(bNodeSocketValueBoolean),
+
+ /* buttonfunc */ NULL,
+};
+
+/****************** MESH ******************/
+
+static bNodeSocketType node_socket_type_mesh = {
+ /* type */ SOCK_MESH,
+ /* ui_name */ "Mesh",
+ /* ui_description */ "Mesh geometry data",
+ /* ui_icon */ 0,
+ /* ui_color */ {255,133,7,255},
+
+ /* value_structname */ NULL,
+ /* value_structsize */ 0,
+
+ /* buttonfunc */ NULL,
+};
+
+
+void node_socket_type_init(bNodeSocketType *types[])
+{
+ #define INIT_TYPE(name) types[node_socket_type_##name.type] = &node_socket_type_##name;
+
+ INIT_TYPE(float);
+ INIT_TYPE(vector);
+ INIT_TYPE(rgba);
+ INIT_TYPE(int);
+ INIT_TYPE(boolean);
+ INIT_TYPE(mesh);
+
+ #undef INIT_TYPE
+}
+
+struct bNodeSocket *nodeAddInputInt(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ int value, int min, int max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_INT);
+ bNodeSocketValueInt *dval= (bNodeSocketValueInt*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value = value;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputInt(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_INT);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ float value, float min, float max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_FLOAT);
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value = value;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputFloat(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_FLOAT);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name, char value)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_BOOLEAN);
+ bNodeSocketValueBoolean *dval= (bNodeSocketValueBoolean*)sock->default_value;
+ dval->value = value;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputBoolean(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_BOOLEAN);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputVector(struct bNodeTree *ntree, struct bNode *node, const char *name, PropertySubType subtype,
+ float x, float y, float z, float min, float max)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_VECTOR);
+ bNodeSocketValueVector *dval= (bNodeSocketValueVector*)sock->default_value;
+ dval->subtype = subtype;
+ dval->value[0] = x;
+ dval->value[1] = y;
+ dval->value[2] = z;
+ dval->min = min;
+ dval->max = max;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputVector(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_VECTOR);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name,
+ float r, float g, float b, float a)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_RGBA);
+ bNodeSocketValueRGBA *dval= (bNodeSocketValueRGBA*)sock->default_value;
+ dval->value[0] = r;
+ dval->value[1] = g;
+ dval->value[2] = b;
+ dval->value[3] = a;
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputRGBA(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_RGBA);
+ return sock;
+}
+
+struct bNodeSocket *nodeAddInputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_IN, name, SOCK_MESH);
+ return sock;
+}
+struct bNodeSocket *nodeAddOutputMesh(struct bNodeTree *ntree, struct bNode *node, const char *name)
+{
+ bNodeSocket *sock= nodeAddSocket(ntree, node, SOCK_OUT, name, SOCK_MESH);
+ return sock;
+}
+
+struct bNodeSocket *node_add_input_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+ switch (stemp->type) {
+ case SOCK_INT:
+ sock = nodeAddInputInt(ntree, node, stemp->name, stemp->subtype, (int)stemp->val1, (int)stemp->min, (int)stemp->max);
+ break;
+ case SOCK_FLOAT:
+ sock = nodeAddInputFloat(ntree, node, stemp->name, stemp->subtype, stemp->val1, stemp->min, stemp->max);
+ break;
+ case SOCK_BOOLEAN:
+ sock = nodeAddInputBoolean(ntree, node, stemp->name, (char)stemp->val1);
+ break;
+ case SOCK_VECTOR:
+ sock = nodeAddInputVector(ntree, node, stemp->name, stemp->subtype, stemp->val1, stemp->val2, stemp->val3, stemp->min, stemp->max);
+ break;
+ case SOCK_RGBA:
+ sock = nodeAddInputRGBA(ntree, node, stemp->name, stemp->val1, stemp->val2, stemp->val3, stemp->val4);
+ break;
+ case SOCK_MESH:
+ sock = nodeAddInputMesh(ntree, node, stemp->name);
+ break;
+ default:
+ sock = nodeAddSocket(ntree, node, SOCK_IN, stemp->name, stemp->type);
+ }
+ return sock;
+}
+
+struct bNodeSocket *node_add_output_from_template(struct bNodeTree *ntree, struct bNode *node, struct bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+ switch (stemp->type) {
+ case SOCK_INT:
+ sock = nodeAddOutputInt(ntree, node, stemp->name);
+ break;
+ case SOCK_FLOAT:
+ sock = nodeAddOutputFloat(ntree, node, stemp->name);
+ break;
+ case SOCK_BOOLEAN:
+ sock = nodeAddOutputBoolean(ntree, node, stemp->name);
+ break;
+ case SOCK_VECTOR:
+ sock = nodeAddOutputVector(ntree, node, stemp->name);
+ break;
+ case SOCK_RGBA:
+ sock = nodeAddOutputRGBA(ntree, node, stemp->name);
+ break;
+ case SOCK_MESH:
+ sock = nodeAddOutputMesh(ntree, node, stemp->name);
+ break;
+ default:
+ sock = nodeAddSocket(ntree, node, SOCK_OUT, stemp->name, stemp->type);
+ }
+ return sock;
+}
+
+static bNodeSocket *verify_socket_template(bNodeTree *ntree, bNode *node, int in_out, ListBase *socklist, bNodeSocketTemplate *stemp)
+{
+ bNodeSocket *sock;
+
+ for(sock= socklist->first; sock; sock= sock->next) {
+ if(!(sock->flag & SOCK_DYNAMIC) && strncmp(sock->name, stemp->name, NODE_MAXSTR)==0)
+ break;
+ }
+ if(sock) {
+ sock->type= stemp->type; /* in future, read this from tydefs! */
+ if(stemp->limit==0) sock->limit= 0xFFF;
+ else sock->limit= stemp->limit;
+
+ /* Copy the property range and subtype parameters in case the template changed.
+ * NOT copying the actual value here, only button behavior changes!
+ */
+ switch (sock->type) {
+ case SOCK_FLOAT:
+ {
+ bNodeSocketValueFloat *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ case SOCK_INT:
+ {
+ bNodeSocketValueInt *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ case SOCK_VECTOR:
+ {
+ bNodeSocketValueVector *dval= sock->default_value;
+ dval->min = stemp->min;
+ dval->max = stemp->max;
+ dval->subtype = stemp->subtype;
+ }
+ break;
+ }
+
+ BLI_remlink(socklist, sock);
+
+ return sock;
+ }
+ else {
+ /* no socket for this template found, make a new one */
+ if (in_out==SOCK_IN)
+ sock = node_add_input_from_template(ntree, node, stemp);
+ else
+ sock = node_add_output_from_template(ntree, node, stemp);
+ /* remove the new socket from the node socket list first,
+ * will be added back after verification.
+ */
+ BLI_remlink(socklist, sock);
+ }
+
+ return sock;
+}
+
+static void verify_socket_template_list(bNodeTree *ntree, bNode *node, int in_out, ListBase *socklist, bNodeSocketTemplate *stemp_first)
+{
+ bNodeSocket *sock;
+ bNodeSocketTemplate *stemp;
+
+ /* no inputs anymore? */
+ if(stemp_first==NULL) {
+ while(socklist->first) {
+ sock = (bNodeSocket*)socklist->first;
+ if (!(sock->flag & SOCK_DYNAMIC))
+ nodeRemoveSocket(ntree, node, socklist->first);
+ }
+ }
+ else {
+ /* step by step compare */
+ stemp= stemp_first;
+ while(stemp->type != -1) {
+ stemp->sock= verify_socket_template(ntree, node, in_out, socklist, stemp);
+ stemp++;
+ }
+ /* leftovers are removed */
+ while(socklist->first) {
+ sock = (bNodeSocket*)socklist->first;
+ if (!(sock->flag & SOCK_DYNAMIC))
+ nodeRemoveSocket(ntree, node, socklist->first);
+ }
+
+ /* and we put back the verified sockets */
+ stemp= stemp_first;
+ if (socklist->first) {
+ /* some dynamic sockets left, store the list start
+ * so we can add static sockets infront of it.
+ */
+ sock = socklist->first;
+ while(stemp->type != -1) {
+ /* put static sockets infront of dynamic */
+ BLI_insertlinkbefore(socklist, sock, stemp->sock);
+ stemp++;
+ }
+ }
+ else {
+ while(stemp->type != -1) {
+ BLI_addtail(socklist, stemp->sock);
+ stemp++;
+ }
+ }
+ }
+}
+
+void node_verify_socket_templates(bNodeTree *ntree, bNode *node)
+{
+ bNodeType *ntype= node->typeinfo;
+ /* XXX Small trick: don't try to match socket lists when there are no templates.
+ * This also prevents group node sockets from being removed, without the need to explicitly
+ * check the node type here.
+ */
+ if(ntype && ((ntype->inputs && ntype->inputs[0].type>=0) || (ntype->outputs && ntype->outputs[0].type>=0))) {
+ verify_socket_template_list(ntree, node, SOCK_IN, &node->inputs, ntype->inputs);
+ verify_socket_template_list(ntree, node, SOCK_OUT, &node->outputs, ntype->outputs);
+ }
+}
diff --git a/source/blender/nodes/intern/node_util.c b/source/blender/nodes/intern/node_util.c
index 1cc8c282179..bdf53df06af 100644
--- a/source/blender/nodes/intern/node_util.c
+++ b/source/blender/nodes/intern/node_util.c
@@ -32,12 +32,24 @@
*/
-#include "CMP_util.h"
-#include "SHD_util.h"
+#include "DNA_action_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_colortools.h"
+#include "BKE_node.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
+#include "MEM_guardedalloc.h"
+
+#include "node_util.h"
+
+/**** Storage Data ****/
+
void node_free_curves(bNode *node)
{
curvemapping_free(node->storage);
@@ -58,6 +70,8 @@ void node_copy_standard_storage(bNode *orig_node, bNode *new_node)
new_node->storage= MEM_dupallocN(orig_node->storage);
}
+/**** Labels ****/
+
const char *node_blend_label(bNode *node)
{
const char *name;
diff --git a/source/blender/nodes/intern/node_util.h b/source/blender/nodes/intern/node_util.h
index 5a78fc07883..8d38d57f577 100644
--- a/source/blender/nodes/intern/node_util.h
+++ b/source/blender/nodes/intern/node_util.h
@@ -35,14 +35,27 @@
#ifndef NODE_UTIL_H_
#define NODE_UTIL_H_
+#include "DNA_listBase.h"
+
+#include "BKE_node.h"
+
#include "MEM_guardedalloc.h"
+#include "NOD_socket.h"
+
+struct bNodeTree;
+struct bNode;
+
+/**** Storage Data ****/
+
extern void node_free_curves(struct bNode *node);
extern void node_free_standard_storage(struct bNode *node);
extern void node_copy_curves(struct bNode *orig_node, struct bNode *new_node);
extern void node_copy_standard_storage(struct bNode *orig_node, struct bNode *new_node);
+/**** Labels ****/
+
const char *node_blend_label(struct bNode *node);
const char *node_math_label(struct bNode *node);
const char *node_vect_math_label(struct bNode *node);
diff --git a/source/blender/nodes/shader/node_shader_tree.c b/source/blender/nodes/shader/node_shader_tree.c
new file mode 100644
index 00000000000..642e4be10d7
--- /dev/null
+++ b/source/blender/nodes/shader/node_shader_tree.c
@@ -0,0 +1,226 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/node_shader_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_material_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_math.h"
+#include "BLI_threads.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+#include "BKE_utildefines.h"
+
+#include "GPU_material.h"
+
+#include "RE_shader_ext.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+#include "node_shader_util.h"
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Material *ma;
+ for(ma= main->mat.first; ma; ma= ma->id.next) {
+ if(ma->nodetree) {
+ func(calldata, &ma->id, ma->nodetree);
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* copy over contents of previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ bNode *node= lnode->new_node;
+
+ if(node->preview && node->preview->rect) {
+ if(lnode->preview && lnode->preview->rect) {
+ int xsize= node->preview->xsize;
+ int ysize= node->preview->ysize;
+ memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Shader = {
+ /* type */ NTREE_SHADER,
+ /* id_name */ "NTShader Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ NULL,
+ /* free_node_cache */ NULL,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ NULL,
+ /* local_sync */ local_sync,
+ /* local_merge */ NULL,
+ /* update */ NULL,
+ /* update_node */ NULL
+};
+
+/* GPU material from shader nodes */
+
+void ntreeGPUMaterialNodes(bNodeTree *ntree, GPUMaterial *mat)
+{
+ bNodeTreeExec *exec;
+
+ if(!ntree->execdata)
+ exec = ntreeShaderBeginExecTree(ntree, 1);
+
+ ntreeExecGPUNodes(exec, mat, 1);
+
+ ntreeShaderEndExecTree(exec, 1);
+}
+
+/* **************** call to switch lamploop for material node ************ */
+
+void (*node_shader_lamp_loop)(struct ShadeInput *, struct ShadeResult *);
+
+void set_node_shader_lamp_loop(void (*lamp_loop_func)(ShadeInput *, ShadeResult *))
+{
+ node_shader_lamp_loop= lamp_loop_func;
+}
+
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+bNodeTreeExec *ntreeShaderBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* ensures only a single output node is enabled */
+ ntreeSetOutput(ntree);
+
+ /* common base initialization */
+ exec = ntree_exec_begin(ntree);
+
+ /* allocate the thread stack listbase array */
+ exec->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next)
+ node->need_exec= 1;
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeShaderEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNodeThreadStack *nts;
+ int a;
+
+ if(exec->threadstack) {
+ for(a=0; a<BLENDER_MAX_THREADS; a++) {
+ for(nts=exec->threadstack[a].first; nts; nts=nts->next)
+ if (nts->stack) MEM_freeN(nts->stack);
+ BLI_freelistN(&exec->threadstack[a]);
+ }
+
+ MEM_freeN(exec->threadstack);
+ exec->threadstack= NULL;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+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; bNodeThreadStack *nts = NULL;
+ bNodeTreeExec *exec = ntree->execdata;
+
+ /* convert caller data to struct */
+ scd.shi= shi;
+ scd.shr= shr;
+
+ /* each material node has own local shaderesult, with optional copying */
+ memset(shr, 0, sizeof(ShadeResult));
+
+ if (!exec)
+ exec = ntree->execdata = ntreeShaderBeginExecTree(exec->nodetree, 1);
+
+ nts= ntreeGetThreadStack(exec, shi->thread);
+ ntreeExecThreadNodes(exec, nts, &scd, shi->thread);
+ ntreeReleaseThreadStack(nts);
+
+ // @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;
+ if(shr->combined[2]<0.0f) shr->combined[2]= 0.0f;
+}
diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.c
new file mode 100644
index 00000000000..01dd0f7d5a1
--- /dev/null
+++ b/source/blender/nodes/shader/node_shader_util.c
@@ -0,0 +1,287 @@
+/*
+ * $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) 2005 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/node_shader_util.c
+ * \ingroup nodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "node_shader_util.h"
+
+#include "node_exec.h"
+
+/* ****** */
+
+void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
+{
+ float *from= ns->vec;
+
+ if(type_in==SOCK_FLOAT) {
+ if(ns->sockettype==SOCK_FLOAT)
+ *in= *from;
+ else
+ *in= 0.333333f*(from[0]+from[1]+from[2]);
+ }
+ else if(type_in==SOCK_VECTOR) {
+ if(ns->sockettype==SOCK_FLOAT) {
+ in[0]= from[0];
+ in[1]= from[0];
+ in[2]= from[0];
+ }
+ else {
+ VECCOPY(in, from);
+ }
+ }
+ else { /* type_in==SOCK_RGBA */
+ if(ns->sockettype==SOCK_RGBA) {
+ QUATCOPY(in, from);
+ }
+ else if(ns->sockettype==SOCK_FLOAT) {
+ in[0]= from[0];
+ in[1]= from[0];
+ in[2]= from[0];
+ in[3]= 1.0f;
+ }
+ else {
+ VECCOPY(in, from);
+ in[3]= 1.0f;
+ }
+ }
+}
+
+
+/* ******************* execute and parse ************ */
+
+/* go over all used Geometry and Texture nodes, and return a texco flag */
+/* no group inside needed, this function is called for groups too */
+void ntreeShaderGetTexcoMode(bNodeTree *ntree, int r_mode, short *texco, int *mode)
+{
+ bNode *node;
+ bNodeSocket *sock;
+ int a;
+
+ ntreeSocketUseFlags(ntree);
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==SH_NODE_TEXTURE) {
+ if((r_mode & R_OSA) && node->id) {
+ Tex *tex= (Tex *)node->id;
+ if ELEM3(tex->type, TEX_IMAGE, TEX_PLUGIN, TEX_ENVMAP)
+ *texco |= TEXCO_OSA|NEED_UV;
+ }
+ /* usability exception... without input we still give the node orcos */
+ sock= node->inputs.first;
+ if(sock==NULL || sock->link==NULL)
+ *texco |= TEXCO_ORCO|NEED_UV;
+ }
+ else if(node->type==SH_NODE_GEOMETRY) {
+ /* note; sockets always exist for the given type! */
+ for(a=0, sock= node->outputs.first; sock; sock= sock->next, a++) {
+ if(sock->flag & SOCK_IN_USE) {
+ switch(a) {
+ case GEOM_OUT_GLOB:
+ *texco |= TEXCO_GLOB|NEED_UV; break;
+ case GEOM_OUT_VIEW:
+ *texco |= TEXCO_VIEW|NEED_UV; break;
+ case GEOM_OUT_ORCO:
+ *texco |= TEXCO_ORCO|NEED_UV; break;
+ case GEOM_OUT_UV:
+ *texco |= TEXCO_UV|NEED_UV; break;
+ case GEOM_OUT_NORMAL:
+ *texco |= TEXCO_NORM|NEED_UV; break;
+ case GEOM_OUT_VCOL:
+ *texco |= NEED_UV; *mode |= MA_VERTEXCOL; break;
+ }
+ }
+ }
+ }
+ }
+}
+
+/* nodes that use ID data get synced with local data */
+void nodeShaderSynchronizeID(bNode *node, int copyto)
+{
+ if(node->id==NULL) return;
+
+ if(ELEM(node->type, SH_NODE_MATERIAL, SH_NODE_MATERIAL_EXT)) {
+ bNodeSocket *sock;
+ Material *ma= (Material *)node->id;
+ int a;
+
+ /* hrmf, case in loop isnt super fast, but we dont edit 100s of material at same time either! */
+ for(a=0, sock= node->inputs.first; sock; sock= sock->next, a++) {
+ if(!(sock->flag & SOCK_HIDDEN)) {
+ if(copyto) {
+ switch(a) {
+ case MAT_IN_COLOR:
+ VECCOPY(&ma->r, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_SPEC:
+ VECCOPY(&ma->specr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_REFL:
+ ma->ref= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_MIR:
+ VECCOPY(&ma->mirr, ((bNodeSocketValueRGBA*)sock->default_value)->value); break;
+ case MAT_IN_AMB:
+ ma->amb= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_EMIT:
+ ma->emit= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_SPECTRA:
+ ma->spectra= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_RAY_MIRROR:
+ ma->ray_mirror= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_ALPHA:
+ ma->alpha= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ case MAT_IN_TRANSLUCENCY:
+ ma->translucency= ((bNodeSocketValueFloat*)sock->default_value)->value; break;
+ }
+ }
+ else {
+ switch(a) {
+ case MAT_IN_COLOR:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->r); break;
+ case MAT_IN_SPEC:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->specr); break;
+ case MAT_IN_REFL:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->ref; break;
+ case MAT_IN_MIR:
+ VECCOPY(((bNodeSocketValueRGBA*)sock->default_value)->value, &ma->mirr); break;
+ case MAT_IN_AMB:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->amb; break;
+ case MAT_IN_EMIT:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->emit; break;
+ case MAT_IN_SPECTRA:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->spectra; break;
+ case MAT_IN_RAY_MIRROR:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->ray_mirror; break;
+ case MAT_IN_ALPHA:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->alpha; break;
+ case MAT_IN_TRANSLUCENCY:
+ ((bNodeSocketValueFloat*)sock->default_value)->value= ma->translucency; break;
+ }
+ }
+ }
+ }
+ }
+
+}
+
+
+void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
+{
+ memset(gs, 0, sizeof(*gs));
+
+ QUATCOPY(gs->vec, ns->vec);
+ gs->link= ns->data;
+
+ if (type == SOCK_FLOAT)
+ gs->type= GPU_FLOAT;
+ else if (type == SOCK_VECTOR)
+ gs->type= GPU_VEC3;
+ else if (type == SOCK_RGBA)
+ gs->type= GPU_VEC4;
+ else
+ gs->type= GPU_NONE;
+
+ gs->name = "";
+ gs->hasinput= ns->hasinput && ns->data;
+ gs->hasoutput= ns->hasoutput && ns->data;
+ gs->sockettype= ns->sockettype;
+}
+
+void node_data_from_gpu_stack(bNodeStack *ns, GPUNodeStack *gs)
+{
+ ns->data= gs->link;
+ ns->sockettype= gs->sockettype;
+}
+
+static void gpu_stack_from_data_list(GPUNodeStack *gs, ListBase *sockets, bNodeStack **ns)
+{
+ bNodeSocket *sock;
+ int i;
+
+ for (sock=sockets->first, i=0; sock; sock=sock->next, i++)
+ node_gpu_stack_from_data(&gs[i], sock->type, ns[i]);
+
+ gs[i].type= GPU_NONE;
+}
+
+static void data_from_gpu_stack_list(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
+{
+ bNodeSocket *sock;
+ int i;
+
+ for (sock=sockets->first, i=0; sock; sock=sock->next, i++)
+ node_data_from_gpu_stack(ns[i], &gs[i]);
+}
+
+void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, int do_outputs)
+{
+ bNodeExec *nodeexec;
+ bNode *node;
+ int n;
+ bNodeStack *stack;
+ bNodeStack *nsin[MAX_SOCKET]; /* arbitrary... watch this */
+ bNodeStack *nsout[MAX_SOCKET]; /* arbitrary... watch this */
+ GPUNodeStack gpuin[MAX_SOCKET+1], gpuout[MAX_SOCKET+1];
+ int doit;
+
+ stack= exec->stack;
+
+ for(n=0, nodeexec= exec->nodeexec; n < exec->totnodes; ++n, ++nodeexec) {
+ node = nodeexec->node;
+
+ doit = 0;
+ /* for groups, only execute outputs for edited group */
+ if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+ if(do_outputs && (node->flag & NODE_DO_OUTPUT))
+ doit = 1;
+ }
+ else
+ doit = 1;
+
+ if (doit) {
+ if(node->typeinfo->gpufunc) {
+ node_get_stack(node, stack, nsin, nsout);
+ gpu_stack_from_data_list(gpuin, &node->inputs, nsin);
+ gpu_stack_from_data_list(gpuout, &node->outputs, nsout);
+ if(node->typeinfo->gpufunc(mat, node, gpuin, gpuout))
+ data_from_gpu_stack_list(&node->outputs, nsout, gpuout);
+ }
+ else if(node->typeinfo->gpuextfunc) {
+ node_get_stack(node, stack, nsin, nsout);
+ gpu_stack_from_data_list(gpuin, &node->inputs, nsin);
+ gpu_stack_from_data_list(gpuout, &node->outputs, nsout);
+ if(node->typeinfo->gpuextfunc(mat, node, nodeexec->data, gpuin, gpuout))
+ data_from_gpu_stack_list(&node->outputs, nsout, gpuout);
+ }
+ }
+ }
+}
diff --git a/source/blender/nodes/intern/SHD_util.h b/source/blender/nodes/shader/node_shader_util.h
index e6b1377067d..4c929c93517 100644
--- a/source/blender/nodes/intern/SHD_util.h
+++ b/source/blender/nodes/shader/node_shader_util.h
@@ -27,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_util.h
+/** \file blender/nodes/shader/node_shader_util.h
* \ingroup nodes
*/
-#ifndef SHD_NODE_UTIL_H_
-#define SHD_NODE_UTIL_H_
+#ifndef NODE_SHADER_UTIL_H_
+#define NODE_SHADER_UTIL_H_
#include <math.h>
#include <float.h>
@@ -61,7 +61,7 @@
#include "BKE_library.h"
-#include "../SHD_node.h"
+#include "NOD_shader.h"
#include "node_util.h"
#include "BLI_math.h"
@@ -122,4 +122,9 @@ typedef struct ShaderCallData {
extern void node_ID_title_cb(void *node_v, void *unused_v);
void nodestack_get_vec(float *in, short type_in, bNodeStack *ns);
+void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, struct bNodeStack *ns);
+void node_data_from_gpu_stack(struct bNodeStack *ns, struct GPUNodeStack *gs);
+
+void ntreeExecGPUNodes(struct bNodeTreeExec *exec, struct GPUMaterial *mat, int do_outputs);
+
#endif
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c b/source/blender/nodes/shader/nodes/node_shader_camera.c
index eea572bf271..c1e737fcb53 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_camera.c
+++ b/source/blender/nodes/shader/nodes/node_shader_camera.c
@@ -27,18 +27,18 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_camera.c
+/** \file blender/nodes/shader/nodes/node_shader_camera.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** CAMERA INFO ******************** */
-static bNodeSocketType sh_node_camera_out[]= {
- { SOCK_VECTOR, 0, "View Vector", 1.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f}, /* None of these actually */
- { SOCK_VALUE, 0, "View Z Depth", 0.f, 0.0f, 0.0f, 0.0f, 0.0f, 99999999999.0f}, /* have any limits on their */
- { SOCK_VALUE, 0, "View Distance", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 99999999999.0f}, /* values. */
+static bNodeSocketTemplate sh_node_camera_out[]= {
+ { SOCK_VECTOR, 0, "View Vector"},
+ { SOCK_FLOAT, 0, "View Z Depth"},
+ { SOCK_FLOAT, 0, "View Distance"},
{ -1, 0, "" }
};
@@ -63,8 +63,8 @@ void register_node_type_sh_camera(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0,
- NULL, sh_node_camera_out);
+ node_type_base(&ntype, SH_NODE_CAMERA, "Camera Data", NODE_CLASS_INPUT, 0);
+ node_type_socket_templates(&ntype, NULL, sh_node_camera_out);
node_type_size(&ntype, 95, 95, 120);
node_type_storage(&ntype, "node_camera", NULL, NULL);
node_type_exec(&ntype, node_shader_exec_camera);
diff --git a/source/blender/nodes/shader/nodes/node_shader_common.c b/source/blender/nodes/shader/nodes/node_shader_common.c
new file mode 100644
index 00000000000..2dd15ab1e99
--- /dev/null
+++ b/source/blender/nodes/shader/nodes/node_shader_common.c
@@ -0,0 +1,327 @@
+/*
+ * $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): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/shader/nodes/node_shader_common.c
+ * \ingroup shdnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_shader_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+static void move_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+ to->is_copy = from->is_copy;
+
+ zero_v4(from->vec);
+ from->data = NULL;
+ from->datatype = 0;
+ from->is_copy = 0;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ bNodeTreeExec *exec;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeShaderBeginExecTree(ngroup, 0);
+
+ return exec;
+}
+
+static void group_freeexec(bNode *UNUSED(node), void *nodedata)
+{
+ bNodeTreeExec*gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeShaderEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_move_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ move_stack(out[a], ns);
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ group_copy_inputs(node, in, nts->stack);
+ ntreeExecThreadNodes(exec, nts, data, thread);
+ group_move_outputs(node, out, nts->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+static void group_gpu_copy_inputs(bNode *node, GPUNodeStack *in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ /* convert the external gpu stack back to internal node stack data */
+ node_data_from_gpu_stack(ns, &in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_gpu_move_outputs(bNode *node, GPUNodeStack *out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ /* convert the node stack data result back to gpu stack */
+ node_gpu_stack_from_data(&out[a], sock->type, ns);
+ }
+ }
+}
+
+static int gpu_group_execute(GPUMaterial *mat, bNode *node, void *nodedata, GPUNodeStack *in, GPUNodeStack *out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+
+ group_gpu_copy_inputs(node, in, exec->stack);
+ ntreeExecGPUNodes(exec, mat, (node->flag & NODE_GROUP_EDIT));
+ group_gpu_move_outputs(node, out, exec->stack);
+
+ return 1;
+}
+
+void register_node_type_sh_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+ node_type_gpu_ext(&ntype, gpu_group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int iterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+// group_copy_inputs(node, in, nts->stack);
+ for (iteration=0; iteration < iterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+ ns->vec[1]=ns->vec[2]=ns->vec[3] = 0.0f;
+
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_sh_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+ iteration = 0;
+// group_copy_inputs(node, in, nts->stack);
+ while (condition && iteration < node->custom1) {
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_sh_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c b/source/blender/nodes/shader/nodes/node_shader_curves.c
index a39a639897e..9dedeba6d39 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_curves.c
+++ b/source/blender/nodes/shader/nodes/node_shader_curves.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_curves.c
+/** \file blender/nodes/shader/nodes/node_shader_curves.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** CURVE VEC ******************** */
-static bNodeSocketType sh_node_curve_vec_in[]= {
- { SOCK_VALUE, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_vec_in[]= {
+ { SOCK_FLOAT, 0, "Fac", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_curve_vec_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_vec_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -57,7 +57,7 @@ static void node_shader_exec_curve_vec(void *UNUSED(data), bNode *node, bNodeSta
curvemapping_evaluate3F(node->storage, out[0]->vec, vec);
}
-static void node_shader_init_curve_vec(bNode* node)
+static void node_shader_init_curve_vec(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(3, -1.0f, -1.0f, 1.0f, 1.0f);
}
@@ -75,8 +75,8 @@ void register_node_type_sh_curve_vec(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_curve_vec_in, sh_node_curve_vec_out);
+ node_type_base(&ntype, SH_NODE_CURVE_VEC, "Vector Curves", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_curve_vec_in, sh_node_curve_vec_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_shader_init_curve_vec);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -88,14 +88,14 @@ void register_node_type_sh_curve_vec(ListBase *lb)
/* **************** CURVE RGB ******************** */
-static bNodeSocketType sh_node_curve_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_curve_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_curve_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -112,7 +112,7 @@ static void node_shader_exec_curve_rgb(void *UNUSED(data), bNode *node, bNodeSta
}
}
-static void node_shader_init_curve_rgb(bNode *node)
+static void node_shader_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -129,8 +129,8 @@ void register_node_type_sh_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_curve_rgb_in, sh_node_curve_rgb_out);
+ node_type_base(&ntype, SH_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_curve_rgb_in, sh_node_curve_rgb_out);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, node_shader_init_curve_rgb);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c b/source/blender/nodes/shader/nodes/node_shader_dynamic.c
index d5e5d5eeb93..5aae54d858b 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_dynamic.c
+++ b/source/blender/nodes/shader/nodes/node_shader_dynamic.c
@@ -27,7 +27,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_dynamic.c
+/** \file blender/nodes/shader/nodes/node_shader_dynamic.c
* \ingroup shdnodes
*/
@@ -54,7 +54,7 @@
#endif
#endif
-#include "../SHD_util.h"
+#include "node_shader_util.h"
// XXX
#if 0
@@ -95,7 +95,7 @@ static bNodeType *node_dynamic_find_typeinfo(ListBase *list, ID *id)
static void node_dynamic_free_typeinfo_sockets(bNodeType *tinfo)
{
- bNodeSocketType *sock;
+ bNodeSocketTemplate *sock;
if (!tinfo) return;
@@ -782,7 +782,7 @@ void register_node_type_sh_dynamic(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, 0, NULL, NULL);
+ node_type_base(&ntype, NODE_DYNAMIC, "Dynamic", NODE_CLASS_OP_DYNAMIC, 0);
nodeRegisterType(lb, &ntype);
}
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c b/source/blender/nodes/shader/nodes/node_shader_geom.c
index 379f54bec57..585d1e59d15 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_geom.c
+++ b/source/blender/nodes/shader/nodes/node_shader_geom.c
@@ -27,27 +27,27 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_geom.c
+/** \file blender/nodes/shader/nodes/node_shader_geom.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
#include "DNA_customdata_types.h"
/* **************** GEOMETRY ******************** */
/* output socket type definition */
-static bNodeSocketType sh_node_geom_out[]= {
- { SOCK_VECTOR, 0, "Global", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f}, /* btw; uses no limit */
- { SOCK_VECTOR, 0, "Local", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "View", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "Orco", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "UV", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 0, "Vertex Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Front/Back", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_geom_out[]= {
+ { SOCK_VECTOR, 0, "Global"},
+ { SOCK_VECTOR, 0, "Local"},
+ { SOCK_VECTOR, 0, "View"},
+ { SOCK_VECTOR, 0, "Orco"},
+ { SOCK_VECTOR, 0, "UV"},
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_RGBA, 0, "Vertex Color"},
+ { SOCK_FLOAT, 0, "Front/Back"},
{ -1, 0, "" }
};
@@ -118,7 +118,7 @@ static void node_shader_exec_geom(void *data, bNode *node, bNodeStack **UNUSED(i
}
}
-static void node_shader_init_geometry(bNode *node)
+static void node_shader_init_geometry(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= MEM_callocN(sizeof(NodeGeometry), "NodeGeometry");
}
@@ -140,8 +140,8 @@ void register_node_type_sh_geom(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_geom_out);
+ node_type_base(&ntype, SH_NODE_GEOMETRY, "Geometry", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_geom_out);
node_type_size(&ntype, 120, 80, 160);
node_type_init(&ntype, node_shader_init_geometry);
node_type_storage(&ntype, "NodeGeometry", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
index 91fd995dbbe..f4f69cf56fe 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
+++ b/source/blender/nodes/shader/nodes/node_shader_hueSatVal.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_hueSatVal.c
+/** \file blender/nodes/shader/nodes/node_shader_hueSatVal.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** Hue Saturation ******************** */
-static bNodeSocketType sh_node_hue_sat_in[]= {
- { SOCK_VALUE, 1, "Hue", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f},
- { SOCK_VALUE, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f},
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_hue_sat_in[]= {
+ { SOCK_FLOAT, 1, "Hue", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_hue_sat_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_hue_sat_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -86,8 +86,8 @@ void register_node_type_sh_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_hue_sat_in, sh_node_hue_sat_out);
+ node_type_base(&ntype, SH_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_hue_sat_in, sh_node_hue_sat_out);
node_type_size(&ntype, 150, 80, 250);
node_type_exec(&ntype, node_shader_exec_hue_sat);
node_type_gpu(&ntype, gpu_shader_hue_sat);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_invert.c b/source/blender/nodes/shader/nodes/node_shader_invert.c
index f8d6e54859e..5347d98b42e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_invert.c
+++ b/source/blender/nodes/shader/nodes/node_shader_invert.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_invert.c
+/** \file blender/nodes/shader/nodes/node_shader_invert.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** INVERT ******************** */
-static bNodeSocketType sh_node_invert_in[]= {
- { SOCK_VALUE, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_invert_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_invert_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_invert_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -78,8 +78,8 @@ void register_node_type_sh_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_invert_in, sh_node_invert_out);
+ node_type_base(&ntype, SH_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_invert_in, sh_node_invert_out);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, node_shader_exec_invert);
node_type_gpu(&ntype, gpu_shader_invert);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c b/source/blender/nodes/shader/nodes/node_shader_mapping.c
index eb300301ce2..05432708b29 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_mapping.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mapping.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_mapping.c
+/** \file blender/nodes/shader/nodes/node_shader_mapping.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MAPPING ******************** */
-static bNodeSocketType sh_node_mapping_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mapping_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_mapping_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mapping_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
{ -1, 0, "" }
};
@@ -69,7 +69,7 @@ static void node_shader_exec_mapping(void *UNUSED(data), bNode *node, bNodeStack
}
-static void node_shader_init_mapping(bNode *node)
+static void node_shader_init_mapping(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_mapping();
}
@@ -92,8 +92,8 @@ void register_node_type_sh_mapping(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_mapping_in, sh_node_mapping_out);
+ node_type_base(&ntype, SH_NODE_MAPPING, "Mapping", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_mapping_in, sh_node_mapping_out);
node_type_size(&ntype, 240, 160, 320);
node_type_init(&ntype, node_shader_init_mapping);
node_type_storage(&ntype, "TexMapping", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_material.c b/source/blender/nodes/shader/nodes/node_shader_material.c
index 8b477af0689..984bfed3ff9 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_material.c
+++ b/source/blender/nodes/shader/nodes/node_shader_material.c
@@ -27,54 +27,54 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_material.c
+/** \file blender/nodes/shader/nodes/node_shader_material.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MATERIAL ******************** */
-static bNodeSocketType sh_node_material_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_material_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
+ { SOCK_VECTOR, 0, "Normal"},
{ -1, 0, "" }
};
/* **************** EXTENDED MATERIAL ******************** */
-static bNodeSocketType sh_node_material_ext_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 1, "Mirror", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Ambient", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Emit", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "SpecTra", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Ray Mirror", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Translucency", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_ext_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_RGBA, 1, "Spec", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Refl", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_DIRECTION},
+ { SOCK_RGBA, 1, "Mirror", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Ambient", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Emit", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "SpecTra", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Ray Mirror", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_FLOAT, 1, "Alpha", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "Translucency", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_material_ext_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_RGBA, 0, "Diffuse", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 0, "Spec", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 0, "AO", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_material_ext_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_RGBA, 0, "Diffuse"},
+ { SOCK_RGBA, 0, "Spec"},
+ { SOCK_RGBA, 0, "AO"},
{ -1, 0, "" }
};
@@ -86,7 +86,7 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
ShaderCallData *shcd= data;
float col[4];
bNodeSocket *sock;
- char hasinput[NUM_MAT_IN];
+ char hasinput[NUM_MAT_IN]= {'\0'};
int i;
/* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
@@ -112,7 +112,7 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
nodestack_get_vec(&shi->specr, SOCK_VECTOR, in[MAT_IN_SPEC]);
if(hasinput[MAT_IN_REFL])
- nodestack_get_vec(&shi->refl, SOCK_VALUE, in[MAT_IN_REFL]);
+ nodestack_get_vec(&shi->refl, SOCK_FLOAT, in[MAT_IN_REFL]);
/* retrieve normal */
if(hasinput[MAT_IN_NORMAL]) {
@@ -133,17 +133,17 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
if(hasinput[MAT_IN_MIR])
nodestack_get_vec(&shi->mirr, SOCK_VECTOR, in[MAT_IN_MIR]);
if(hasinput[MAT_IN_AMB])
- nodestack_get_vec(&shi->amb, SOCK_VALUE, in[MAT_IN_AMB]);
+ nodestack_get_vec(&shi->amb, SOCK_FLOAT, in[MAT_IN_AMB]);
if(hasinput[MAT_IN_EMIT])
- nodestack_get_vec(&shi->emit, SOCK_VALUE, in[MAT_IN_EMIT]);
+ nodestack_get_vec(&shi->emit, SOCK_FLOAT, in[MAT_IN_EMIT]);
if(hasinput[MAT_IN_SPECTRA])
- nodestack_get_vec(&shi->spectra, SOCK_VALUE, in[MAT_IN_SPECTRA]);
+ nodestack_get_vec(&shi->spectra, SOCK_FLOAT, in[MAT_IN_SPECTRA]);
if(hasinput[MAT_IN_RAY_MIRROR])
- nodestack_get_vec(&shi->ray_mirror, SOCK_VALUE, in[MAT_IN_RAY_MIRROR]);
+ nodestack_get_vec(&shi->ray_mirror, SOCK_FLOAT, in[MAT_IN_RAY_MIRROR]);
if(hasinput[MAT_IN_ALPHA])
- nodestack_get_vec(&shi->alpha, SOCK_VALUE, in[MAT_IN_ALPHA]);
+ nodestack_get_vec(&shi->alpha, SOCK_FLOAT, in[MAT_IN_ALPHA]);
if(hasinput[MAT_IN_TRANSLUCENCY])
- nodestack_get_vec(&shi->translucency, SOCK_VALUE, in[MAT_IN_TRANSLUCENCY]);
+ nodestack_get_vec(&shi->translucency, SOCK_FLOAT, in[MAT_IN_TRANSLUCENCY]);
}
shi->nodes= 1; /* temp hack to prevent trashadow recursion */
@@ -204,18 +204,29 @@ static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in,
}
-static void node_shader_init_material(bNode* node)
+static void node_shader_init_material(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
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];
+ char hasinput[NUM_MAT_IN]= {'\0'};
int i;
/* note: cannot use the in[]->hasinput flags directly, as these are not necessarily
@@ -229,18 +240,18 @@ static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in,
/* write values */
if(hasinput[MAT_IN_COLOR])
- shi.rgb = in[MAT_IN_COLOR].link;
+ shi.rgb = gpu_get_input_link(&in[MAT_IN_COLOR]);
if(hasinput[MAT_IN_SPEC])
- shi.specrgb = in[MAT_IN_SPEC].link;
+ shi.specrgb = gpu_get_input_link(&in[MAT_IN_SPEC]);
if(hasinput[MAT_IN_REFL])
- shi.refl = in[MAT_IN_REFL].link;
+ shi.refl = gpu_get_input_link(&in[MAT_IN_REFL]);
/* retrieve normal */
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);
}
@@ -250,11 +261,11 @@ static int gpu_shader_material(GPUMaterial *mat, bNode *node, GPUNodeStack *in,
if (node->type == SH_NODE_MATERIAL_EXT) {
if(hasinput[MAT_IN_AMB])
- shi.amb= in[MAT_IN_AMB].link;
+ shi.amb= gpu_get_input_link(&in[MAT_IN_AMB]);
if(hasinput[MAT_IN_EMIT])
- shi.emit= in[MAT_IN_EMIT].link;
+ shi.emit= gpu_get_input_link(&in[MAT_IN_EMIT]);
if(hasinput[MAT_IN_ALPHA])
- shi.alpha= in[MAT_IN_ALPHA].link;
+ shi.alpha= gpu_get_input_link(&in[MAT_IN_ALPHA]);
}
GPU_shaderesult_set(&shi, &shr); /* clears shr */
@@ -297,8 +308,8 @@ void register_node_type_sh_material(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATERIAL, "Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_material_in, sh_node_material_out);
+ node_type_base(&ntype, SH_NODE_MATERIAL, "Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_material_in, sh_node_material_out);
node_type_size(&ntype, 120, 80, 240);
node_type_init(&ntype, node_shader_init_material);
node_type_exec(&ntype, node_shader_exec_material);
@@ -312,8 +323,8 @@ void register_node_type_sh_material_ext(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATERIAL_EXT, "Extended Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_material_ext_in, sh_node_material_ext_out);
+ node_type_base(&ntype, SH_NODE_MATERIAL_EXT, "Extended Material", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_material_ext_in, sh_node_material_ext_out);
node_type_size(&ntype, 120, 80, 240);
node_type_init(&ntype, node_shader_init_material);
node_type_exec(&ntype, node_shader_exec_material);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_math.c b/source/blender/nodes/shader/nodes/node_shader_math.c
index dd0a564dc4b..592779d6803 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_math.c
+++ b/source/blender/nodes/shader/nodes/node_shader_math.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_math.c
+/** \file blender/nodes/shader/nodes/node_shader_math.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType sh_node_math_in[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate sh_node_math_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_math_out[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_math_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -242,8 +242,8 @@ void register_node_type_sh_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_math_in, sh_node_math_out);
+ node_type_base(&ntype, SH_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_math_in, sh_node_math_out);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_storage(&ntype, "node_math", NULL, NULL);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
index 8b3033a98ca..a9e4f2129be 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_mixRgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_mixRgb.c
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_mixRgb.c
+/** \file blender/nodes/shader/nodes/node_shader_mixRgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType sh_node_mix_rgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA, 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mix_rgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
+ { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f},
+ { SOCK_RGBA, 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_mix_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_mix_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -54,7 +54,7 @@ static void node_shader_exec_mix_rgb(void *UNUSED(data), bNode *node, bNodeStack
float fac;
float vec[3];
- nodestack_get_vec(&fac, SOCK_VALUE, in[0]);
+ nodestack_get_vec(&fac, SOCK_FLOAT, in[0]);
CLAMP(fac, 0.0f, 1.0f);
nodestack_get_vec(col, SOCK_VECTOR, in[1]);
@@ -79,8 +79,8 @@ void register_node_type_sh_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- sh_node_mix_rgb_in, sh_node_mix_rgb_out);
+ node_type_base(&ntype, SH_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_mix_rgb_in, sh_node_mix_rgb_out);
node_type_size(&ntype, 100, 60, 150);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, node_shader_exec_mix_rgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c b/source/blender/nodes/shader/nodes/node_shader_normal.c
index a4e39935cea..1ce7c61c593 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_normal.c
+++ b/source/blender/nodes/shader/nodes/node_shader_normal.c
@@ -27,25 +27,36 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_normal.c
+/** \file blender/nodes/shader/nodes/node_shader_normal.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** NORMAL ******************** */
-static bNodeSocketType sh_node_normal_in[]= {
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_normal_in[]= {
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_normal_out[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
- { SOCK_VALUE, 0, "Dot", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_normal_out[]= {
+ { SOCK_VECTOR, 0, "Normal"},
+ { SOCK_FLOAT, 0, "Dot"},
{ -1, 0, "" }
};
+static void node_shader_init_normal(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueVector *dval= (bNodeSocketValueVector*)sock->default_value;
+
+ /* output value is used for normal vector */
+ dval->value[0] = 0.0f;
+ dval->value[1] = 0.0f;
+ dval->value[2] = 1.0f;
+}
+
/* generates normal, does dot product */
static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack **in, bNodeStack **out)
{
@@ -57,7 +68,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
nodestack_get_vec(vec, SOCK_VECTOR, in[0]);
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, ((bNodeSocketValueVector*)sock->default_value)->value);
/* render normals point inside... the widget points outside */
out[1]->vec[0]= -INPR(out[0]->vec, vec);
}
@@ -65,7 +76,7 @@ static void node_shader_exec_normal(void *UNUSED(data), bNode *node, bNodeStack
static int gpu_shader_normal(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ GPUNodeLink *vec = GPU_uniform(((bNodeSocketValueVector*)sock->default_value)->value);
return GPU_stack_link(mat, "normal", in, out, vec);
}
@@ -74,8 +85,9 @@ void register_node_type_sh_normal(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS,
- sh_node_normal_in, sh_node_normal_out);
+ node_type_base(&ntype, SH_NODE_NORMAL, "Normal", NODE_CLASS_OP_VECTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_normal_in, sh_node_normal_out);
+ node_type_init(&ntype, node_shader_init_normal);
node_type_exec(&ntype, node_shader_exec_normal);
node_type_gpu(&ntype, gpu_shader_normal);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_output.c b/source/blender/nodes/shader/nodes/node_shader_output.c
index e42caabff34..94990bd9cf1 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_output.c
+++ b/source/blender/nodes/shader/nodes/node_shader_output.c
@@ -27,17 +27,17 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_output.c
+/** \file blender/nodes/shader/nodes/node_shader_output.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** OUTPUT ******************** */
-static bNodeSocketType sh_node_output_in[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_output_in[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
@@ -49,7 +49,7 @@ static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bN
/* stack order input sockets: col, alpha, normal */
nodestack_get_vec(col, SOCK_VECTOR, in[0]);
- nodestack_get_vec(col+3, SOCK_VALUE, in[1]);
+ nodestack_get_vec(col+3, SOCK_FLOAT, in[1]);
if(shi->do_preview) {
nodeAddToPreview(node, col, shi->xs, shi->ys, shi->do_manage);
@@ -84,8 +84,8 @@ void register_node_type_sh_output(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- sh_node_output_in, NULL);
+ node_type_base(&ntype, SH_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_output_in, NULL);
node_type_size(&ntype, 80, 60, 200);
node_type_exec(&ntype, node_shader_exec_output);
node_type_gpu(&ntype, gpu_shader_output);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c b/source/blender/nodes/shader/nodes/node_shader_rgb.c
index 3d7f401b055..d612e5c228f 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_rgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_rgb.c
@@ -27,30 +27,43 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_rgb.c
+/** \file blender/nodes/shader/nodes/node_shader_rgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** RGB ******************** */
-static bNodeSocketType sh_node_rgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_rgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
+static void node_shader_init_rgb(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueRGBA *dval= (bNodeSocketValueRGBA*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value[0] = 0.5f;
+ dval->value[1] = 0.5f;
+ dval->value[2] = 0.5f;
+ dval->value[3] = 1.0f;
+}
+
static void node_shader_exec_rgb(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
- VECCOPY(out[0]->vec, sock->ns.vec);
+ VECCOPY(out[0]->vec, col);
}
static int gpu_shader_rgb(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ float *col= ((bNodeSocketValueRGBA*)sock->default_value)->value;
+ GPUNodeLink *vec = GPU_uniform(col);
return GPU_stack_link(mat, "set_rgba", in, out, vec);
}
@@ -59,8 +72,9 @@ void register_node_type_sh_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_rgb_out);
+ node_type_base(&ntype, SH_NODE_RGB, "RGB", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_rgb_out);
+ node_type_init(&ntype, node_shader_init_rgb);
node_type_size(&ntype, 140, 80, 140);
node_type_exec(&ntype, node_shader_exec_rgb);
node_type_gpu(&ntype, gpu_shader_rgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
index e4fa0b02521..15a8a4952fb 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c
+++ b/source/blender/nodes/shader/nodes/node_shader_sepcombRGB.c
@@ -1,5 +1,5 @@
/*
- *
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -27,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_sepcombRGB.c
+/** \file blender/nodes/shader/nodes/node_shader_sepcombRGB.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** SEPARATE RGBA ******************** */
-static bNodeSocketType sh_node_seprgb_in[]= {
- { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_seprgb_in[]= {
+ { SOCK_RGBA, 1, "Image", 0.8f, 0.8f, 0.8f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_seprgb_out[]= {
- { SOCK_VALUE, 0, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_seprgb_out[]= {
+ { SOCK_FLOAT, 0, "R"},
+ { SOCK_FLOAT, 0, "G"},
+ { SOCK_FLOAT, 0, "B"},
{ -1, 0, "" }
};
@@ -62,8 +62,8 @@ void register_node_type_sh_seprgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTOR, 0,
- sh_node_seprgb_in, sh_node_seprgb_out);
+ node_type_base(&ntype, SH_NODE_SEPRGB, "Separate RGB", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, sh_node_seprgb_in, sh_node_seprgb_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_shader_exec_seprgb);
node_type_gpu(&ntype, gpu_shader_seprgb);
@@ -74,14 +74,14 @@ void register_node_type_sh_seprgb(ListBase *lb)
/* **************** COMBINE RGB ******************** */
-static bNodeSocketType sh_node_combrgb_in[]= {
- { SOCK_VALUE, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_combrgb_in[]= {
+ { SOCK_FLOAT, 1, "R", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "G", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
+ { SOCK_FLOAT, 1, "B", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_UNSIGNED},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_combrgb_out[]= {
- { SOCK_RGBA, 0, "Image", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_combrgb_out[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -101,8 +101,8 @@ void register_node_type_sh_combrgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_combrgb_in, sh_node_combrgb_out);
+ node_type_base(&ntype, SH_NODE_COMBRGB, "Combine RGB", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_combrgb_in, sh_node_combrgb_out);
node_type_size(&ntype, 80, 40, 140);
node_type_exec(&ntype, node_shader_exec_combrgb);
node_type_gpu(&ntype, gpu_shader_combrgb);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
index 80693ff08f0..b9eb116b866 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_squeeze.c
+++ b/source/blender/nodes/shader/nodes/node_shader_squeeze.c
@@ -27,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_squeeze.c
+/** \file blender/nodes/shader/nodes/node_shader_squeeze.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALUE SQUEEZE ******************** */
-static bNodeSocketType sh_node_squeeze_in[]= {
- { SOCK_VALUE, 1, "Value", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Width", 1.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Center", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate sh_node_squeeze_in[]= {
+ { SOCK_FLOAT, 1, "Value", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Width", 1.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Center", 0.0f, 0.0f, 0.0f, 0.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_squeeze_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_squeeze_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -52,9 +52,9 @@ bNodeStack **out)
{
float vec[3];
- nodestack_get_vec(vec, SOCK_VALUE, in[0]);
- nodestack_get_vec(vec+1, SOCK_VALUE, in[1]);
- nodestack_get_vec(vec+2, SOCK_VALUE, in[2]);
+ nodestack_get_vec(vec, SOCK_FLOAT, in[0]);
+ nodestack_get_vec(vec+1, SOCK_FLOAT, in[1]);
+ nodestack_get_vec(vec+2, SOCK_FLOAT, in[2]);
out[0]->vec[0] = 1.0f / (1.0f + pow(2.71828183,-((vec[0]-vec[2])*vec[1]))) ;
}
@@ -68,8 +68,8 @@ void register_node_type_sh_squeeze(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_squeeze_in, sh_node_squeeze_out);
+ node_type_base(&ntype, SH_NODE_SQUEEZE, "Squeeze Value", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_squeeze_in, sh_node_squeeze_out);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_squeeze", NULL, NULL);
node_type_exec(&ntype, node_shader_exec_squeeze);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c b/source/blender/nodes/shader/nodes/node_shader_texture.c
index 249e4eeca5d..09716820800 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_texture.c
+++ b/source/blender/nodes/shader/nodes/node_shader_texture.c
@@ -27,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_texture.c
+/** \file blender/nodes/shader/nodes/node_shader_texture.c
* \ingroup shdnodes
*/
#include "DNA_texture_types.h"
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** TEXTURE ******************** */
-static bNodeSocketType sh_node_texture_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f}, /* no limit */
+static bNodeSocketTemplate sh_node_texture_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE}, /* no limit */
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_texture_out[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_RGBA , 0, "Color", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate sh_node_texture_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
+ { SOCK_RGBA , 0, "Color"},
+ { SOCK_VECTOR, 0, "Normal"},
{ -1, 0, "" }
};
@@ -137,8 +137,8 @@ void register_node_type_sh_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW,
- sh_node_texture_in, sh_node_texture_out);
+ node_type_base(&ntype, SH_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_OPTIONS|NODE_PREVIEW);
+ node_type_socket_templates(&ntype, sh_node_texture_in, sh_node_texture_out);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, node_shader_exec_texture);
node_type_gpu(&ntype, gpu_shader_texture);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
index 86f832c12ee..5c1d3096a6e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_valToRgb.c
+++ b/source/blender/nodes/shader/nodes/node_shader_valToRgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_valToRgb.c
+/** \file blender/nodes/shader/nodes/node_shader_valToRgb.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType sh_node_valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_valtorgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
+ { SOCK_FLOAT, 0, "Alpha"},
{ -1, 0, "" }
};
@@ -52,14 +52,14 @@ static void node_shader_exec_valtorgb(void *UNUSED(data), bNode *node, bNodeStac
if(node->storage) {
float fac;
- nodestack_get_vec(&fac, SOCK_VALUE, in[0]);
+ nodestack_get_vec(&fac, SOCK_FLOAT, in[0]);
do_colorband(node->storage, fac, out[0]->vec);
out[1]->vec[0]= out[0]->vec[3];
}
}
-static void node_shader_init_valtorgb(bNode *node)
+static void node_shader_init_valtorgb(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= add_colorband(1);
}
@@ -77,8 +77,8 @@ void register_node_type_sh_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_valtorgb_in, sh_node_valtorgb_out);
+ node_type_base(&ntype, SH_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_valtorgb_in, sh_node_valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, node_shader_init_valtorgb);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -90,12 +90,12 @@ void register_node_type_sh_valtorgb(ListBase *lb)
/* **************** RGBTOBW ******************** */
-static bNodeSocketType sh_node_rgbtobw_in[]= {
+static bNodeSocketTemplate sh_node_rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -117,8 +117,8 @@ void register_node_type_sh_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- sh_node_rgbtobw_in, sh_node_rgbtobw_out);
+ node_type_base(&ntype, SH_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, sh_node_rgbtobw_in, sh_node_rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, node_shader_exec_rgbtobw);
node_type_gpu(&ntype, gpu_shader_rgbtobw);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_value.c b/source/blender/nodes/shader/nodes/node_shader_value.c
index 29a75bbf36d..bbd3f8fc242 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_value.c
+++ b/source/blender/nodes/shader/nodes/node_shader_value.c
@@ -27,30 +27,40 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_value.c
+/** \file blender/nodes/shader/nodes/node_shader_value.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VALUE ******************** */
-static bNodeSocketType sh_node_value_out[]= {
- { SOCK_VALUE, 0, "Value", 0.5f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f},
+static bNodeSocketTemplate sh_node_value_out[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
+static void node_shader_init_value(bNodeTree *UNUSED(ntree), bNode *node, bNodeTemplate *UNUSED(ntemp))
+{
+ bNodeSocket *sock= node->outputs.first;
+ bNodeSocketValueFloat *dval= (bNodeSocketValueFloat*)sock->default_value;
+ /* uses the default value of the output socket, must be initialized here */
+ dval->value = 0.5f;
+}
+
static void node_shader_exec_value(void *UNUSED(data), bNode *node, bNodeStack **UNUSED(in), bNodeStack **out)
{
bNodeSocket *sock= node->outputs.first;
+ float val= ((bNodeSocketValueFloat*)sock->default_value)->value;
- out[0]->vec[0]= sock->ns.vec[0];
+ out[0]->vec[0]= val;
}
static int gpu_shader_value(GPUMaterial *mat, bNode *node, GPUNodeStack *in, GPUNodeStack *out)
{
bNodeSocket *sock= node->outputs.first;
- GPUNodeLink *vec = GPU_uniform(sock->ns.vec);
+ float *val= &((bNodeSocketValueFloat*)sock->default_value)->value;
+ GPUNodeLink *vec = GPU_uniform(val);
return GPU_stack_link(mat, "set_value", in, out, vec);
}
@@ -59,8 +69,9 @@ void register_node_type_sh_value(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, sh_node_value_out);
+ node_type_base(&ntype, SH_NODE_VALUE, "Value", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, sh_node_value_out);
+ node_type_init(&ntype, node_shader_init_value);
node_type_size(&ntype, 80, 50, 120);
node_type_exec(&ntype, node_shader_exec_value);
node_type_gpu(&ntype, gpu_shader_value);
diff --git a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c b/source/blender/nodes/shader/nodes/node_shader_vectMath.c
index 9979e488a71..ca31d879e3e 100644
--- a/source/blender/nodes/intern/SHD_nodes/SHD_vectMath.c
+++ b/source/blender/nodes/shader/nodes/node_shader_vectMath.c
@@ -27,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/SHD_nodes/SHD_vectMath.c
+/** \file blender/nodes/shader/nodes/node_shader_vectMath.c
* \ingroup shdnodes
*/
-#include "../SHD_util.h"
+#include "node_shader_util.h"
/* **************** VECTOR MATH ******************** */
-static bNodeSocketType sh_node_vect_math_in[]= {
- { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_vect_math_in[]= {
+ { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE},
+ { SOCK_VECTOR, 1, "Vector", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType sh_node_vect_math_out[]= {
- { SOCK_VECTOR, 0, "Vector", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate sh_node_vect_math_out[]= {
+ { SOCK_VECTOR, 0, "Vector"},
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -136,8 +136,8 @@ void register_node_type_sh_vect_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, SH_NODE_VECT_MATH, "Vector Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- sh_node_vect_math_in, sh_node_vect_math_out);
+ node_type_base(&ntype, SH_NODE_VECT_MATH, "Vector Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, sh_node_vect_math_in, sh_node_vect_math_out);
node_type_size(&ntype, 80, 75, 140);
node_type_label(&ntype, node_vect_math_label);
node_type_storage(&ntype, "node_vect_math", NULL, NULL);
diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.c
new file mode 100644
index 00000000000..603aa7ceb77
--- /dev/null
+++ b/source/blender/nodes/texture/node_texture_tree.c
@@ -0,0 +1,251 @@
+/**
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s):
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/texture/node_texture_tree.c
+ * \ingroup nodes
+ */
+
+
+#include <string.h>
+
+#include "DNA_texture_types.h"
+#include "DNA_node_types.h"
+
+#include "BLI_listbase.h"
+#include "BLI_threads.h"
+#include "BLI_utildefines.h"
+
+#include "BKE_global.h"
+#include "BKE_main.h"
+#include "BKE_node.h"
+
+#include "node_exec.h"
+#include "node_util.h"
+#include "NOD_texture.h"
+#include "node_texture_util.h"
+
+#include "RE_pipeline.h"
+#include "RE_shader_ext.h"
+
+
+static void foreach_nodetree(Main *main, void *calldata, bNodeTreeCallback func)
+{
+ Tex *tx;
+ for(tx= main->tex.first; tx; tx= tx->id.next) {
+ if(tx->nodetree) {
+ func(calldata, &tx->id, tx->nodetree);
+ }
+ }
+}
+
+static void local_sync(bNodeTree *localtree, bNodeTree *ntree)
+{
+ bNode *lnode;
+
+ /* copy over contents of previews */
+ for(lnode= localtree->nodes.first; lnode; lnode= lnode->next) {
+ if(ntreeNodeExists(ntree, lnode->new_node)) {
+ bNode *node= lnode->new_node;
+
+ if(node->preview && node->preview->rect) {
+ if(lnode->preview && lnode->preview->rect) {
+ int xsize= node->preview->xsize;
+ int ysize= node->preview->ysize;
+ memcpy(node->preview->rect, lnode->preview->rect, 4*xsize + xsize*ysize*sizeof(char)*4);
+ }
+ }
+ }
+ }
+}
+
+bNodeTreeType ntreeType_Texture = {
+ /* type */ NTREE_TEXTURE,
+ /* id_name */ "NTTexture Nodetree",
+
+ /* node_types */ { NULL, NULL },
+
+ /* free_cache */ NULL,
+ /* free_node_cache */ NULL,
+ /* foreach_nodetree */ foreach_nodetree,
+ /* localize */ NULL,
+ /* local_sync */ local_sync,
+ /* local_merge */ NULL,
+ /* update */ NULL,
+ /* update_node */ NULL
+};
+
+int ntreeTexTagAnimated(bNodeTree *ntree)
+{
+ bNode *node;
+
+ if(ntree==NULL) return 0;
+
+ for(node= ntree->nodes.first; node; node= node->next) {
+ if(node->type==TEX_NODE_CURVE_TIME) {
+ NodeTagChanged(ntree, node);
+ return 1;
+ }
+ else if(node->type==NODE_GROUP) {
+ if( ntreeTexTagAnimated((bNodeTree *)node->id) ) {
+ return 1;
+ }
+ }
+ }
+
+ return 0;
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+bNodeTreeExec *ntreeTexBeginExecTree(bNodeTree *ntree, int use_tree_data)
+{
+ bNodeTreeExec *exec;
+ bNode *node;
+
+ if (use_tree_data) {
+ /* XXX hack: prevent exec data from being generated twice.
+ * this should be handled by the renderer!
+ */
+ if (ntree->execdata)
+ return ntree->execdata;
+ }
+
+ /* common base initialization */
+ exec = ntree_exec_begin(ntree);
+
+ /* allocate the thread stack listbase array */
+ exec->threadstack= MEM_callocN(BLENDER_MAX_THREADS*sizeof(ListBase), "thread stack array");
+
+ for(node= exec->nodetree->nodes.first; node; node= node->next)
+ node->need_exec= 1;
+
+ if (use_tree_data) {
+ /* XXX this should not be necessary, but is still used for cmp/sha/tex nodes,
+ * which only store the ntree pointer. Should be fixed at some point!
+ */
+ ntree->execdata = exec;
+ }
+
+ return exec;
+}
+
+/* free texture delegates */
+static void tex_free_delegates(bNodeTreeExec *exec)
+{
+ bNodeThreadStack *nts;
+ bNodeStack *ns;
+ int th, a;
+
+ for(th=0; th<BLENDER_MAX_THREADS; th++)
+ for(nts=exec->threadstack[th].first; nts; nts=nts->next)
+ for(ns= nts->stack, a=0; a<exec->stacksize; a++, ns++)
+ if(ns->data && !ns->is_copy)
+ MEM_freeN(ns->data);
+}
+
+/* XXX Group nodes must set use_tree_data to false, since their trees can be shared by multiple nodes.
+ * If use_tree_data is true, the ntree->execdata pointer is checked to avoid multiple execution of top-level trees.
+ */
+void ntreeTexEndExecTree(bNodeTreeExec *exec, int use_tree_data)
+{
+ if(exec) {
+ bNodeTree *ntree= exec->nodetree;
+ bNodeThreadStack *nts;
+ int a;
+
+ if(exec->threadstack) {
+ tex_free_delegates(exec);
+
+ for(a=0; a<BLENDER_MAX_THREADS; a++) {
+ for(nts=exec->threadstack[a].first; nts; nts=nts->next)
+ if (nts->stack) MEM_freeN(nts->stack);
+ BLI_freelistN(&exec->threadstack[a]);
+ }
+
+ MEM_freeN(exec->threadstack);
+ exec->threadstack= NULL;
+ }
+
+ ntree_exec_end(exec);
+
+ if (use_tree_data) {
+ /* XXX clear nodetree backpointer to exec data, same problem as noted in ntreeBeginExecTree */
+ ntree->execdata = NULL;
+ }
+ }
+}
+
+int ntreeTexExecTree(
+ bNodeTree *nodes,
+ TexResult *texres,
+ float *co,
+ float *dxt, float *dyt,
+ int osatex,
+ short thread,
+ Tex *UNUSED(tex),
+ short which_output,
+ int cfra,
+ int preview,
+ ShadeInput *shi,
+ MTex *mtex
+){
+ TexCallData data;
+ float *nor= texres->nor;
+ int retval = TEX_INT;
+ bNodeThreadStack *nts = NULL;
+ bNodeTreeExec *exec= nodes->execdata;
+
+ data.co = co;
+ data.dxt = dxt;
+ data.dyt = dyt;
+ data.osatex = osatex;
+ data.target = texres;
+ data.do_preview = preview;
+ data.thread = thread;
+ data.which_output = which_output;
+ data.cfra= cfra;
+ data.mtex= mtex;
+ data.shi= shi;
+
+ if (!exec)
+ exec = ntreeTexBeginExecTree(nodes, 1);
+
+ nts= ntreeGetThreadStack(exec, thread);
+ ntreeExecThreadNodes(exec, nts, &data, thread);
+ ntreeReleaseThreadStack(nts);
+
+ if(texres->nor) retval |= TEX_NOR;
+ retval |= TEX_RGB;
+ /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set
+ however, the texture code checks this for other reasons (namely, a normal is required for material) */
+ texres->nor= nor;
+
+ return retval;
+}
diff --git a/source/blender/nodes/intern/TEX_util.c b/source/blender/nodes/texture/node_texture_util.c
index b5e27ca2ccb..7b8f42aa925 100644
--- a/source/blender/nodes/intern/TEX_util.c
+++ b/source/blender/nodes/texture/node_texture_util.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,7 +27,7 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_util.c
+/** \file blender/nodes/texture/node_texture_util.c
* \ingroup nodes
*/
@@ -48,11 +49,11 @@
*/
#include <assert.h>
-#include "TEX_util.h"
+#include "node_texture_util.h"
#define PREV_RES 128 /* default preview resolution */
-void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, short thread)
+static void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, short thread)
{
if(dg->node->need_exec) {
dg->fn(out, params, dg->node, dg->in, thread);
@@ -68,7 +69,7 @@ static void tex_input(float *out, int sz, bNodeStack *in, TexParams *params, sho
if(dg) {
tex_call_delegate(dg, in->vec, params, thread);
- if(in->hasoutput && in->sockettype == SOCK_VALUE)
+ if(in->hasoutput && in->sockettype == SOCK_FLOAT)
in->vec[1] = in->vec[2] = in->vec[0];
}
memcpy(out, in->vec, sz * sizeof(float));
@@ -83,7 +84,7 @@ void tex_input_rgba(float *out, bNodeStack *in, TexParams *params, short thread)
{
tex_input(out, 4, in, params, thread);
- if(in->hasoutput && in->sockettype == SOCK_VALUE)
+ if(in->hasoutput && in->sockettype == SOCK_FLOAT)
{
out[1] = out[2] = out[0];
out[3] = 1;
@@ -170,45 +171,3 @@ void ntreeTexCheckCyclics(struct bNodeTree *ntree)
}
}
-
-int ntreeTexExecTree(
- bNodeTree *nodes,
- TexResult *texres,
- float *co,
- float *dxt, float *dyt,
- int osatex,
- short thread,
- Tex *UNUSED(tex),
- short which_output,
- int cfra,
- int preview,
- ShadeInput *shi,
- MTex *mtex
-){
- TexCallData data;
- float *nor= texres->nor;
- int retval = TEX_INT;
-
- data.co = co;
- data.dxt = dxt;
- data.dyt = dyt;
- data.osatex = osatex;
- data.target = texres;
- data.do_preview = preview;
- data.thread = thread;
- data.which_output = which_output;
- data.cfra= cfra;
- data.mtex= mtex;
- data.shi= shi;
-
- ntreeExecTree(nodes, &data, thread);
-
- if(texres->nor) retval |= TEX_NOR;
- retval |= TEX_RGB;
- /* confusing stuff; the texture output node sets this to NULL to indicate no normal socket was set
- however, the texture code checks this for other reasons (namely, a normal is required for material) */
- texres->nor= nor;
-
- return retval;
-}
-
diff --git a/source/blender/nodes/intern/TEX_util.h b/source/blender/nodes/texture/node_texture_util.h
index 0875bcd52bf..ccaf5df9897 100644
--- a/source/blender/nodes/intern/TEX_util.h
+++ b/source/blender/nodes/texture/node_texture_util.h
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_util.h
+/** \file blender/nodes/texture/node_texture_util.h
* \ingroup nodes
*/
-#ifndef TEX_NODE_UTIL_H_
-#define TEX_NODE_UTIL_H_
+#ifndef NODE_TEXTURE_UTIL_H_
+#define NODE_TEXTURE_UTIL_H_
#include <math.h>
#include <string.h>
@@ -60,7 +61,6 @@
#include "BKE_library.h"
-#include "../SHD_node.h"
#include "node_util.h"
#include "BLI_math.h"
@@ -112,8 +112,6 @@ typedef struct TexDelegate {
int type;
} TexDelegate;
-void tex_call_delegate(TexDelegate*, float *out, TexParams *params, short thread);
-
void tex_input_rgba(float *out, bNodeStack *in, TexParams *params, short thread);
void tex_input_vec(float *out, bNodeStack *in, TexParams *params, short thread);
float tex_input_value(bNodeStack *in, TexParams *params, short thread);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_at.c b/source/blender/nodes/texture/nodes/node_texture_at.c
index d5980b786b0..34993a93092 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_at.c
+++ b/source/blender/nodes/texture/nodes/node_texture_at.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_at.c
+/** \file blender/nodes/texture/nodes/node_texture_at.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Texture", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 1, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Texture", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 1, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Texture", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Texture" },
{ -1, 0, "" }
};
@@ -63,8 +64,8 @@ void register_node_type_tex_at(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_AT, "At", NODE_CLASS_DISTORT, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_AT, "At", NODE_CLASS_DISTORT, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c b/source/blender/nodes/texture/nodes/node_texture_bricks.c
index 0eb982496a9..a9a82fe4d65 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_bricks.c
+++ b/source/blender/nodes/texture/nodes/node_texture_bricks.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,32 +27,33 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_bricks.c
+/** \file blender/nodes/texture/nodes/node_texture_bricks.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Bricks 1", 0.596f, 0.282f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Bricks 2", 0.632f, 0.504f, 0.05f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Mortar", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Thickness", 0.02f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Bias", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VALUE, 1, "Brick Width", 0.5f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f },
- { SOCK_VALUE, 1, "Row Height", 0.25f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Bricks 1", 0.596f, 0.282f, 0.0f, 1.0f },
+ { SOCK_RGBA, 1, "Bricks 2", 0.632f, 0.504f, 0.05f, 1.0f },
+ { SOCK_RGBA, 1, "Mortar", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_FLOAT, 1, "Thickness", 0.02f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Bias", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Brick Width", 0.5f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Row Height", 0.25f, 0.0f, 0.0f, 0.0f, 0.001f, 99.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
-static void init(bNode *node) {
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
+{
node->custom3 = 0.5; /* offset */
node->custom4 = 1.0; /* squash */
}
@@ -123,8 +125,8 @@ void register_node_type_tex_bricks(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_BRICKS, "Bricks", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_BRICKS, "Bricks", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 150, 60, 150);
node_type_init(&ntype, init);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c b/source/blender/nodes/texture/nodes/node_texture_checker.c
index c6c25ba1a8a..7762c9ef992 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_checker.c
+++ b/source/blender/nodes/texture/nodes/node_texture_checker.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_checker.c
+/** \file blender/nodes/texture/nodes/node_texture_checker.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color1", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Size", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color1", 1.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_RGBA, 1, "Color2", 1.0f, 1.0f, 1.0f, 1.0f },
+ { SOCK_FLOAT, 1, "Size", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 100.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -74,8 +75,8 @@ void register_node_type_tex_checker(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CHECKER, "Checker", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_CHECKER, "Checker", NODE_CLASS_PATTERN, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/texture/nodes/node_texture_common.c b/source/blender/nodes/texture/nodes/node_texture_common.c
new file mode 100644
index 00000000000..1b46b830909
--- /dev/null
+++ b/source/blender/nodes/texture/nodes/node_texture_common.c
@@ -0,0 +1,271 @@
+/*
+ * $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): Campbell Barton, Alfredo de Greef, David Millan Escriva,
+ * Juho Vepsäläinen
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/nodes/texture/nodes/node_texture_common.c
+ * \ingroup texnodes
+ */
+
+
+#include "DNA_node_types.h"
+
+#include "BKE_node.h"
+
+#include "node_texture_util.h"
+#include "node_common.h"
+#include "node_exec.h"
+
+static void copy_stack(bNodeStack *to, bNodeStack *from)
+{
+ if (to != from) {
+ copy_v4_v4(to->vec, from->vec);
+ to->data = from->data;
+ to->datatype = from->datatype;
+
+ /* tag as copy to prevent freeing */
+ to->is_copy = 1;
+ }
+}
+
+/**** GROUP ****/
+
+static void *group_initexec(bNode *node)
+{
+ bNodeTree *ngroup= (bNodeTree*)node->id;
+ void *exec;
+
+ /* initialize the internal node tree execution */
+ exec = ntreeTexBeginExecTree(ngroup, 0);
+
+ return exec;
+}
+
+static void group_freeexec(bNode *UNUSED(node), void *nodedata)
+{
+ bNodeTreeExec*gexec= (bNodeTreeExec*)nodedata;
+
+ ntreeTexEndExecTree(gexec, 0);
+}
+
+/* Copy inputs to the internal stack.
+ * This is a shallow copy, no buffers are duplicated here!
+ */
+static void group_copy_inputs(bNode *node, bNodeStack **in, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->inputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(ns, in[a]);
+ }
+ }
+}
+
+/* Copy internal results to the external outputs.
+ */
+static void group_copy_outputs(bNode *node, bNodeStack **out, bNodeStack *gstack)
+{
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int a;
+ for (sock=node->outputs.first, a=0; sock; sock=sock->next, ++a) {
+ if (sock->groupsock) {
+ ns = node_get_socket_stack(gstack, sock->groupsock);
+ copy_stack(out[a], ns);
+ }
+ }
+}
+
+static void group_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ group_copy_inputs(node, in, nts->stack);
+ ntreeExecThreadNodes(exec, nts, data, thread);
+ group_copy_outputs(node, out, nts->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_group(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_GROUP, "Group", NODE_CLASS_GROUP, NODE_OPTIONS|NODE_CONST_OUTPUT);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_group_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_group_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, group_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+
+
+/**** FOR LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void forloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int iterations= (int)in[0]->vec[0];
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Iteration" socket */
+ sock = exec->nodetree->inputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+// group_copy_inputs(node, in, nts->stack);
+ for (iteration=0; iteration < iterations; ++iteration) {
+ /* first input contains current iteration counter */
+ ns->vec[0] = (float)iteration;
+ ns->vec[1]=ns->vec[2]=ns->vec[3] = 0.0f;
+
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_forloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_FORLOOP, "For", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_forloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_forloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_forloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, forloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
+
+/**** WHILE LOOP ****/
+
+#if 0 /* XXX loop nodes don't work nicely with current trees */
+static void whileloop_execute(void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out)
+{
+ bNodeTreeExec *exec= (bNodeTreeExec*)nodedata;
+ bNodeThreadStack *nts;
+ int condition= (in[0]->vec[0] > 0.0f);
+ bNodeSocket *sock;
+ bNodeStack *ns;
+ int iteration;
+
+ /* XXX same behavior as trunk: all nodes inside group are executed.
+ * it's stupid, but just makes it work. compo redesign will do this better.
+ */
+ {
+ bNode *inode;
+ for (inode=exec->nodetree->nodes.first; inode; inode=inode->next)
+ inode->need_exec = 1;
+ }
+
+ nts = ntreeGetThreadStack(exec, thread);
+
+ /* "Condition" socket */
+ sock = exec->nodetree->outputs.first;
+ ns = node_get_socket_stack(nts->stack, sock);
+
+ iteration = 0;
+// group_copy_inputs(node, in, nts->stack);
+ while (condition && iteration < node->custom1) {
+// if (iteration > 0)
+// loop_init_iteration(exec->nodetree, nts->stack);
+// ntreeExecThreadNodes(exec, nts, data, thread);
+
+ condition = (ns->vec[0] > 0.0f);
+ ++iteration;
+ }
+// loop_copy_outputs(node, in, out, exec->stack);
+
+ ntreeReleaseThreadStack(nts);
+}
+
+void register_node_type_tex_whileloop(ListBase *lb)
+{
+ static bNodeType ntype;
+
+ node_type_base(&ntype, NODE_WHILELOOP, "While", NODE_CLASS_GROUP, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, NULL);
+ node_type_size(&ntype, 120, 60, 200);
+ node_type_label(&ntype, node_group_label);
+ node_type_init(&ntype, node_whileloop_init);
+ node_type_valid(&ntype, node_group_valid);
+ node_type_template(&ntype, node_whileloop_template);
+ node_type_update(&ntype, NULL, node_group_verify);
+ node_type_tree(&ntype, node_whileloop_init_tree, node_loop_update_tree);
+ node_type_group_edit(&ntype, node_group_edit_get, node_group_edit_set, node_group_edit_clear);
+ node_type_exec_new(&ntype, group_initexec, group_freeexec, whileloop_execute);
+
+ nodeRegisterType(lb, &ntype);
+}
+#endif
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c b/source/blender/nodes/texture/nodes/node_texture_compose.c
index 6eae78ec3de..d224ae793e2 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_compose.c
+++ b/source/blender/nodes/texture/nodes/node_texture_compose.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_compose.c
+/** \file blender/nodes/texture/nodes/node_texture_compose.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -62,8 +63,8 @@ void register_node_type_tex_compose(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_COMPOSE, "Compose RGBA", NODE_CLASS_OP_COLOR, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_COMPOSE, "Compose RGBA", NODE_CLASS_OP_COLOR, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c b/source/blender/nodes/texture/nodes/node_texture_coord.c
index 3c46971f0d4..2bfa2ff2314 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_coord.c
+++ b/source/blender/nodes/texture/nodes/node_texture_coord.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,16 +27,16 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_coord.c
+/** \file blender/nodes/texture/nodes/node_texture_coord.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType outputs[]= {
- { SOCK_VECTOR, 0, "Coordinates", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_VECTOR, 0, "Coordinates" },
{ -1, 0, "" }
};
@@ -55,8 +56,8 @@ void register_node_type_tex_coord(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_COORD, "Coordinates", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, outputs);
+ node_type_base(&ntype, TEX_NODE_COORD, "Coordinates", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_coord", NULL, NULL);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c b/source/blender/nodes/texture/nodes/node_texture_curves.c
index b7af6c748ff..dd65f979bbe 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_curves.c
+++ b/source/blender/nodes/texture/nodes/node_texture_curves.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,19 +27,19 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_curves.c
+/** \file blender/nodes/texture/nodes/node_texture_curves.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** CURVE Time ******************** */
/* custom1 = sfra, custom2 = efra */
-static bNodeSocketType time_outputs[]= {
- { SOCK_VALUE, 0, "Value", 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate time_outputs[]= {
+ { SOCK_FLOAT, 0, "Value" },
{ -1, 0, "" }
};
@@ -60,7 +61,7 @@ static void time_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out
}
-static void time_init(bNode* node)
+static void time_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->custom1= 1;
node->custom2= 250;
@@ -71,8 +72,8 @@ void register_node_type_tex_curve_time(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CURVE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS,
- NULL, time_outputs);
+ node_type_base(&ntype, TEX_NODE_CURVE_TIME, "Time", NODE_CLASS_INPUT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, time_outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_init(&ntype, time_init);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
@@ -82,13 +83,13 @@ void register_node_type_tex_curve_time(ListBase *lb)
}
/* **************** CURVE RGB ******************** */
-static bNodeSocketType rgb_inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate rgb_inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType rgb_outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f},
+static bNodeSocketTemplate rgb_outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -106,7 +107,7 @@ static void rgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
tex_output(node, in, out[0], &rgb_colorfn, data);
}
-static void rgb_init(bNode *node)
+static void rgb_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage= curvemapping_add(4, 0.0f, 0.0f, 1.0f, 1.0f);
}
@@ -115,8 +116,8 @@ void register_node_type_tex_curve_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- rgb_inputs, rgb_outputs);
+ node_type_base(&ntype, TEX_NODE_CURVE_RGB, "RGB Curves", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, rgb_inputs, rgb_outputs);
node_type_size(&ntype, 200, 140, 320);
node_type_init(&ntype, rgb_init);
node_type_storage(&ntype, "CurveMapping", node_free_curves, node_copy_curves);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c b/source/blender/nodes/texture/nodes/node_texture_decompose.c
index f27d8c98716..016ee5498d8 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_decompose.c
+++ b/source/blender/nodes/texture/nodes/node_texture_decompose.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_decompose.c
+/** \file blender/nodes/texture/nodes/node_texture_decompose.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Red", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Green", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Blue", 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 0, "Alpha", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Red" },
+ { SOCK_FLOAT, 0, "Green" },
+ { SOCK_FLOAT, 0, "Blue" },
+ { SOCK_FLOAT, 0, "Alpha" },
{ -1, 0, "" }
};
@@ -83,8 +84,8 @@ void register_node_type_tex_decompose(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_DECOMPOSE, "Decompose RGBA", NODE_CLASS_OP_COLOR, 0,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_DECOMPOSE, "Decompose RGBA", NODE_CLASS_OP_COLOR, 0);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c b/source/blender/nodes/texture/nodes/node_texture_distance.c
index b460844ba4a..ef3f701d8f3 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_distance.c
+++ b/source/blender/nodes/texture/nodes/node_texture_distance.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_distance.c
+/** \file blender/nodes/texture/nodes/node_texture_distance.c
* \ingroup texnodes
*/
#include <math.h>
#include "BLI_math.h"
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VECTOR, 1, "Coordinate 1", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VECTOR, 1, "Coordinate 2", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_VECTOR, 1, "Coordinate 1", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_VECTOR, 1, "Coordinate 2", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Value" },
{ -1, 0, "" }
};
@@ -66,8 +67,8 @@ void register_node_type_tex_distance(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_DISTANCE, "Distance", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_DISTANCE, "Distance", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_storage(&ntype, "node_distance", NULL, NULL);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c
index 471d8db2c03..cd7ebb18018 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
+++ b/source/blender/nodes/texture/nodes/node_texture_hueSatVal.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_hueSatVal.c
+/** \file blender/nodes/texture/nodes/node_texture_hueSatVal.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Hue", 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.5f },
- { SOCK_VALUE, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f },
- { SOCK_VALUE, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f },
- { SOCK_VALUE, 1, "Factor", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Hue", 0.0f, 0.0f, 0.0f, 0.0f, -0.5f, 0.5f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Saturation", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR },
+ { SOCK_FLOAT, 1, "Value", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 2.0f, PROP_FACTOR },
+ { SOCK_FLOAT, 1, "Factor", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR },
+ { SOCK_RGBA, 1, "Color", 0.8f, 0.8f, 0.8f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -97,8 +98,8 @@ void register_node_type_tex_hue_sat(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_HUE_SAT, "Hue Saturation Value", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 150, 80, 250);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_image.c b/source/blender/nodes/texture/nodes/node_texture_image.c
index a54ca4bb119..6e749a80d99 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_image.c
+++ b/source/blender/nodes/texture/nodes/node_texture_image.c
@@ -27,16 +27,16 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_image.c
+/** \file blender/nodes/texture/nodes/node_texture_image.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Image", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Image"},
{ -1, 0, "" }
};
@@ -88,7 +88,7 @@ static void exec(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
tex_output(node, in, out[0], &colorfn, data);
}
-static void init(bNode* node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
ImageUser *iuser= MEM_callocN(sizeof(ImageUser), "node image user");
node->storage= iuser;
@@ -101,8 +101,8 @@ void register_node_type_tex_image(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- NULL, outputs);
+ node_type_base(&ntype, TEX_NODE_IMAGE, "Image", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, NULL, outputs);
node_type_size(&ntype, 120, 80, 300);
node_type_init(&ntype, init);
node_type_storage(&ntype, "ImageUser", node_free_standard_storage, node_copy_standard_storage);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c b/source/blender/nodes/texture/nodes/node_texture_invert.c
index e908bdcff07..d18bb86d5fa 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_invert.c
+++ b/source/blender/nodes/texture/nodes/node_texture_invert.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_invert.c
+/** \file blender/nodes/texture/nodes/node_texture_invert.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** INVERT ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -68,8 +69,8 @@ void register_node_type_tex_invert(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_INVERT, "Invert", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_math.c b/source/blender/nodes/texture/nodes/node_texture_math.c
index 18468bdd55c..04f399069c1 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_math.c
+++ b/source/blender/nodes/texture/nodes/node_texture_math.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,24 +27,24 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_math.c
+/** \file blender/nodes/texture/nodes/node_texture_math.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** SCALAR MATH ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
- { SOCK_VALUE, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
+ { SOCK_FLOAT, 1, "Value", 0.5f, 0.5f, 0.5f, 1.0f, -100.0f, 100.0f, PROP_NONE},
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VALUE, 0, "Value", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_FLOAT, 0, "Value"},
{ -1, 0, "" }
};
@@ -189,8 +190,8 @@ void register_node_type_tex_math(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_MATH, "Math", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 110, 160);
node_type_label(&ntype, node_math_label);
node_type_storage(&ntype, "node_math", NULL, NULL);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c b/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
index c7668c27b99..933a0302df8 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
+++ b/source/blender/nodes/texture/nodes/node_texture_mixRgb.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_mixRgb.c
+/** \file blender/nodes/texture/nodes/node_texture_mixRgb.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** MIX RGB ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Factor", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA , 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Factor", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR },
+ { SOCK_RGBA, 1, "Color1", 0.5f, 0.5f, 0.5f, 1.0f },
+ { SOCK_RGBA , 1, "Color2", 0.5f, 0.5f, 0.5f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
@@ -69,8 +70,8 @@ void register_node_type_tex_mix_rgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_MIX_RGB, "Mix", NODE_CLASS_OP_COLOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_label(&ntype, node_blend_label);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_output.c b/source/blender/nodes/texture/nodes/node_texture_output.c
index 046ad724507..3095e224446 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_output.c
+++ b/source/blender/nodes/texture/nodes/node_texture_output.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,18 +27,18 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_output.c
+/** \file blender/nodes/texture/nodes/node_texture_output.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** COMPOSITE ******************** */
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_VECTOR, 1, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_DIRECTION},
{ -1, 0, "" }
};
@@ -141,7 +142,7 @@ static void assign_index(struct bNode *node)
node->custom1 = index;
}
-static void init(bNode *node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
TexNodeOutput *tno = MEM_callocN(sizeof(TexNodeOutput), "TEX_output");
node->storage= tno;
@@ -162,8 +163,8 @@ void register_node_type_tex_output(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS,
- inputs, NULL);
+ node_type_base(&ntype, TEX_NODE_OUTPUT, "Output", NODE_CLASS_OUTPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, NULL);
node_type_size(&ntype, 150, 60, 200);
node_type_init(&ntype, init);
node_type_storage(&ntype, "TexNodeOutput", node_free_standard_storage, copy);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c b/source/blender/nodes/texture/nodes/node_texture_proc.c
index 294c1f7322f..237e4d6923d 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_proc.c
+++ b/source/blender/nodes/texture/nodes/node_texture_proc.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,13 +27,13 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_proc.c
+/** \file blender/nodes/texture/nodes/node_texture_proc.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include "RE_shader_ext.h"
@@ -41,21 +42,21 @@
*/
-static bNodeSocketType outputs_both[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs_both[]= {
+ { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_DIRECTION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs_color_only[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs_color_only[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
/* Inputs common to all, #defined because nodes will need their own inputs too */
#define I 2 /* count */
#define COMMON_INPUTS \
- { SOCK_RGBA, 1, "Color 1", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f }, \
- { SOCK_RGBA, 1, "Color 2", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f }
+ { SOCK_RGBA, 1, "Color 1", 0.0f, 0.0f, 0.0f, 1.0f }, \
+ { SOCK_RGBA, 1, "Color 2", 1.0f, 1.0f, 1.0f, 1.0f }
/* Calls multitex and copies the result to the outputs. Called by xxx_exec, which handles inputs. */
static void do_proc(float *result, TexParams *p, float *col1, float *col2, char is_normal, Tex *tex, short thread)
@@ -139,15 +140,15 @@ static int count_outputs(bNode *node)
/* --- VORONOI -- */
-static bNodeSocketType voronoi_inputs[]= {
+static bNodeSocketTemplate voronoi_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "W1", 1.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W2", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W3", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
- { SOCK_VALUE, 1, "W4", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f },
+ { SOCK_FLOAT, 1, "W1", 1.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W2", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W3", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "W4", 0.0f, 0.0f, 0.0f, 0.0f, -2.0f, 2.0f, PROP_NONE },
- { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.01f, 10.0f },
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 4.0f },
+ { SOCK_FLOAT, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.01f, 10.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 4.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
@@ -164,7 +165,7 @@ static void voronoi_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short th
ProcDef(voronoi)
/* --- BLEND -- */
-static bNodeSocketType blend_inputs[]= {
+static bNodeSocketTemplate blend_inputs[]= {
COMMON_INPUTS,
{ -1, 0, "" }
};
@@ -172,9 +173,9 @@ ProcNoInputs(blend)
ProcDef(blend)
/* -- MAGIC -- */
-static bNodeSocketType magic_inputs[]= {
+static bNodeSocketTemplate magic_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void magic_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -184,10 +185,10 @@ static void magic_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thre
ProcDef(magic)
/* --- MARBLE --- */
-static bNodeSocketType marble_inputs[]= {
+static bNodeSocketTemplate marble_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void marble_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -198,9 +199,9 @@ static void marble_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thr
ProcDef(marble)
/* --- CLOUDS --- */
-static bNodeSocketType clouds_inputs[]= {
+static bNodeSocketTemplate clouds_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void clouds_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -210,10 +211,10 @@ static void clouds_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thr
ProcDef(clouds)
/* --- DISTORTED NOISE --- */
-static bNodeSocketType distnoise_inputs[]= {
+static bNodeSocketTemplate distnoise_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Distortion", 1.00f, 0.0f, 0.0f, 0.0f, 0.0000f, 10.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Distortion", 1.00f, 0.0f, 0.0f, 0.0f, 0.0000f, 10.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void distnoise_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -224,10 +225,10 @@ static void distnoise_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short
ProcDef(distnoise)
/* --- WOOD --- */
-static bNodeSocketType wood_inputs[]= {
+static bNodeSocketTemplate wood_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void wood_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -238,14 +239,14 @@ static void wood_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short threa
ProcDef(wood)
/* --- MUSGRAVE --- */
-static bNodeSocketType musgrave_inputs[]= {
+static bNodeSocketTemplate musgrave_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "H", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Lacunarity", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6.0f },
- { SOCK_VALUE, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 8.0f },
+ { SOCK_FLOAT, 1, "H", 1.0f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Lacunarity", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 6.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Octaves", 2.0f, 0.0f, 0.0f, 0.0f, 0.0f, 8.0f, PROP_UNSIGNED },
- { SOCK_VALUE, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f },
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
+ { SOCK_FLOAT, 1, "iScale", 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void musgrave_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -259,7 +260,7 @@ static void musgrave_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short t
ProcDef(musgrave)
/* --- NOISE --- */
-static bNodeSocketType noise_inputs[]= {
+static bNodeSocketTemplate noise_inputs[]= {
COMMON_INPUTS,
{ -1, 0, "" }
};
@@ -267,10 +268,10 @@ ProcNoInputs(noise)
ProcDef(noise)
/* --- STUCCI --- */
-static bNodeSocketType stucci_inputs[]= {
+static bNodeSocketTemplate stucci_inputs[]= {
COMMON_INPUTS,
- { SOCK_VALUE, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f },
- { SOCK_VALUE, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f },
+ { SOCK_FLOAT, 1, "Size", 0.25f, 0.0f, 0.0f, 0.0f, 0.0001f, 2.0f, PROP_UNSIGNED },
+ { SOCK_FLOAT, 1, "Turbulence", 5.0f, 0.0f, 0.0f, 0.0f, 0.0f, 200.0f, PROP_UNSIGNED },
{ -1, 0, "" }
};
static void stucci_map_inputs(Tex *tex, bNodeStack **in, TexParams *p, short thread)
@@ -282,7 +283,7 @@ ProcDef(stucci)
/* --- */
-static void init(bNode *node)
+static void init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
Tex *tex = MEM_callocN(sizeof(Tex), "Tex");
node->storage= tex;
@@ -301,7 +302,8 @@ void register_node_type_tex_proc_##name(ListBase *lb) \
{ \
static bNodeType ntype; \
\
- node_type_base(&ntype, TEX_NODE_PROC+TEXTYPE, Name, NODE_CLASS_TEXTURE, NODE_PREVIEW|NODE_OPTIONS, name##_inputs, outputs); \
+ node_type_base(&ntype, TEX_NODE_PROC+TEXTYPE, Name, NODE_CLASS_TEXTURE, NODE_PREVIEW|NODE_OPTIONS); \
+ node_type_socket_templates(&ntype, name##_inputs, outputs); \
node_type_size(&ntype, 140, 80, 140); \
node_type_init(&ntype, init); \
node_type_storage(&ntype, "Tex", node_free_standard_storage, node_copy_standard_storage); \
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c b/source/blender/nodes/texture/nodes/node_texture_rotate.c
index 1be6152a2b3..afba9f199f9 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_rotate.c
+++ b/source/blender/nodes/texture/nodes/node_texture_rotate.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,25 +27,25 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_rotate.c
+/** \file blender/nodes/texture/nodes/node_texture_rotate.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VALUE, 1, "Turns", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f },
- { SOCK_VECTOR, 1, "Axis", 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_FLOAT, 1, "Turns", 0.0f, 0.0f, 0.0f, 0.0f, -1.0f, 1.0f, PROP_NONE },
+ { SOCK_VECTOR, 1, "Axis", 0.0f, 0.0f, 1.0f, 0.0f, -1.0f, 1.0f, PROP_DIRECTION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -100,8 +101,8 @@ void register_node_type_tex_rotate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_ROTATE, "Rotate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 140, 100, 320);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c b/source/blender/nodes/texture/nodes/node_texture_scale.c
index cfffcfda2e5..e3aee35977a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_scale.c
+++ b/source/blender/nodes/texture/nodes/node_texture_scale.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_scale.c
+/** \file blender/nodes/texture/nodes/node_texture_scale.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
+#include "node_texture_util.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 0.0f, -10.0f, 10.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f },
+ { SOCK_VECTOR, 1, "Scale", 1.0f, 1.0f, 1.0f, 0.0f, -10.0f, 10.0f, PROP_FACTOR },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -73,8 +74,8 @@ void register_node_type_tex_scale(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_SCALE, "Scale", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c b/source/blender/nodes/texture/nodes/node_texture_texture.c
index d4d77b5fd5a..96d6325671a 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_texture.c
+++ b/source/blender/nodes/texture/nodes/node_texture_texture.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,41 +27,41 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_texture.c
+/** \file blender/nodes/texture/nodes/node_texture_texture.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include "RE_shader_ext.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color1", 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_RGBA, 1, "Color2", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color1", 1.0f, 1.0f, 1.0f, 1.0f },
+ { SOCK_RGBA, 1, "Color2", 0.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color" },
{ -1, 0, "" }
};
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;
+ float co[3], dxt[3], dyt[3];
- Tex *nodetex = (Tex *)node->id;
+ 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;
@@ -72,7 +73,7 @@ static void colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, shor
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) {
@@ -94,8 +95,8 @@ void register_node_type_tex_texture(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_TEXTURE, "Texture", NODE_CLASS_INPUT, NODE_PREVIEW|NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 120, 80, 240);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c b/source/blender/nodes/texture/nodes/node_texture_translate.c
index 8f7d6d837d7..b970bfbff76 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_translate.c
+++ b/source/blender/nodes/texture/nodes/node_texture_translate.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,23 +27,23 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_translate.c
+/** \file blender/nodes/texture/nodes/node_texture_translate.c
* \ingroup texnodes
*/
#include <math.h>
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
- { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 0.0f, 0.0f, 0.0f, 1.0f},
+ { SOCK_VECTOR, 1, "Offset", 0.0f, 0.0f, 0.0f, 0.0f, -10000.0f, 10000.0f, PROP_TRANSLATION },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -69,8 +70,8 @@ void register_node_type_tex_translate(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_TRANSLATE, "Translate", NODE_CLASS_DISTORT, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c b/source/blender/nodes/texture/nodes/node_texture_valToNor.c
index e430c0c9a95..523f416568c 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToNor.c
+++ b/source/blender/nodes/texture/nodes/node_texture_valToNor.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,22 +27,22 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_valToNor.c
+/** \file blender/nodes/texture/nodes/node_texture_valToNor.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
-static bNodeSocketType inputs[]= {
- { SOCK_VALUE, 1, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
- { SOCK_VALUE, 1, "Nabla", 0.025f, 0.0f, 0.0f, 0.0f, 0.001f, 0.1f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_FLOAT, 1, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, PROP_NONE },
+ { SOCK_FLOAT, 1, "Nabla", 0.025f, 0.0f, 0.0f, 0.0f, 0.001f, 0.1f, PROP_UNSIGNED },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
- { SOCK_VECTOR, 0, "Normal", 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate outputs[]= {
+ { SOCK_VECTOR, 0, "Normal" },
{ -1, 0, "" }
};
@@ -85,8 +86,8 @@ void register_node_type_tex_valtonor(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VALTONOR, "Value to Normal", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_VALTONOR, "Value to Normal", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 90, 80, 100);
node_type_exec(&ntype, exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c b/source/blender/nodes/texture/nodes/node_texture_valToRgb.c
index 8f59828081c..6398a398b32 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
+++ b/source/blender/nodes/texture/nodes/node_texture_valToRgb.c
@@ -27,21 +27,21 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_valToRgb.c
+/** \file blender/nodes/texture/nodes/node_texture_valToRgb.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
/* **************** VALTORGB ******************** */
-static bNodeSocketType valtorgb_in[]= {
- { SOCK_VALUE, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate valtorgb_in[]= {
+ { SOCK_FLOAT, 1, "Fac", 0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR},
{ -1, 0, "" }
};
-static bNodeSocketType valtorgb_out[]= {
- { SOCK_RGBA, 0, "Color", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate valtorgb_out[]= {
+ { SOCK_RGBA, 0, "Color"},
{ -1, 0, "" }
};
@@ -59,7 +59,7 @@ static void valtorgb_exec(void *data, bNode *node, bNodeStack **in, bNodeStack *
tex_output(node, in, out[0], &valtorgb_colorfn, data);
}
-static void valtorgb_init(bNode *node)
+static void valtorgb_init(bNodeTree *UNUSED(ntree), bNode* node, bNodeTemplate *UNUSED(ntemp))
{
node->storage = add_colorband(1);
}
@@ -68,8 +68,8 @@ void register_node_type_tex_valtorgb(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS,
- valtorgb_in, valtorgb_out);
+ node_type_base(&ntype, TEX_NODE_VALTORGB, "ColorRamp", NODE_CLASS_CONVERTOR, NODE_OPTIONS);
+ node_type_socket_templates(&ntype, valtorgb_in, valtorgb_out);
node_type_size(&ntype, 240, 200, 300);
node_type_init(&ntype, valtorgb_init);
node_type_storage(&ntype, "ColorBand", node_free_standard_storage, node_copy_standard_storage);
@@ -79,12 +79,12 @@ void register_node_type_tex_valtorgb(ListBase *lb)
}
/* **************** RGBTOBW ******************** */
-static bNodeSocketType rgbtobw_in[]= {
+static bNodeSocketTemplate rgbtobw_in[]= {
{ SOCK_RGBA, 1, "Color", 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
-static bNodeSocketType rgbtobw_out[]= {
- { SOCK_VALUE, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+static bNodeSocketTemplate rgbtobw_out[]= {
+ { SOCK_FLOAT, 0, "Val", 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
{ -1, 0, "" }
};
@@ -106,8 +106,8 @@ void register_node_type_tex_rgbtobw(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0,
- rgbtobw_in, rgbtobw_out);
+ node_type_base(&ntype, TEX_NODE_RGBTOBW, "RGB to BW", NODE_CLASS_CONVERTOR, 0);
+ node_type_socket_templates(&ntype, rgbtobw_in, rgbtobw_out);
node_type_size(&ntype, 80, 40, 120);
node_type_exec(&ntype, rgbtobw_exec);
diff --git a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c b/source/blender/nodes/texture/nodes/node_texture_viewer.c
index e917e525e17..b0aa74a83b2 100644
--- a/source/blender/nodes/intern/TEX_nodes/TEX_viewer.c
+++ b/source/blender/nodes/texture/nodes/node_texture_viewer.c
@@ -1,4 +1,5 @@
/*
+ * $Id$
*
* ***** BEGIN GPL LICENSE BLOCK *****
*
@@ -26,20 +27,20 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/nodes/intern/TEX_nodes/TEX_viewer.c
+/** \file blender/nodes/texture/nodes/node_texture_viewer.c
* \ingroup texnodes
*/
-#include "../TEX_util.h"
-#include "TEX_node.h"
+#include "node_texture_util.h"
+#include "NOD_texture.h"
#include <math.h>
-static bNodeSocketType inputs[]= {
- { SOCK_RGBA, 1, "Color", 1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f },
+static bNodeSocketTemplate inputs[]= {
+ { SOCK_RGBA, 1, "Color", 1.0f, 0.0f, 0.0f, 1.0f },
{ -1, 0, "" }
};
-static bNodeSocketType outputs[]= {
+static bNodeSocketTemplate outputs[]= {
{ -1, 0, "" }
};
@@ -61,8 +62,8 @@ void register_node_type_tex_viewer(ListBase *lb)
{
static bNodeType ntype;
- node_type_base(&ntype, TEX_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW,
- inputs, outputs);
+ node_type_base(&ntype, TEX_NODE_VIEWER, "Viewer", NODE_CLASS_OUTPUT, NODE_PREVIEW);
+ node_type_socket_templates(&ntype, inputs, outputs);
node_type_size(&ntype, 100, 60, 150);
node_type_exec(&ntype, exec);
diff --git a/source/blender/python/BPY_extern.h b/source/blender/python/BPY_extern.h
index ae5253d07a0..cd5c8e53ef7 100644
--- a/source/blender/python/BPY_extern.h
+++ b/source/blender/python/BPY_extern.h
@@ -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 0889c77f9ad..8dfbf476995 100644
--- a/source/blender/python/generic/CMakeLists.txt
+++ b/source/blender/python/generic/CMakeLists.txt
@@ -20,10 +20,10 @@
set(INC
.
- ../../blenlib
- ../../makesdna
../../blenkernel
+ ../../blenlib
../../blenloader
+ ../../makesdna
../../../../intern/guardedalloc
)
@@ -37,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
@@ -51,13 +44,6 @@ 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
)
diff --git a/source/blender/python/generic/IDProp.c b/source/blender/python/generic/IDProp.c
index a807624187a..2543d34f58c 100644
--- a/source/blender/python/generic/IDProp.c
+++ b/source/blender/python/generic/IDProp.c
@@ -45,26 +45,31 @@
#include "py_capi_utils.h"
#endif
-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 );
@@ -75,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;
@@ -135,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;
@@ -344,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;
@@ -352,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;
@@ -465,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;
@@ -480,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:
@@ -504,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:
@@ -553,6 +575,7 @@ static PyObject *BPy_IDGroup_MapDataToPy(IDProperty *prop)
return NULL;
PyDict_SetItemString(dict, loop->name, wrap);
+ Py_DECREF(wrap);
}
return dict;
}
@@ -595,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;
@@ -731,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);
}
@@ -773,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}
};
@@ -792,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 */
@@ -811,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 */
@@ -821,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; */
@@ -850,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; */
@@ -861,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;
@@ -872,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}
};
@@ -919,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!");
@@ -951,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);
@@ -959,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);
@@ -968,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;
@@ -988,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 */
@@ -1002,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; */
@@ -1106,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; */
@@ -1165,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 b5a693c397c..ae8069cf3c5 100644
--- a/source/blender/python/generic/bgl.c
+++ b/source/blender/python/generic/bgl.c
@@ -44,69 +44,177 @@
#include "BLI_utildefines.h"
-
-PyDoc_STRVAR(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) \
@@ -174,26 +282,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;
@@ -201,31 +296,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++) {
@@ -236,19 +341,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;
}
@@ -259,51 +367,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;
@@ -312,16 +417,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);
@@ -331,134 +434,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;
}
@@ -805,7 +954,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),
@@ -1153,9 +1301,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/noise_py_api.c b/source/blender/python/generic/noise_py_api.c
index f5761f713a6..7be0998c0a1 100644
--- a/source/blender/python/generic/noise_py_api.c
+++ b/source/blender/python/generic/noise_py_api.c
@@ -210,8 +210,8 @@ static void randuvec(float v[3])
if((r = 1.f - v[2] * v[2]) > 0.f) {
float a = (float)(6.283185307f * frand());
r = (float)sqrt(r);
- v[0] = (float)(r * cos(a));
- v[1] = (float)(r * sin(a));
+ v[0] = (float)(r * cosf(a));
+ v[1] = (float)(r * sinf(a));
}
else {
v[2] = 1.f;
@@ -254,7 +254,7 @@ static PyObject *Noise_noise(PyObject *UNUSED(self), PyObject *args)
if(!PyArg_ParseTuple(args, "(fff)|i:noise", &x, &y, &z, &nb))
return NULL;
- return PyFloat_FromDouble((2.0 * BLI_gNoise(1.0, x, y, z, 0, nb) - 1.0));
+ return PyFloat_FromDouble((2.0f * BLI_gNoise(1.0f, x, y, z, 0, nb) - 1.0f));
}
/*-------------------------------------------------------------------------*/
@@ -264,11 +264,11 @@ static PyObject *Noise_noise(PyObject *UNUSED(self), PyObject *args)
static void noise_vector(float x, float y, float z, int nb, float v[3])
{
/* Simply evaluate noise at 3 different positions */
- v[0] = (float)(2.0 * BLI_gNoise(1.f, x + 9.321f, y - 1.531f, z - 7.951f, 0,
- nb) - 1.0);
- v[1] = (float)(2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0);
- v[2] = (float)(2.0 * BLI_gNoise(1.f, x + 6.327f, y + 0.1671f, z - 2.672f, 0,
- nb) - 1.0);
+ v[0]= (float)(2.0f * BLI_gNoise(1.f, x + 9.321f, y - 1.531f, z - 7.951f, 0,
+ nb) - 1.0f);
+ v[1]= (float)(2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f);
+ v[2]= (float)(2.0f * BLI_gNoise(1.f, x + 6.327f, y + 0.1671f, z - 2.672f, 0,
+ nb) - 1.0f);
}
static PyObject *Noise_vector(PyObject *UNUSED(self), PyObject *args)
@@ -291,7 +291,7 @@ static float turb(float x, float y, float z, int oct, int hard, int nb,
float amp, out, t;
int i;
amp = 1.f;
- out = (float)(2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0);
+ out = (float)(2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f);
if(hard)
out = (float)fabs(out);
for(i = 1; i < oct; i++) {
@@ -299,7 +299,7 @@ static float turb(float x, float y, float z, int oct, int hard, int nb,
x *= freqscale;
y *= freqscale;
z *= freqscale;
- t = (float)(amp * (2.0 * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0));
+ t = (float)(amp * (2.0f * BLI_gNoise(1.f, x, y, z, 0, nb) - 1.0f));
if(hard)
t = (float)fabs(t);
out += t;
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c
index ec774f44075..b7e67ec5a93 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) {
@@ -140,77 +208,34 @@ PyObject *PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...)
return item;
}
-/* returns the exception string as a new PyUnicode object, depends on external StringIO module */
+/* returns the exception string as a new PyUnicode object, depends on external traceback module */
PyObject *PyC_ExceptionBuffer(void)
{
- PyObject *stdout_backup = PySys_GetObject("stdout"); /* borrowed */
- PyObject *stderr_backup = PySys_GetObject("stderr"); /* borrowed */
- PyObject *string_io = NULL;
- PyObject *string_io_buf = NULL;
- PyObject *string_io_mod= NULL;
- PyObject *string_io_getvalue= NULL;
-
- PyObject *error_type, *error_value, *error_traceback;
-
- if (!PyErr_Occurred())
- return NULL;
-
- PyErr_Fetch(&error_type, &error_value, &error_traceback);
-
- PyErr_Clear();
-
- /* import io
- * string_io = io.StringIO()
- */
-
- if(! (string_io_mod= PyImport_ImportModule("io")) ) {
+ PyObject *traceback_mod= NULL;
+ PyObject *format_tb_func= NULL;
+ PyObject *ret= NULL;
+
+ if(! (traceback_mod= PyImport_ImportModule("traceback")) ) {
goto error_cleanup;
}
- else if (! (string_io = PyObject_CallMethod(string_io_mod, (char *)"StringIO", NULL))) {
+ else if (! (format_tb_func= PyObject_GetAttrString(traceback_mod, "format_exc"))) {
goto error_cleanup;
}
- else if (! (string_io_getvalue= PyObject_GetAttrString(string_io, "getvalue"))) {
- goto error_cleanup;
+
+ ret= PyObject_CallObject(format_tb_func, NULL);
+
+ if(ret == Py_None) {
+ Py_DECREF(ret);
+ ret= NULL;
}
-
- Py_INCREF(stdout_backup); // since these were borrowed we dont want them freed when replaced.
- Py_INCREF(stderr_backup);
-
- PySys_SetObject("stdout", string_io); // both of these are free'd when restoring
- PySys_SetObject("stderr", string_io);
-
- PyErr_Restore(error_type, error_value, error_traceback);
- PyErr_Print(); /* print the error */
- PyErr_Clear();
-
- string_io_buf = PyObject_CallObject(string_io_getvalue, NULL);
-
- PySys_SetObject("stdout", stdout_backup);
- PySys_SetObject("stderr", stderr_backup);
-
- Py_DECREF(stdout_backup); /* now sys owns the ref again */
- Py_DECREF(stderr_backup);
-
- Py_DECREF(string_io_mod);
- Py_DECREF(string_io_getvalue);
- Py_DECREF(string_io); /* free the original reference */
-
- PyErr_Clear();
- return string_io_buf;
-
-
+
error_cleanup:
/* could not import the module so print the error and close */
- Py_XDECREF(string_io_mod);
- Py_XDECREF(string_io);
-
- PyErr_Restore(error_type, error_value, error_traceback);
- PyErr_Print(); /* print the error */
- PyErr_Clear();
-
- return NULL;
-}
+ Py_XDECREF(traceback_mod);
+ Py_XDECREF(format_tb_func);
+ return ret;
+}
/* string conversion, escape non-unicode chars, coerce must be set to NULL */
const char *PyC_UnicodeAsByte(PyObject *py_str, PyObject **coerce)
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 454a706a16b..93a4b3ec269 100644
--- a/source/blender/python/intern/CMakeLists.txt
+++ b/source/blender/python/intern/CMakeLists.txt
@@ -25,15 +25,14 @@
set(INC
..
+ ../../blenkernel
../../blenlib
+ ../../blenloader
+ ../../editors/include
../../makesdna
../../makesrna
- ../../blenkernel
- ../../blenloader
../../windowmanager
- ../../editors/include
../../../../intern/guardedalloc
- ../../../../intern/audaspace/intern
)
set(INC_SYS
@@ -43,8 +42,10 @@ set(INC_SYS
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
@@ -59,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
@@ -84,4 +87,8 @@ if(WITH_PYTHON_SAFETY)
add_definitions(-DWITH_PYTHON_SAFETY)
endif()
+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 cb11b53c83c..3f637feadf7 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -55,12 +55,10 @@
#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"
PyObject *bpy_package_py= NULL;
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_handlers.c b/source/blender/python/intern/bpy_app_handlers.c
new file mode 100644
index 00000000000..e7e46160199
--- /dev/null
+++ b/source/blender/python/intern/bpy_app_handlers.c
@@ -0,0 +1,171 @@
+/*
+ * $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 *)"render_stats", 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/python/intern/bpy_app_handlers.h b/source/blender/python/intern/bpy_app_handlers.h
new file mode 100644
index 00000000000..bfa413438b1
--- /dev/null
+++ b/source/blender/python/intern/bpy_app_handlers.h
@@ -0,0 +1,35 @@
+/*
+ * $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.h
+ * \ingroup pythonintern
+ */
+
+#ifndef BPY_APP_HANDLERS_H
+#define BPY_APP_HANDLERS_H
+
+PyObject *BPY_app_handlers_struct(void);
+void BPY_app_handlers_clear(void);
+
+#endif // BPY_APP_HANDLERS_H
diff --git a/source/blender/python/intern/bpy_driver.c b/source/blender/python/intern/bpy_driver.c
index dec393bd1e4..f3ef55d29c4 100644
--- a/source/blender/python/intern/bpy_driver.c
+++ b/source/blender/python/intern/bpy_driver.c
@@ -76,6 +76,13 @@ int bpy_pydriver_create_dict(void)
Py_DECREF(mod);
}
+ /* add noise to global namespace */
+ mod= PyImport_ImportModuleLevel((char *)"noise", NULL, NULL, NULL, 0);
+ if (mod) {
+ PyDict_SetItemString(bpy_pydriver_Dict, "noise", mod);
+ Py_DECREF(mod);
+ }
+
return 0;
}
@@ -87,7 +94,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= 1; /* !PYC_INTERPRETER_ACTIVE; */
if(use_gil)
gilstate= PyGILState_Ensure();
@@ -118,9 +125,14 @@ static void pydriver_error(ChannelDriver *driver)
/* This evals py driver expressions, 'expr' is a Python expression that
* should evaluate to a float number, which is returned.
*
- * 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.
+ * (old)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 PYC_INTERPRETER_ACTIVE
+ * if PyGILState_Ensure() is needed - see [#27683]
+ *
+ * (new)note: checking if python is running is not threadsafe [#28114]
+ * now release the GIL on python operator execution instead, using
+ * PyEval_SaveThread() / PyEval_RestoreThread() so we dont lock up blender.
*/
float BPY_driver_exec(ChannelDriver *driver)
{
@@ -147,7 +159,7 @@ float BPY_driver_exec(ChannelDriver *driver)
return 0.0f;
}
- use_gil= 1; //(PyThreadState_Get()==NULL);
+ use_gil= 1; /* !PYC_INTERPRETER_ACTIVE; */
if(use_gil)
gilstate= PyGILState_Ensure();
diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c
index e6f4c5713a1..e5e90380d61 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 */
@@ -86,6 +87,14 @@ static double bpy_timer_run; /* time for each python script run */
static double bpy_timer_run_tot; /* accumulate python runs */
#endif
+/* use for updating while a python script runs - in case of file load */
+void bpy_context_update(bContext *C)
+{
+ BPy_SetContext(C);
+ bpy_import_main_set(CTX_data_main(C));
+ BPY_modules_update(C); /* can give really bad results if this isnt here */
+}
+
void bpy_context_set(bContext *C, PyGILState_STATE *gilstate)
{
py_call_level++;
@@ -94,16 +103,7 @@ void bpy_context_set(bContext *C, PyGILState_STATE *gilstate)
*gilstate= PyGILState_Ensure();
if(py_call_level==1) {
-
- if(C) { // XXX - should always be true.
- BPy_SetContext(C);
- bpy_import_main_set(CTX_data_main(C));
- }
- else {
- fprintf(stderr, "ERROR: Python context called with a NULL Context. this should not happen!\n");
- }
-
- BPY_modules_update(C); /* can give really bad results if this isnt here */
+ bpy_context_update(C);
#ifdef TIME_PY_RUN
if(bpy_timer_count==0) {
@@ -174,11 +174,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}
};
@@ -199,13 +201,13 @@ void BPY_python_start(int argc, const char **argv)
/* allow to use our own included python */
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 +230,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 +255,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
@@ -563,6 +569,12 @@ void BPY_modules_load_user(bContext *C)
if(bmain==NULL)
return;
+ /* update pointers since this can run from a nested script
+ * on file load */
+ if(py_call_level) {
+ bpy_context_update(C);
+ }
+
bpy_context_set(C, &gilstate);
for(text=CTX_data_main(C)->text.first; text; text= text->id.next) {
@@ -656,7 +668,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 +680,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 +706,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 +763,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..7c80653496f
--- /dev/null
+++ b/source/blender/python/intern/bpy_intern_string.c
@@ -0,0 +1,58 @@
+/*
+ * $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>
+
+#include "bpy_intern_string.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__;
+
+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 85bffb5a8cc..4ce3e0356e2 100644
--- a/source/blender/python/intern/bpy_library.c
+++ b/source/blender/python/intern/bpy_library.c
@@ -39,6 +39,7 @@
#include "BKE_library.h"
#include "BKE_idcode.h"
#include "BKE_report.h"
+#include "BKE_context.h"
#include "BLI_utildefines.h"
#include "BLI_string.h"
@@ -317,7 +318,7 @@ static PyObject *bpy_lib_exit(BPy_Library *self, PyObject *UNUSED(args))
flag_all_listbases_ids(LIB_PRE_EXISTING, 1);
/* here appending/linking starts */
- mainl= BLO_library_append_begin(BPy_GetContext(), &(self->blo_handle), self->relpath);
+ mainl= BLO_library_append_begin(CTX_data_main(BPy_GetContext()), &(self->blo_handle), self->relpath);
{
int i= 0, code;
diff --git a/source/blender/python/intern/bpy_operator.c b/source/blender/python/intern/bpy_operator.c
index b8883e655f2..7327679cc7e 100644
--- a/source/blender/python/intern/bpy_operator.c
+++ b/source/blender/python/intern/bpy_operator.c
@@ -52,9 +52,16 @@
#include "WM_types.h"
#include "MEM_guardedalloc.h"
+
+#include "BLI_ghash.h"
+
#include "BKE_report.h"
#include "BKE_context.h"
+/* so operators called can spawn threads which aquire the GIL */
+#define BPY_RELEASE_GIL
+
+
static PyObject *pyop_poll(PyObject *UNUSED(self), PyObject *args)
{
wmOperatorType *ot;
@@ -110,7 +117,6 @@ static PyObject *pyop_poll(PyObject *UNUSED(self), PyObject *args)
}
context_dict_back= CTX_py_dict_get(C);
-
CTX_py_dict_set(C, (void *)context_dict);
Py_XINCREF(context_dict); /* so we done loose it */
@@ -219,7 +225,22 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
reports= MEM_mallocN(sizeof(ReportList), "wmOperatorReportList");
BKE_reports_init(reports, RPT_STORE | RPT_OP_HOLD); /* own so these dont move into global reports */
- operator_ret= WM_operator_call_py(C, ot, context, &ptr, reports);
+#ifdef BPY_RELEASE_GIL
+ /* release GIL, since a thread could be started from an operator
+ * that updates a driver */
+ /* note: I havve not seen any examples of code that does this
+ * so it may not be officially supported but seems to work ok. */
+ {
+ PyThreadState *ts= PyEval_SaveThread();
+#endif
+
+ operator_ret= WM_operator_call_py(C, ot, context, &ptr, reports);
+
+#ifdef BPY_RELEASE_GIL
+ /* regain GIL */
+ PyEval_RestoreThread(ts);
+ }
+#endif
error_val= BPy_reports_to_error(reports, PyExc_RuntimeError, FALSE);
@@ -271,7 +292,7 @@ static PyObject *pyop_call(PyObject *UNUSED(self), PyObject *args)
* function corrects bpy.data (internal Main pointer) */
BPY_modules_update(C);
- /* needed for when WM_OT_read_factory_settings us called fro within a script */
+ /* needed for when WM_OT_read_factory_settings us called from within a script */
bpy_import_main_set(CTX_data_main(C));
/* return operator_ret as a bpy enum */
@@ -340,15 +361,18 @@ static PyObject *pyop_as_string(PyObject *UNUSED(self), PyObject *args)
static PyObject *pyop_dir(PyObject *UNUSED(self))
{
+ GHashIterator *iter= WM_operatortype_iter();
PyObject *list= PyList_New(0), *name;
- wmOperatorType *ot;
-
- for(ot= WM_operatortype_first(); ot; ot= ot->next) {
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
+
name= PyUnicode_FromString(ot->idname);
PyList_Append(list, name);
Py_DECREF(name);
}
-
+ BLI_ghashIterator_free(iter);
+
return list;
}
@@ -378,7 +402,9 @@ static PyObject *pyop_getrna(PyObject *UNUSED(self), PyObject *value)
pyrna= (BPy_StructRNA *)pyrna_struct_CreatePyObject(&ptr);
+#ifdef PYRNA_FREE_SUPPORT
pyrna->freeptr= TRUE;
+#endif
return (PyObject *)pyrna;
}
diff --git a/source/blender/python/intern/bpy_props.c b/source/blender/python/intern/bpy_props.c
index 8ed4e41de3e..5da142aeea7 100644
--- a/source/blender/python/intern/bpy_props.c
+++ b/source/blender/python/intern/bpy_props.c
@@ -117,7 +117,7 @@ static PyObject *pymeth_PointerProperty= NULL;
static PyObject *pymeth_CollectionProperty= NULL;
static PyObject *pymeth_RemoveProperty= NULL;
-PyObject *pyrna_struct_as_instance(PointerRNA *ptr)
+static PyObject *pyrna_struct_as_instance(PointerRNA *ptr)
{
PyObject *self= NULL;
/* first get self */
@@ -177,7 +177,7 @@ static PyObject *bpy_prop_deferred_return(PyObject *func, PyObject *kw)
}
/* callbacks */
-void bpy_prop_update_cb(struct bContext *C, struct PointerRNA *ptr, struct PropertyRNA *prop)
+static 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);
@@ -326,6 +326,11 @@ static int bpy_prop_callback_assign(struct PropertyRNA *prop, PyObject *update_c
" :type description: string\n" \
+#define BPY_PROPDEF_UNIT_DOC \
+" :arg unit: Enumerator in ['NONE', 'LENGTH', 'AREA', 'VOLUME', 'ROTATION', 'TIME', 'VELOCITY', 'ACCELERATION'].\n" \
+" :type unit: 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" \
@@ -459,7 +464,7 @@ 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) {
@@ -603,7 +608,7 @@ 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) {
@@ -639,8 +644,7 @@ BPY_PROPDEF_DESC_DOC
" :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_UNIT_DOC
BPY_PROPDEF_UPDATE_DOC
);
static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
@@ -679,7 +683,7 @@ static PyObject *BPy_FloatProperty(PyObject *self, PyObject *args, PyObject *kw)
BPY_PROPDEF_SUBTYPE_CHECK(FloatProperty, property_flag_items, property_subtype_number_items)
if(pyunit && RNA_enum_value_from_id(property_unit_items, pyunit, &unit)==0) {
- PyErr_Format(PyExc_TypeError, "FloatProperty(unit='%s'): invalid unit");
+ PyErr_Format(PyExc_TypeError, "FloatProperty(unit='%s'): invalid unit", pyunit);
return NULL;
}
@@ -716,6 +720,7 @@ BPY_PROPDEF_DESC_DOC
" :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"
+BPY_PROPDEF_UNIT_DOC
" :arg size: Vector dimensions in [1, and " STRINGIFY(PYRNA_STACK_ARRAY) "].\n"
" :type size: int\n"
BPY_PROPDEF_UPDATE_DOC
@@ -727,7 +732,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", "update", NULL};
+ static const char *kwlist[]= {"attr", "name", "description", "default", "min", "max", "soft_min", "soft_max", "step", "precision", "options", "subtype", "unit", "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};
@@ -738,15 +743,17 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
int opts=0;
char *pysubtype= NULL;
int subtype= PROP_NONE;
+ char *pyunit= NULL;
+ int unit= PROP_UNIT_NONE;
PyObject *update_cb= NULL;
if (!PyArg_ParseTupleAndKeywords(args, kw,
- "s#|ssOfffffiO!siO:FloatVectorProperty",
+ "s#|ssOfffffiO!ssiO:FloatVectorProperty",
(char **)kwlist, &id, &id_len,
&name, &description, &pydef,
&min, &max, &soft_min, &soft_max,
&step, &precision, &PySet_Type,
- &pyopts, &pysubtype, &size,
+ &pyopts, &pysubtype, &pyunit, &size,
&update_cb))
{
return NULL;
@@ -754,19 +761,24 @@ static PyObject *BPy_FloatVectorProperty(PyObject *self, PyObject *args, PyObjec
BPY_PROPDEF_SUBTYPE_CHECK(FloatVectorProperty, property_flag_items, property_subtype_array_items)
+ if(pyunit && RNA_enum_value_from_id(property_unit_items, pyunit, &unit)==0) {
+ PyErr_Format(PyExc_TypeError, "FloatVectorProperty(unit='%s'): invalid unit", pyunit);
+ return NULL;
+ }
+
if(size < 1 || size > PYRNA_STACK_ARRAY) {
PyErr_Format(PyExc_TypeError, "FloatVectorProperty(size=%d): size must be between 0 and " STRINGIFY(PYRNA_STACK_ARRAY), size);
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);
+ prop= RNA_def_property(srna, id, PROP_FLOAT, subtype | unit);
RNA_def_property_array(prop, size);
if(pydef) RNA_def_property_float_array_default(prop, def);
RNA_def_property_range(prop, min, max);
diff --git a/source/blender/python/intern/bpy_rna.c b/source/blender/python/intern/bpy_rna.c
index 38cc3edd8f6..d10c8c843e8 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"
@@ -83,7 +84,9 @@ int pyrna_struct_validity_check(BPy_StructRNA *pysrna)
{
if(pysrna->ptr.type)
return 0;
- PyErr_Format(PyExc_ReferenceError, "StructRNA of type %.200s has been removed", Py_TYPE(pysrna)->tp_name);
+ PyErr_Format(PyExc_ReferenceError,
+ "StructRNA of type %.200s has been removed",
+ Py_TYPE(pysrna)->tp_name);
return -1;
}
@@ -345,7 +348,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);
@@ -789,43 +792,62 @@ static PyObject *pyrna_struct_str(BPy_StructRNA *self)
const char *name;
if(!PYRNA_STRUCT_IS_VALID(self)) {
- return PyUnicode_FromFormat("<bpy_struct, %.200s dead>", Py_TYPE(self)->tp_name);
+ return PyUnicode_FromFormat("<bpy_struct, %.200s dead>",
+ Py_TYPE(self)->tp_name);
}
/* print name if available */
name= RNA_struct_name_get_alloc(&self->ptr, NULL, FALSE);
if(name) {
- ret= PyUnicode_FromFormat("<bpy_struct, %.200s(\"%.200s\")>", RNA_struct_identifier(self->ptr.type), name);
+ ret= PyUnicode_FromFormat("<bpy_struct, %.200s(\"%.200s\")>",
+ RNA_struct_identifier(self->ptr.type),
+ name);
MEM_freeN((void *)name);
return ret;
}
- return PyUnicode_FromFormat("<bpy_struct, %.200s at %p>", RNA_struct_identifier(self->ptr.type), self->ptr.data);
+ return PyUnicode_FromFormat("<bpy_struct, %.200s at %p>",
+ RNA_struct_identifier(self->ptr.type),
+ self->ptr.data);
}
static PyObject *pyrna_struct_repr(BPy_StructRNA *self)
{
ID *id= self->ptr.id.data;
+ PyObject *tmp_str;
+ PyObject *ret;
+
if(id == NULL || !PYRNA_STRUCT_IS_VALID(self))
return pyrna_struct_str(self); /* fallback */
+ tmp_str= PyUnicode_FromString(id->name+2);
+
if(RNA_struct_is_ID(self->ptr.type)) {
- return PyUnicode_FromFormat("bpy.data.%s[\"%s\"]", BKE_idcode_to_name_plural(GS(id->name)), id->name+2);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str);
}
else {
- PyObject *ret;
const char *path;
path= RNA_path_from_ID_to_struct(&self->ptr);
if(path) {
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"].%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, path);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R].%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ path);
MEM_freeN((void *)path);
}
else { /* cant find, print something sane */
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"]...%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, RNA_struct_identifier(self->ptr.type));
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]...%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ RNA_struct_identifier(self->ptr.type));
}
-
- return ret;
}
+
+ Py_DECREF(tmp_str);
+
+ return ret;
}
static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
@@ -855,7 +877,7 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
if(type==PROP_COLLECTION) {
len= pyrna_prop_collection_length(self);
}
- else if (RNA_property_array_check(&self->ptr, self->prop)) {
+ else if (RNA_property_array_check(self->prop)) {
len= pyrna_prop_array_length((BPy_PropertyArrayRNA *)self);
}
@@ -869,7 +891,11 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
name= RNA_struct_name_get_alloc(&ptr, NULL, FALSE);
if(name) {
- ret= PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s(\"%.200s\")>", type_fmt, RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop), name);
+ ret= PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s(\"%.200s\")>",
+ type_fmt,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_property_identifier(self->prop),
+ name);
MEM_freeN((void *)name);
return ret;
}
@@ -877,36 +903,62 @@ static PyObject *pyrna_prop_str(BPy_PropertyRNA *self)
if(RNA_property_type(self->prop) == PROP_COLLECTION) {
PointerRNA r_ptr;
if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr)) {
- return PyUnicode_FromFormat("<bpy_%.200s, %.200s>", type_fmt, RNA_struct_identifier(r_ptr.type));
+ return PyUnicode_FromFormat("<bpy_%.200s, %.200s>",
+ type_fmt,
+ RNA_struct_identifier(r_ptr.type));
}
}
- return PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s>", type_fmt, RNA_struct_identifier(self->ptr.type), RNA_property_identifier(self->prop));
+ return PyUnicode_FromFormat("<bpy_%.200s, %.200s.%.200s>",
+ type_fmt,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_property_identifier(self->prop));
}
static PyObject *pyrna_prop_repr(BPy_PropertyRNA *self)
{
- ID *id;
+ ID *id= self->ptr.id.data;
+ PyObject *tmp_str;
PyObject *ret;
const char *path;
PYRNA_PROP_CHECK_OBJ(self)
- if((id= self->ptr.id.data) == NULL)
+ if(id == NULL)
return pyrna_prop_str(self); /* fallback */
+ tmp_str= PyUnicode_FromString(id->name+2);
+
path= RNA_path_from_ID_to_property(&self->ptr, self->prop);
if(path) {
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"].%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, path);
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R].%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ path);
MEM_freeN((void *)path);
}
else { /* cant find, print something sane */
- ret= PyUnicode_FromFormat("bpy.data.%s[\"%s\"]...%s", BKE_idcode_to_name_plural(GS(id->name)), id->name+2, RNA_property_identifier(self->prop));
+ ret= PyUnicode_FromFormat("bpy.data.%s[%R]...%s",
+ BKE_idcode_to_name_plural(GS(id->name)),
+ tmp_str,
+ RNA_property_identifier(self->prop));
}
+ Py_DECREF(tmp_str);
+
return ret;
}
+
+static PyObject *pyrna_func_repr(BPy_FunctionRNA *self)
+{
+ return PyUnicode_FromFormat("<%.200s %.200s.%.200s()>",
+ Py_TYPE(self)->tp_name,
+ RNA_struct_identifier(self->ptr.type),
+ RNA_function_identifier(self->func));
+}
+
+
static long pyrna_struct_hash(BPy_StructRNA *self)
{
return _Py_HashPointer(self->ptr.data);
@@ -949,11 +1001,13 @@ static int pyrna_struct_clear(BPy_StructRNA *self)
/* use our own dealloc so we can free a property if we use one */
static void pyrna_struct_dealloc(BPy_StructRNA *self)
{
+#ifdef PYRNA_FREE_SUPPORT
if (self->freeptr && self->ptr.data) {
IDP_FreeProperty(self->ptr.data);
MEM_freeN(self->ptr.data);
self->ptr.data= NULL;
}
+#endif /* PYRNA_FREE_SUPPORT */
#ifdef USE_WEAKREFS
if (self->in_weakreflist != NULL) {
@@ -1063,6 +1117,7 @@ static int pyrna_string_to_enum(PyObject *item, PointerRNA *ptr, PropertyRNA *pr
return 1;
}
+/* 'value' _must_ be a set type, error check before calling */
int pyrna_set_to_enum_bitfield(EnumPropertyItem *items, PyObject *value, int *r_value, const char *error_prefix)
{
/* set of enum items, concatenate all values with OR */
@@ -1084,8 +1139,10 @@ int pyrna_set_to_enum_bitfield(EnumPropertyItem *items, PyObject *value, int *r_
error_prefix, Py_TYPE(key)->tp_name);
return -1;
}
- if(pyrna_enum_value_from_id(items, param, &ret, error_prefix) < 0)
+
+ if(pyrna_enum_value_from_id(items, param, &ret, error_prefix) < 0) {
return -1;
+ }
flag |= ret;
}
@@ -1102,6 +1159,14 @@ static int pyrna_prop_to_enum_bitfield(PointerRNA *ptr, PropertyRNA *prop, PyObj
*r_value= 0;
+ if (!PyAnySet_Check(value)) {
+ PyErr_Format(PyExc_TypeError,
+ "%.200s, %.200s.%.200s expected a set, not a %.200s",
+ error_prefix, RNA_struct_identifier(ptr->type),
+ RNA_property_identifier(prop), Py_TYPE(value)->tp_name);
+ return -1;
+ }
+
RNA_property_enum_items(BPy_GetContext(), ptr, prop, &item, NULL, &free);
if(item) {
@@ -1186,7 +1251,7 @@ static PyObject *pyrna_enum_to_py(PointerRNA *ptr, PropertyRNA *prop, int val)
#if 0 // gives python decoding errors while generating docs :(
char error_str[256];
- snprintf(error_str, sizeof(error_str), "RNA Warning: Current value \"%d\" matches no enum in '%s', '%s', '%s'", val, RNA_struct_identifier(ptr->type), ptr_name, RNA_property_identifier(prop));
+ BLI_snprintf(error_str, sizeof(error_str), "RNA Warning: Current value \"%d\" matches no enum in '%s', '%s', '%s'", val, RNA_struct_identifier(ptr->type), ptr_name, RNA_property_identifier(prop));
PyErr_Warn(PyExc_RuntimeWarning, error_str);
#endif
@@ -1214,7 +1279,7 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
PyObject *ret;
int type= RNA_property_type(prop);
- if (RNA_property_array_check(ptr, prop)) {
+ if (RNA_property_array_check(prop)) {
return pyrna_py_from_array(ptr, prop);
}
@@ -1233,7 +1298,9 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
{
int subtype= RNA_property_subtype(prop);
const char *buf;
- buf= RNA_property_string_get_alloc(ptr, prop, NULL, -1);
+ char buf_fixed[32];
+
+ buf= RNA_property_string_get_alloc(ptr, prop, buf_fixed, sizeof(buf_fixed));
#ifdef USE_STRING_COERCE
/* only file paths get special treatment, they may contain non utf-8 chars */
if(ELEM3(subtype, PROP_FILEPATH, PROP_DIRPATH, PROP_FILENAME)) {
@@ -1245,7 +1312,9 @@ PyObject *pyrna_prop_to_py(PointerRNA *ptr, PropertyRNA *prop)
#else // USE_STRING_COERCE
ret= PyUnicode_FromString(buf);
#endif // USE_STRING_COERCE
- MEM_freeN((void *)buf);
+ if(buf_fixed != buf) {
+ MEM_freeN((void *)buf);
+ }
break;
}
case PROP_ENUM:
@@ -1343,49 +1412,25 @@ 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_to_py(BPy_DummyPointerRNA *pyrna, FunctionRNA *func)
+static PyObject *pyrna_func_to_py(PointerRNA *ptr, FunctionRNA *func)
{
- static PyMethodDef func_meth= {"<generic rna function>", (PyCFunction)pyrna_func_call, METH_VARARGS|METH_KEYWORDS, "python rna function"};
- PyObject *self;
- PyObject *ret;
-
- if(func==NULL) {
- PyErr_Format(PyExc_RuntimeError,
- "%.200s: type attempted to get NULL function",
- RNA_struct_identifier(pyrna->ptr.type));
- return NULL;
- }
-
- self= PyTuple_New(2);
-
- PyTuple_SET_ITEM(self, 0, (PyObject *)pyrna);
- Py_INCREF(pyrna);
-
- PyTuple_SET_ITEM(self, 1, PyCapsule_New((void *)func, NULL, NULL));
-
- ret= PyCFunction_New(&func_meth, self);
- Py_DECREF(self);
-
- return ret;
+ BPy_FunctionRNA* pyfunc= (BPy_FunctionRNA *) PyObject_NEW(BPy_FunctionRNA, &pyrna_func_Type);
+ pyfunc->ptr= *ptr;
+ pyfunc->func= func;
+ return (PyObject *)pyfunc;
}
-
static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyObject *value, const char *error_prefix)
{
/* XXX hard limits should be checked here */
int type= RNA_property_type(prop);
- if (RNA_property_array_check(ptr, prop)) {
- int ok= 1;
-
+ if (RNA_property_array_check(prop)) {
/* 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;
}
}
@@ -1476,7 +1521,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) {
@@ -1499,33 +1544,18 @@ static int pyrna_py_to_prop(PointerRNA *ptr, PropertyRNA *prop, void *data, PyOb
{
int val= 0;
- if (PyUnicode_Check(value)) {
- if (!pyrna_string_to_enum(value, ptr, prop, &val, error_prefix))
- return -1;
- }
- else if (PyAnySet_Check(value)) {
- if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
- /* set of enum items, concatenate all values with OR */
- if(pyrna_prop_to_enum_bitfield(ptr, prop, value, &val, error_prefix) < 0)
- return -1;
- }
- else {
- PyErr_Format(PyExc_TypeError,
- "%.200s, %.200s.%.200s is not a bitflag enum type",
- error_prefix, RNA_struct_identifier(ptr->type),
- RNA_property_identifier(prop));
+ /* type checkins is done by each function */
+ if(RNA_property_flag(prop) & PROP_ENUM_FLAG) {
+ /* set of enum items, concatenate all values with OR */
+ if(pyrna_prop_to_enum_bitfield(ptr, prop, value, &val, error_prefix) < 0) {
return -1;
}
}
else {
- const char *enum_str= pyrna_enum_as_string(ptr, prop);
- PyErr_Format(PyExc_TypeError,
- "%.200s %.200s.%.200s expected a string enum or a set of strings in (%.2000s), not %.200s",
- error_prefix, RNA_struct_identifier(ptr->type),
- RNA_property_identifier(prop), enum_str,
- Py_TYPE(value)->tp_name);
- MEM_freeN((void *)enum_str);
- return -1;
+ /* simple enum string */
+ if (!pyrna_string_to_enum(value, ptr, prop, &val, error_prefix) < 0) {
+ return -1;
+ }
}
if(data) *((int*)data)= val;
@@ -1767,8 +1797,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;
}
}
@@ -3004,12 +3034,14 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname)
}
/* RNA function only if callback is declared (no optional functions) */
else if ((func= RNA_struct_find_function(&self->ptr, name)) && RNA_function_defined(func)) {
- ret= pyrna_func_to_py((BPy_DummyPointerRNA *)self, func);
+ ret= pyrna_func_to_py(&self->ptr, func);
}
else if (self->ptr.type == &RNA_Context) {
bContext *C= self->ptr.data;
if(C==NULL) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context is 'NULL', can't get \"%.200s\" from context", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context is 'NULL', can't get \"%.200s\" from context",
+ name);
ret= NULL;
}
else {
@@ -3068,7 +3100,9 @@ static PyObject *pyrna_struct_getattro(BPy_StructRNA *self, PyObject *pyname)
}
else {
#if 0
- PyErr_Format(PyExc_AttributeError, "bpy_struct: attribute \"%.200s\" not found", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: attribute \"%.200s\" not found",
+ name);
ret= NULL;
#endif
/* Include this incase this instance is a subtype of a python class
@@ -3184,7 +3218,9 @@ static int pyrna_struct_meta_idprop_setattro(PyObject *cls, PyObject *attr, PyOb
const char *attr_str= _PyUnicode_AsString(attr);
int ret= RNA_def_property_free_identifier(srna, attr_str);
if (ret == -1) {
- PyErr_Format(PyExc_TypeError, "struct_meta_idprop.detattr(): '%s' not a dynamic property", attr_str);
+ PyErr_Format(PyExc_TypeError,
+ "struct_meta_idprop.detattr(): '%s' not a dynamic property",
+ attr_str);
return -1;
}
}
@@ -3222,7 +3258,9 @@ static int pyrna_struct_setattro(BPy_StructRNA *self, PyObject *pyname, PyObject
/* code just raises correct error, context prop's cant be set, unless its apart of the py class */
bContext *C= self->ptr.data;
if(C==NULL) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context is 'NULL', can't set \"%.200s\" from context", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context is 'NULL', can't set \"%.200s\" from context",
+ name);
return -1;
}
else {
@@ -3233,7 +3271,9 @@ static int pyrna_struct_setattro(BPy_StructRNA *self, PyObject *pyname, PyObject
int done= CTX_data_get(C, name, &newptr, &newlb, &newtype);
if(done==1) {
- PyErr_Format(PyExc_AttributeError, "bpy_struct: Context property \"%.200s\" is read-only", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_struct: Context property \"%.200s\" is read-only",
+ name);
BLI_freelistN(&newlb);
return -1;
}
@@ -3265,11 +3305,15 @@ static PyObject *pyrna_prop_dir(BPy_PropertyRNA *self)
* */
ret= PyList_New(0);
- if (!BPy_PropertyRNA_CheckExact(self))
+ if (!BPy_PropertyRNA_CheckExact(self)) {
pyrna_dir_members_py(ret, (PyObject *)self);
+ }
- if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr))
- pyrna_dir_members_rna(ret, &r_ptr);
+ if(RNA_property_type(self->prop) == PROP_COLLECTION) {
+ if(RNA_property_collection_type_get(&self->ptr, self->prop, &r_ptr)) {
+ pyrna_dir_members_rna(ret, &r_ptr);
+ }
+ }
return ret;
}
@@ -3302,7 +3346,7 @@ static PyObject *pyrna_prop_collection_getattro(BPy_PropertyRNA *self, PyObject
}
else if ((func= RNA_struct_find_function(&r_ptr, name))) {
PyObject *self_collection= pyrna_struct_CreatePyObject(&r_ptr);
- ret= pyrna_func_to_py((BPy_DummyPointerRNA *)self_collection, func);
+ ret= pyrna_func_to_py(&((BPy_DummyPointerRNA *)self_collection)->ptr, func);
Py_DECREF(self_collection);
return ret;
@@ -3373,7 +3417,9 @@ static int pyrna_prop_collection_setattro(BPy_PropertyRNA *self, PyObject *pynam
}
}
- PyErr_Format(PyExc_AttributeError, "bpy_prop_collection: attribute \"%.200s\" not found", name);
+ PyErr_Format(PyExc_AttributeError,
+ "bpy_prop_collection: attribute \"%.200s\" not found",
+ name);
return -1;
}
@@ -3850,9 +3896,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;
}
@@ -4056,11 +4104,14 @@ static PyObject *pyrna_struct_new(PyTypeObject *type, PyObject *args, PyObject *
}
/* error, invalid type given */
- PyErr_Format(PyExc_TypeError, "bpy_struct.__new__(type): type '%.200s' is not a subtype of bpy_struct", type->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "bpy_struct.__new__(type): type '%.200s' is not a subtype of bpy_struct",
+ type->tp_name);
return NULL;
}
else {
- PyErr_Format(PyExc_TypeError, "bpy_struct.__new__(type): expected a single argument");
+ PyErr_Format(PyExc_TypeError,
+ "bpy_struct.__new__(type): expected a single argument");
return NULL;
}
}
@@ -4085,7 +4136,9 @@ static PyObject *pyrna_prop_new(PyTypeObject *type, PyObject *args, PyObject *UN
return (PyObject *)ret;
}
else {
- PyErr_Format(PyExc_TypeError, "bpy_prop.__new__(type): type '%.200s' is not a subtype of bpy_prop", type->tp_name);
+ PyErr_Format(PyExc_TypeError,
+ "bpy_prop.__new__(type): type '%.200s' is not a subtype of bpy_prop",
+ type->tp_name);
return NULL;
}
}
@@ -4096,7 +4149,7 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
int type= RNA_property_type(prop);
int flag= RNA_property_flag(prop);
- if(RNA_property_array_check(ptr, prop)) {
+ if(RNA_property_array_check(prop)) {
int a, len;
if (flag & PROP_DYNAMIC) {
@@ -4147,7 +4200,9 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
}
break;
default:
- PyErr_Format(PyExc_TypeError, "RNA Error: unknown array type \"%d\" (pyrna_param_to_py)", type);
+ PyErr_Format(PyExc_TypeError,
+ "RNA Error: unknown array type \"%d\" (pyrna_param_to_py)",
+ type);
ret= NULL;
break;
}
@@ -4245,7 +4300,9 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
break;
}
default:
- PyErr_Format(PyExc_TypeError, "RNA Error: unknown type \"%d\" (pyrna_param_to_py)", type);
+ PyErr_Format(PyExc_TypeError,
+ "RNA Error: unknown type \"%d\" (pyrna_param_to_py)",
+ type);
ret= NULL;
break;
}
@@ -4254,11 +4311,31 @@ static PyObject *pyrna_param_to_py(PointerRNA *ptr, PropertyRNA *prop, void *dat
return ret;
}
-static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
+/* Use to replace PyDict_GetItemString() when the overhead of converting a
+ * string into a python unicode is higher than a non hash lookup.
+ * works on small dict's such as keyword args. */
+static PyObject *small_dict_get_item_string(PyObject *dict, const char *key_lookup)
+{
+ PyObject *key= NULL;
+ Py_ssize_t pos = 0;
+ PyObject *value = NULL;
+
+ while (PyDict_Next(dict, &pos, &key, &value)) {
+ if(PyUnicode_Check(key)) {
+ if(strcmp(key_lookup, _PyUnicode_AsString(key))==0) {
+ return value;
+ }
+ }
+ }
+
+ return NULL;
+}
+
+static PyObject *pyrna_func_call(BPy_FunctionRNA *self, PyObject *args, PyObject *kw)
{
/* Note, both BPy_StructRNA and BPy_PropertyRNA can be used here */
- PointerRNA *self_ptr= &(((BPy_DummyPointerRNA *)PyTuple_GET_ITEM(self, 0))->ptr);
- FunctionRNA *self_func= PyCapsule_GetPointer(PyTuple_GET_ITEM(self, 1), NULL);
+ PointerRNA *self_ptr= &self->ptr;
+ FunctionRNA *self_func= self->func;
PointerRNA funcptr;
ParameterList parms;
@@ -4266,7 +4343,6 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
PropertyRNA *parm;
PyObject *ret, *item;
int i, pyargs_len, pykw_len, parms_len, ret_len, flag, err= 0, kw_tot= 0, kw_arg;
- const char *parm_id;
PropertyRNA *pret_single= NULL;
void *retdata_single= NULL;
@@ -4342,28 +4418,33 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
continue;
}
- parm_id= RNA_property_identifier(parm);
item= NULL;
if (i < pyargs_len) {
item= PyTuple_GET_ITEM(args, i);
- i++;
-
kw_arg= FALSE;
}
else if (kw != NULL) {
- item= PyDict_GetItemString(kw, parm_id); /* borrow ref */
+#if 0
+ item= PyDict_GetItemString(kw, RNA_property_identifier(parm)); /* borrow ref */
+#else
+ item= small_dict_get_item_string(kw, RNA_property_identifier(parm)); /* borrow ref */
+#endif
if(item)
kw_tot++; /* make sure invalid keywords are not given */
kw_arg= TRUE;
}
+ i++; /* current argument */
+
if (item==NULL) {
if(flag & PROP_REQUIRED) {
PyErr_Format(PyExc_TypeError,
"%.200s.%.200s(): required parameter \"%.200s\" not specified",
- RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), parm_id);
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ RNA_property_identifier(parm));
err= -1;
break;
}
@@ -4390,9 +4471,18 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
PyErr_Clear(); /* re-raise */
if(kw_arg==TRUE)
- snprintf(error_prefix, sizeof(error_prefix), "%s.%s(): error with keyword argument \"%s\" - ", RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), parm_id);
+ BLI_snprintf(error_prefix, sizeof(error_prefix),
+ "%.200s.%.200s(): error with keyword argument \"%.200s\" - ",
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ RNA_property_identifier(parm));
else
- snprintf(error_prefix, sizeof(error_prefix), "%s.%s(): error with argument %d, \"%s\" - ", RNA_struct_identifier(self_ptr->type), RNA_function_identifier(self_func), i, parm_id);
+ BLI_snprintf(error_prefix, sizeof(error_prefix),
+ "%.200s.%.200s(): error with argument %d, \"%.200s\" - ",
+ RNA_struct_identifier(self_ptr->type),
+ RNA_function_identifier(self_func),
+ i,
+ RNA_property_identifier(parm));
pyrna_py_to_prop(&funcptr, parm, iter.data, item, error_prefix);
@@ -4541,28 +4631,28 @@ static PyObject *pyrna_func_call(PyObject *self, PyObject *args, PyObject *kw)
/* note: tp_base member is set to &PyType_Type on init */
PyTypeObject pyrna_struct_meta_idprop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_struct_meta_idprop", /* tp_name */
- sizeof(PyHeapTypeObject), /* tp_basicsize */ // XXX, would be PyTypeObject, but subtypes of Type must be PyHeapTypeObject's
- 0, /* tp_itemsize */
+ "bpy_struct_meta_idprop", /* tp_name */
+ sizeof(PyHeapTypeObject), /* tp_basicsize */ // XXX, would be PyTypeObject, but subtypes of Type must be PyHeapTypeObject's
+ 0, /* tp_itemsize */
/* methods */
- NULL, /* tp_dealloc */
+ NULL, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- NULL, /* tp_repr */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* deprecated in python 3.0! */
+ NULL, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* 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) pyrna_struct_meta_idprop_getattro*/, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_struct_meta_idprop_setattro, /* setattrofunc tp_setattro; */
+ NULL, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+ NULL /*(getattrofunc) pyrna_struct_meta_idprop_getattro*/, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_struct_meta_idprop_setattro, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4570,7 +4660,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4580,7 +4670,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- NULL, /* richcmpfunc tp_richcompare; */
+ NULL, /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
0, /* long tp_weaklistoffset; */
@@ -4591,9 +4681,9 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -4601,7 +4691,7 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4619,45 +4709,45 @@ PyTypeObject pyrna_struct_meta_idprop_Type= {
/*-----------------------BPy_StructRNA method def------------------------------*/
PyTypeObject pyrna_struct_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_struct", /* tp_name */
- sizeof(BPy_StructRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_struct", /* tp_name */
+ sizeof(BPy_StructRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor) pyrna_struct_dealloc,/* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- (reprfunc) pyrna_struct_repr, /* tp_repr */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_struct_repr, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- &pyrna_struct_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_struct_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_struct_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_struct_as_mapping, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- (hashfunc) pyrna_struct_hash, /* hashfunc tp_hash; */
- NULL, /* ternaryfunc tp_call; */
+ (hashfunc) pyrna_struct_hash, /* hashfunc tp_hash; */
+ NULL, /* ternaryfunc tp_call; */
(reprfunc) pyrna_struct_str, /* reprfunc tp_str; */
- (getattrofunc) pyrna_struct_getattro, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_struct_setattro, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_struct_getattro, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_struct_setattro, /* 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 | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* long tp_flags; */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE | Py_TPFLAGS_HAVE_GC, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
#ifdef USE_PYRNA_STRUCT_REFERENCE
- (traverseproc) pyrna_struct_traverse, /* traverseproc tp_traverse; */
+ (traverseproc) pyrna_struct_traverse, /* traverseproc tp_traverse; */
/* delete references to contained objects */
- (inquiry)pyrna_struct_clear, /* inquiry tp_clear; */
+ (inquiry)pyrna_struct_clear, /* inquiry tp_clear; */
#else
NULL, /* traverseproc tp_traverse; */
@@ -4667,11 +4757,11 @@ PyTypeObject pyrna_struct_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- (richcmpfunc)pyrna_struct_richcmp, /* richcmpfunc tp_richcompare; */
+ (richcmpfunc)pyrna_struct_richcmp, /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_StructRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_StructRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
@@ -4681,9 +4771,9 @@ PyTypeObject pyrna_struct_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_struct_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_struct_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- pyrna_struct_getseters, /* struct PyGetSetDef *tp_getset; */
+ pyrna_struct_getseters, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -4691,7 +4781,7 @@ PyTypeObject pyrna_struct_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- pyrna_struct_new, /* newfunc tp_new; */
+ pyrna_struct_new, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4708,32 +4798,32 @@ PyTypeObject pyrna_struct_Type= {
/*-----------------------BPy_PropertyRNA method def------------------------------*/
PyTypeObject pyrna_prop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor) pyrna_prop_dealloc, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- (reprfunc) pyrna_prop_repr, /* tp_repr */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_prop_repr, /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
/* More standard operations (here for binary compatibility) */
- (hashfunc) pyrna_prop_hash, /* hashfunc tp_hash; */
+ (hashfunc) pyrna_prop_hash, /* hashfunc tp_hash; */
NULL, /* ternaryfunc tp_call; */
(reprfunc) pyrna_prop_str, /* reprfunc tp_str; */
/* will only use these if this is a subtype of a py class */
- NULL, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4741,7 +4831,7 @@ PyTypeObject pyrna_prop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4762,11 +4852,11 @@ PyTypeObject pyrna_prop_Type= {
/*** Added in release 2.2 ***/
/* Iterators */
- NULL, /* getiterfunc tp_iter; */
+ NULL, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
pyrna_prop_getseters, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
@@ -4776,7 +4866,7 @@ PyTypeObject pyrna_prop_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- pyrna_prop_new, /* newfunc tp_new; */
+ pyrna_prop_new, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
@@ -4798,34 +4888,34 @@ PyTypeObject pyrna_prop_array_Type= {
/* methods */
(destructor)pyrna_prop_array_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ 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,/* subclassed */ /* tp_repr */
/* Method suites for standard classes */
- &pyrna_prop_array_as_number, /* PyNumberMethods *tp_as_number; */
- &pyrna_prop_array_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_prop_array_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_prop_array_as_number, /* PyNumberMethods *tp_as_number; */
+ &pyrna_prop_array_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_prop_array_as_mapping, /* 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; */
/* will only use these if this is a subtype of a py class */
- (getattrofunc) pyrna_prop_array_getattro, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_prop_array_getattro, /* 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 | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4835,7 +4925,7 @@ PyTypeObject pyrna_prop_array_Type= {
/*** Assigned meaning in release 2.1 ***/
/*** rich comparisons ***/
- NULL, /* subclassed */ /* richcmpfunc tp_richcompare; */
+ NULL, /* subclassed */ /* richcmpfunc tp_richcompare; */
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
@@ -4849,22 +4939,22 @@ PyTypeObject pyrna_prop_array_Type= {
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_array_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_array_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_Type, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -4875,32 +4965,32 @@ PyTypeObject pyrna_prop_array_Type= {
PyTypeObject pyrna_prop_collection_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ 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, /* subclassed */ /* tp_repr */
/* Method suites for standard classes */
&pyrna_prop_collection_as_number, /* PyNumberMethods *tp_as_number; */
- &pyrna_prop_collection_as_sequence, /* PySequenceMethods *tp_as_sequence; */
- &pyrna_prop_collection_as_mapping, /* PyMappingMethods *tp_as_mapping; */
+ &pyrna_prop_collection_as_sequence, /* PySequenceMethods *tp_as_sequence; */
+ &pyrna_prop_collection_as_mapping, /* 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; */
/* will only use these if this is a subtype of a py class */
- (getattrofunc) pyrna_prop_collection_getattro, /* getattrofunc tp_getattro; */
- (setattrofunc) pyrna_prop_collection_setattro, /* setattrofunc tp_setattro; */
+ (getattrofunc) pyrna_prop_collection_getattro, /* getattrofunc tp_getattro; */
+ (setattrofunc) pyrna_prop_collection_setattro, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4908,7 +4998,7 @@ PyTypeObject pyrna_prop_collection_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -4922,33 +5012,33 @@ PyTypeObject pyrna_prop_collection_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- (getiterfunc)pyrna_prop_collection_iter, /* getiterfunc tp_iter; */
+ (getiterfunc)pyrna_prop_collection_iter, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- pyrna_prop_collection_methods, /* struct PyMethodDef *tp_methods; */
+ pyrna_prop_collection_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_Type, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -4960,32 +5050,32 @@ PyTypeObject pyrna_prop_collection_Type= {
/* only for add/remove/move methods */
static PyTypeObject pyrna_prop_collection_idprop_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection_idprop", /* tp_name */
- sizeof(BPy_PropertyRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection_idprop", /* tp_name */
+ sizeof(BPy_PropertyRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ NULL, /* getattrfunc tp_getattr; */
NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
- NULL, /* subclassed */ /* tp_repr */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ NULL, /* subclassed */ /* tp_repr */
/* Method suites for standard classes */
- NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* 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; */
/* will only use these if this is a subtype of a py class */
- NULL, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ NULL, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -4993,7 +5083,7 @@ static PyTypeObject pyrna_prop_collection_idprop_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -5007,33 +5097,118 @@ static PyTypeObject pyrna_prop_collection_idprop_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- NULL, /* getiterfunc tp_iter; */
+ NULL, /* getiterfunc tp_iter; */
NULL, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
pyrna_prop_collection_idprop_methods, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
- &pyrna_prop_collection_Type, /* struct _typeobject *tp_base; */
+ NULL /*pyrna_prop_getseters*/, /* struct PyGetSetDef *tp_getset; */
+ &pyrna_prop_collection_Type,/* struct _typeobject *tp_base; */
+ NULL, /* PyObject *tp_dict; */
+ NULL, /* descrgetfunc tp_descr_get; */
+ NULL, /* descrsetfunc tp_descr_set; */
+ 0, /* long tp_dictoffset; */
+ NULL, /* initproc tp_init; */
+ NULL, /* allocfunc tp_alloc; */
+ NULL, /* newfunc tp_new; */
+ /* Low-level free-memory routine */
+ NULL, /* freefunc tp_free; */
+ /* For PyObject_IS_GC */
+ NULL, /* inquiry tp_is_gc; */
+ NULL, /* PyObject *tp_bases; */
+ /* method resolution order */
+ NULL, /* PyObject *tp_mro; */
+ NULL, /* PyObject *tp_cache; */
+ NULL, /* PyObject *tp_subclasses; */
+ NULL, /* PyObject *tp_weaklist; */
+ NULL
+};
+
+/*-----------------------BPy_PropertyRNA method def------------------------------*/
+PyTypeObject pyrna_func_Type= {
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "bpy_func", /* tp_name */
+ sizeof(BPy_FunctionRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ /* methods */
+ NULL, /* tp_dealloc */
+ NULL, /* printfunc tp_print; */
+ NULL, /* getattrfunc tp_getattr; */
+ NULL, /* setattrfunc tp_setattr; */
+ NULL, /* tp_compare */ /* DEPRECATED in python 3.0! */
+ (reprfunc) pyrna_func_repr, /* tp_repr */
+
+ /* Method suites for standard classes */
+
+ NULL, /* PyNumberMethods *tp_as_number; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* PyMappingMethods *tp_as_mapping; */
+
+ /* More standard operations (here for binary compatibility) */
+
+ NULL, /* hashfunc tp_hash; */
+ (ternaryfunc)pyrna_func_call, /* ternaryfunc tp_call; */
+ NULL, /* reprfunc tp_str; */
+
+ /* will only use these if this is a subtype of a py class */
+ 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 ***/
+#ifdef USE_WEAKREFS
+ offsetof(BPy_PropertyRNA, in_weakreflist), /* long tp_weaklistoffset; */
+#else
+ 0,
+#endif
+
+ /*** Added in release 2.2 ***/
+ /* Iterators */
+ NULL, /* getiterfunc tp_iter; */
+ NULL, /* iternextfunc tp_iternext; */
+
+ /*** Attribute descriptor and subclassing stuff ***/
+ NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMemberDef *tp_members; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
NULL, /* descrsetfunc tp_descr_set; */
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -5056,32 +5231,32 @@ static PyObject *pyrna_prop_collection_iter_next(BPy_PropertyCollectionIterRNA *
PyTypeObject pyrna_prop_collection_iter_Type= {
PyVarObject_HEAD_INIT(NULL, 0)
- "bpy_prop_collection_iter", /* tp_name */
- sizeof(BPy_PropertyCollectionIterRNA), /* tp_basicsize */
- 0, /* tp_itemsize */
+ "bpy_prop_collection_iter", /* tp_name */
+ sizeof(BPy_PropertyCollectionIterRNA), /* tp_basicsize */
+ 0, /* tp_itemsize */
/* methods */
(destructor)pyrna_prop_collection_iter_dealloc, /* tp_dealloc */
NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
+ 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,/* subclassed */ /* tp_repr */
/* Method suites for standard classes */
NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
+ NULL, /* PySequenceMethods *tp_as_sequence; */
+ NULL, /* 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; */
/* will only use these if this is a subtype of a py class */
- PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
+ PyObject_GenericGetAttr, /* getattrofunc tp_getattro; */
+ NULL, /* setattrofunc tp_setattro; */
/* Functions to access object as input/output buffer */
NULL, /* PyBufferProcs *tp_as_buffer; */
@@ -5089,7 +5264,7 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
/*** Flags to define presence of optional/expanded features ***/
Py_TPFLAGS_DEFAULT, /* long tp_flags; */
- NULL, /* char *tp_doc; Documentation string */
+ NULL, /* char *tp_doc; Documentation string */
/*** Assigned meaning in release 2.0 ***/
/* call function for all accessible objects */
NULL, /* traverseproc tp_traverse; */
@@ -5103,19 +5278,19 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
/*** weak reference enabler ***/
#ifdef USE_WEAKREFS
- offsetof(BPy_PropertyCollectionIterRNA, in_weakreflist), /* long tp_weaklistoffset; */
+ offsetof(BPy_PropertyCollectionIterRNA, in_weakreflist), /* long tp_weaklistoffset; */
#else
0,
#endif
/*** Added in release 2.2 ***/
/* Iterators */
- PyObject_SelfIter, /* getiterfunc tp_iter; */
- (iternextfunc) pyrna_prop_collection_iter_next, /* iternextfunc tp_iternext; */
+ PyObject_SelfIter, /* getiterfunc tp_iter; */
+ (iternextfunc) pyrna_prop_collection_iter_next, /* iternextfunc tp_iternext; */
/*** Attribute descriptor and subclassing stuff ***/
- NULL, /* struct PyMethodDef *tp_methods; */
+ NULL, /* struct PyMethodDef *tp_methods; */
NULL, /* struct PyMemberDef *tp_members; */
- NULL, /* struct PyGetSetDef *tp_getset; */
+ NULL, /* struct PyGetSetDef *tp_getset; */
NULL, /* struct _typeobject *tp_base; */
NULL, /* PyObject *tp_dict; */
NULL, /* descrgetfunc tp_descr_get; */
@@ -5123,12 +5298,12 @@ PyTypeObject pyrna_prop_collection_iter_Type= {
0, /* long tp_dictoffset; */
NULL, /* initproc tp_init; */
NULL, /* allocfunc tp_alloc; */
- NULL, /* newfunc tp_new; */
+ NULL, /* newfunc tp_new; */
/* Low-level free-memory routine */
NULL, /* freefunc tp_free; */
/* For PyObject_IS_GC */
NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
+ NULL, /* PyObject *tp_bases; */
/* method resolution order */
NULL, /* PyObject *tp_mro; */
NULL, /* PyObject *tp_cache; */
@@ -5221,7 +5396,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 */
@@ -5283,7 +5458,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);
@@ -5420,7 +5595,9 @@ PyObject *pyrna_struct_CreatePyObject(PointerRNA *ptr)
}
pyrna->ptr= *ptr;
+#ifdef PYRNA_FREE_SUPPORT
pyrna->freeptr= FALSE;
+#endif
#ifdef USE_PYRNA_STRUCT_REFERENCE
pyrna->reference= NULL;
@@ -5440,7 +5617,7 @@ PyObject *pyrna_prop_CreatePyObject(PointerRNA *ptr, PropertyRNA *prop)
{
BPy_PropertyRNA *pyrna;
- if (RNA_property_array_check(ptr, prop) == 0) {
+ if (RNA_property_array_check(prop) == 0) {
PyTypeObject *type;
if (RNA_property_type(prop) != PROP_COLLECTION) {
@@ -5513,6 +5690,9 @@ void BPY_rna_init(void)
if(PyType_Ready(&pyrna_prop_collection_idprop_Type) < 0)
return;
+ if(PyType_Ready(&pyrna_func_Type) < 0)
+ return;
+
#ifdef USE_PYRNA_ITER
if(PyType_Ready(&pyrna_prop_collection_iter_Type) < 0)
return;
@@ -5653,7 +5833,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);
}
@@ -5661,7 +5841,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) {
@@ -5751,7 +5931,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);
@@ -5798,7 +5978,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);
@@ -6044,9 +6224,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);
@@ -6102,6 +6283,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) {
@@ -6110,11 +6296,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;
@@ -6128,7 +6319,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 */
}
@@ -6227,7 +6421,21 @@ static int bpy_class_call(bContext *C, PointerRNA *ptr, FunctionRNA *func, Param
err= -1;
}
else if(ret_len==1) {
- err= pyrna_py_to_prop(&funcptr, pret_single, retdata_single, ret, "calling class function:");
+ err= pyrna_py_to_prop(&funcptr, pret_single, retdata_single, ret, "");
+
+ /* when calling operator funcs only gives Function.result with
+ * no line number since the func has finished calling on error,
+ * re-raise the exception with more info since it would be slow to
+ * create prefix on every call (when there are no errors) */
+ if(err == -1 && PyErr_Occurred()) {
+ PyObject *error_type, *error_value, *error_traceback;
+ PyErr_Fetch(&error_type, &error_value, &error_traceback);
+
+ PyErr_Format(error_type,
+ "class %.200s, function %.200s: incompatible return value%S",
+ RNA_struct_identifier(ptr->type), RNA_function_identifier(func),
+ error_value);
+ }
}
else if (ret_len > 1) {
@@ -6303,7 +6511,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();
@@ -6387,14 +6595,16 @@ void pyrna_free_types(void)
PyDoc_STRVAR(pyrna_register_class_doc,
".. method:: register_class(cls)\n"
"\n"
-" Register a subclass of a blender type in (:class:`Panel`,\n"
-" :class:`Menu`, :class:`Header`, :class:`Operator`,\n"
-" :class:`KeyingSetInfo`, :class:`RenderEngine`).\n"
+" Register a subclass of a blender type in (:class:`bpy.types.Panel`,\n"
+" :class:`bpy.types.Menu`, :class:`bpy.types.Header`, :class:`bpy.types.Operator`,\n"
+" :class:`bpy.types.KeyingSetInfo`, :class:`bpy.types.RenderEngine`).\n"
"\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\n"
+" .. note::\n"
+"\n"
+" :exc:`ValueError` exception is raised if the class is not a\n"
" subclass of a registerable blender class.\n"
"\n"
);
@@ -6409,7 +6619,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;
}
@@ -6474,7 +6684,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();
}
@@ -6532,7 +6742,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;
@@ -6551,7 +6761,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();
}
@@ -6601,7 +6811,7 @@ static PyObject *pyrna_unregister_class(PyObject *UNUSED(self), PyObject *py_cla
/* call unregister */
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 5db352af53d..30f6c02115a 100644
--- a/source/blender/python/intern/bpy_rna.h
+++ b/source/blender/python/intern/bpy_rna.h
@@ -62,6 +62,11 @@
#if defined(USE_PYRNA_INVALIDATE_GC) && defined(USE_PYRNA_INVALIDATE_WEAKREF)
#error "Only 1 reference check method at a time!"
#endif
+
+/* only used by operator introspection get_rna(), this is only used for doc gen
+ * so prefer the leak to the memory bloat for now. */
+// #define PYRNA_FREE_SUPPORT
+
/* --- end bpy build options --- */
struct ID;
@@ -71,6 +76,7 @@ extern PyTypeObject pyrna_struct_Type;
extern PyTypeObject pyrna_prop_Type;
extern PyTypeObject pyrna_prop_array_Type;
extern PyTypeObject pyrna_prop_collection_Type;
+extern PyTypeObject pyrna_func_Type;
#define BPy_StructRNA_Check(v) (PyObject_TypeCheck(v, &pyrna_struct_Type))
#define BPy_StructRNA_CheckExact(v) (Py_TYPE(v) == &pyrna_struct_Type)
@@ -107,7 +113,10 @@ typedef struct {
* hold onto the collection iterator to prevent it from freeing allocated data we may use */
PyObject *reference;
#endif /* !USE_PYRNA_STRUCT_REFERENCE */
+
+#ifdef PYRNA_FREE_SUPPORT
int freeptr; /* needed in some cases if ptr.data is created on the fly, free when deallocing */
+#endif /* PYRNA_FREE_SUPPORT */
} BPy_StructRNA;
typedef struct {
@@ -142,6 +151,15 @@ typedef struct {
CollectionPropertyIterator iter;
} BPy_PropertyCollectionIterRNA;
+typedef struct {
+ PyObject_HEAD /* required python macro */
+#ifdef USE_WEAKREFS
+ PyObject *in_weakreflist;
+#endif
+ PointerRNA ptr;
+ FunctionRNA *func;
+} BPy_FunctionRNA;
+
/* cheap trick */
#define BPy_BaseTypeRNA BPy_PropertyRNA
diff --git a/source/blender/python/intern/bpy_rna_anim.c b/source/blender/python/intern/bpy_rna_anim.c
index 30d83e196ba..8bde1db96ca 100644
--- a/source/blender/python/intern/bpy_rna_anim.c
+++ b/source/blender/python/intern/bpy_rna_anim.c
@@ -107,7 +107,7 @@ static int pyrna_struct_anim_args_parse(PointerRNA *ptr, const char *error_prefi
return -1;
}
- if(RNA_property_array_check(&r_ptr, prop) == 0) {
+ if(RNA_property_array_check(prop) == 0) {
if((*index) == -1) {
*index= 0;
}
diff --git a/source/blender/python/intern/bpy_rna_array.c b/source/blender/python/intern/bpy_rna_array.c
index df295e812be..e50ce233671 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,42 @@ 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);
+ /* Regarding PySequence_GetItem() failing.
+ *
+ * This should never be NULL since we validated it, _but_ some triky python
+ * developer could write their own sequence type which succeeds on
+ * validating but fails later somehow, so include checks for safety.
+ */
+
+ /* Note that 'data can be NULL' */
+
+ if(seq_size == -1) {
+ return NULL;
+ }
for (i= 0; i < seq_size; 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 +328,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 +349,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 +398,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 +480,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 +501,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_traceback.c b/source/blender/python/intern/bpy_traceback.c
index 17f082b79dc..747a876d6df 100644
--- a/source/blender/python/intern/bpy_traceback.c
+++ b/source/blender/python/intern/bpy_traceback.c
@@ -30,9 +30,9 @@
#include "bpy_traceback.h"
-static const char *traceback_filepath(PyTracebackObject *tb)
+static const char *traceback_filepath(PyTracebackObject *tb, PyObject **coerce)
{
- return _PyUnicode_AsString(tb->tb_frame->f_code->co_filename);
+ return PyBytes_AS_STRING((*coerce= PyUnicode_EncodeFSDefault(tb->tb_frame->f_code->co_filename)));
}
/* copied from pythonrun.c, 3.2.0 */
@@ -146,7 +146,12 @@ void python_script_error_jump(const char *filepath, int *lineno, int *offset)
PyErr_Print();
for(tb= (PyTracebackObject *)PySys_GetObject("last_traceback"); tb && (PyObject *)tb != Py_None; tb= tb->tb_next) {
- if(strcmp(traceback_filepath(tb), filepath) != 0) {
+ PyObject *coerce;
+ const char *tb_filepath= traceback_filepath(tb, &coerce);
+ const int match= strcmp(tb_filepath, filepath) != 0;
+ Py_DECREF(coerce);
+
+ if(match) {
*lineno= tb->tb_lineno;
break;
}
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/python/intern/bpy_util.h b/source/blender/python/intern/bpy_util.h
index b16c8fe2e8c..09fbdf96ed2 100644
--- a/source/blender/python/intern/bpy_util.h
+++ b/source/blender/python/intern/bpy_util.h
@@ -51,6 +51,7 @@ short BPy_errors_to_report(struct ReportList *reports);
struct bContext *BPy_GetContext(void);
void BPy_SetContext(struct bContext *C);
+extern void bpy_context_update(struct bContext *C);
extern void bpy_context_set(struct bContext *C, PyGILState_STATE *gilstate);
extern void bpy_context_clear(struct bContext *C, PyGILState_STATE *gilstate);
#endif
diff --git a/source/blender/python/mathutils/CMakeLists.txt b/source/blender/python/mathutils/CMakeLists.txt
new file mode 100644
index 00000000000..b28496d612e
--- /dev/null
+++ b/source/blender/python/mathutils/CMakeLists.txt
@@ -0,0 +1,52 @@
+# ***** 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 *****
+
+set(INC
+ .
+ ../../blenlib
+ ../../blenkernel
+ ../../makesdna
+ ../../../../intern/guardedalloc
+)
+
+set(INC_SYS
+ ${PYTHON_INCLUDE_DIRS}
+)
+
+set(SRC
+ mathutils.c
+ mathutils_Color.c
+ mathutils_Euler.c
+ mathutils_Matrix.c
+ mathutils_Quaternion.c
+ mathutils_Vector.c
+ mathutils_geometry.c
+
+ mathutils.h
+ mathutils_Color.h
+ mathutils_Euler.h
+ mathutils_Matrix.h
+ mathutils_Quaternion.h
+ mathutils_Vector.h
+ mathutils_geometry.h
+)
+
+
+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 30f4e5b7ffe..50b75b09cb2 100644
--- a/source/blender/python/generic/mathutils.c
+++ b/source/blender/python/mathutils/mathutils.c
@@ -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 c59cb501d86..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);
@@ -174,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;
}
@@ -191,14 +197,17 @@ 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;
}
@@ -250,7 +259,9 @@ static int Color_ass_slice(ColorObject *self, int begin, int end, PyObject *seq)
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;
}
@@ -285,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;
}
}
@@ -314,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;
}
}
@@ -354,7 +371,9 @@ static PyObject *Color_add(PyObject *v1, PyObject *v2)
float col[COLOR_SIZE];
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -374,7 +393,9 @@ static PyObject *Color_iadd(PyObject *v1, PyObject *v2)
ColorObject *color1 = NULL, *color2 = NULL;
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color addition: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color addition: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -397,7 +418,9 @@ static PyObject *Color_sub(PyObject *v1, PyObject *v2)
float col[COLOR_SIZE];
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -417,7 +440,9 @@ static PyObject *Color_isub(PyObject *v1, PyObject *v2)
ColorObject *color1= NULL, *color2= NULL;
if (!ColorObject_Check(v1) || !ColorObject_Check(v2)) {
- PyErr_SetString(PyExc_AttributeError, "Color subtraction: arguments not valid for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color subtraction: "
+ "arguments not valid for this operation");
return NULL;
}
color1 = (ColorObject*)v1;
@@ -476,7 +501,10 @@ static PyObject *Color_mul(PyObject *v1, PyObject *v2)
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);
+ 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;
}
@@ -491,20 +519,25 @@ static PyObject *Color_div(PyObject *v1, PyObject *v2)
return NULL;
}
else {
- PyErr_SetString(PyExc_TypeError, "Color division not supported in this order");
+ 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");
+ 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);
+ 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;
}
@@ -522,7 +555,9 @@ static PyObject *Color_imul(PyObject *v1, PyObject *v2)
mul_vn_fl(color->col, COLOR_SIZE, scalar);
}
else {
- PyErr_SetString(PyExc_TypeError, "Color multiplication: arguments not acceptable for this operation");
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -543,14 +578,17 @@ static PyObject *Color_idiv(PyObject *v1, PyObject *v2)
/* 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");
+ 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");
+ PyErr_SetString(PyExc_TypeError,
+ "Color multiplication: "
+ "arguments not acceptable for this operation");
return NULL;
}
@@ -642,7 +680,9 @@ static int Color_setChannelHSV(ColorObject * self, PyObject *value, void * 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;
}
@@ -808,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 4281c7bf6c5..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;
}
@@ -199,11 +199,14 @@ static PyObject *Euler_rotate_axis(EulerObject * self, PyObject *args)
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;
}
@@ -360,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;
}
@@ -377,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;
}
@@ -436,7 +445,9 @@ static int Euler_ass_slice(EulerObject *self, int begin, int end, PyObject *seq)
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;
}
@@ -471,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;
}
}
@@ -501,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;
}
}
@@ -680,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 4b7f9dc0d97..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,7 +131,8 @@ 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(row_size >= 2 && row_size <= 4) {
PyObject *item= PySequence_GetItem(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;
}
@@ -211,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 {
@@ -230,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;
}
@@ -284,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;
}
@@ -348,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) {
@@ -361,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;
@@ -383,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]));
@@ -430,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;
}
@@ -445,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;
}
}
@@ -463,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;
}
}
@@ -539,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;
}
@@ -547,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;
}
@@ -562,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;
}
}
@@ -592,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;
}
}
@@ -624,7 +660,8 @@ 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);
}
}
@@ -648,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){
@@ -661,7 +700,7 @@ static PyObject *Matrix_to_quaternion(MatrixObject *self)
return newQuaternionObject(quat, Py_NEW, NULL);
}
-/*---------------------------Matrix.toEuler() --------------------*/
+/*---------------------------matrix.toEuler() --------------------*/
PyDoc_STRVAR(Matrix_to_euler_doc,
".. method:: to_euler(order, euler_compat)\n"
"\n"
@@ -710,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;
@@ -743,17 +784,20 @@ 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*/
@@ -779,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--;
}
@@ -813,7 +857,8 @@ 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;
}
@@ -833,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;
}
@@ -856,7 +902,9 @@ static PyObject *Matrix_to_translation(MatrixObject *self)
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;
}
@@ -884,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;
}
@@ -896,7 +946,7 @@ static PyObject *Matrix_to_scale(MatrixObject *self)
return newVectorObject(size, 3, Py_NEW, NULL);
}
-/*---------------------------Matrix.invert() ---------------------*/
+/*---------------------------matrix.invert() ---------------------*/
PyDoc_STRVAR(Matrix_invert_doc,
".. method:: invert()\n"
"\n"
@@ -918,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;
}
@@ -950,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;
}
@@ -995,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;
}
@@ -1008,7 +1063,7 @@ static PyObject *Matrix_rotate(MatrixObject *self, PyObject *value)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.decompose() ---------------------*/
+/*---------------------------matrix.decompose() ---------------------*/
PyDoc_STRVAR(Matrix_decompose_doc,
".. method:: decompose()\n"
"\n"
@@ -1026,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;
}
@@ -1067,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;
}
@@ -1082,14 +1141,16 @@ 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() ----------------*/
+/*---------------------------matrix.determinant() ----------------*/
PyDoc_STRVAR(Matrix_determinant_doc,
".. method:: determinant()\n"
"\n"
@@ -1106,13 +1167,15 @@ static PyObject *Matrix_determinant(MatrixObject *self)
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() ------------------*/
+/*---------------------------matrix.transpose() ------------------*/
PyDoc_STRVAR(Matrix_transpose_doc,
".. method:: transpose()\n"
"\n"
@@ -1128,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;
}
@@ -1138,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);
}
@@ -1159,7 +1225,7 @@ static PyObject *Matrix_transposed(MatrixObject *self)
return matrix__apply_to_copy((PyNoArgsFunction)Matrix_transpose, self);
}
-/*---------------------------Matrix.zero() -----------------------*/
+/*---------------------------matrix.zero() -----------------------*/
PyDoc_STRVAR(Matrix_zero_doc,
".. method:: zero()\n"
"\n"
@@ -1177,7 +1243,7 @@ static PyObject *Matrix_zero(MatrixObject *self)
Py_RETURN_NONE;
}
-/*---------------------------Matrix.identity(() ------------------*/
+/*---------------------------matrix.identity(() ------------------*/
PyDoc_STRVAR(Matrix_identity_doc,
".. method:: identity()\n"
"\n"
@@ -1194,7 +1260,9 @@ static PyObject *Matrix_identity(MatrixObject *self)
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;
}
@@ -1205,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);
}
@@ -1249,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;
}
@@ -1321,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);
@@ -1336,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;
}
@@ -1399,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;
}
@@ -1433,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;
}
@@ -1441,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;
}
@@ -1460,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;
}
@@ -1468,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;
}
@@ -1502,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);
}
}
@@ -1542,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)
@@ -1591,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;
}
}
@@ -1620,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;
}
}
@@ -1693,7 +1793,9 @@ static PyObject *Matrix_median_scale_get(MatrixObject *self, void *UNUSED(closur
/*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;
}
@@ -1713,7 +1815,9 @@ static PyObject *Matrix_is_negative_get(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;
}
}
@@ -1729,7 +1833,9 @@ static PyObject *Matrix_is_orthogonal_get(MatrixObject *self, void *UNUSED(closu
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");
+ PyErr_SetString(PyExc_AttributeError,
+ "matrix.is_orthogonal: "
+ "inappropriate matrix size - expects 3x3 or 4x4 matrix");
return NULL;
}
}
@@ -1865,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;
}
@@ -1891,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*/
@@ -1913,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 90447e7093a..2be258a1ef0 100644
--- a/source/blender/python/generic/mathutils_Quaternion.c
+++ b/source/blender/python/mathutils/mathutils_Quaternion.c
@@ -235,7 +235,9 @@ static PyObject *Quaternion_slerp(QuaternionObject *self, PyObject *args)
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;
}
@@ -246,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;
}
@@ -498,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;
}
@@ -514,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;
@@ -572,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;
}
@@ -608,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;
}
}
@@ -638,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;
}
}
@@ -657,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;
@@ -678,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;
}
@@ -731,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);
}
}
@@ -740,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;
}
@@ -861,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;
}
@@ -942,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;
}
@@ -1114,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 d0ba94474d4..56c1334ecac 100644
--- a/source/blender/python/generic/mathutils_Vector.c
+++ b/source/blender/python/mathutils/mathutils_Vector.c
@@ -34,7 +34,6 @@
#include "mathutils.h"
-#include "BLI_blenlib.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
@@ -66,7 +65,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);
@@ -156,17 +157,23 @@ PyDoc_STRVAR(Vector_resize_2d_doc,
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;
}
@@ -185,17 +192,23 @@ PyDoc_STRVAR(Vector_resize_3d_doc,
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;
}
@@ -217,17 +230,23 @@ PyDoc_STRVAR(Vector_resize_4d_doc,
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;
}
@@ -333,7 +352,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;
}
@@ -368,7 +389,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;
}
@@ -376,6 +399,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]) {
@@ -389,12 +414,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;
}
}
@@ -411,17 +436,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':
@@ -434,18 +460,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;
}
@@ -604,7 +631,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;
}
}
@@ -636,7 +665,9 @@ 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;
}
@@ -750,7 +781,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;
}
@@ -804,8 +836,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;
}
@@ -824,15 +863,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;
@@ -904,7 +953,9 @@ static PyObject *Vector_add(PyObject *v1, PyObject *v2)
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;
@@ -915,7 +966,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;
}
@@ -930,14 +983,18 @@ 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;
}
@@ -958,7 +1015,9 @@ static PyObject *Vector_sub(PyObject *v1, PyObject *v2)
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;
@@ -968,7 +1027,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;
}
@@ -983,14 +1044,18 @@ 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;
}
@@ -1016,7 +1081,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;
@@ -1027,7 +1092,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;
}
}
@@ -1077,7 +1145,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;
}
@@ -1089,8 +1159,19 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
}
else if (vec1) {
if (MatrixObject_Check(v2)) {
+
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector * Matrix) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds)");
+ return NULL;
+#else
+
/* VEC * MATRIX */
+ /* this is deprecated!, use the reverse instead */
float tvec[MAX_DIMENSIONS];
+
if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
return NULL;
if(column_vector_multiplication(tvec, vec1, (MatrixObject*)v2) == -1) {
@@ -1098,22 +1179,36 @@ static PyObject *Vector_mul(PyObject *v1, PyObject *v2)
}
return newVectorObject(tvec, vec1->size, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
}
else if (QuaternionObject_Check(v2)) {
/* VEC * QUAT */
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector * Quat) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds)");
+ return NULL;
+#else
QuaternionObject *quat2 = (QuaternionObject*)v2;
float tvec[3];
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;
}
+
copy_v3_v3(tvec, vec1->vec);
mul_qt_v3(quat2->quat, tvec);
return newVectorObject(tvec, 3, Py_NEW, Py_TYPE(vec1));
+#endif
+/* ------ to be removed ------*/
}
else if (((scalar= PyFloat_AsDouble(v2)) == -1.0f && PyErr_Occurred())==0) { /* VEC * FLOAT */
return vector_mul_float(vec1, scalar);
@@ -1128,7 +1223,10 @@ 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;
}
@@ -1144,6 +1242,14 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
/* only support vec*=float and vec*=mat
vec*=vec result is a float so that wont work */
if (MatrixObject_Check(v2)) {
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector *= Matrix) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds) "
+ "and uses the non in-place multiplication.");
+ return NULL;
+#else
float rvec[MAX_DIMENSIONS];
if(BaseMath_ReadCallback((MatrixObject *)v2) == -1)
return NULL;
@@ -1152,26 +1258,44 @@ static PyObject *Vector_imul(PyObject *v1, PyObject *v2)
return NULL;
memcpy(vec->vec, rvec, sizeof(float) * vec->size);
+#endif
+/* ------ to be removed ------*/
}
else if (QuaternionObject_Check(v2)) {
/* VEC *= QUAT */
+
+/* ------ to be removed ------*/
+#if 1
+ PyErr_SetString(PyExc_ValueError,
+ "(Vector *= Quat) is now removed, reverse the "
+ "order (promoted to an Error for Debug builds) "
+ "and uses the non in-place multiplication.");
+ return NULL;
+#else
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;
}
+
mul_qt_v3(quat2->quat, vec->vec);
+#endif
+/* ------ to be removed ------*/
}
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;
}
@@ -1188,7 +1312,9 @@ static PyObject *Vector_div(PyObject *v1, PyObject *v2)
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 */
@@ -1197,12 +1323,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;
}
@@ -1223,12 +1353,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++) {
@@ -1394,12 +1528,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;
}
}
@@ -1423,12 +1560,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;
}
}
@@ -1517,12 +1657,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) {
@@ -1553,6 +1695,21 @@ static int Vector_setLength(VectorObject *self, PyObject *value)
return 0;
}
+/* vector.length_squared */
+static PyObject *Vector_getLengthSquared(VectorObject *self, void *UNUSED(closure))
+{
+ double dot = 0.0f;
+ int i;
+
+ if(BaseMath_ReadCallback(self) == -1)
+ return NULL;
+
+ for(i = 0; i < self->size; i++){
+ dot += (double)(self->vec[i] * self->vec[i]);
+ }
+ return PyFloat_FromDouble(dot);
+}
+
/* Get a new Vector according to the provided swizzle. This function has little
error checking, as we are in control of the inputs: the closure is set by us
in Vector_createSwizzleGetSeter. */
@@ -1573,7 +1730,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;
}
@@ -1615,12 +1774,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;
@@ -1634,12 +1794,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;
}
@@ -1672,6 +1833,7 @@ static PyGetSetDef Vector_getseters[] = {
{(char *)"z", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector Z axis (3D Vectors only).\n\n:type: float", (void *)2},
{(char *)"w", (getter)Vector_getAxis, (setter)Vector_setAxis, (char *)"Vector W axis (4D Vectors only).\n\n:type: float", (void *)3},
{(char *)"length", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
+ {(char *)"length_squared", (getter)Vector_getLengthSquared, (setter)NULL, (char *)"Vector length squared (v.dot(v)).\n\n:type: float", NULL},
{(char *)"magnitude", (getter)Vector_getLength, (setter)Vector_setLength, (char *)"Vector Length.\n\n:type: float", NULL},
{(char *)"is_wrapped", (getter)BaseMathObject_getWrapped, (setter)NULL, (char *)BaseMathObject_Wrapped_doc, NULL},
{(char *)"owner", (getter)BaseMathObject_getOwner, (setter)NULL, (char *)BaseMathObject_Owner_doc, NULL},
@@ -2071,7 +2233,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 {
@@ -2252,7 +2416,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;
}
@@ -2284,8 +2449,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 53c066d1a85..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,16 +37,16 @@
#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
@@ -90,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;
}
@@ -177,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;
}
@@ -225,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;
}
}
@@ -259,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;
}
@@ -277,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;
}
@@ -318,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;
}
@@ -332,131 +340,12 @@ 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() -------------------*/
-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, "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;
-}
PyDoc_STRVAR(M_Geometry_intersect_line_line_2d_doc,
".. function:: intersect_line_line_2d(lineA_p1, lineA_p2, lineB_p1, lineB_p2)\n"
@@ -522,7 +411,7 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
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_line_2d",
+ if(!PyArg_ParseTuple(args, "O!O!O!O!|i:intersect_line_plane",
&vector_Type, &line_a,
&vector_Type, &line_b,
&vector_Type, &plane_co,
@@ -541,7 +430,9 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
}
if(ELEM4(2, line_a->size, line_b->size, plane_co->size, plane_no->size)) {
- PyErr_SetString(PyExc_RuntimeError, "geometry.intersect_line_plane(...) can't use 2D Vectors");
+ PyErr_SetString(PyExc_ValueError,
+ "geometry.intersect_line_plane(...): "
+ " can't use 2D Vectors");
return NULL;
}
@@ -553,6 +444,159 @@ static PyObject *M_Geometry_intersect_line_plane(PyObject *UNUSED(self), PyObjec
}
}
+
+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"
@@ -674,110 +718,69 @@ 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));
}
-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]");
- 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]");
- 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;
-
- 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");
- return -1;
- }
-
- /* verts will be added later */
- }
- return 0;
-}
-
-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);
- PyList_SET_ITEM(list_item, 0, PyFloat_FromDouble(box->x));
- PyList_SET_ITEM(list_item, 1, PyFloat_FromDouble(box->y));
- }
- MEM_freeN(*boxarray);
-}
-
-PyDoc_STRVAR(M_Geometry_box_pack_2d_doc,
-".. function:: box_pack_2d(boxes)\n"
+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"
-" Returns the normal of the 3D tri or quad.\n"
+" Return a transformed point, the transformation is defined by 2 triangles.\n"
"\n"
-" :arg boxes: list of boxes, each box is a list where the first 4 items are [x, y, width, height, ...] other items are ignored.\n"
-" :type boxes: list\n"
-" :return: the width and height of the packed bounding box\n"
-" :rtype: tuple, pair of floats\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_box_pack_2d(PyObject *UNUSED(self), PyObject *boxlist)
+static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
{
- float tot_width= 0.0f, tot_height= 0.0f;
- int len;
+ 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];
- PyObject *ret;
-
- if(!PyList_Check(boxlist)) {
- PyErr_SetString(PyExc_TypeError, "expected a list of boxes [[x, y, w, h], ... ]");
+ 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;
}
- len= PyList_GET_SIZE(boxlist);
- if (len) {
- boxPack *boxarray= NULL;
- if(boxPack_FromPyObject(boxlist, &boxarray) == -1) {
- return NULL; /* exception set */
- }
-
- /* Non Python function */
- boxPack2D(boxarray, len, &tot_width, &tot_height);
-
- boxPack_ToPyObject(boxlist, &boxarray);
+ 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;
}
- ret= PyTuple_New(2);
- PyTuple_SET_ITEM(ret, 0, PyFloat_FromDouble(tot_width));
- PyTuple_SET_ITEM(ret, 1, PyFloat_FromDouble(tot_width));
- return ret;
+ 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"
@@ -804,13 +807,13 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
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,
@@ -821,7 +824,8 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
}
if(resolu <= 1) {
- PyErr_SetString(PyExc_ValueError, "resolution must be 2 or over");
+ PyErr_SetString(PyExc_ValueError,
+ "resolution must be 2 or over");
return NULL;
}
@@ -829,17 +833,17 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
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) {
@@ -849,66 +853,247 @@ static PyObject *M_Geometry_interpolate_bezier(PyObject *UNUSED(self), PyObject*
return list;
}
-PyDoc_STRVAR(M_Geometry_barycentric_transform_doc,
-".. function:: barycentric_transform(point, tri_a1, tri_a2, tri_a3, tri_b1, tri_b2, tri_b3)\n"
+
+PyDoc_STRVAR(M_Geometry_tesselate_polygon_doc,
+".. function:: tesselate_polygon(veclist_list)\n"
"\n"
-" Return a transformed point, the transformation is defined by 2 triangles.\n"
+" Takes a list of polylines (each point a vector) and returns the point indices for a polyline filled with 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"
+" :arg veclist_list: list of polylines\n"
+" :rtype: list\n"
);
-static PyObject *M_Geometry_barycentric_transform(PyObject *UNUSED(self), PyObject *args)
+/* PolyFill function, uses Blenders scanfill to fill multiple poly lines */
+static PyObject *M_Geometry_tesselate_polygon(PyObject *UNUSED(self), PyObject *polyLineSeq)
{
- 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];
+ PyObject *tri_list; /*return this list of tri's */
+ PyObject *polyLine, *polyVec;
+ int i, len_polylines, len_polypoints, ls_error= 0;
- 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)
- ) {
+ /* 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;
}
- 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");
+ 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);
- 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);
+ /* The faces are stored in a new DisplayList
+ thats added to the head of the listbase */
+ dl= dispbase.first;
- return newVectorObject(vec, 3, Py_NEW, NULL);
+ 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]");
+ 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]");
+ 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");
+ return -1;
+ }
+
+ /* verts will be added later */
+ }
+ return 0;
+}
+
+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);
+ PyList_SET_ITEM(list_item, 0, PyFloat_FromDouble(box->x));
+ PyList_SET_ITEM(list_item, 1, PyFloat_FromDouble(box->y));
+ }
+ MEM_freeN(*boxarray);
}
+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"
+"\n"
+" :arg boxes: list of boxes, each box is a list where the first 4 items are [x, y, width, height, ...] other items are ignored.\n"
+" :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], ... ]");
+ return NULL;
+ }
+
+ len= PyList_GET_SIZE(boxlist);
+ if (len) {
+ boxPack *boxarray= NULL;
+ if(boxPack_FromPyObject(boxlist, &boxarray) == -1) {
+ return NULL; /* exception set */
+ }
+
+ /* Non Python function */
+ boxPack2D(boxarray, len, &tot_width, &tot_height);
+
+ boxPack_ToPyObject(boxlist, &boxarray);
+ }
+
+ ret= PyTuple_New(2);
+ PyTuple_SET_ITEM(ret, 0, PyFloat_FromDouble(tot_width));
+ PyTuple_SET_ITEM(ret, 1, PyFloat_FromDouble(tot_width));
+ return ret;
+}
+
+#endif /* MATH_STANDALONE */
+
+
static PyMethodDef M_Geometry_methods[]= {
{"intersect_ray_tri", (PyCFunction) M_Geometry_intersect_ray_tri, METH_VARARGS, M_Geometry_intersect_ray_tri_doc},
{"intersect_point_line", (PyCFunction) M_Geometry_intersect_point_line, METH_VARARGS, M_Geometry_intersect_point_line_doc},
@@ -917,12 +1102,16 @@ static PyMethodDef M_Geometry_methods[]= {
{"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},
{"intersect_line_plane", (PyCFunction) M_Geometry_intersect_line_plane, METH_VARARGS, M_Geometry_intersect_line_plane_doc},
- {"interpolate_bezier", (PyCFunction) M_Geometry_interpolate_bezier, METH_VARARGS, M_Geometry_interpolate_bezier_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}
};
@@ -939,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 3b70cf19a7f..b647466d2a8 100644
--- a/source/blender/quicktime/CMakeLists.txt
+++ b/source/blender/quicktime/CMakeLists.txt
@@ -26,24 +26,21 @@
set(INC
.
- ../quicktime
- ../makesdna
- ../makesrna
- ../blenlib
- ../blenkernel
../avi
+ ../blenkernel
+ ../blenlib
+ ../blenloader
../imbuf
../imbuf/intern
- ../blenloader
+ ../makesdna
+ ../makesrna
../render/extern/include
- ../include
../windowmanager
- ../../../intern/audaspace/intern
../../../intern/guardedalloc
)
set(INC_SYS
- ${QUICKTIME_INC}
+ ${QUICKTIME_INCLUDE_DIRS}
)
if(USE_QTKIT)
@@ -66,4 +63,11 @@ endif()
add_definitions(-DWITH_QUICKTIME)
+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/render/CMakeLists.txt b/source/blender/render/CMakeLists.txt
index aea377a35bb..90aef816e2c 100644
--- a/source/blender/render/CMakeLists.txt
+++ b/source/blender/render/CMakeLists.txt
@@ -24,21 +24,19 @@
#
# ***** 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
@@ -122,9 +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)
- list(APPEND INC_SYS ${QUICKTIME_INC})
+ list(APPEND INC
+ ../quicktime
+ )
+ list(APPEND INC_SYS
+ ${QUICKTIME_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_QUICKTIME)
endif()
diff --git a/source/blender/render/SConscript b/source/blender/render/SConscript
index a402139b927..4ec1ce3de6b 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']
@@ -29,7 +31,7 @@ if env['OURPLATFORM'] == 'darwin':
cflags_raytrace = env['CFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
cxxflags_raytrace = env['CXXFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
if env['WITH_BF_RAYOPTIMIZATION']:
cflags_raytrace = env['CCFLAGS'] + env['BF_RAYOPTIMIZATION_SSE_FLAGS']
cxxflags_raytrace = env['CXXFLAGS'] + 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 47230ab3089..97ffcd95473 100644
--- a/source/blender/render/extern/include/RE_pipeline.h
+++ b/source/blender/render/extern/include/RE_pipeline.h
@@ -51,6 +51,7 @@ struct ReportList;
struct ReportList;
struct Scene;
struct SceneRenderLayer;
+struct EnvMap;
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
/* this include is what is exposed of render to outside world */
@@ -146,7 +147,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,15 +219,21 @@ 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);
-void RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
-void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress);
+int RE_ReadRenderResult(struct Scene *scene, struct Scene *scenode);
+int RE_WriteRenderResult(struct ReportList *reports, RenderResult *rr, const char *filename, int compress);
struct RenderResult *RE_MultilayerConvert(void *exrhandle, int rectx, int recty);
+extern const float default_envmap_layout[];
+int RE_WriteEnvmapResult(struct ReportList *reports, struct Scene *scene, struct EnvMap *env, const char *relpath, int imtype, float layout[12]);
+
/* do a full sample buffer compo */
void RE_MergeFullSample(struct Render *re, struct Main *bmain, struct Scene *sce, struct bNodeTree *ntree);
@@ -242,7 +249,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);
@@ -264,7 +270,7 @@ void RE_zbuf_accumulate_vecblur(struct NodeBlurData *nbd, int xsize, int ysize,
#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, int type, struct Object *actob);
+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]);
@@ -308,11 +314,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/source/convertblender.c b/source/blender/render/intern/source/convertblender.c
index c1c2fb60abd..2f79560efd6 100644
--- a/source/blender/render/intern/source/convertblender.c
+++ b/source/blender/render/intern/source/convertblender.c
@@ -192,10 +192,10 @@ void RE_make_stars(Render *re, Scene *scenev3d, void (*initfunc)(void),
/* minimal free space (starting at camera) */
starmindist= wrld->starmindist;
- if (stargrid <= 0.10) return;
+ if (stargrid <= 0.10f) return;
if (re) re->flag |= R_HALO;
- else stargrid *= 1.0; /* then it draws fewer */
+ else stargrid *= 1.0f; /* then it draws fewer */
if(re) invert_m4_m4(mat, re->viewmat);
else unit_m4(mat);
@@ -267,17 +267,17 @@ void RE_make_stars(Render *re, Scene *scenev3d, void (*initfunc)(void),
if (alpha >= clipend) alpha = 0.0;
else if (alpha <= starmindist) alpha = 0.0;
- else if (alpha <= 2.0 * starmindist) {
+ else if (alpha <= 2.0f * starmindist) {
alpha = (alpha - starmindist) / starmindist;
} else {
- alpha -= 2.0 * starmindist;
- alpha /= (clipend - 2.0 * starmindist);
- alpha = 1.0 - alpha;
+ alpha -= 2.0f * starmindist;
+ alpha /= (clipend - 2.0f * starmindist);
+ alpha = 1.0f - alpha;
}
}
- if (alpha != 0.0) {
+ if (alpha != 0.0f) {
fac = force * BLI_drand();
har = initstar(re, obr, vec, fac);
@@ -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;
@@ -822,7 +822,7 @@ static void autosmooth(Render *re, ObjectRen *obr, float mat[][4], int degr)
if(obr->totvert==0) return;
asverts= MEM_callocN(sizeof(ASvert)*obr->totvert, "all smooth verts");
- thresh= cos( M_PI*(0.5f+(float)degr)/180.0 );
+ thresh= cosf((float)M_PI*(0.5f+(float)degr)/180.0f );
/* step zero: give faces normals of original mesh, if this is provided */
@@ -1046,9 +1046,9 @@ static void static_particle_strand(Render *re, ObjectRen *obr, Material *ma, Par
float fac;
if(ma->strand_ease!=0.0f) {
if(ma->strand_ease<0.0f)
- fac= pow(sd->time, 1.0+ma->strand_ease);
+ fac= pow(sd->time, 1.0f+ma->strand_ease);
else
- fac= pow(sd->time, 1.0/(1.0f-ma->strand_ease));
+ fac= pow(sd->time, 1.0f/(1.0f-ma->strand_ease));
}
else fac= sd->time;
@@ -1063,7 +1063,7 @@ static void static_particle_strand(Render *re, ObjectRen *obr, Material *ma, Par
width= w;
/*cross is the radius of the strand so we want it to be half of full width */
- mul_v3_fl(cross,0.5/crosslen);
+ mul_v3_fl(cross,0.5f/crosslen);
}
else
width/=w;
@@ -1345,8 +1345,11 @@ static void particle_billboard(Render *re, ObjectRen *obr, Material *ma, Particl
VlakRen *vlr;
MTFace *mtf;
float xvec[3], yvec[3], zvec[3], bb_center[3];
+ /* Number of tiles */
int totsplit = bb->uv_split * bb->uv_split;
- float uvx = 0.0f, uvy = 0.0f, uvdx = 1.0f, uvdy = 1.0f, time = 0.0f;
+ int tile, x, y;
+ /* Tile offsets */
+ float uvx = 0.0f, uvy = 0.0f, uvdx = 1.0f, uvdy = 1.0f, time = 0.0f;
vlr= RE_findOrAddVlak(obr, obr->totvlak++);
vlr->v1= RE_findOrAddVert(obr, obr->totvert++);
@@ -1420,11 +1423,14 @@ static void particle_billboard(Render *re, ObjectRen *obr, Material *ma, Particl
else if(bb->split_offset==PART_BB_OFF_RANDOM)
time = (float)fmod(time + bb->random, 1.0f);
- uvx = uvdx * floor((float)(bb->uv_split * bb->uv_split) * (float)fmod((double)time, (double)uvdx));
- uvy = uvdy * floor((1.0f - time) * (float)bb->uv_split);
-
- if(fmod(time, 1.0f / bb->uv_split) == 0.0f)
- uvy -= uvdy;
+ /* Find the coordinates in tile space (integer), then convert to UV
+ * space (float). Note that Y is flipped. */
+ tile = (int)((time + FLT_EPSILON10) * totsplit);
+ x = tile % bb->uv_split;
+ y = tile / bb->uv_split;
+ y = (bb->uv_split - 1) - y;
+ uvx = uvdx * x;
+ uvy = uvdy * y;
}
/* normal UVs */
@@ -1680,8 +1686,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 +1804,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];
@@ -1988,8 +1990,8 @@ static int render_new_particle_system(Render *re, ObjectRen *obr, ParticleSystem
else {
/* render normal particles */
if(part->trail_count > 1) {
- float length = part->path_end * (1.0 - part->randlength * r_length);
- int trail_count = part->trail_count * (1.0 - part->randlength * r_length);
+ float length = part->path_end * (1.0f - part->randlength * r_length);
+ int trail_count = part->trail_count * (1.0f - part->randlength * r_length);
float ct = (part->draw & PART_ABS_PATH_TIME) ? cfra : pa_time;
float dt = length / (trail_count ? (float)trail_count : 1.0f);
@@ -2015,7 +2017,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 +2051,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 +2128,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;
@@ -2137,7 +2165,7 @@ static void make_render_halos(Render *re, ObjectRen *obr, Mesh *me, int totvert,
normalize_v3(view);
zn= nor[0]*view[0]+nor[1]*view[1]+nor[2]*view[2];
- if(zn>=0.0) hasize= 0.0;
+ if(zn>=0.0f) hasize= 0.0f;
else hasize*= zn*zn*zn*zn;
}
@@ -2908,8 +2936,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 +3381,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++) {
@@ -3575,7 +3605,7 @@ static void initshadowbuf(Render *re, LampRen *lar, float mat[][4])
/* bias is percentage, made 2x larger because of correction for angle of incidence */
/* when a ray is closer to parallel of a face, bias value is increased during render */
- shb->bias= (0.02*lar->bias)*0x7FFFFFFF;
+ shb->bias= (0.02f*lar->bias)*0x7FFFFFFF;
/* halfway method (average of first and 2nd z) reduces bias issues */
if(ELEM(lar->buftype, LA_SHADBUF_HALFWAY, LA_SHADBUF_DEEP))
@@ -3586,7 +3616,7 @@ static void initshadowbuf(Render *re, LampRen *lar, float mat[][4])
static void area_lamp_vectors(LampRen *lar)
{
- float xsize= 0.5*lar->area_size, ysize= 0.5*lar->area_sizey, multifac;
+ float xsize= 0.5f*lar->area_size, ysize= 0.5f*lar->area_sizey, multifac;
/* make it smaller, so area light can be multisampled */
multifac= 1.0f/sqrt((float)lar->ray_totsamp);
@@ -3613,7 +3643,7 @@ static void area_lamp_vectors(LampRen *lar)
lar->area[3][1]= lar->co[1] + xsize*lar->mat[0][1] - ysize*lar->mat[1][1];
lar->area[3][2]= lar->co[2] + xsize*lar->mat[0][2] - ysize*lar->mat[1][2];
/* only for correction button size, matrix size works on energy */
- lar->areasize= lar->dist*lar->dist/(4.0*xsize*ysize);
+ lar->areasize= lar->dist*lar->dist/(4.0f*xsize*ysize);
}
/* If lar takes more lamp data, the decoupling will be better. */
@@ -3767,10 +3797,10 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
lar->spotsi= la->spotsize;
if(lar->mode & LA_HALO) {
- if(lar->spotsi>170.0) lar->spotsi= 170.0;
+ if(lar->spotsi>170.0f) lar->spotsi= 170.0f;
}
- lar->spotsi= cos( M_PI*lar->spotsi/360.0 );
- lar->spotbl= (1.0-lar->spotsi)*la->spotblend;
+ lar->spotsi= cos( M_PI*lar->spotsi/360.0f );
+ lar->spotbl= (1.0f-lar->spotsi)*la->spotblend;
memcpy(lar->mtex, la->mtex, MAX_MTEX*sizeof(void *));
@@ -3789,7 +3819,7 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
xn= saacos(lar->spotsi);
xn= sin(xn)/cos(xn);
- lar->spottexfac= 1.0/(xn);
+ lar->spottexfac= 1.0f/(xn);
if(lar->mode & LA_ONLYSHADOW) {
if((lar->mode & (LA_SHAD_BUF|LA_SHAD_RAY))==0) lar->mode -= LA_ONLYSHADOW;
@@ -3799,7 +3829,7 @@ static GroupObject *add_render_lamp(Render *re, Object *ob)
/* set flag for spothalo en initvars */
if(la->type==LA_SPOT && (la->mode & LA_HALO) && (la->buftype != LA_SHADBUF_DEEP)) {
- if(la->haint>0.0) {
+ if(la->haint>0.0f) {
re->flag |= R_LAMPHALO;
/* camera position (0,0,0) rotate around lamp */
@@ -3966,9 +3996,9 @@ void init_render_world(Render *re)
cp= (char *)&re->wrld.fastcol;
- cp[0]= 255.0*re->wrld.horr;
- cp[1]= 255.0*re->wrld.horg;
- cp[2]= 255.0*re->wrld.horb;
+ cp[0]= 255.0f*re->wrld.horr;
+ cp[1]= 255.0f*re->wrld.horg;
+ cp[2]= 255.0f*re->wrld.horb;
cp[3]= 1;
VECCOPY(re->grvec, re->viewmat[2]);
@@ -4023,25 +4053,25 @@ static void set_phong_threshold(ObjectRen *obr)
if(vlr->flag & R_SMOOTH) {
dot= INPR(vlr->n, vlr->v1->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
dot= INPR(vlr->n, vlr->v2->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
dot= INPR(vlr->n, vlr->v3->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
if(vlr->v4) {
dot= INPR(vlr->n, vlr->v4->n);
dot= ABS(dot);
- if(dot>0.9) {
+ if(dot>0.9f) {
thresh+= dot; tot++;
}
}
@@ -4081,7 +4111,7 @@ static void set_fullsample_trace_flag(Render *re, ObjectRen *obr)
else if((mode & MA_RAYMIRROR) || ((mode & MA_TRANSP) && (mode & MA_RAYTRANSP))) {
/* for blurry reflect/refract, better to take more samples
* inside the raytrace than as OSA samples */
- if ((vlr->mat->gloss_mir == 1.0) && (vlr->mat->gloss_tra == 1.0))
+ if ((vlr->mat->gloss_mir == 1.0f) && (vlr->mat->gloss_tra == 1.0f))
vlr->flag |= R_FULL_OSA;
}
}
@@ -4197,11 +4227,11 @@ static void check_non_flat_quads(ObjectRen *obr)
/* render normals are inverted in render! we calculate normal of single tria here */
flen= normal_tri_v3( nor,vlr->v4->co, vlr->v3->co, vlr->v1->co);
- if(flen==0.0) normal_tri_v3( nor,vlr->v4->co, vlr->v2->co, vlr->v1->co);
+ if(flen==0.0f) normal_tri_v3( nor,vlr->v4->co, vlr->v2->co, vlr->v1->co);
xn= nor[0]*vlr->n[0] + nor[1]*vlr->n[1] + nor[2]*vlr->n[2];
- if(ABS(xn) < 0.999995 ) { // checked on noisy fractal grid
+ if(ABS(xn) < 0.999995f ) { // checked on noisy fractal grid
float d1, d2;
@@ -4665,7 +4695,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 +4729,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;
@@ -5438,7 +5467,7 @@ static int load_fluidsimspeedvectors(Render *re, ObjectInstanceRen *obi, float *
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))
+ if((fsvec[0] == 0.0f) && (fsvec[1] == 0.0f) && (fsvec[2] == 0.0f))
{
fsvec[0] = avgvel[0];
fsvec[1] = avgvel[1];
@@ -5657,13 +5686,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 +5743,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 +5770,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 +5784,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..66a73b47790 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;
@@ -596,7 +595,7 @@ static int envcube_isect(EnvMap *env, float *vec, float *answ)
if(env->type==ENV_PLANE) {
face= 1;
- labda= 1.0/vec[2];
+ labda= 1.0f/vec[2];
answ[0]= env->viewscale*labda*vec[0];
answ[1]= -env->viewscale*labda*vec[1];
}
@@ -604,44 +603,44 @@ static int envcube_isect(EnvMap *env, float *vec, float *answ)
/* which face */
if( vec[2]<=-fabs(vec[0]) && vec[2]<=-fabs(vec[1]) ) {
face= 0;
- labda= -1.0/vec[2];
+ labda= -1.0f/vec[2];
answ[0]= labda*vec[0];
answ[1]= labda*vec[1];
}
else if( vec[2]>=fabs(vec[0]) && vec[2]>=fabs(vec[1]) ) {
face= 1;
- labda= 1.0/vec[2];
+ labda= 1.0f/vec[2];
answ[0]= labda*vec[0];
answ[1]= -labda*vec[1];
}
else if( vec[1]>=fabs(vec[0]) ) {
face= 2;
- labda= 1.0/vec[1];
+ labda= 1.0f/vec[1];
answ[0]= labda*vec[0];
answ[1]= labda*vec[2];
}
else if( vec[0]<=-fabs(vec[1]) ) {
face= 3;
- labda= -1.0/vec[0];
+ labda= -1.0f/vec[0];
answ[0]= labda*vec[1];
answ[1]= labda*vec[2];
}
else if( vec[1]<=-fabs(vec[0]) ) {
face= 4;
- labda= -1.0/vec[1];
+ labda= -1.0f/vec[1];
answ[0]= -labda*vec[0];
answ[1]= labda*vec[2];
}
else {
face= 5;
- labda= 1.0/vec[0];
+ labda= 1.0f/vec[0];
answ[0]= -labda*vec[1];
answ[1]= labda*vec[2];
}
}
- answ[0]= 0.5+0.5*answ[0];
- answ[1]= 0.5+0.5*answ[1];
+ answ[0]= 0.5f+0.5f*answ[0];
+ answ[1]= 0.5f+0.5f*answ[1];
return face;
}
@@ -726,7 +725,7 @@ int envmaptex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexRe
/* edges? */
- if(texres->ta<1.0) {
+ if(texres->ta<1.0f) {
TexResult texr1, texr2;
texr1.nor= texr2.nor= NULL;
@@ -757,8 +756,8 @@ int envmaptex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex, TexRe
else texr2.tr= texr2.tg= texr2.tb= texr2.ta= 0.0;
fac= (texres->ta+texr1.ta+texr2.ta);
- if(fac!=0.0) {
- fac= 1.0/fac;
+ if(fac!=0.0f) {
+ fac= 1.0f/fac;
texres->tr= fac*(texres->ta*texres->tr + texr1.ta*texr1.tr + texr2.ta*texr2.tr );
texres->tg= fac*(texres->ta*texres->tg + texr1.ta*texr1.tg + texr2.ta*texr2.tg );
diff --git a/source/blender/render/intern/source/gammaCorrectionTables.c b/source/blender/render/intern/source/gammaCorrectionTables.c
index 4a16341093c..f88a5d240c3 100644
--- a/source/blender/render/intern/source/gammaCorrectionTables.c
+++ b/source/blender/render/intern/source/gammaCorrectionTables.c
@@ -107,7 +107,7 @@ void makeGammaTables(float gamma)
int i;
valid_gamma = gamma;
- valid_inv_gamma = 1.0 / gamma;
+ valid_inv_gamma = 1.0f / gamma;
color_step = 1.0 / RE_GAMMA_TABLE_SIZE;
inv_color_step = (float) RE_GAMMA_TABLE_SIZE;
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/initrender.c b/source/blender/render/intern/source/initrender.c
index 2f09742f130..bea86264af1 100644
--- a/source/blender/render/intern/source/initrender.c
+++ b/source/blender/render/intern/source/initrender.c
@@ -126,8 +126,8 @@ static float filt_cubic(float x)
if (x < 0.0f) x = -x;
- if (x < 1.0f) return 0.5*x*x2 - x2 + 2.0f/3.0f;
- if (x < 2.0f) return (2.0-x)*(2.0-x)*(2.0-x)/6.0f;
+ if (x < 1.0f) return 0.5f*x*x2 - x2 + 2.0f/3.0f;
+ if (x < 2.0f) return (2.0f-x)*(2.0f-x)*(2.0f-x)/6.0f;
return 0.0f;
}
@@ -138,27 +138,27 @@ static float filt_catrom(float x)
if (x < 0.0f) x = -x;
if (x < 1.0f) return 1.5f*x2*x - 2.5f*x2 + 1.0f;
- if (x < 2.0f) return -0.5f*x2*x + 2.5*x2 - 4.0f*x + 2.0f;
+ if (x < 2.0f) return -0.5f*x2*x + 2.5f*x2 - 4.0f*x + 2.0f;
return 0.0f;
}
static float filt_mitchell(float x) /* Mitchell & Netravali's two-param cubic */
{
float b = 1.0f/3.0f, c = 1.0f/3.0f;
- float p0 = ( 6.0 - 2.0*b ) / 6.0;
- float p2 = (-18.0 + 12.0*b + 6.0*c) / 6.0;
- float p3 = ( 12.0 - 9.0*b - 6.0*c) / 6.0;
- float q0 = ( 8.0*b + 24.0*c) / 6.0;
- float q1 = ( - 12.0*b - 48.0*c) / 6.0;
- float q2 = ( 6.0*b + 30.0*c) / 6.0;
- float q3 = ( - b - 6.0*c) / 6.0;
-
- if (x<-2.0) return 0.0;
- if (x<-1.0) return (q0-x*(q1-x*(q2-x*q3)));
- if (x< 0.0) return (p0+x*x*(p2-x*p3));
- if (x< 1.0) return (p0+x*x*(p2+x*p3));
- if (x< 2.0) return (q0+x*(q1+x*(q2+x*q3)));
- return 0.0;
+ float p0 = ( 6.0f - 2.0f*b ) / 6.0f;
+ float p2 = (-18.0f + 12.0f*b + 6.0f*c) / 6.0f;
+ float p3 = ( 12.0f - 9.0f*b - 6.0f*c) / 6.0f;
+ float q0 = ( 8.0f*b + 24.0f*c) / 6.0f;
+ float q1 = ( - 12.0f *b - 48.0f*c) / 6.0f;
+ float q2 = ( 6.0f *b + 30.0f*c) / 6.0f;
+ float q3 = ( - b - 6.0f*c) / 6.0f;
+
+ if (x<-2.0f) return 0.0f;
+ if (x<-1.0f) return (q0-x*(q1-x*(q2-x*q3)));
+ if (x< 0.0f) return (p0+x*x*(p2-x*p3));
+ if (x< 1.0f) return (p0+x*x*(p2+x*p3));
+ if (x< 2.0f) return (q0+x*(q1+x*(q2+x*q3)));
+ return 0.0f;
}
/* x ranges from -1 to 1 */
@@ -170,16 +170,16 @@ float RE_filter_value(int type, float x)
switch(type) {
case R_FILTER_BOX:
- if(x>1.0) return 0.0f;
- return 1.0;
+ if(x>1.0f) return 0.0f;
+ return 1.0f;
case R_FILTER_TENT:
- if(x>1.0) return 0.0f;
+ if(x>1.0f) return 0.0f;
return 1.0f-x;
case R_FILTER_GAUSS:
x*= gaussfac;
- return (1.0/exp(x*x) - 1.0/exp(gaussfac*gaussfac*2.25));
+ return (1.0f/expf(x*x) - 1.0f/expf(gaussfac*gaussfac*2.25f));
case R_FILTER_MITCH:
return filt_mitchell(x*gaussfac);
@@ -221,7 +221,7 @@ static float calc_weight(Render *re, float *weight, int i, int j)
case R_FILTER_GAUSS:
x = dist*re->r.gauss;
- weight[a]= (1.0/exp(x*x) - 1.0/exp(re->r.gauss*re->r.gauss*2.25));
+ weight[a]= (1.0f/expf(x*x) - 1.0f/expf(re->r.gauss*re->r.gauss*2.25f));
break;
case R_FILTER_MITCH:
@@ -309,7 +309,7 @@ void make_sample_tables(Render *re)
st->centmask= MEM_mallocN((1<<re->osa), "Initfilt3");
for(a=0; a<16; a++) {
- st->centLut[a]= -0.45+((float)a)/16.0;
+ st->centLut[a]= -0.45f+((float)a)/16.0f;
}
/* calculate totw */
@@ -327,7 +327,7 @@ void make_sample_tables(Render *re)
memset(weight, 0, sizeof(weight));
calc_weight(re, weight, i, j);
- for(a=0; a<16; a++) flweight[a]= weight[a]*(1.0/totw);
+ for(a=0; a<16; a++) flweight[a]= weight[a]*(1.0f/totw);
m3= st->fmask1[ 3*(j+1)+i+1 ];
m4= st->fmask2[ 3*(j+1)+i+1 ];
@@ -430,9 +430,9 @@ void make_sample_tables(Render *re)
for(a= (1<<re->osa)-1; a>0; a--) {
val= st->cmask[a & 255] + st->cmask[a>>8];
- i= 8+(15.9*(fpy1[a & 255]+fpy2[a>>8])/val);
+ i= 8+(15.9f*(fpy1[a & 255]+fpy2[a>>8])/val);
CLAMP(i, 0, 15);
- j= 8+(15.9*(fpx1[a & 255]+fpx2[a>>8])/val);
+ j= 8+(15.9f*(fpx1[a & 255]+fpx2[a>>8])/val);
CLAMP(j, 0, 15);
i= j + (i<<4);
st->centmask[a]= i;
diff --git a/source/blender/render/intern/source/occlusion.c b/source/blender/render/intern/source/occlusion.c
index 0aa65479a4f..54137c62d22 100644
--- a/source/blender/render/intern/source/occlusion.c
+++ b/source/blender/render/intern/source/occlusion.c
@@ -1414,7 +1414,7 @@ static void sample_occ_tree(Render *re, OcclusionTree *tree, OccFace *exclude, f
if(env) {
/* sky shading using bent normal */
if(ELEM(envcolor, WO_AOSKYCOL, WO_AOSKYTEX)) {
- fac= 0.5*(1.0f+bn[0]*re->grvec[0]+ bn[1]*re->grvec[1]+ bn[2]*re->grvec[2]);
+ fac= 0.5f*(1.0f+bn[0]*re->grvec[0]+ bn[1]*re->grvec[1]+ bn[2]*re->grvec[2]);
env[0]= (1.0f-fac)*re->wrld.horr + fac*re->wrld.zenr;
env[1]= (1.0f-fac)*re->wrld.horg + fac*re->wrld.zeng;
env[2]= (1.0f-fac)*re->wrld.horb + fac*re->wrld.zenb;
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index 436f0ecd997..49e5e7b989d 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)
@@ -173,6 +173,9 @@ static void stats_background(void *UNUSED(arg), RenderStats *rs)
else
fprintf(stdout, "Sce: %s Ve:%d Fa:%d La:%d", rs->scenename, rs->totvert, rs->totface, rs->totlamp);
}
+
+ BLI_exec_cb(G.main, NULL, BLI_CB_EVT_RENDER_STATS);
+
fputc('\n', stdout);
fflush(stdout);
}
@@ -383,6 +386,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 +455,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,6 +641,8 @@ 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_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)
@@ -815,11 +827,12 @@ static char *make_pass_name(RenderPass *rpass, int chan)
/* filename already made absolute */
/* called from within UI, saves both rendered result as a file-read result */
-void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress)
+int RE_WriteRenderResult(ReportList *reports, RenderResult *rr, const char *filename, int compress)
{
RenderLayer *rl;
RenderPass *rpass;
void *exrhandle= IMB_exr_get_handle();
+ int success;
BLI_make_existing_file(filename);
@@ -855,11 +868,20 @@ void RE_WriteRenderResult(RenderResult *rr, const char *filename, int compress)
}
}
}
-
- IMB_exr_begin_write(exrhandle, filename, rr->rectx, rr->recty, compress);
-
- IMB_exr_write_channels(exrhandle);
+
+ /* when the filename has no permissions, this can fail */
+ if(IMB_exr_begin_write(exrhandle, filename, rr->rectx, rr->recty, compress)) {
+ IMB_exr_write_channels(exrhandle);
+ success= TRUE;
+ }
+ else {
+ /* TODO, get the error from openexr's exception */
+ BKE_report(reports, RPT_ERROR, "Error Writing Render Result, see console");
+ success= FALSE;
+ }
IMB_exr_close(exrhandle);
+
+ return success;
}
/* callbacks for RE_MultilayerConvert */
@@ -983,9 +1005,10 @@ static int read_render_result_from_file(const char *filename, RenderResult *rr)
}
/* only for temp buffer files, makes exact copy of render result */
-static void read_render_result(Render *re, int sample)
+static int read_render_result(Render *re, int sample)
{
char str[FILE_MAX];
+ int success;
BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE);
@@ -995,10 +1018,18 @@ static void read_render_result(Render *re, int sample)
render_unique_exr_name(re, str, sample);
printf("read exr tmp file: %s\n", str);
- if(!read_render_result_from_file(str, re->result))
+ if(read_render_result_from_file(str, re->result)) {
+ success= TRUE;
+ }
+ else {
printf("cannot read: %s\n", str);
+ success= FALSE;
+
+ }
BLI_rw_mutex_unlock(&re->resultmutex);
+
+ return success;
}
/* *************************************************** */
@@ -1189,13 +1220,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 +1280,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 +1446,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 +2090,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 +2100,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 +2194,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 +2220,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 +2258,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 +2270,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 +2285,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 +2302,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 +2365,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 +2415,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 +2436,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;
}
@@ -2519,7 +2547,7 @@ static void do_render_seq(Render * re)
if(recurs_depth==0) {
/* otherwise sequencer animation isnt updated */
- BKE_animsys_evaluate_all_animation(re->main, (float)cfra); // XXX, was BKE_curframe(re->scene)
+ BKE_animsys_evaluate_all_animation(re->main, re->scene, (float)cfra); // XXX, was BKE_curframe(re->scene)
}
recurs_depth++;
@@ -2706,14 +2734,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 +2752,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 +2772,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 +2781,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 +2796,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 +2806,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 +2822,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 +2930,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 +2945,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 +2960,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 +2989,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);
}
@@ -2965,7 +3003,7 @@ static int do_write_image_or_movie(Render *re, Scene *scene, bMovieHandle *mh, R
if(re->r.imtype==R_MULTILAYER) {
if(re->result) {
- RE_WriteRenderResult(re->result, name, scene->r.quality);
+ RE_WriteRenderResult(re->reports, re->result, name, scene->r.quality);
printf("Saved: %s", name);
}
}
@@ -2992,6 +3030,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 +3071,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 +3084,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 +3155,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 +3180,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 */
+ }
}
}
@@ -3158,7 +3220,7 @@ void RE_PreviewRender(Render *re, Main *bmain, Scene *sce)
/* note; repeated win/disprect calc... solve that nicer, also in compo */
/* only the temp file! */
-void RE_ReadRenderResult(Scene *scene, Scene *scenode)
+int RE_ReadRenderResult(Scene *scene, Scene *scenode)
{
Render *re;
int winx, winy;
@@ -3192,7 +3254,7 @@ void RE_ReadRenderResult(Scene *scene, Scene *scenode)
RE_InitState(re, NULL, &scene->r, NULL, winx, winy, &disprect);
re->scene= scene;
- read_render_result(re, 0);
+ return read_render_result(re, 0);
}
void RE_set_max_threads(int threads)
@@ -3310,6 +3372,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)
@@ -3418,3 +3485,60 @@ static int external_render_3d(Render *re, int do_all)
return 1;
}
+const float default_envmap_layout[] = { 0,0, 1,0, 2,0, 0,1, 1,1, 2,1 };
+
+int RE_WriteEnvmapResult(struct ReportList *reports, Scene *scene, EnvMap *env, const char *relpath, int imtype, float layout[12])
+{
+ ImBuf *ibuf=NULL;
+ int ok;
+ int dx;
+ int maxX=0,maxY=0,i=0;
+ char filepath[FILE_MAX];
+
+ if(env->cube[1]==NULL) {
+ BKE_report(reports, RPT_ERROR, "There is no generated environment map available to save");
+ return 0;
+ }
+
+ dx= env->cube[1]->x;
+
+ if (env->type == ENV_CUBE) {
+ for (i=0; i < 12; i+=2) {
+ maxX = MAX2(maxX,layout[i] + 1);
+ maxY = MAX2(maxY,layout[i+1] + 1);
+ }
+
+ ibuf = IMB_allocImBuf(maxX*dx, maxY*dx, 24, IB_rectfloat);
+
+ for (i=0; i < 12; i+=2)
+ if (layout[i] > -1 && layout[i+1] > -1)
+ IMB_rectcpy(ibuf, env->cube[i/2], layout[i]*dx, layout[i+1]*dx, 0, 0, dx, dx);
+ }
+ else if (env->type == ENV_PLANE) {
+ ibuf = IMB_allocImBuf(dx, dx, 24, IB_rectfloat);
+ IMB_rectcpy(ibuf, env->cube[1], 0, 0, 0, 0, dx, dx);
+ }
+ else {
+ BKE_report(reports, RPT_ERROR, "Invalid environment map type");
+ return 0;
+ }
+
+ if (scene->r.color_mgt_flag & R_COLOR_MANAGEMENT)
+ ibuf->profile = IB_PROFILE_LINEAR_RGB;
+
+ /* to save, we first get absolute path */
+ BLI_strncpy(filepath, relpath, sizeof(filepath));
+ BLI_path_abs(filepath, G.main->name);
+
+ ok= BKE_write_ibuf(ibuf, filepath, imtype, scene->r.subimtype, scene->r.quality);
+
+ IMB_freeImBuf(ibuf);
+
+ if(ok) {
+ return TRUE;
+ }
+ else {
+ BKE_report(reports, RPT_ERROR, "Error writing environment map.");
+ return FALSE;
+ }
+}
diff --git a/source/blender/render/intern/source/pixelblending.c b/source/blender/render/intern/source/pixelblending.c
index c2e34e2a70d..d945436be6b 100644
--- a/source/blender/render/intern/source/pixelblending.c
+++ b/source/blender/render/intern/source/pixelblending.c
@@ -68,11 +68,11 @@ extern struct Render R;
/* Threshold for a 'full' pixel: pixels with alpha above this level are */
/* considered opaque This is the decimal value for 0xFFF0 / 0xFFFF */
-#define RE_FULL_COLOR_FLOAT 0.9998
+#define RE_FULL_COLOR_FLOAT 0.9998f
/* Threshold for an 'empty' pixel: pixels with alpha above this level are */
/* considered completely transparent. This is the decimal value */
/* for 0x000F / 0xFFFF */
-#define RE_EMPTY_COLOR_FLOAT 0.0002
+#define RE_EMPTY_COLOR_FLOAT 0.0002f
/* ------------------------------------------------------------------------- */
@@ -82,7 +82,7 @@ void addAlphaOverFloat(float *dest, float *source)
/* d = s + (1-alpha_s)d*/
float mul;
- mul= 1.0 - source[3];
+ mul= 1.0f - source[3];
dest[0]= (mul*dest[0]) + source[0];
dest[1]= (mul*dest[1]) + source[1];
@@ -98,7 +98,7 @@ void addAlphaUnderFloat(float *dest, float *source)
{
float mul;
- mul= 1.0 - dest[3];
+ mul= 1.0f - dest[3];
dest[0]+= (mul*source[0]);
dest[1]+= (mul*source[1]);
@@ -115,7 +115,7 @@ void addalphaAddfacFloat(float *dest, float *source, char addfac)
/* Addfac is a number between 0 and 1: rescale */
/* final target is to diminish the influence of dest when addfac rises */
- m = 1.0 - ( source[3] * ((255.0 - addfac) / 255.0));
+ m = 1.0f - ( source[3] * ((255 - addfac) / 255.0f));
/* blend colors*/
c= (m * dest[0]) + source[0];
@@ -178,7 +178,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a= j;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb1[0]+= val*r;
rb1[1]+= val*g;
rb1[2]+= val*b;
@@ -187,7 +187,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb2[0]+= val*r;
rb2[1]+= val*g;
rb2[2]+= val*b;
@@ -196,7 +196,7 @@ void add_filt_fmask(unsigned int mask, float *col, float *rowbuf, int row_w)
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
rb3[0]+= val*r;
rb3[1]+= val*g;
rb3[2]+= val*b;
@@ -345,21 +345,21 @@ void add_filt_fmask_pixsize(unsigned int mask, float *in, float *rowbuf, int row
a= j;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb1[i]+= val*in[i];
}
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb2[i]+= val*in[i];
}
a+=3;
val= *(fmask1[a] +maskand) + *(fmask2[a] +maskshift);
- if(val!=0.0) {
+ if(val!=0.0f) {
for(i= 0; i<pixsize; i++)
rb3[i]+= val*in[i];
}
@@ -396,5 +396,3 @@ void addalphaAddFloat(float *dest, float *source)
/* eof pixelblending.c */
-
-
diff --git a/source/blender/render/intern/source/pixelshading.c b/source/blender/render/intern/source/pixelshading.c
index 2d42938f6ac..febfea89f04 100644
--- a/source/blender/render/intern/source/pixelshading.c
+++ b/source/blender/render/intern/source/pixelshading.c
@@ -86,7 +86,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
ir= ig= ib= 0.0;
VECCOPY(rco, har->co);
- dco[0]=dco[1]=dco[2]= 1.0/har->rad;
+ dco[0]=dco[1]=dco[2]= 1.0f/har->rad;
vn= har->no;
@@ -114,9 +114,9 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->mode & LA_QUAD) {
t= 1.0;
- if(lar->ld1>0.0)
+ if(lar->ld1>0.0f)
t= lar->dist/(lar->dist+lar->ld1*ld);
- if(lar->ld2>0.0)
+ if(lar->ld2>0.0f)
t*= lar->distkw/(lar->distkw+lar->ld2*ld*ld);
lampdist= t;
@@ -127,7 +127,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->mode & LA_SPHERE) {
t= lar->dist - ld;
- if(t<0.0) continue;
+ if(t<0.0f) continue;
t/= lar->dist;
lampdist*= (t);
@@ -155,7 +155,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
if(lar->type==LA_SPOT) {
if(lar->mode & LA_SQUARE) {
- if(lv[0]*lar->vec[0]+lv[1]*lar->vec[1]+lv[2]*lar->vec[2]>0.0) {
+ if(lv[0]*lar->vec[0]+lv[1]*lar->vec[1]+lv[2]*lar->vec[2]>0.0f) {
float x, lvrot[3];
/* rotate view to lampspace */
@@ -165,7 +165,7 @@ static void render_lighting_halo(HaloRen *har, float *colf)
x= MAX2(fabs(lvrot[0]/lvrot[2]) , fabs(lvrot[1]/lvrot[2]));
/* 1.0/(sqrt(1+x*x)) is equivalent to cos(atan(x)) */
- inpr= 1.0/(sqrt(1.0+x*x));
+ inpr= 1.0/(sqrt(1.0f+x*x));
}
else inpr= 0.0;
}
@@ -179,21 +179,21 @@ static void render_lighting_halo(HaloRen *har, float *colf)
t= inpr-t;
i= 1.0;
soft= 1.0;
- if(t<lar->spotbl && lar->spotbl!=0.0) {
+ if(t<lar->spotbl && lar->spotbl!=0.0f) {
/* soft area */
i= t/lar->spotbl;
t= i*i;
- soft= (3.0*t-2.0*t*i);
+ soft= (3.0f*t-2.0f*t*i);
inpr*= soft;
}
if(lar->mode & LA_ONLYSHADOW) {
/* if(ma->mode & MA_SHADOW) { */
/* dot product positive: front side face! */
inp= vn[0]*lv[0] + vn[1]*lv[1] + vn[2]*lv[2];
- if(inp>0.0) {
+ if(inp>0.0f) {
/* testshadowbuf==0.0 : 100% shadow */
shadfac = testshadowbuf(&R, lar->shb, rco, dco, dco, inp, 0.0f);
- if( shadfac>0.0 ) {
+ if( shadfac>0.0f ) {
shadfac*= inp*soft*lar->energy;
ir -= shadfac;
ig -= shadfac;
@@ -219,32 +219,32 @@ static void render_lighting_halo(HaloRen *har, float *colf)
i= inp;
if(lar->type==LA_HEMI) {
- i= 0.5*i+0.5;
+ i= 0.5f*i+0.5f;
}
- if(i>0.0) {
+ if(i>0.0f) {
i*= lampdist;
}
/* shadow */
- if(i> -0.41) { /* heuristic valua! */
+ if(i> -0.41f) { /* heuristic valua! */
shadfac= 1.0;
if(lar->shb) {
shadfac = testshadowbuf(&R, lar->shb, rco, dco, dco, inp, 0.0f);
- if(shadfac==0.0) continue;
+ if(shadfac==0.0f) continue;
i*= shadfac;
}
}
- if(i>0.0) {
+ if(i>0.0f) {
ir+= i*lacol[0];
ig+= i*lacol[1];
ib+= i*lacol[2];
}
}
- if(ir<0.0) ir= 0.0;
- if(ig<0.0) ig= 0.0;
- if(ib<0.0) ib= 0.0;
+ if(ir<0.0f) ir= 0.0f;
+ if(ig<0.0f) ig= 0.0f;
+ if(ib<0.0f) ib= 0.0f;
colf[0]*= ir;
colf[1]*= ig;
@@ -301,7 +301,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
}
else alpha= har->alfa;
- if(alpha==0.0)
+ if(alpha==0.0f)
return 0;
/* soften the halo if it intersects geometry */
@@ -355,15 +355,15 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
fac= fabs( rc[1]*(har->rad*fabs(rc[0]) - radist) );
- if(fac< 1.0) {
- ringf+= (1.0-fac);
+ if(fac< 1.0f) {
+ ringf+= (1.0f-fac);
}
}
}
if(har->type & HA_VECT) {
dist= fabs( har->cos*(yn) - har->sin*(xn) )/har->rad;
- if(dist>1.0) dist= 1.0;
+ if(dist>1.0f) dist= 1.0f;
if(har->tex) {
zn= har->sin*xn - har->cos*yn;
yn= har->cos*xn + har->sin*yn;
@@ -374,7 +374,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
if(har->type & HA_FLARECIRC) {
- dist= 0.5+fabs(dist-0.5);
+ dist= 0.5+fabs(dist-0.5f);
}
@@ -418,7 +418,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
float ster, angle;
/* rotation */
angle= atan2(yn, xn);
- angle*= (1.0+0.25*har->starpoints);
+ angle*= (1.0f+0.25f*har->starpoints);
co= cos(angle);
si= sin(angle);
@@ -426,15 +426,15 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
angle= (co*xn+si*yn)*(co*yn-si*xn);
ster= fabs(angle);
- if(ster>1.0) {
+ if(ster>1.0f) {
ster= (har->rad)/(ster);
- if(ster<1.0) dist*= sqrt(ster);
+ if(ster<1.0f) dist*= sqrt(ster);
}
}
/* disputable optimize... (ton) */
- if(dist<=0.00001)
+ if(dist<=0.00001f)
return 0;
dist*= alpha;
@@ -471,7 +471,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
}
/* Next, we do the line and ring factor modifications. */
- if(linef!=0.0) {
+ if(linef!=0.0f) {
Material *ma= har->mat;
col[0]+= linef * ma->specr;
@@ -481,7 +481,7 @@ int shadeHaloFloat(HaloRen *har, float *col, int zz,
if(har->type & HA_XALPHA) col[3]+= linef*linef;
else col[3]+= linef;
}
- if(ringf!=0.0) {
+ if(ringf!=0.0f) {
Material *ma= har->mat;
col[0]+= ringf * ma->mirr;
@@ -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)
{
@@ -531,16 +516,16 @@ void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short th
blend= view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2];
- if(blend<0.0) skyflag= 0;
+ if(blend<0.0f) skyflag= 0;
blend= fabs(blend);
}
else if(R.wrld.skytype & WO_SKYPAPER) {
- blend= 0.5+ 0.5*view[1];
+ blend= 0.5f + 0.5f * view[1];
}
else {
/* the fraction of how far we are above the bottom of the screen */
- blend= fabs(0.5+ view[1]);
+ blend= fabs(0.5f + view[1]);
}
VECCOPY(hor, &R.wrld.horr);
@@ -560,8 +545,8 @@ void shadeSkyView(float *colf, float *rco, float *view, float *dxyview, short th
do_sky_tex(rco, lo, dxyview, hor, zen, &blend, skyflag, thread);
}
- if(blend>1.0) blend= 1.0;
- blendm= 1.0-blend;
+ if(blend>1.0f) blend= 1.0f;
+ blendm= 1.0f-blend;
/* No clipping, no conversion! */
if(R.wrld.skytype & WO_SKYBLEND) {
@@ -595,8 +580,8 @@ void shadeSunView(float *colf, float *view)
VECCOPY(sview, view);
normalize_v3(sview);
mul_m3_v3(R.imat, sview);
- if (sview[2] < 0.0)
- sview[2] = 0.0;
+ if (sview[2] < 0.0f)
+ sview[2] = 0.0f;
normalize_v3(sview);
do_init= 0;
}
@@ -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 b45528b96d9..980f6b6af1e 100644
--- a/source/blender/render/intern/source/pointdensity.c
+++ b/source/blender/render/intern/source/pointdensity.c
@@ -104,7 +104,7 @@ static void pointdensity_cache_psys(Render *re, PointDensity *pd, Object *ob, Pa
{
DerivedMesh* dm;
ParticleKey state;
- ParticleSimulationData sim= {0};
+ ParticleSimulationData sim= {NULL};
ParticleData *pa=NULL;
float cfra = BKE_curframe(re->scene);
int i, childexists;
diff --git a/source/blender/render/intern/source/rayshade.c b/source/blender/render/intern/source/rayshade.c
index e8f66cf18ef..e82e969d502 100644
--- a/source/blender/render/intern/source/rayshade.c
+++ b/source/blender/render/intern/source/rayshade.c
@@ -611,12 +611,12 @@ static int refraction(float *refract, float *n, float *view, float index)
index = 1.0f/index;
fac= 1.0f - (1.0f - dot*dot)*index*index;
if(fac<= 0.0f) return 0;
- fac= -dot*index + sqrt(fac);
+ fac= -dot*index + sqrtf(fac);
}
else {
fac= 1.0f - (1.0f - dot*dot)*index*index;
if(fac<= 0.0f) return 0;
- fac= -dot*index - sqrt(fac);
+ fac= -dot*index - sqrtf(fac);
}
refract[0]= index*view[0] + fac*n[0];
@@ -693,7 +693,7 @@ static float shade_by_transmission(Isect *is, ShadeInput *shi, ShadeResult *shr)
if(p < 0.0f) p= 0.0f;
else if (p > 10.0f) p= 10.0f;
- shr->alpha *= pow(d, p);
+ shr->alpha *= powf(d, p);
if (shr->alpha > 1.0f)
shr->alpha= 1.0f;
}
@@ -720,11 +720,11 @@ static void ray_fadeout(Isect *is, ShadeInput *shi, float *col, float *blendcol,
/* if fading out, linear blend against fade color */
float blendfac;
- blendfac = 1.0 - len_v3v3(shi->co, is->start)/dist_mir;
+ blendfac = 1.0f - len_v3v3(shi->co, is->start)/dist_mir;
- col[0] = col[0]*blendfac + (1.0 - blendfac)*blendcol[0];
- col[1] = col[1]*blendfac + (1.0 - blendfac)*blendcol[1];
- col[2] = col[2]*blendfac + (1.0 - blendfac)*blendcol[2];
+ col[0] = col[0]*blendfac + (1.0f - blendfac)*blendcol[0];
+ col[1] = col[1]*blendfac + (1.0f - blendfac)*blendcol[1];
+ col[2] = col[2]*blendfac + (1.0f - blendfac)*blendcol[2];
}
/* the main recursive tracer itself
@@ -870,7 +870,7 @@ static void traceray(ShadeInput *origshi, ShadeResult *origshr, short depth, flo
col[2]= shr.diff[2] + shr.spec[2];
}
- if (dist_mir > 0.0) {
+ if (dist_mir > 0.0f) {
float blendcol[3];
/* max ray distance set, but found an intersection, so fade this color
@@ -922,11 +922,11 @@ static void DP_energy(float *table, float *vec, int tot, float xsize, float ysiz
}
}
}
- vec[0] += 0.1*min*result[0]/(float)tot;
- vec[1] += 0.1*min*result[1]/(float)tot;
+ vec[0] += 0.1f*min*result[0]/(float)tot;
+ vec[1] += 0.1f*min*result[1]/(float)tot;
// cyclic clamping
- vec[0]= vec[0] - xsize*floor(vec[0]/xsize + 0.5);
- vec[1]= vec[1] - ysize*floor(vec[1]/ysize + 0.5);
+ vec[0]= vec[0] - xsize*floorf(vec[0]/xsize + 0.5f);
+ vec[1]= vec[1] - ysize*floorf(vec[1]/ysize + 0.5f);
}
// random offset of 1 in 2
@@ -934,7 +934,7 @@ static void jitter_plane_offset(float *jitter1, float *jitter2, int tot, float s
{
float dsizex= sizex*ofsx;
float dsizey= sizey*ofsy;
- float hsizex= 0.5*sizex, hsizey= 0.5*sizey;
+ float hsizex= 0.5f*sizex, hsizey= 0.5f*sizey;
int x;
for(x=tot; x>0; x--, jitter1+=2, jitter2+=2) {
@@ -968,8 +968,8 @@ void init_jitter_plane(LampRen *lar)
/* fill table with random locations, area_size large */
for(x=0; x<tot; x++, fp+=2) {
- fp[0]= (BLI_frand()-0.5)*lar->area_size;
- fp[1]= (BLI_frand()-0.5)*lar->area_sizey;
+ fp[0]= (BLI_frand()-0.5f)*lar->area_size;
+ fp[1]= (BLI_frand()-0.5f)*lar->area_sizey;
}
while(iter--) {
@@ -1081,8 +1081,8 @@ static void QMC_initPixel(QMCSampler *qsa, int thread)
{
/* hammersley sequence is fixed, already created in QMCSampler init.
* per pixel, gets a random offset. We create separate offsets per thread, for write-safety */
- qsa->offs[thread][0] = 0.5 * BLI_thread_frand(thread);
- qsa->offs[thread][1] = 0.5 * BLI_thread_frand(thread);
+ qsa->offs[thread][0] = 0.5f * BLI_thread_frand(thread);
+ qsa->offs[thread][1] = 0.5f * BLI_thread_frand(thread);
}
else { /* SAMP_TYPE_HALTON */
@@ -1136,8 +1136,8 @@ static void QMC_samplePhong(float *vec, QMCSampler *qsa, int thread, int num, fl
pz = pow(s[1], blur);
sqr = sqrt(1.0f-pz*pz);
- vec[0] = cos(phi)*sqr;
- vec[1] = sin(phi)*sqr;
+ vec[0] = (float)(cosf(phi)*sqr);
+ vec[1] = (float)(sinf(phi)*sqr);
vec[2] = 0.0f;
}
@@ -1148,8 +1148,8 @@ static void QMC_sampleRect(float *vec, QMCSampler *qsa, int thread, int num, flo
QMC_getSample(s, qsa, thread, num);
- vec[0] = (s[0] - 0.5) * sizex;
- vec[1] = (s[1] - 0.5) * sizey;
+ vec[0] = (float)(s[0] - 0.5) * sizex;
+ vec[1] = (float)(s[1] - 0.5) * sizey;
vec[2] = 0.0f;
}
@@ -1164,8 +1164,8 @@ static void QMC_sampleDisc(float *vec, QMCSampler *qsa, int thread, int num, flo
phi = s[0]*2*M_PI;
sqr = sqrt(s[1]);
- vec[0] = cos(phi)*sqr* radius/2.0;
- vec[1] = sin(phi)*sqr* radius/2.0;
+ vec[0] = cosf(phi)*sqr* radius/2.0f;
+ vec[1] = sinf(phi)*sqr* radius/2.0f;
vec[2] = 0.0f;
}
@@ -1177,12 +1177,12 @@ static void QMC_sampleHemi(float *vec, QMCSampler *qsa, int thread, int num)
QMC_getSample(s, qsa, thread, num);
- phi = s[0]*2.f*M_PI;
+ phi = s[0]*2.0*M_PI;
sqr = sqrt(s[1]);
- vec[0] = cos(phi)*sqr;
- vec[1] = sin(phi)*sqr;
- vec[2] = 1.f - s[1]*s[1];
+ vec[0] = cosf(phi)*sqr;
+ vec[1] = sinf(phi)*sqr;
+ vec[2] = (float)(1.0 - s[1]*s[1]);
}
#if 0 /* currently not used */
@@ -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;
}
@@ -1272,7 +1272,7 @@ static int adaptive_sample_variance(int samples, float *col, float *colsq, float
var[1] = (colsq[1] / (float)samples) - (mean[1]*mean[1]);
var[2] = (colsq[2] / (float)samples) - (mean[2]*mean[2]);
- if ((var[0] * 0.4 < thresh) && (var[1] * 0.3 < thresh) && (var[2] * 0.6 < thresh))
+ if ((var[0] * 0.4f < thresh) && (var[1] * 0.3f < thresh) && (var[2] * 0.6f < thresh))
return 1;
else
return 0;
@@ -1283,7 +1283,7 @@ static int adaptive_sample_contrast_val(int samples, float prev, float val, floa
/* if the last sample's contribution to the total value was below a small threshold
* (i.e. the samples taken are very similar), then taking more samples that are probably
* going to be the same is wasting effort */
- if (fabs( prev/(float)(samples-1) - val/(float)samples ) < thresh) {
+ if (fabsf( prev/(float)(samples-1) - val/(float)samples ) < thresh) {
return 1;
} else
return 0;
@@ -1293,10 +1293,10 @@ static float get_avg_speed(ShadeInput *shi)
{
float pre_x, pre_y, post_x, post_y, speedavg;
- pre_x = (shi->winspeed[0] == PASS_VECTOR_MAX)?0.0:shi->winspeed[0];
- pre_y = (shi->winspeed[1] == PASS_VECTOR_MAX)?0.0:shi->winspeed[1];
- post_x = (shi->winspeed[2] == PASS_VECTOR_MAX)?0.0:shi->winspeed[2];
- post_y = (shi->winspeed[3] == PASS_VECTOR_MAX)?0.0:shi->winspeed[3];
+ pre_x = (shi->winspeed[0] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[0];
+ pre_y = (shi->winspeed[1] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[1];
+ post_x = (shi->winspeed[2] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[2];
+ post_y = (shi->winspeed[3] == PASS_VECTOR_MAX)?0.0f:shi->winspeed[3];
speedavg = (sqrt(pre_x*pre_x + pre_y*pre_y) + sqrt(post_x*post_x + post_y*post_y)) / 2.0;
@@ -1316,7 +1316,7 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
float v_refract[3], v_refract_new[3];
float sampcol[4], colsq[4];
- float blur = pow(1.0 - shi->mat->gloss_tra, 3);
+ float blur = powf(1.0f - shi->mat->gloss_tra, 3);
short max_samples = shi->mat->samp_gloss_tra;
float adapt_thresh = shi->mat->adapt_thresh_tra;
@@ -1325,9 +1325,9 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
colsq[0] = colsq[1] = colsq[2] = 0.0;
col[0] = col[1] = col[2] = 0.0;
col[3]= shr->alpha;
-
- if (blur > 0.0) {
- if (adapt_thresh != 0.0) samp_type = SAMP_TYPE_HALTON;
+
+ if (blur > 0.0f) {
+ if (adapt_thresh != 0.0f) samp_type = SAMP_TYPE_HALTON;
else samp_type = SAMP_TYPE_HAMMERSLEY;
/* all samples are generated per pixel */
@@ -1386,13 +1386,13 @@ static void trace_refract(float *col, ShadeInput *shi, ShadeResult *shr)
samples++;
/* adaptive sampling */
- if (adapt_thresh < 1.0 && samples > max_samples/2)
+ if (adapt_thresh < 1.0f && samples > max_samples/2)
{
if (adaptive_sample_variance(samples, col, colsq, adapt_thresh))
break;
/* if the pixel so far is very dark, we can get away with less samples */
- if ( (col[0] + col[1] + col[2])/3.0/(float)samples < 0.01 )
+ if ( (col[0] + col[1] + col[2])/3.0f/(float)samples < 0.01f )
max_samples--;
}
}
@@ -1415,18 +1415,18 @@ static void trace_reflect(float *col, ShadeInput *shi, ShadeResult *shr, float f
float v_nor_new[3], v_reflect[3];
float sampcol[4], colsq[4];
- float blur = pow(1.0 - shi->mat->gloss_mir, 3);
+ float blur = powf(1.0f - shi->mat->gloss_mir, 3);
short max_samples = shi->mat->samp_gloss_mir;
float adapt_thresh = shi->mat->adapt_thresh_mir;
- float aniso = 1.0 - shi->mat->aniso_gloss_mir;
+ float aniso = 1.0f - shi->mat->aniso_gloss_mir;
int samples=0;
col[0] = col[1] = col[2] = 0.0;
colsq[0] = colsq[1] = colsq[2] = 0.0;
- if (blur > 0.0) {
- if (adapt_thresh != 0.0) samp_type = SAMP_TYPE_HALTON;
+ if (blur > 0.0f) {
+ if (adapt_thresh != 0.0f) samp_type = SAMP_TYPE_HALTON;
else samp_type = SAMP_TYPE_HAMMERSLEY;
/* all samples are generated per pixel */
@@ -1485,22 +1485,22 @@ static void trace_reflect(float *col, ShadeInput *shi, ShadeResult *shr, float f
samples++;
/* adaptive sampling */
- if (adapt_thresh > 0.0 && samples > max_samples/3)
+ if (adapt_thresh > 0.0f && samples > max_samples/3)
{
if (adaptive_sample_variance(samples, col, colsq, adapt_thresh))
break;
/* if the pixel so far is very dark, we can get away with less samples */
- if ( (col[0] + col[1] + col[2])/3.0/(float)samples < 0.01 )
+ if ( (col[0] + col[1] + col[2])/3.0f/(float)samples < 0.01f )
max_samples--;
/* reduce samples when reflection is dim due to low ray mirror blend value or fresnel factor
* and when reflection is blurry */
- if (fresnelfac < 0.1 * (blur+1)) {
+ if (fresnelfac < 0.1f * (blur+1)) {
max_samples--;
/* even more for very dim */
- if (fresnelfac < 0.05 * (blur+1))
+ if (fresnelfac < 0.05f * (blur+1))
max_samples--;
}
}
@@ -1659,7 +1659,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int
col[1] = a*col[1] + shr.alpha*shr.combined[1];
col[2] = a*col[2] + shr.alpha*shr.combined[2];
- col[3] = (1.0 - shr.alpha)*a;
+ col[3] = (1.0f - shr.alpha)*a;
}
if(depth>0 && col[3]>0.0f) {
@@ -1679,7 +1679,7 @@ static void ray_trace_shadow_tra(Isect *is, ShadeInput *origshi, int depth, int
/* not used, test function for ambient occlusion (yaf: pathlight) */
/* main problem; has to be called within shading loop, giving unwanted recursion */
-static int ray_trace_shadow_rad(ShadeInput *ship, ShadeResult *shr)
+static int UNUSED_FUNCTION(ray_trace_shadow_rad)(ShadeInput *ship, ShadeResult *shr)
{
static int counter=0, only_one= 0;
extern float hashvectf[];
@@ -1758,8 +1758,8 @@ static void RandomSpherical(float *v)
if ((r = 1.f - v[2]*v[2])>0.f) {
float a = 6.283185307f*BLI_frand();
r = sqrt(r);
- v[0] = r * cos(a);
- v[1] = r * sin(a);
+ v[0] = r * cosf(a);
+ v[1] = r * sinf(a);
}
else v[2] = 1.f;
}
@@ -1956,7 +1956,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
float speedfac;
speedfac = get_avg_speed(shi) * adapt_speed_fac;
- CLAMP(speedfac, 1.0, 1000.0);
+ CLAMP(speedfac, 1.0f, 1000.0f);
max_samples /= speedfac;
if (max_samples < 5) max_samples = 5;
@@ -1985,7 +1985,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
prev = fac;
if(RE_rayobject_raycast(R.raytree, &isec)) {
- if (R.wrld.aomode & WO_AODIST) fac+= exp(-isec.dist*R.wrld.aodistfac);
+ if (R.wrld.aomode & WO_AODIST) fac+= expf(-isec.dist*R.wrld.aodistfac);
else fac+= 1.0f;
}
else if(envcolor!=WO_AOPLAIN) {
@@ -1998,7 +1998,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
normalize_v3(view);
if(envcolor==WO_AOSKYCOL) {
- skyfac= 0.5*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
+ skyfac= 0.5f*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
env[0]+= (1.0f-skyfac)*R.wrld.horr + skyfac*R.wrld.zenr;
env[1]+= (1.0f-skyfac)*R.wrld.horg + skyfac*R.wrld.zeng;
env[2]+= (1.0f-skyfac)*R.wrld.horb + skyfac*R.wrld.zenb;
@@ -2017,7 +2017,7 @@ static void ray_ao_qmc(ShadeInput *shi, float *ao, float *env)
if (qsa->type == SAMP_TYPE_HALTON) {
/* adaptive sampling - consider samples below threshold as in shadow (or vice versa) and exit early */
- if (adapt_thresh > 0.0 && (samples > max_samples/2) ) {
+ if (adapt_thresh > 0.0f && (samples > max_samples/2) ) {
if (adaptive_sample_contrast_val(samples, prev, fac, adapt_thresh)) {
break;
@@ -2123,7 +2123,7 @@ static void ray_ao_spheresamp(ShadeInput *shi, float *ao, float *env)
/* do the trace */
if(RE_rayobject_raycast(R.raytree, &isec)) {
- if (R.wrld.aomode & WO_AODIST) sh+= exp(-isec.dist*R.wrld.aodistfac);
+ if (R.wrld.aomode & WO_AODIST) sh+= expf(-isec.dist*R.wrld.aodistfac);
else sh+= 1.0f;
}
else if(envcolor!=WO_AOPLAIN) {
@@ -2136,7 +2136,7 @@ static void ray_ao_spheresamp(ShadeInput *shi, float *ao, float *env)
normalize_v3(view);
if(envcolor==WO_AOSKYCOL) {
- fac= 0.5*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
+ fac= 0.5f*(1.0f+view[0]*R.grvec[0]+ view[1]*R.grvec[1]+ view[2]*R.grvec[2]);
env[0]+= (1.0f-fac)*R.wrld.horr + fac*R.wrld.zenr;
env[1]+= (1.0f-fac)*R.wrld.horg + fac*R.wrld.zeng;
env[2]+= (1.0f-fac)*R.wrld.horb + fac*R.wrld.zenb;
@@ -2367,14 +2367,14 @@ static void ray_shadow_qmc(ShadeInput *shi, LampRen *lar, float *lampco, float *
if (lar->ray_samp_method == LA_SAMP_HALTON) {
/* adaptive sampling - consider samples below threshold as in shadow (or vice versa) and exit early */
- if ((max_samples > min_adapt_samples) && (adapt_thresh > 0.0) && (samples > max_samples / 3)) {
+ if ((max_samples > min_adapt_samples) && (adapt_thresh > 0.0f) && (samples > max_samples / 3)) {
if (isec->mode==RE_RAY_SHADOW_TRA) {
- if ((shadfac[3] / samples > (1.0-adapt_thresh)) || (shadfac[3] / samples < adapt_thresh))
+ if ((shadfac[3] / samples > (1.0f-adapt_thresh)) || (shadfac[3] / samples < adapt_thresh))
break;
else if (adaptive_sample_variance(samples, shadfac, colsq, adapt_thresh))
break;
} else {
- if ((fac / samples > (1.0-adapt_thresh)) || (fac / samples < adapt_thresh))
+ if ((fac / samples > (1.0f-adapt_thresh)) || (fac / samples < adapt_thresh))
break;
}
}
diff --git a/source/blender/render/intern/source/render_texture.c b/source/blender/render/intern/source/render_texture.c
index 5f5dab94ba3..cf1fae81eb5 100644
--- a/source/blender/render/intern/source/render_texture.c
+++ b/source/blender/render/intern/source/render_texture.c
@@ -125,7 +125,7 @@ static void init_render_texture(Render *re, Tex *tex)
}
if(tex->nodetree && tex->use_nodes) {
- ntreeBeginExecTree(tex->nodetree); /* has internal flag to detect it only does it once */
+ ntreeTexBeginExecTree(tex->nodetree, 1); /* has internal flag to detect it only does it once */
}
}
@@ -144,8 +144,8 @@ void init_render_textures(Render *re)
static void end_render_texture(Tex *tex)
{
- if(tex && tex->use_nodes && tex->nodetree)
- ntreeEndExecTree(tex->nodetree);
+ if(tex && tex->use_nodes && tex->nodetree && tex->nodetree->execdata)
+ ntreeTexEndExecTree(tex->nodetree->execdata, 1);
}
void end_render_textures(Render *re)
@@ -175,9 +175,9 @@ static void tex_normal_derivate(Tex *tex, TexResult *texres)
do_colorband(tex->coba, texres->nor[2], col);
fac3= (col[0]+col[1]+col[2]);
- texres->nor[0]= 0.3333*(fac0 - fac1);
- texres->nor[1]= 0.3333*(fac0 - fac2);
- texres->nor[2]= 0.3333*(fac0 - fac3);
+ texres->nor[0]= 0.3333f*(fac0 - fac1);
+ texres->nor[1]= 0.3333f*(fac0 - fac2);
+ texres->nor[2]= 0.3333f*(fac0 - fac3);
return;
}
@@ -203,31 +203,31 @@ static int blend(Tex *tex, float *texvec, TexResult *texres)
}
if(tex->stype==TEX_LIN) { /* lin */
- texres->tin= (1.0+x)/2.0;
+ texres->tin= (1.0f+x)/2.0f;
}
else if(tex->stype==TEX_QUAD) { /* quad */
- texres->tin= (1.0+x)/2.0;
- if(texres->tin<0.0) texres->tin= 0.0;
+ texres->tin= (1.0f+x)/2.0f;
+ if(texres->tin<0.0f) texres->tin= 0.0f;
else texres->tin*= texres->tin;
}
else if(tex->stype==TEX_EASE) { /* ease */
- texres->tin= (1.0+x)/2.0;
- if(texres->tin<=.0) texres->tin= 0.0;
- else if(texres->tin>=1.0) texres->tin= 1.0;
+ texres->tin= (1.0f+x)/2.0f;
+ if(texres->tin<=0.0f) texres->tin= 0.0f;
+ else if(texres->tin>=1.0f) texres->tin= 1.0f;
else {
t= texres->tin*texres->tin;
- texres->tin= (3.0*t-2.0*t*texres->tin);
+ texres->tin= (3.0f*t-2.0f*t*texres->tin);
}
}
else if(tex->stype==TEX_DIAG) { /* diag */
- texres->tin= (2.0+x+y)/4.0;
+ texres->tin= (2.0f+x+y)/4.0f;
}
else if(tex->stype==TEX_RAD) { /* radial */
texres->tin= (atan2(y,x) / (2*M_PI) + 0.5);
}
else { /* sphere TEX_SPHERE */
texres->tin= 1.0-sqrt(x*x+ y*y+texvec[2]*texvec[2]);
- if(texres->tin<0.0) texres->tin= 0.0;
+ if(texres->tin<0.0f) texres->tin= 0.0f;
if(tex->stype==TEX_HALO) texres->tin*= texres->tin; /* halo */
}
@@ -299,7 +299,7 @@ static float tex_tri(float a)
const float b = 2*M_PI;
const float rmax = 1.0;
- a = rmax - 2.0*fabs(floor((a*(1.0/b))+0.5) - (a*(1.0/b)));
+ a = rmax - 2.0f*fabsf(floorf((a*(1.0f/b))+0.5f) - (a*(1.0f/b)));
return a;
}
@@ -319,18 +319,18 @@ static float wood_int(Tex *tex, float x, float y, float z)
if ((wf>TEX_TRI) || (wf<TEX_SIN)) wf=0; /* check to be sure noisebasis2 is initialized ahead of time */
if (wt==TEX_BAND) {
- wi = waveform[wf]((x + y + z)*10.0);
+ wi = waveform[wf]((x + y + z)*10.0f);
}
else if (wt==TEX_RING) {
- wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0);
+ wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0f);
}
else if (wt==TEX_BANDNOISE) {
wi = tex->turbul*BLI_gNoise(tex->noisesize, x, y, z, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- wi = waveform[wf]((x + y + z)*10.0 + wi);
+ wi = waveform[wf]((x + y + z)*10.0f + wi);
}
else if (wt==TEX_RINGNOISE) {
wi = tex->turbul*BLI_gNoise(tex->noisesize, x, y, z, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0 + wi);
+ wi = waveform[wf](sqrt(x*x + y*y + z*z)*20.0f + wi);
}
return wi;
@@ -370,7 +370,7 @@ static float marble_int(Tex *tex, float x, float y, float z)
if ((wf>TEX_TRI) || (wf<TEX_SIN)) wf=0; /* check to be sure noisebasis2 isn't initialized ahead of time */
- n = 5.0 * (x + y + z);
+ n = 5.0f * (x + y + z);
mi = n + tex->turbul * BLI_gTurbulence(tex->noisesize, x, y, z, tex->noisedepth, (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
@@ -417,11 +417,11 @@ static int magic(Tex *tex, float *texvec, TexResult *texres)
int n;
n= tex->noisedepth;
- turb= tex->turbul/5.0;
+ turb= tex->turbul/5.0f;
- x= sin( ( texvec[0]+texvec[1]+texvec[2])*5.0 );
- y= cos( (-texvec[0]+texvec[1]-texvec[2])*5.0 );
- z= -cos( (-texvec[0]-texvec[1]+texvec[2])*5.0 );
+ x= sin( ( texvec[0]+texvec[1]+texvec[2])*5.0f );
+ y= cos( (-texvec[0]+texvec[1]-texvec[2])*5.0f );
+ z= -cos( (-texvec[0]-texvec[1]+texvec[2])*5.0f );
if(n>0) {
x*= turb;
y*= turb;
@@ -466,17 +466,17 @@ static int magic(Tex *tex, float *texvec, TexResult *texres)
}
}
- if(turb!=0.0) {
- turb*= 2.0;
+ if(turb!=0.0f) {
+ turb*= 2.0f;
x/= turb;
y/= turb;
z/= turb;
}
- texres->tr= 0.5-x;
- texres->tg= 0.5-y;
- texres->tb= 0.5-z;
+ texres->tr= 0.5f-x;
+ texres->tg= 0.5f-y;
+ texres->tb= 0.5f-z;
- texres->tin= 0.3333*(texres->tr+texres->tg+texres->tb);
+ texres->tin= 0.3333f*(texres->tr+texres->tg+texres->tb);
BRICONTRGB;
texres->ta= 1.0;
@@ -494,7 +494,7 @@ static int stucci(Tex *tex, float *texvec, TexResult *texres)
b2= BLI_gNoise(tex->noisesize, texvec[0], texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
- ofs= tex->turbul/200.0;
+ ofs= tex->turbul/200.0f;
if(tex->stype) ofs*=(b2*b2);
nor[0] = BLI_gNoise(tex->noisesize, texvec[0]+ofs, texvec[1], texvec[2], (tex->noisetype!=TEX_NOISESOFT), tex->noisebasis);
@@ -732,7 +732,7 @@ static int texnoise(Tex *tex, TexResult *texres)
while(loop--) {
ran= (ran>>2);
val*= (ran & 3);
- div*= 3.0;
+ div*= 3.0f;
}
texres->tin= ((float)val)/div;
@@ -829,18 +829,18 @@ static int cubemap_glob(float *n, float x, float y, float z, float *adr1, float
z1= fabs(nor[2]);
if(z1>=x1 && z1>=y1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
ret= 0;
}
else if(y1>=x1 && y1>=z1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
return ret;
@@ -884,17 +884,17 @@ static int cubemap(MTex *mtex, VlakRen *vlr, float *n, float x, float y, float z
}
if(vlr->puno & proj[1]) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
}
else if(vlr->puno & proj[2]) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
}
@@ -922,18 +922,18 @@ static int cubemap_ob(Object *ob, float *n, float x, float y, float z, float *ad
z1= fabs(nor[2]);
if(z1>=x1 && z1>=y1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (y + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (y + 1.0f) / 2.0f;
ret= 0;
}
else if(y1>=x1 && y1>=z1) {
- *adr1 = (x + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (x + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 1;
}
else {
- *adr1 = (y + 1.0) / 2.0;
- *adr2 = (z + 1.0) / 2.0;
+ *adr1 = (y + 1.0f) / 2.0f;
+ *adr2 = (z + 1.0f) / 2.0f;
ret= 2;
}
return ret;
@@ -957,8 +957,8 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
if(R.osa==0) {
if(wrap==MTEX_FLAT) {
- fx = (t[0] + 1.0) / 2.0;
- fy = (t[1] + 1.0) / 2.0;
+ fx = (t[0] + 1.0f) / 2.0f;
+ fy = (t[1] + 1.0f) / 2.0f;
}
else if(wrap==MTEX_TUBE) map_to_tube( &fx, &fy,t[0], t[1], t[2]);
else if(wrap==MTEX_SPHERE) map_to_sphere( &fx, &fy,t[0], t[1], t[2]);
@@ -973,34 +973,34 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
if(tex->xrepeat>1) {
float origf= fx *= tex->xrepeat;
- if(fx>1.0) fx -= (int)(fx);
- else if(fx<0.0) fx+= 1-(int)(fx);
+ if(fx>1.0f) fx -= (int)(fx);
+ else if(fx<0.0f) fx+= 1-(int)(fx);
if(tex->flag & TEX_REPEAT_XMIR) {
int orig= (int)floor(origf);
if(orig & 1)
- fx= 1.0-fx;
+ fx= 1.0f-fx;
}
}
if(tex->yrepeat>1) {
float origf= fy *= tex->yrepeat;
- if(fy>1.0) fy -= (int)(fy);
- else if(fy<0.0) fy+= 1-(int)(fy);
+ if(fy>1.0f) fy -= (int)(fy);
+ else if(fy<0.0f) fy+= 1-(int)(fy);
if(tex->flag & TEX_REPEAT_YMIR) {
int orig= (int)floor(origf);
if(orig & 1)
- fy= 1.0-fy;
+ fy= 1.0f-fy;
}
}
}
/* crop */
- if(tex->cropxmin!=0.0 || tex->cropxmax!=1.0) {
+ if(tex->cropxmin!=0.0f || tex->cropxmax!=1.0f) {
fac1= tex->cropxmax - tex->cropxmin;
fx= tex->cropxmin+ fx*fac1;
}
- if(tex->cropymin!=0.0 || tex->cropymax!=1.0) {
+ if(tex->cropymin!=0.0f || tex->cropymax!=1.0f) {
fac1= tex->cropymax - tex->cropymin;
fy= tex->cropymin+ fy*fac1;
}
@@ -1011,23 +1011,23 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
else {
if(wrap==MTEX_FLAT) {
- fx= (t[0] + 1.0) / 2.0;
- fy= (t[1] + 1.0) / 2.0;
- dxt[0]/= 2.0;
- dxt[1]/= 2.0;
- dxt[2]/= 2.0;
- dyt[0]/= 2.0;
- dyt[1]/= 2.0;
- dyt[2]/= 2.0;
+ fx= (t[0] + 1.0f) / 2.0f;
+ fy= (t[1] + 1.0f) / 2.0f;
+ dxt[0]/= 2.0f;
+ dxt[1]/= 2.0f;
+ dxt[2]/= 2.0f;
+ dyt[0]/= 2.0f;
+ dyt[1]/= 2.0f;
+ dyt[2]/= 2.0f;
}
else if ELEM(wrap, MTEX_TUBE, MTEX_SPHERE) {
/* exception: the seam behind (y<0.0) */
ok= 1;
- if(t[1]<=0.0) {
+ if(t[1]<=0.0f) {
fx= t[0]+dxt[0];
fy= t[0]+dyt[0];
- if(fx>=0.0 && fy>=0.0 && t[0]>=0.0);
- else if(fx<=0.0 && fy<=0.0 && t[0]<=0.0);
+ if(fx>=0.0f && fy>=0.0f && t[0]>=0.0f);
+ else if(fx<=0.0f && fy<=0.0f && t[0]<=0.0f);
else ok= 0;
}
if(ok) {
@@ -1046,10 +1046,10 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
else {
if(wrap==MTEX_TUBE) map_to_tube( &fx, &fy,t[0], t[1], t[2]);
else map_to_sphere( &fx, &fy,t[0], t[1], t[2]);
- dxt[0]/= 2.0;
- dxt[1]/= 2.0;
- dyt[0]/= 2.0;
- dyt[1]/= 2.0;
+ dxt[0]/= 2.0f;
+ dxt[1]/= 2.0f;
+ dyt[0]/= 2.0f;
+ dyt[1]/= 2.0f;
}
}
else {
@@ -1143,13 +1143,13 @@ static void do_2d_mapping(MTex *mtex, float *t, VlakRen *vlr, float *n, float *d
}
/* crop */
- if(tex->cropxmin!=0.0 || tex->cropxmax!=1.0) {
+ if(tex->cropxmin!=0.0f || tex->cropxmax!=1.0f) {
fac1= tex->cropxmax - tex->cropxmin;
fx= tex->cropxmin+ fx*fac1;
dxt[0]*= fac1;
dyt[0]*= fac1;
}
- if(tex->cropymin!=0.0 || tex->cropymax!=1.0) {
+ if(tex->cropymin!=0.0f || tex->cropymax!=1.0f) {
fac1= tex->cropymax - tex->cropymin;
fy= tex->cropymin+ fy*fac1;
dxt[1]*= fac1;
@@ -1220,7 +1220,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
switch(tex->stype) {
case TEX_MFRACTAL:
@@ -1242,7 +1242,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
retval= voronoiTex(tex, tmpvec, texres);
break;
@@ -1251,7 +1251,7 @@ static int multitex(Tex *tex, float *texvec, float *dxt, float *dyt, int osatex,
* artificer: added the use of tmpvec to avoid scaling texvec
*/
VECCOPY(tmpvec, texvec);
- mul_v3_fl(tmpvec, 1.0/tex->noisesize);
+ mul_v3_fl(tmpvec, 1.0f/tex->noisesize);
retval= mg_distNoiseTex(tex, tmpvec, texres);
break;
@@ -1381,7 +1381,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
switch(blendtype) {
case MTEX_BLEND:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
in[0]= (fact*tex[0] + facm*out[0]);
in[1]= (fact*tex[1] + facm*out[1]);
@@ -1390,7 +1390,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_MUL:
fact*= facg;
- facm= 1.0-facg;
+ facm= 1.0f-facg;
in[0]= (facm+fact*tex[0])*out[0];
in[1]= (facm+fact*tex[1])*out[1];
in[2]= (facm+fact*tex[2])*out[2];
@@ -1398,28 +1398,28 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_SCREEN:
fact*= facg;
- facm= 1.0-facg;
- in[0]= 1.0 - (facm+fact*(1.0-tex[0])) * (1.0-out[0]);
- in[1]= 1.0 - (facm+fact*(1.0-tex[1])) * (1.0-out[1]);
- in[2]= 1.0 - (facm+fact*(1.0-tex[2])) * (1.0-out[2]);
+ facm= 1.0f-facg;
+ in[0]= 1.0f - (facm+fact*(1.0f-tex[0])) * (1.0f-out[0]);
+ in[1]= 1.0f - (facm+fact*(1.0f-tex[1])) * (1.0f-out[1]);
+ in[2]= 1.0f - (facm+fact*(1.0f-tex[2])) * (1.0f-out[2]);
break;
case MTEX_OVERLAY:
fact*= facg;
- facm= 1.0-facg;
+ facm= 1.0f-facg;
if(out[0] < 0.5f)
in[0] = out[0] * (facm + 2.0f*fact*tex[0]);
else
- in[0] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[0])) * (1.0 - out[0]);
+ in[0] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[0])) * (1.0f - out[0]);
if(out[1] < 0.5f)
in[1] = out[1] * (facm + 2.0f*fact*tex[1]);
else
- in[1] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[1])) * (1.0 - out[1]);
+ in[1] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[1])) * (1.0f - out[1]);
if(out[2] < 0.5f)
in[2] = out[2] * (facm + 2.0f*fact*tex[2]);
else
- in[2] = 1.0f - (facm + 2.0f*fact*(1.0 - tex[2])) * (1.0 - out[2]);
+ in[2] = 1.0f - (facm + 2.0f*fact*(1.0f - tex[2])) * (1.0f - out[2]);
break;
case MTEX_SUB:
@@ -1433,20 +1433,20 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_DIV:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
- if(tex[0]!=0.0)
+ if(tex[0]!=0.0f)
in[0]= facm*out[0] + fact*out[0]/tex[0];
- if(tex[1]!=0.0)
+ if(tex[1]!=0.0f)
in[1]= facm*out[1] + fact*out[1]/tex[1];
- if(tex[2]!=0.0)
+ if(tex[2]!=0.0f)
in[2]= facm*out[2] + fact*out[2]/tex[2];
break;
case MTEX_DIFF:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
in[0]= facm*out[0] + fact*fabs(tex[0]-out[0]);
in[1]= facm*out[1] + fact*fabs(tex[1]-out[1]);
in[2]= facm*out[2] + fact*fabs(tex[2]-out[2]);
@@ -1454,7 +1454,7 @@ void texture_rgb_blend(float *in, float *tex, float *out, float fact, float facg
case MTEX_DARK:
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
col= tex[0]+((1-tex[0])*facm);
if(col < out[0]) in[0]= col; else in[0]= out[0];
@@ -1516,7 +1516,7 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
facg= fabsf(facg);
fact*= facg;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
if(flip) SWAP(float, fact, facm);
switch(blendtype) {
@@ -1525,21 +1525,21 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_MUL:
- facm= 1.0-facg;
+ facm= 1.0f-facg;
in= (facm+fact*tex)*out;
break;
case MTEX_SCREEN:
- facm= 1.0-facg;
- in= 1.0-(facm+fact*(1.0-tex))*(1.0-out);
+ facm= 1.0f-facg;
+ in= 1.0f-(facm+fact*(1.0f-tex))*(1.0f-out);
break;
case MTEX_OVERLAY:
- facm= 1.0-facg;
+ facm= 1.0f-facg;
if(out < 0.5f)
in = out * (facm + 2.0f*fact*tex);
else
- in = 1.0f - (facm + 2.0f*fact*(1.0 - tex)) * (1.0 - out);
+ in = 1.0f - (facm + 2.0f*fact*(1.0f - tex)) * (1.0f - out);
break;
case MTEX_SUB:
@@ -1549,7 +1549,7 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_DIV:
- if(tex!=0.0)
+ if(tex!=0.0f)
in= facm*out + fact*out/tex;
break;
@@ -1568,15 +1568,15 @@ float texture_value_blend(float tex, float out, float fact, float facg, int blen
break;
case MTEX_SOFT_LIGHT:
- scf=1.0 - (1.0 - tex) * (1.0 - out);
- in= facm*out + fact * ((1.0 - out) * tex * out) + (out * scf);
+ scf=1.0f - (1.0f - tex) * (1.0f - out);
+ in= facm*out + fact * ((1.0f - out) * tex * out) + (out * scf);
break;
case MTEX_LIN_LIGHT:
- if (tex > 0.5)
- in = out + fact*(2*(tex - 0.5));
+ if (tex > 0.5f)
+ in = out + fact*(2.0f*(tex - 0.5f));
else
- in = out + fact*(2*tex - 1);
+ in = out + fact*(2.0f*tex - 1.0f);
break;
}
@@ -1789,7 +1789,7 @@ static int compatible_bump_compute(CompatibleBump *compat_bump, ShadeInput *shi,
const float adx[3] = {fabsf(dx[0]), fabsf(dx[1]), fabsf(dx[2])};
const float ady[3] = {fabsf(dy[0]), fabsf(dy[1]), fabsf(dy[2])};
du = MAX3(adx[0], adx[1], adx[2]);
- dv = MAX3(ady[1], ady[1], ady[2]);
+ dv = MAX3(ady[0], ady[1], ady[2]);
}
}
@@ -1905,11 +1905,13 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
const int fromrgb = ((tex->type == TEX_IMAGE) || ((tex->flag & TEX_COLORBAND)!=0));
float Hscale = Tnor*mtex->norfac;
+ int dimx=512, dimy=512;
// 2 channels for 2D texture and 3 for 3D textures.
const int nr_channels = (mtex->texco == TEXCO_UV)? 2 : 3;
int c, rgbnor, iBumpSpace;
float dHdx, dHdy;
+ int found_deriv_map = (tex->type==TEX_IMAGE) && (tex->imaflag & TEX_DERIVATIVEMAP);
// disable internal bump eval in sampler, save pointer
float *nvec = texres->nor;
@@ -1929,8 +1931,31 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
ntap_bump->init_done = 1;
}
+
+ // resolve image dimensions
+ if(found_deriv_map || (mtex->texflag&MTEX_BUMP_TEXTURESPACE)!=0) {
+ ImBuf* ibuf = BKE_image_get_ibuf(tex->ima, &tex->iuser);
+ if (ibuf) {
+ dimx = ibuf->x;
+ dimy = ibuf->y;
+ }
+ }
- if(!(mtex->texflag & MTEX_5TAP_BUMP)) {
+ if(found_deriv_map) {
+ float dBdu, dBdv;
+ float s = 1; // negate this if flipped texture coordinate
+ texco_mapping(shi, tex, mtex, co, dx, dy, texvec, dxt, dyt);
+ rgbnor = multitex_mtex(shi, mtex, texvec, dxt, dyt, texres);
+
+ // this variant using a derivative map is described here
+ // http://mmikkelsen3d.blogspot.com/2011/07/derivative-maps.html
+ dBdu = Hscale*dimx*(2*texres->tr-1);
+ dBdv = Hscale*dimy*(2*texres->tg-1);
+
+ dHdx = dBdu*dxt[0] + s * dBdv*dxt[1];
+ dHdy = dBdu*dyt[0] + s * dBdv*dyt[1];
+ }
+ else if(!(mtex->texflag & MTEX_5TAP_BUMP)) {
// compute height derivatives with respect to output image pixel coordinates x and y
float STll[3], STlr[3], STul[3];
float Hll, Hlr, Hul;
@@ -2087,11 +2112,11 @@ static int ntap_bump_compute(NTapBump *ntap_bump, ShadeInput *shi, MTex *mtex, T
// crazy hack solution that gives results similar to normal mapping - part 2
float vec[2];
- vec[0] = tex->ima->gen_x*dxt[0];
- vec[1] = tex->ima->gen_y*dxt[1];
+ vec[0] = dimx*dxt[0];
+ vec[1] = dimy*dxt[1];
dHdx *= 1.0f/len_v2(vec);
- vec[0] = tex->ima->gen_x*dyt[0];
- vec[1] = tex->ima->gen_y*dyt[1];
+ vec[0] = dimx*dyt[0];
+ vec[1] = dimy*dyt[1];
dHdy *= 1.0f/len_v2(vec);
}
}
@@ -2118,7 +2143,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, found_deriv_map = 0;
int iFirstTimeNMap=1;
compatible_bump_init(&compat_bump);
@@ -2138,8 +2164,9 @@ void do_material_tex(ShadeInput *shi)
tex= mtex->tex;
if(tex==0) continue;
+ found_deriv_map = (tex->type==TEX_IMAGE) && (tex->imaflag & TEX_DERIVATIVEMAP);
use_compat_bump= (mtex->texflag & MTEX_COMPAT_BUMP);
- use_ntap_bump= (mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP));
+ use_ntap_bump= ((mtex->texflag & (MTEX_3TAP_BUMP|MTEX_5TAP_BUMP))!=0 || found_deriv_map!=0) ? 1 : 0;
/* XXX texture node trees don't work for this yet */
if(tex->nodetree && tex->use_nodes) {
@@ -2192,6 +2219,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) {
@@ -2287,16 +2315,16 @@ void do_material_tex(ShadeInput *shi)
/* texture output */
if( (rgbnor & TEX_RGB) && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgbnor-= TEX_RGB;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgbnor & TEX_RGB) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- texres.tin= 1.0-texres.tin;
+ texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgbnor & TEX_RGB) {
@@ -2323,14 +2351,13 @@ void do_material_tex(ShadeInput *shi)
texres.nor[2]= texres.tb;
}
else {
- float co_nor= 0.5*cos(texres.tin-0.5);
- float si= 0.5*sin(texres.tin-0.5);
+ float co_nor= 0.5*cos(texres.tin-0.5f);
+ float si= 0.5*sin(texres.tin-0.5f);
float f1, f2;
f1= shi->vn[0];
f2= shi->vn[1];
texres.nor[0]= f1*co_nor+f2*si;
- texres.nor[1]= f2*co_nor-f1*si;
f1= shi->vn[1];
f2= shi->vn[2];
texres.nor[1]= f1*co_nor+f2*si;
@@ -2410,7 +2437,7 @@ void do_material_tex(ShadeInput *shi)
// exception for envmap only
if(tex->type==TEX_ENVMAP && mtex->blendtype==MTEX_BLEND) {
fact= texres.tin*mirrfac;
- facm= 1.0- fact;
+ facm= 1.0f- fact;
shi->refcol[0]= fact + facm*shi->refcol[0];
shi->refcol[1]= fact*tcol[0] + facm*shi->refcol[1];
shi->refcol[2]= fact*tcol[1] + facm*shi->refcol[2];
@@ -2428,6 +2455,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 +2539,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);
}
}
@@ -2555,65 +2582,65 @@ void do_material_tex(ShadeInput *shi)
if(rgbnor & TEX_RGB) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
if(mtex->mapto & MAP_REF) {
float difffac= mtex->difffac*stencilTin;
shi->refl= texture_value_blend(mtex->def_var, shi->refl, texres.tin, difffac, mtex->blendtype);
- if(shi->refl<0.0) shi->refl= 0.0;
+ if(shi->refl<0.0f) shi->refl= 0.0f;
}
if(mtex->mapto & MAP_SPEC) {
float specfac= mtex->specfac*stencilTin;
shi->spec= texture_value_blend(mtex->def_var, shi->spec, texres.tin, specfac, mtex->blendtype);
- if(shi->spec<0.0) shi->spec= 0.0;
+ if(shi->spec<0.0f) shi->spec= 0.0f;
}
if(mtex->mapto & MAP_EMIT) {
float emitfac= mtex->emitfac*stencilTin;
shi->emit= texture_value_blend(mtex->def_var, shi->emit, texres.tin, emitfac, mtex->blendtype);
- if(shi->emit<0.0) shi->emit= 0.0;
+ if(shi->emit<0.0f) shi->emit= 0.0f;
}
if(mtex->mapto & MAP_ALPHA) {
float alphafac= mtex->alphafac*stencilTin;
shi->alpha= texture_value_blend(mtex->def_var, shi->alpha, texres.tin, alphafac, mtex->blendtype);
- if(shi->alpha<0.0) shi->alpha= 0.0;
- else if(shi->alpha>1.0) shi->alpha= 1.0;
+ if(shi->alpha<0.0f) shi->alpha= 0.0f;
+ else if(shi->alpha>1.0f) shi->alpha= 1.0f;
}
if(mtex->mapto & MAP_HAR) {
float har; // have to map to 0-1
float hardfac= mtex->hardfac*stencilTin;
- har= ((float)shi->har)/128.0;
- har= 128.0*texture_value_blend(mtex->def_var, har, texres.tin, hardfac, mtex->blendtype);
+ har= ((float)shi->har)/128.0f;
+ har= 128.0f*texture_value_blend(mtex->def_var, har, texres.tin, hardfac, mtex->blendtype);
- if(har<1.0) shi->har= 1;
- else if(har>511.0) shi->har= 511;
+ if(har<1.0f) shi->har= 1;
+ else if(har>511) shi->har= 511;
else shi->har= (int)har;
}
if(mtex->mapto & MAP_RAYMIRR) {
float raymirrfac= mtex->raymirrfac*stencilTin;
shi->ray_mirror= texture_value_blend(mtex->def_var, shi->ray_mirror, texres.tin, raymirrfac, mtex->blendtype);
- if(shi->ray_mirror<0.0) shi->ray_mirror= 0.0;
- else if(shi->ray_mirror>1.0) shi->ray_mirror= 1.0;
+ if(shi->ray_mirror<0.0f) shi->ray_mirror= 0.0f;
+ else if(shi->ray_mirror>1.0f) shi->ray_mirror= 1.0f;
}
if(mtex->mapto & MAP_TRANSLU) {
float translfac= mtex->translfac*stencilTin;
shi->translucency= texture_value_blend(mtex->def_var, shi->translucency, texres.tin, translfac, mtex->blendtype);
- if(shi->translucency<0.0) shi->translucency= 0.0;
- else if(shi->translucency>1.0) shi->translucency= 1.0;
+ if(shi->translucency<0.0f) shi->translucency= 0.0f;
+ else if(shi->translucency>1.0f) shi->translucency= 1.0f;
}
if(mtex->mapto & MAP_AMB) {
float ambfac= mtex->ambfac*stencilTin;
shi->amb= texture_value_blend(mtex->def_var, shi->amb, texres.tin, ambfac, mtex->blendtype);
- if(shi->amb<0.0) shi->amb= 0.0;
- else if(shi->amb>1.0) shi->amb= 1.0;
+ if(shi->amb<0.0f) shi->amb= 0.0f;
+ else if(shi->amb>1.0f) shi->amb= 1.0f;
shi->ambr= shi->amb*R.wrld.ambr;
shi->ambg= shi->amb*R.wrld.ambg;
@@ -2622,6 +2649,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);
+ }
}
@@ -2703,16 +2736,16 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
/* texture output */
if( (rgbnor & TEX_RGB) && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgbnor-= TEX_RGB;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgbnor & TEX_RGB) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- texres.tin= 1.0-texres.tin;
+ texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgbnor & TEX_RGB) {
@@ -2769,7 +2802,7 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
if (!(rgbnor & TEX_INT)) {
if (rgbnor & TEX_RGB) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
}
@@ -2777,25 +2810,25 @@ void do_volume_tex(ShadeInput *shi, float *xyz, int mapto_flag, float *col, floa
float emitfac= mtex->emitfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, emitfac, mtex->blendtype);
- if(*val<0.0) *val= 0.0;
+ if(*val<0.0f) *val= 0.0f;
}
if((mapto_flag & MAP_DENSITY) && (mtex->mapto & MAP_DENSITY)) {
float densfac= mtex->densfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, densfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
if((mapto_flag & MAP_SCATTERING) && (mtex->mapto & MAP_SCATTERING)) {
float scatterfac= mtex->scatterfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, scatterfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
if((mapto_flag & MAP_REFLECTION) && (mtex->mapto & MAP_REFLECTION)) {
float reflfac= mtex->reflfac*stencilTin;
*val = texture_value_blend(mtex->def_var, *val, texres.tin, reflfac, mtex->blendtype);
- CLAMP(*val, 0.0, 1.0);
+ CLAMP(*val, 0.0f, 1.0f);
}
}
}
@@ -2839,7 +2872,7 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
if(osatex) {
- dx= 1.0/har->rad;
+ dx= 1.0f/har->rad;
if(mtex->projx) {
dxt[0]= mtex->size[0]*dx;
@@ -2867,16 +2900,16 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
/* mapping */
@@ -2903,10 +2936,10 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
}
fact= texres.tin*mtex->colfac;
- facm= 1.0-fact;
+ facm= 1.0f-fact;
if(mtex->blendtype==MTEX_MUL) {
- facm= 1.0-mtex->colfac;
+ facm= 1.0f-mtex->colfac;
}
if(mtex->blendtype==MTEX_SUB) fact= -fact;
@@ -2926,15 +2959,15 @@ void do_halo_tex(HaloRen *har, float xn, float yn, float *colf)
colf[1]= (fact*texres.tg + har->g);
colf[2]= (fact*texres.tb + har->b);
- CLAMP(colf[0], 0.0, 1.0);
- CLAMP(colf[1], 0.0, 1.0);
- CLAMP(colf[2], 0.0, 1.0);
+ CLAMP(colf[0], 0.0f, 1.0f);
+ CLAMP(colf[1], 0.0f, 1.0f);
+ CLAMP(colf[2], 0.0f, 1.0f);
}
}
if(mtex->mapto & MAP_ALPHA) {
if(rgb) {
if(texres.talpha) texres.tin= texres.ta;
- else texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ else texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
}
colf[3]*= texres.tin;
@@ -2984,7 +3017,7 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
/* only works with texture being "real" */
/* use saacos(), fixes bug [#22398], float precision caused lo[2] to be slightly less then -1.0 */
if(lo[0] || lo[1]) { /* check for zero case [#24807] */
- fact= (1.0/M_PI)*saacos(lo[2])/(sqrt(lo[0]*lo[0] + lo[1]*lo[1]));
+ fact= (1.0f/(float)M_PI)*saacos(lo[2])/(sqrt(lo[0]*lo[0] + lo[1]*lo[1]));
tempvec[0]= lo[0]*fact;
tempvec[1]= lo[1]*fact;
tempvec[2]= 0.0;
@@ -3005,13 +3038,13 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
if(mtex->texco==TEXCO_H_TUBEMAP) map_to_tube( tempvec, tempvec+1,lo[0], lo[2], lo[1]);
else map_to_sphere( tempvec, tempvec+1,lo[0], lo[2], lo[1]);
/* tube/spheremap maps for outside view, not inside */
- tempvec[0]= 1.0-tempvec[0];
+ tempvec[0]= 1.0f-tempvec[0];
/* only top half */
- tempvec[1]= 2.0*tempvec[1]-1.0;
+ tempvec[1]= 2.0f*tempvec[1]-1.0f;
tempvec[2]= 0.0;
/* and correction for do_2d_mapping */
- tempvec[0]= 2.0*tempvec[0]-1.0;
- tempvec[1]= 2.0*tempvec[1]-1.0;
+ tempvec[0]= 2.0f*tempvec[0]-1.0f;
+ tempvec[1]= 2.0f*tempvec[1]-1.0f;
co= tempvec;
}
else {
@@ -3060,16 +3093,16 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgb) {
@@ -3130,7 +3163,7 @@ void do_sky_tex(float *rco, float *lo, float *dxyview, float *hor, float *zen, f
}
}
if(mtex->mapto & WOMAP_BLEND) {
- if(rgb) texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ if(rgb) texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
*blend= texture_value_blend(mtex->def_var, *blend, texres.tin, mtex->blendfac, mtex->blendtype);
}
@@ -3266,16 +3299,16 @@ void do_lamp_tex(LampRen *la, float *lavec, ShadeInput *shi, float *colf, int ef
/* texture output */
if(rgb && (mtex->texflag & MTEX_RGBTOINT)) {
- texres.tin= (0.35*texres.tr+0.45*texres.tg+0.2*texres.tb);
+ texres.tin= (0.35f*texres.tr+0.45f*texres.tg+0.2f*texres.tb);
rgb= 0;
}
if(mtex->texflag & MTEX_NEGATIVE) {
if(rgb) {
- texres.tr= 1.0-texres.tr;
- texres.tg= 1.0-texres.tg;
- texres.tb= 1.0-texres.tb;
+ texres.tr= 1.0f-texres.tr;
+ texres.tg= 1.0f-texres.tg;
+ texres.tb= 1.0f-texres.tb;
}
- else texres.tin= 1.0-texres.tin;
+ else texres.tin= 1.0f-texres.tin;
}
if(mtex->texflag & MTEX_STENCIL) {
if(rgb) {
@@ -3360,7 +3393,7 @@ int externtex(MTex *mtex, float *vec, float *tin, float *tr, float *tg, float *t
rgb= multitex(tex, texvec, dxt, dyt, 0, &texr, thread, mtex->which_output);
if(rgb) {
- texr.tin= (0.35*texr.tr+0.45*texr.tg+0.2*texr.tb);
+ texr.tin= (0.35f*texr.tr+0.45f*texr.tg+0.2f*texr.tb);
}
else {
texr.tr= mtex->r;
@@ -3409,14 +3442,14 @@ void render_realtime_texture(ShadeInput *shi, Image *ima)
tex= &imatex[shi->thread];
tex->iuser.ok= ima->ok;
- texvec[0]= 0.5+0.5*suv->uv[0];
- texvec[1]= 0.5+0.5*suv->uv[1];
- texvec[2] = 0; // initalize it because imagewrap looks at it.
+ texvec[0]= 0.5f+0.5f*suv->uv[0];
+ texvec[1]= 0.5f+0.5f*suv->uv[1];
+ texvec[2] = 0.0f; // initalize it because imagewrap looks at it.
if(shi->osatex) {
- dx[0]= 0.5*suv->dxuv[0];
- dx[1]= 0.5*suv->dxuv[1];
- dy[0]= 0.5*suv->dyuv[0];
- dy[1]= 0.5*suv->dyuv[1];
+ dx[0]= 0.5f*suv->dxuv[0];
+ dx[1]= 0.5f*suv->dxuv[1];
+ dy[0]= 0.5f*suv->dyuv[0];
+ dy[1]= 0.5f*suv->dyuv[1];
}
texr.nor= NULL;
diff --git a/source/blender/render/intern/source/rendercore.c b/source/blender/render/intern/source/rendercore.c
index 0087be8cca9..b66740c87ba 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;
@@ -716,7 +730,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl)
if(zpass==NULL) return;
- /* check for at least one sun lamp that its atmosphere flag is is enabled */
+ /* check for at least one sun lamp that its atmosphere flag is enabled */
for(go=R.lights.first; go; go= go->next) {
lar= go->lampren;
if(lar->type==LA_SUN && lar->sunsky && (lar->sunsky->effect_type & LA_SUN_EFFECT_AP))
@@ -744,7 +758,7 @@ static void atm_tile(RenderPart *pa, RenderLayer *rl)
if(lar->type==LA_SUN && lar->sunsky) {
/* if it's sky continue and don't apply atmosphere effect on it */
- if(*zrect >= 9.9e10 || rgbrect[3]==0.0f) {
+ if(*zrect >= 9.9e10f || rgbrect[3]==0.0f) {
continue;
}
@@ -1084,7 +1098,7 @@ static unsigned short *make_solid_mask(RenderPart *pa)
static void addAlphaOverFloatMask(float *dest, float *source, unsigned short dmask, unsigned short smask)
{
unsigned short shared= dmask & smask;
- float mul= 1.0 - source[3];
+ float mul= 1.0f - source[3];
if(shared) { /* overlapping masks */
@@ -1878,13 +1892,13 @@ static void renderflare(RenderResult *rr, float *rectf, HaloRen *har)
fla.r= fabs(rc[0]);
fla.g= fabs(rc[1]);
fla.b= fabs(rc[2]);
- fla.alfa= ma->flareboost*fabs(alfa*visifac*rc[3]);
- fla.hard= 20.0f + fabs(70*rc[7]);
+ fla.alfa= ma->flareboost*fabsf(alfa*visifac*rc[3]);
+ fla.hard= 20.0f + fabsf(70.0f*rc[7]);
fla.tex= 0;
- type= (int)(fabs(3.9*rc[6]));
+ type= (int)(fabs(3.9f*rc[6]));
- fla.rad= ma->subsize*sqrt(fabs(2.0f*har->rad*rc[4]));
+ fla.rad= ma->subsize*sqrtf(fabs(2.0f*har->rad*rc[4]));
if(type==3) {
fla.rad*= 3.0f;
@@ -1893,22 +1907,22 @@ static void renderflare(RenderResult *rr, float *rectf, HaloRen *har)
fla.radsq= fla.rad*fla.rad;
- vec[0]= 1.4*rc[5]*(har->xs-R.winx/2);
- vec[1]= 1.4*rc[5]*(har->ys-R.winy/2);
- vec[2]= 32.0f*sqrt(vec[0]*vec[0] + vec[1]*vec[1] + 1.0f);
+ vec[0]= 1.4f*rc[5]*(har->xs-R.winx/2);
+ vec[1]= 1.4f*rc[5]*(har->ys-R.winy/2);
+ vec[2]= 32.0f*sqrtf(vec[0]*vec[0] + vec[1]*vec[1] + 1.0f);
- fla.xs= R.winx/2 + vec[0] + (1.2+rc[8])*R.rectx*vec[0]/vec[2];
- fla.ys= R.winy/2 + vec[1] + (1.2+rc[8])*R.rectx*vec[1]/vec[2];
+ fla.xs= R.winx/2 + vec[0] + (1.2f+rc[8])*R.rectx*vec[0]/vec[2];
+ fla.ys= R.winy/2 + vec[1] + (1.2f+rc[8])*R.rectx*vec[1]/vec[2];
if(R.flag & R_SEC_FIELD) {
- if(R.r.mode & R_ODDFIELD) fla.ys += 0.5;
- else fla.ys -= 0.5;
+ if(R.r.mode & R_ODDFIELD) fla.ys += 0.5f;
+ else fla.ys -= 0.5f;
}
if(type & 1) fla.type= HA_FLARECIRC;
else fla.type= 0;
renderhalo_post(rr, rectf, &fla);
- fla.alfa*= 0.5;
+ fla.alfa*= 0.5f;
if(type & 2) fla.type= HA_FLARECIRC;
else fla.type= 0;
renderhalo_post(rr, rectf, &fla);
@@ -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,7 +1998,7 @@ typedef struct BakeShade {
short *do_update;
} BakeShade;
-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);
@@ -2049,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;
@@ -2217,7 +2197,7 @@ static void bake_shade(void *handle, Object *ob, ShadeInput *shi, int quad, int
}
}
-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;
@@ -2225,7 +2205,7 @@ static void bake_displacement(void *handle, ShadeInput *shi, float dist, int x,
if(R.r.bake_flag & R_BAKE_NORMALIZE && R.r.bake_maxdist) {
disp = (dist+R.r.bake_maxdist) / (R.r.bake_maxdist*2); /* alter the range from [-bake_maxdist, bake_maxdist] to [0, 1]*/
} else {
- disp = 0.5 + dist; /* alter the range from [-0.5,0.5] to [0,1]*/
+ disp = 0.5f + dist; /* alter the range from [-0.5,0.5] to [0,1]*/
}
if(bs->rect_float) {
@@ -2297,7 +2277,7 @@ static void bake_set_vlr_dxyco(BakeShade *bs, float *uv1, float *uv2, float *uv3
* then taking u and v partial derivatives to get dxco and dyco */
A= (uv2[0] - uv1[0])*(uv3[1] - uv1[1]) - (uv3[0] - uv1[0])*(uv2[1] - uv1[1]);
- if(fabs(A) > FLT_EPSILON) {
+ if(fabsf(A) > FLT_EPSILON) {
A= 0.5f/A;
d1= uv2[1] - uv3[1];
@@ -2464,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;
@@ -2484,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;
@@ -2551,8 +2532,8 @@ static void shade_tface(BakeShade *bs)
* where a pixel gets in between 2 faces or the middle of a quad,
* camera aligned quads also have this problem but they are less common.
* Add a small offset to the UVs, fixes bug #18685 - Campbell */
- vec[a][0]= tface->uv[a][0]*(float)bs->rectx - (0.5f + 0.001);
- vec[a][1]= tface->uv[a][1]*(float)bs->recty - (0.5f + 0.002);
+ vec[a][0]= tface->uv[a][0]*(float)bs->rectx - (0.5f + 0.001f);
+ vec[a][1]= tface->uv[a][1]*(float)bs->recty - (0.5f + 0.002f);
}
/* UV indices have to be corrected for possible quad->tria splits */
@@ -2589,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 */
@@ -2675,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++)
- IMB_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 */
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
- IMB_mask_filter_extend(temprect, ibuf->x, ibuf->y);
-
- /* clear all pixels in the margin*/
- IMB_mask_clear(ibuf, temprect, FILTER_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 afe4d5c7e35..0c5ad0475ab 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;
@@ -943,13 +943,13 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
float tin, tr, tg, tb, ta;
float xn, yn, zn, texvec[3], hoco[4], hoco1[4];
- if(hasize==0.0) return NULL;
+ if(hasize==0.0f) return NULL;
projectverto(vec, re->winmat, hoco);
- if(hoco[3]==0.0) return NULL;
+ if(hoco[3]==0.0f) return NULL;
if(vec1) {
projectverto(vec1, re->winmat, hoco1);
- if(hoco1[3]==0.0) return NULL;
+ if(hoco1[3]==0.0f) return NULL;
}
har= RE_findOrAddHalo(obr, obr->tothalo++);
@@ -959,8 +959,8 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
/* actual projectvert is done in function project_renderdata() because of parts/border/pano */
/* we do it here for sorting of halos */
zn= hoco[3];
- har->xs= 0.5*re->winx*(hoco[0]/zn);
- har->ys= 0.5*re->winy*(hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(hoco[0]/zn);
+ har->ys= 0.5f*re->winy*(hoco[1]/zn);
har->zs= 0x7FFFFF*(hoco[2]/zn);
har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
@@ -970,16 +970,16 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
har->type |= HA_VECT;
- xn= har->xs - 0.5*re->winx*(hoco1[0]/hoco1[3]);
- yn= har->ys - 0.5*re->winy*(hoco1[1]/hoco1[3]);
- if(xn==0.0 || (xn==0.0 && yn==0.0)) zn= 0.0;
+ xn= har->xs - 0.5f*re->winx*(hoco1[0]/hoco1[3]);
+ yn= har->ys - 0.5f*re->winy*(hoco1[1]/hoco1[3]);
+ if(xn==0.0f || (xn==0.0f && yn==0.0f)) zn= 0.0f;
else zn= atan2(yn, xn);
har->sin= sin(zn);
har->cos= cos(zn);
zn= len_v3v3(vec1, vec);
- har->hasize= vectsize*zn + (1.0-vectsize)*hasize;
+ har->hasize= vectsize*zn + (1.0f-vectsize)*hasize;
sub_v3_v3v3(har->no, vec, vec1);
normalize_v3(har->no);
@@ -991,7 +991,7 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
har->r= ma->r;
har->g= ma->g;
har->b= ma->b;
- har->add= (255.0*ma->add);
+ har->add= (255.0f*ma->add);
har->mat= ma;
har->hard= ma->har;
har->seed= seed % 256;
@@ -1032,7 +1032,7 @@ HaloRen *RE_inithalo(Render *re, ObjectRen *obr, Material *ma, float *vec, f
zn= tin*mtex->alphafac;
if(mtex->mapto & MAP_COL) {
- zn= 1.0-yn;
+ zn= 1.0f-yn;
har->r= (yn*tr+ zn*ma->r);
har->g= (yn*tg+ zn*ma->g);
har->b= (yn*tb+ zn*ma->b);
@@ -1057,13 +1057,13 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
float xn, yn, zn, texvec[3], hoco[4], hoco1[4], in[3],tex[3],out[3];
int i, hasrgb;
- if(hasize==0.0) return NULL;
+ if(hasize==0.0f) return NULL;
projectverto(vec, re->winmat, hoco);
- if(hoco[3]==0.0) return NULL;
+ if(hoco[3]==0.0f) return NULL;
if(vec1) {
projectverto(vec1, re->winmat, hoco1);
- if(hoco1[3]==0.0) return NULL;
+ if(hoco1[3]==0.0f) return NULL;
}
har= RE_findOrAddHalo(obr, obr->tothalo++);
@@ -1073,8 +1073,8 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
/* actual projectvert is done in function project_renderdata() because of parts/border/pano */
/* we do it here for sorting of halos */
zn= hoco[3];
- har->xs= 0.5*re->winx*(hoco[0]/zn);
- har->ys= 0.5*re->winy*(hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(hoco[0]/zn);
+ har->ys= 0.5f*re->winy*(hoco[1]/zn);
har->zs= 0x7FFFFF*(hoco[2]/zn);
har->zBufDist = 0x7FFFFFFF*(hoco[2]/zn);
@@ -1084,16 +1084,16 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
har->type |= HA_VECT;
- xn= har->xs - 0.5*re->winx*(hoco1[0]/hoco1[3]);
- yn= har->ys - 0.5*re->winy*(hoco1[1]/hoco1[3]);
- if(xn==0.0 || (xn==0.0 && yn==0.0)) zn= 0.0;
+ xn= har->xs - 0.5f*re->winx*(hoco1[0]/hoco1[3]);
+ yn= har->ys - 0.5f*re->winy*(hoco1[1]/hoco1[3]);
+ if(xn==0.0f || (xn==0.0f && yn==0.0f)) zn= 0.0;
else zn= atan2(yn, xn);
har->sin= sin(zn);
har->cos= cos(zn);
- zn= len_v3v3(vec1, vec)*0.5;
+ zn= len_v3v3(vec1, vec)*0.5f;
- har->hasize= vectsize*zn + (1.0-vectsize)*hasize;
+ har->hasize= vectsize*zn + (1.0f-vectsize)*hasize;
sub_v3_v3v3(har->no, vec, vec1);
normalize_v3(har->no);
@@ -1105,7 +1105,7 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
har->r= ma->r;
har->g= ma->g;
har->b= ma->b;
- har->add= (255.0*ma->add);
+ har->add= (255.0f*ma->add);
har->mat= ma;
har->hard= ma->har;
har->seed= seed % 256;
@@ -1185,13 +1185,13 @@ HaloRen *RE_inithalo_particle(Render *re, ObjectRen *obr, DerivedMesh *dm, Mater
if(mtex->mapto & MAP_ALPHA)
har->alfa = texture_value_blend(mtex->def_var,har->alfa,tin,mtex->alphafac,mtex->blendtype);
if(mtex->mapto & MAP_HAR)
- har->hard = 1.0+126.0*texture_value_blend(mtex->def_var,((float)har->hard)/127.0,tin,mtex->hardfac,mtex->blendtype);
+ har->hard = 1.0f+126.0f*texture_value_blend(mtex->def_var,((float)har->hard)/127.0f,tin,mtex->hardfac,mtex->blendtype);
if(mtex->mapto & MAP_RAYMIRR)
- har->hasize = 100.0*texture_value_blend(mtex->def_var,har->hasize/100.0,tin,mtex->raymirrfac,mtex->blendtype);
+ har->hasize = 100.0f*texture_value_blend(mtex->def_var,har->hasize/100.0f,tin,mtex->raymirrfac,mtex->blendtype);
if(mtex->mapto & MAP_TRANSLU) {
- float add = texture_value_blend(mtex->def_var,(float)har->add/255.0,tin,mtex->translfac,mtex->blendtype);
+ float add = texture_value_blend(mtex->def_var,(float)har->add/255.0f,tin,mtex->translfac,mtex->blendtype);
CLAMP(add, 0.f, 1.f);
- har->add = 255.0*add;
+ har->add = 255.0f*add;
}
/* now what on earth is this good for?? */
//if(mtex->texco & 16) {
@@ -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;
@@ -1270,24 +1270,24 @@ void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4],
projectfunc(vec, re->winmat, hoco);
/* we clip halos less critical, but not for the Z */
- hoco[0]*= 0.5;
- hoco[1]*= 0.5;
+ hoco[0]*= 0.5f;
+ hoco[1]*= 0.5f;
if( panotestclip(re, do_pano, hoco) ) {
har->miny= har->maxy= -10000; /* that way render clips it */
}
- else if(hoco[3]<0.0) {
+ else if(hoco[3]<0.0f) {
har->miny= har->maxy= -10000; /* render clips it */
}
else /* do the projection...*/
{
/* bring back hocos */
- hoco[0]*= 2.0;
- hoco[1]*= 2.0;
+ hoco[0]*= 2.0f;
+ hoco[1]*= 2.0f;
zn= hoco[3];
- har->xs= 0.5*re->winx*(1.0+hoco[0]/zn); /* the 0.5 negates the previous 2...*/
- har->ys= 0.5*re->winy*(1.0+hoco[1]/zn);
+ har->xs= 0.5f*re->winx*(1.0f+hoco[0]/zn); /* the 0.5 negates the previous 2...*/
+ har->ys= 0.5f*re->winy*(1.0f+hoco[1]/zn);
/* this should be the zbuffer coordinate */
har->zs= 0x7FFFFF*(hoco[2]/zn);
@@ -1298,11 +1298,11 @@ void project_renderdata(Render *re, void (*projectfunc)(float *, float mat[][4],
projectfunc(vec, re->winmat, hoco);
vec[0]-= har->hasize;
zn= hoco[3];
- har->rad= fabs(har->xs- 0.5*re->winx*(1.0+hoco[0]/zn));
+ har->rad= fabsf(har->xs- 0.5f*re->winx*(1.0f+hoco[0]/zn));
/* this clip is not really OK, to prevent stars to become too large */
if(har->type & HA_ONLYSKY) {
- if(har->rad>3.0) har->rad= 3.0;
+ if(har->rad>3.0f) har->rad= 3.0f;
}
har->radsq= har->rad*har->rad;
diff --git a/source/blender/render/intern/source/shadbuf.c b/source/blender/render/intern/source/shadbuf.c
index dcb9a3063e1..5860c395b07 100644
--- a/source/blender/render/intern/source/shadbuf.c
+++ b/source/blender/render/intern/source/shadbuf.c
@@ -260,7 +260,7 @@ static int compress_deepsamples(DeepSample *dsample, int tot, float epsilon)
}
else {
/* compute visibility at center between slopes at z */
- slope= (slopemin+slopemax)*0.5;
+ slope= (slopemin+slopemax)*0.5f;
v= newds->v + slope*((z - newds->z)/(double)0x7FFFFFFF);
}
@@ -774,7 +774,7 @@ void makeshadowbuf(Render *re, LampRen *lar)
angle= saacos(lar->spotsi);
temp= 0.5f*shb->size*cos(angle)/sin(angle);
shb->pixsize= (shb->d)/temp;
- wsize= shb->pixsize*(shb->size/2.0);
+ wsize= shb->pixsize*(shb->size/2.0f);
perspective_m4( shb->winmat,-wsize, wsize, -wsize, wsize, shb->d, shb->clipend);
mul_m4_m4m4(shb->persmat, shb->viewmat, shb->winmat);
@@ -1094,7 +1094,7 @@ static float readshadowbuf(ShadBuf *shb, ShadSampleBuf *shsample, int bias, int
else { /* soft area */
temp= ( (float)(zs- zsamp) )/(float)bias;
- return 1.0 - temp*temp;
+ return 1.0f - temp*temp;
}
}
@@ -1287,7 +1287,7 @@ static float readshadowbuf_halo(ShadBuf *shb, ShadSampleBuf *shsample, int xs, i
/* soft area */
temp= ( (float)(zs- zsamp) )/(float)bias;
- return 1.0 - temp*temp;
+ return 1.0f - temp*temp;
}
@@ -1303,15 +1303,15 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
int x, y, z, xs1, ys1;
int dx = 0, dy = 0;
- siz= 0.5*(float)shb->size;
+ siz= 0.5f*(float)shb->size;
co[0]= p1[0];
co[1]= p1[1];
co[2]= p1[2]/lar->sh_zfac;
co[3]= 1.0;
mul_m4_v4(shb->winmat, co); /* rational hom co */
- xf1= siz*(1.0+co[0]/co[3]);
- yf1= siz*(1.0+co[1]/co[3]);
+ xf1= siz*(1.0f+co[0]/co[3]);
+ yf1= siz*(1.0f+co[1]/co[3]);
zf1= (co[2]/co[3]);
@@ -1320,8 +1320,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
co[2]= p2[2]/lar->sh_zfac;
co[3]= 1.0;
mul_m4_v4(shb->winmat, co); /* rational hom co */
- xf2= siz*(1.0+co[0]/co[3]);
- yf2= siz*(1.0+co[1]/co[3]);
+ xf2= siz*(1.0f+co[0]/co[3]);
+ yf2= siz*(1.0f+co[1]/co[3]);
zf2= (co[2]/co[3]);
/* the 2dda (a pixel line formula) */
@@ -1330,8 +1330,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
ys1= (int)yf1;
if(xf1 != xf2) {
- if(xf2-xf1 > 0.0) {
- labdax= (xf1-xs1-1.0)/(xf1-xf2);
+ if(xf2-xf1 > 0.0f) {
+ labdax= (xf1-xs1-1.0f)/(xf1-xf2);
ldx= -shb->shadhalostep/(xf1-xf2);
dx= shb->shadhalostep;
}
@@ -1347,8 +1347,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
if(yf1 != yf2) {
- if(yf2-yf1 > 0.0) {
- labday= (yf1-ys1-1.0)/(yf1-yf2);
+ if(yf2-yf1 > 0.0f) {
+ labday= (yf1-ys1-1.0f)/(yf1-yf2);
ldy= -shb->shadhalostep/(yf1-yf2);
dy= shb->shadhalostep;
}
@@ -1389,16 +1389,16 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
labda= MIN2(labdax, labday);
- if(labda==labdao || labda>=1.0) break;
+ if(labda==labdao || labda>=1.0f) break;
zf= zf1 + labda*(zf2-zf1);
count+= (float)shb->totbuf;
- if(zf<= -1.0) lightcount += 1.0; /* close to the spot */
+ if(zf<= -1.0f) lightcount += 1.0f; /* close to the spot */
else {
/* make sure, behind the clipend we extend halolines. */
- if(zf>=1.0) z= 0x7FFFF000;
+ if(zf>=1.0f) z= 0x7FFFF000;
else z= (int)(0x7FFFF000*zf);
for(shsample= shb->buffers.first; shsample; shsample= shsample->next)
@@ -1407,8 +1407,8 @@ float shadow_halo(LampRen *lar, float *p1, float *p2)
}
}
- if(count!=0.0) return (lightcount/count);
- return 0.0;
+ if(count!=0.0f) return (lightcount/count);
+ return 0.0f;
}
@@ -2081,11 +2081,11 @@ static int viewpixel_to_lampbuf(ShadBuf *shb, ObjectInstanceRen *obi, VlakRen *v
/* ortho viewplane cannot intersect using view vector originating in (0,0,0) */
if(R.r.mode & R_ORTHO) {
/* x and y 3d coordinate can be derived from pixel coord and winmat */
- float fx= 2.0/(R.winx*R.winmat[0][0]);
- float fy= 2.0/(R.winy*R.winmat[1][1]);
+ float fx= 2.0f/(R.winx*R.winmat[0][0]);
+ float fy= 2.0f/(R.winy*R.winmat[1][1]);
- hoco[0]= (x - 0.5*R.winx)*fx - R.winmat[3][0]/R.winmat[0][0];
- hoco[1]= (y - 0.5*R.winy)*fy - R.winmat[3][1]/R.winmat[1][1];
+ hoco[0]= (x - 0.5f*R.winx)*fx - R.winmat[3][0]/R.winmat[0][0];
+ hoco[1]= (y - 0.5f*R.winy)*fy - R.winmat[3][1]/R.winmat[1][1];
/* using a*x + b*y + c*z = d equation, (a b c) is normal */
if(nor[2]!=0.0f)
@@ -2141,9 +2141,9 @@ static void isb_add_shadfac(ISBShadfacA **isbsapp, MemArena *mem, int obi, int f
/* in osa case, the samples were filled in with factor 1.0/R.osa. if fewer samples we have to correct */
if(R.osa)
- shadfacf= ((float)shadfac*R.osa)/(4096.0*samples);
+ shadfacf= ((float)shadfac*R.osa)/(4096.0f*samples);
else
- shadfacf= ((float)shadfac)/(4096.0);
+ shadfacf= ((float)shadfac)/(4096.0f);
new= BLI_memarena_alloc(mem, sizeof(ISBShadfacA));
new->obi= obi;
@@ -2640,4 +2640,3 @@ void ISB_free(RenderPart *pa)
}
}
}
-
diff --git a/source/blender/render/intern/source/shadeinput.c b/source/blender/render/intern/source/shadeinput.c
index 77141d9b445..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 */
}
@@ -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..30632586b04 100644
--- a/source/blender/render/intern/source/shadeoutput.c
+++ b/source/blender/render/intern/source/shadeoutput.c
@@ -282,10 +282,10 @@ static void spothalo(struct LampRen *lar, ShadeInput *shi, float *intens)
else if(ok1==0 || ok2==0) return;
/* at least 1 visible interesction point */
- if(t1<0.0f && t2<0.0f) return;
+ if(t1<0.0 && t2<0.0) return;
- if(t1<0.0f) t1= 0.0f;
- if(t2<0.0f) t2= 0.0f;
+ if(t1<0.0) t1= 0.0;
+ if(t2<0.0) t2= 0.0;
if(t1==t2) return;
@@ -423,8 +423,8 @@ float fresnel_fac(float *view, float *vn, float grad, float fac)
static double saacos_d(double fac)
{
- if(fac<= -1.0f) return M_PI;
- else if(fac>=1.0f) return 0.0;
+ if(fac<= -1.0) return M_PI;
+ else if(fac>=1.0) return 0.0;
else return acos(fac);
}
@@ -590,7 +590,7 @@ static float CookTorr_Spec(float *n, float *l, float *v, int hard, int tangent)
i= spec(nh, hard);
- i= i/(0.1+nv);
+ i= i/(0.1f+nv);
return i;
}
@@ -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);
}
@@ -896,7 +896,7 @@ static void ramp_diffuse_result(float *diff, ShadeInput *shi)
if(ma->ramp_col) {
if(ma->rampin_col==MA_RAMP_IN_RESULT) {
- fac= 0.3*diff[0] + 0.58*diff[1] + 0.12*diff[2];
+ fac= 0.3f*diff[0] + 0.58f*diff[1] + 0.12f*diff[2];
do_colorband(ma->ramp_col, fac, col);
/* blending method */
@@ -926,7 +926,7 @@ static void add_to_diffuse(float *diff, ShadeInput *shi, float is, float r, floa
/* input */
switch(ma->rampin_col) {
case MA_RAMP_IN_ENERGY:
- fac= 0.3*r + 0.58*g + 0.12*b;
+ fac= 0.3f*r + 0.58f*g + 0.12f*b;
break;
case MA_RAMP_IN_SHADER:
fac= is;
@@ -966,7 +966,7 @@ static void ramp_spec_result(float *specr, float *specg, float *specb, ShadeInpu
float fac;
if(ma->ramp_spec && (ma->rampin_spec==MA_RAMP_IN_RESULT)) {
- fac= 0.3*(*specr) + 0.58*(*specg) + 0.12*(*specb);
+ fac= 0.3f*(*specr) + 0.58f*(*specg) + 0.12f*(*specb);
do_colorband(ma->ramp_spec, fac, col);
/* blending method */
@@ -1213,7 +1213,7 @@ float lamp_get_visibility(LampRen *lar, float *co, float *lv, float *dist)
}
}
}
- if (visifac <= 0.001) visifac = 0.0f;
+ if (visifac <= 0.001f) visifac = 0.0f;
return visifac;
}
}
@@ -1231,7 +1231,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
view= shi->view;
- if (lar->energy == 0.0) return;
+ if (lar->energy == 0.0f) return;
/* only shadow lamps shouldn't affect shadow-less materials at all */
if ((lar->mode & LA_ONLYSHADOW) && (!(ma->mode & MA_SHADOW) || !(R.r.mode & R_SHADOW)))
return;
@@ -1359,7 +1359,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
/* 'is' is diffuse */
if((ma->shade_flag & MA_CUBIC) && is>0.0f && is<1.0f)
- is= 3.0*is*is - 2.0*is*is*is; // nicer termination of shades
+ is= 3.0f*is*is - 2.0f*is*is*is; // nicer termination of shades
i= is*phongcorr;
@@ -1388,7 +1388,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
lamp_get_shadow(lar, shi, inp, shadfac, shi->depth);
/* warning, here it skips the loop */
- if((lar->mode & LA_ONLYSHADOW) && i>0.0) {
+ if((lar->mode & LA_ONLYSHADOW) && i>0.0f) {
shadfac[3]= i*lar->energy*(1.0f-shadfac[3]);
shr->shad[0] -= shadfac[3]*shi->r*(1.0f-lashdw[0]);
@@ -1448,7 +1448,7 @@ static void shade_one_light(LampRen *lar, ShadeInput *shi, ShadeResult *shr, int
t= vn[0]*lv[0]+vn[1]*lv[1]+vn[2]*lv[2];
if(lar->type==LA_HEMI) {
- t= 0.5*t+0.5;
+ t= 0.5f*t+0.5f;
}
t= shadfac[3]*shi->spec*spec(t, shi->har);
diff --git a/source/blender/render/intern/source/sss.c b/source/blender/render/intern/source/sss.c
index f7d1b43d4f7..0ba13b31c4b 100644
--- a/source/blender/render/intern/source/sss.c
+++ b/source/blender/render/intern/source/sss.c
@@ -172,7 +172,7 @@ static float f_Rd(float alpha_, float A, float ro)
float sq;
sq= sqrt(3.0f*(1.0f - alpha_));
- return (alpha_/2.0f)*(1.0f + exp((-4.0f/3.0f)*A*sq))*exp(-sq) - ro;
+ return (alpha_/2.0f)*(1.0f + expf((-4.0f/3.0f)*A*sq))*expf(-sq) - ro;
}
static float compute_reduced_albedo(ScatterSettings *ss)
@@ -189,10 +189,10 @@ static float compute_reduced_albedo(ScatterSettings *ss)
for(i= 0; i < max_iteration_count; i++) {
fsub= (fxn - fxn_1);
- if(fabs(fsub) < tolerance)
+ if(fabsf(fsub) < tolerance)
break;
d= ((xn - xn_1)/fsub)*fxn;
- if(fabs(d) < tolerance)
+ if(fabsf(d) < tolerance)
break;
xn_1= xn;
@@ -221,10 +221,10 @@ static float Rd_rsquare(ScatterSettings *ss, float rr)
sr= sqrt(rr + ss->zr*ss->zr);
sv= sqrt(rr + ss->zv*ss->zv);
- Rdr= ss->zr*(1.0f + ss->sigma*sr)*exp(-ss->sigma*sr)/(sr*sr*sr);
- Rdv= ss->zv*(1.0f + ss->sigma*sv)*exp(-ss->sigma*sv)/(sv*sv*sv);
+ Rdr= ss->zr*(1.0f + ss->sigma*sr)*expf(-ss->sigma*sr)/(sr*sr*sr);
+ Rdv= ss->zv*(1.0f + ss->sigma*sv)*expf(-ss->sigma*sv)/(sv*sv*sv);
- return /*ss->alpha_*/(1.0f/(4.0f*M_PI))*(Rdr + Rdv);
+ return /*ss->alpha_*/(1.0f/(4.0f*(float)M_PI))*(Rdr + Rdv);
}
static float Rd(ScatterSettings *ss, float r)
@@ -316,7 +316,7 @@ ScatterSettings *scatter_settings_new(float refl, float radius, float ior, float
ss->alpha_= compute_reduced_albedo(ss);
ss->sigma= 1.0f/ss->ld;
- ss->sigma_t_= ss->sigma/sqrt(3.0f*(1.0f - ss->alpha_));
+ ss->sigma_t_= ss->sigma/sqrtf(3.0f*(1.0f - ss->alpha_));
ss->sigma_s_= ss->alpha_*ss->sigma_t_;
ss->sigma_a= ss->sigma_t_ - ss->sigma_s_;
@@ -489,7 +489,7 @@ static void sum_leaf_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
for(i=0; i<node->totpoint; i++) {
p= &node->points[i];
- rad= p->area*fabs(p->rad[0] + p->rad[1] + p->rad[2]);
+ rad= p->area*fabsf(p->rad[0] + p->rad[1] + p->rad[2]);
totrad += rad;
node->co[0] += rad*p->co[0];
@@ -513,20 +513,20 @@ static void sum_leaf_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
}
if(node->area > 1e-16f) {
- inv= 1.0/node->area;
+ inv= 1.0f/node->area;
node->rad[0] *= inv;
node->rad[1] *= inv;
node->rad[2] *= inv;
}
if(node->backarea > 1e-16f) {
- inv= 1.0/node->backarea;
+ inv= 1.0f/node->backarea;
node->backrad[0] *= inv;
node->backrad[1] *= inv;
node->backrad[2] *= inv;
}
if(totrad > 1e-16f) {
- inv= 1.0/totrad;
+ inv= 1.0f/totrad;
node->co[0] *= inv;
node->co[1] *= inv;
node->co[2] *= inv;
@@ -566,8 +566,8 @@ static void sum_branch_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
subnode= node->child[i];
- rad= subnode->area*fabs(subnode->rad[0] + subnode->rad[1] + subnode->rad[2]);
- rad += subnode->backarea*fabs(subnode->backrad[0] + subnode->backrad[1] + subnode->backrad[2]);
+ rad= subnode->area*fabsf(subnode->rad[0] + subnode->rad[1] + subnode->rad[2]);
+ rad += subnode->backarea*fabsf(subnode->backrad[0] + subnode->backrad[1] + subnode->backrad[2]);
totrad += rad;
node->co[0] += rad*subnode->co[0];
@@ -587,20 +587,20 @@ static void sum_branch_radiance(ScatterTree *UNUSED(tree), ScatterNode *node)
}
if(node->area > 1e-16f) {
- inv= 1.0/node->area;
+ inv= 1.0f/node->area;
node->rad[0] *= inv;
node->rad[1] *= inv;
node->rad[2] *= inv;
}
if(node->backarea > 1e-16f) {
- inv= 1.0/node->backarea;
+ inv= 1.0f/node->backarea;
node->backrad[0] *= inv;
node->backrad[1] *= inv;
node->backrad[2] *= inv;
}
if(totrad > 1e-16f) {
- inv= 1.0/totrad;
+ inv= 1.0f/totrad;
node->co[0] *= inv;
node->co[1] *= inv;
node->co[2] *= inv;
@@ -668,9 +668,9 @@ static void create_octree_node(ScatterTree *tree, ScatterNode *node, float *mid,
return;
}
- subsize[0]= size[0]*0.5;
- subsize[1]= size[1]*0.5;
- subsize[2]= size[2]*0.5;
+ subsize[0]= size[0]*0.5f;
+ subsize[1]= size[1]*0.5f;
+ subsize[2]= size[2]*0.5f;
node->split[0]= mid[0];
node->split[1]= mid[1];
@@ -764,7 +764,7 @@ ScatterTree *scatter_tree_new(ScatterSettings *ss[3], float scale, float error,
for(i=0; i<totpoint; i++) {
VECCOPY(points[i].co, co[i]);
VECCOPY(points[i].rad, color[i]);
- points[i].area= fabs(area[i])/(tree->scale*tree->scale);
+ points[i].area= fabsf(area[i])/(tree->scale*tree->scale);
points[i].back= (area[i] < 0.0f);
mul_v3_fl(points[i].co, 1.0f/tree->scale);
@@ -794,13 +794,13 @@ void scatter_tree_build(ScatterTree *tree)
tree->root->points= newpoints;
tree->root->totpoint= totpoint;
- mid[0]= (tree->min[0]+tree->max[0])*0.5;
- mid[1]= (tree->min[1]+tree->max[1])*0.5;
- mid[2]= (tree->min[2]+tree->max[2])*0.5;
+ mid[0]= (tree->min[0]+tree->max[0])*0.5f;
+ mid[1]= (tree->min[1]+tree->max[1])*0.5f;
+ mid[2]= (tree->min[2]+tree->max[2])*0.5f;
- size[0]= (tree->max[0]-tree->min[0])*0.5;
- size[1]= (tree->max[1]-tree->min[1])*0.5;
- size[2]= (tree->max[2]-tree->min[2])*0.5;
+ size[0]= (tree->max[0]-tree->min[0])*0.5f;
+ size[1]= (tree->max[1]-tree->min[1])*0.5f;
+ size[2]= (tree->max[2]-tree->min[2])*0.5f;
create_octree_node(tree, tree->root, mid, size, tree->refpoints, 0);
diff --git a/source/blender/render/intern/source/strand.c b/source/blender/render/intern/source/strand.c
index 9f5c2c39472..840e5444ff0 100644
--- a/source/blender/render/intern/source/strand.c
+++ b/source/blender/render/intern/source/strand.c
@@ -78,9 +78,9 @@ static float strand_eval_width(Material *ma, float strandco)
if(ma->strand_ease!=0.0f) {
if(ma->strand_ease<0.0f)
- fac= pow(strandco, 1.0+ma->strand_ease);
+ fac= pow(strandco, 1.0f+ma->strand_ease);
else
- fac= pow(strandco, 1.0/(1.0f-ma->strand_ease));
+ fac= pow(strandco, 1.0f/(1.0f-ma->strand_ease));
}
else fac= strandco;
@@ -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;
@@ -816,8 +816,8 @@ int zbuffer_strands_abuf(Render *re, RenderPart *pa, APixstrand *apixbuf, ListBa
zbuf_alloc_span(&zspan, pa->rectx, pa->recty, clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan.zmulx= ((float)winx)/2.0;
- zspan.zmuly= ((float)winy)/2.0;
+ zspan.zmulx= ((float)winx)/2.0f;
+ zspan.zmuly= ((float)winy)/2.0f;
zspan.zofsx= -pa->disprect.xmin;
zspan.zofsy= -pa->disprect.ymin;
diff --git a/source/blender/render/intern/source/sunsky.c b/source/blender/render/intern/source/sunsky.c
index f645c29a7a5..e824b81096b 100644
--- a/source/blender/render/intern/source/sunsky.c
+++ b/source/blender/render/intern/source/sunsky.c
@@ -68,12 +68,12 @@
* */
void ClipColor(float c[3])
{
- if (c[0] > 1.0) c[0] = 1.0;
- if (c[0] < 0.0) c[0] = 0.0;
- if (c[1] > 1.0) c[1] = 1.0;
- if (c[1] < 0.0) c[1] = 0.0;
- if (c[2] > 1.0) c[2] = 1.0;
- if (c[2] < 0.0) c[2] = 0.0;
+ if (c[0] > 1.0f) c[0] = 1.0f;
+ if (c[0] < 0.0f) c[0] = 0.0f;
+ if (c[1] > 1.0f) c[1] = 1.0f;
+ if (c[1] < 0.0f) c[1] = 0.0f;
+ if (c[2] > 1.0f) c[2] = 1.0f;
+ if (c[2] < 0.0f) c[2] = 0.0f;
}
/**
@@ -85,9 +85,9 @@ static float AngleBetween(float thetav, float phiv, float theta, float phi)
{
float cospsi = sin(thetav) * sin(theta) * cos(phi - phiv) + cos(thetav) * cos(theta);
- if (cospsi > 1.0)
+ if (cospsi > 1.0f)
return 0;
- if (cospsi < -1.0)
+ if (cospsi < -1.0f)
return M_PI;
return acos(cospsi);
@@ -117,11 +117,11 @@ static float PerezFunction(struct SunSky *sunsky, const float *lam, float theta,
{
float den, num;
- den = ((1 + lam[0] * exp(lam[1])) *
- (1 + lam[2] * exp(lam[3] * sunsky->theta) + lam[4] * cos(sunsky->theta) * cos(sunsky->theta)));
+ den = ((1 + lam[0] * expf(lam[1])) *
+ (1 + lam[2] * expf(lam[3] * sunsky->theta) + lam[4] * cosf(sunsky->theta) * cosf(sunsky->theta)));
- num = ((1 + lam[0] * exp(lam[1] / cos(theta))) *
- (1 + lam[2] * exp(lam[3] * gamma) + lam[4] * cos(gamma) * cos(gamma)));
+ num = ((1 + lam[0] * expf(lam[1] / cosf(theta))) *
+ (1 + lam[2] * expf(lam[3] * gamma) + lam[4] * cosf(gamma) * cosf(gamma)));
return(lvz * num / den);}
@@ -173,41 +173,41 @@ void InitSunSky(struct SunSky *sunsky, float turb, float *toSun, float horizon_b
T = turb;
T2 = turb*turb;
- chi = (4.0 / 9.0 - T / 120.0) * (M_PI - 2 * sunsky->theta);
- sunsky->zenith_Y = (4.0453 * T - 4.9710) * tan(chi) - .2155 * T + 2.4192;
+ chi = (4.0f / 9.0f - T / 120.0f) * ((float)M_PI - 2.0f * sunsky->theta);
+ sunsky->zenith_Y = (4.0453f * T - 4.9710f) * tanf(chi) - 0.2155f * T + 2.4192f;
sunsky->zenith_Y *= 1000; // conversion from kcd/m^2 to cd/m^2
if (sunsky->zenith_Y<=0)
sunsky->zenith_Y = 1e-6;
sunsky->zenith_x =
- ( + 0.00165 * theta3 - 0.00374 * theta2 + 0.00208 * sunsky->theta + 0) * T2 +
- ( -0.02902 * theta3 + 0.06377 * theta2 - 0.03202 * sunsky->theta + 0.00394) * T +
- ( + 0.11693 * theta3 - 0.21196 * theta2 + 0.06052 * sunsky->theta + 0.25885);
+ ( + 0.00165f * theta3 - 0.00374f * theta2 + 0.00208f * sunsky->theta + 0.0f) * T2 +
+ ( -0.02902f * theta3 + 0.06377f * theta2 - 0.03202f * sunsky->theta + 0.00394f) * T +
+ ( + 0.11693f * theta3 - 0.21196f * theta2 + 0.06052f * sunsky->theta + 0.25885f);
sunsky->zenith_y =
- ( + 0.00275 * theta3 - 0.00610 * theta2 + 0.00316 * sunsky->theta + 0) * T2 +
- ( -0.04214 * theta3 + 0.08970 * theta2 - 0.04153 * sunsky->theta + 0.00515) * T +
- ( + 0.15346 * theta3 - 0.26756 * theta2 + 0.06669 * sunsky->theta + 0.26688);
+ ( + 0.00275f * theta3 - 0.00610f * theta2 + 0.00316f * sunsky->theta + 0.0f) * T2 +
+ ( -0.04214f * theta3 + 0.08970f * theta2 - 0.04153f * sunsky->theta + 0.00515f) * T +
+ ( + 0.15346f * theta3 - 0.26756f * theta2 + 0.06669f * sunsky->theta + 0.26688f);
- sunsky->perez_Y[0] = 0.17872 * T - 1.46303;
- sunsky->perez_Y[1] = -0.35540 * T + 0.42749;
- sunsky->perez_Y[2] = -0.02266 * T + 5.32505;
- sunsky->perez_Y[3] = 0.12064 * T - 2.57705;
- sunsky->perez_Y[4] = -0.06696 * T + 0.37027;
-
- sunsky->perez_x[0] = -0.01925 * T - 0.25922;
- sunsky->perez_x[1] = -0.06651 * T + 0.00081;
- sunsky->perez_x[2] = -0.00041 * T + 0.21247;
- sunsky->perez_x[3] = -0.06409 * T - 0.89887;
- sunsky->perez_x[4] = -0.00325 * T + 0.04517;
-
- sunsky->perez_y[0] = -0.01669 * T - 0.26078;
- sunsky->perez_y[1] = -0.09495 * T + 0.00921;
- sunsky->perez_y[2] = -0.00792 * T + 0.21023;
- sunsky->perez_y[3] = -0.04405 * T - 1.65369;
- sunsky->perez_y[4] = -0.01092 * T + 0.05291;
+ sunsky->perez_Y[0] = 0.17872f * T - 1.46303f;
+ sunsky->perez_Y[1] = -0.35540f * T + 0.42749f;
+ sunsky->perez_Y[2] = -0.02266f * T + 5.32505f;
+ sunsky->perez_Y[3] = 0.12064f * T - 2.57705f;
+ sunsky->perez_Y[4] = -0.06696f * T + 0.37027f;
+
+ sunsky->perez_x[0] = -0.01925f * T - 0.25922f;
+ sunsky->perez_x[1] = -0.06651f * T + 0.00081f;
+ sunsky->perez_x[2] = -0.00041f * T + 0.21247f;
+ sunsky->perez_x[3] = -0.06409f * T - 0.89887f;
+ sunsky->perez_x[4] = -0.00325f * T + 0.04517f;
+
+ sunsky->perez_y[0] = -0.01669f * T - 0.26078f;
+ sunsky->perez_y[1] = -0.09495f * T + 0.00921f;
+ sunsky->perez_y[2] = -0.00792f * T + 0.21023f;
+ sunsky->perez_y[3] = -0.04405f * T - 1.65369f;
+ sunsky->perez_y[4] = -0.01092f * T + 0.05291f;
/* suggested by glome in
* http://projects.blender.org/tracker/?func=detail&atid=127&aid=8063&group_id=9*/
@@ -248,17 +248,17 @@ void GetSkyXYZRadiance(struct SunSky* sunsky, float theta, float phi, float colo
float hfade=1, nfade=1;
- if (theta>(0.5*M_PI)) {
- hfade = 1.0-(theta*M_1_PI-0.5)*2.0;
- hfade = hfade*hfade*(3.0-2.0*hfade);
+ if (theta>(0.5f*(float)M_PI)) {
+ hfade = 1.0f-(theta*(float)M_1_PI-0.5f)*2.0f;
+ hfade = hfade*hfade*(3.0f-2.0f*hfade);
theta = 0.5*M_PI;
}
- if (sunsky->theta>(0.5*M_PI)) {
- if (theta<=0.5*M_PI) {
- nfade = 1.0-(0.5-theta*M_1_PI)*2.0;
- nfade *= 1.0-(sunsky->theta*M_1_PI-0.5)*2.0;
- nfade = nfade*nfade*(3.0-2.0*nfade);
+ if (sunsky->theta>(0.5f*(float)M_PI)) {
+ if (theta<=0.5f*(float)M_PI) {
+ nfade = 1.0f-(0.5f-theta*(float)M_1_PI)*2.0f;
+ nfade *= 1.0f-(sunsky->theta*(float)M_1_PI-0.5f)*2.0f;
+ nfade = nfade*nfade*(3.0f-2.0f*nfade);
}
}
@@ -267,7 +267,7 @@ void GetSkyXYZRadiance(struct SunSky* sunsky, float theta, float phi, float colo
// Compute xyY values
x = PerezFunction(sunsky, sunsky->perez_x, theta, gamma, sunsky->zenith_x);
y = PerezFunction(sunsky, sunsky->perez_y, theta, gamma, sunsky->zenith_y);
- Y = 6.666666667e-5 * nfade * hfade * PerezFunction(sunsky, sunsky->perez_Y, theta, gamma, sunsky->zenith_Y);
+ Y = 6.666666667e-5f * nfade * hfade * PerezFunction(sunsky, sunsky->perez_Y, theta, gamma, sunsky->zenith_Y);
if(sunsky->sky_exposure!=0.0f)
Y = 1.0 - exp(Y*sunsky->sky_exposure);
@@ -296,8 +296,8 @@ void GetSkyXYZRadiancef(struct SunSky* sunsky, const float varg[3], float color_
copy_v3_v3(v, (float*)varg);
normalize_v3(v);
- if (v[2] < 0.001){
- v[2] = 0.001;
+ if (v[2] < 0.001f) {
+ v[2] = 0.001f;
normalize_v3(v);
}
@@ -329,15 +329,15 @@ static void ComputeAttenuatedSunlight(float theta, int turbidity, float fTau[3])
fAlpha = 1.3f;
fBeta = 0.04608365822050f * turbidity - 0.04586025928522f;
- m = 1.0/(cos(theta) + 0.15f*pow(93.885f-theta/M_PI*180.0f,-1.253f));
+ m = 1.0f/(cosf(theta) + 0.15f*powf(93.885f-theta/(float)M_PI*180.0f,-1.253f));
for(i = 0; i < 3; i++)
{
// Rayleigh Scattering
- fTauR = exp( -m * 0.008735f * pow(fLambda[i], (float)(-4.08f)));
+ fTauR = expf( -m * 0.008735f * powf(fLambda[i], (float)(-4.08f)));
// Aerosal (water + dust) attenuation
- fTauA = exp(-m * fBeta * pow(fLambda[i], -fAlpha));
+ fTauA = exp(-m * fBeta * powf(fLambda[i], -fAlpha));
fTau[i] = fTauR * fTauA;
}
@@ -364,8 +364,8 @@ void InitAtmosphere(struct SunSky *sunSky, float sun_intens, float mief, float r
const float pn = 0.035f;
const float T = 2.0f;
float fTemp, fTemp2, fTemp3, fBeta, fBetaDash;
- float c = (6.544*T - 6.51)*1e-17;
- float K[3] = {0.685f, 0.679f, 0.670f};
+ float c = (6.544f*T - 6.51f)*1e-17f;
+ float K[3] = {0.685f, 0.679f, 0.670f};
float vBetaMieTemp[3];
float fLambda[3],fLambda2[3], fLambda4[3];
@@ -410,7 +410,7 @@ void InitAtmosphere(struct SunSky *sunSky, float sun_intens, float mief, float r
// Mie scattering constants.
- fTemp2 = 0.434*c*(2*pi)*(2*pi)*0.5f;
+ fTemp2 = 0.434f*c*(2*pi)*(2*pi)*0.5f;
vec3opf(sunSky->atm_BetaDashMie, vLambda2, *, fTemp2);
fTemp3 = 0.434f*c*pi*(2*pi)*(2*pi);
@@ -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/(float)M_LN2);
E1[0] = exp(E1[0]);
E1[1] = exp(E1[1]);
E1[2] = exp(E1[2]);
@@ -469,17 +469,17 @@ void AtmospherePixleShader( struct SunSky* sunSky, float view[3], float s, float
//Phase2(theta) = (1-g^2)/(1+g-2g*cos(theta))^(3/2)
fTemp = 1 + sunSky->atm_HGg - 2 * sunSky->atm_HGg * costheta;
- fTemp = fTemp * sqrt(fTemp);
+ fTemp = fTemp * sqrtf(fTemp);
Phase_2 = (1 - sunSky->atm_HGg * sunSky->atm_HGg)/fTemp;
vec3opf(vTemp1, sunSky->atm_BetaDashRay, *, Phase_1);
vec3opf(vTemp2, sunSky->atm_BetaDashMie, *, Phase_2);
vec3opv(vTemp1, vTemp1, +, vTemp2);
- fopvec3(vTemp2, 1.0, -, E1);
+ fopvec3(vTemp2, 1.0f, -, E1);
vec3opv(vTemp1, vTemp1, *, vTemp2);
- fopvec3(vTemp2, 1.0, / , sunSky->atm_BetaRM);
+ fopvec3(vTemp2, 1.0f, / , sunSky->atm_BetaRM);
vec3opv(I, vTemp1, *, vTemp2);
diff --git a/source/blender/render/intern/source/volume_precache.c b/source/blender/render/intern/source/volume_precache.c
index 8293143a2a6..2037acc943f 100644
--- a/source/blender/render/intern/source/volume_precache.c
+++ b/source/blender/render/intern/source/volume_precache.c
@@ -400,7 +400,7 @@ static void multiple_scattering_diffusion(Render *re, VolumePrecache *vp, Materi
sb[j] += vp->data_b[i];
/* Displays progress every second */
- if(time-lasttime>1.0f) {
+ if(time-lasttime>1.0) {
char str[64];
BLI_snprintf(str, sizeof(str), "Simulating multiple scattering: %d%%", (int)(100.0f * (c / total)));
re->i.infostr= str;
@@ -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);
@@ -748,7 +747,7 @@ static void vol_precache_objectinstance_threads(Render *re, ObjectInstanceRen *o
caching=0;
time= PIL_check_seconds_timer();
- if(time-lasttime>1.0f) {
+ if(time-lasttime>1.0) {
char str[64];
BLI_snprintf(str, sizeof(str), "Precaching volume: %d%%", (int)(100.0f * ((float)counter / (float)totparts)));
re->i.infostr= str;
diff --git a/source/blender/render/intern/source/volumetric.c b/source/blender/render/intern/source/volumetric.c
index c4e741b6c61..19bbb11e143 100644
--- a/source/blender/render/intern/source/volumetric.c
+++ b/source/blender/render/intern/source/volumetric.c
@@ -422,9 +422,9 @@ static void vol_get_transmittance_seg(ShadeInput *shi, float *tr, float stepsize
tau[1] += stepd * sigma_t[1];
tau[2] += stepd * sigma_t[2];
- tr[0] *= exp(-tau[0]);
- tr[1] *= exp(-tau[1]);
- tr[2] *= exp(-tau[2]);
+ tr[0] *= expf(-tau[0]);
+ tr[1] *= expf(-tau[1]);
+ tr[2] *= expf(-tau[2]);
}
/* Compute transmittance = e^(-attenuation) */
@@ -473,7 +473,7 @@ static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar,
if (lar->mode & LA_LAYER) if((lar->lay & shi->obi->lay)==0) return;
if ((lar->lay & shi->lay)==0) return;
- if (lar->energy == 0.0) return;
+ if (lar->energy == 0.0f) return;
if ((visifac= lamp_get_visibility(lar, co, lv, &lampdist)) == 0.f) return;
@@ -534,6 +534,7 @@ static void vol_shade_one_lamp(struct ShadeInput *shi, float *co, LampRen *lar,
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 */
@@ -612,7 +613,7 @@ static void volumeintegrate(struct ShadeInput *shi, float *col, float *co, float
/* transmittance component (alpha) */
vol_get_transmittance_seg(shi, tr, stepsize, co, density);
- if (t0 > t1 * 0.25) {
+ if (t0 > t1 * 0.25f) {
/* only use depth cutoff after we've traced a little way into the volume */
if (luminance(tr) < shi->mat->vol.depth_cutoff) break;
}
@@ -622,9 +623,9 @@ static void volumeintegrate(struct ShadeInput *shi, float *col, float *co, float
if (shi->obi->volume_precache) {
float p2[3];
- p2[0] = p[0] + (step_vec[0] * 0.5);
- p2[1] = p[1] + (step_vec[1] * 0.5);
- p2[2] = p[2] + (step_vec[2] * 0.5);
+ p2[0] = p[0] + (step_vec[0] * 0.5f);
+ p2[1] = p[1] + (step_vec[1] * 0.5f);
+ p2[2] = p[2] + (step_vec[2] * 0.5f);
vol_get_precached_scattering(&R, shi, scatter_col, p2);
} else
@@ -816,7 +817,7 @@ void shade_volume_inside(ShadeInput *shi, ShadeResult *shr)
volume_trace(shi, shr, VOL_SHADE_INSIDE);
shr->alpha = shr->alpha + prev_alpha;
- CLAMP(shr->alpha, 0.0, 1.0);
+ CLAMP(shr->alpha, 0.0f, 1.0f);
shi->mat = mat_backup;
shi->obi = obi_backup;
diff --git a/source/blender/render/intern/source/voxeldata.c b/source/blender/render/intern/source/voxeldata.c
index b8cb5c21337..2ba346ae4c5 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)
@@ -406,9 +413,9 @@ int voxeldatatex(struct Tex *tex, float *texvec, struct TexResult *texres)
}
case TEX_REPEAT:
{
- co[0] = co[0] - floor(co[0]);
- co[1] = co[1] - floor(co[1]);
- co[2] = co[2] - floor(co[2]);
+ co[0] = co[0] - floorf(co[0]);
+ co[1] = co[1] - floorf(co[1]);
+ co[2] = co[2] - floorf(co[2]);
break;
}
case TEX_EXTEND:
diff --git a/source/blender/render/intern/source/zbuf.c b/source/blender/render/intern/source/zbuf.c
index 174b1378f67..925f8529dfa 100644
--- a/source/blender/render/intern/source/zbuf.c
+++ b/source/blender/render/intern/source/zbuf.c
@@ -217,24 +217,24 @@ static short cliptestf(float p, float q, float *u1, float *u2)
{
float r;
- if(p<0.0) {
+ if(p<0.0f) {
if(q<p) return 0;
- else if(q<0.0) {
+ else if(q<0.0f) {
r= q/p;
if(r>*u2) return 0;
else if(r>*u1) *u1=r;
}
}
else {
- if(p>0.0) {
- if(q<0.0) return 0;
+ if(p>0.0f) {
+ if(q<0.0f) return 0;
else if(q<p) {
r= q/p;
if(r<*u1) return 0;
else if(r<*u2) *u2=r;
}
}
- else if(q<0.0) return 0;
+ else if(q<0.0f) return 0;
}
return 1;
}
@@ -344,7 +344,7 @@ static void zbuffillAc4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -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;
@@ -859,8 +859,8 @@ static int clipline(float *v1, float *v2) /* return 0: do not draw */
if(cliptestf(dz-dw, v1[3]-v1[2], &u1,&u2)) {
dx= v2[0]-v1[0];
- dz= 1.01*(v2[3]-v1[3]);
- v13= 1.01*v1[3];
+ dz= 1.01f*(v2[3]-v1[3]);
+ v13= 1.01f*v1[3];
if(cliptestf(-dx-dz, v1[0]+v13, &u1,&u2)) {
if(cliptestf(dx-dz, v13-v1[0], &u1,&u2)) {
@@ -870,13 +870,13 @@ static int clipline(float *v1, float *v2) /* return 0: do not draw */
if(cliptestf(-dy-dz, v1[1]+v13, &u1,&u2)) {
if(cliptestf(dy-dz, v13-v1[1], &u1,&u2)) {
- if(u2<1.0) {
+ if(u2<1.0f) {
v2[0]= v1[0]+u2*dx;
v2[1]= v1[1]+u2*dy;
v2[2]= v1[2]+u2*dz;
v2[3]= v1[3]+u2*dw;
}
- if(u1>0.0) {
+ if(u1>0.0f) {
v1[0]= v1[0]+u1*dx;
v1[1]= v1[1]+u1*dy;
v1[2]= v1[2]+u1*dz;
@@ -898,8 +898,8 @@ void hoco_to_zco(ZSpan *zspan, float *zco, float *hoco)
float div;
div= 1.0f/hoco[3];
- zco[0]= zspan->zmulx*(1.0+hoco[0]*div) + zspan->zofsx;
- zco[1]= zspan->zmuly*(1.0+hoco[1]*div) + zspan->zofsy;
+ zco[0]= zspan->zmulx*(1.0f+hoco[0]*div) + zspan->zofsx;
+ zco[1]= zspan->zmuly*(1.0f+hoco[1]*div) + zspan->zofsy;
zco[2]= 0x7FFFFFFF *(hoco[2]*div);
}
@@ -1083,7 +1083,7 @@ static void zbuffillGLinv4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -1203,7 +1203,7 @@ static void zbuffillGL4(ZSpan *zspan, int obi, int zvlnr, float *v1, float *v2,
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -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;
@@ -1330,7 +1330,7 @@ static void zbuffillGL_onlyZ(ZSpan *zspan, int obi, int zvlnr, float *v1, float
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -1627,12 +1627,12 @@ static void clippyra(float *labda, float *v1, float *v2, int *b2, int *b3, int a
if(cliptestf(-da-dw, v13+v1[a], &u1,&u2)) {
if(cliptestf(da-dw, v13-v1[a], &u1,&u2)) {
*b3=1;
- if(u2<1.0) {
+ if(u2<1.0f) {
labda[1]= u2;
*b2=1;
}
else labda[1]=1.0; /* u2 */
- if(u1>0.0) {
+ if(u1>0.0f) {
labda[0]= u1;
*b2=1;
} else labda[0]=0.0;
@@ -1662,8 +1662,8 @@ static void makevertpyra(float *vez, float *labda, float **trias, float *v1, flo
l1= labda[0];
l2= labda[1];
- if(l1!= -1.0) {
- if(l1!= 0.0) {
+ if(l1!= -1.0f) {
+ if(l1!= 0.0f) {
adr= vez+4*(*clve);
trias[*b1]=adr;
(*clve)++;
@@ -1676,8 +1676,8 @@ static void makevertpyra(float *vez, float *labda, float **trias, float *v1, flo
(*b1)++;
}
- if(l2!= -1.0) {
- if(l2!= 1.0) {
+ if(l2!= -1.0f) {
+ if(l2!= 1.0f) {
adr= vez+4*(*clve);
trias[*b1]=adr;
(*clve)++;
@@ -2066,8 +2066,8 @@ void zbuffer_solid(RenderPart *pa, RenderLayer *rl, void(*fillfunc)(RenderPart*,
zbuf_alloc_span(zspan, pa->rectx, pa->recty, R.clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan->zmulx= ((float)R.winx)/2.0;
- zspan->zmuly= ((float)R.winy)/2.0;
+ zspan->zmulx= ((float)R.winx)/2.0f;
+ zspan->zmuly= ((float)R.winy)/2.0f;
if(R.osa) {
zspan->zofsx= -pa->disprect.xmin - R.jit[pa->sample+zsample][0];
@@ -2290,8 +2290,8 @@ void zbuffer_shadow(Render *re, float winmat[][4], LampRen *lar, int *rectz, int
/* 1.0f for clipping in clippyra()... bad stuff actually */
zbuf_alloc_span(&zspan, size, size, 1.0f);
- zspan.zmulx= ((float)size)/2.0;
- zspan.zmuly= ((float)size)/2.0;
+ zspan.zmulx= ((float)size)/2.0f;
+ zspan.zmuly= ((float)size)/2.0f;
/* -0.5f to center the sample position */
zspan.zofsx= jitx - 0.5f;
zspan.zofsy= jity - 0.5f;
@@ -2527,8 +2527,8 @@ void zbuffer_sss(RenderPart *pa, unsigned int lay, void *handle, void (*func)(vo
zspan.sss_func= func;
/* needed for transform from hoco to zbuffer co */
- zspan.zmulx= ((float)R.winx)/2.0;
- zspan.zmuly= ((float)R.winy)/2.0;
+ zspan.zmulx= ((float)R.winx)/2.0f;
+ zspan.zmuly= ((float)R.winy)/2.0f;
/* -0.5f to center the sample position */
zspan.zofsx= -pa->disprect.xmin - 0.5f;
@@ -2671,7 +2671,7 @@ static void zbuf_fill_in_rgba(ZSpan *zspan, DrawBufPixel *col, float *v1, float
y0= z1*x2-x1*z2;
z0= x1*y2-y1*x2;
- if(z0==0.0) return;
+ if(z0==0.0f) return;
xx1= (x0*v1[0] + y0*v1[1])/z0 + v1[2];
@@ -2840,8 +2840,8 @@ static void quad_bezier_2d(float *result, float *v1, float *v2, float *ipodata)
p1[1]= v1[1];
/* official formula 2*p2 - .5*p1 - .5*p3 */
- p2[0]= -0.5*p1[0] - 0.5*p3[0];
- p2[1]= -0.5*p1[1] - 0.5*p3[1];
+ p2[0]= -0.5f*p1[0] - 0.5f*p3[0];
+ p2[1]= -0.5f*p1[1] - 0.5f*p3[1];
result[0]= ipodata[0]*p1[0] + ipodata[1]*p2[0] + ipodata[2]*p3[0];
result[1]= ipodata[0]*p1[1] + ipodata[1]*p2[1] + ipodata[2]*p3[1];
@@ -2871,8 +2871,8 @@ void RE_zbuf_accumulate_vecblur(NodeBlurData *nbd, int xsize, int ysize, float *
char *rectmove, *dm;
zbuf_alloc_span(&zspan, xsize, ysize, 1.0f);
- zspan.zmulx= ((float)xsize)/2.0;
- zspan.zmuly= ((float)ysize)/2.0;
+ zspan.zmulx= ((float)xsize)/2.0f;
+ zspan.zmuly= ((float)ysize)/2.0f;
zspan.zofsx= 0.0f;
zspan.zofsy= 0.0f;
@@ -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 */
@@ -3258,8 +3258,8 @@ static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *
zbuf_alloc_span(zspan, pa->rectx, pa->recty, re->clipcrop);
/* needed for transform from hoco to zbuffer co */
- zspan->zmulx= ((float)winx)/2.0;
- zspan->zmuly= ((float)winy)/2.0;
+ zspan->zmulx= ((float)winx)/2.0f;
+ zspan->zmuly= ((float)winy)/2.0f;
/* the buffers */
zspan->arectz= MEM_mallocN(sizeof(int)*pa->rectx*pa->recty, "Arectz");
@@ -3344,15 +3344,15 @@ static int zbuffer_abuf(Render *re, RenderPart *pa, APixstr *APixbuf, ListBase *
if(partclip==0) {
/* a little advantage for transp rendering (a z offset) */
- if(!shadow && ma->zoffs != 0.0) {
+ if(!shadow && ma->zoffs != 0.0f) {
mul= 0x7FFFFFFF;
- zval= mul*(1.0+ho1[2]/ho1[3]);
+ zval= mul*(1.0f+ho1[2]/ho1[3]);
VECCOPY(vec, v1->co);
/* z is negative, otherwise its being clipped */
vec[2]-= ma->zoffs;
projectverto(vec, obwinmat, hoco);
- fval= mul*(1.0+hoco[2]/hoco[3]);
+ fval= mul*(1.0f+hoco[2]/hoco[3]);
polygon_offset= (int) fabs(zval - fval );
}
@@ -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++) {
@@ -4233,7 +4240,3 @@ unsigned short *zbuffer_transp_shade(RenderPart *pa, RenderLayer *rl, float *pas
/* end of zbuf.c */
-
-
-
-
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index 6d125c01af4..7c34c086b2e 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -26,23 +26,23 @@
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
@@ -67,6 +67,7 @@ set(SRC
intern/wm_window.c
WM_api.h
+ WM_keymap.h
WM_types.h
wm.h
wm_cursors.h
@@ -89,19 +90,26 @@ if(WITH_OPENCOLLADA)
endif()
if(WITH_CODEC_QUICKTIME)
- list(APPEND INC ../quicktime)
- list(APPEND INC_SYS ${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_SYS ${FFMPEG_INC})
+ list(APPEND INC_SYS
+ ${FFMPEG_INCLUDE_DIRS}
+ )
add_definitions(-DWITH_FFMPEG)
endif()
if(WITH_PYTHON)
- list(APPEND INC ../python)
- list(APPEND INC_SYS ${PYTHON_INCLUDE_DIRS})
+ list(APPEND INC
+ ../python
+ )
add_definitions(-DWITH_PYTHON)
if(WITH_PYTHON_SECURITY)
@@ -122,7 +130,7 @@ if(APPLE)
endif()
if(WITH_BUILDINFO)
- add_definitions(-DNAN_BUILDINFO)
+ add_definitions(-DWITH_BUILDINFO)
endif()
blender_add_lib_nolist(bf_windowmanager "${SRC}" "${INC}" "${INC_SYS}")
diff --git a/source/blender/windowmanager/SConscript b/source/blender/windowmanager/SConscript
index 5b6e8b1ab30..80c526f8649 100644
--- a/source/blender/windowmanager/SConscript
+++ b/source/blender/windowmanager/SConscript
@@ -26,7 +26,7 @@ if env['WITH_BF_PYTHON']:
if env['WITH_BF_COLLADA']:
defs.append('WITH_COLLADA')
-if env['OURPLATFORM'] == 'linux2':
+if env['OURPLATFORM'] == 'linux':
cflags='-pthread'
incs += ' ../../../extern/binreloc/include'
@@ -37,6 +37,6 @@ 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')
+ defs.append('WITH_BUILDINFO')
env.BlenderLib ( 'bf_windowmanager', sources, Split(incs), defines=defs, libtype=['core'], priority=[5] )
diff --git a/source/blender/windowmanager/WM_api.h b/source/blender/windowmanager/WM_api.h
index 67294a8eb53..5bdf1ec2787 100644
--- a/source/blender/windowmanager/WM_api.h
+++ b/source/blender/windowmanager/WM_api.h
@@ -41,6 +41,7 @@
/* dna-savable wmStructs here */
#include "DNA_windowmanager_types.h"
+#include "WM_keymap.h"
#ifdef __cplusplus
extern "C" {
@@ -114,50 +115,9 @@ void WM_paint_cursor_end(struct wmWindowManager *wm, void *handle);
void WM_cursor_warp (struct wmWindow *win, int x, int y);
- /* keyconfig and keymap */
-wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname);
-wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, const char *idname);
-void WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf);
-void WM_keyconfig_free (struct wmKeyConfig *keyconf);
-void WM_keyconfig_userdef(void);
-
-void WM_keymap_init (struct bContext *C);
-void WM_keymap_free (struct wmKeyMap *keymap);
-
-wmKeyMapItem *WM_keymap_verify_item(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, int type,
- int val, int modifier, int keymodifier);
-
-void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
-char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len);
-
-wmKeyMap *WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_find_all(const struct bContext *C, const char *idname, int spaceid, int regionid);
-wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap);
-wmKeyMap *WM_keymap_guess_opname(const struct bContext *C, const char *opname);
-int WM_keymap_user_init(struct wmWindowManager *wm, struct wmKeyMap *keymap);
-wmKeyMap *WM_keymap_copy_to_user(struct wmKeyMap *keymap);
-void WM_keymap_restore_to_default(struct wmKeyMap *keymap);
-void WM_keymap_properties_reset(struct wmKeyMapItem *kmi, struct IDProperty *properties);
-void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
-
-wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id);
-int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2);
+ /* event map */
int WM_userdef_event_map(int kmitype);
-wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, const char *idname, struct EnumPropertyItem *items);
-wmKeyMap *WM_modalkeymap_get(struct wmKeyConfig *keyconf, const char *idname);
-wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value);
-void WM_modalkeymap_assign(struct wmKeyMap *km, const char *opname);
-
-const char *WM_key_event_string(short type);
-int WM_key_event_operator_id(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, int hotkey, struct wmKeyMap **keymap_r);
-char *WM_key_event_operator_string(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, char *str, int len);
-
/* handlers */
struct wmEventHandler *WM_event_add_keymap_handler(ListBase *handlers, wmKeyMap *keymap);
@@ -219,7 +179,7 @@ void WM_operator_free (struct wmOperator *op);
void WM_operator_stack_clear(struct wmWindowManager *wm);
struct wmOperatorType *WM_operatortype_find(const char *idnamem, int quiet);
-struct wmOperatorType *WM_operatortype_first(void);
+struct GHashIterator *WM_operatortype_iter(void);
void WM_operatortype_append (void (*opfunc)(struct wmOperatorType*));
void WM_operatortype_append_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
void WM_operatortype_append_macro_ptr (void (*opfunc)(struct wmOperatorType*, void *), void *userdata);
@@ -262,6 +222,7 @@ wmOperator *WM_operator_last_redo(const struct bContext *C);
#define WM_FILESEL_DIRECTORY (1 << 1)
#define WM_FILESEL_FILENAME (1 << 2)
#define WM_FILESEL_FILEPATH (1 << 3)
+#define WM_FILESEL_FILES (1 << 4)
/* operator as a python command (resultuing string must be free'd) */
@@ -270,8 +231,10 @@ void WM_operator_bl_idname(char *to, const char *from);
void WM_operator_py_idname(char *to, const char *from);
/* *************** menu types ******************** */
+void WM_menutype_init(void);
struct MenuType *WM_menutype_find(const char *idname, int quiet);
int WM_menutype_add(struct MenuType* mt);
+int WM_menutype_contains(struct MenuType* mt);
void WM_menutype_freelink(struct MenuType* mt);
void WM_menutype_free(void);
@@ -337,6 +300,8 @@ int WM_jobs_test(struct wmWindowManager *wm, void *owner);
float WM_jobs_progress(struct wmWindowManager *wm, void *owner);
char *WM_jobs_name(struct wmWindowManager *wm, void *owner);
+int WM_jobs_is_running(struct wmJob *);
+void* WM_jobs_get_customdata(struct wmJob *);
void WM_jobs_customdata(struct wmJob *, void *customdata, void (*free)(void *));
void WM_jobs_timer(struct wmJob *, double timestep, unsigned int note, unsigned int endnote);
void WM_jobs_callbacks(struct wmJob *,
diff --git a/source/blender/windowmanager/WM_keymap.h b/source/blender/windowmanager/WM_keymap.h
new file mode 100644
index 00000000000..e00cd288c9a
--- /dev/null
+++ b/source/blender/windowmanager/WM_keymap.h
@@ -0,0 +1,104 @@
+/*
+ * $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) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * Contributor(s): Blender Foundation
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+#ifndef WM_KEYMAP_H
+#define WM_KEYMAP_H
+
+/** \file WM_keymap.h
+ * \ingroup wm
+ */
+
+/* dna-savable wmStructs here */
+#include "DNA_windowmanager_types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct EnumPropertyItem;
+
+/* Key Configuration */
+
+wmKeyConfig *WM_keyconfig_new (struct wmWindowManager *wm, const char *idname);
+wmKeyConfig *WM_keyconfig_new_user(struct wmWindowManager *wm, const char *idname);
+void WM_keyconfig_remove (struct wmWindowManager *wm, struct wmKeyConfig *keyconf);
+void WM_keyconfig_free (struct wmKeyConfig *keyconf);
+
+void WM_keyconfig_set_active(struct wmWindowManager *wm, const char *idname);
+
+void WM_keyconfig_update(struct wmWindowManager *wm);
+void WM_keyconfig_update_tag(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+
+/* Keymap */
+
+void WM_keymap_init (struct bContext *C);
+void WM_keymap_free (struct wmKeyMap *keymap);
+
+wmKeyMapItem *WM_keymap_verify_item(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_item(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+wmKeyMapItem *WM_keymap_add_menu(struct wmKeyMap *keymap, const char *idname, int type,
+ int val, int modifier, int keymodifier);
+
+void WM_keymap_remove_item(struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+char *WM_keymap_item_to_string(wmKeyMapItem *kmi, char *str, int len);
+
+wmKeyMap *WM_keymap_list_find(ListBase *lb, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_find(struct wmKeyConfig *keyconf, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_find_all(const struct bContext *C, const char *idname, int spaceid, int regionid);
+wmKeyMap *WM_keymap_active(struct wmWindowManager *wm, struct wmKeyMap *keymap);
+wmKeyMap *WM_keymap_guess_opname(const struct bContext *C, const char *opname);
+
+wmKeyMapItem *WM_keymap_item_find_id(struct wmKeyMap *keymap, int id);
+int WM_keymap_item_compare(struct wmKeyMapItem *k1, struct wmKeyMapItem *k2);
+
+/* Modal Keymap */
+
+wmKeyMap *WM_modalkeymap_add(struct wmKeyConfig *keyconf, const char *idname, struct EnumPropertyItem *items);
+wmKeyMap *WM_modalkeymap_get(struct wmKeyConfig *keyconf, const char *idname);
+wmKeyMapItem *WM_modalkeymap_add_item(struct wmKeyMap *km, int type, int val, int modifier, int keymodifier, int value);
+void WM_modalkeymap_assign(struct wmKeyMap *km, const char *opname);
+
+/* Keymap Editor */
+
+void WM_keymap_restore_to_default(struct wmKeyMap *keymap, struct bContext *C);
+void WM_keymap_properties_reset(struct wmKeyMapItem *kmi, struct IDProperty *properties);
+void WM_keymap_restore_item_to_default(struct bContext *C, struct wmKeyMap *keymap, struct wmKeyMapItem *kmi);
+
+/* Key Event */
+
+const char *WM_key_event_string(short type);
+int WM_key_event_operator_id(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, int hotkey, struct wmKeyMap **keymap_r);
+char *WM_key_event_operator_string(const struct bContext *C, const char *opname, int opcontext, struct IDProperty *properties, char *str, int len);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* WM_KEYMAP_H */
+
diff --git a/source/blender/windowmanager/WM_types.h b/source/blender/windowmanager/WM_types.h
index 49bd3ede37d..cc3ae3ab753 100644
--- a/source/blender/windowmanager/WM_types.h
+++ b/source/blender/windowmanager/WM_types.h
@@ -377,6 +377,32 @@ typedef struct wmTabletData {
float Ytilt; /* as above */
} wmTabletData;
+typedef enum { // motion progress, for modal handlers
+ P_NOT_STARTED,
+ P_STARTING, // <--
+ P_IN_PROGRESS, // <-- only these are sent for NDOF motion
+ P_FINISHING, // <--
+ P_FINISHED
+ } wmProgress;
+
+typedef struct wmNDOFMotionData {
+ /* awfully similar to GHOST_TEventNDOFMotionData... */
+ // Each component normally ranges from -1 to +1, but can exceed that.
+ // These use blender standard view coordinates, with positive rotations being CCW about the axis.
+ union {
+ float tvec[3]; // translation
+ struct { float tx, ty, tz; };
+ };
+ union {
+ float rvec[3]; // rotation:
+ struct { float rx, ry, rz; };
+ };
+ // axis = (rx,ry,rz).normalized
+ // amount = (rx,ry,rz).magnitude [in revolutions, 1.0 = 360 deg]
+ float dt; // time since previous NDOF Motion event
+ wmProgress progress; // is this the first event, the last, or one of many in between?
+} wmNDOFMotionData;
+
typedef struct wmTimer {
struct wmTimer *next, *prev;
@@ -397,8 +423,6 @@ typedef struct wmTimer {
typedef struct wmOperatorType {
- struct wmOperatorType *next, *prev;
-
const char *name; /* text for ui, undo */
const char *idname; /* unique identifier */
const char *description; /* tooltips and python docs */
diff --git a/source/blender/windowmanager/intern/wm.c b/source/blender/windowmanager/intern/wm.c
index bcd5cf38f88..9299b50103c 100644
--- a/source/blender/windowmanager/intern/wm.c
+++ b/source/blender/windowmanager/intern/wm.c
@@ -40,7 +40,11 @@
#include "GHOST_C-api.h"
+#include "MEM_guardedalloc.h"
+
+#include "BLI_utildefines.h"
#include "BLI_blenlib.h"
+#include "BLI_ghash.h"
#include "BKE_blender.h"
#include "BKE_context.h"
@@ -59,8 +63,6 @@
#include "wm_draw.h"
#include "wm.h"
-#include "MEM_guardedalloc.h"
-
#include "ED_screen.h"
#ifdef WITH_PYTHON
@@ -151,14 +153,14 @@ void WM_operator_stack_clear(wmWindowManager *wm)
/* ****************************************** */
-static ListBase menutypes = {NULL, NULL}; /* global menutype list */
+static GHash *menutypes_hash= NULL;
MenuType *WM_menutype_find(const char *idname, int quiet)
{
MenuType* mt;
if (idname[0]) {
- mt= BLI_findstring(&menutypes, idname, offsetof(MenuType, idname));
+ mt= BLI_ghash_lookup(menutypes_hash, idname);
if(mt)
return mt;
}
@@ -171,29 +173,55 @@ MenuType *WM_menutype_find(const char *idname, int quiet)
int WM_menutype_add(MenuType* mt)
{
- BLI_addtail(&menutypes, mt);
+ BLI_ghash_insert(menutypes_hash, (void *)mt->idname, mt);
return 1;
}
+/* inefficient but only used for tooltip code */
+int WM_menutype_contains(MenuType* mt)
+{
+ int found= FALSE;
+
+ if(mt) {
+ GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ if(mt == BLI_ghashIterator_getValue(iter)) {
+ found= TRUE;
+ break;
+ }
+ }
+ BLI_ghashIterator_free(iter);
+ }
+
+ return found;
+}
+
void WM_menutype_freelink(MenuType* mt)
{
- BLI_freelinkN(&menutypes, mt);
+ BLI_ghash_remove(menutypes_hash, mt->idname, NULL, (GHashValFreeFP)MEM_freeN);
}
-void WM_menutype_free(void)
+/* called on initialize WM_init() */
+void WM_menutype_init(void)
{
- MenuType* mt= menutypes.first, *mt_next;
+ menutypes_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "menutypes_hash gh");
+}
- while(mt) {
- mt_next= mt->next;
+void WM_menutype_free(void)
+{
+ GHashIterator *iter= BLI_ghashIterator_new(menutypes_hash);
- if(mt->ext.free)
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ MenuType *mt= BLI_ghashIterator_getValue(iter);
+ if(mt->ext.free) {
mt->ext.free(mt->ext.data);
-
- WM_menutype_freelink(mt);
-
- mt= mt_next;
+ }
}
+ BLI_ghashIterator_free(iter);
+
+ BLI_ghash_free(menutypes_hash, NULL, (GHashValFreeFP)MEM_freeN);
+ menutypes_hash= NULL;
}
/* ****************************************** */
@@ -204,12 +232,18 @@ void WM_keymap_init(bContext *C)
if(!wm->defaultconf)
wm->defaultconf= WM_keyconfig_new(wm, "Blender");
+ if(!wm->addonconf)
+ wm->addonconf= WM_keyconfig_new(wm, "Blender Addon");
+ if(!wm->userconf)
+ wm->userconf= WM_keyconfig_new(wm, "Blender User");
- if(wm && CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) {
+ if(CTX_py_init_get(C) && (wm->initialized & WM_INIT_KEYMAP) == 0) {
/* create default key config */
wm_window_keymap(wm->defaultconf);
ED_spacetypes_keymap(wm->defaultconf);
- WM_keyconfig_userdef();
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
wm->initialized |= WM_INIT_KEYMAP;
}
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 2613cb8f14f..8861f128c4b 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -437,9 +437,18 @@ static void wm_operator_print(bContext *C, wmOperator *op)
static void wm_operator_reports(bContext *C, wmOperator *op, int retval, int popup)
{
- if(popup)
- if(op->reports->list.first)
+ if(popup) {
+ if(op->reports->list.first) {
+ /* FIXME, temp setting window, see other call to uiPupMenuReports for why */
+ wmWindow *win_prev= CTX_wm_window(C);
+ if(win_prev==NULL)
+ CTX_wm_window_set(C, CTX_wm_manager(C)->windows.first);
+
uiPupMenuReports(C, op->reports);
+
+ CTX_wm_window_set(C, win_prev);
+ }
+ }
if(retval & OPERATOR_FINISHED) {
if(G.f & G_DEBUG)
@@ -531,6 +540,7 @@ static int wm_operator_exec(bContext *C, wmOperator *op, int repeat)
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -690,6 +700,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
wm->op_undo_depth++;
retval= op->type->invoke(C, op, event);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -699,6 +710,7 @@ static int wm_operator_invoke(bContext *C, wmOperatorType *ot, wmEvent *event, P
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -874,8 +886,8 @@ static int wm_operator_call_internal(bContext *C, wmOperatorType *ot, PointerRNA
CTX_wm_region_set(C, NULL);
CTX_wm_area_set(C, NULL);
retval= wm_operator_invoke(C, ot, event, properties, reports, poll_only);
- CTX_wm_region_set(C, ar);
CTX_wm_area_set(C, area);
+ CTX_wm_region_set(C, ar);
return retval;
}
@@ -917,6 +929,7 @@ int WM_operator_call_py(bContext *C, wmOperatorType *ot, int context, PointerRNA
wm->op_undo_depth++;
retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
if(op->type->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -1203,6 +1216,7 @@ static int wm_handler_operator_call(bContext *C, ListBase *handlers, wmEventHand
wm->op_undo_depth++;
retval= ot->modal(C, op, event);
+ OPERATOR_RETVAL_CHECK(retval);
if(ot->flag & OPTYPE_UNDO && CTX_wm_manager(C) == wm)
wm->op_undo_depth--;
@@ -1735,6 +1749,9 @@ void wm_event_do_handlers(bContext *C)
wmWindowManager *wm= CTX_wm_manager(C);
wmWindow *win;
+ /* update key configuration before handling events */
+ WM_keyconfig_update(wm);
+
for(win= wm->windows.first; win; win= win->next) {
wmEvent *event;
@@ -1815,7 +1832,10 @@ void wm_event_do_handlers(bContext *C)
/* for regions having custom cursors */
wm_paintcursor_test(C, event);
}
-
+ else if (event->type==NDOF_MOTION) {
+ win->addmousemove = TRUE;
+ }
+
for(sa= win->screen->areabase.first; sa; sa= sa->next) {
if(wm_event_inside_i(event, &sa->totrct)) {
CTX_wm_area_set(C, sa);
@@ -1879,7 +1899,10 @@ void wm_event_do_handlers(bContext *C)
if(doit && win->screen && win->screen->subwinactive != win->screen->mainwin) {
win->eventstate->prevx= event->x;
win->eventstate->prevy= event->y;
+ //printf("win->eventstate->prev = %d %d\n", event->x, event->y);
}
+ else
+ ;//printf("not setting prev to %d %d\n", event->x, event->y);
}
/* store last event for this window */
@@ -1922,6 +1945,7 @@ void wm_event_do_handlers(bContext *C)
/* only add mousemove when queue was read entirely */
if(win->addmousemove && win->eventstate) {
wmEvent tevent= *(win->eventstate);
+ //printf("adding MOUSEMOVE %d %d\n", tevent.x, tevent.y);
tevent.type= MOUSEMOVE;
tevent.prevx= tevent.x;
tevent.prevy= tevent.y;
@@ -1931,6 +1955,9 @@ void wm_event_do_handlers(bContext *C)
CTX_wm_window_set(C, NULL);
}
+
+ /* update key configuration after handling events */
+ WM_keyconfig_update(wm);
}
/* ********** filesector handling ************ */
@@ -2309,6 +2336,50 @@ static void update_tablet_data(wmWindow *win, wmEvent *event)
}
}
+/* adds customdata to event */
+static void attach_ndof_data(wmEvent* event, const GHOST_TEventNDOFMotionData* ghost)
+{
+ wmNDOFMotionData* data = MEM_mallocN(sizeof(wmNDOFMotionData), "customdata NDOF");
+
+ const float s = U.ndof_sensitivity;
+
+ data->tx = s * ghost->tx;
+
+ data->rx = s * ghost->rx;
+ data->ry = s * ghost->ry;
+ data->rz = s * ghost->rz;
+
+ if (U.ndof_flag & NDOF_ZOOM_UPDOWN)
+ {
+ /* rotate so Y is where Z was */
+ data->ty = s * ghost->tz;
+ data->tz = s * ghost->ty;
+ /* maintain handed-ness? or just do what feels right? */
+
+ /* should this affect rotation also?
+ * initial guess is 'yes', but get user feedback immediately!
+ */
+#if 0
+ /* after turning this on, my guess becomes 'no' */
+ data->ry = s * ghost->rz;
+ data->rz = s * ghost->ry;
+#endif
+ }
+ else
+ {
+ data->ty = s * ghost->ty;
+ data->tz = s * ghost->tz;
+ }
+
+ data->dt = ghost->dt;
+
+ data->progress = (wmProgress) ghost->progress;
+
+ event->custom = EVT_DATA_NDOF_MOTION;
+ event->customdata = data;
+ event->customdatafree = 1;
+}
+
/* imperfect but probably usable... draw/enable drags to other windows */
static wmWindow *wm_event_cursor_other_windows(wmWindowManager *wm, wmWindow *win, wmEvent *evt)
{
@@ -2355,7 +2426,7 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
{
wmWindow *owin;
wmEvent event, *evt= win->eventstate;
-
+
/* initialize and copy state (only mouse x y and modifiers) */
event= *evt;
@@ -2365,18 +2436,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;
@@ -2391,6 +2455,8 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
update_tablet_data(win, &event);
wm_event_add(win, &event);
+
+ //printf("sending MOUSEMOVE %d %d\n", event.x, event.y);
/* also add to other window if event is there, this makes overdraws disappear nicely */
/* it remaps mousecoord to other window in event */
@@ -2423,21 +2489,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);
@@ -2460,6 +2522,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) {
@@ -2558,6 +2630,38 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
break;
}
+ case GHOST_kEventNDOFMotion: {
+ event.type = NDOF_MOTION;
+ attach_ndof_data(&event, customdata);
+ wm_event_add(win, &event);
+
+ //printf("sending NDOF_MOTION, prev = %d %d\n", event.x, event.y);
+
+ break;
+ }
+
+ case GHOST_kEventNDOFButton: {
+ GHOST_TEventNDOFButtonData* e = customdata;
+
+ event.type = NDOF_BUTTON_NONE + e->button;
+
+ switch (e->action) {
+ case GHOST_kPress:
+ event.val = KM_PRESS;
+ break;
+ case GHOST_kRelease:
+ event.val = KM_RELEASE;
+ break;
+ }
+
+ event.custom = 0;
+ event.customdata = NULL;
+
+ wm_event_add(win, &event);
+
+ break;
+ }
+
case GHOST_kEventUnknown:
case GHOST_kNumEventTypes:
break;
diff --git a/source/blender/windowmanager/intern/wm_files.c b/source/blender/windowmanager/intern/wm_files.c
index 5d005e23029..6b3a574b6b6 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
@@ -223,6 +224,14 @@ static void wm_window_match_do(bContext *C, ListBase *oldwmlist)
oldwm= oldwmlist->first;
wm= G.main->wm.first;
+ /* move addon key configuration to new wm, to preserve their keymaps */
+ if(oldwm->addonconf) {
+ wm->addonconf= oldwm->addonconf;
+ BLI_remlink(&oldwm->keyconfigs, oldwm->addonconf);
+ oldwm->addonconf= NULL;
+ BLI_addtail(&wm->keyconfigs, wm->addonconf);
+ }
+
/* ensure making new keymaps and set space types */
wm->initialized= 0;
wm->winactive= NULL;
@@ -342,6 +351,8 @@ void WM_read_file(bContext *C, const char *filepath, 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) */
@@ -392,6 +403,7 @@ void WM_read_file(bContext *C, const char *filepath, 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,7 +423,8 @@ void WM_read_file(bContext *C, const char *filepath, 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");
@@ -437,7 +450,7 @@ void WM_read_file(bContext *C, const char *filepath, ReportList *reports)
/* called on startup, (context entirely filled with NULLs) */
/* or called for 'New File' */
/* op can be NULL */
-int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
+int WM_read_homefile(bContext *C, ReportList *UNUSED(reports), short from_memory)
{
ListBase wmbase;
char tstr[FILE_MAXDIR+FILE_MAXFILE];
@@ -453,7 +466,6 @@ int WM_read_homefile(bContext *C, ReportList *reports, short from_memory)
} else {
tstr[0] = '\0';
from_memory = 1;
- BKE_report(reports, RPT_INFO, "Config directory with "STRINGIFY(BLENDER_STARTUP_FILE)" file not found.");
}
}
@@ -518,6 +530,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
@@ -629,8 +642,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 */
@@ -716,6 +730,14 @@ int WM_write_file(bContext *C, const char *target, int fileflags, ReportList *re
}
}
+ /* 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) {
@@ -728,9 +750,6 @@ 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 */
if (BLO_write_file(CTX_data_main(C), filepath, fileflags, reports, thumb)) {
@@ -747,7 +766,12 @@ 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) {
@@ -777,11 +801,14 @@ int WM_write_homefile(bContext *C, wmOperator *op)
wmWindow *win= CTX_wm_window(C);
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);
+ /* update keymaps in user preferences */
+ WM_keyconfig_update(wm);
+
BLI_make_file_string("/", filepath, BLI_get_folder_create(BLENDER_USER_CONFIG, NULL), BLENDER_STARTUP_FILE);
printf("trying to save homefile at %s ", filepath);
diff --git a/source/blender/windowmanager/intern/wm_init_exit.c b/source/blender/windowmanager/intern/wm_init_exit.c
index 2e4148ca51d..850de9029c9 100644
--- a/source/blender/windowmanager/intern/wm_init_exit.c
+++ b/source/blender/windowmanager/intern/wm_init_exit.c
@@ -116,7 +116,7 @@ static void wm_free_reports(bContext *C)
BKE_reports_clear(CTX_wm_reports(C));
}
-int wm_start_with_console = 0;
+int wm_start_with_console = 0; /* used in creator.c */
/* only called once, for startup */
void WM_init(bContext *C, int argc, const char **argv)
@@ -127,7 +127,8 @@ void WM_init(bContext *C, int argc, const char **argv)
}
GHOST_CreateSystemPaths();
wm_operatortype_init();
-
+ WM_menutype_init();
+
set_free_windowmanager_cb(wm_close_and_free); /* library.c */
set_blender_test_break_cb(wm_window_testbreak); /* blender.c */
DAG_editors_update_cb(ED_render_id_flush_update); /* depsgraph.c */
@@ -155,6 +156,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 */
@@ -169,6 +172,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();
}
@@ -180,8 +184,6 @@ void WM_init(bContext *C, int argc, const char **argv)
ED_preview_init_dbase();
- G.ndofdevice = -1; /* XXX bad initializer, needs set otherwise buttons show! */
-
WM_read_history();
/* allow a path of "", this is what happens when making a new file */
@@ -328,7 +330,6 @@ static void free_openrecent(void)
/* bad stuff*/
-extern ListBase editelems;
extern wchar_t *copybuf;
extern wchar_t *copybufinfo;
@@ -380,7 +381,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))
@@ -394,10 +394,6 @@ void WM_exit(bContext *C)
free_anim_drivers_copybuf();
free_fmodifiers_copybuf();
free_posebuf();
-// free_vertexpaint();
-// free_imagepaint();
-
-// fsmenu_free();
BLF_exit();
@@ -420,11 +416,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_jobs.c b/source/blender/windowmanager/intern/wm_jobs.c
index 4ab4eebdfe1..f4e0b4ef06c 100644
--- a/source/blender/windowmanager/intern/wm_jobs.c
+++ b/source/blender/windowmanager/intern/wm_jobs.c
@@ -202,6 +202,20 @@ char *WM_jobs_name(wmWindowManager *wm, void *owner)
return NULL;
}
+int WM_jobs_is_running(wmJob *steve)
+{
+ return steve->running;
+}
+
+void* WM_jobs_get_customdata(wmJob * steve)
+{
+ if (!steve->customdata) {
+ return steve->run_customdata;
+ } else {
+ return steve->customdata;
+ }
+}
+
void WM_jobs_customdata(wmJob *steve, void *customdata, void (*free)(void *))
{
/* pending job? just free */
diff --git a/source/blender/windowmanager/intern/wm_keymap.c b/source/blender/windowmanager/intern/wm_keymap.c
index 1720c738dd7..0e94ad72d35 100644
--- a/source/blender/windowmanager/intern/wm_keymap.c
+++ b/source/blender/windowmanager/intern/wm_keymap.c
@@ -61,14 +61,70 @@
#include "wm_event_system.h"
#include "wm_event_types.h"
-/* ********************* key config ***********************/
+/******************************* Keymap Item **********************************
+ * Item in a keymap, that maps from an event to an operator or modal map item */
-static void keymap_properties_set(wmKeyMapItem *kmi)
+static wmKeyMapItem *wm_keymap_item_copy(wmKeyMapItem *kmi)
+{
+ wmKeyMapItem *kmin = MEM_dupallocN(kmi);
+
+ kmin->prev= kmin->next= NULL;
+ kmin->flag &= ~KMI_UPDATE;
+
+ if(kmin->properties) {
+ kmin->ptr= MEM_callocN(sizeof(PointerRNA), "UserKeyMapItemPtr");
+ WM_operator_properties_create(kmin->ptr, kmin->idname);
+
+ kmin->properties= IDP_CopyProperty(kmin->properties);
+ kmin->ptr->data= kmin->properties;
+ }
+
+ return kmin;
+}
+
+static void wm_keymap_item_free(wmKeyMapItem *kmi)
+{
+ /* not kmi itself */
+ if(kmi->ptr) {
+ WM_operator_properties_free(kmi->ptr);
+ MEM_freeN(kmi->ptr);
+ }
+}
+
+static void wm_keymap_item_properties_set(wmKeyMapItem *kmi)
{
WM_operator_properties_alloc(&(kmi->ptr), &(kmi->properties), kmi->idname);
WM_operator_properties_sanitize(kmi->ptr, 1);
}
+static int wm_keymap_item_equals_result(wmKeyMapItem *a, wmKeyMapItem *b)
+{
+ if(strcmp(a->idname, b->idname) != 0)
+ return 0;
+
+ if(!((a->ptr==NULL && b->ptr==NULL) ||
+ (a->ptr && b->ptr && IDP_EqualsProperties(a->ptr->data, b->ptr->data))))
+ return 0;
+
+ if((a->flag & KMI_INACTIVE) != (b->flag & KMI_INACTIVE))
+ return 0;
+
+ return (a->propvalue == b->propvalue);
+}
+
+static int wm_keymap_item_equals(wmKeyMapItem *a, wmKeyMapItem *b)
+{
+ return (wm_keymap_item_equals_result(a, b) &&
+ a->type == b->type &&
+ a->val == b->val &&
+ a->shift == b->shift &&
+ a->ctrl == b->ctrl &&
+ a->alt == b->alt &&
+ a->oskey == b->oskey &&
+ a->keymodifier == b->keymodifier &&
+ a->maptype == b->maptype);
+}
+
/* properties can be NULL, otherwise the arg passed is used and ownership is given to the kmi */
void WM_keymap_properties_reset(wmKeyMapItem *kmi, struct IDProperty *properties)
{
@@ -78,9 +134,41 @@ void WM_keymap_properties_reset(wmKeyMapItem *kmi, struct IDProperty *properties
kmi->ptr = NULL;
kmi->properties = properties;
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
+}
+
+/**************************** Keymap Diff Item *********************************
+ * Item in a diff keymap, used for saving diff of keymaps in user preferences */
+
+static wmKeyMapDiffItem *wm_keymap_diff_item_copy(wmKeyMapDiffItem *kmdi)
+{
+ wmKeyMapDiffItem *kmdin = MEM_dupallocN(kmdi);
+
+ kmdin->next = kmdin->prev = NULL;
+ if(kmdi->add_item)
+ kmdin->add_item = wm_keymap_item_copy(kmdi->add_item);
+ if(kmdi->remove_item)
+ kmdin->remove_item = wm_keymap_item_copy(kmdi->remove_item);
+
+ return kmdin;
}
+static void wm_keymap_diff_item_free(wmKeyMapDiffItem *kmdi)
+{
+ if(kmdi->remove_item) {
+ wm_keymap_item_free(kmdi->remove_item);
+ MEM_freeN(kmdi->remove_item);
+ }
+ if(kmdi->add_item) {
+ wm_keymap_item_free(kmdi->add_item);
+ MEM_freeN(kmdi->add_item);
+ }
+}
+
+/***************************** Key Configuration ******************************
+ * List of keymaps for all editors, modes, ... . There is a builtin default key
+ * configuration, a user key configuration, and other preset configurations. */
+
wmKeyConfig *WM_keyconfig_new(wmWindowManager *wm, const char *idname)
{
wmKeyConfig *keyconf;
@@ -106,6 +194,7 @@ void WM_keyconfig_remove(wmWindowManager *wm, wmKeyConfig *keyconf)
if (keyconf) {
if (strncmp(U.keyconfigstr, keyconf->idname, sizeof(U.keyconfigstr)) == 0) {
BLI_strncpy(U.keyconfigstr, wm->defaultconf->idname, sizeof(U.keyconfigstr));
+ WM_keyconfig_update_tag(NULL, NULL);
}
BLI_remlink(&wm->keyconfigs, keyconf);
@@ -125,21 +214,6 @@ void WM_keyconfig_free(wmKeyConfig *keyconf)
MEM_freeN(keyconf);
}
-void WM_keyconfig_userdef(void)
-{
- wmKeyMap *km;
- wmKeyMapItem *kmi;
-
- for(km=U.keymaps.first; km; km=km->next) {
- /* modal keymaps don't have operator properties */
- if ((km->flag & KEYMAP_MODAL) == 0) {
- for(kmi=km->items.first; kmi; kmi=kmi->next) {
- keymap_properties_set(kmi);
- }
- }
- }
-}
-
static wmKeyConfig *wm_keyconfig_list_find(ListBase *lb, char *idname)
{
wmKeyConfig *kc;
@@ -151,23 +225,84 @@ static wmKeyConfig *wm_keyconfig_list_find(ListBase *lb, char *idname)
return NULL;
}
-/* ************************ free ************************* */
+static wmKeyConfig *WM_keyconfig_active(wmWindowManager *wm)
+{
+ wmKeyConfig *keyconf;
-void WM_keymap_free(wmKeyMap *keymap)
+ /* first try from preset */
+ keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
+ if(keyconf)
+ return keyconf;
+
+ /* otherwise use default */
+ return wm->defaultconf;
+}
+
+void WM_keyconfig_set_active(wmWindowManager *wm, const char *idname)
{
- wmKeyMapItem *kmi;
+ /* setting a different key configuration as active: we ensure all is
+ updated properly before and after making the change */
+
+ WM_keyconfig_update(wm);
+
+ BLI_strncpy(U.keyconfigstr, idname, sizeof(U.keyconfigstr));
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
+}
+
+/********************************** Keymap *************************************
+ * List of keymap items for one editor, mode, modal operator, ... */
+
+static wmKeyMap *wm_keymap_new(const char *idname, int spaceid, int regionid)
+{
+ wmKeyMap *km= MEM_callocN(sizeof(struct wmKeyMap), "keymap list");
+
+ BLI_strncpy(km->idname, idname, KMAP_MAX_NAME);
+ km->spaceid= spaceid;
+ km->regionid= regionid;
+
+ return km;
+}
+
+static wmKeyMap *wm_keymap_copy(wmKeyMap *keymap)
+{
+ wmKeyMap *keymapn = MEM_dupallocN(keymap);
+ wmKeyMapItem *kmi, *kmin;
+ wmKeyMapDiffItem *kmdi, *kmdin;
+
+ keymapn->modal_items= keymap->modal_items;
+ keymapn->poll= keymap->poll;
+ keymapn->items.first= keymapn->items.last= NULL;
+ keymapn->flag &= ~(KEYMAP_UPDATE|KEYMAP_EXPANDED);
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next) {
+ kmdin= wm_keymap_diff_item_copy(kmdi);
+ BLI_addtail(&keymapn->items, kmdin);
+ }
for(kmi=keymap->items.first; kmi; kmi=kmi->next) {
- if(kmi->ptr) {
- WM_operator_properties_free(kmi->ptr);
- MEM_freeN(kmi->ptr);
- }
+ kmin= wm_keymap_item_copy(kmi);
+ BLI_addtail(&keymapn->items, kmin);
}
- BLI_freelistN(&keymap->items);
+ return keymapn;
}
-/* ***************** generic call, exported **************** */
+void WM_keymap_free(wmKeyMap *keymap)
+{
+ wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
+
+ for(kmdi=keymap->diff_items.first; kmdi; kmdi=kmdi->next)
+ wm_keymap_diff_item_free(kmdi);
+
+ for(kmi=keymap->items.first; kmi; kmi=kmi->next)
+ wm_keymap_item_free(kmi);
+
+ BLI_freelistN(&keymap->diff_items);
+ BLI_freelistN(&keymap->items);
+}
static void keymap_event_set(wmKeyMapItem *kmi, short type, short val, int modifier, short keymodifier)
{
@@ -229,7 +364,7 @@ wmKeyMapItem *WM_keymap_verify_item(wmKeyMap *keymap, const char *idname, int ty
keymap_item_set_id(keymap, kmi);
keymap_event_set(kmi, type, val, modifier, keymodifier);
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
}
return kmi;
}
@@ -243,10 +378,12 @@ wmKeyMapItem *WM_keymap_add_item(wmKeyMap *keymap, const char *idname, int type,
BLI_strncpy(kmi->idname, idname, OP_MAX_TYPENAME);
keymap_event_set(kmi, type, val, modifier, keymodifier);
- keymap_properties_set(kmi);
+ wm_keymap_item_properties_set(kmi);
keymap_item_set_id(keymap, kmi);
+ WM_keyconfig_update_tag(keymap, kmi);
+
return kmi;
}
@@ -266,6 +403,232 @@ void WM_keymap_remove_item(wmKeyMap *keymap, wmKeyMapItem *kmi)
MEM_freeN(kmi->ptr);
}
BLI_freelinkN(&keymap->items, kmi);
+
+ WM_keyconfig_update_tag(keymap, kmi);
+ }
+}
+
+/************************** Keymap Diff and Patch ****************************
+ * Rather than saving the entire keymap for user preferences, we only save a
+ * diff so that changes in the defaults get synced. This system is not perfect
+ * but works better than overriding the keymap entirely when only few items
+ * are changed. */
+
+static void wm_keymap_addon_add(wmKeyMap *keymap, wmKeyMap *addonmap)
+{
+ wmKeyMapItem *kmi, *kmin;
+
+ for(kmi=addonmap->items.first; kmi; kmi=kmi->next) {
+ kmin = wm_keymap_item_copy(kmi);
+ keymap_item_set_id(keymap, kmin);
+ BLI_addhead(&keymap->items, kmin);
+ }
+}
+
+static wmKeyMapItem *wm_keymap_find_item_equals(wmKeyMap *km, wmKeyMapItem *needle)
+{
+ wmKeyMapItem *kmi;
+
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ if(wm_keymap_item_equals(kmi, needle))
+ return kmi;
+
+ return NULL;
+}
+
+static wmKeyMapItem *wm_keymap_find_item_equals_result(wmKeyMap *km, wmKeyMapItem *needle)
+{
+ wmKeyMapItem *kmi;
+
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ if(wm_keymap_item_equals_result(kmi, needle))
+ return kmi;
+
+ return NULL;
+}
+
+static void wm_keymap_diff(wmKeyMap *diff_km, wmKeyMap *from_km, wmKeyMap *to_km, wmKeyMap *orig_km, wmKeyMap *addon_km)
+{
+ wmKeyMapItem *kmi, *to_kmi, *orig_kmi;
+ wmKeyMapDiffItem *kmdi;
+
+ for(kmi=from_km->items.first; kmi; kmi=kmi->next) {
+ to_kmi = WM_keymap_item_find_id(to_km, kmi->id);
+
+ if(!to_kmi) {
+ /* remove item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->remove_item = wm_keymap_item_copy(kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+ else if(to_kmi && !wm_keymap_item_equals(kmi, to_kmi)) {
+ /* replace item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->remove_item = wm_keymap_item_copy(kmi);
+ kmdi->add_item = wm_keymap_item_copy(to_kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+
+ /* sync expanded flag back to original so we don't loose it on repatch */
+ if(to_kmi) {
+ orig_kmi = WM_keymap_item_find_id(orig_km, kmi->id);
+
+ if(!orig_kmi)
+ orig_kmi = wm_keymap_find_item_equals(addon_km, kmi);
+
+ if(orig_kmi) {
+ orig_kmi->flag &= ~KMI_EXPANDED;
+ orig_kmi->flag |= (to_kmi->flag & KMI_EXPANDED);
+ }
+ }
+ }
+
+ for(kmi=to_km->items.first; kmi; kmi=kmi->next) {
+ if(kmi->id < 0) {
+ /* add item */
+ kmdi = MEM_callocN(sizeof(wmKeyMapDiffItem), "wmKeyMapDiffItem");
+ kmdi->add_item = wm_keymap_item_copy(kmi);
+ BLI_addtail(&diff_km->diff_items, kmdi);
+ }
+ }
+}
+
+static void wm_keymap_patch(wmKeyMap *km, wmKeyMap *diff_km)
+{
+ wmKeyMapDiffItem *kmdi;
+ wmKeyMapItem *kmi_remove, *kmi_add;
+
+ for(kmdi=diff_km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ /* find item to remove */
+ kmi_remove = NULL;
+ if(kmdi->remove_item) {
+ kmi_remove = wm_keymap_find_item_equals(km, kmdi->remove_item);
+ if(!kmi_remove)
+ kmi_remove = wm_keymap_find_item_equals_result(km, kmdi->remove_item);
+ }
+
+ /* add item */
+ if(kmdi->add_item) {
+ /* only if nothing to remove or item to remove found */
+ if(!kmdi->remove_item || kmi_remove) {
+ kmi_add = wm_keymap_item_copy(kmdi->add_item);
+ kmi_add->flag |= KMI_USER_MODIFIED;
+
+ if(kmi_remove) {
+ kmi_add->flag &= ~KMI_EXPANDED;
+ kmi_add->flag |= (kmi_remove->flag & KMI_EXPANDED);
+ kmi_add->id = kmi_remove->id;
+ BLI_insertlinkbefore(&km->items, kmi_remove, kmi_add);
+ }
+ else {
+ keymap_item_set_id(km, kmi_add);
+ BLI_addtail(&km->items, kmi_add);
+ }
+ }
+ }
+
+ /* remove item */
+ if(kmi_remove) {
+ wm_keymap_item_free(kmi_remove);
+ BLI_freelinkN(&km->items, kmi_remove);
+ }
+ }
+}
+
+static wmKeyMap *wm_keymap_patch_update(ListBase *lb, wmKeyMap *defaultmap, wmKeyMap *addonmap, wmKeyMap *usermap)
+{
+ wmKeyMap *km;
+ int expanded = 0;
+
+ /* remove previous keymap in list, we will replace it */
+ km = WM_keymap_list_find(lb, defaultmap->idname, defaultmap->spaceid, defaultmap->regionid);
+ if(km) {
+ expanded = (km->flag & (KEYMAP_EXPANDED|KEYMAP_CHILDREN_EXPANDED));
+ WM_keymap_free(km);
+ BLI_freelinkN(lb, km);
+ }
+
+ /* copy new keymap from an existing one */
+ if(usermap && !(usermap->flag & KEYMAP_DIFF)) {
+ /* for compatibiltiy with old user preferences with non-diff
+ keymaps we override the original entirely */
+ wmKeyMapItem *kmi, *orig_kmi;
+
+ km = wm_keymap_copy(usermap);
+
+ /* try to find corresponding id's for items */
+ for(kmi=km->items.first; kmi; kmi=kmi->next) {
+ orig_kmi = wm_keymap_find_item_equals(defaultmap, kmi);
+ if(!orig_kmi)
+ orig_kmi = wm_keymap_find_item_equals_result(defaultmap, kmi);
+
+ if(orig_kmi)
+ kmi->id = orig_kmi->id;
+ else
+ kmi->id = -(km->kmi_id++);
+ }
+
+ km->flag |= KEYMAP_UPDATE; /* update again to create diff */
+ }
+ else
+ km = wm_keymap_copy(defaultmap);
+
+ /* add addon keymap items */
+ if(addonmap)
+ wm_keymap_addon_add(km, addonmap);
+
+ /* tag as being user edited */
+ if(usermap)
+ km->flag |= KEYMAP_USER_MODIFIED;
+ km->flag |= KEYMAP_USER|expanded;
+
+ /* apply user changes of diff keymap */
+ if(usermap && (usermap->flag & KEYMAP_DIFF))
+ wm_keymap_patch(km, usermap);
+
+ /* add to list */
+ BLI_addtail(lb, km);
+
+ return km;
+}
+
+static void wm_keymap_diff_update(ListBase *lb, wmKeyMap *defaultmap, wmKeyMap *addonmap, wmKeyMap *km)
+{
+ wmKeyMap *diffmap, *prevmap, *origmap;
+
+ /* create temporary default + addon keymap for diff */
+ origmap = defaultmap;
+
+ if(addonmap) {
+ defaultmap = wm_keymap_copy(defaultmap);
+ wm_keymap_addon_add(defaultmap, addonmap);
+ }
+
+ /* remove previous diff keymap in list, we will replace it */
+ prevmap = WM_keymap_list_find(lb, km->idname, km->spaceid, km->regionid);
+ if(prevmap) {
+ WM_keymap_free(prevmap);
+ BLI_freelinkN(lb, prevmap);
+ }
+
+ /* create diff keymap */
+ diffmap= wm_keymap_new(km->idname, km->spaceid, km->regionid);
+ diffmap->flag |= KEYMAP_DIFF;
+ wm_keymap_diff(diffmap, defaultmap, km, origmap, addonmap);
+
+ /* add to list if not empty */
+ if(diffmap->diff_items.first) {
+ BLI_addtail(lb, diffmap);
+ }
+ else {
+ WM_keymap_free(diffmap);
+ MEM_freeN(diffmap);
+ }
+
+ /* free temporary default map */
+ if(addonmap) {
+ WM_keymap_free(defaultmap);
+ MEM_freeN(defaultmap);
}
}
@@ -292,11 +655,10 @@ wmKeyMap *WM_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid,
wmKeyMap *km= WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
if(km==NULL) {
- km= MEM_callocN(sizeof(struct wmKeyMap), "keymap list");
- BLI_strncpy(km->idname, idname, KMAP_MAX_NAME);
- km->spaceid= spaceid;
- km->regionid= regionid;
+ km= wm_keymap_new(idname, spaceid, regionid);
BLI_addtail(&keyconf->keymaps, km);
+
+ WM_keyconfig_update_tag(km, NULL);
}
return km;
@@ -304,29 +666,9 @@ wmKeyMap *WM_keymap_find(wmKeyConfig *keyconf, const char *idname, int spaceid,
wmKeyMap *WM_keymap_find_all(const bContext *C, const char *idname, int spaceid, int regionid)
{
- wmWindowManager *wm = CTX_wm_manager(C);
- wmKeyConfig *keyconf;
- wmKeyMap *km;
-
- /* first user defined keymaps */
- km= WM_keymap_list_find(&U.keymaps, idname, spaceid, regionid);
- if (km)
- return km;
-
- /* then user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, idname, spaceid, regionid);
- if (km)
- return km;
- }
-
- /* then use default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, idname, spaceid, regionid);
- if (km)
- return km;
- else
- return NULL;
+ wmWindowManager *wm= CTX_wm_manager(C);
+
+ return WM_keymap_list_find(&wm->userconf->keymaps, idname, spaceid, regionid);
}
/* ****************** modal keymaps ************ */
@@ -366,6 +708,8 @@ wmKeyMapItem *WM_modalkeymap_add_item(wmKeyMap *km, int type, int val, int modif
keymap_item_set_id(km, kmi);
+ WM_keyconfig_update_tag(km, kmi);
+
return kmi;
}
@@ -588,169 +932,215 @@ int WM_keymap_item_compare(wmKeyMapItem *k1, wmKeyMapItem *k2)
return 1;
}
-/* ***************** user preferences ******************* */
+/************************* Update Final Configuration *************************
+ * On load or other changes, the final user key configuration is rebuilt from
+ * the preset, addon and user preferences keymaps. We also test if the final
+ * configuration changed and write the changes to the user preferences. */
-int WM_keymap_user_init(wmWindowManager *wm, wmKeyMap *keymap)
+static int WM_KEYMAP_UPDATE = 0;
+
+void WM_keyconfig_update_tag(wmKeyMap *km, wmKeyMapItem *kmi)
{
- wmKeyConfig *keyconf;
- wmKeyMap *km;
+ /* quick tag to do delayed keymap updates */
+ WM_KEYMAP_UPDATE= 1;
- if(!keymap)
- return 0;
+ if(km)
+ km->flag |= KEYMAP_UPDATE;
+ if(kmi)
+ kmi->flag |= KMI_UPDATE;
+}
- /* init from user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- keymap->poll= km->poll; /* lazy init */
- keymap->modal_items= km->modal_items;
- return 1;
- }
- }
+static int wm_keymap_test_and_clear_update(wmKeyMap *km)
+{
+ wmKeyMapItem *kmi;
+ int update;
+
+ update= (km->flag & KEYMAP_UPDATE);
+ km->flag &= ~KEYMAP_UPDATE;
- /* or from default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- keymap->poll= km->poll; /* lazy init */
- keymap->modal_items= km->modal_items;
- return 1;
+ for(kmi=km->items.first; kmi; kmi=kmi->next) {
+ update= update || (kmi->flag & KMI_UPDATE);
+ kmi->flag &= ~KMI_UPDATE;
}
-
- return 0;
+
+ return update;
}
-wmKeyMap *WM_keymap_active(wmWindowManager *wm, wmKeyMap *keymap)
+static wmKeyMap *wm_keymap_preset(wmWindowManager *wm, wmKeyMap *km)
{
- wmKeyConfig *keyconf;
- wmKeyMap *km;
+ wmKeyConfig *keyconf= WM_keyconfig_active(wm);
+ wmKeyMap *keymap;
+ keymap= WM_keymap_list_find(&keyconf->keymaps, km->idname, km->spaceid, km->regionid);
if(!keymap)
- return NULL;
-
- /* first user defined keymaps */
- km= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- km->poll= keymap->poll; /* lazy init */
- km->modal_items= keymap->modal_items;
- return km;
- }
-
- /* then user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- if(km) {
- km->poll= keymap->poll; /* lazy init */
- km->modal_items= keymap->modal_items;
- return km;
- }
- }
+ keymap= WM_keymap_list_find(&wm->defaultconf->keymaps, km->idname, km->spaceid, km->regionid);
- /* then use default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- return km;
+ return keymap;
}
-wmKeyMap *WM_keymap_copy_to_user(wmKeyMap *keymap)
+void WM_keyconfig_update(wmWindowManager *wm)
{
- wmKeyMap *usermap;
+ wmKeyMap *km, *defaultmap, *addonmap, *usermap, *kmn;
wmKeyMapItem *kmi;
+ wmKeyMapDiffItem *kmdi;
+ int compat_update = 0;
- usermap= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
-
- /* XXX this function is only used by RMB setting hotkeys, and it clears maps on 2nd try this way */
- if(keymap==usermap)
- return keymap;
+ if(!WM_KEYMAP_UPDATE)
+ return;
- if(!usermap) {
- /* not saved yet, duplicate existing */
- usermap= MEM_dupallocN(keymap);
- usermap->modal_items= NULL;
- usermap->poll= NULL;
- usermap->flag |= KEYMAP_USER;
+ /* update operator properties for non-modal user keymaps */
+ for(km=U.user_keymaps.first; km; km=km->next) {
+ if((km->flag & KEYMAP_MODAL) == 0) {
+ for(kmdi=km->diff_items.first; kmdi; kmdi=kmdi->next) {
+ if(kmdi->add_item)
+ wm_keymap_item_properties_set(kmdi->add_item);
+ if(kmdi->remove_item)
+ wm_keymap_item_properties_set(kmdi->remove_item);
+ }
- BLI_addtail(&U.keymaps, usermap);
+ for(kmi=km->items.first; kmi; kmi=kmi->next)
+ wm_keymap_item_properties_set(kmi);
+ }
}
- else {
- /* already saved, free items for re-copy */
- WM_keymap_free(usermap);
+
+ /* update U.user_keymaps with user key configuration changes */
+ for(km=wm->userconf->keymaps.first; km; km=km->next) {
+ /* only diff if the user keymap was modified */
+ if(wm_keymap_test_and_clear_update(km)) {
+ /* find keymaps */
+ defaultmap= wm_keymap_preset(wm, km);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid);
+
+ /* diff */
+ if(defaultmap)
+ wm_keymap_diff_update(&U.user_keymaps, defaultmap, addonmap, km);
+ }
}
- BLI_duplicatelist(&usermap->items, &keymap->items);
+ /* create user key configuration from preset + addon + user preferences */
+ for(km=wm->defaultconf->keymaps.first; km; km=km->next) {
+ /* find keymaps */
+ defaultmap= wm_keymap_preset(wm, km);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, km->idname, km->spaceid, km->regionid);
+ usermap= WM_keymap_list_find(&U.user_keymaps, km->idname, km->spaceid, km->regionid);
- for(kmi=usermap->items.first; kmi; kmi=kmi->next) {
- if(kmi->properties) {
- kmi->ptr= MEM_callocN(sizeof(PointerRNA), "UserKeyMapItemPtr");
- WM_operator_properties_create(kmi->ptr, kmi->idname);
+ /* add */
+ kmn= wm_keymap_patch_update(&wm->userconf->keymaps, defaultmap, addonmap, usermap);
- kmi->properties= IDP_CopyProperty(kmi->properties);
- kmi->ptr->data= kmi->properties;
+ if(kmn) {
+ kmn->modal_items= km->modal_items;
+ kmn->poll= km->poll;
}
+
+ /* in case of old non-diff keymaps, force extra update to create diffs */
+ compat_update = compat_update || (usermap && !(usermap->flag & KEYMAP_DIFF));
}
- for(kmi=keymap->items.first; kmi; kmi=kmi->next)
- kmi->flag &= ~KMI_EXPANDED;
+ WM_KEYMAP_UPDATE= 0;
+
+ if(compat_update) {
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
+ }
+}
+
+/********************************* Event Handling *****************************
+ * Handlers have pointers to the keymap in the default configuration. During
+ * event handling this function is called to get the keymap from the final
+ * configuration. */
+
+wmKeyMap *WM_keymap_active(wmWindowManager *wm, wmKeyMap *keymap)
+{
+ wmKeyMap *km;
+
+ if(!keymap)
+ return NULL;
+
+ /* first user defined keymaps */
+ km= WM_keymap_list_find(&wm->userconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+
+ if(km)
+ return km;
- return usermap;
+ return keymap;
}
+/******************************* Keymap Editor ********************************
+ * In the keymap editor the user key configuration is edited. */
+
void WM_keymap_restore_item_to_default(bContext *C, wmKeyMap *keymap, wmKeyMapItem *kmi)
{
wmWindowManager *wm = CTX_wm_manager(C);
- wmKeyConfig *keyconf;
- wmKeyMap *km = NULL;
+ wmKeyMap *defaultmap, *addonmap;
+ wmKeyMapItem *orig;
- /* look in user key config */
- keyconf= wm_keyconfig_list_find(&wm->keyconfigs, U.keyconfigstr);
- if(keyconf) {
- km= WM_keymap_list_find(&keyconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
- }
+ if(!keymap)
+ return;
- if (!km) {
- /* or from default */
- km= WM_keymap_list_find(&wm->defaultconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+ /* construct default keymap from preset + addons */
+ defaultmap= wm_keymap_preset(wm, keymap);
+ addonmap= WM_keymap_list_find(&wm->addonconf->keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+
+ if(addonmap) {
+ defaultmap = wm_keymap_copy(defaultmap);
+ wm_keymap_addon_add(defaultmap, addonmap);
}
- if (km) {
- wmKeyMapItem *orig = WM_keymap_item_find_id(km, kmi->id);
+ /* find original item */
+ orig = WM_keymap_item_find_id(defaultmap, kmi->id);
- if (orig) {
- if(strcmp(orig->idname, kmi->idname) != 0) {
- BLI_strncpy(kmi->idname, orig->idname, sizeof(kmi->idname));
+ if(orig) {
+ /* restore to original */
+ if(strcmp(orig->idname, kmi->idname) != 0) {
+ BLI_strncpy(kmi->idname, orig->idname, sizeof(kmi->idname));
+ WM_keymap_properties_reset(kmi, NULL);
+ }
- WM_keymap_properties_reset(kmi, NULL);
+ if (orig->properties) {
+ if(kmi->properties) {
+ IDP_FreeProperty(kmi->properties);
+ MEM_freeN(kmi->properties);
+ kmi->properties= NULL;
}
-
- if (orig->properties) {
- kmi->properties= IDP_CopyProperty(orig->properties);
- kmi->ptr->data= kmi->properties;
- }
-
- kmi->propvalue = orig->propvalue;
- kmi->type = orig->type;
- kmi->val = orig->val;
- kmi->shift = orig->shift;
- kmi->ctrl = orig->ctrl;
- kmi->alt = orig->alt;
- kmi->oskey = orig->oskey;
- kmi->keymodifier = orig->keymodifier;
- kmi->maptype = orig->maptype;
+ kmi->properties= IDP_CopyProperty(orig->properties);
+ kmi->ptr->data= kmi->properties;
}
+ kmi->propvalue = orig->propvalue;
+ kmi->type = orig->type;
+ kmi->val = orig->val;
+ kmi->shift = orig->shift;
+ kmi->ctrl = orig->ctrl;
+ kmi->alt = orig->alt;
+ kmi->oskey = orig->oskey;
+ kmi->keymodifier = orig->keymodifier;
+ kmi->maptype = orig->maptype;
+
+ WM_keyconfig_update_tag(keymap, kmi);
+ }
+
+ /* free temporary keymap */
+ if(addonmap) {
+ WM_keymap_free(defaultmap);
+ MEM_freeN(defaultmap);
}
}
-void WM_keymap_restore_to_default(wmKeyMap *keymap)
+void WM_keymap_restore_to_default(wmKeyMap *keymap, bContext *C)
{
+ wmWindowManager *wm = CTX_wm_manager(C);
wmKeyMap *usermap;
- usermap= WM_keymap_list_find(&U.keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
+ /* remove keymap from U.user_keymaps and update */
+ usermap= WM_keymap_list_find(&U.user_keymaps, keymap->idname, keymap->spaceid, keymap->regionid);
if(usermap) {
WM_keymap_free(usermap);
- BLI_freelinkN(&U.keymaps, usermap);
+ BLI_freelinkN(&U.user_keymaps, usermap);
+
+ WM_keyconfig_update_tag(NULL, NULL);
+ WM_keyconfig_update(wm);
}
}
@@ -951,3 +1341,4 @@ wmKeyMap *WM_keymap_guess_opname(const bContext *C, const char *opname)
return km;
}
+
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index 1b7333024e7..68a4eebf93f 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -58,6 +58,7 @@
#include "BLI_math.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
+#include "BLI_ghash.h"
#include "BLO_readfile.h"
@@ -100,34 +101,42 @@
#include "wm_subwindow.h"
#include "wm_window.h"
-static ListBase global_ops= {NULL, NULL};
+static GHash *global_ops_hash= NULL;
/* ************ operator API, exported ********** */
wmOperatorType *WM_operatortype_find(const char *idname, int quiet)
{
- wmOperatorType *ot;
-
- char idname_bl[OP_MAX_TYPENAME]; // XXX, needed to support python style names without the _OT_ syntax
- WM_operator_bl_idname(idname_bl, idname);
+ if(idname[0]) {
+ wmOperatorType *ot;
- if (idname_bl[0]) {
- ot= (wmOperatorType *)BLI_findstring_ptr(&global_ops, idname_bl, offsetof(wmOperatorType, idname));
+ /* needed to support python style names without the _OT_ syntax */
+ char idname_bl[OP_MAX_TYPENAME];
+ WM_operator_bl_idname(idname_bl, idname);
+
+ ot= BLI_ghash_lookup(global_ops_hash, idname_bl);
if(ot) {
return ot;
}
+
+ if(!quiet) {
+ printf("search for unknown operator '%s', '%s'\n", idname_bl, idname);
+ }
}
-
- if(!quiet)
- printf("search for unknown operator %s, %s\n", idname_bl, idname);
-
+ else {
+ if(!quiet) {
+ printf("search for empty operator\n");
+ }
+ }
+
return NULL;
}
-wmOperatorType *WM_operatortype_first(void)
+/* caller must free */
+GHashIterator *WM_operatortype_iter(void)
{
- return global_ops.first;
+ return BLI_ghashIterator_new(global_ops_hash);
}
/* all ops in 1 list (for time being... needs evaluation later) */
@@ -147,7 +156,8 @@ void WM_operatortype_append(void (*opfunc)(wmOperatorType*))
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)"); // XXX All ops should have a description but for now allow them not to.
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *userdata)
@@ -159,7 +169,8 @@ void WM_operatortype_append_ptr(void (*opfunc)(wmOperatorType*, void*), void *us
opfunc(ot, userdata);
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description ? ot->description:"(undocumented operator)");
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
/* ********************* macro operator ******************** */
@@ -209,6 +220,7 @@ static int wm_macro_exec(bContext *C, wmOperator *op)
if(opm->type->exec) {
retval= opm->type->exec(C, opm);
+ OPERATOR_RETVAL_CHECK(retval);
if (retval & OPERATOR_FINISHED) {
MacroData *md = op->customdata;
@@ -233,6 +245,8 @@ static int wm_macro_invoke_internal(bContext *C, wmOperator *op, wmEvent *event,
else if(opm->type->exec)
retval= opm->type->exec(C, opm);
+ OPERATOR_RETVAL_CHECK(retval);
+
BLI_movelisttolist(&op->reports->list, &opm->reports->list);
if (retval & OPERATOR_FINISHED) {
@@ -261,6 +275,7 @@ static int wm_macro_modal(bContext *C, wmOperator *op, wmEvent *event)
printf("macro error, calling NULL modal()\n");
else {
retval = opm->type->modal(C, opm, event);
+ OPERATOR_RETVAL_CHECK(retval);
/* if this one is done but it's not the last operator in the macro */
if ((retval & OPERATOR_FINISHED) && opm->next) {
@@ -351,7 +366,7 @@ wmOperatorType *WM_operatortype_append_macro(const char *idname, const char *nam
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description); // XXX All ops should have a description but for now allow them not to.
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
return ot;
}
@@ -378,7 +393,7 @@ void WM_operatortype_append_macro_ptr(void (*opfunc)(wmOperatorType*, void*), vo
RNA_def_struct_ui_text(ot->srna, ot->name, ot->description);
RNA_def_struct_identifier(ot->srna, ot->idname);
- BLI_addtail(&global_ops, ot);
+ BLI_ghash_insert(global_ops_hash, (void *)ot->idname, ot);
}
wmOperatorTypeMacro *WM_operatortype_macro_define(wmOperatorType *ot, const char *idname)
@@ -426,14 +441,14 @@ int WM_operatortype_remove(const char *idname)
if (ot==NULL)
return 0;
- BLI_remlink(&global_ops, ot);
RNA_struct_free(&BLENDER_RNA, ot->srna);
if(ot->macro.first)
wm_operatortype_free_macro(ot);
-
- MEM_freeN(ot);
+ BLI_ghash_remove(global_ops_hash, (void *)ot->idname, NULL, NULL);
+
+ MEM_freeN(ot);
return 1;
}
@@ -651,7 +666,9 @@ int WM_menu_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
printf("WM_menu_invoke: %s \"%s\" is not an enum property\n", op->type->idname, RNA_property_identifier(prop));
}
else if (RNA_property_is_set(op->ptr, RNA_property_identifier(prop))) {
- return op->type->exec(C, op);
+ const int retval= op->type->exec(C, op);
+ OPERATOR_RETVAL_CHECK(retval);
+ return retval;
}
else {
pup= uiPupMenuBegin(C, op->type->name, ICON_NONE);
@@ -807,6 +824,9 @@ void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type,
if(flag & WM_FILESEL_FILENAME)
RNA_def_string_file_name(ot->srna, "filename", "", FILE_MAX, "File Name", "Name of the file");
+ if(flag & WM_FILESEL_FILES)
+ RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+
if (action == FILE_SAVE) {
prop= RNA_def_boolean(ot->srna, "check_existing", 1, "Check Existing", "Check and warn on overwriting existing files");
RNA_def_property_flag(prop, PROP_HIDDEN);
@@ -921,7 +941,16 @@ static uiBlock *wm_block_create_redo(bContext *C, ARegion *ar, void *arg_op)
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);
@@ -929,13 +958,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);
}
@@ -951,9 +995,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;
@@ -982,7 +1026,7 @@ static uiBlock *wm_block_create_dialog(bContext *C, ARegion *ar, void *userData)
col_block= uiLayoutGetBlock(col);
/* Create OK button, the callback of which will execute op */
btn= uiDefBut(col_block, BUT, 0, "OK", 0, -30, 0, UI_UNIT_Y, NULL, 0, 0, 0, 0, "");
- uiButSetFunc(btn, dialog_exec_cb, op, col_block);
+ uiButSetFunc(btn, dialog_exec_cb, data, col_block);
}
/* center around the mouse */
@@ -992,9 +1036,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;
@@ -1015,6 +1059,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))
{
@@ -1034,25 +1100,16 @@ 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);
-
- return OPERATOR_RUNNING_MODAL;
-}
+ uiPupBlockEx(C, wm_block_dialog_create, wm_operator_ui_popup_cancel, data);
-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;
}
@@ -1158,7 +1215,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
MenuType *mt= WM_menutype_find("USERPREF_MT_splash", TRUE);
char url[96];
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
int ver_width, rev_width;
char *version_str = NULL;
char *revision_str = NULL;
@@ -1175,7 +1232,7 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
BLF_size(style->widgetlabel.uifont_id, style->widgetlabel.points, U.dpi);
ver_width = (int)BLF_width(style->widgetlabel.uifont_id, version_str) + 5;
rev_width = (int)BLF_width(style->widgetlabel.uifont_id, revision_str) + 5;
-#endif //NAN_BUILDINFO
+#endif //WITH_BUILDINFO
block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
uiBlockSetFlag(block, UI_BLOCK_KEEP_OPEN);
@@ -1184,10 +1241,10 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
uiButSetFunc(but, wm_block_splash_close, block, NULL);
uiBlockSetFunc(block, wm_block_splash_refreshmenu, block, NULL);
-#ifdef NAN_BUILDINFO
+#ifdef WITH_BUILDINFO
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
+#endif //WITH_BUILDINFO
layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, 10, 2, 480, 110, style);
@@ -1209,11 +1266,12 @@ static uiBlock *wm_block_create_splash(bContext *C, ARegion *ar, void *UNUSED(ar
split = uiLayoutSplit(layout, 0, 0);
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, "Donations", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/blenderorg/blender-foundation/donation-payment");
+ uiItemStringO(col, "Credits", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/credits");
+ uiItemStringO(col, "Release Log", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/development/release-logs/blender-259");
uiItemStringO(col, "Manual", ICON_URL, "WM_OT_url_open", "url", "http://wiki.blender.org/index.php/Doc:2.5/Manual");
- uiItemStringO(col, "Blender Website", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/");
- uiItemStringO(col, "User Community", ICON_URL, "WM_OT_url_open", "url", "http://www.blender.org/community/user-community/"); //
+ 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");
if(strcmp(STRINGIFY(BLENDER_VERSION_CYCLE), "release")==0) {
BLI_snprintf(url, sizeof(url), "http://www.blender.org/documentation/blender_python_api_%d_%d" STRINGIFY(BLENDER_VERSION_CHAR) "_release", BLENDER_VERSION/100, BLENDER_VERSION%100);
}
@@ -1274,9 +1332,10 @@ static void operator_call_cb(struct bContext *C, void *UNUSED(arg1), void *arg2)
static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), const char *str, uiSearchItems *items)
{
- wmOperatorType *ot = WM_operatortype_first();
-
- for(; ot; ot= ot->next) {
+ GHashIterator *iter= WM_operatortype_iter();
+
+ for( ; !BLI_ghashIterator_isDone(iter); BLI_ghashIterator_step(iter)) {
+ wmOperatorType *ot= BLI_ghashIterator_getValue(iter);
if((ot->flag & OPTYPE_INTERNAL) && (G.f & G_DEBUG) == 0)
continue;
@@ -1300,6 +1359,7 @@ static void operator_search_cb(const struct bContext *C, void *UNUSED(arg), cons
}
}
}
+ BLI_ghashIterator_free(iter);
}
static uiBlock *wm_block_search_menu(bContext *C, ARegion *ar, void *UNUSED(arg_op))
@@ -1476,6 +1536,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;
@@ -1526,7 +1594,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);
@@ -1576,7 +1644,6 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
int idcode, totfiles=0;
short flag;
- name[0] = '\0';
RNA_string_get(op->ptr, "filename", name);
RNA_string_get(op->ptr, "directory", dir);
@@ -1645,7 +1712,7 @@ static int wm_link_append_exec(bContext *C, wmOperator *op)
flag_all_listbases_ids(LIB_PRE_EXISTING, 1);
/* here appending/linking starts */
- mainl = BLO_library_append_begin(C, &bh, libname);
+ mainl = BLO_library_append_begin(bmain, &bh, libname);
if(totfiles == 0) {
BLO_library_append_named_part_ex(C, mainl, &bh, name, idcode, flag);
}
@@ -1698,14 +1765,12 @@ static void WM_OT_link_append(wmOperatorType *ot)
ot->flag |= OPTYPE_UNDO;
- WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH);
+ WM_operator_properties_filesel(ot, FOLDERFILE|BLENDERFILE, FILE_LOADLIB, FILE_OPENFILE, WM_FILESEL_FILEPATH|WM_FILESEL_DIRECTORY|WM_FILESEL_FILENAME| WM_FILESEL_RELPATH|WM_FILESEL_FILES);
RNA_def_boolean(ot->srna, "link", 1, "Link", "Link the objects or datablocks rather than appending");
RNA_def_boolean(ot->srna, "autoselect", 1, "Select", "Select the linked objects");
RNA_def_boolean(ot->srna, "active_layer", 1, "Active Layer", "Put the linked objects on the active layer");
RNA_def_boolean(ot->srna, "instance_groups", 1, "Instance Groups", "Create instances for each group as a DupliGroup");
-
- RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
}
/* *************** recover last session **************** */
@@ -1945,7 +2010,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");
@@ -1975,6 +2040,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");
@@ -1982,7 +2048,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 {
@@ -2000,6 +2067,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 */
@@ -2013,7 +2082,9 @@ static int wm_collada_import_exec(bContext *C, wmOperator *op)
}
RNA_string_get(op->ptr, "filepath", filename);
- collada_import(C, filename);
+ if(collada_import(C, filename)) return OPERATOR_FINISHED;
+
+ BKE_report(op->reports, RPT_ERROR, "Errors found during parsing COLLADA document. Please see console for error log.");
return OPERATOR_FINISHED;
}
@@ -2290,7 +2361,6 @@ static void gesture_circle_apply(bContext *C, wmOperator *op)
if(op->type->exec)
op->type->exec(C, op);
-
#ifdef GESTURE_MEMORY
circle_select_size= rect->xmax;
#endif
@@ -2511,7 +2581,6 @@ static void gesture_lasso_apply(bContext *C, wmOperator *op)
if(op->type->exec)
op->type->exec(C, op);
-
}
int WM_gesture_lasso_modal(bContext *C, wmOperator *op, wmEvent *event)
@@ -2871,7 +2940,7 @@ static void radial_control_paint_cursor(bContext *C, int x, int y, void *customd
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;
+ alpha = rc->current_value / 2.0f + 0.5f;
break;
case PROP_ANGLE:
r1= r2= tex_radius= WM_RADIAL_CONTROL_DISPLAY_SIZE;
@@ -3125,7 +3194,6 @@ static int radial_control_cancel(bContext *C, wmOperator *op)
static int radial_control_modal(bContext *C, wmOperator *op, wmEvent *event)
{
RadialControl *rc = op->customdata;
- wmWindowManager *wm;
float new_value, dist, zoom[2];
float delta[2], snap, ret = OPERATOR_RUNNING_MODAL;
@@ -3366,26 +3434,73 @@ static void WM_OT_memory_statistics(wmOperatorType *ot)
}
/* ******************************************************* */
-
-/* called on initialize WM_exit() */
-void wm_operatortype_free(void)
+
+static int wm_ndof_sensitivity_exec(bContext *UNUSED(C), wmOperator *op)
{
- wmOperatorType *ot;
-
- for(ot= global_ops.first; ot; ot= ot->next) {
- if(ot->macro.first)
- wm_operatortype_free_macro(ot);
+ const float min = 0.25f, max = 4.f; // TODO: get these from RNA property
+ float change;
+ float sensitivity = U.ndof_sensitivity;
- if(ot->ext.srna) /* python operator, allocs own string */
- MEM_freeN((void *)ot->idname);
+ if(RNA_boolean_get(op->ptr, "fast"))
+ change = 0.5f; // 50% change
+ else
+ change = 0.1f; // 10%
+
+ if(RNA_boolean_get(op->ptr, "decrease")) {
+ sensitivity -= sensitivity * change;
+ if (sensitivity < min)
+ sensitivity = min;
+ }
+ else {
+ sensitivity += sensitivity * change;
+ if (sensitivity > max)
+ sensitivity = max;
+ }
+
+ if (sensitivity != U.ndof_sensitivity) {
+ U.ndof_sensitivity = sensitivity;
}
+
+ return OPERATOR_FINISHED;
+}
+
+static void WM_OT_ndof_sensitivity_change(wmOperatorType *ot)
+{
+ ot->name= "Change NDOF sensitivity";
+ ot->idname= "WM_OT_ndof_sensitivity_change";
+ ot->description="Change NDOF sensitivity";
- BLI_freelistN(&global_ops);
+ ot->exec= wm_ndof_sensitivity_exec;
+
+ RNA_def_boolean(ot->srna, "decrease", 1, "Decrease NDOF sensitivity", "If true then action decreases NDOF sensitivity instead of increasing");
+ RNA_def_boolean(ot->srna, "fast", 0, "Fast NDOF sensitivity change", "If true then sensitivity changes 50%, otherwise 10%");
+}
+
+
+static void operatortype_ghash_free_cb(wmOperatorType *ot)
+{
+ if(ot->macro.first)
+ wm_operatortype_free_macro(ot);
+
+ if(ot->ext.srna) /* python operator, allocs own string */
+ MEM_freeN((void *)ot->idname);
+
+ MEM_freeN(ot);
+}
+
+/* ******************************************************* */
+/* called on initialize WM_exit() */
+void wm_operatortype_free(void)
+{
+ BLI_ghash_free(global_ops_hash, NULL, (GHashValFreeFP)operatortype_ghash_free_cb);
+ global_ops_hash= NULL;
}
/* called on initialize WM_init() */
void wm_operatortype_init(void)
{
+ global_ops_hash= BLI_ghash_new(BLI_ghashutil_strhash, BLI_ghashutil_strcmp, "wm_operatortype_init gh");
+
WM_operatortype_append(WM_OT_window_duplicate);
WM_operatortype_append(WM_OT_read_homefile);
WM_operatortype_append(WM_OT_read_factory_settings);
@@ -3405,6 +3520,7 @@ void wm_operatortype_init(void)
WM_operatortype_append(WM_OT_search_menu);
WM_operatortype_append(WM_OT_call_menu);
WM_operatortype_append(WM_OT_radial_control);
+ WM_operatortype_append(WM_OT_ndof_sensitivity_change);
#if defined(WIN32)
WM_operatortype_append(WM_OT_console_toggle);
#endif
@@ -3517,10 +3633,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);
@@ -3622,11 +3740,12 @@ void wm_window_keymap(wmKeyConfig *keyconf)
/* debug/testing */
WM_keymap_verify_item(keymap, "WM_OT_redraw_timer", TKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
WM_keymap_verify_item(keymap, "WM_OT_debug_menu", DKEY, KM_PRESS, KM_ALT|KM_CTRL, 0);
- WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
-
- /* Space switching */
+ /* menus that can be accessed anywhere in blender */
+ WM_keymap_verify_item(keymap, "WM_OT_search_menu", SPACEKEY, KM_PRESS, 0, 0);
+ WM_keymap_add_menu(keymap, "USERPREF_MT_ndof_settings", NDOF_BUTTON_MENU, KM_PRESS, 0, 0);
+ /* Space switching */
kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F2KEY, KM_PRESS, KM_SHIFT, 0); /* new in 2.5x, was DXF export */
RNA_string_set(kmi->ptr, "data_path", "area.type");
RNA_string_set(kmi->ptr, "value", "LOGIC_EDITOR");
@@ -3670,6 +3789,23 @@ void wm_window_keymap(wmKeyConfig *keyconf)
kmi = WM_keymap_add_item(keymap, "WM_OT_context_set_enum", F12KEY, KM_PRESS, KM_SHIFT, 0);
RNA_string_set(kmi->ptr, "data_path", "area.type");
RNA_string_set(kmi->ptr, "value", "DOPESHEET_EDITOR");
+
+ /* ndof speed */
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_PLUS, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", FALSE);
+ RNA_boolean_set(kmi->ptr, "fast", FALSE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_MINUS, KM_PRESS, 0, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", TRUE);
+ RNA_boolean_set(kmi->ptr, "fast", FALSE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_PLUS, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", FALSE);
+ RNA_boolean_set(kmi->ptr, "fast", TRUE);
+
+ kmi= WM_keymap_add_item(keymap, "WM_OT_ndof_sensitivity_change", NDOF_BUTTON_MINUS, KM_PRESS, KM_SHIFT, 0);
+ RNA_boolean_set(kmi->ptr, "decrease", TRUE);
+ RNA_boolean_set(kmi->ptr, "fast", TRUE);
gesture_circle_modal_keymap(keyconf);
gesture_border_modal_keymap(keyconf);
diff --git a/source/blender/windowmanager/intern/wm_subwindow.c b/source/blender/windowmanager/intern/wm_subwindow.c
index a87001fb1b4..8ea1f2fdd0a 100644
--- a/source/blender/windowmanager/intern/wm_subwindow.c
+++ b/source/blender/windowmanager/intern/wm_subwindow.c
@@ -378,7 +378,8 @@ unsigned int index_to_framebuffer(int index)
void WM_set_framebuffer_index_color(int index)
{
- cpack(index_to_framebuffer(index));
+ const int col= index_to_framebuffer(index);
+ cpack(col);
}
int WM_framebuffer_to_index(unsigned int col)
diff --git a/source/blender/windowmanager/intern/wm_window.c b/source/blender/windowmanager/intern/wm_window.c
index 9ee39132521..7d6010786d2 100644
--- a/source/blender/windowmanager/intern/wm_window.c
+++ b/source/blender/windowmanager/intern/wm_window.c
@@ -621,12 +621,12 @@ static int ghost_event_proc(GHOST_EventHandle evt, GHOST_TUserDataPtr private)
if (!ghostwin) {
// XXX - should be checked, why are we getting an event here, and
// what is it?
-
+ puts("<!> event has no window");
return 1;
} else if (!GHOST_ValidWindow(g_system, ghostwin)) {
// XXX - should be checked, why are we getting an event here, and
// what is it?
-
+ puts("<!> event has invalid window");
return 1;
} else {
win= GHOST_GetWindowUserData(ghostwin);
@@ -673,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 */
@@ -796,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 */
@@ -1149,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 ***************** */
@@ -1187,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_event_types.h b/source/blender/windowmanager/wm_event_types.h
index ee080e7c0aa..579f20ca605 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -45,6 +45,7 @@
#define EVT_DATA_GESTURE 2
#define EVT_DATA_TIMER 3
#define EVT_DATA_LISTBASE 4
+#define EVT_DATA_NDOF_MOTION 5
/* tablet active, matches GHOST_TTabletMode */
#define EVT_TABLET_NONE 0
@@ -78,6 +79,56 @@
#define INBETWEEN_MOUSEMOVE 17
+/* NDOF (from SpaceNavigator & friends)
+ These should be kept in sync with GHOST_NDOFManager.h
+ Ordering matters, exact values do not. */
+
+#define NDOF_MOTION 400
+
+enum {
+ // used internally, never sent
+ NDOF_BUTTON_NONE = NDOF_MOTION,
+ // these two are available from any 3Dconnexion device
+ NDOF_BUTTON_MENU,
+ NDOF_BUTTON_FIT,
+ // standard views
+ NDOF_BUTTON_TOP,
+ NDOF_BUTTON_BOTTOM,
+ NDOF_BUTTON_LEFT,
+ NDOF_BUTTON_RIGHT,
+ NDOF_BUTTON_FRONT,
+ NDOF_BUTTON_BACK,
+ // more views
+ NDOF_BUTTON_ISO1,
+ NDOF_BUTTON_ISO2,
+ // 90 degree rotations
+ NDOF_BUTTON_ROLL_CW,
+ NDOF_BUTTON_ROLL_CCW,
+ NDOF_BUTTON_SPIN_CW,
+ NDOF_BUTTON_SPIN_CCW,
+ NDOF_BUTTON_TILT_CW,
+ NDOF_BUTTON_TILT_CCW,
+ // device control
+ NDOF_BUTTON_ROTATE,
+ NDOF_BUTTON_PANZOOM,
+ NDOF_BUTTON_DOMINANT,
+ NDOF_BUTTON_PLUS,
+ NDOF_BUTTON_MINUS,
+ // general-purpose buttons
+ NDOF_BUTTON_1,
+ NDOF_BUTTON_2,
+ NDOF_BUTTON_3,
+ NDOF_BUTTON_4,
+ NDOF_BUTTON_5,
+ NDOF_BUTTON_6,
+ NDOF_BUTTON_7,
+ NDOF_BUTTON_8,
+ NDOF_BUTTON_9,
+ NDOF_BUTTON_10,
+ NDOF_LAST
+ };
+
+
/* SYSTEM : 0x01xx */
#define INPUTCHANGE 0x0103 /* input connected or disconnected */
#define WINDEACTIVATE 0x0104 /* window is deactivated, focus lost */
@@ -240,8 +291,11 @@
/* test whether the event is tweak event */
#define ISTWEAK(event) (event >= EVT_TWEAK_L && event <= EVT_GESTURE)
+ /* test whether the event is a NDOF event */
+#define ISNDOF(event) (event >= NDOF_MOTION && event < NDOF_LAST)
+
/* test whether event type is acceptable as hotkey, excluding modifiers */
-#define ISHOTKEY(event) ((ISKEYBOARD(event) || ISMOUSE(event)) && event!=ESCKEY && !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && !(event>=UNKNOWNKEY && event<=GRLESSKEY))
+#define ISHOTKEY(event) ((ISKEYBOARD(event) || ISMOUSE(event) || ISNDOF(event)) && event!=ESCKEY && !(event>=LEFTCTRLKEY && event<=LEFTSHIFTKEY) && !(event>=UNKNOWNKEY && event<=GRLESSKEY))
/* **************** BLENDER GESTURE EVENTS (0x5000) **************** */